feat: 企标制修订发消息
This commit is contained in:
+8
@@ -39,6 +39,14 @@ public interface ISysUserDepartService extends IService<SysUserDepart> {
|
|||||||
*/
|
*/
|
||||||
List<SysUser> queryUserByDepId(String depId);
|
List<SysUser> queryUserByDepId(String depId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据部门id查询用户信息
|
||||||
|
* @param depIds
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<SysUser> queryUserByDepIds(String depIds);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据部门code,查询当前部门和下级部门的用户信息
|
* 根据部门code,查询当前部门和下级部门的用户信息
|
||||||
*/
|
*/
|
||||||
|
|||||||
+25
@@ -94,6 +94,31 @@ public class SysUserDepartServiceImpl extends ServiceImpl<SysUserDepartMapper, S
|
|||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据部门id查询用户信息
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<SysUser> queryUserByDepIds(String depIds) {
|
||||||
|
LambdaQueryWrapper<SysUserDepart> queryUDep = new LambdaQueryWrapper<>();
|
||||||
|
queryUDep.in(SysUserDepart::getDepId, Arrays.asList(depIds.split(",")));
|
||||||
|
List<String> userIdList = new ArrayList<>();
|
||||||
|
List<SysUserDepart> uDepList = this.list(queryUDep);
|
||||||
|
if(uDepList != null && !uDepList.isEmpty()) {
|
||||||
|
for(SysUserDepart uDep : uDepList) {
|
||||||
|
userIdList.add(uDep.getUserId());
|
||||||
|
}
|
||||||
|
List<SysUser> 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,查询当前部门和下级部门的 用户信息
|
* 根据部门code,查询当前部门和下级部门的 用户信息
|
||||||
*/
|
*/
|
||||||
|
|||||||
+41
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
+70
@@ -1,10 +1,14 @@
|
|||||||
package com.jero.modules.activiti.process.esRevision.service.impl;
|
package com.jero.modules.activiti.process.esRevision.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
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.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
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.ResultCommon;
|
||||||
|
import com.jero.common.api.vo.SendMessageAPI;
|
||||||
import com.jero.common.aspect.TranslationAspect;
|
import com.jero.common.aspect.TranslationAspect;
|
||||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||||
import com.jero.common.exception.JeroBootException;
|
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.ESPProjectStatus;
|
||||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPRevisionType;
|
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.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.OperateTypeEnum;
|
||||||
import com.jero.modules.activiti.process.esRevision.entity.vo.InspectContentVO;
|
import com.jero.modules.activiti.process.esRevision.entity.vo.InspectContentVO;
|
||||||
import com.jero.modules.activiti.process.esRevision.entity.vo.OtherDraftUserVO;
|
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.process.fb.vo.ProcessInfoVO;
|
||||||
import com.jero.modules.activiti.service.ProcessAllService;
|
import com.jero.modules.activiti.service.ProcessAllService;
|
||||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
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.entity.EnterpriseStandardPlan;
|
||||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
|
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
|
||||||
import com.jero.modules.sys.utils.UserUtils;
|
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 lombok.extern.slf4j.Slf4j;
|
||||||
import org.activiti.engine.RuntimeService;
|
import org.activiti.engine.RuntimeService;
|
||||||
import org.activiti.engine.TaskService;
|
import org.activiti.engine.TaskService;
|
||||||
@@ -87,6 +95,13 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
|||||||
@Resource
|
@Resource
|
||||||
private TranslationAspect translationAspect;
|
private TranslationAspect translationAspect;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ISysUserDepartService sysUserDepartService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SendMessageAPI sendMessageAPI;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void startProcess(ESRevisionDataVO revisionData) {
|
public void startProcess(ESRevisionDataVO revisionData) {
|
||||||
// 执行流程发起前的操作
|
// 执行流程发起前的操作
|
||||||
@@ -510,6 +525,8 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
|||||||
// 更改保存征求意见记录
|
// 更改保存征求意见记录
|
||||||
advices = data.getAdvices();
|
advices = data.getAdvices();
|
||||||
adviceService.saveOrUpdateBatch(advices);
|
adviceService.saveOrUpdateBatch(advices);
|
||||||
|
// 给所有意见提出人发送意见反馈消息
|
||||||
|
this.sendMessageToAdviceUser(data, processInstanceId);
|
||||||
break;
|
break;
|
||||||
case MAIN_DRAFT_USER_UPLOAD:
|
case MAIN_DRAFT_USER_UPLOAD:
|
||||||
// 设置后续节点的办理人
|
// 设置后续节点的办理人
|
||||||
@@ -557,6 +574,8 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
|||||||
curUserId = UserUtils.getUserId();
|
curUserId = UserUtils.getUserId();
|
||||||
data.setMainDraftUser(curUserId);
|
data.setMainDraftUser(curUserId);
|
||||||
saveOrUpdate(data);
|
saveOrUpdate(data);
|
||||||
|
// 给授权部门的所有人员发送消息
|
||||||
|
this.sendMessageToAuthDeptUser(processInstanceId);
|
||||||
// TODO 在线编辑 插入签章
|
// TODO 在线编辑 插入签章
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -614,7 +633,58 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
|||||||
processHandleService.saveToDraft(processInfoVO);
|
processHandleService.saveToDraft(processInfoVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void sendMessageToAuthDeptUser(String processInstanceId) {
|
||||||
|
// 根据流程实例ID找到json数据
|
||||||
|
ProcessEsRevision revision = getOne(new LambdaQueryWrapper<ProcessEsRevision>()
|
||||||
|
.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<String> userIdList = new ArrayList<>();
|
||||||
|
List<SysUser> 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<String, String> 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<EsRevisionAdvice> 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<String, String> 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -25,6 +25,7 @@ public class MessageTemplateCodeCommon {
|
|||||||
public static final String URGING = "urging"; // 催办
|
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_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_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"; // 【企标修订】征求意见
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user