feat: 企标制修订发消息
This commit is contained in:
+8
@@ -39,6 +39,14 @@ public interface ISysUserDepartService extends IService<SysUserDepart> {
|
||||
*/
|
||||
List<SysUser> queryUserByDepId(String depId);
|
||||
|
||||
/**
|
||||
* 根据部门id查询用户信息
|
||||
* @param depIds
|
||||
* @return
|
||||
*/
|
||||
List<SysUser> queryUserByDepIds(String depIds);
|
||||
|
||||
|
||||
/**
|
||||
* 根据部门code,查询当前部门和下级部门的用户信息
|
||||
*/
|
||||
|
||||
+25
@@ -94,6 +94,31 @@ public class SysUserDepartServiceImpl extends ServiceImpl<SysUserDepartMapper, S
|
||||
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,查询当前部门和下级部门的 用户信息
|
||||
*/
|
||||
|
||||
+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;
|
||||
|
||||
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<EsRevisionMapper, Process
|
||||
@Resource
|
||||
private TranslationAspect translationAspect;
|
||||
|
||||
@Resource
|
||||
private ISysUserDepartService sysUserDepartService;
|
||||
|
||||
@Resource
|
||||
private SendMessageAPI sendMessageAPI;
|
||||
|
||||
|
||||
@Override
|
||||
public void startProcess(ESRevisionDataVO revisionData) {
|
||||
// 执行流程发起前的操作
|
||||
@@ -510,6 +525,8 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
// 更改保存征求意见记录
|
||||
advices = data.getAdvices();
|
||||
adviceService.saveOrUpdateBatch(advices);
|
||||
// 给所有意见提出人发送意见反馈消息
|
||||
this.sendMessageToAdviceUser(data, processInstanceId);
|
||||
break;
|
||||
case MAIN_DRAFT_USER_UPLOAD:
|
||||
// 设置后续节点的办理人
|
||||
@@ -557,6 +574,8 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
curUserId = UserUtils.getUserId();
|
||||
data.setMainDraftUser(curUserId);
|
||||
saveOrUpdate(data);
|
||||
// 给授权部门的所有人员发送消息
|
||||
this.sendMessageToAuthDeptUser(processInstanceId);
|
||||
// TODO 在线编辑 插入签章
|
||||
break;
|
||||
}
|
||||
@@ -614,7 +633,58 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
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 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"; // 【企标修订】征求意见
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user