From a76e1d17d67641993dea6335cb8e1465a94df58d Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 21 五月 2026 15:39:05 +0800
Subject: [PATCH] feat(stock): 优化库存管理和成品树结构功能 1- 为ApproveProcessMapper.xml和ProductBomMapper.xml添加排序功能 2- 在ProductionProductMainDto中新增bomInputQty字段用于产品结构投入数量 3- 修改ProductionProductMainServiceImpl中投入数量计算逻辑,使用前端传入的bomInputQty值 4- 在ProductWorkOrderDto中添加bomInputQty字段并在服务实现中计算标准投入数量 5- 更新SalesLedgerMapper.xml查询逻辑,从product_summary获取电压信息 6- 为SalesLedgerProduct添加stockId字段并修改库存扣减逻辑使用具体库存ID 7- 重构StockInventoryController中的成品库存树查询接口和导入导出功能 8- 新增成品和非成品库存导入导出的数据模型和Excel工具类 9- 优化StockInventoryServiceImpl中的库存扣减逻辑,支持按特定库存ID操作 10- 更新库存导入导出功能,区分成品和非成品类型并提供相应模板
---
src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java | 20 ++++++++++----------
1 files changed, 10 insertions(+), 10 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 af8fe1d..f0b6222 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -16,6 +16,7 @@
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.other.service.impl.TempFileServiceImpl;
import com.ruoyi.project.system.domain.SysDept;
import com.ruoyi.project.system.domain.SysNotice;
@@ -85,14 +86,11 @@
if (CollectionUtils.isEmpty(sysUsers)) throw new RuntimeException("瀹℃牳鐢ㄦ埛涓嶅瓨鍦�");
if (sysDept == null) throw new RuntimeException("閮ㄩ棬涓嶅瓨鍦�");
if (sysUser == null) throw new RuntimeException("鐢宠浜轰笉瀛樺湪");
- String today = LocalDate.now().format(DATE_FORMAT);
- Long approveId = dailyRedisCounter.incrementAndGetByDb();
- String formattedCount = String.format("%03d", approveId);
- //娴佺▼ ID
- String approveID = today + formattedCount;
+
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
ApproveProcess approveProcess = new ApproveProcess();
- approveProcess.setApproveId(approveID);
+ String no = OrderUtils.countTodayByCreateTime(approveProcessMapper, "", "approve_id");
+ approveProcess.setApproveId(no);
approveProcess.setApproveUser(approveProcessVO.getApproveUser());
approveProcess.setApproveUserName(sysUser.getNickName());
approveProcess.setApproveDeptId(approveProcessVO.getApproveDeptId());
@@ -120,8 +118,8 @@
.getNickName());
approveProcess.setStorageType(approveProcessVO.getStorageType());
approveProcess.setInventoryReview(approveProcessVO.isInventoryReview());
- approveProcess.setInventoryReview(approveProcessVO.isInventoryReview());
approveProcess.setRecordId(approveProcessVO.getRecordId());
+ approveProcess.setPurchaseLedgerId(approveProcessVO.getPurchaseLedgerId());
// 璁剧疆鐘舵�佷负閲嶆柊鎻愪氦
if (approveProcessVO.getId() != null) {
ApproveProcess approveProcess1 = approveProcessMapper.selectById(approveProcessVO.getId());
@@ -130,7 +128,7 @@
}
save(approveProcess);
//鍒濆鍖栧鎵硅妭鐐�
- approveNodeService.initApproveNodes(approveProcessVO.getApproveUserIds(), approveID, approveProcessVO.getApproveDeptId());
+ approveNodeService.initApproveNodes(approveProcessVO.getApproveUserIds(), no, approveProcessVO.getApproveDeptId(),approveProcess.getId());
// 闄勪欢缁戝畾
tempFileService.migrateTempFilesToFormal(approveProcess.getId(), approveProcessVO.getTempFileIds(), FileNameType.ApproveProcess.getValue());
/*娑堟伅閫氱煡*/
@@ -336,7 +334,7 @@
// .eq(ApproveNode::getTenantId, SecurityUtils.getLoginUser().getTenantId())
.orderByAsc(ApproveNode::getApproveNodeOrder);
approveNodeMapper.delete(approveNodeLambdaQueryWrapper);
- approveNodeService.initApproveNodes(approveGetAndUpdateVo.getApproveUserIds(), approveProcess.getApproveId(), approveProcess.getTenantId());
+ approveNodeService.initApproveNodes(approveGetAndUpdateVo.getApproveUserIds(), approveProcess.getApproveId(), approveProcess.getTenantId(),null);
/*娑堟伅閫氱煡*/
String id = approveProcess.getApproveUserIds().split(",")[0];
if (approveProcess.getApproveType() == 8) {
@@ -383,7 +381,7 @@
// .eq(ApproveNode::getTenantId, SecurityUtils.getLoginUser().getTenantId())
.orderByAsc(ApproveNode::getApproveNodeOrder);
approveNodeMapper.delete(approveNodeLambdaQueryWrapper);
- approveNodeService.initApproveNodes(approveGetAndUpdateVo.getApproveUserIds(), approve.getApproveId(), approve.getTenantId());
+ approveNodeService.initApproveNodes(approveGetAndUpdateVo.getApproveUserIds(), approve.getApproveId(), approve.getTenantId(),approve.getId());
// int i = 0;
// for (ApproveNode approveNode : list) {
@@ -440,6 +438,8 @@
return "鍗遍櫓浣滀笟瀹℃壒";
case 9:
return "鍏ュ簱瀹℃壒";
+ case 10:
+ return "閫氱煡";
}
return null;
}
--
Gitblit v1.9.3