update 年度制修订计划流程 联调

This commit is contained in:
lijiarao
2024-09-27 14:23:55 +08:00
parent 22df26da16
commit a75be11588
3 changed files with 74 additions and 3 deletions
@@ -48,6 +48,14 @@ public class ProcessAnnualInitController extends JeroController<ProcessAnnualIni
return Result.OK();
}
@AutoLog(value = "年度制修订计划流程-提交")
@ApiOperation(value = "年度制修订计划流程-提交")
@PostMapping("/submit")
public Result<T> submit(@Validated @RequestBody ProcessInfoVO<ProcessAnnualInitVO> processInfoVO) {
processAnnualInitService.submit(processInfoVO);
return Result.OK();
}
@AutoLog(value = "年度制修订计划流程-同意")
@ApiOperation(value = "年度制修订计划流程-同意")
@PostMapping("/agree")
@@ -94,7 +94,7 @@ public class ProcessAnnualInitService extends ServiceImpl<ProcessAnnualInitMappe
basicProcessInfoDTO.setProcessType(ProcessTypeEnum.ANNUAL_INIT.getValue()); // 流程类型
userInfoMap.put(ProcessAnnualInitCommon.MAIN_DRAFTING_USER, CurrentUserUtil.getId());
processInfoVO.setUserInfoMap(userInfoMap);
processHandleService.startProcess(processInfoVO);
String processInstanceId = processHandleService.startProcess(processInfoVO);
//start 先保存一份初始草稿
processInfoVO.setSaveSource(DraftCommon.INITIAL_SOURCE);
@@ -102,10 +102,71 @@ public class ProcessAnnualInitService extends ServiceImpl<ProcessAnnualInitMappe
processHandleService.saveToDraft(processInfoVO, CurrentUserUtil.getId());
//end 保存初始草稿结束
//保存快照 start
processHandleService.saveToSnapshot(processInfoVO, CurrentUserUtil.getId());
// 获取流程通用数据
ProcessAll process = processAllService.getByProcessInstanceId(processInstanceId);
if(!Objects.isNull(process)){
BasicProcessInfoDTO processInfoDTO = new BasicProcessInfoDTO();
processInfoDTO.setProcessName(process.getPrcName());
processInfoDTO.setProcessType(process.getPrcType());
processInfoDTO.setProcessDefinitionId(process.getProcessDefinitionId());
processInfoDTO.setProcessInstanceId(process.getProcessInstanceId());
processInfoDTO.setProcessDescription(process.getPrcMes());
processInfoDTO.setProcessDueDate(process.getDueTime());
processInfoVO.setBasicProcessInfoDTO(processInfoDTO);
// 保存快照
processHandleService.saveToSnapshot(processInfoVO,CurrentUserUtil.getId());
}
//保存快照 end
}
public void submit(ProcessInfoVO<ProcessAnnualInitVO> processInfoVO) {
BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO();
String taskId = basicTaskInfoDTO.getTaskId();
ProcessDTO processDTO = processHandleService.getProcessDTO(taskId);
String processInstanceId = processDTO.getProcessInstanceId();
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
processInfoVO.setBusinessId(processAll.getProjectId());
Task task = processDTO.getTask();
String taskDefinitionKey = task.getTaskDefinitionKey();
processHandleService.updateApprovalRecord(processInfoVO);
Map<String, Object> userInfoMap = processInfoVO.getUserInfoMap();
ProcessAnnualInitVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();
ProcessAnnualInit annualInit = businessInfoDTO.getAnnualInit();
//补充流程主表信息
String departManagerList = (String) userInfoMap.get("departManagerList");
String standardDepartHandler = (String) userInfoMap.get("standardDepartHandler");
String standardDepartManager = (String) userInfoMap.get("standardDepartManager");
String seniorManagerList = (String) userInfoMap.get("seniorManagerList");
String chiefInspectorList = (String) userInfoMap.get("chiefInspectorList");
String authorizedPersonList = (String) userInfoMap.get("authorizedPersonList");
annualInit.setDepartManager(departManagerList);
annualInit.setStandardDepartHandler(standardDepartHandler);
annualInit.setStandardDepartManager(standardDepartManager);
annualInit.setSeniorManager(seniorManagerList);
annualInit.setChiefInspector(chiefInspectorList);
annualInit.setAuthorizedPerson(authorizedPersonList);
this.saveOrUpdate(annualInit);
String annualInitId = annualInit.getId();
//先删除,在新增
LambdaQueryWrapper<ProcessAnnualInitLink> myQuery = Wrappers.lambdaQuery(ProcessAnnualInitLink.class);
myQuery.eq(ProcessAnnualInitLink::getProcessId, annualInit);
annualInitLinkService.remove(myQuery);
List<ProcessAnnualInitLink> annualInitLinkList = businessInfoDTO.getAnnualInitLinkList();
for (ProcessAnnualInitLink link : annualInitLinkList) {
link.setProcessId(annualInitId);
}
annualInitLinkService.saveOrUpdateBatch(annualInitLinkList);
// 完成任务
Map<String, Object> variables = new HashMap<>();
taskService.complete(processDTO.getTaskId(), variables);
}
public void approveTask(ProcessInfoVO<ProcessAnnualInitVO> processInfoVO, boolean pass) {
BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO();
String taskId = basicTaskInfoDTO.getTaskId();