From 944d980bf82f6769937de606a39a7721115f3610 Mon Sep 17 00:00:00 2001 From: shenzhidan Date: Thu, 22 Jan 2026 17:55:27 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E6=94=B9=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E5=9B=BE=E8=BF=94=E5=9B=9E=E6=A0=BC=E5=BC=8F=202=E3=80=81?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=A8=E6=88=B7=E5=90=8D=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TrainingApplyProcessController.java | 5 +-- .../TrainingApplyProcessQueryExe.java | 36 +++++++++++++++---- .../TrainingApplyProcessServiceImpl.java | 3 +- .../TrainingApplyProcessServiceI.java | 3 +- .../edu/dto/clientobject/training/FlowCO.java | 16 +++++++++ .../training/TrainingApplyProcessFlowVO.java | 16 +++++++++ .../training/TrainingApplyRecordAddCmd.java | 4 +++ .../dto/training/TrainingApplyUserAddCmd.java | 3 ++ .../training/TrainingApplyUserUpdateCmd.java | 2 ++ .../training/TrainingApplyProcessNodeE.java | 4 +-- .../model/training/TrainingApplyRecordE.java | 5 ++- .../dataobject/TrainingApplyUserDO.java | 3 ++ .../mapper/TrainingApplyRecordMapper.xml | 4 +-- 13 files changed, 87 insertions(+), 17 deletions(-) create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/FlowCO.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyProcessFlowVO.java diff --git a/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingApplyProcessController.java b/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingApplyProcessController.java index 1823ef1..1e37cc2 100644 --- a/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingApplyProcessController.java +++ b/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingApplyProcessController.java @@ -2,6 +2,7 @@ package com.zcloud.edu.web.training; import com.zcloud.edu.api.training.TrainingApplyProcessServiceI; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessFlowVO; import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessNodeCO; import com.zcloud.edu.dto.training.TrainingApplyProcessAddCmd; import com.zcloud.edu.dto.training.TrainingApplyProcessPageQry; @@ -47,8 +48,8 @@ public class TrainingApplyProcessController { @ApiOperation("审批流程图") @PostMapping("/processDiagram") - public MultiResponse getProcessDiagramByRecordId(@RequestBody TrainingApplyProcessPageQry qry) { - return MultiResponse.of(trainingApplyProcessService.getProcessDiagramByRecordId(qry)); + public SingleResponse getProcessDiagramByRecordId(@RequestBody TrainingApplyProcessPageQry qry) { + return SingleResponse.of(trainingApplyProcessService.getProcessDiagramByRecordId(qry)); } @ApiOperation("所有数据") diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyProcessQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyProcessQueryExe.java index a352208..b8c26bd 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyProcessQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyProcessQueryExe.java @@ -1,7 +1,10 @@ package com.zcloud.edu.command.query.training; +import cn.hutool.core.util.StrUtil; import com.zcloud.edu.command.convertor.training.TrainingApplyProcessCoConvertor; import com.zcloud.edu.domain.model.training.TrainingApplyProcessNodeE; +import com.zcloud.edu.dto.clientobject.training.FlowCO; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessFlowVO; import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessNodeCO; import com.zcloud.edu.dto.training.TrainingApplyProcessPageQry; import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessCO; @@ -12,9 +15,8 @@ import com.alibaba.cola.dto.PageResponse; import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; -import java.util.List; -import java.util.Map; - +import java.util.*; +import java.util.stream.Collectors; /** @@ -42,9 +44,31 @@ public class TrainingApplyProcessQueryExe { } - public List getProcessDiagramByRecordId(TrainingApplyProcessPageQry qry) { - List processList = trainingApplyProcessRepository.getProcessNodeByRecordId(qry.getEqTrainingApplyRecordId()); - return trainingApplyProcessCoConvertor.converEsToCOs(processList); + public TrainingApplyProcessFlowVO getProcessDiagramByRecordId(TrainingApplyProcessPageQry qry) { + + List processList = + trainingApplyProcessRepository.getProcessNodeByRecordId(qry.getEqTrainingApplyRecordId()); + + List flowList = Optional.ofNullable(processList).orElse(Collections.emptyList()) + .stream() + .map(e -> { + FlowCO item = new FlowCO(); + + item.setType(e.getApplyType()); + item.setStatus(e.getApprovalStatus()); + + String nodeName = e.getNodeName() == null ? "" : e.getNodeName(); + String username = e.getUsername() == null ? "" : e.getUsername(); + String time = e.getTime(); + + String secondLine = StrUtil.isNotBlank(time) ? (username + " " + time) : username; + item.setFlowList(Arrays.asList(nodeName, secondLine)); + + return item; + }) + .collect(Collectors.toList()); + + return TrainingApplyProcessFlowVO.of(flowList); } } diff --git a/web-app/src/main/java/com/zcloud/edu/service/TrainingApplyProcessServiceImpl.java b/web-app/src/main/java/com/zcloud/edu/service/TrainingApplyProcessServiceImpl.java index 90696c3..13bfa0b 100644 --- a/web-app/src/main/java/com/zcloud/edu/service/TrainingApplyProcessServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/edu/service/TrainingApplyProcessServiceImpl.java @@ -8,6 +8,7 @@ import com.zcloud.edu.command.training.TrainingApplyProcessUpdateExe; import com.zcloud.edu.command.query.training.TrainingApplyProcessQueryExe; import com.zcloud.edu.domain.enums.ApplyTypeEnum; import com.zcloud.edu.domain.model.training.TrainingApplyProcessE; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessFlowVO; import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessNodeCO; import com.zcloud.edu.dto.clientobject.training.TrainingApplyRecordCO; import com.zcloud.edu.dto.training.TrainingApplyProcessAddCmd; @@ -66,7 +67,7 @@ public class TrainingApplyProcessServiceImpl implements TrainingApplyProcessServ } @Override - public List getProcessDiagramByRecordId(TrainingApplyProcessPageQry qry) { + public TrainingApplyProcessFlowVO getProcessDiagramByRecordId(TrainingApplyProcessPageQry qry) { return trainingApplyProcessQueryExe.getProcessDiagramByRecordId(qry); } } diff --git a/web-client/src/main/java/com/zcloud/edu/api/training/TrainingApplyProcessServiceI.java b/web-client/src/main/java/com/zcloud/edu/api/training/TrainingApplyProcessServiceI.java index 3ef5996..15bec53 100644 --- a/web-client/src/main/java/com/zcloud/edu/api/training/TrainingApplyProcessServiceI.java +++ b/web-client/src/main/java/com/zcloud/edu/api/training/TrainingApplyProcessServiceI.java @@ -1,5 +1,6 @@ package com.zcloud.edu.api.training; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessFlowVO; import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessNodeCO; import com.zcloud.edu.dto.training.TrainingApplyProcessAddCmd; import com.zcloud.edu.dto.training.TrainingApplyProcessPageQry; @@ -30,7 +31,7 @@ public interface TrainingApplyProcessServiceI { /** * 获取审批流程图 */ - List getProcessDiagramByRecordId(TrainingApplyProcessPageQry qry); + TrainingApplyProcessFlowVO getProcessDiagramByRecordId(TrainingApplyProcessPageQry qry); } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/FlowCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/FlowCO.java new file mode 100644 index 0000000..3066458 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/FlowCO.java @@ -0,0 +1,16 @@ +package com.zcloud.edu.dto.clientobject.training; + +import lombok.Data; + +import java.util.List; +import java.util.Map; + +@Data +public class FlowCO { + + private Integer type; + + private Integer status; + + private List flowList; +} diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyProcessFlowVO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyProcessFlowVO.java new file mode 100644 index 0000000..5ffa810 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyProcessFlowVO.java @@ -0,0 +1,16 @@ +package com.zcloud.edu.dto.clientobject.training; + +import lombok.Data; + +import java.util.List; + +@Data +public class TrainingApplyProcessFlowVO { + private List flowCOList; + + public static TrainingApplyProcessFlowVO of(List list) { + TrainingApplyProcessFlowVO vo = new TrainingApplyProcessFlowVO(); + vo.setFlowCOList(list); + return vo; + } +} diff --git a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyRecordAddCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyRecordAddCmd.java index 64aa3fd..a63798f 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyRecordAddCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyRecordAddCmd.java @@ -21,6 +21,10 @@ import java.util.List; @NoArgsConstructor @AllArgsConstructor public class TrainingApplyRecordAddCmd extends Command { + + @ApiModelProperty(value = "业务ID") + private String trainingApplyRecordId; + @ApiModelProperty(value = "申请企业id", name = "applyCorpinfoId", required = true) // @NotNull(message = "申请企业id不能为空") private Long applyCorpinfoId; diff --git a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyUserAddCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyUserAddCmd.java index b3b8013..b8ffb19 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyUserAddCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyUserAddCmd.java @@ -33,6 +33,9 @@ public class TrainingApplyUserAddCmd extends Command { @ApiModelProperty(value = "身份证号" , name = "idCard", required = true) // @NotEmpty(message = "身份证号不能为空") private String idCard; + + @ApiModelProperty(value = "关联项目") + private String projectName; @ApiModelProperty(value = "申请状态1:待审批2:审批通过,3:审批不通过", name = "applyStatus", required = true) // @NotNull(message = "申请状态1:待审批2:审批通过,3:审批不通过不能为空") diff --git a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyUserUpdateCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyUserUpdateCmd.java index 897906b..fea9aac 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyUserUpdateCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyUserUpdateCmd.java @@ -31,6 +31,8 @@ public class TrainingApplyUserUpdateCmd extends Command { private String phone; @ApiModelProperty(value = "身份证号" , name = "idCard", required = true) private String idCard; + @ApiModelProperty(value = "关联项目") + private String projectName; @ApiModelProperty(value = "申请状态1:待审批2:审批通过,3:审批不通过", name = "applyStatus", required = true) private Long applyStatus; } diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyProcessNodeE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyProcessNodeE.java index d8fdebd..678b292 100644 --- a/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyProcessNodeE.java +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyProcessNodeE.java @@ -10,13 +10,13 @@ public class TrainingApplyProcessNodeE { private String nodeName; @ApiModelProperty(value = "审批状态") - private Long approvalStatus; + private Integer approvalStatus; @ApiModelProperty(value = "姓名") private String username; @ApiModelProperty(value = "审批类型") - private Long applyType; + private Integer applyType; @ApiModelProperty(value = "时间") private String time; diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyRecordE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyRecordE.java index ff25e18..b41580e 100644 --- a/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyRecordE.java +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyRecordE.java @@ -76,6 +76,8 @@ public class TrainingApplyRecordE extends BaseE { this.applyUserId = ssoUser.getUserId(); this.applyDepartmentId = ssoUser.getOrgId(); this.applyCorpinfoId = ssoUser.getTenantId(); + }else { + throw new BizException("参数异常"); } this.trainingApplyRecordId = StrUtil.isNotBlank(this.trainingApplyRecordId) ? this.trainingApplyRecordId : IdUtil.simpleUUID(); @@ -148,9 +150,6 @@ public class TrainingApplyRecordE extends BaseE { public void addApplyUsers(List users) { if (!CollectionUtils.isEmpty(users)) { this.applyUsers.addAll(users); - if (StrUtil.isNotBlank(this.projectName)) { - applyUsers.forEach(applyUser -> {applyUser.setProjectName(projectName);}); - } } } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyUserDO.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyUserDO.java index 9bbc2e8..413e024 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyUserDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyUserDO.java @@ -32,6 +32,9 @@ public class TrainingApplyUserDO extends BaseDO { //身份证号 @ApiModelProperty(value = "身份证号") private String idCard; + //关联项目 + @ApiModelProperty(value = "关联项目") + private String projectName; //申请状态1:待审批2:审批通过,3:审批不通过 @ApiModelProperty(value = "申请状态1:待审批2:审批通过,3:审批不通过") private Long applyStatus; diff --git a/web-infrastructure/src/main/resources/mapper/TrainingApplyRecordMapper.xml b/web-infrastructure/src/main/resources/mapper/TrainingApplyRecordMapper.xml index 38d76f4..f06f44d 100644 --- a/web-infrastructure/src/main/resources/mapper/TrainingApplyRecordMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/TrainingApplyRecordMapper.xml @@ -80,9 +80,9 @@