From c9e62d79681ba2771b3f2f3ca6bc55a37f88fa7f Mon Sep 17 00:00:00 2001 From: caihaohan Date: Sun, 28 Jan 2024 17:43:00 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=81=E6=A0=87=E5=88=B6=E4=BF=AE?= =?UTF-8?q?=E8=AE=A2=E5=8F=91=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/service/ISysUserDepartService.java | 8 +++ .../impl/SysUserDepartServiceImpl.java | 25 +++++++ .../esRevision/entity/HandleAdviceEnum.java | 41 +++++++++++ .../service/impl/EsRevisionServiceImpl.java | 70 +++++++++++++++++++ .../constant/MessageTemplateCodeCommon.java | 3 +- 5 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/entity/HandleAdviceEnum.java diff --git a/laws-module-system/src/main/java/com/jero/modules/system/service/ISysUserDepartService.java b/laws-module-system/src/main/java/com/jero/modules/system/service/ISysUserDepartService.java index 3c04d7d7..c46ad1f7 100644 --- a/laws-module-system/src/main/java/com/jero/modules/system/service/ISysUserDepartService.java +++ b/laws-module-system/src/main/java/com/jero/modules/system/service/ISysUserDepartService.java @@ -39,6 +39,14 @@ public interface ISysUserDepartService extends IService { */ List queryUserByDepId(String depId); + /** + * 根据部门id查询用户信息 + * @param depIds + * @return + */ + List queryUserByDepIds(String depIds); + + /** * 根据部门code,查询当前部门和下级部门的用户信息 */ diff --git a/laws-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserDepartServiceImpl.java b/laws-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserDepartServiceImpl.java index 18167205..e74798ab 100644 --- a/laws-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserDepartServiceImpl.java +++ b/laws-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserDepartServiceImpl.java @@ -94,6 +94,31 @@ public class SysUserDepartServiceImpl extends ServiceImpl(); } + /** + * 根据部门id查询用户信息 + */ + @Override + public List queryUserByDepIds(String depIds) { + LambdaQueryWrapper queryUDep = new LambdaQueryWrapper<>(); + queryUDep.in(SysUserDepart::getDepId, Arrays.asList(depIds.split(","))); + List userIdList = new ArrayList<>(); + List uDepList = this.list(queryUDep); + if(uDepList != null && !uDepList.isEmpty()) { + for(SysUserDepart uDep : uDepList) { + userIdList.add(uDep.getUserId()); + } + List userList = sysUserService.listByIds(userIdList); + //update-begin-author:taoyan date:201905047 for:接口调用查询返回结果不能返回密码相关信息 + for (SysUser sysUser : userList) { + sysUser.setSalt(""); + sysUser.setPassword(""); + } + //update-end-author:taoyan date:201905047 for:接口调用查询返回结果不能返回密码相关信息 + return userList; + } + return new ArrayList<>(); + } + /** * 根据部门code,查询当前部门和下级部门的 用户信息 */ diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/entity/HandleAdviceEnum.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/entity/HandleAdviceEnum.java new file mode 100644 index 00000000..3069849e --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/entity/HandleAdviceEnum.java @@ -0,0 +1,41 @@ +package com.jero.modules.activiti.process.esRevision.entity; + +import lombok.Getter; + +/** + * @author: Mzaxd + * @Date: 2024/1/28 17:36 + */ +public enum HandleAdviceEnum { + + /** + * 1:采纳 + */ + AGREE("同意", "1"), + + /** + * 2:部分采纳 + */ + PART_DISAGREE("部分采纳", "2"), + + /** + * 3:不采纳 + */ + DISAGREE("不采纳", "3"), + ; + + private String name; + + private String value; + + HandleAdviceEnum(String name, String value) { + } + + public String getName() { + return name; + } + + public String getValue() { + return value; + } +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/service/impl/EsRevisionServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/service/impl/EsRevisionServiceImpl.java index 83f8f063..7b22875e 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/service/impl/EsRevisionServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/service/impl/EsRevisionServiceImpl.java @@ -1,10 +1,14 @@ package com.jero.modules.activiti.process.esRevision.service.impl; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.api.dto.message.SendMessageDTO; import com.jero.common.api.vo.ResultCommon; +import com.jero.common.api.vo.SendMessageAPI; import com.jero.common.aspect.TranslationAspect; import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.exception.JeroBootException; @@ -18,6 +22,7 @@ import com.jero.modules.activiti.process.common.service.ActFlowCommonService; import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectStatus; import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPRevisionType; import com.jero.modules.activiti.process.esRevision.entity.EsRevisionAdvice; +import com.jero.modules.activiti.process.esRevision.entity.HandleAdviceEnum; import com.jero.modules.activiti.process.esRevision.entity.OperateTypeEnum; import com.jero.modules.activiti.process.esRevision.entity.vo.InspectContentVO; import com.jero.modules.activiti.process.esRevision.entity.vo.OtherDraftUserVO; @@ -32,9 +37,12 @@ import com.jero.modules.activiti.process.fb.service.IProcessHandleService; import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO; import com.jero.modules.activiti.service.ProcessAllService; import com.jero.modules.activiti.service.ProcessNodeLinkService; +import com.jero.modules.laws.common.constant.MessageTemplateCodeCommon; import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan; import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService; import com.jero.modules.sys.utils.UserUtils; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysUserDepartService; import lombok.extern.slf4j.Slf4j; import org.activiti.engine.RuntimeService; import org.activiti.engine.TaskService; @@ -87,6 +95,13 @@ public class EsRevisionServiceImpl extends ServiceImpl() + .eq(ProcessEsRevision::getProcessInstanceId, processInstanceId)); + String businessJson = revision.getBusinessJson(); + // 找到authDept字段 + JSONObject jsonObject = JSON.parseObject(businessJson); + String authDept = jsonObject.getString("auth_dept"); + String standardNumber = jsonObject.getString("standard_number"); + String standardName = jsonObject.getString("standard_name"); + // 根据部门找到所有人员 + List userIdList = new ArrayList<>(); + List sysUsers = sysUserDepartService.queryUserByDepIds(authDept); + sysUsers.forEach(sysUser -> userIdList.add(sysUser.getId())); + // 发送消息 + SendMessageDTO sendMessageDTO = new SendMessageDTO(); + sendMessageDTO.setTemplateCode(MessageTemplateCodeCommon.ES_REVISION_STANDARD_RELEASE); + sendMessageDTO.setToUserId(String.join(",", userIdList)); + Map sendMap = new HashMap<>(); + sendMap.put("standardNumber", standardNumber); + sendMap.put("standardName", standardName); + sendMessageDTO.setMap(sendMap); + sendMessageAPI.sendMessage(sendMessageDTO); + } + private void sendMessageToAdviceUser(ProcessEsRevision revision, String processInstanceId) { + ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId); + List advices = revision.getAdvices(); + // 发送消息 + for (EsRevisionAdvice advice : advices) { + // 采纳的不发消息 + if (HandleAdviceEnum.AGREE.getValue().equals(advice.getHandleAdvice())) { + continue; + } + SendMessageDTO sendMessageDTO = new SendMessageDTO(); + sendMessageDTO.setTemplateCode(MessageTemplateCodeCommon.ES_REVISION_ADVICE); + sendMessageDTO.setToUserId(advice.getCreateUserId()); + Map sendMap = new HashMap<>(); + sendMap.put("prcNum", processAll.getPrcNum()); + sendMap.put("prcName", processAll.getPrcName()); + sendMap.put("clauseNum", advice.getClauseNum()); + sendMap.put("clauseName", advice.getClauseName()); + if (HandleAdviceEnum.DISAGREE.getValue().equals(advice.getHandleAdvice())) { + sendMap.put("result", "未被采纳"); + } else { + sendMap.put("result", "被部分采纳"); + } + sendMap.put("reason", advice.getReason()); + sendMessageDTO.setMap(sendMap); + sendMessageAPI.sendMessage(sendMessageDTO); + } + } } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/constant/MessageTemplateCodeCommon.java b/laws-modules/src/main/java/com/jero/modules/laws/common/constant/MessageTemplateCodeCommon.java index e0f81c61..cc53d148 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/constant/MessageTemplateCodeCommon.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/constant/MessageTemplateCodeCommon.java @@ -25,6 +25,7 @@ public class MessageTemplateCodeCommon { public static final String URGING = "urging"; // 催办 public static final String ES_INIT_CHANGE_NEW_MAIN_DRAFT_LEADER_END = "es_init_change_new_main_draft_leader_end"; // 【企标立项变更】新起草部门主管级领导确认选择会签人员 public static final String ES_INIT_CHANGE_MAIN_DRAFT_USER_COPY = "es_init_change_main_draft_user_copy"; // 【企标立项变更】抄送主起草人 - + public static final String ES_REVISION_STANDARD_RELEASE = "es_revision_standard_release"; // 【企标修订】标准发布 + public static final String ES_REVISION_ADVICE = "es_revision_advice"; // 【企标修订】征求意见 }