From 012f7c23434123f032875d2ec2d7f4c688544f1b Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 12 一月 2026 17:15:29 +0800
Subject: [PATCH] 会议发布之后对接消息通知,需要通知到参会人员
---
src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java | 102 +++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 87 insertions(+), 15 deletions(-)
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
index 2de1c71..2a430a9 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -14,13 +14,20 @@
import com.ruoyi.approve.utils.DailyRedisCounter;
import com.ruoyi.approve.vo.ApproveGetAndUpdateVo;
import com.ruoyi.approve.vo.ApproveProcessVO;
+import com.ruoyi.common.enums.FileNameType;
+import com.ruoyi.common.utils.OrderUtils;
import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.other.service.impl.TempFileServiceImpl;
import com.ruoyi.project.system.domain.SysDept;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysDeptMapper;
import com.ruoyi.project.system.mapper.SysUserMapper;
+import com.ruoyi.project.system.service.ISysNoticeService;
+import com.ruoyi.sales.mapper.CommonFileMapper;
+import com.ruoyi.sales.pojo.CommonFile;
import lombok.AllArgsConstructor;
import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.data.redis.core.StringRedisTemplate;
@@ -28,6 +35,7 @@
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
+import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
@@ -52,9 +60,12 @@
private final IApproveNodeService approveNodeService;
private final SysUserMapper sysUserMapper;
private final ApproveProcessMapper approveProcessMapper;
+ private final TempFileServiceImpl tempFileService;
+ private final CommonFileMapper commonFileMapper;
+ private final ISysNoticeService sysNoticeService;
@Override
- public void addApprove(ApproveProcessVO approveProcessVO) throws ParseException {
+ public void addApprove(ApproveProcessVO approveProcessVO) throws Exception {
SysUser sysUser = sysUserMapper.selectUserById(approveProcessVO.getApproveUser());
SysDept sysDept = sysDeptMapper.selectDeptById(approveProcessVO.getApproveDeptId());
String[] split = approveProcessVO.getApproveUserIds().split(",");
@@ -80,6 +91,8 @@
approveProcess.setApproveUserNames(sysUsers.stream().map(SysUser::getNickName).collect(Collectors.joining(",")));
approveProcess.setApproveTime(StringUtils.isEmpty(approveProcessVO.getApproveTime()) ? null : dateFormat.parse(approveProcessVO.getApproveTime()));
approveProcess.setApproveReason(approveProcessVO.getApproveReason());
+ approveProcess.setDeviceRepairId(approveProcessVO.getDeviceRepairId());
+ approveProcess.setMaintenancePrice(approveProcessVO.getMaintenancePrice());
approveProcess.setApproveOverTime(null);
approveProcess.setApproveStatus(0);
approveProcess.setApproveDelete(0);
@@ -103,6 +116,15 @@
save(approveProcess);
//鍒濆鍖栧鎵硅妭鐐�
approveNodeService.initApproveNodes(approveProcessVO.getApproveUserIds(),approveID,approveProcessVO.getApproveDeptId());
+ // 闄勪欢缁戝畾
+ tempFileService.migrateTempFilesToFormal(approveProcess.getId(), approveProcessVO.getTempFileIds(), FileNameType.ApproveProcess.getValue());
+ /*娑堟伅閫氱煡*/
+ String id = approveProcessVO.getApproveUserIds().split(",")[0];
+ sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcessVO.getApproveType()),
+ approveID+"娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
+ Arrays.asList(Long.valueOf(id)),
+ approveProcessVO.getApproveDeptId(),
+ "/collaborativeApproval/approvalProcess?approveType="+approveProcessVO.getApproveType()+"&approveId="+approveID);
}
@Override
@@ -118,6 +140,13 @@
@Override
public IPage<ApproveProcess> listAll(Page page,ApproveProcess approveProcess) {
IPage<ApproveProcess> approveProcessIPage = approveProcessMapper.listPage(page,approveProcess);
+ List<ApproveProcess> records = approveProcessIPage.getRecords();
+ for (ApproveProcess record : records) {
+ List<CommonFile> commonFiles = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>()
+ .eq(CommonFile::getCommonId, record.getId())
+ .eq(CommonFile::getType, FileNameType.ApproveProcess.getValue()));
+ record.setCommonFileList(commonFiles);
+ }
return approveProcessIPage;
}
@@ -143,6 +172,9 @@
queryWrapper.eq(ApproveProcess::getTenantId, SecurityUtils.getLoginUser().getTenantId());
queryWrapper.last("limit 1");
ApproveProcess one = getOne(queryWrapper);
+ one.setCommonFileList(commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>()
+ .eq(CommonFile::getCommonId, one.getId())
+ .eq(CommonFile::getType, FileNameType.ApproveProcess.getValue())));
return one;
}
@@ -150,8 +182,9 @@
@Override
- public void updateByApproveId(ApproveGetAndUpdateVo approveGetAndUpdateVo) {
+ public void updateByApproveId(ApproveGetAndUpdateVo approveGetAndUpdateVo) throws IOException {
ApproveProcess approve = approveProcessMapper.selectById(approveGetAndUpdateVo.getId());
+ BeanUtils.copyProperties(approveGetAndUpdateVo, approve);
approve.setApproveUserIds(approveGetAndUpdateVo.getApproveUserIds());
approve.setApproveReason(approveGetAndUpdateVo.getApproveReason());
SysUser sysUser = sysUserMapper.selectUserById(approveGetAndUpdateVo.getApproveUser());
@@ -171,25 +204,64 @@
}
updateById(approve);
//淇敼瀹℃壒浜�
+ // 鍏堝垹闄� 鍚庢柊澧�
LambdaQueryWrapper<ApproveNode> approveNodeLambdaQueryWrapper = new LambdaQueryWrapper<>();
approveNodeLambdaQueryWrapper.eq(ApproveNode::getApproveProcessId, approve.getApproveId())
.eq(ApproveNode::getDeleteFlag, 0)
.eq(ApproveNode::getTenantId, SecurityUtils.getLoginUser().getTenantId())
.orderByAsc(ApproveNode::getApproveNodeOrder);
- List<ApproveNode> list = approveNodeMapper.selectList(approveNodeLambdaQueryWrapper);
- int i = 0;
- for (ApproveNode approveNode : list) {
- int finalI = i;
- List<SysUser> collect = sysUsers.stream().filter(user -> user.getUserId().equals(Long.parseLong(split[finalI]))).collect(Collectors.toList());
- if(CollectionUtils.isEmpty(collect)){
- throw new RuntimeException("璇烽�夋嫨姝g‘鐨勫鎵逛汉");
- }
- approveNode.setApproveNodeUserId(collect.get(0).getUserId());
- approveNode.setApproveNodeUser(collect.get(0).getNickName());
- approveNodeMapper.updateById(approveNode);
- i++;
- }
+ approveNodeMapper.delete(approveNodeLambdaQueryWrapper);
+ approveNodeService.initApproveNodes(approveGetAndUpdateVo.getApproveUserIds(),approve.getApproveId(),approve.getTenantId());
+
+// int i = 0;
+// for (ApproveNode approveNode : list) {
+// int finalI = i;
+// if(i >= split.length){
+// approveNode.setDeleteFlag(1);
+// }else{
+// List<SysUser> collect = sysUsers.stream().filter(user -> user.getUserId().equals(Long.parseLong(split[finalI]))).collect(Collectors.toList());
+// if(CollectionUtils.isEmpty(collect)){
+// throw new RuntimeException("璇烽�夋嫨姝g‘鐨勫鎵逛汉");
+// }
+// approveNode.setApproveNodeUserId(collect.get(0).getUserId());
+// approveNode.setApproveNodeUser(collect.get(0).getNickName());
+// }
+// approveNodeMapper.updateById(approveNode);
+// i++;
+// }
+ tempFileService.migrateTempFilesToFormal(approve.getId(), approveGetAndUpdateVo.getTempFileIds(), FileNameType.ApproveProcess.getValue());
+ /*娑堟伅閫氱煡*/
+ String id = approve.getApproveUserIds().split(",")[0];
+ sysNoticeService.simpleNoticeByUser(approveProcessType(approve.getApproveType()),
+ approve.getApproveId()+"娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
+ Arrays.asList(Long.valueOf(id)),
+ approve.getApproveDeptId(),
+ "/collaborativeApproval/approvalProcess?approveType="+approve.getApproveType()+"&approveId="+approve.getApproveId());
+
}
+ //瀹℃壒绫诲瀷鑾峰彇(涓庡墠绔〉闈㈠搴�)
+ private String approveProcessType(Integer approveType){
+ switch (approveType){
+ case 1:
+ return "鍏嚭绠$悊";
+ case 2:
+ return "璇峰亣绠$悊";
+ case 3:
+ return "鍑哄樊绠$悊";
+ case 4:
+ return "鎶ラ攢绠$悊";
+ case 5:
+ return "閲囪喘瀹℃壒";
+ case 6:
+ return "鎶ヤ环瀹℃壒";
+ case 7:
+ return "鍑哄簱瀹℃壒";
+ }
+ return null;
+ }
+
+
+
}
--
Gitblit v1.9.3