diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java index 38c1bea1..8b8a54a8 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java @@ -509,7 +509,13 @@ public class ProcessHandleServiceImpl implements IProcessHandleService { processInfoVO.setBasicTaskInfoDTO(new BasicTaskInfoDTO()); } - ProcessSnapshot processSnapshot = new ProcessSnapshot(); + ProcessSnapshot processSnapshot; + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ProcessSnapshot::getTaskId, taskId); + processSnapshot = processSnapshotService.getOne(wrapper); + if (Objects.isNull(processSnapshot)) { + processSnapshot = new ProcessSnapshot(); + } // 根据是否有taskId区分保存来源(待办、草稿) processSnapshot.setProcessInstanceId(basicProcessInfoDTO.getProcessInstanceId()); // 流程实例id @@ -522,7 +528,7 @@ public class ProcessHandleServiceImpl implements IProcessHandleService { processSnapshot.setHandleFile(handleFile); // 流程审批信息-附件 processSnapshot.setUserId(userId); // 用户id processSnapshot.setInfoJsonStr(processInfoVO.getInfoJsonStr());//草稿信息json字符串 - processSnapshotService.save(processSnapshot); + processSnapshotService.saveOrUpdate(processSnapshot); } @Override