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.common.util.obs.ObsBootUtil;
|
||||||
import com.jero.modules.activiti.common.ActivitiCommon;
|
import com.jero.modules.activiti.common.ActivitiCommon;
|
||||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
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.enums.ProcessTypeEnum;
|
||||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
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.IProcessStandardComplianceCheckDetailService;
|
||||||
import com.jero.modules.activiti.process.standardComplianceCheck.service.IProcessStandardComplianceCheckService;
|
import com.jero.modules.activiti.process.standardComplianceCheck.service.IProcessStandardComplianceCheckService;
|
||||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
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.activiti.util.ExcelUtils;
|
||||||
import com.jero.modules.laws.common.service.impl.LawsCommonServiceImpl;
|
import com.jero.modules.laws.common.service.impl.LawsCommonServiceImpl;
|
||||||
import com.jero.modules.laws.documenttool.entity.LawsDocumentSplit;
|
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.sys.utils.UserUtils;
|
||||||
import com.jero.modules.system.entity.SysDepart;
|
import com.jero.modules.system.entity.SysDepart;
|
||||||
import com.jero.modules.system.service.ISysDepartService;
|
import com.jero.modules.system.service.ISysDepartService;
|
||||||
import com.jero.modules.system.service.ISysDictService;
|
|
||||||
import lombok.Cleanup;
|
import lombok.Cleanup;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.activiti.engine.RuntimeService;
|
import org.activiti.engine.RuntimeService;
|
||||||
@@ -122,7 +123,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
|||||||
@Resource
|
@Resource
|
||||||
private ExcelUtils excelUtils;
|
private ExcelUtils excelUtils;
|
||||||
@Resource
|
@Resource
|
||||||
private ISysDictService dictService;
|
private ProcessNodeService processNodeService;
|
||||||
|
|
||||||
@Value("${jero.path.exportExcelTempPath}")
|
@Value("${jero.path.exportExcelTempPath}")
|
||||||
private String exportExcelTempPath;
|
private String exportExcelTempPath;
|
||||||
@@ -797,22 +798,28 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// 设置流程变量等相关信息
|
// 设置流程变量等相关信息
|
||||||
this.handleDataVariables(scc, mainInstanceId);
|
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(mainInstanceId).singleResult();
|
||||||
|
String processDefinitionId = processInstance.getProcessDefinitionId();
|
||||||
|
this.handleDataVariables(scc, mainInstanceId, processDefinitionId);
|
||||||
processSccVO.setStandardInfo(scc);
|
processSccVO.setStandardInfo(scc);
|
||||||
result.setBusinessInfoDTO(processSccVO);
|
result.setBusinessInfoDTO(processSccVO);
|
||||||
return result;
|
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());
|
actFlowCommonService.setStringBooleanAttribute(mainInstanceId, DISTRIBUTE, scc::setDistributeFlag, value -> (boolean) value ? YesOrNoEnum.YES.getValue() : YesOrNoEnum.NO.getValue());
|
||||||
// 如果没有下发过
|
// 如果没有下发过
|
||||||
String distributeFlag = scc.getDistributeFlag();
|
String distributeFlag = scc.getDistributeFlag();
|
||||||
scc.setLockDistributeFlag(YesOrNoEnum.YES.getValue().equals(distributeFlag));
|
scc.setLockDistributeFlag(YesOrNoEnum.YES.getValue().equals(distributeFlag));
|
||||||
actFlowCommonService.setStringAttribute(mainInstanceId, DEPT_USER, scc::setDeptUser, Object::toString);
|
actFlowCommonService.setStringAttribute(mainInstanceId, DEPT_USER, scc::setDeptUser, Object::toString);
|
||||||
actFlowCommonService.setStringAttribute(mainInstanceId, MAIN_CHECK_USER, scc::setMainCheckUser, 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, 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, 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, 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) {
|
private void setDesignerEngineerEvaluationHandleData(ProcessSccVO processSccVO, String mainInstanceId, String processInstanceId) {
|
||||||
|
|||||||
Reference in New Issue
Block a user