diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessHandleService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessHandleService.java index 20eb8a17..1f9df594 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessHandleService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessHandleService.java @@ -76,6 +76,13 @@ public interface IProcessHandleService { **/ void saveToDraft(ProcessInfoVO processInfoVO); + /** + * @Author: yjz + * @Date: 2023/11/3 10:29 + * @Description: 保存为草稿 + **/ + void saveToDraft2(ProcessInfoVO processInfoVO); + /** * @Author: liao * @Date: 2023/11/3 11:13 diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbEntryChangeServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbEntryChangeServiceImpl.java index 3dbfde10..b9503a98 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbEntryChangeServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbEntryChangeServiceImpl.java @@ -10,9 +10,7 @@ import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.exception.JeroBootException; import com.jero.common.util.UUIDUtils; import com.jero.modules.activiti.entity.ProcessAll; -import com.jero.modules.activiti.entity.ProcessApprovalRecord; import com.jero.modules.activiti.enums.ProcessTypeEnum; -import com.jero.modules.activiti.process.common.entity.ProcessDraft; import com.jero.modules.activiti.process.common.service.ProcessDraftService; import com.jero.modules.activiti.process.fb.common.ProcessDefinitionKey; import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO; @@ -31,7 +29,6 @@ import com.jero.modules.laws.common.service.ILawsCommonService; import com.jero.modules.laws.common.util.CurrentUserUtil; import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; -import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; import com.jero.modules.tag.entity.LawsTag; import com.jero.modules.tag.enums.TableNameEnum; @@ -147,6 +144,12 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl queryProcessInfoVO(String draftId, String processInstanceId, String taskId, String projectId) { ProcessInfoVO processInfoVO = processHandleService.queryProcessInfoVO(draftId, processInstanceId, taskId, projectId); ProcessFbEntryChange processFbEntryChange = getById(projectId); - // 翻译 - toDict(processFbEntryChange); - Map map = JSON.parseObject(processFbEntryChange.getBusinessJson(), Map.class); + // 处理字典翻译 //List fieldList = lawsCommonMapper.getFieldList(TableNameEnum.getTableName(processFbEntryChange.getSource())); @@ -358,8 +358,15 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl stringObjectMap = lawsCommonService.processResultMap(map, fieldList); //processFbEntryChange.setBusinessMap(stringObjectMap); - processFbEntryChange.setBusinessMap(map); - processInfoVO.setBusinessInfoDTO(processFbEntryChange); + if (!Objects.isNull(processFbEntryChange)){ + // 翻译 + toDict(processFbEntryChange); + Map map = JSON.parseObject(processFbEntryChange.getBusinessJson(), Map.class); + processFbEntryChange.setBusinessMap(map); + processInfoVO.setBusinessInfoDTO(processFbEntryChange); + }else { + processInfoVO.setBusinessInfoDTO(new ProcessFbEntryChange()); + } return processInfoVO; } @@ -379,34 +386,10 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl() - .eq(ProcessApprovalRecord::getProcessInstanceId, processAll.getProcessInstanceId()) - .orderByAsc(ProcessApprovalRecord::getCreateTime) - .last("limit 1")); - - // 处理业务表信息 + // 删除业务表数据 IProcessFbEntryChangeService processFbEntryChangeService = SpringContextUtil.getBean(IProcessFbEntryChangeService.class); - ProcessFbEntryChange processFbEntryChange = processFbEntryChangeService.getById(processAll.getProjectId()); - processFbEntryChange.setId(projectId); - processFbEntryChange.setCreateTime(new Date()); - ISysUserService sysUserService = SpringContextUtil.getBean(ISysUserService.class); - SysUser sysUser = sysUserService.getById(processApprovalRecord.getOriginUserId()); - processFbEntryChange.setCreateBy(sysUser.getUsername()); - processFbEntryChangeService.save(processFbEntryChange); - - ProcessDraft processDraft = new ProcessDraft(); - processDraft.setProjectId(projectId); // 业务id - processDraft.setPrcType(processAll.getPrcType()); // 流程类型 - processDraft.setUserId(processApprovalRecord.getOriginUserId()); // 用户id - // 保存草稿 - ProcessDraftService processDraftService = SpringContextUtil.getBean(ProcessDraftService.class); - processDraftService.save(processDraft); + processFbEntryChangeService.remove( + new LambdaQueryWrapper() + .eq(ProcessFbEntryChange::getId, processAll.getProjectId())); } } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbStandardConsultationServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbStandardConsultationServiceImpl.java index 9d91db6b..c008ddca 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbStandardConsultationServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbStandardConsultationServiceImpl.java @@ -15,8 +15,6 @@ import com.jero.modules.activiti.entity.ProcessNode; import com.jero.modules.activiti.entity.ProcessNodeLink; import com.jero.modules.activiti.enums.CommitFlagEnum; import com.jero.modules.activiti.enums.ProcessTypeEnum; -import com.jero.modules.activiti.process.common.entity.ProcessDraft; -import com.jero.modules.activiti.process.common.service.ProcessDraftService; import com.jero.modules.activiti.process.fb.common.ConsultationNodeSort; import com.jero.modules.activiti.process.fb.common.ConsultationTaskKey; import com.jero.modules.activiti.process.fb.common.FbCommon; @@ -977,34 +975,20 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl() - .eq(ProcessApprovalRecord::getProcessInstanceId, processAll.getProcessInstanceId()) - .orderByAsc(ProcessApprovalRecord::getCreateTime) - .last("limit 1")); - - // 处理业务表信息 + // 删除业务表数据 IProcessFbStandardPurchaseService processFbStandardPurchaseService = SpringContextUtil.getBean(IProcessFbStandardPurchaseService.class); - ProcessFbStandardPurchase processFbStandardPurchase = processFbStandardPurchaseService.getById(processAll.getProjectId()); - processFbStandardPurchase.setId(projectId); - processFbStandardPurchase.setCreateTime(new Date()); - ISysUserService sysUserService = SpringContextUtil.getBean(ISysUserService.class); - SysUser sysUser = sysUserService.getById(processApprovalRecord.getOriginUserId()); - processFbStandardPurchase.setCreateBy(sysUser.getUsername()); - processFbStandardPurchaseService.save(processFbStandardPurchase); + processFbStandardPurchaseService.remove( + new LambdaQueryWrapper() + .eq(ProcessFbStandardPurchase::getId, processAll.getProjectId())); - ProcessDraft processDraft = new ProcessDraft(); - processDraft.setProjectId(projectId); // 业务id - processDraft.setPrcType(processAll.getPrcType()); // 流程类型 - processDraft.setUserId(processApprovalRecord.getOriginUserId()); // 用户id - // 保存草稿 - ProcessDraftService processDraftService = SpringContextUtil.getBean(ProcessDraftService.class); - processDraftService.save(processDraft); + IProcessFbConsultationListService processFbConsultationListService = SpringContextUtil.getBean(IProcessFbConsultationListService.class); + processFbConsultationListService.remove( + new LambdaQueryWrapper() + .eq(ProcessFbConsultationList::getBusinessId, processAll.getProjectId())); + + IProcessFbConsultationUserLinkService processFbConsultationUserLinkService = SpringContextUtil.getBean(IProcessFbConsultationUserLinkService.class); + processFbConsultationUserLinkService.remove( + new LambdaQueryWrapper() + .eq(ProcessFbConsultationUserLink::getBusinessId, processAll.getProjectId())); } } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbStandardPurchaseServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbStandardPurchaseServiceImpl.java index f6072afa..439795a3 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbStandardPurchaseServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbStandardPurchaseServiceImpl.java @@ -7,10 +7,7 @@ import com.jero.common.exception.JeroBootException; import com.jero.common.system.base.controller.JeroController; import com.jero.common.util.UUIDUtils; import com.jero.modules.activiti.entity.ProcessAll; -import com.jero.modules.activiti.entity.ProcessApprovalRecord; import com.jero.modules.activiti.enums.ProcessTypeEnum; -import com.jero.modules.activiti.process.common.entity.ProcessDraft; -import com.jero.modules.activiti.process.common.service.ProcessDraftService; import com.jero.modules.activiti.process.fb.common.ProcessDefinitionKey; import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO; import com.jero.modules.activiti.process.fb.entity.ProcessFbStandardPurchase; @@ -18,12 +15,9 @@ import com.jero.modules.activiti.process.fb.mapper.ProcessFbStandardPurchaseMapp import com.jero.modules.activiti.process.fb.service.IProcessFbStandardPurchaseService; import com.jero.modules.activiti.process.fb.service.IProcessHandleService; import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO; -import com.jero.modules.activiti.service.ProcessApprovalRecordService; import com.jero.modules.activiti.service.WorkCenterService; import com.jero.modules.activiti.util.SpringContextUtil; import com.jero.modules.laws.common.util.CurrentUserUtil; -import com.jero.modules.system.entity.SysUser; -import com.jero.modules.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -35,7 +29,6 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; -import java.util.Date; import java.util.List; import java.util.Map; @@ -202,34 +195,10 @@ public class ProcessFbStandardPurchaseServiceImpl extends ServiceImpl() - .eq(ProcessApprovalRecord::getProcessInstanceId, processAll.getProcessInstanceId()) - .orderByAsc(ProcessApprovalRecord::getCreateTime) - .last("limit 1")); - - // 处理业务表信息 + // 删除业务表数据 IProcessFbStandardPurchaseService processFbStandardPurchaseService = SpringContextUtil.getBean(IProcessFbStandardPurchaseService.class); - ProcessFbStandardPurchase processFbStandardPurchase = processFbStandardPurchaseService.getById(processAll.getProjectId()); - processFbStandardPurchase.setId(projectId); - processFbStandardPurchase.setCreateTime(new Date()); - ISysUserService sysUserService = SpringContextUtil.getBean(ISysUserService.class); - SysUser sysUser = sysUserService.getById(processApprovalRecord.getOriginUserId()); - processFbStandardPurchase.setCreateBy(sysUser.getUsername()); - processFbStandardPurchaseService.save(processFbStandardPurchase); - - ProcessDraft processDraft = new ProcessDraft(); - processDraft.setProjectId(projectId); // 业务id - processDraft.setPrcType(processAll.getPrcType()); // 流程类型 - processDraft.setUserId(processApprovalRecord.getOriginUserId()); // 用户id - // 保存草稿 - ProcessDraftService processDraftService = SpringContextUtil.getBean(ProcessDraftService.class); - processDraftService.save(processDraft); + processFbStandardPurchaseService.remove( + new LambdaQueryWrapper() + .eq(ProcessFbStandardPurchase::getBusinessId, processAll.getProjectId())); } } 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 c7901e02..d3a72a88 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 @@ -517,6 +517,52 @@ public class ProcessHandleServiceImpl implements IProcessHandleService{ return processInfoVO; } + @Override + public void saveToDraft2(ProcessInfoVO processInfoVO) { + BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO(); + BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO(); + String taskId = null; + String handleText = null; + String handleFile = null; + if (basicTaskInfoDTO != null){ + taskId = basicTaskInfoDTO.getTaskId(); + handleText = basicTaskInfoDTO.getHandleText(); + handleFile = basicTaskInfoDTO.getHandleFile(); + }else { + processInfoVO.setBasicTaskInfoDTO(new BasicTaskInfoDTO()); + } + + // 保存 + updateProcessAll(processInfoVO); + updateApprovalRecord(processInfoVO); + + // 删除自己的草稿 + String draftId = processInfoVO.getDraftId(); + if (StringUtils.isNotBlank(draftId)){ + processDraftService.removeById(draftId); + } + deleteMyDraft(taskId, processInfoVO.getBusinessId(), basicProcessInfoDTO.getProcessType()); + // 根据是否有taskId区分保存来源(待办、草稿) + BasicTaskInfoDTO basicTaskInfoDTO1 = processInfoVO.getBasicTaskInfoDTO(); + // 非发起节点不保存到草稿 + if (StringUtils.isBlank(basicTaskInfoDTO1.getTaskId())){ + ProcessDraft processDraft = new ProcessDraft(); + processDraft.setProjectId(processInfoVO.getBusinessId()); // 业务id + processDraft.setProcessInstanceId(basicProcessInfoDTO.getProcessInstanceId()); // 流程实例id + processDraft.setPrcName(basicProcessInfoDTO.getProcessName()); // 流程名称 + processDraft.setPrcType(basicProcessInfoDTO.getProcessType()); // 流程类型 + processDraft.setProcessDueDate(basicProcessInfoDTO.getProcessDueDate()); // 流程信息-截止日期 + processDraft.setProcessDescription(basicProcessInfoDTO.getProcessDescription()); // 流程信息-流程说明 + processDraft.setTaskId(taskId); // 任务id + processDraft.setHandleText(handleText); // 流程审批信息-备注 + processDraft.setHandleFile(handleFile); // 流程审批信息-附件 + processDraft.setUserId(CurrentUserUtil.getId()); // 用户id + processDraft.setInfoJsonStr(processInfoVO.getInfoJsonStr());//草稿信息json字符串 + processDraft.setSaveSource(processInfoVO.getSaveSource());//来源(启动流程时有用,用于保存初始业务信息用于强制驳回) + processDraftService.save(processDraft); + } + } + /** * @Author: liao * @Date: 2023/11/8 11:16