From b28173836631e9ecb1aafbaa5786c0383462208e Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 12 三月 2026 15:09:57 +0800
Subject: [PATCH] 1.生产成品添加审核流程,半成品不审核
---
src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java | 113 ++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 81 insertions(+), 32 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 14fe835..af8fe1d 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -16,8 +16,6 @@
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.SysNotice;
@@ -25,28 +23,27 @@
import com.ruoyi.project.system.mapper.SysDeptMapper;
import com.ruoyi.project.system.mapper.SysUserMapper;
import com.ruoyi.project.system.service.ISysNoticeService;
+import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
+import com.ruoyi.purchase.pojo.PurchaseLedger;
import com.ruoyi.sales.mapper.CommonFileMapper;
+import com.ruoyi.sales.mapper.ShippingInfoMapper;
import com.ruoyi.sales.pojo.CommonFile;
+import com.ruoyi.sales.pojo.ShippingInfo;
import com.ruoyi.sales.service.impl.CommonFileServiceImpl;
-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;
import org.springframework.stereotype.Service;
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;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -56,25 +53,25 @@
private static final DateTimeFormatter DATE_FORMAT = DateTimeFormatter.ofPattern("yyyyMMdd");
@Autowired
- private StringRedisTemplate redisTemplate;
+ private StringRedisTemplate redisTemplate;
@Autowired
- private DailyRedisCounter dailyRedisCounter;
+ private DailyRedisCounter dailyRedisCounter;
@Autowired
- private SysDeptMapper sysDeptMapper;
+ private SysDeptMapper sysDeptMapper;
@Autowired
- private IApproveNodeService approveNodeService;
+ private IApproveNodeService approveNodeService;
@Autowired
- private SysUserMapper sysUserMapper;
+ private SysUserMapper sysUserMapper;
@Autowired
- private ApproveProcessMapper approveProcessMapper;
+ private ApproveProcessMapper approveProcessMapper;
@Autowired
- private TempFileServiceImpl tempFileService;
+ private TempFileServiceImpl tempFileService;
@Autowired
- private CommonFileMapper commonFileMapper;
+ private CommonFileMapper commonFileMapper;
@Autowired
- private CommonFileServiceImpl commonFileService;
+ private CommonFileServiceImpl commonFileService;
@Autowired
- private ISysNoticeService sysNoticeService;
+ private ISysNoticeService sysNoticeService;
@Override
public void addApprove(ApproveProcessVO approveProcessVO) throws Exception {
@@ -121,6 +118,10 @@
.collect(Collectors.toList())
.get(0)
.getNickName());
+ approveProcess.setStorageType(approveProcessVO.getStorageType());
+ approveProcess.setInventoryReview(approveProcessVO.isInventoryReview());
+ approveProcess.setInventoryReview(approveProcessVO.isInventoryReview());
+ approveProcess.setRecordId(approveProcessVO.getRecordId());
// 璁剧疆鐘舵�佷负閲嶆柊鎻愪氦
if (approveProcessVO.getId() != null) {
ApproveProcess approveProcess1 = approveProcessMapper.selectById(approveProcessVO.getId());
@@ -134,12 +135,12 @@
tempFileService.migrateTempFilesToFormal(approveProcess.getId(), approveProcessVO.getTempFileIds(), FileNameType.ApproveProcess.getValue());
/*娑堟伅閫氱煡*/
String id = approveProcessVO.getApproveUserIds().split(",")[0];
- if (approveProcess.getApproveType()==8){
+ 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 {
+ } else {
sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcess.getApproveType()),
approveProcess.getApproveId() + "娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
Arrays.asList(Long.valueOf(id)),
@@ -157,15 +158,61 @@
return sysDeptList;
}
+ @Autowired
+ private PurchaseLedgerMapper purchaseLedgerMapper;
+
+ @Autowired
+ private ShippingInfoMapper shippingInfoMapper;
+
@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);
+ List<CommonFile> allFiles = new ArrayList<>();
+
+ // 閲囪喘瀹℃壒鏌ヨ
+ if (record.getApproveType() == 5) {
+ String contractNo = record.getApproveReason();
+ PurchaseLedger ledger = purchaseLedgerMapper.selectOne(new LambdaQueryWrapper<PurchaseLedger>()
+ .eq(PurchaseLedger::getPurchaseContractNumber, contractNo)
+ .last("limit 1"));
+
+ if (ledger != null) {
+ allFiles = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>()
+ .eq(CommonFile::getCommonId, ledger.getId())
+ .eq(CommonFile::getType, FileNameType.PURCHASE.getValue()));
+ }
+ }
+
+ // 鍙戣揣瀹℃壒鏌ヨ
+ else if (record.getApproveType() == 7) {
+ String reason = record.getApproveReason(); // 鏍煎紡涓� "xx:...-..."
+ if (StringUtils.hasText(reason) && reason.contains(":")) {
+ // 鎻愬彇鍐掑彿鍚庨潰鐨勫彂璐у崟鍙�
+ String shippingNo = reason.split(":")[1];
+ // 鏍规嵁鍙戣揣鍗曞彿鏌ヨ鍙戣揣鍙拌处璁板綍
+ ShippingInfo shippingInfo = shippingInfoMapper.selectOne(new LambdaQueryWrapper<ShippingInfo>()
+ .eq(ShippingInfo::getShippingNo, shippingNo)
+ .last("limit 1"));
+ if (shippingInfo != null) {
+ // 浣跨敤鍙戣揣鍙拌处鐨� 閿�鍞彴璐D 鍘绘煡闄勪欢
+ allFiles = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>()
+ .eq(CommonFile::getCommonId, shippingInfo.getSalesLedgerId())
+ .eq(CommonFile::getType, FileNameType.SALE.getValue()));
+ }
+ }
+ }
+
+ // 鏌ヨ瀹℃壒鍗曡嚜韬殑闄勪欢
+ else {
+ allFiles = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>()
+ .eq(CommonFile::getCommonId, record.getId())
+ .eq(CommonFile::getType, FileNameType.ApproveProcess.getValue()));
+ }
+
+ record.setCommonFileList(allFiles);
}
return approveProcessIPage;
}
@@ -236,9 +283,9 @@
// 鍒犻櫎瀵瑰簲鐨勬秷鎭�氱煡
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()));
+ .eq(SysNotice::getNoticeTitle, approveProcessType(latestProcess.getApproveType()))
+ .eq(SysNotice::getSenderId, latestProcess.getApproveUser())
+ .apply("CAST(notice_content AS CHAR) LIKE CONCAT('%', {0}, '%')", latestProcess.getApproveId()));
}
}
@@ -246,8 +293,8 @@
@Override
public ApproveProcess getApproveById(String id) {
ApproveProcess one = approveProcessMapper.selectList(Wrappers.<ApproveProcess>lambdaQuery()
- .eq(ApproveProcess::getApproveId,id)
- .eq(ApproveProcess::getApproveDelete,0)).get(0);
+ .eq(ApproveProcess::getApproveId, id)
+ .eq(ApproveProcess::getApproveDelete, 0)).get(0);
one.setCommonFileList(commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>()
.eq(CommonFile::getCommonId, one.getId())
.eq(CommonFile::getType, FileNameType.ApproveProcess.getValue())));
@@ -292,12 +339,12 @@
approveNodeService.initApproveNodes(approveGetAndUpdateVo.getApproveUserIds(), approveProcess.getApproveId(), approveProcess.getTenantId());
/*娑堟伅閫氱煡*/
String id = approveProcess.getApproveUserIds().split(",")[0];
- if (approveProcess.getApproveType()==8){
+ 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 {
+ } else {
sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcess.getApproveType()),
approveProcess.getApproveId() + "娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
Arrays.asList(Long.valueOf(id)),
@@ -357,12 +404,12 @@
tempFileService.migrateTempFilesToFormal(approve.getId(), approveGetAndUpdateVo.getTempFileIds(), FileNameType.ApproveProcess.getValue());
/*娑堟伅閫氱煡*/
String id = approve.getApproveUserIds().split(",")[0];
- if (approve.getApproveType()==8){
+ 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 {
+ } else {
sysNoticeService.simpleNoticeByUser(approveProcessType(approve.getApproveType()),
approve.getApproveId() + "娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
Arrays.asList(Long.valueOf(id)),
@@ -391,6 +438,8 @@
return "鍙戣揣瀹℃壒";
case 8:
return "鍗遍櫓浣滀笟瀹℃壒";
+ case 9:
+ return "鍏ュ簱瀹℃壒";
}
return null;
}
--
Gitblit v1.9.3