feat: 企标九个流程强制撤回

This commit is contained in:
2024-01-12 18:10:29 +08:00
parent a10a35acc3
commit 965e617579
10 changed files with 84 additions and 0 deletions
@@ -1,6 +1,7 @@
package com.jero.modules.activiti.process.common.service;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.jero.common.exception.JeroBootException;
@@ -10,9 +11,15 @@ import com.jero.modules.activiti.entity.ProcessApprovalRecord;
import com.jero.modules.activiti.enums.CommitFlagEnum;
import com.jero.modules.activiti.enums.FinishFlagEnum;
import com.jero.modules.activiti.enums.ProcessTypeEnum;
import com.jero.modules.activiti.process.common.common.DraftCommon;
import com.jero.modules.activiti.process.common.entity.CommonVO;
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
import com.jero.modules.activiti.process.common.entity.StandTypeVO;
import com.jero.modules.activiti.process.esArchive.entity.vo.ESArchiveDataVO;
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
import com.jero.modules.activiti.process.fb.dto.BasicTaskInfoDTO;
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
import com.jero.modules.activiti.service.ProcessAllService;
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
import com.jero.modules.laws.common.util.CurrentUserUtil;
@@ -66,6 +73,9 @@ public class ActFlowCommonService {
@Resource
private ProcessDraftService processDraftService;
@Resource
private IProcessHandleService processHandleService;
/**
* 启动流程实例
*/
@@ -435,6 +445,7 @@ public class ActFlowCommonService {
LambdaQueryWrapper<ProcessDraft> draftWrapper = new LambdaQueryWrapper<>();
draftWrapper.eq(ProcessDraft::getUserId, userId);
draftWrapper.eq(ProcessDraft::getTaskId, taskId);
draftWrapper.ne(ProcessDraft::getSaveSource, DraftCommon.INITIAL_SOURCE);
draftWrapper.eq(StrUtil.isNotBlank(processInstanceId), ProcessDraft::getProcessInstanceId, processInstanceId);
processDraftService.remove(draftWrapper);
}
@@ -504,4 +515,30 @@ public class ActFlowCommonService {
ProcessApprovalRecord approvalRecord = processApprovalRecordService.getToDoByTaskId(taskId);
return approvalRecord.getOriginUserId();
}
/**
* 强制撤回流程-保存草稿
* @param common
* @param processTypeEnum
* @param data
*/
public void saveFirstNodeDraft(CommonVO common, ProcessTypeEnum processTypeEnum, Object data) {
// 将archiveData转为Json
String dataJson = JSON.toJSONString(data);
ProcessInfoVO<ESArchiveDataVO> processInfoVO = new ProcessInfoVO<>();
processInfoVO.setSaveSource(DraftCommon.INITIAL_SOURCE);
BasicTaskInfoDTO basicTaskInfoDTO = new BasicTaskInfoDTO();
basicTaskInfoDTO.setHandleFile(common.getCommitFile());
basicTaskInfoDTO.setHandleText(common.getCommitText());
BasicProcessInfoDTO basicProcessInfoDTO = new BasicProcessInfoDTO();
basicProcessInfoDTO.setProcessName(common.getPrcName());
basicProcessInfoDTO.setProcessDescription(common.getPrcMes());
basicProcessInfoDTO.setProcessType(processTypeEnum.getValue());
basicProcessInfoDTO.setProcessDueDate(common.getDueTime());
basicProcessInfoDTO.setProcessInstanceId(common.getProcessInstanceId());
processInfoVO.setInfoJsonStr(dataJson);
processInfoVO.setBasicTaskInfoDTO(basicTaskInfoDTO);
processInfoVO.setBasicProcessInfoDTO(basicProcessInfoDTO);
processHandleService.saveToDraft(processInfoVO);
}
}
@@ -99,6 +99,9 @@ public class ProcessEsAbolishServiceImpl extends ServiceImpl<ProcessEsAbolishMap
Date dueTime = commonVO.getDueTime();
Integer prcType = ProcessTypeEnum.ES_ABOLISH.getValue();
actFlowCommonService.updateProcessAll(processInstanceId, userId, prcName, prcMes, prcType, dueTime);
// 强制撤回
commonVO.setProcessInstanceId(processInstanceId);
actFlowCommonService.saveFirstNodeDraft(commonVO, ProcessTypeEnum.ES_ABOLISH, abolishData);
}
public Map<String, Object> setVariables(Map<String, Object> flowUser) {
@@ -132,6 +132,9 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
Date dueTime = commonVO.getDueTime();
Integer prcType = ProcessTypeEnum.ES_ANNUAL_INIT.getValue();
actFlowCommonService.updateProcessAll(processInstanceId, userId, prcName, prcMes, prcType, dueTime);
// 强制撤回
commonVO.setProcessInstanceId(processInstanceId);
actFlowCommonService.saveFirstNodeDraft(commonVO, ProcessTypeEnum.ES_ANNUAL_INIT, annualInitData);
}
/**
@@ -167,6 +170,13 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
Date dueTime = processAll.getDueTime();
Integer prcType = ProcessTypeEnum.ES_ANNUAL_INIT.getValue();
actFlowCommonService.updateProcessAll(processInstanceId, standardEngineer, prcName, prcMes, prcType, dueTime);
// 强制撤回
CommonVO commonVO = new CommonVO();
commonVO.setPrcName(prcName);
commonVO.setPrcMes(prcMes);
commonVO.setDueTime(dueTime);
commonVO.setProcessInstanceId(processInstanceId);
actFlowCommonService.saveFirstNodeDraft(commonVO, ProcessTypeEnum.ES_ANNUAL_INIT, annualInitData);
}
public void startRunTask(AnnualInitDataVO annualInitData) {
@@ -119,6 +119,9 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
actFlowCommonService.updateProcessAll(processInstanceId, userId, prcName, prcMes, prcType, dueTime);
// 执行流程发起前的操作
this.startRunTask(annualReportData);
// 强制撤回
commonVO.setProcessInstanceId(processInstanceId);
actFlowCommonService.saveFirstNodeDraft(commonVO, ProcessTypeEnum.ES_ANNUAL_REPORT, annualReportData);
}
public Map<String, Object> setVariables(AnnualReportDataVO annualReportData) {
@@ -1,12 +1,14 @@
package com.jero.modules.activiti.process.esArchive.service.impl;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.modules.activiti.enums.ProcessTypeEnum;
import com.jero.modules.activiti.process.common.common.DraftCommon;
import com.jero.modules.activiti.process.common.entity.CommonVO;
import com.jero.modules.activiti.process.common.entity.CounterSignNodeNameConstants;
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
@@ -19,6 +21,7 @@ import com.jero.modules.activiti.process.esArchive.entity.vo.ESArchiveDataVO;
import com.jero.modules.activiti.process.esArchive.service.ProcessEsArchiveService;
import com.jero.modules.activiti.process.esArchive.mapper.ProcessEsArchiveMapper;
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
import com.jero.modules.activiti.process.fb.dto.BasicTaskInfoDTO;
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
import com.jero.modules.activiti.service.ProcessNodeLinkService;
@@ -99,6 +102,9 @@ public class ProcessEsArchiveServiceImpl extends ServiceImpl<ProcessEsArchiveMap
Date dueTime = common.getDueTime();
Integer prcType = ProcessTypeEnum.ES_ARCHIVE.getValue();
actFlowCommonService.updateProcessAll(processInstanceId, userId, prcName, prcMes, prcType, dueTime);
// 强制撤回
common.setProcessInstanceId(processInstanceId);
actFlowCommonService.saveFirstNodeDraft(common, ProcessTypeEnum.ES_ARCHIVE, archiveData);
}
public Map<String, Object> setVariables(Map<String, Object> flowUser) {
@@ -119,6 +119,9 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
Date dueTime = common.getDueTime();
Integer prcType = ProcessTypeEnum.ES_CHANGE.getValue();
actFlowCommonService.updateProcessAll(processInstanceId, userId, prcName, prcMes, prcType, dueTime);
// 强制撤回
common.setProcessInstanceId(processInstanceId);
actFlowCommonService.saveFirstNodeDraft(common, ProcessTypeEnum.ES_CHANGE, changeData);
}
public Map<String, Object> setVariables(Map<String, Object> flowUser) {
@@ -99,6 +99,9 @@ public class ProcessEsEnableServiceImpl extends ServiceImpl<ProcessEsEnableMappe
Date dueTime = common.getDueTime();
Integer prcType = ProcessTypeEnum.ES_ENABLE.getValue();
actFlowCommonService.updateProcessAll(processInstanceId, userId, prcName, prcMes, prcType, dueTime);
// 强制撤回
common.setProcessInstanceId(processInstanceId);
actFlowCommonService.saveFirstNodeDraft(common, ProcessTypeEnum.ES_ENABLE, enableData);
}
public Map<String, Object> setVariables(Map<String, Object> flowUser) {
@@ -115,6 +115,9 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
Date dueTime = commonVO.getDueTime();
Integer prcType = ProcessTypeEnum.ES_INIT_CHANGE.getValue();
actFlowCommonService.updateProcessAll(processInstanceId, userId, prcName, prcMes, prcType, dueTime);
// 强制撤回
commonVO.setProcessInstanceId(processInstanceId);
actFlowCommonService.saveFirstNodeDraft(commonVO, ProcessTypeEnum.ES_INIT_CHANGE, initChangeData);
}
public Map<String, Object> setVariables(InitChangeDataVO initChangeData) {
@@ -100,6 +100,9 @@ public class ProcessEsRecheckServiceImpl extends ServiceImpl<ProcessEsRecheckMap
Date dueTime = common.getDueTime();
Integer prcType = ProcessTypeEnum.ES_RECHECK.getValue();
actFlowCommonService.updateProcessAll(processInstanceId, userId, prcName, prcMes, prcType, dueTime);
// 强制撤回
common.setProcessInstanceId(processInstanceId);
actFlowCommonService.saveFirstNodeDraft(common, ProcessTypeEnum.ES_RECHECK, recheckData);
}
@Override
@@ -139,6 +142,9 @@ public class ProcessEsRecheckServiceImpl extends ServiceImpl<ProcessEsRecheckMap
Date dueTime = common.getDueTime();
Integer prcType = ProcessTypeEnum.ES_RECHECK.getValue();
actFlowCommonService.updateProcessAll(processInstanceId, userId, prcName, prcMes, prcType, dueTime);
// 强制撤回
common.setProcessInstanceId(processInstanceId);
actFlowCommonService.saveFirstNodeDraft(common, ProcessTypeEnum.ES_RECHECK, recheckData);
}
public Map<String, Object> setVariables(Map<String, Object> flowUser) {
@@ -119,6 +119,9 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
Date dueTime = commonVO.getDueTime();
Integer prcType = ProcessTypeEnum.ES_REVISION.getValue();
actFlowCommonService.updateProcessAll(processInstanceId, userId, prcName, prcMes, prcType, dueTime);
// 强制撤回
commonVO.setProcessInstanceId(processInstanceId);
actFlowCommonService.saveFirstNodeDraft(commonVO, ProcessTypeEnum.ES_REVISION, revisionData);
}
private Map<String, Object> setVariables(ESRevisionDataVO revisionData) {
@@ -210,6 +213,13 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
// 将企标计划改为运行中
esp.setProjectStatus(ESPProjectStatus.IN_PROGRESS.getValue());
espService.updateById(esp);
// 强制撤回
CommonVO commonVO = new CommonVO();
commonVO.setPrcName(prcName);
commonVO.setPrcMes(null);
commonVO.setDueTime(null);
commonVO.setProcessInstanceId(processInstanceId);
actFlowCommonService.saveFirstNodeDraft(commonVO, ProcessTypeEnum.ES_REVISION, revisionData);
}
@Override