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