|
|
@@ -1156,7 +1156,7 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
|
|
|
//获取到流程定义
|
|
|
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().deploymentId(workflowSchema.getDeploymentId()).singleResult();
|
|
|
|
|
|
- //流程参数 发布时 存到变量中
|
|
|
+ //流程参数 发布时 存到变量中-
|
|
|
List<ProcessParamConfig> processParamConfigs = workflowSchemaConfig.getProcessConfig().getProcessParamConfigs();
|
|
|
|
|
|
long count = historyService.createHistoricProcessInstanceQuery().count();
|
|
|
@@ -2027,6 +2027,7 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
|
|
|
xjrWorkflowOperateRecord.setSchemaId(schemaId);
|
|
|
xjrWorkflowOperateRecord.setNodeMultiType(WorkflowMultiInstanceType.NONE.getCode());
|
|
|
xjrWorkflowOperateRecord.setRecordTime(LocalDateTime.now().minusSeconds(+1));//时间设置提前1秒钟,好排序
|
|
|
+ xjrWorkflowOperateRecord.setUsageScenario(1);
|
|
|
|
|
|
// record.setMessage("【审批人:" + user.getName() + "】 将 【任务:" + task.getName() + "】 驳回到 【任务:" + rejectUserTaskConfig.getName() + "】");
|
|
|
String message = "审批人:" + user.getName() + ", 审批结果:驳回, 审批内容:驳回";
|
|
|
@@ -2070,6 +2071,7 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
|
|
|
xjrWorkflowOperateRecord.setSchemaId(schemaId);
|
|
|
xjrWorkflowOperateRecord.setNodeMultiType(WorkflowMultiInstanceType.NONE.getCode());
|
|
|
xjrWorkflowOperateRecord.setRecordTime(LocalDateTime.now());
|
|
|
+ xjrWorkflowOperateRecord.setUsageScenario(1);
|
|
|
|
|
|
String message = "审批人:" + user.getName() + ", 审批结果:结束, 审批内容:结束流程";
|
|
|
xjrWorkflowOperateRecord.setOperateInfo(message);
|
|
|
@@ -2573,6 +2575,26 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
|
|
|
records.setMessage("【" + approveName + "】" + "准备审批");
|
|
|
workflowRecordMapper.updateById(records);
|
|
|
}
|
|
|
+
|
|
|
+ //查询到对应task的流转信息,将message重新设值,将设置的审批人加入到里面,如果没有直接新增一条,所以需要先查询再修改
|
|
|
+ QueryWrapper<XjrWorkflowOperateRecord> xjrWorkflowOperateRecordQueryWrapper = new QueryWrapper<XjrWorkflowOperateRecord>()
|
|
|
+ .eq("node_id", approveUserDto.getTaskId())
|
|
|
+ .like("message", "准备审批");
|
|
|
+ XjrWorkflowOperateRecord xjrWorkflowOperateRecord = xjrWorkflowOperateRecordMapper.selectOne(xjrWorkflowOperateRecordQueryWrapper);
|
|
|
+ if (ObjectUtil.isEmpty(xjrWorkflowOperateRecord)) {
|
|
|
+ Object schemaId = taskService.getVariable(approveUserDto.getTaskId(), WorkflowConstant.PROCESS_SCHEMA_ID_KEY);
|
|
|
+ //获取任务信息
|
|
|
+ Task task = taskService.createTaskQuery().taskId(approveUserDto.getTaskId()).singleResult();
|
|
|
+ //新增流程发起流程记录
|
|
|
+ XjrWorkflowOperateRecord operateRecord = new XjrWorkflowOperateRecord();
|
|
|
+ operateRecord.setRecordTime(LocalDateTime.now());
|
|
|
+ operateRecord.setUsageScenario(2);
|
|
|
+ addCustomProcessRecord(task, Convert.toLong(schemaId), "【" + approveName + "】" + "准备审批", operateRecord);
|
|
|
+ } else {
|
|
|
+ //修改原本的流转记录
|
|
|
+ xjrWorkflowOperateRecord.setOperateInfo("【" + approveName + "】" + "准备审批");
|
|
|
+ xjrWorkflowOperateRecordMapper.updateById(xjrWorkflowOperateRecord);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//查询下一个节点审批人 委托 数据 将被委托人加入到 审批人数据中
|
|
|
@@ -4332,7 +4354,7 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
|
|
|
* @param processInstanceId
|
|
|
* @return
|
|
|
*/
|
|
|
- private List<ProcessRecordListVo> getCustomProcessRecordListVos(String processInstanceId, int onlySelf) {
|
|
|
+ private List<ProcessRecordListVo> getCustomProcessRecordListVos(String processInstanceId, int onlySelf, Integer usageScenario) {
|
|
|
|
|
|
User user = StpUtil.getTokenSession().get(GlobalConstant.LOGIN_USER_INFO_KEY, new User());
|
|
|
List<Long> roleIds = StpUtil.getTokenSession().get(GlobalConstant.LOGIN_USER_ROLE_ID_KEY, new ArrayList<>());
|
|
|
@@ -4363,7 +4385,9 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
|
|
|
.eq(XjrWorkflowOperateRecord::getProcessId, processInstanceId);
|
|
|
}
|
|
|
} else {
|
|
|
- workflowOperateRecordLambdaQueryWrapper.eq(XjrWorkflowOperateRecord::getProcessId, processInstanceId)
|
|
|
+ workflowOperateRecordLambdaQueryWrapper
|
|
|
+ .eq(XjrWorkflowOperateRecord::getProcessId, processInstanceId)
|
|
|
+ .eq(XjrWorkflowOperateRecord::getUsageScenario, usageScenario)
|
|
|
.orderByAsc(XjrWorkflowOperateRecord::getRecordTime);
|
|
|
}
|
|
|
|
|
|
@@ -4514,6 +4538,7 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
|
|
|
|
|
|
xjrWorkflowOperateRecord.setRecordTime(LocalDateTime.now());
|
|
|
|
|
|
+
|
|
|
taskService.complete(task.getId());
|
|
|
List<Task> list = taskService.createTaskQuery().processInstanceId(task.getProcessInstanceId()).list();
|
|
|
String allOpinions = StringPool.EMPTY;
|
|
|
@@ -4865,8 +4890,8 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
|
|
|
record.setProcessId(task.getProcessInstanceId());
|
|
|
record.setSchemaId(schemaId);
|
|
|
record.setNodeMultiType(WorkflowMultiInstanceType.NONE.getCode());
|
|
|
-
|
|
|
record.setOperateInfo(message);
|
|
|
+ record.setUsageScenario(1);
|
|
|
|
|
|
xjrWorkflowOperateRecordService.save(record);
|
|
|
}
|
|
|
@@ -4893,6 +4918,19 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
|
|
|
startRecord.setMessage("【" + user.getName() + "】 创建流程");
|
|
|
|
|
|
workflowRecordMapper.insert(startRecord);
|
|
|
+
|
|
|
+ XjrWorkflowOperateRecord xjrWorkflowOperateRecord = new XjrWorkflowOperateRecord();
|
|
|
+ xjrWorkflowOperateRecord.setNodeId(startNodeConfig.getId());
|
|
|
+ xjrWorkflowOperateRecord.setNodeName(startNodeConfig.getName());
|
|
|
+ xjrWorkflowOperateRecord.setNodeType(WorkflowConstant.START_EVENT_TYPE_NAME);
|
|
|
+ xjrWorkflowOperateRecord.setProcessId(processInstance.getId());
|
|
|
+ xjrWorkflowOperateRecord.setSchemaId(workflowSchema.getId());
|
|
|
+ xjrWorkflowOperateRecord.setNodeMultiType(WorkflowMultiInstanceType.NONE.getCode());
|
|
|
+ xjrWorkflowOperateRecord.setRecordTime(LocalDateTime.now());
|
|
|
+ xjrWorkflowOperateRecord.setUsageScenario(2);
|
|
|
+ xjrWorkflowOperateRecord.setOperateInfo("【" + user.getName() + "】 创建流程");
|
|
|
+
|
|
|
+ xjrWorkflowOperateRecordMapper.insert(xjrWorkflowOperateRecord);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -5395,8 +5433,34 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<UserDefinedProcessRecordListVo> listApproveRecord(ApproveRecordListDto dto) {
|
|
|
- List<ProcessRecordListVo> processRecordListVos = this.getCustomProcessRecordListVos(dto.getProcessId(), 0);
|
|
|
+ public List<UserDefinedProcessRecordListVo> listPrintApproveRecord(ApproveRecordListDto dto) {
|
|
|
+ List<ProcessRecordListVo> processRecordListVos = this.getCustomProcessRecordListVos(dto.getProcessId(), 0, 2);
|
|
|
+
|
|
|
+ List<UserDefinedProcessRecordListVo> userDefinedProcessRecordListVos = new ArrayList<>();
|
|
|
+ for(ProcessRecordListVo p : processRecordListVos){
|
|
|
+ String comment = p.getComment();
|
|
|
+ String[] commentArr = comment.split(",");
|
|
|
+ String[] approveUserNameArr = commentArr[0].split(":");
|
|
|
+ String[] approveResultArr = commentArr[1].split(":");
|
|
|
+ String[] approveCommentArr = commentArr[2].split(":");
|
|
|
+ userDefinedProcessRecordListVos.add(new UserDefinedProcessRecordListVo(){{
|
|
|
+ setNodeType(p.getNodeType());
|
|
|
+ setNodeName(p.getNodeName());
|
|
|
+ setComment(p.getComment());
|
|
|
+ setStartTime(p.getStartTime());
|
|
|
+ setCirculateMessage(p.getCirculateMessage());
|
|
|
+ setApproveUserName(approveUserNameArr[1]);
|
|
|
+ setApproveResult(approveResultArr[1]);
|
|
|
+ setApproveComment(approveCommentArr[1]);
|
|
|
+ }});
|
|
|
+ }
|
|
|
+ return userDefinedProcessRecordListVos;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<UserDefinedProcessRecordListVo> listAuditApproveRecord(ApproveRecordListDto dto) {
|
|
|
+ List<ProcessRecordListVo> processRecordListVos = this.getCustomProcessRecordListVos(dto.getProcessId(), 0, 1);
|
|
|
+
|
|
|
List<UserDefinedProcessRecordListVo> userDefinedProcessRecordListVos = new ArrayList<>();
|
|
|
for(ProcessRecordListVo p : processRecordListVos){
|
|
|
String comment = p.getComment();
|