From dfa9258c8879dbb0d1bfc00d7f939031d0bb623b Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 29 一月 2026 18:32:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New
---
src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java | 144 +++++++++++++++++++++++++++++++++++------------
1 files changed, 106 insertions(+), 38 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 effa6a4..14fe835 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -27,6 +27,7 @@
import com.ruoyi.project.system.service.ISysNoticeService;
import com.ruoyi.sales.mapper.CommonFileMapper;
import com.ruoyi.sales.pojo.CommonFile;
+import com.ruoyi.sales.service.impl.CommonFileServiceImpl;
import lombok.AllArgsConstructor;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
@@ -50,21 +51,30 @@
import java.util.stream.Collectors;
@Service
-@RequiredArgsConstructor
+//@RequiredArgsConstructor
public class ApproveProcessServiceImpl extends ServiceImpl<ApproveProcessMapper, ApproveProcess> implements IApproveProcessService {
private static final DateTimeFormatter DATE_FORMAT = DateTimeFormatter.ofPattern("yyyyMMdd");
- private final StringRedisTemplate redisTemplate;
-
- private final DailyRedisCounter dailyRedisCounter;
-
- private final SysDeptMapper sysDeptMapper;
- private final IApproveNodeService approveNodeService;
- private final SysUserMapper sysUserMapper;
- private final ApproveProcessMapper approveProcessMapper;
- private final TempFileServiceImpl tempFileService;
- private final CommonFileMapper commonFileMapper;
- private final ISysNoticeService sysNoticeService;
+ @Autowired
+ private StringRedisTemplate redisTemplate;
+ @Autowired
+ private DailyRedisCounter dailyRedisCounter;
+ @Autowired
+ private SysDeptMapper sysDeptMapper;
+ @Autowired
+ private IApproveNodeService approveNodeService;
+ @Autowired
+ private SysUserMapper sysUserMapper;
+ @Autowired
+ private ApproveProcessMapper approveProcessMapper;
+ @Autowired
+ private TempFileServiceImpl tempFileService;
+ @Autowired
+ private CommonFileMapper commonFileMapper;
+ @Autowired
+ private CommonFileServiceImpl commonFileService;
+ @Autowired
+ private ISysNoticeService sysNoticeService;
@Override
public void addApprove(ApproveProcessVO approveProcessVO) throws Exception {
@@ -124,11 +134,17 @@
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);
+ if (approveProcess.getApproveType()==8){
+ sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcess.getApproveType()),
+ approveProcess.getApproveId() + "娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
+ Arrays.asList(Long.valueOf(id)),
+ "/safeProduction/safeWorkApproval?approveType=" + approveProcess.getApproveType() + "&approveId=" + approveProcess.getApproveId());
+ }else {
+ sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcess.getApproveType()),
+ approveProcess.getApproveId() + "娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
+ Arrays.asList(Long.valueOf(id)),
+ "/collaborativeApproval/approvalProcess?approveType=" + approveProcess.getApproveType() + "&approveId=" + approveProcess.getApproveId());
+ }
}
@Override
@@ -154,19 +170,58 @@
return approveProcessIPage;
}
- @Override
- public void delApprove(Long[] ids) {
- ApproveProcess approveProcess;
+ public void delByIds(List<Long> ids) {
for (Long approveId : ids) {
// 閫昏緫鍒犻櫎瀹℃壒娴佺▼
update(new UpdateWrapper<ApproveProcess>()
.lambda()
.set(ApproveProcess::getApproveDelete, 1)
- .eq(ApproveProcess::getApproveId, approveId));
+ .eq(ApproveProcess::getId, approveId));
+ // 鍒犻櫎瀵瑰簲鐨勯檮浠�
+ commonFileService.deleteByBusinessId(approveId, FileNameType.ApproveProcess.getValue());
+ ApproveProcess approveProcess = approveProcessMapper.selectById(approveId);
// 鍒犻櫎瀹℃壒鑺傜偣
- approveNodeService.delApproveNodeByApproveId(approveId);
+ approveNodeService.delApproveNodeByApproveId(approveProcess.getApproveId());
+
+ // 鍙煡鏈�鏂颁竴鏉″鎵规祦绋�
+ ApproveProcess latestProcess = approveProcessMapper.selectOne(
+ new LambdaQueryWrapper<ApproveProcess>()
+ .eq(ApproveProcess::getApproveId, approveId)
+ .orderByDesc(ApproveProcess::getCreateTime)
+ .last("LIMIT 1"));
+
+ if (latestProcess == null) {
+ continue;
+ }
+
+
+ // 鍒犻櫎瀵瑰簲鐨勬秷鎭�氱煡
+ sysNoticeService.remove(new LambdaQueryWrapper<SysNotice>()
+ .eq(SysNotice::getNoticeTitle, approveProcessType(latestProcess.getApproveType()))
+ .eq(SysNotice::getSenderId, latestProcess.getApproveUser())
+ .apply("CAST(notice_content AS CHAR) LIKE CONCAT('%', {0}, '%')", latestProcess.getApproveId()));
+ }
+
+ }
+
+ @Override
+ public void delApprove(List<Long> ids) {
+ for (Long approveId : ids) {
+ ApproveProcess approveProcess = approveProcessMapper.selectOne(new LambdaQueryWrapper<ApproveProcess>()
+ .eq(ApproveProcess::getApproveId, approveId)
+ .eq(ApproveProcess::getApproveDelete, 0)
+ .last("LIMIT 1"));
+ // 閫昏緫鍒犻櫎瀹℃壒娴佺▼
+ update(new UpdateWrapper<ApproveProcess>()
+ .lambda()
+ .set(ApproveProcess::getApproveDelete, 1)
+ .eq(ApproveProcess::getApproveId, approveId));
+ // 鍒犻櫎瀵瑰簲鐨勯檮浠�
+ commonFileService.deleteByBusinessId(approveProcess.getId(), FileNameType.ApproveProcess.getValue());
+ // 鍒犻櫎瀹℃壒鑺傜偣
+ approveNodeService.delApproveNodeByApproveId(approveId.toString());
// 鍙煡鏈�鏂颁竴鏉″鎵规祦绋�
ApproveProcess latestProcess = approveProcessMapper.selectOne(
@@ -199,7 +254,8 @@
return one;
}
- private final ApproveNodeMapper approveNodeMapper;
+ @Autowired
+ private ApproveNodeMapper approveNodeMapper;
// 鎶ヤ环瀹℃壒缂栬緫瀹℃牳浜�
public void updateApproveUser(ApproveGetAndUpdateVo approveGetAndUpdateVo) {
@@ -230,17 +286,23 @@
LambdaQueryWrapper<ApproveNode> approveNodeLambdaQueryWrapper = new LambdaQueryWrapper<>();
approveNodeLambdaQueryWrapper.eq(ApproveNode::getApproveProcessId, approveProcess.getApproveId())
.eq(ApproveNode::getDeleteFlag, 0)
- .eq(ApproveNode::getTenantId, SecurityUtils.getLoginUser().getTenantId())
+// .eq(ApproveNode::getTenantId, SecurityUtils.getLoginUser().getTenantId())
.orderByAsc(ApproveNode::getApproveNodeOrder);
approveNodeMapper.delete(approveNodeLambdaQueryWrapper);
approveNodeService.initApproveNodes(approveGetAndUpdateVo.getApproveUserIds(), approveProcess.getApproveId(), approveProcess.getTenantId());
/*娑堟伅閫氱煡*/
String id = approveProcess.getApproveUserIds().split(",")[0];
- sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcess.getApproveType()),
- approveProcess.getApproveId() + "娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
- Arrays.asList(Long.valueOf(id)),
- approveProcess.getApproveDeptId(),
- "/collaborativeApproval/approvalProcess?approveType=" + approveProcess.getApproveType() + "&approveId=" + approveProcess.getApproveId());
+ if (approveProcess.getApproveType()==8){
+ sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcess.getApproveType()),
+ approveProcess.getApproveId() + "娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
+ Arrays.asList(Long.valueOf(id)),
+ "/safeProduction/safeWorkApproval?approveType=" + approveProcess.getApproveType() + "&approveId=" + approveProcess.getApproveId());
+ }else {
+ sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcess.getApproveType()),
+ approveProcess.getApproveId() + "娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
+ Arrays.asList(Long.valueOf(id)),
+ "/collaborativeApproval/approvalProcess?approveType=" + approveProcess.getApproveType() + "&approveId=" + approveProcess.getApproveId());
+ }
}
@@ -271,7 +333,7 @@
LambdaQueryWrapper<ApproveNode> approveNodeLambdaQueryWrapper = new LambdaQueryWrapper<>();
approveNodeLambdaQueryWrapper.eq(ApproveNode::getApproveProcessId, approve.getApproveId())
.eq(ApproveNode::getDeleteFlag, 0)
- .eq(ApproveNode::getTenantId, SecurityUtils.getLoginUser().getTenantId())
+// .eq(ApproveNode::getTenantId, SecurityUtils.getLoginUser().getTenantId())
.orderByAsc(ApproveNode::getApproveNodeOrder);
approveNodeMapper.delete(approveNodeLambdaQueryWrapper);
approveNodeService.initApproveNodes(approveGetAndUpdateVo.getApproveUserIds(), approve.getApproveId(), approve.getTenantId());
@@ -295,11 +357,17 @@
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());
+ if (approve.getApproveType()==8){
+ sysNoticeService.simpleNoticeByUser(approveProcessType(approve.getApproveType()),
+ approve.getApproveId() + "娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
+ Arrays.asList(Long.valueOf(id)),
+ "/safeProduction/safeWorkApproval?approveType=" + approve.getApproveType() + "&approveId=" + approve.getApproveId());
+ }else {
+ sysNoticeService.simpleNoticeByUser(approveProcessType(approve.getApproveType()),
+ approve.getApproveId() + "娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
+ Arrays.asList(Long.valueOf(id)),
+ "/collaborativeApproval/approvalProcess?approveType=" + approve.getApproveType() + "&approveId=" + approve.getApproveId());
+ }
}
@@ -320,10 +388,10 @@
case 6:
return "鎶ヤ环瀹℃壒";
case 7:
- return "鍑哄簱瀹℃壒";
+ return "鍙戣揣瀹℃壒";
+ case 8:
+ return "鍗遍櫓浣滀笟瀹℃壒";
}
return null;
}
-
-
}
--
Gitblit v1.9.3