From 73370b5d788f17bebd7532db193b3cc786fa26c6 Mon Sep 17 00:00:00 2001 From: zhanglei Date: Mon, 3 Aug 2026 15:52:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../institution/EvalSignTaskExecutor.java | 5 +++-- .../domain/constant/ProjectRoleEnum.java | 18 ++++++++++++++++++ .../gatewayimpl/SafetyMessageGatewayImpl.java | 7 ++----- 3 files changed, 23 insertions(+), 7 deletions(-) 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 365d2a5..d611c07 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 @@ -13,6 +13,7 @@ import org.qinan.safetyeval.client.dto.SingleResponse; import org.qinan.safetyeval.client.dto.institution.EditSignTaskSaveCmd; import org.qinan.safetyeval.client.dto.institution.EvalSignTaskPageQuery; import org.qinan.safetyeval.client.dto.institution.EvalSignTaskSaveCmd; +import org.qinan.safetyeval.domain.constant.ProjectRoleEnum; import org.qinan.safetyeval.domain.constant.ProjectStageEnum; import org.qinan.safetyeval.domain.constant.SignTaskStatusEnum; import org.qinan.safetyeval.domain.constant.SignatureTaskStatusEnum; @@ -106,7 +107,7 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi { .last("limit 1")); if (!CollectionUtils.isEmpty(evalProjectMemberDOS)) { evalSignTaskCO.setSignerPersonnelName(evalProjectMemberDOS.get(0).getPersonnelName()); - evalSignTaskCO.setSignerRoles(ProjectStageEnum.fromVals(evalProjectMemberDOS.get(0).getRole())); + evalSignTaskCO.setSignerRoles(ProjectRoleEnum.fromVals(evalProjectMemberDOS.get(0).getRole())); } return evalSignTaskCO; }).collect(Collectors.toList()); @@ -172,7 +173,7 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi { public SingleResponse signStatistics(EvalSignTaskPageQuery cmd) { EvalSignTaskStatisticsCO evalSignTaskStatisticsCO = new EvalSignTaskStatisticsCO(); List evalSignTaskDOS = evalSignTaskMapper.selectList(new LambdaQueryWrapper() - .eq(EvalSignTaskDO::getProjectId, cmd.getProjectId()) + .eq(Objects.nonNull(cmd.getProjectId()), EvalSignTaskDO::getProjectId, cmd.getProjectId()) .eq(EvalSignTaskDO::getSignerPersonnelId, cmd.getSignerPersonnelId())); if (!CollectionUtils.isEmpty(evalSignTaskDOS)) { long pendingSign = evalSignTaskDOS.stream().filter(f -> f.getTaskStatusCode() == 1).count(); diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/ProjectRoleEnum.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/ProjectRoleEnum.java index a63d397..ba27c7d 100644 --- a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/ProjectRoleEnum.java +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/ProjectRoleEnum.java @@ -1,8 +1,11 @@ package org.qinan.safetyeval.domain.constant; +import cn.hutool.json.JSONUtil; import lombok.AllArgsConstructor; import lombok.Getter; +import java.util.List; + /** * 安平项目角色枚举 * 对应业务流程图中的各岗位角色 @@ -39,4 +42,19 @@ public enum ProjectRoleEnum { } return null; } + + public static String fromVals(String val) { + StringBuilder sb = new StringBuilder(); + List vals = jsonToList(val); + for (ProjectRoleEnum stage : values()) { + if (vals.contains(stage.val)) { + sb.append(stage.mas).append(","); + } + } + return sb.toString(); + } + + public static List jsonToList(String json) { + return json == null ? null : JSONUtil.toList(json, String.class); + } } \ No newline at end of file diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/SafetyMessageGatewayImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/SafetyMessageGatewayImpl.java index c6d639d..3ec6e16 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/SafetyMessageGatewayImpl.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/SafetyMessageGatewayImpl.java @@ -4,10 +4,7 @@ import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.qinan.safetyeval.domain.constant.MessageSendStateEnum; -import org.qinan.safetyeval.domain.constant.MsgConstant; -import org.qinan.safetyeval.domain.constant.NoticeTypeEnum; -import org.qinan.safetyeval.domain.constant.ProjectStageEnum; +import org.qinan.safetyeval.domain.constant.*; import org.qinan.safetyeval.domain.entity.SafetyMessageEntity; import org.qinan.safetyeval.domain.exception.BizException; import org.qinan.safetyeval.domain.exception.ErrorCode; @@ -71,7 +68,7 @@ public class SafetyMessageGatewayImpl implements SafetyMessageGateway { .eq(EvalProjectMemberDO::getProjectId, projectId) .eq(EvalProjectMemberDO::getPersonnelId, signerPersonnelId) .last("limit 1")); - fillMap.put("role", ProjectStageEnum.fromVals(evalProjectMemberDOS.get(0).getRole())); + fillMap.put("role", ProjectRoleEnum.fromVals(evalProjectMemberDOS.get(0).getRole())); } params.put(MsgConstant.MSG_CONTENT_KEY_CONTENT, NoticeTypeEnum.SIGN_TASK_NOTICE.fillTemplate(fillMap));