feat: 企标制修订流程-自动发起API
This commit is contained in:
+42
-1
@@ -12,6 +12,8 @@ import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.common.entity.CommonVO;
|
||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.ProcessEsInitChange;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPRevisionType;
|
||||
import com.jero.modules.activiti.process.esRevision.entity.vo.InspectContentVO;
|
||||
import com.jero.modules.activiti.process.esRevision.entity.vo.OtherDraftUserVO;
|
||||
import com.jero.modules.activiti.process.esRevision.entity.ProcessEsRevision;
|
||||
@@ -24,6 +26,9 @@ 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.ProcessNodeLinkService;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.sys.utils.UserUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
@@ -68,6 +73,8 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
|
||||
@Resource
|
||||
private EnterpriseStandardPlanService espService;
|
||||
|
||||
@Override
|
||||
public void startProcess(ESRevisionDataVO revisionData) {
|
||||
@@ -139,7 +146,41 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
|
||||
@Override
|
||||
public void autoStartProcess(ESRevisionDataVO revisionData) {
|
||||
|
||||
// 自动发起制修订流程 需要定义制定还是修订 并且存储对应的企标计划id 所有数据由第一个节点之后再保存
|
||||
// 1. 根据企标编号找到对应企标的主起草人
|
||||
String espId = revisionData.getData().getEspId();
|
||||
EnterpriseStandardPlan esp = espService.getById(espId);
|
||||
String mainDraftUser = esp.getMainDraftingUser();
|
||||
if (StrUtil.isBlank(mainDraftUser)) {
|
||||
log.info("新企标编号为{}的企标计划的主起草人为空,无法自动发起制修订流程", esp.getNewEnStandardNo());
|
||||
return;
|
||||
}
|
||||
// 流程Key
|
||||
String processDefinitionKey = ProcessType.ES_REVISION.getProcessKey();
|
||||
// 设置流程变量
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
variables.put("mainDraftUser", mainDraftUser);
|
||||
// 启动流程
|
||||
ProcessInstance processInstance = actFlowCommonService.startProcess(processDefinitionKey, variables);
|
||||
ProcessEsRevision revision = new ProcessEsRevision();
|
||||
// 获取流程实例ID
|
||||
String processDefinitionId = processInstance.getProcessDefinitionId();
|
||||
String processInstanceId = processInstance.getId();
|
||||
// 设置流程实例Id
|
||||
revision.setProcessInstanceId(processInstanceId);
|
||||
revision.setEspId(espId);
|
||||
// 保存到业务流程表
|
||||
save(revision);
|
||||
// 保存选人信息
|
||||
// 人员
|
||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, variables);
|
||||
// 根据流程实例id更新流程总表
|
||||
String newStandardNo = esp.getNewEnStandardNo();
|
||||
String newStandardName = esp.getNewEnStandardName();
|
||||
String revisionType = esp.getApplicationCategory().equals(ESPRevisionType.ENACT.getValue()) ? "制定" : "修订";
|
||||
String prcName = newStandardNo + "-" + newStandardName + "-" + revisionType;
|
||||
Integer prcType = ProcessTypeEnum.ES_REVISION.getValue();
|
||||
actFlowCommonService.updateProcessAll(processInstanceId, mainDraftUser, prcName, null, prcType, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user