增加大数据动态审批人
This commit is contained in:
parent
b4bbdd1194
commit
8a594d2180
|
@ -76,6 +76,8 @@ public class AbilityCenterController {
|
||||||
tAbilityApplicationDTO.setInstanceId(abilityBatchApplicationDTO.getInstanceId());
|
tAbilityApplicationDTO.setInstanceId(abilityBatchApplicationDTO.getInstanceId());
|
||||||
tAbilityApplicationDTO.setUnit(abilityBatchApplicationDTO.getUnit());
|
tAbilityApplicationDTO.setUnit(abilityBatchApplicationDTO.getUnit());
|
||||||
tAbilityApplicationDTO.setUser(abilityBatchApplicationDTO.getUser());
|
tAbilityApplicationDTO.setUser(abilityBatchApplicationDTO.getUser());
|
||||||
|
tAbilityApplicationDTO.setResourceId(abilityBatchApplicationDTO.getResourceId());
|
||||||
|
tAbilityApplicationDTO.setUser(abilityBatchApplicationDTO.getUser());
|
||||||
tAbilityApplicationDTO.setSystem(index);
|
tAbilityApplicationDTO.setSystem(index);
|
||||||
// 仿照请求接口 /processForm/tabilityapplication
|
// 仿照请求接口 /processForm/tabilityapplication
|
||||||
ValidatorUtils.validateEntity(tAbilityApplicationDTO, AddGroup.class, DefaultGroup.class);
|
ValidatorUtils.validateEntity(tAbilityApplicationDTO, AddGroup.class, DefaultGroup.class);
|
||||||
|
|
|
@ -7,11 +7,11 @@ import lombok.Data;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 能力申请表单
|
* 能力申请表单
|
||||||
*
|
*
|
||||||
* @author Mark sunlightcs@gmail.com
|
* @author Mark sunlightcs@gmail.com
|
||||||
* @since 3.0 2022-04-13
|
* @since 3.0 2022-04-13
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@ApiModel(value = "能力申请表单")
|
@ApiModel(value = "能力申请表单")
|
||||||
public class TAbilityApplicationDTO implements Serializable {
|
public class TAbilityApplicationDTO implements Serializable {
|
||||||
|
@ -37,4 +37,9 @@ public class TAbilityApplicationDTO implements Serializable {
|
||||||
@ApiModelProperty(value = "实例ID")
|
@ApiModelProperty(value = "实例ID")
|
||||||
private String instanceId;
|
private String instanceId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "资源id")
|
||||||
|
private String resourceId;
|
||||||
|
@ApiModelProperty(value = "用户id")
|
||||||
|
private String userId;
|
||||||
|
|
||||||
}
|
}
|
|
@ -32,4 +32,9 @@ public class TAbilityBatchApplicationDTO implements Serializable {
|
||||||
private String attachment;
|
private String attachment;
|
||||||
@ApiModelProperty(value = "实例ID")
|
@ApiModelProperty(value = "实例ID")
|
||||||
private String instanceId;
|
private String instanceId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "资源id")
|
||||||
|
private String resourceId;
|
||||||
|
@ApiModelProperty(value = "用户id")
|
||||||
|
private String userId;
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,48 +11,59 @@ import com.baomidou.mybatisplus.annotation.*;
|
||||||
* @since 3.0 2022-04-13
|
* @since 3.0 2022-04-13
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper=false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
@TableName("t_ability_application")
|
@TableName("t_ability_application")
|
||||||
public class TAbilityApplicationEntity {
|
public class TAbilityApplicationEntity {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
@TableId
|
@TableId
|
||||||
private Long id;
|
private Long id;
|
||||||
/**
|
/**
|
||||||
* 申请人
|
* 申请人
|
||||||
*/
|
*/
|
||||||
private String user;
|
private String user;
|
||||||
/**
|
/**
|
||||||
* 申请人电话
|
* 申请人电话
|
||||||
*/
|
*/
|
||||||
private String phone;
|
private String phone;
|
||||||
/**
|
/**
|
||||||
* 申请人单位
|
* 申请人单位
|
||||||
*/
|
*/
|
||||||
private String unit;
|
private String unit;
|
||||||
/**
|
/**
|
||||||
* 申请人所在地区
|
* 申请人所在地区
|
||||||
*/
|
*/
|
||||||
private String area;
|
private String area;
|
||||||
/**
|
/**
|
||||||
* 申请应用系统
|
* 申请应用系统
|
||||||
*/
|
*/
|
||||||
private String system;
|
private String system;
|
||||||
/**
|
/**
|
||||||
* 申请场景
|
* 申请场景
|
||||||
*/
|
*/
|
||||||
private String scene;
|
private String scene;
|
||||||
/**
|
/**
|
||||||
* 申请依据
|
* 申请依据
|
||||||
*/
|
*/
|
||||||
private String basis;
|
private String basis;
|
||||||
/**
|
/**
|
||||||
* 申请附件
|
* 申请附件
|
||||||
*/
|
*/
|
||||||
private String attachment;
|
private String attachment;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 实例ID
|
* 实例ID
|
||||||
*/
|
*/
|
||||||
private String instanceId;
|
private String instanceId;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 资源id
|
||||||
|
*/
|
||||||
|
private String resourceId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户id
|
||||||
|
*/
|
||||||
|
private String userId;
|
||||||
}
|
}
|
|
@ -3,6 +3,8 @@ package io.renren.modules.processForm.listener;
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.JsonElement;
|
import com.google.gson.JsonElement;
|
||||||
import io.renren.modules.processForm.dto.TAbilityApplicationDTO;
|
import io.renren.modules.processForm.dto.TAbilityApplicationDTO;
|
||||||
|
import io.renren.modules.resource.dto.ResourceDTO;
|
||||||
|
import io.renren.modules.resource.service.ResourceService;
|
||||||
import io.renren.modules.sys.dto.SysDeptDTO;
|
import io.renren.modules.sys.dto.SysDeptDTO;
|
||||||
import io.renren.modules.sys.dto.SysRoleDTO;
|
import io.renren.modules.sys.dto.SysRoleDTO;
|
||||||
import io.renren.modules.sys.dto.SysUserDTO;
|
import io.renren.modules.sys.dto.SysUserDTO;
|
||||||
|
@ -38,20 +40,33 @@ public class CorrectionListener implements TaskListener, ExecutionListener, Acti
|
||||||
@Autowired
|
@Autowired
|
||||||
private SysDeptService sysDeptService;
|
private SysDeptService sysDeptService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ResourceService resourceService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void notify(DelegateTask delegateTask) {
|
public void notify(DelegateTask delegateTask) {
|
||||||
Map<String, Object> kv = delegateTask.getVariables();
|
Map<String, Object> kv = delegateTask.getVariables();
|
||||||
Gson gson = new Gson();
|
Gson gson = new Gson();
|
||||||
JsonElement jsonElement = gson.toJsonTree(kv);
|
JsonElement jsonElement = gson.toJsonTree(kv);
|
||||||
TAbilityApplicationDTO abilityApplicationDTO = gson.fromJson(jsonElement, TAbilityApplicationDTO.class);
|
TAbilityApplicationDTO abilityApplicationDTO = gson.fromJson(jsonElement, TAbilityApplicationDTO.class);
|
||||||
logger.info(abilityApplicationDTO.toString());
|
|
||||||
logger.info("表单内单位名称:" + abilityApplicationDTO.getUnit());
|
|
||||||
SysDeptDTO deptDTO = sysDeptService.getByName(abilityApplicationDTO.getUnit());
|
|
||||||
logger.info("deptDTOId:" + deptDTO.getId());
|
|
||||||
SysRoleDTO roleDTO = sysRoleService.getByName(roleName);
|
SysRoleDTO roleDTO = sysRoleService.getByName(roleName);
|
||||||
logger.info("roleDTOId:" + roleDTO.getId());
|
logger.info("roleDTOId:" + roleDTO.getId());
|
||||||
|
|
||||||
|
logger.info("abilityApplicationDTO:" + abilityApplicationDTO.toString());
|
||||||
|
ResourceDTO resourceEntityDto = resourceService.get(Long.valueOf(abilityApplicationDTO.getResourceId()));
|
||||||
|
Long deptId = null;
|
||||||
|
if (resourceEntityDto != null && resourceEntityDto.getDeptId() != null) {
|
||||||
|
deptId = resourceEntityDto.getDeptId();
|
||||||
|
} else {
|
||||||
|
logger.info("表单内单位名称:" + abilityApplicationDTO.getUnit());
|
||||||
|
SysDeptDTO deptDTO = sysDeptService.getByName(abilityApplicationDTO.getUnit());
|
||||||
|
logger.info("deptDTOId:" + deptDTO.getId());
|
||||||
|
deptId = deptDTO.getId();
|
||||||
|
}
|
||||||
|
SysUserDTO userDTO = sysUserService.getByDeptIdAndRoleId(deptId, roleDTO.getId()); // 搜出审批人
|
||||||
|
|
||||||
delegateTask.setAssignee("1513432847327199233");
|
delegateTask.setAssignee("1513432847327199233");
|
||||||
SysUserDTO userDTO = sysUserService.getByDeptIdAndRoleId(deptDTO.getId(), roleDTO.getId());
|
|
||||||
if (userDTO != null) {
|
if (userDTO != null) {
|
||||||
logger.info("审批人id:" + userDTO.getId());
|
logger.info("审批人id:" + userDTO.getId());
|
||||||
taskService.setAssignee(delegateTask.getId(), userDTO.getId().toString());
|
taskService.setAssignee(delegateTask.getId(), userDTO.getId().toString());
|
||||||
|
@ -62,12 +77,12 @@ public class CorrectionListener implements TaskListener, ExecutionListener, Acti
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void notify(DelegateExecution delegateExecution) throws Exception {
|
public void notify(DelegateExecution delegateExecution) throws Exception {
|
||||||
logger.info("事件:" + delegateExecution.getEventName());
|
// logger.info("事件:" + delegateExecution.getEventName());
|
||||||
delegateExecution.getVariableNames().stream().forEach(index -> logger.info("variable:" + index));
|
// delegateExecution.getVariableNames().stream().forEach(index -> logger.info("variable:" + index));
|
||||||
delegateExecution.getVariables().values().stream().filter(index -> index != null).forEach(value -> logger.info(value.toString()));
|
// delegateExecution.getVariables().values().stream().filter(index -> index != null).forEach(value -> logger.info(value.toString()));
|
||||||
// taskService.setAssignee(delegateExecution.getProcessInstanceId(), "1516307964617076737");// 可以设置
|
// // taskService.setAssignee(delegateExecution.getProcessInstanceId(), "1516307964617076737");// 可以设置
|
||||||
|
//
|
||||||
logger.info("修改审批人成功!" + delegateExecution.getCurrentActivityId() + " " + delegateExecution.getProcessInstanceId() + " " + delegateExecution.getProcessBusinessKey());
|
// logger.info("修改审批人成功!" + delegateExecution.getCurrentActivityId() + " " + delegateExecution.getProcessInstanceId() + " " + delegateExecution.getProcessBusinessKey());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -0,0 +1,73 @@
|
||||||
|
package io.renren.modules.processForm.listener;
|
||||||
|
|
||||||
|
import io.renren.modules.sys.dto.SysDeptDTO;
|
||||||
|
import io.renren.modules.sys.dto.SysRoleDTO;
|
||||||
|
import io.renren.modules.sys.dto.SysUserDTO;
|
||||||
|
import io.renren.modules.sys.service.SysDeptService;
|
||||||
|
import io.renren.modules.sys.service.SysRoleService;
|
||||||
|
import io.renren.modules.sys.service.SysRoleUserService;
|
||||||
|
import io.renren.modules.sys.service.SysUserService;
|
||||||
|
import org.activiti.engine.TaskService;
|
||||||
|
import org.activiti.engine.delegate.*;
|
||||||
|
import org.activiti.engine.delegate.event.ActivitiEvent;
|
||||||
|
import org.activiti.engine.delegate.event.ActivitiEventListener;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class DataCenterListener implements TaskListener, ExecutionListener, ActivitiEventListener, JavaDelegate {
|
||||||
|
private static Logger logger = LoggerFactory.getLogger(DataCenterListener.class);
|
||||||
|
|
||||||
|
private static String deptName = "青岛市大数据发展管理局";
|
||||||
|
private static String roleName = "部门审批人";
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SysRoleService sysRoleService;
|
||||||
|
@Autowired
|
||||||
|
private TaskService taskService;
|
||||||
|
@Autowired
|
||||||
|
private SysUserService sysUserService;
|
||||||
|
@Autowired
|
||||||
|
private SysRoleUserService sysRoleUserService;
|
||||||
|
@Autowired
|
||||||
|
private SysDeptService sysDeptService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void notify(DelegateExecution delegateExecution) throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(DelegateExecution delegateExecution) throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void notify(DelegateTask delegateTask) {
|
||||||
|
SysDeptDTO deptDTO = sysDeptService.getByName(deptName);
|
||||||
|
logger.info("deptDTOId:" + deptDTO.getId());
|
||||||
|
SysRoleDTO roleDTO = sysRoleService.getByName(roleName);
|
||||||
|
logger.info("roleDTOId:" + roleDTO.getId());
|
||||||
|
SysUserDTO userDTO = sysUserService.getByDeptIdAndRoleId(deptDTO.getId(), roleDTO.getId());
|
||||||
|
delegateTask.setAssignee("1513432847327199233");
|
||||||
|
if (userDTO != null) {
|
||||||
|
logger.info("审批人id:" + userDTO.getId());
|
||||||
|
taskService.setAssignee(delegateTask.getId(), userDTO.getId().toString());
|
||||||
|
} else {
|
||||||
|
logger.info("未查到该部门对应 " + roleName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEvent(ActivitiEvent activitiEvent) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isFailOnException() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
|
@ -14,7 +14,7 @@
|
||||||
<fileNamePattern>${LOG_HOME}/info.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
|
<fileNamePattern>${LOG_HOME}/info.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
|
||||||
<MaxHistory>120</MaxHistory>
|
<MaxHistory>120</MaxHistory>
|
||||||
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||||
<maxFileSize>500MB</maxFileSize>
|
<maxFileSize>50MB</maxFileSize>
|
||||||
</timeBasedFileNamingAndTriggeringPolicy>
|
</timeBasedFileNamingAndTriggeringPolicy>
|
||||||
</rollingPolicy>
|
</rollingPolicy>
|
||||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||||
|
|
Loading…
Reference in New Issue