From 7746f1fcb9b018735df79de7055170e6b1720775 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期二, 09 六月 2026 17:45:06 +0800
Subject: [PATCH] 增加废品发货信息接口
---
src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java | 6 ++++++
src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java | 5 +++++
src/main/java/com/ruoyi/stock/mapper/StockUninventoryMapper.java | 2 ++
src/main/resources/mapper/stock/StockUninventoryMapper.xml | 36 ++++++++++++++++++++++++++++++++++++
src/main/java/com/ruoyi/stock/service/StockUninventoryService.java | 4 ++++
5 files changed, 53 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java b/src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java
index 76a90ba..04e714a 100644
--- a/src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java
+++ b/src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java
@@ -49,6 +49,12 @@
return R.ok(stockUninventoryDtoIPage);
}
+ @GetMapping("/getWasteByModelId")
+ @Operation(summary = "鏍规嵁浜у搧瑙勬牸ID鑾峰彇搴熷搧搴撳瓨璁板綍")
+ public R getWasteByModelId(Long productModelId) {
+ return R.ok(stockUninventoryService.getWasteByModelId(productModelId));
+ }
+
@PostMapping("/addstockUninventory")
@Operation(summary = "鏂板搴撳瓨")
public R addstockUninventory(@RequestBody StockUninventoryDto stockUninventoryDto) {
diff --git a/src/main/java/com/ruoyi/stock/mapper/StockUninventoryMapper.java b/src/main/java/com/ruoyi/stock/mapper/StockUninventoryMapper.java
index 1b3cea6..fcc9a3b 100644
--- a/src/main/java/com/ruoyi/stock/mapper/StockUninventoryMapper.java
+++ b/src/main/java/com/ruoyi/stock/mapper/StockUninventoryMapper.java
@@ -30,6 +30,8 @@
IPage<StockUninventoryDto> getWasteBatchNoQty(Page page, @Param("ew") StockInventoryDto stockInventoryDto);
+ List<StockUninventoryDto> getWasteByModelId(@Param("productModelId") Long productModelId);
+
int updateSubtractStockUnInventory(@Param("ew") StockUninventoryDto stockUninventoryDto);
BigDecimal selectPendingOutQuantity(@Param("productModelId") Long productModelId, @Param("batchNo") String batchNo, @Param("type") String type);
diff --git a/src/main/java/com/ruoyi/stock/service/StockUninventoryService.java b/src/main/java/com/ruoyi/stock/service/StockUninventoryService.java
index 629ccb0..034c743 100644
--- a/src/main/java/com/ruoyi/stock/service/StockUninventoryService.java
+++ b/src/main/java/com/ruoyi/stock/service/StockUninventoryService.java
@@ -9,6 +9,8 @@
import jakarta.servlet.http.HttpServletResponse;
+import java.util.List;
+
/**
* <p>
* 涓嶅悎鏍煎簱瀛樿〃 鏈嶅姟绫�
@@ -25,6 +27,8 @@
IPage<StockUninventoryDto> getWasteBatchNoQty(Page page, StockInventoryDto stockInventoryDto);
+ List<StockUninventoryDto> getWasteByModelId(Long productModelId);
+
Integer addStockUninventory(StockUninventoryDto stockUninventoryDto);
Integer subtractStockUninventory(StockUninventoryDto stockUninventoryDto);
diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
index 77abca7..9648ee1 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
@@ -90,6 +90,11 @@
}
@Override
+ public List<StockUninventoryDto> getWasteByModelId(Long productModelId) {
+ return stockUninventoryMapper.getWasteByModelId(productModelId);
+ }
+
+ @Override
@Transactional(rollbackFor = Exception.class)
public Integer addStockUninventory(StockUninventoryDto stockUninventoryDto) {
String inventoryType = resolveInventoryType(stockUninventoryDto);
diff --git a/src/main/resources/mapper/stock/StockUninventoryMapper.xml b/src/main/resources/mapper/stock/StockUninventoryMapper.xml
index 049537b..3427221 100644
--- a/src/main/resources/mapper/stock/StockUninventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockUninventoryMapper.xml
@@ -241,6 +241,42 @@
order by su.batch_no
</select>
+ <select id="getWasteByModelId" resultType="com.ruoyi.stock.dto.StockUninventoryDto">
+ select
+ su.id,
+ su.batch_no,
+ COALESCE(su.locked_quantity, 0) as locked_quantity,
+ (su.qualitity - IFNULL(sd.qualitity, 0)) as qualitity,
+ p.product_name,
+ pm.model,
+ pm.unit,
+ su.product_model_id
+ from stock_uninventory su
+ left join (
+ select
+ sor.product_model_id,
+ sor.batch_no,
+ sum(spd.quantity) as qualitity
+ from shipping_product_detail spd
+ inner join stock_out_record sor
+ on sor.record_id = spd.shipping_info_id
+ and sor.record_type = '13'
+ and sor.type = '1'
+ and sor.approval_status in (0, 3)
+ and sor.product_model_id = spd.product_model_id
+ and (sor.batch_no = spd.batch_no or (sor.batch_no is null and spd.batch_no is null))
+ where spd.stock_type = 'waste'
+ group by sor.product_model_id, sor.batch_no
+ ) sd on sd.product_model_id = su.product_model_id
+ and (sd.batch_no = su.batch_no or (sd.batch_no is null and su.batch_no is null))
+ left join product_model pm on su.product_model_id = pm.id
+ left join product p on pm.product_id = p.id
+ where su.product_model_id = #{productModelId}
+ and su.type = 'waste'
+ and su.qualitity > IFNULL(sd.qualitity, 0)
+ order by su.batch_no
+ </select>
+
<select id="selectPendingOutQuantity" resultType="java.math.BigDecimal">
SELECT IFNULL(SUM(sor.stock_out_num), 0)
FROM stock_out_record sor
--
Gitblit v1.9.3