feat: 回显人员改为从流程变量中取数据
This commit is contained in:
+14
-2
@@ -137,20 +137,29 @@ public class ProcessStandardComplianceCheck implements Serializable {
|
||||
* 车型上传文件Id
|
||||
*/
|
||||
@ApiModelProperty(value = "车型上传文件Id")
|
||||
@TableField(exist = false)
|
||||
@Dict(dictTable = "oss_file", dicCode = "id", dicText = "file_name")
|
||||
private String modelFile;
|
||||
|
||||
/**
|
||||
* 拆解单上传文件Id
|
||||
*/
|
||||
@ApiModelProperty(value = "拆解单上传文件Id")
|
||||
@TableField(exist = false)
|
||||
@Dict(dictTable = "oss_file", dicCode = "id", dicText = "file_name")
|
||||
private String splitFile;
|
||||
|
||||
/**
|
||||
* 部门接口人
|
||||
*/
|
||||
@ApiModelProperty(value = "部门接口人")
|
||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
||||
@TableField(exist = false)
|
||||
private String deptUser;
|
||||
|
||||
/**
|
||||
* 主排查人
|
||||
*/
|
||||
@ApiModelProperty(value = "主排查人")
|
||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
||||
@TableField(exist = false)
|
||||
private String mainCheckUser;
|
||||
|
||||
@@ -166,6 +175,7 @@ public class ProcessStandardComplianceCheck implements Serializable {
|
||||
* 会签人员
|
||||
*/
|
||||
@ApiModelProperty(value = "会签人员")
|
||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
||||
@TableField(exist = false)
|
||||
private String countersignUser;
|
||||
|
||||
@@ -173,6 +183,7 @@ public class ProcessStandardComplianceCheck implements Serializable {
|
||||
* 设计工程师科室经理
|
||||
*/
|
||||
@ApiModelProperty(value = "设计工程师科室经理")
|
||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
||||
@TableField(exist = false)
|
||||
private String manager;
|
||||
|
||||
@@ -180,6 +191,7 @@ public class ProcessStandardComplianceCheck implements Serializable {
|
||||
* 高级经理
|
||||
*/
|
||||
@ApiModelProperty(value = "高级经理")
|
||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
||||
@TableField(exist = false)
|
||||
private String seniorManager;
|
||||
|
||||
|
||||
+46
-7
@@ -52,6 +52,8 @@ import javax.annotation.Resource;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.*;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.jero.modules.activiti.common.ActivitiCommon.*;
|
||||
@@ -159,10 +161,16 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
// 给流程中设置主表流程变量Id
|
||||
runtimeService.setVariable(processInstanceId, CHECK_ID, standardInfo.getId());
|
||||
runtimeService.setVariable(processInstanceId, MAIN_INSTANCE_ID, processInstanceId);
|
||||
this.startNodeDetailBusProcess(processInstanceId, standardInfo.getId(), businessInfoDTO.getDetailInfoList());
|
||||
}
|
||||
|
||||
private void startNodeDetailBusProcess(String processInstanceId, String checkId, List<ProcessStandardComplianceCheckDetail> detailInfoList) {
|
||||
LambdaUpdateWrapper<ProcessStandardComplianceCheckDetail> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(ProcessStandardComplianceCheckDetail::getCheckId, checkId);
|
||||
sccDetailService.remove(updateWrapper);
|
||||
// 子表设置流程实例Id
|
||||
List<ProcessStandardComplianceCheckDetail> detailInfoList = businessInfoDTO.getDetailInfoList();
|
||||
detailInfoList.forEach(detail -> {
|
||||
detail.setCheckId(standardInfo.getId());
|
||||
detail.setCheckId(checkId);
|
||||
detail.setProcessInstanceId(processInstanceId);
|
||||
});
|
||||
sccDetailService.saveBatch(detailInfoList);
|
||||
@@ -258,6 +266,11 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
String processDefinitionId = processInstance.getProcessDefinitionId();
|
||||
Map<String, Object> userMap = new HashMap<>();
|
||||
switch (xmlNodeId) {
|
||||
case STANDARD_ENGINEER_START:
|
||||
ProcessInfoVO<ProcessSccVO> handleData = this.getHandleData(taskId);
|
||||
ProcessSccVO oldBus = handleData.getBusinessInfoDTO();
|
||||
this.startNodeDetailBusProcess(processInstanceId, oldBus.getStandardInfo().getId(), businessInfoDTO.getDetailInfoList());
|
||||
break;
|
||||
case DEPT_USER_DISTRIBUTE:
|
||||
// 设置主排查人
|
||||
String mainCheckUser = businessInfoDTO.getStandardInfo().getMainCheckUser();
|
||||
@@ -265,6 +278,8 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
// 保存选人信息
|
||||
userMap.put(MAIN_CHECK_USER, mainCheckUser);
|
||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userMap);
|
||||
// 保存数据
|
||||
this.updateById(standardInfo);
|
||||
break;
|
||||
case MAIN_CHECK_USER_DISTRIBUTE:
|
||||
// 驳回
|
||||
@@ -381,11 +396,6 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
detailQueryWrapper.eq(ProcessStandardComplianceCheckDetail::getCheckId, scc.getId());
|
||||
detailList = sccDetailService.list(detailQueryWrapper);
|
||||
}
|
||||
Object distributeFlag = runtimeService.getVariable(mainInstanceId, DISTRIBUTE);
|
||||
if (distributeFlag != null) {
|
||||
scc.setDistributeFlag((boolean)distributeFlag ? YesOrNoEnum.YES.getValue() : YesOrNoEnum.NO.getValue());
|
||||
}
|
||||
processSccVO.setStandardInfo(scc);
|
||||
String xmlNodeId = record.getNodeId();
|
||||
// 设置流程信息
|
||||
switch (xmlNodeId) {
|
||||
@@ -414,10 +424,39 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
processSccVO.setDetailInfoList(detailList);
|
||||
break;
|
||||
}
|
||||
// 设置流程变量等相关信息
|
||||
this.handleDataVariables(scc, mainInstanceId);
|
||||
processSccVO.setStandardInfo(scc);
|
||||
result.setBusinessInfoDTO(processSccVO);
|
||||
return result;
|
||||
}
|
||||
|
||||
private void handleDataVariables(ProcessStandardComplianceCheck scc, String mainInstanceId) {
|
||||
Object distributeFlag = runtimeService.getVariable(mainInstanceId, DISTRIBUTE);
|
||||
if (distributeFlag != null) {
|
||||
scc.setDistributeFlag((boolean)distributeFlag ? YesOrNoEnum.YES.getValue() : YesOrNoEnum.NO.getValue());
|
||||
}
|
||||
setStringAttribute(mainInstanceId, DEPT_USER, scc::setDeptUser, Object::toString);
|
||||
setStringAttribute(mainInstanceId, MAIN_CHECK_USER, scc::setMainCheckUser, Object::toString);
|
||||
setListAttribute(mainInstanceId, COUNTERSIGN_USER_LIST, v -> scc.setCountersignUser(String.join(",", (List<String>) v)), v -> (List<String>) v);
|
||||
setStringAttribute(mainInstanceId, MANAGER, scc::setManager, Object::toString);
|
||||
setStringAttribute(mainInstanceId, SENIOR_MANAGER, scc::setSeniorManager, Object::toString);
|
||||
}
|
||||
|
||||
private void setListAttribute(String instanceId, String variableName, Consumer<List<String>> setter, Function<Object, List<String>> converter) {
|
||||
Object value = runtimeService.getVariable(instanceId, variableName);
|
||||
if (value != null) {
|
||||
setter.accept(converter.apply(value));
|
||||
}
|
||||
}
|
||||
|
||||
private void setStringAttribute(String instanceId, String variableName, Consumer<String> setter, Function<Object, String> converter) {
|
||||
Object value = runtimeService.getVariable(instanceId, variableName);
|
||||
if (value != null) {
|
||||
setter.accept(converter.apply(value));
|
||||
}
|
||||
}
|
||||
|
||||
private void setDesignerEngineerEvaluationHandleData(ProcessSccVO processSccVO, String mainInstanceId, String processInstanceId) {
|
||||
LambdaQueryWrapper<ProcessStandardComplianceCheck> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(ProcessStandardComplianceCheck::getProcessInstanceId, mainInstanceId);
|
||||
|
||||
Reference in New Issue
Block a user