feat: scc流程加签驳回以后从NodeList中拿人员信息
This commit is contained in:
+14
-7
@@ -16,6 +16,7 @@ import com.jero.common.util.ZipUtil;
|
||||
import com.jero.common.util.obs.ObsBootUtil;
|
||||
import com.jero.modules.activiti.common.ActivitiCommon;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.entity.ProcessNode;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
@@ -35,6 +36,7 @@ import com.jero.modules.activiti.process.standardComplianceCheck.mapper.ProcessS
|
||||
import com.jero.modules.activiti.process.standardComplianceCheck.service.IProcessStandardComplianceCheckDetailService;
|
||||
import com.jero.modules.activiti.process.standardComplianceCheck.service.IProcessStandardComplianceCheckService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeService;
|
||||
import com.jero.modules.activiti.util.ExcelUtils;
|
||||
import com.jero.modules.laws.common.service.impl.LawsCommonServiceImpl;
|
||||
import com.jero.modules.laws.documenttool.entity.LawsDocumentSplit;
|
||||
@@ -49,7 +51,6 @@ import com.jero.modules.split.service.ISarFileSplitInfoService;
|
||||
import com.jero.modules.sys.utils.UserUtils;
|
||||
import com.jero.modules.system.entity.SysDepart;
|
||||
import com.jero.modules.system.service.ISysDepartService;
|
||||
import com.jero.modules.system.service.ISysDictService;
|
||||
import lombok.Cleanup;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
@@ -122,7 +123,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
@Resource
|
||||
private ExcelUtils excelUtils;
|
||||
@Resource
|
||||
private ISysDictService dictService;
|
||||
private ProcessNodeService processNodeService;
|
||||
|
||||
@Value("${jero.path.exportExcelTempPath}")
|
||||
private String exportExcelTempPath;
|
||||
@@ -797,22 +798,28 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
break;
|
||||
}
|
||||
// 设置流程变量等相关信息
|
||||
this.handleDataVariables(scc, mainInstanceId);
|
||||
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(mainInstanceId).singleResult();
|
||||
String processDefinitionId = processInstance.getProcessDefinitionId();
|
||||
this.handleDataVariables(scc, mainInstanceId, processDefinitionId);
|
||||
processSccVO.setStandardInfo(scc);
|
||||
result.setBusinessInfoDTO(processSccVO);
|
||||
return result;
|
||||
}
|
||||
|
||||
private void handleDataVariables(ProcessStandardComplianceCheck scc, String mainInstanceId) {
|
||||
private void handleDataVariables(ProcessStandardComplianceCheck scc, String mainInstanceId, String processDefinitionId) {
|
||||
actFlowCommonService.setStringBooleanAttribute(mainInstanceId, DISTRIBUTE, scc::setDistributeFlag, value -> (boolean) value ? YesOrNoEnum.YES.getValue() : YesOrNoEnum.NO.getValue());
|
||||
// 如果没有下发过
|
||||
String distributeFlag = scc.getDistributeFlag();
|
||||
scc.setLockDistributeFlag(YesOrNoEnum.YES.getValue().equals(distributeFlag));
|
||||
actFlowCommonService.setStringAttribute(mainInstanceId, DEPT_USER, scc::setDeptUser, Object::toString);
|
||||
actFlowCommonService.setStringAttribute(mainInstanceId, MAIN_CHECK_USER, scc::setMainCheckUser, Object::toString);
|
||||
actFlowCommonService.setListAttribute(mainInstanceId, COUNTERSIGN_USER_LIST, v -> scc.setCountersignUser(String.join(",", v)), v -> (List<String>) v);
|
||||
actFlowCommonService.setListAttribute(mainInstanceId, MANAGER_LIST, v -> scc.setManager(String.join(",", v)), v -> (List<String>) v);
|
||||
actFlowCommonService.setListAttribute(mainInstanceId, SENIOR_MANAGER_LIST, v -> scc.setSeniorManager(String.join(",", v)), v -> (List<String>) v);
|
||||
// actFlowCommonService.setListAttribute(mainInstanceId, COUNTERSIGN_USER_LIST, v -> scc.setCountersignUser(String.join(",", v)), v -> (List<String>) v);
|
||||
// actFlowCommonService.setListAttribute(mainInstanceId, MANAGER_LIST, v -> scc.setManager(String.join(",", v)), v -> (List<String>) v);
|
||||
// actFlowCommonService.setListAttribute(mainInstanceId, SENIOR_MANAGER_LIST, v -> scc.setSeniorManager(String.join(",", v)), v -> (List<String>) v);
|
||||
List<ProcessNode> nodeList = processNodeService.getNodeList(processDefinitionId, mainInstanceId);
|
||||
scc.setCountersignUser(nodeList.stream().filter(node -> node.getXmlNodeId().equals(COUNTERSIGN)).findFirst().get().getLinkUserIds());
|
||||
scc.setManager(nodeList.stream().filter(node -> node.getXmlNodeId().equals(MANAGER_APPROVAL)).findFirst().get().getLinkUserIds());
|
||||
scc.setSeniorManager(nodeList.stream().filter(node -> node.getXmlNodeId().equals(SENIOR_MANAGER_APPROVAL)).findFirst().get().getLinkUserIds());
|
||||
}
|
||||
|
||||
private void setDesignerEngineerEvaluationHandleData(ProcessSccVO processSccVO, String mainInstanceId, String processInstanceId) {
|
||||
|
||||
Reference in New Issue
Block a user