diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/entity/ProcessStandardComplianceCheck.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/entity/ProcessStandardComplianceCheck.java index 28f7cee2..cf595abe 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/entity/ProcessStandardComplianceCheck.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/entity/ProcessStandardComplianceCheck.java @@ -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; diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/impl/ProcessStandardComplianceCheckServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/impl/ProcessStandardComplianceCheckServiceImpl.java index bea4b215..898d4f54 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/impl/ProcessStandardComplianceCheckServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/impl/ProcessStandardComplianceCheckServiceImpl.java @@ -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 detailInfoList) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(ProcessStandardComplianceCheckDetail::getCheckId, checkId); + sccDetailService.remove(updateWrapper); // 子表设置流程实例Id - List 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 userMap = new HashMap<>(); switch (xmlNodeId) { + case STANDARD_ENGINEER_START: + ProcessInfoVO 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 scc.setCountersignUser(String.join(",", (List) v)), v -> (List) v); + setStringAttribute(mainInstanceId, MANAGER, scc::setManager, Object::toString); + setStringAttribute(mainInstanceId, SENIOR_MANAGER, scc::setSeniorManager, Object::toString); + } + + private void setListAttribute(String instanceId, String variableName, Consumer> setter, Function> converter) { + Object value = runtimeService.getVariable(instanceId, variableName); + if (value != null) { + setter.accept(converter.apply(value)); + } + } + + private void setStringAttribute(String instanceId, String variableName, Consumer setter, Function 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 queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ProcessStandardComplianceCheck::getProcessInstanceId, mainInstanceId);