From 8a09b5762ed82bf01dec42e80ad827ff3701ad4d Mon Sep 17 00:00:00 2001 From: luotaiqian <1147642922@qq.com> Date: Wed, 5 Aug 2026 19:36:01 +0800 Subject: [PATCH] sign --- .../EvalProcessControlController.java | 2 +- .../EvalProcessControlExecutor.java | 9 ++--- .../institution/EvalSignTaskExecutor.java | 33 ++++++++++++++++--- .../EvalProcessControlDetailCO.java | 2 +- .../EvalProcessControlConfirmCmd.java | 10 ++---- .../EvalProcessControlQueryServiceImpl.java | 27 ++++++++++----- 6 files changed, 55 insertions(+), 28 deletions(-) diff --git a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/EvalProcessControlController.java b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/EvalProcessControlController.java index ade76db..5c0e59e 100644 --- a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/EvalProcessControlController.java +++ b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/EvalProcessControlController.java @@ -66,7 +66,7 @@ public class EvalProcessControlController { return evalProcessControlApi.listProjectFiles(projectId); } - @ApiOperation("项目过程文件列表") + @ApiOperation("testSms") @GetMapping("/test-sms") public SingleResponse testSms() { smsRemote.sendMessage("19122631081", "123456"); diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalProcessControlExecutor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalProcessControlExecutor.java index 00301b9..693c0aa 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalProcessControlExecutor.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalProcessControlExecutor.java @@ -169,17 +169,12 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi { evalReviewItemGateway.add(itemE); } - SignTaskPersonCmd signTaskPersonCmd = new SignTaskPersonCmd(); - signTaskPersonCmd.setSignerPersonnelId(cmd.getControllerPersonnelId()); - signTaskPersonCmd.setSignerName(cmd.getControllerName()); - // 保存签字任务到 eval_sign_task upsertSignTask(entity.getId(), projectId, project.getOrgId(), - ProjectStageEnum.PROCESS_CONTROL.getMsg(), ProjectStageEnum.PROCESS_CONTROL.getVal(), signTaskPersonCmd); + ProjectStageEnum.PROCESS_CONTROL.getMsg(), ProjectStageEnum.PROCESS_CONTROL.getVal(), cmd.getSignTaskPersonCmd()); safetyMessageGateway.saveSignMsg(ProjectStageEnum.PROCESS_CONTROL.getMsg() , ProjectStageEnum.PROCESS_CONTROL.getVal(), String.valueOf(projectId) - , String.valueOf(signTaskPersonCmd.getSignerPersonnelId())); - + , String.valueOf(cmd.getSignTaskPersonCmd().getSignerPersonnelId())); return SingleResponse.success(); } diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalSignTaskExecutor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalSignTaskExecutor.java index 924f270..c2ee1f2 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalSignTaskExecutor.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalSignTaskExecutor.java @@ -108,13 +108,13 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi { .select(EvalProjectMemberDO::getRole, EvalProjectMemberDO::getPersonnelName, EvalProjectMemberDO::getId) .last("limit 1")); if (!CollectionUtils.isEmpty(evalProjectMemberDOS)) { - evalSignTaskCO.setSignerPersonnelName(evalProjectMemberDOS.get(0).getPersonnelName()); - evalSignTaskCO.setSignerRoles(ProjectRoleEnum.fromVals(evalProjectMemberDOS.get(0).getRole())); + evalSignTaskCO.setSignerPersonnelName(evalProjectMemberDOS.get(0).getPersonnelName()); + evalSignTaskCO.setSignerRoles(ProjectRoleEnum.fromVals(evalProjectMemberDOS.get(0).getRole())); } return evalSignTaskCO; }).collect(Collectors.toList()); return PageResponse.of( - co , + co, pageResult.getTotal()); } @@ -162,13 +162,38 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi { .set(EvalTechReviewDO::getReviewerSignatureTaskStatus, SignatureTaskStatusEnum.COMPLETED.getCode())); } if (ProjectStageEnum.PROCESS_CONTROL.getVal().equals(evalSignTaskDO.getNodeCode())) { + doProcessController(evalSignTaskDO, cmd); + } + return SingleResponse.success(true); + } + + /** + * doProcessController + * + * @param evalSignTaskDO evalSignTaskDO + * @param cmd cmd + */ + public void doProcessController(EvalSignTaskDO evalSignTaskDO, EditSignTaskSaveCmd cmd) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EvalProcessControlDO::getId, evalSignTaskDO.getBizRefId()); + queryWrapper.select(EvalProcessControlDO::getReviewerSignatureTaskStatus + , EvalProcessControlDO::getOrgHeadSignatureTaskStatus); + EvalProcessControlDO evalProcessControlDO = evalProcessControlMapper.selectOne(queryWrapper); + String code = SignatureTaskStatusEnum.COMPLETED.getCode(); + if (!evalProcessControlDO.getReviewerSignatureTaskStatus().equals(code)) { evalProcessControlMapper.update(new LambdaUpdateWrapper() .eq(EvalProcessControlDO::getId, evalSignTaskDO.getBizRefId()) .eq(EvalProcessControlDO::getProjectId, evalSignTaskDO.getProjectId()) .set(EvalProcessControlDO::getReviewerSignatureUrl, cmd.getSignerUrl()) .set(EvalProcessControlDO::getReviewerSignatureTaskStatus, SignatureTaskStatusEnum.COMPLETED.getCode())); } - return SingleResponse.success(true); + if (!evalProcessControlDO.getOrgHeadSignatureTaskStatus().equals(code)) { + evalProcessControlMapper.update(new LambdaUpdateWrapper() + .eq(EvalProcessControlDO::getId, evalSignTaskDO.getBizRefId()) + .eq(EvalProcessControlDO::getProjectId, evalSignTaskDO.getProjectId()) + .set(EvalProcessControlDO::getOrgHeadSignatureUrl, cmd.getSignerUrl()) + .set(EvalProcessControlDO::getOrgHeadSignatureTaskStatus, SignatureTaskStatusEnum.COMPLETED.getCode())); + } } @Override diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/EvalProcessControlDetailCO.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/EvalProcessControlDetailCO.java index 3a23b38..9fd6a46 100644 --- a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/EvalProcessControlDetailCO.java +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/EvalProcessControlDetailCO.java @@ -23,7 +23,7 @@ public class EvalProcessControlDetailCO { @ApiModelProperty("审核项列表") private List reviewItems; - @ApiModelProperty("签字任务人员") + @ApiModelProperty("机构负责人签字任务人员") private SignTaskPersonCo signTaskPersonCo; @ApiModelProperty("项目归档移交人") diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalProcessControlConfirmCmd.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalProcessControlConfirmCmd.java index fde6d69..adca0a8 100644 --- a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalProcessControlConfirmCmd.java +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalProcessControlConfirmCmd.java @@ -24,14 +24,10 @@ public class EvalProcessControlConfirmCmd { @ApiModelProperty(value = "审核结果 passed 通过,not_passed 未通过", example = "passed") private String resultCode; - @ApiModelProperty("过程控制负责人人员id") + @ApiModelProperty("过程控制负责签字任务人员") @NotNull - private Long controllerPersonnelId; - - @ApiModelProperty("过程控制负责人姓名") - @NotBlank - private String controllerName; - + @Valid + private SignTaskPersonCmd signTaskPersonCmd; @ApiModelProperty(value = "总体过程控制意见") @Size(max = 2000) diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalProcessControlQueryServiceImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalProcessControlQueryServiceImpl.java index 1f4b4c9..6834464 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalProcessControlQueryServiceImpl.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalProcessControlQueryServiceImpl.java @@ -30,16 +30,27 @@ public class EvalProcessControlQueryServiceImpl implements EvalProcessControlQue EvalProcessControlDO processControl = evalProcessControlMapper.selectOne(new LambdaQueryWrapper() .eq(EvalProcessControlDO::getProjectId, projectId) .eq(EvalProcessControlDO::getOrgId, orgId) - .select(EvalProcessControlDO::getId, EvalProcessControlDO::getHandoverFormUrl)); - if (processControl == null || processControl.getHandoverFormUrl() == null) { + .select(EvalProcessControlDO::getId, + EvalProcessControlDO::getHandoverFormUrl, + EvalProcessControlDO::getOrgHeadSignatureUrl)); + if (processControl == null) { return Collections.emptyList(); } - List files = new ArrayList<>(); - EvalProjectFileCO co = new EvalProjectFileCO(); - co.setProcessName(ProjectStageEnum.PROCESS_CONTROL.getMsg()); - co.setItemName("归档交接单"); - co.setProjectDocUrl(processControl.getHandoverFormUrl()); - files.add(co); + List files = new ArrayList<>(4); + if (processControl.getHandoverFormUrl() != null) { + EvalProjectFileCO co = new EvalProjectFileCO(); + co.setProcessName(ProjectStageEnum.PROCESS_CONTROL.getMsg()); + co.setItemName("归档交接单"); + co.setProjectDocUrl(processControl.getHandoverFormUrl()); + files.add(co); + } + if (processControl.getOrgHeadSignatureUrl() != null) { + EvalProjectFileCO co = new EvalProjectFileCO(); + co.setProcessName(ProjectStageEnum.PROCESS_CONTROL.getMsg()); + co.setItemName("机构负责人签字"); + co.setProjectDocUrl(processControl.getOrgHeadSignatureUrl()); + files.add(co); + } return files; } }