diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esArchive/entity/vo/ESArchiveFlowUserVO.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esArchive/entity/vo/ESArchiveFlowUserVO.java deleted file mode 100644 index 32f84eb3..00000000 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esArchive/entity/vo/ESArchiveFlowUserVO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.jero.modules.activiti.process.esArchive.entity.vo; - -import com.jero.common.aspect.annotation.Dict; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author: Mzaxd - * @Date: 2023/10/9 16:57 - */ -@Data -public class ESArchiveFlowUserVO { - - // 创建人 - @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname") - @ApiModelProperty("创建人") - private String createUser; - - // 相关人员 - @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname") - @ApiModelProperty("相关人员") - private String relatedUser; - - // 创建人 - @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname") - @ApiModelProperty("起草人和会签人主管级领导") - private String leader; - - // 标准化审批人 - @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname") - @ApiModelProperty("标准化审批人") - private String standardizationUser; -} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esArchive/service/impl/ProcessEsArchiveServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esArchive/service/impl/ProcessEsArchiveServiceImpl.java index c39474c9..1c12c84a 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esArchive/service/impl/ProcessEsArchiveServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esArchive/service/impl/ProcessEsArchiveServiceImpl.java @@ -7,17 +7,14 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.exception.JeroBootException; import com.jero.modules.activiti.entity.ProcessAll; -import com.jero.modules.activiti.entity.ProcessNode; import com.jero.modules.activiti.enums.ProcessTypeEnum; import com.jero.modules.activiti.process.common.entity.CommonVO; import com.jero.modules.activiti.process.common.entity.ProcessDraft; 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.ProcessDraftService; -import com.jero.modules.activiti.process.esAbolish.entity.vo.ESAbolishDataVO; import com.jero.modules.activiti.process.esArchive.entity.ProcessEsArchive; import com.jero.modules.activiti.process.esArchive.entity.vo.ESArchiveDataVO; -import com.jero.modules.activiti.process.esArchive.entity.vo.ESArchiveFlowUserVO; import com.jero.modules.activiti.process.esArchive.service.ProcessEsArchiveService; import com.jero.modules.activiti.process.esArchive.mapper.ProcessEsArchiveMapper; import com.jero.modules.activiti.service.ProcessAllService; @@ -32,7 +29,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.*; -import java.util.stream.Collectors; /** * @author ThinkBook diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/controller/ESChangeController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/controller/ESChangeController.java index 36bffe2f..ecedc6e2 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/controller/ESChangeController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/controller/ESChangeController.java @@ -21,7 +21,7 @@ import javax.annotation.Resource; */ @Slf4j @RestController -@Api(tags = "企标更改发起流程") +@Api(tags = "企标更改流程") @RequestMapping("/process/es/change") public class ESChangeController { @@ -32,12 +32,12 @@ public class ESChangeController { private ActFlowCommonService actFlowCommonService; /** - * 新增立项变更申请 + * 新增企标更改流程 * * @param changeData */ - @AutoLog(value = "企标更改发起流程-发起流程") - @ApiOperation(value="企标更改发起流程-发起流程", notes="企标更改发起流程-发起流程") + @AutoLog(value = "企标更改流程-发起流程") + @ApiOperation(value="企标更改流程-发起流程", notes="企标更改流程-发起流程") @PostMapping("/start") public Result startProcess(@RequestBody ESChangeDataVO changeData) { changeService.startProcess(changeData); @@ -48,8 +48,8 @@ public class ESChangeController { * 保存到待办 * @param changeData */ - @AutoLog(value = "企标更改发起流程-保存") - @ApiOperation(value="企标更改发起流程-保存", notes="企标更改发起流程-保存") + @AutoLog(value = "企标更改流程-保存") + @ApiOperation(value="企标更改流程-保存", notes="企标更改流程-保存") @PostMapping("/save") public Result save(@RequestBody ESChangeDataVO changeData) { changeService.saveToDraft(changeData); @@ -60,8 +60,8 @@ public class ESChangeController { * 保存到待办 * @param taskId */ - @AutoLog(value = "企标更改发起流程-办理") - @ApiOperation(value="企标更改发起流程-办理", notes="企标更改发起流程-办理") + @AutoLog(value = "企标更改流程-办理") + @ApiOperation(value="企标更改流程-办理", notes="企标更改流程-办理") @GetMapping("/handle/{taskId}") @Translation public Result handle(@PathVariable("taskId") String taskId) { @@ -73,11 +73,11 @@ public class ESChangeController { * * @param changeData */ - @AutoLog(value = "企标更改发起流程-同意") - @ApiOperation(value="企标更改发起流程-同意", notes="企标更改发起流程-同意") + @AutoLog(value = "企标更改流程-同意") + @ApiOperation(value="企标更改流程-同意", notes="企标更改流程-同意") @PostMapping("/agree") public Result agree(@RequestBody ESChangeDataVO changeData) { - changeService.approvalInitChange(changeData, true); + changeService.approval(changeData, true); return Result.OK(); } @@ -86,11 +86,11 @@ public class ESChangeController { * * @param changeData */ - @AutoLog(value = "企标更改发起流程-驳回") - @ApiOperation(value="企标更改发起流程-驳回", notes="企标更改发起流程-驳回") + @AutoLog(value = "企标更改流程-驳回") + @ApiOperation(value="企标更改流程-驳回", notes="企标更改流程-驳回") @PostMapping("/reject") public Result reject(@RequestBody ESChangeDataVO changeData) { - changeService.approvalInitChange(changeData, false); + changeService.approval(changeData, false); return Result.OK(); } @@ -98,8 +98,8 @@ public class ESChangeController { * 转办 * */ - @AutoLog(value = "企标更改发起流程-转办") - @ApiOperation(value="企标更改发起流程-转办", notes="企标更改发起流程-转办") + @AutoLog(value = "企标更改流程-转办") + @ApiOperation(value="企标更改流程-转办", notes="企标更改流程-转办") @PostMapping(value = "/transfer") public Result transfer(@RequestBody TransferVO transferVO) { actFlowCommonService.transfer(transferVO.getTaskId(), transferVO.getUserId()); diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/entity/ProcessEsChange.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/entity/ProcessEsChange.java index 81cf2498..8a34772c 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/entity/ProcessEsChange.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/entity/ProcessEsChange.java @@ -100,7 +100,7 @@ public class ProcessEsChange implements Serializable { * 企标英文名称 */ @ApiModelProperty(value = "企标英文名称") - private String englishName; + private String standardEnglishName; /** * 发布日期 diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/entity/vo/ESChangeDataVO.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/entity/vo/ESChangeDataVO.java index e108b8a1..7de92462 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/entity/vo/ESChangeDataVO.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/entity/vo/ESChangeDataVO.java @@ -6,6 +6,8 @@ import com.jero.modules.activiti.process.esChange.entity.ProcessEsChange; import com.jero.modules.activiti.process.esRecheck.entity.vo.ESRecheckFlowUserVO; import lombok.Data; +import java.util.Map; + /** * @author: Mzaxd @@ -21,5 +23,5 @@ public class ESChangeDataVO { ProcessEsChange data; @JsonProperty("flowUser") - ESChangeFlowUserVO flowUser; + Map flowUser; } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/entity/vo/ESChangeFlowUserVO.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/entity/vo/ESChangeFlowUserVO.java deleted file mode 100644 index 8834bfe7..00000000 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/entity/vo/ESChangeFlowUserVO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.jero.modules.activiti.process.esChange.entity.vo; - -import com.jero.common.aspect.annotation.Dict; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author: Mzaxd - * @Date: 2023/10/9 16:57 - */ -@Data -public class ESChangeFlowUserVO { - - @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname") - @ApiModelProperty("主起草人") - private String mainDraftUser; - - // 主起草人主管级领导 - @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname") - @ApiModelProperty("主起草人主管级领导") - private String mainDraftUserLeader; - - // 主起草人主管级领导上级领导 - @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname") - @ApiModelProperty("主起草人主管级领导上级领导") - private String mainDraftUserLeaderLeader; - - // 标准化审批人 - @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname") - @ApiModelProperty("标准化审批人") - private String standardizationUser; - - // 相关人员 - @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname") - @ApiModelProperty("相关人员") - private String relatedUser; -} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/service/ProcessEsChangeService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/service/ProcessEsChangeService.java index b051f2ea..765df186 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/service/ProcessEsChangeService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/service/ProcessEsChangeService.java @@ -17,5 +17,5 @@ public interface ProcessEsChangeService extends IService { ESChangeDataVO getHandleData(String taskId); - void approvalInitChange(ESChangeDataVO changeData, boolean pass); + void approval(ESChangeDataVO changeData, boolean pass); } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/service/impl/ProcessEsChangeServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/service/impl/ProcessEsChangeServiceImpl.java index c210ad9a..e331b2e3 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/service/impl/ProcessEsChangeServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/service/impl/ProcessEsChangeServiceImpl.java @@ -7,14 +7,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.exception.JeroBootException; import com.jero.modules.activiti.entity.ProcessAll; -import com.jero.modules.activiti.entity.ProcessNode; import com.jero.modules.activiti.enums.ProcessTypeEnum; import com.jero.modules.activiti.process.common.entity.CommonVO; import com.jero.modules.activiti.process.common.entity.ProcessDraft; 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.ProcessDraftService; -import com.jero.modules.activiti.process.esChange.entity.vo.ESChangeFlowUserVO; import com.jero.modules.activiti.process.esChange.entity.ProcessEsChange; import com.jero.modules.activiti.process.esChange.entity.vo.ESChangeDataVO; import com.jero.modules.activiti.process.esChange.service.ProcessEsChangeService; @@ -31,18 +29,17 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.*; -import java.util.stream.Collectors; /** -* @author ThinkBook -* @description 针对表【process_es_change(企业标准)】的数据库操作Service实现 -* @createDate 2023-10-29 21:00:13 -*/ + * @author ThinkBook + * @description 针对表【process_es_change(企业标准)】的数据库操作Service实现 + * @createDate 2023-10-29 21:00:13 + */ @Slf4j @Transactional(rollbackFor = JeroBootException.class) @Service public class ProcessEsChangeServiceImpl extends ServiceImpl - implements ProcessEsChangeService{ + implements ProcessEsChangeService { @Resource private ProcessAllService processAllService; @@ -67,7 +64,7 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl variables = changeData.getFlowUser(); // 设置流程变量 - Map variables = this.setVariables(flowUser); + Map actVariables = this.setVariables(variables); // 启动流程 - ProcessInstance processInstance = actFlowCommonService.startProcess(processDefinitionKey, variables); + ProcessInstance processInstance = actFlowCommonService.startProcess(processDefinitionKey, actVariables); // 获取流程实例ID String processDefinitionId = processInstance.getProcessDefinitionId(); String processInstanceId = processInstance.getId(); // 手动设置所有流程变量 - actFlowCommonService.setProcessVariables(processInstanceId, variables); + actFlowCommonService.setProcessVariables(processInstanceId, actVariables); // 自动完成第一个任务 actFlowCommonService.autoCompleteFirstTask(userId, processInstanceId, processDefinitionId, common); // 设置流程实例Id @@ -101,27 +98,24 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl setVariables(ESChangeFlowUserVO flowUser) { - return new HashMap<>(this.setUserVariables(flowUser)); - } - - public Map setUserVariables(ESChangeFlowUserVO flowUser) { - HashMap map = new HashMap<>(); - // 使用一个通用方法来只在不为空时添加键值对 - actFlowCommonService.putIfNotNull(map, "mainDraftUser", flowUser.getMainDraftUser()); - actFlowCommonService.putIfNotNull(map, "relatedUserList", Optional.ofNullable(flowUser.getRelatedUser()).map(s -> Arrays.asList(s.split(","))).orElse(null)); - actFlowCommonService.putIfNotNull(map, "mainDraftUserLeader", flowUser.getMainDraftUserLeader()); - actFlowCommonService.putIfNotNull(map, "mainDraftUserLeaderLeader", flowUser.getMainDraftUserLeaderLeader()); - actFlowCommonService.putIfNotNull(map, "standardizationUser", flowUser.getStandardizationUser()); - return map; + public Map setVariables(Map flowUser) { + Map actVariables = new HashMap<>(); + String relatedUsers = (String) flowUser.get("relatedUserList"); + // 将relatedUserList从逗号拼接转为List + List relatedUserList = StrUtil.split(relatedUsers, ','); + actFlowCommonService.putIfNotNull(actVariables, "relatedUserList", relatedUserList); + for (Map.Entry entry : flowUser.entrySet()) { + String key = entry.getKey(); + if (!key.equals("relatedUserList")) { + actVariables.put(key, entry.getValue()); + } + } + actVariables.put("pass", true); + return actVariables; } private Map getUserMap(Map variables) { variables.remove("pass"); - // 转成逗号拼接 - variables.put("relatedUserList", Optional.ofNullable((List) variables.get("relatedUserList")) - .map(list -> String.join(",", list)) - .orElse("")); return variables; } @@ -186,50 +180,23 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl nodeList = processNodeService.getNodeList(processDefinitionId, processInstanceId); - ESChangeFlowUserVO flowUser = new ESChangeFlowUserVO(); - Map userMap = nodeList.stream().collect(Collectors.toMap(ProcessNode::getVariableName, node -> node)); - Optional.ofNullable(userMap.get("mainDraftUser")).ifPresent(node -> flowUser.setMainDraftUser(node.getLinkUserIds())); - Optional.ofNullable(userMap.get("relatedUserList")).ifPresent(node -> flowUser.setRelatedUser(node.getLinkUserIds())); - Optional.ofNullable(userMap.get("mainDraftUserLeader")).ifPresent(node -> flowUser.setMainDraftUserLeader(node.getLinkUserIds())); - Optional.ofNullable(userMap.get("standardizationUser")).ifPresent(node -> flowUser.setStandardizationUser(node.getLinkUserIds())); - Optional.ofNullable(userMap.get("mainDraftUserLeaderLeader")).ifPresent(node -> flowUser.setMainDraftUserLeaderLeader(node.getLinkUserIds())); - return flowUser; - } - @Override - public void approvalInitChange(ESChangeDataVO changeData, boolean pass) { + public void approval(ESChangeDataVO changeData, boolean pass) { String userId = UserUtils.getUserId(); CommonVO commonVO = changeData.getCommon(); - ProcessEsChange data = changeData.getData(); String taskId = commonVO.getTaskId(); if (StrUtil.isBlank(taskId) && !actFlowCommonService.taskExists(taskId)) { throw new JeroBootException("taskId为空或任务不存在"); } String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId); - String processDefinitionId = actFlowCommonService.getProcessDefId(processInstanceId); - if (pass) { - if (data != null) { - saveOrUpdate(data); - ESChangeFlowUserVO flowUserInfoVO = changeData.getFlowUser(); - Map variables = this.setVariables(flowUserInfoVO); - processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(variables)); - actFlowCommonService.setProcessVariables(processInstanceId, variables); - } - runtimeService.setVariable(processInstanceId, "pass", true); - } else { - // 设置流程变量 - runtimeService.setVariable(processInstanceId, "pass", false); - } + // 设置流程变量 + runtimeService.setVariable(processInstanceId, "pass", pass); // 更新审批表为完成,填充数据 actFlowCommonService.updateApprovalInfo(commonVO, taskId, pass); - //审批节点 + // 审批节点 actFlowCommonService.completeTask(taskId, userId); } }