From 2f58e702e51b590aeedfa8ef2d8b807ec9e940e7 Mon Sep 17 00:00:00 2001 From: zjh <15615273395@163.com> Date: Fri, 16 Jan 2026 08:48:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=E5=A4=A7=E9=83=A8?= =?UTF-8?q?=E5=88=86=E4=BF=AE=E6=94=B93.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TemplateApprovalController.java | 18 +++++ .../controller/form/UpdateNodeForm.java | 19 +++++ .../request/ModelComparisonExportRequest.java | 1 + .../listener/EngineModelListener.java | 1 + .../service/ActivitiProcessService.java | 3 +- .../service/BenchmarkingReportService.java | 2 +- .../service/EngineParamDetailService.java | 2 + .../service/TemplateApprovalService.java | 6 +- .../impl/ActivitiProcessServiceImpl.java | 11 ++- .../impl/BenchmarkingReportServiceImpl.java | 10 ++- .../impl/DataEntryEngineModelServiceImpl.java | 3 +- .../impl/EngineParamDetailServiceImpl.java | 50 ++++++++++++ .../service/impl/TcDataQueryServiceImpl.java | 40 ++++++++-- .../impl/TemplateApprovalServiceImpl.java | 79 +++++++++++++++++-- .../service/impl/TodoTaskServiceImpl.java | 16 ++-- 15 files changed, 231 insertions(+), 30 deletions(-) create mode 100644 src/main/java/com/xdap/self_development/controller/form/UpdateNodeForm.java diff --git a/src/main/java/com/xdap/self_development/controller/TemplateApprovalController.java b/src/main/java/com/xdap/self_development/controller/TemplateApprovalController.java index 43b016d..a7e8d89 100644 --- a/src/main/java/com/xdap/self_development/controller/TemplateApprovalController.java +++ b/src/main/java/com/xdap/self_development/controller/TemplateApprovalController.java @@ -27,6 +27,24 @@ public class TemplateApprovalController { @Resource private RuntimeDatasourceService runtimeDatasourceService; + // 获取可修改节点 + @GetMapping("/getEditableNodes") + public Response getEditableNodes( + @NotBlank @RequestParam String flowId + ) { + List nodes = templateApprovalService.getEditableNodes(flowId); + return Response.ok().data(nodes); + } + + // 修改节点 + @PostMapping("/updateNode") + public Response updateNode( + @RequestBody UpdateNodeForm form + ) { + templateApprovalService.updateNode(form); + return Response.ok(); + } + // 修改流程主题 @GetMapping("/updateFlowTitle") public Response updateFlowTitle( diff --git a/src/main/java/com/xdap/self_development/controller/form/UpdateNodeForm.java b/src/main/java/com/xdap/self_development/controller/form/UpdateNodeForm.java new file mode 100644 index 0000000..8265a35 --- /dev/null +++ b/src/main/java/com/xdap/self_development/controller/form/UpdateNodeForm.java @@ -0,0 +1,19 @@ +package com.xdap.self_development.controller.form; + +import com.xdap.self_development.pojo.dto.ApprovalNodeDTO; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import java.util.List; + +@Data +public class UpdateNodeForm { + @NotBlank(message = "用户不能为空") + private String userId; + @NotBlank(message = "流程不能为空") + private String flowId; + // 审批环节配置列表 + @NotEmpty(message = "环节不能为空") + private List nodeList; +} diff --git a/src/main/java/com/xdap/self_development/controller/request/ModelComparisonExportRequest.java b/src/main/java/com/xdap/self_development/controller/request/ModelComparisonExportRequest.java index 27fc596..ac966a1 100644 --- a/src/main/java/com/xdap/self_development/controller/request/ModelComparisonExportRequest.java +++ b/src/main/java/com/xdap/self_development/controller/request/ModelComparisonExportRequest.java @@ -9,4 +9,5 @@ public class ModelComparisonExportRequest { String userID; List modelIds; List subsystemParts; + List parameterIds; } diff --git a/src/main/java/com/xdap/self_development/listener/EngineModelListener.java b/src/main/java/com/xdap/self_development/listener/EngineModelListener.java index 00b8fe5..ad6e219 100644 --- a/src/main/java/com/xdap/self_development/listener/EngineModelListener.java +++ b/src/main/java/com/xdap/self_development/listener/EngineModelListener.java @@ -167,6 +167,7 @@ public class EngineModelListener implements ReadListener engineParamDetailPojos, String userID); List selectAllByNewVersion(); + List selectNeedFillByNewVersion(); + List selectAllAndTcByNewVersion(); /** * 根据型号查询最新的引擎参数详情列表 diff --git a/src/main/java/com/xdap/self_development/service/TemplateApprovalService.java b/src/main/java/com/xdap/self_development/service/TemplateApprovalService.java index 37556e7..805170e 100644 --- a/src/main/java/com/xdap/self_development/service/TemplateApprovalService.java +++ b/src/main/java/com/xdap/self_development/service/TemplateApprovalService.java @@ -43,7 +43,7 @@ public interface TemplateApprovalService { boolean checkNodeComplete(ApprovalFlow flow, ApprovalConfigPojo node); - void updateTasks(ApprovalFlow flow, String status, Integer enableReturn); + void updateTasks(ApprovalFlow flow, String status, Integer enableReturn, ApprovalConfigPojo currentNode); void addNodeTodo(ApprovalFlow flow, ApprovalConfigPojo node, Template template, String createBy, Integer enableReturn); @@ -54,4 +54,8 @@ public interface TemplateApprovalService { boolean getIsDirect(String flowId); void updateFlowTitle(String flowId, String title); + + List getEditableNodes(@NotBlank String flowId); + + void updateNode(UpdateNodeForm form); } 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 940573b..f68df74 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 @@ -506,17 +506,19 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { bd.getBusinessDatabase().doInsert(todoTask); } // 更新发起和已办 - myself.updateTasks(flow, status.getDesc(), 0); + myself.updateTasks(flow, status.getDesc(), 0, node); } public void updateTasks( EngineReviewListPojo flow, String status, - Integer enableReturn + Integer enableReturn, + ApprovalConfigPojo currentNode ) { // 更新已发起的任务状态 bd.getBusinessDatabase() .update("current_node", status) .update("last_update_date", new Date()) + .update("current_processor", currentNode == null ? "" : currentNode.getAssignees()) .eq("document_no", flow.getId()) .update("enable_return", enableReturn) .doUpdate(InitiatedTaskPojo.class); @@ -524,6 +526,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { bd.getBusinessDatabase() .update("current_node", status) .update("last_update_date", new Date()) + .update("current_processor", currentNode == null ? "" : currentNode.getAssignees()) .eq("document_no", flow.getId()) .doUpdate(CompletedTaskPojo.class); } @@ -553,7 +556,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { } else { // 待办环节修改 - myself.updateTasks(flow, ParamValueVersionEnum.PASSED.getDesc(), 0); + myself.updateTasks(flow, ParamValueVersionEnum.PASSED.getDesc(), 0, null); // 所有环节完成 DataEntryEngineModelPojo modelPojos = bd.getBusinessDatabase() .eq("id", flow.getModelId()) @@ -645,7 +648,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { todoTaskPojo.setIsDelete(0); bd.getBusinessDatabase().doInsert(todoTaskPojo); } - myself.updateTasks(flow, node.getNodeName(), enableReturn); + myself.updateTasks(flow, node.getNodeName(), enableReturn, node); } @Override diff --git a/src/main/java/com/xdap/self_development/service/impl/BenchmarkingReportServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/BenchmarkingReportServiceImpl.java index 23b7bf8..94f09d7 100644 --- a/src/main/java/com/xdap/self_development/service/impl/BenchmarkingReportServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/BenchmarkingReportServiceImpl.java @@ -873,7 +873,7 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService .update("status", report.getStatus()) .doUpdate(BenchmarkingReport.class); // 待办环节修改 - myself.updateTasks(flow, "已完成", 0); + myself.updateTasks(flow, "已完成", 0, null); } else { flow.setCurrentNode(nextNode.getNodeOrder()); myself.addNodeTodo(flow, nextNode, report, userId, 0); @@ -916,7 +916,7 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService } // 更新已办和发起的状态 - myself.updateTasks(flow, node.getNodeName(), enableReturn); + myself.updateTasks(flow, node.getNodeName(), enableReturn, node); if (!list.isEmpty()) { bd.getBusinessDatabase().doBatchInsert(list); @@ -972,18 +972,20 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService todoTask.setCurrentProcessor(JSON.toJSONString(Collections.singletonList(flow.getCreateBy()))); bd.getBusinessDatabase().doInsert(todoTask); } - myself.updateTasks(flow, Objects.equals(report.getStatus(), "RETURNED") ? "已撤回" : "已拒绝", 0); + myself.updateTasks(flow, Objects.equals(report.getStatus(), "RETURNED") ? "已撤回" : "已拒绝", 0, node); } - public void updateTasks(ApprovalFlow flow, String status, Integer enableReturn) { + public void updateTasks(ApprovalFlow flow, String status, Integer enableReturn, ApprovalConfigPojo currentNode) { // 更新已办和发起的节点状态 bd.getBusinessDatabase() .eq("document_no", flow.getId()) + .update("current_processor", currentNode == null ? "" : currentNode.getAssignees()) .update("current_node", status) .doUpdate(CompletedTaskPojo.class); bd.getBusinessDatabase() .eq("document_no", flow.getId()) .update("current_node", status) + .update("current_processor", currentNode == null ? "" : currentNode.getAssignees()) .update("enable_return", enableReturn) .doUpdate(InitiatedTaskPojo.class); } diff --git a/src/main/java/com/xdap/self_development/service/impl/DataEntryEngineModelServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/DataEntryEngineModelServiceImpl.java index 5bd23b7..e8d7534 100644 --- a/src/main/java/com/xdap/self_development/service/impl/DataEntryEngineModelServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/DataEntryEngineModelServiceImpl.java @@ -339,6 +339,7 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ engineParamDetailPojo.setPartsName(parameter.getPartsName()); engineParamDetailPojo.setParameterName(parameter.getParameterName()); engineParamDetailPojo.setDepartment(parameter.getDepartment()); + engineParamDetailPojo.setParameterSource(parameter.getParameterSource()); engineParamDetailPojo.setMajorVersion(newVersionNum); engineParamDetailPojo.setVersionStatus(ParamValueVersionEnum.DRAFT.getCode()); engineParamDetailPojo.setCreatedBy(ObjectUtils.isNotEmpty(xdapUsersPojo) ? xdapUsersPojo.getId() : null); @@ -472,7 +473,7 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ } sw.buildFromDatasource("xdap_app_223770822127386625") - .eq("model_id", modelId) + .eq("id", modelId) .doDelete(DataEntryEngineModelPojo.class); } 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 86102f3..c83b547 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 @@ -344,6 +344,7 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { .eq("version_status", code) .eq("subsystem_name", subsystem) .eq("parts_name", type) + .eq("parameter_source", "数据平台手工录入") .doQuery(EngineParamDetailPojo.class)); } else if (ObjectUtils.isNotEmpty(resId)) { //若传入责任人则查询责任人需要分发的参数 @@ -353,6 +354,7 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { .eq("version_status", code) .eq("subsystem_name", subsystem) .eq("parts_name", type) + .eq("parameter_source", "数据平台手工录入") .doQuery(EngineParamDetailPojo.class)); } else { detailPojos.addAll(sw.buildFromDatasource("xdap_app_223770822127386625") @@ -360,6 +362,7 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { .eq("version_status", code) .eq("subsystem_name", subsystem) .eq("parts_name", type) + .eq("parameter_source", "数据平台手工录入") .doQuery(EngineParamDetailPojo.class)); // 加权限先注释 List pojoList = sw.buildFromDatasource("xdap_app_223770822127386625") // .eq("engine_model_id", engineModelID) @@ -716,6 +719,53 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { .doQuery(TemplateAndParameter.class); List pIds = templateAndParameters.stream().map(x -> x.getParameterId()).collect(Collectors.toList()); + List parameterList = sw.buildFromDatasource("xdap_app_223770822127386625") + .in("id", pIds) + .doQuery(Parameter.class); + //不需要TC数据来源的参数 + parameterList = parameterList.stream().filter(x -> { + if (ObjectUtils.isEmpty(x.getParameterSource())) { + return false; + } + return true; + }).collect(Collectors.toList()); + if (ObjectUtils.isEmpty(parameterList)) { + return new ArrayList<>(); + } else { + return parameterList; + } + } + + @Override + public List selectNeedFillByNewVersion() { + //读取已通过审核的版本 DRAFT(草稿)、APPROVING(审批中)、COMPLETE(已完成)、RETURNED(已撤回)、REJECTED(已拒绝) + List