From c8b387728909a6de2109505439308aaa9f44d3de Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期三, 25 三月 2026 13:21:16 +0800
Subject: [PATCH] 库存不足提示需改成对应的投入产品库存不足(
---
src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 48 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
index e6aa3c3..b9a065e 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
@@ -8,6 +8,10 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
import com.ruoyi.approve.vo.ApproveProcessVO;
+import com.ruoyi.basic.mapper.ProductMapper;
+import com.ruoyi.basic.mapper.ProductModelMapper;
+import com.ruoyi.basic.pojo.Product;
+import com.ruoyi.basic.pojo.ProductModel;
import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
@@ -58,6 +62,10 @@
private SalesLedgerProductMapper salesLedgerProductMapper;
@Autowired
private ApproveProcessServiceImpl approveProcessService;
+ @Autowired
+ private ProductModelMapper productModelMapper;
+ @Autowired
+ private ProductMapper productMapper;
@Override
public IPage<StockInventoryDto> pagestockInventory(Page page, StockInventoryDto stockInventoryDto) {
@@ -77,12 +85,13 @@
stockInRecordDto.setRemark(stockInventoryDto.getRemark());
stockInRecordDto.setWarnNum(stockInventoryDto.getWarnNum());
stockInRecordDto.setLockedQuantity(stockInventoryDto.getLockedQuantity());
+ stockInRecordDto.setApproveStatus(0);
stockInRecordDto.setType("0");
- int add = stockInRecordService.add(stockInRecordDto);
+ Long id = stockInRecordService.add(stockInRecordDto);
LoginUser loginUser = SecurityUtils.getLoginUser();
- if (add > 0) {
+ if (id != null) {
try {
- addApproveByPurchase(loginUser, stockInRecordDto);
+ addApproveByPurchase(loginUser, stockInRecordDto,id);
} catch (Exception e) {
e.printStackTrace();
}
@@ -90,7 +99,7 @@
return true;
}
- public void addApproveByPurchase(LoginUser loginUser, StockInRecordDto stockInRecordDto) throws Exception {
+ public void addApproveByPurchase(LoginUser loginUser, StockInRecordDto stockInRecordDto,Long id) throws Exception {
ApproveProcessVO approveProcessVO = new ApproveProcessVO();
approveProcessVO.setApproveType(9);
approveProcessVO.setApproveDeptId(loginUser.getCurrentDeptId());
@@ -100,7 +109,7 @@
approveProcessVO.setApproveTime(LocalDate.now().toString());
approveProcessVO.setInventoryReview(false);
approveProcessVO.setStorageType("鍚堟牸鍏ュ簱");
- approveProcessVO.setRecordId(stockInRecordDto.getId());
+ approveProcessVO.setRecordId(id);
approveProcessService.addApprove(approveProcessVO);
}
@@ -146,6 +155,36 @@
}
}
+ //鍗婃垚鍝佺洿鎺ュ叆搴�
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Boolean addstockInventoryNoReview(StockInventoryDto stockInventoryDto) {
+ //鏂板鍏ュ簱璁板綍鍐嶆坊鍔犲簱瀛�
+ StockInRecordDto stockInRecordDto = new StockInRecordDto();
+ stockInRecordDto.setRecordId(stockInventoryDto.getRecordId());
+ stockInRecordDto.setRecordType(stockInventoryDto.getRecordType());
+ stockInRecordDto.setStockInNum(stockInventoryDto.getQualitity());
+ stockInRecordDto.setProductModelId(stockInventoryDto.getProductModelId());
+ stockInRecordDto.setType("0");
+ stockInRecordService.add(stockInRecordDto);
+ //鍐嶈繘琛屾柊澧炲簱瀛樻暟閲忓簱瀛�
+ //鍏堟煡璇㈠簱瀛樿〃涓殑浜у搧鏄惁瀛樺湪锛屼笉瀛樺湪鏂板锛屽瓨鍦ㄦ洿鏂�
+ StockInventory oldStockInventory = stockInventoryMapper.selectOne(new QueryWrapper<StockInventory>().lambda().eq(StockInventory::getProductModelId, stockInventoryDto.getProductModelId()));
+ if (ObjectUtils.isEmpty(oldStockInventory)) {
+ StockInventory newStockInventory = new StockInventory();
+ newStockInventory.setProductModelId(stockInventoryDto.getProductModelId());
+ newStockInventory.setQualitity(stockInventoryDto.getQualitity());
+ newStockInventory.setVersion(1);
+ newStockInventory.setRemark(stockInventoryDto.getRemark());
+ newStockInventory.setLockedQuantity(stockInventoryDto.getLockedQuantity());
+ newStockInventory.setWarnNum(stockInventoryDto.getWarnNum());
+ stockInventoryMapper.insert(newStockInventory);
+ }else {
+ stockInventoryMapper.updateAddStockInventory(stockInventoryDto);
+ }
+ return true;
+ }
+
//鍑哄簱璋冪敤
@Override
@Transactional(rollbackFor = Exception.class)
@@ -167,7 +206,10 @@
lockedQty = BigDecimal.ZERO;
}
if (stockInventoryDto.getQualitity().compareTo(oldStockInventory.getQualitity().subtract(lockedQty)) > 0) {
- throw new RuntimeException("搴撳瓨涓嶈冻鏃犳硶鍑哄簱");
+ // 鏌ヨ浜у搧瑙勬牸鍚�
+ ProductModel productModel = productModelMapper.selectById(stockInventoryDto.getProductModelId());
+ Product product = productMapper.selectById(productModel.getProductId());
+ throw new RuntimeException(product.getProductName()+"/"+productModel.getModel() + "搴撳瓨涓嶈冻鏃犳硶鍑哄簱");
}
stockInventoryMapper.updateSubtractStockInventory(stockInventoryDto);
--
Gitblit v1.9.3