From aab175a9d62cec9f270b5869342edd87f7b5f816 Mon Sep 17 00:00:00 2001 From: "ys.git" <18439391935@163.com> Date: Mon, 15 Dec 2025 08:45:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=85=E5=8A=9E=E4=B8=BB=E9=A2=98=E6=9B=B4?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/YcTaskResultController.java | 36 ++++ .../pojo/dto/YcCompletedResultDTO.java | 5 + .../pojo/dto/YcInitiatorResultDTO.java | 5 + .../pojo/dto/YcTodoTaskResultDTO.java | 5 + .../impl/ActivitiProcessServiceImpl.java | 178 +++++++++--------- .../impl/EngineParamDetailServiceImpl.java | 4 +- .../service/impl/TodoTaskServiceImpl.java | 8 +- 7 files changed, 146 insertions(+), 95 deletions(-) create mode 100644 src/main/java/com/xdap/self_development/controller/YcTaskResultController.java create mode 100644 src/main/java/com/xdap/self_development/pojo/dto/YcCompletedResultDTO.java create mode 100644 src/main/java/com/xdap/self_development/pojo/dto/YcInitiatorResultDTO.java create mode 100644 src/main/java/com/xdap/self_development/pojo/dto/YcTodoTaskResultDTO.java diff --git a/src/main/java/com/xdap/self_development/controller/YcTaskResultController.java b/src/main/java/com/xdap/self_development/controller/YcTaskResultController.java new file mode 100644 index 0000000..6570b3d --- /dev/null +++ b/src/main/java/com/xdap/self_development/controller/YcTaskResultController.java @@ -0,0 +1,36 @@ +package com.xdap.self_development.controller; + + +import com.definesys.mpaas.common.http.Response; +import com.xdap.self_development.pojo.TodoTaskPojo; +import com.xdap.self_development.pojo.dto.YcCompletedResultDTO; +import com.xdap.self_development.pojo.dto.YcInitiatorResultDTO; +import com.xdap.self_development.pojo.dto.YcTodoTaskResultDTO; +import com.xdap.self_development.service.TodoTaskService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/custom/YcTaskResult") +public class YcTaskResultController { + + @Autowired + TodoTaskService todoTaskService; + + //返回待办给玉柴云 + Response returnTodoTask(){ + YcTodoTaskResultDTO dto = new YcTodoTaskResultDTO(); + return Response.ok().data(dto); + } + //返回经办(已办)给玉柴云 + Response returnCompleted(){ + YcCompletedResultDTO dto = new YcCompletedResultDTO(); + return Response.ok().data(dto); + } + //返回申请人所发起的给玉柴云 + Response returnInitiator(){ + YcInitiatorResultDTO dto = new YcInitiatorResultDTO(); + return Response.ok().data(dto); + } +} diff --git a/src/main/java/com/xdap/self_development/pojo/dto/YcCompletedResultDTO.java b/src/main/java/com/xdap/self_development/pojo/dto/YcCompletedResultDTO.java new file mode 100644 index 0000000..273e9cd --- /dev/null +++ b/src/main/java/com/xdap/self_development/pojo/dto/YcCompletedResultDTO.java @@ -0,0 +1,5 @@ +package com.xdap.self_development.pojo.dto; + +//已办 +public class YcCompletedResultDTO { +} diff --git a/src/main/java/com/xdap/self_development/pojo/dto/YcInitiatorResultDTO.java b/src/main/java/com/xdap/self_development/pojo/dto/YcInitiatorResultDTO.java new file mode 100644 index 0000000..1f1be5c --- /dev/null +++ b/src/main/java/com/xdap/self_development/pojo/dto/YcInitiatorResultDTO.java @@ -0,0 +1,5 @@ +package com.xdap.self_development.pojo.dto; + +//发起人 +public class YcInitiatorResultDTO { +} diff --git a/src/main/java/com/xdap/self_development/pojo/dto/YcTodoTaskResultDTO.java b/src/main/java/com/xdap/self_development/pojo/dto/YcTodoTaskResultDTO.java new file mode 100644 index 0000000..92a4530 --- /dev/null +++ b/src/main/java/com/xdap/self_development/pojo/dto/YcTodoTaskResultDTO.java @@ -0,0 +1,5 @@ +package com.xdap.self_development.pojo.dto; + +//待办 +public class YcTodoTaskResultDTO { +} diff --git a/src/main/java/com/xdap/self_development/service/impl/ActivitiProcessServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/ActivitiProcessServiceImpl.java index 8ef5021..7f6480a 100644 --- a/src/main/java/com/xdap/self_development/service/impl/ActivitiProcessServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/ActivitiProcessServiceImpl.java @@ -4,6 +4,7 @@ import com.definesys.mpaas.query.MpaasQueryFactory; import com.xdap.api.moudle.user.pojo.XdapUsers; import com.xdap.self_development.controller.request.ApprovalByPlatformRequest; import com.xdap.self_development.controller.request.ApprovalNodeRequest; +import com.xdap.self_development.enums.ApprovalOrderEnum; import com.xdap.self_development.enums.CurrentNodeEnum; import com.xdap.self_development.enums.ParamOperation; import com.xdap.self_development.enums.ParamValueVersionEnum; @@ -117,6 +118,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { return; } + String userId = approvalNodeRequest.getUserId(); // 1. 获取第一个审批环节(按nodeOrder排序取最小) ApprovalNodeDTO firstNode = approvalNodeRequest.getNodeList().stream() .min(Comparator.comparingInt(ApprovalNodeDTO::getNodeOrder)) @@ -129,7 +131,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { paramList = engineParamDetailService.selectByModelNewVersion(modelId) .stream() .filter(x -> ParamOperation.UPDATE.toString() - .equals(x.getOperation())).collect(Collectors.toList()); + .equals(x.getOperation()) && userId.equals(x.getLastUpdatedBy() == null ? "" : x.getLastUpdatedBy())).collect(Collectors.toList()); if (ObjectUtils.isEmpty(paramList)) { throw new RuntimeException(); } @@ -140,98 +142,97 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { String engineModelId = approvalNodeRequest.getModelId(); DataEntryEngineModelPojo modelPojoOld = dataEntryEngineModelService.selectBymodelId(engineModelId); //获取提交人 - String userId = approvalNodeRequest.getUserId(); XdapUsers XdapUsers = xdapDeptUsersService.selectUserByID(userId); String createBy = ObjectUtils.isNotEmpty(XdapUsers) ? XdapUsers.getUsername() : null; //根据子系统分别创建审批流 - Map> listBySubSystem = paramList.stream().collect(Collectors.groupingBy(EngineParamDetailPojo::getSubsystemName)); - for (Map.Entry> stringListEntry : listBySubSystem.entrySet()) { - String approvalId = UUID.randomUUID().toString(); - //子系统 - String subSystem = stringListEntry.getKey(); +// Map> listBySubSystem = paramList.stream().collect(Collectors.groupingBy(EngineParamDetailPojo::getSubsystemName)); +// for (Map.Entry> stringListEntry : listBySubSystem.entrySet()) { + String approvalId = UUID.randomUUID().toString(); + //子系统 +// String subSystem = stringListEntry.getKey(); - EngineReviewListPojo engineReviewListPojo = new EngineReviewListPojo(); - engineReviewListPojo.setId(approvalId); - engineReviewListPojo.setModelId(engineModelId); - engineReviewListPojo.setModelName(modelPojoOld.getModelName()); - engineReviewListPojo.setYcOrOth(modelPojoOld.getYcOrOth()); - engineReviewListPojo.setProcessTopic(processTopic); - engineReviewListPojo.setSubsystemName(subSystem); - engineReviewListPojo.setStatusCode(ParamValueVersionEnum.UNDER.getCode()); - engineReviewListPojo.setApplicant(userId); - engineReviewListPojo.setStatusDescription(ParamValueVersionEnum.UNDER.getDesc()); - engineReviewListPojo.setNodeName(firstNode.getNodeName()); - engineReviewListPojo.setApproverPersons(String.join(",", firstNode.getAssignees())); - engineReviewListPojo.setReviewComment(approvalNodeRequest.getComment()); - engineReviewListPojo.setCreationDate(new Date()); - engineReviewListPojo.setCreatedBy(userId); - sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(engineReviewListPojo); + EngineReviewListPojo engineReviewListPojo = new EngineReviewListPojo(); + engineReviewListPojo.setId(approvalId); + engineReviewListPojo.setModelId(engineModelId); + engineReviewListPojo.setModelName(modelPojoOld.getModelName()); + engineReviewListPojo.setYcOrOth(modelPojoOld.getYcOrOth()); + engineReviewListPojo.setProcessTopic(processTopic); +// engineReviewListPojo.setSubsystemName(subSystem); + engineReviewListPojo.setStatusCode(ParamValueVersionEnum.UNDER.getCode()); + engineReviewListPojo.setApplicant(userId); + engineReviewListPojo.setStatusDescription(ParamValueVersionEnum.UNDER.getDesc()); + engineReviewListPojo.setNodeName(firstNode.getNodeName()); + engineReviewListPojo.setApproverPersons(String.join(",", firstNode.getAssignees())); + engineReviewListPojo.setReviewComment(approvalNodeRequest.getComment()); + engineReviewListPojo.setCreationDate(new Date()); + engineReviewListPojo.setCreatedBy(userId); + sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(engineReviewListPojo); - //根据子系统分发待办 - for (String assigneeId : firstNode.getAssignees()) { + //分发待办 + for (String assigneeId : firstNode.getAssignees()) { - TodoTaskPojo todoTaskPojo = new TodoTaskPojo(); - todoTaskPojo.setDocumentNo(approvalId); - todoTaskPojo.setProcessTitle(subSystem); - todoTaskPojo.setCurrentNode(CurrentNodeEnum.DATAAPPROVAL.getDesc()); - todoTaskPojo.setModelId(engineModelId); - todoTaskPojo.setVersionNumber(modelPojoOld.getVersionNumber()); - todoTaskPojo.setOwnerId(assigneeId); - todoTaskPojo.setDataType(modelPojoOld.getYcOrOth()); - todoTaskPojo.setModelName(modelPojoOld.getModelName()); - todoTaskPojo.setCreatedById(userId); - todoTaskPojo.setCreatedBy(createBy); - todoTaskPojo.setCreationDate(new Date()); - todoTaskPojo.setIsDelete(0); - sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(todoTaskPojo); - - } - //将参数绑定到该机型审批流程中 - for (EngineParamDetailPojo engineParamDetailPojo : stringListEntry.getValue()) { - sw.buildFromDatasource("xdap_app_223770822127386625") - .update("version_status", ParamValueVersionEnum.UNDER.getCode()) - .update("approval_id", approvalId) - .update("last_update_date", new Date()) - .eq("id", engineParamDetailPojo.getId()) - .doUpdate(EngineParamDetailPojo.class); - } - - boolean b = false; - // 保存审批环节配置 - for (ApprovalNodeDTO nodeDTO : approvalNodeRequest.getNodeList()) { - - if (ObjectUtils.isEmpty(nodeDTO.getAssignees())) { - b = true; - continue; - } - Integer nodeOrder = nodeDTO.getNodeOrder(); - if (b) { - nodeOrder = nodeOrder - 1; - } - ApprovalConfigPojo config = new ApprovalConfigPojo(); - config.setApprovalId(approvalId); - config.setNodeName(nodeDTO.getNodeName()); - config.setAssignees(String.join(",", nodeDTO.getAssignees())); - config.setNodeOrder(nodeOrder); - config.setCreatedBy(userId); - config.setCreationDate(new Date()); - sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(config); - b = false; - } - //记录审批提交操作 - ParamApprovalRecordPojo record = new ParamApprovalRecordPojo(); - record.setApprovalId(approvalId); - record.setAssignee(userId); - record.setOperator("提交"); - record.setNodeName("提交"); - record.setNodeOrder(0); - record.setOperateTime(new Date()); - record.setCreationDate(new Date()); - record.setApprovalComment("提交流程"); - sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(record); + TodoTaskPojo todoTaskPojo = new TodoTaskPojo(); + todoTaskPojo.setDocumentNo(approvalId); + todoTaskPojo.setProcessTitle(CurrentNodeEnum.DATAAPPROVAL.getDesc()); + todoTaskPojo.setCurrentNode(ApprovalOrderEnum.PROOFREAD.getDesc()); + todoTaskPojo.setModelId(engineModelId); + todoTaskPojo.setVersionNumber(modelPojoOld.getVersionNumber()); + todoTaskPojo.setOwnerId(assigneeId); + todoTaskPojo.setDataType(modelPojoOld.getYcOrOth()); + todoTaskPojo.setModelName(modelPojoOld.getModelName()); + todoTaskPojo.setCreatedById(userId); + todoTaskPojo.setCreatedBy(createBy); + todoTaskPojo.setCreationDate(new Date()); + todoTaskPojo.setIsDelete(0); + sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(todoTaskPojo); } + //将参数绑定到该机型审批流程中 + for (EngineParamDetailPojo engineParamDetailPojo : paramList) { + sw.buildFromDatasource("xdap_app_223770822127386625") + .update("version_status", ParamValueVersionEnum.UNDER.getCode()) + .update("approval_id", approvalId) + .update("last_update_date", new Date()) + .eq("id", engineParamDetailPojo.getId()) + .doUpdate(EngineParamDetailPojo.class); + } + + boolean b = false; + // 保存审批环节配置 + for (ApprovalNodeDTO nodeDTO : approvalNodeRequest.getNodeList()) { + + if (ObjectUtils.isEmpty(nodeDTO.getAssignees())) { + b = true; + continue; + } + Integer nodeOrder = nodeDTO.getNodeOrder(); + if (b) { + nodeOrder = nodeOrder - 1; + } + ApprovalConfigPojo config = new ApprovalConfigPojo(); + config.setApprovalId(approvalId); + config.setNodeName(nodeDTO.getNodeName()); + config.setAssignees(String.join(",", nodeDTO.getAssignees())); + config.setNodeOrder(nodeOrder); + config.setCreatedBy(userId); + config.setCreationDate(new Date()); + sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(config); + b = false; + } + //记录审批提交操作 + ParamApprovalRecordPojo record = new ParamApprovalRecordPojo(); + record.setApprovalId(approvalId); + record.setAssignee(userId); + record.setOperator("提交"); + record.setNodeName("提交"); + record.setNodeOrder(0); + record.setOperateTime(new Date()); + record.setCreationDate(new Date()); + record.setApprovalComment("提交流程"); + sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(record); + +// } } @@ -347,8 +348,8 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { for (String nextAssId : Arrays.asList(approvalConfigPojo1.getAssignees().split(","))) { TodoTaskPojo todoTaskPojo = new TodoTaskPojo(); todoTaskPojo.setDocumentNo(approvalId); - todoTaskPojo.setProcessTitle(reviewListPojo.getSubsystemName()); - todoTaskPojo.setCurrentNode(CurrentNodeEnum.DATAAPPROVAL.getDesc()); + todoTaskPojo.setProcessTitle(CurrentNodeEnum.DATAAPPROVAL.getDesc()); + todoTaskPojo.setCurrentNode(approvalConfigPojo1.getNodeName()); todoTaskPojo.setModelId(reviewListPojo.getModelId()); todoTaskPojo.setVersionNumber(modelPojo.getVersionNumber()); todoTaskPojo.setOwnerId(nextAssId); @@ -359,7 +360,6 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { todoTaskPojo.setCreationDate(new Date()); todoTaskPojo.setIsDelete(0); sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(todoTaskPojo); - } //更新审批流到下个审批节点 sw.buildFromDatasource("xdap_app_223770822127386625") @@ -438,8 +438,8 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { for (String remainingAssignee : remainingAssignees) { TodoTaskPojo todoTaskPojo = new TodoTaskPojo(); todoTaskPojo.setDocumentNo(approvalId); - todoTaskPojo.setProcessTitle(reviewListPojo.getSubsystemName()); - todoTaskPojo.setCurrentNode(CurrentNodeEnum.DATAAPPROVAL.getDesc()); + todoTaskPojo.setProcessTitle(CurrentNodeEnum.DATAAPPROVAL.getDesc()); + todoTaskPojo.setCurrentNode(reviewListPojo.getNodeName()); todoTaskPojo.setModelId(reviewListPojo.getModelId()); todoTaskPojo.setVersionNumber(modelPojo.getVersionNumber()); todoTaskPojo.setOwnerId(remainingAssignee); diff --git a/src/main/java/com/xdap/self_development/service/impl/EngineParamDetailServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/EngineParamDetailServiceImpl.java index 260a0a7..ac2ec5f 100644 --- a/src/main/java/com/xdap/self_development/service/impl/EngineParamDetailServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/EngineParamDetailServiceImpl.java @@ -509,8 +509,8 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { TodoTaskPojo todoTaskPojo = new TodoTaskPojo(); todoTaskPojo.setCreatedById(userID); todoTaskPojo.setDocumentNo(UUID.randomUUID().toString()); - todoTaskPojo.setProcessTitle("填写发动机参数值"); - todoTaskPojo.setCurrentNode(CurrentNodeEnum.REPAIR.getDesc()); + todoTaskPojo.setProcessTitle(CurrentNodeEnum.REPAIR.getDesc()); + todoTaskPojo.setCurrentNode("待维护"); todoTaskPojo.setStatusCode(null); todoTaskPojo.setModelName(modelPojo.getModelName()); todoTaskPojo.setModelId(modelPojo.getId()); diff --git a/src/main/java/com/xdap/self_development/service/impl/TodoTaskServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/TodoTaskServiceImpl.java index d30fb95..d8ab177 100644 --- a/src/main/java/com/xdap/self_development/service/impl/TodoTaskServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/TodoTaskServiceImpl.java @@ -140,8 +140,8 @@ public class TodoTaskServiceImpl implements TodoTaskService { TodoTaskPojo todoTaskPojo = new TodoTaskPojo(); todoTaskPojo.setCreatedById(userID); todoTaskPojo.setDocumentNo(UUID.randomUUID().toString()); - todoTaskPojo.setProcessTitle("管理员分发责任人"); - todoTaskPojo.setCurrentNode(CurrentNodeEnum.JOBSPLIT.getDesc()); + todoTaskPojo.setProcessTitle(CurrentNodeEnum.JOBSPLIT.getDesc()); + todoTaskPojo.setCurrentNode("待分解"); todoTaskPojo.setStatusCode(null/*String.valueOf(ParamValueVersionEnum.DRAFT.getCode())*/); todoTaskPojo.setModelName(ObjectUtils.isNotEmpty(modelPojo) ? modelPojo.getModelName() : ""); todoTaskPojo.setModelId(modelId); @@ -194,8 +194,8 @@ public class TodoTaskServiceImpl implements TodoTaskService { TodoTaskPojo todoTaskPojo = new TodoTaskPojo(); todoTaskPojo.setCreatedById(todoReturnRequest.getUserID()); todoTaskPojo.setDocumentNo(UUID.randomUUID().toString()); - todoTaskPojo.setProcessTitle("填写人退回"); - todoTaskPojo.setCurrentNode(CurrentNodeEnum.JOBSPLIT.getDesc()); + todoTaskPojo.setProcessTitle(CurrentNodeEnum.JOBSPLIT.getDesc()); + todoTaskPojo.setCurrentNode("待分解"); todoTaskPojo.setStatusCode(null/*String.valueOf(ParamValueVersionEnum.DRAFT.getCode())*/); todoTaskPojo.setModelName(todoTaskPojo1.getModelName()); todoTaskPojo.setModelId(todoTaskPojo1.getModelId());