From 7486f6d6a93d98f96f45f0cc4846be9c8a2345df Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期二, 09 六月 2026 15:39:20 +0800
Subject: [PATCH] 增加废品库详情接口
---
src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java | 7 +++
src/main/java/com/ruoyi/stock/execl/StockUnInventoryExportData.java | 8 ++++
src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java | 42 ++++++++++++++++++++
src/main/java/com/ruoyi/stock/dto/StockUninventoryDto.java | 4 ++
src/main/java/com/ruoyi/stock/mapper/StockUninventoryMapper.java | 3 +
src/main/resources/mapper/stock/StockUninventoryMapper.xml | 40 +++++++++++++++++++-
src/main/java/com/ruoyi/stock/service/StockUninventoryService.java | 2 +
7 files changed, 103 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java b/src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java
index 10f2158..76a90ba 100644
--- a/src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java
+++ b/src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java
@@ -42,6 +42,13 @@
return R.ok(stockUninventoryDtoIPage);
}
+ @GetMapping("/getWasteBatchNoQty")
+ @Operation(summary = "鏌ヨ搴熷搧搴撳瓨瀵瑰簲鎵瑰彿鍜屾暟閲�")
+ public R getWasteBatchNoQty(Page page, StockInventoryDto stockInventoryDto) {
+ IPage<StockUninventoryDto> stockUninventoryDtoIPage = stockUninventoryService.getWasteBatchNoQty(page, stockInventoryDto);
+ return R.ok(stockUninventoryDtoIPage);
+ }
+
@PostMapping("/addstockUninventory")
@Operation(summary = "鏂板搴撳瓨")
public R addstockUninventory(@RequestBody StockUninventoryDto stockUninventoryDto) {
diff --git a/src/main/java/com/ruoyi/stock/dto/StockUninventoryDto.java b/src/main/java/com/ruoyi/stock/dto/StockUninventoryDto.java
index 90e3ab3..68c09d6 100644
--- a/src/main/java/com/ruoyi/stock/dto/StockUninventoryDto.java
+++ b/src/main/java/com/ruoyi/stock/dto/StockUninventoryDto.java
@@ -10,7 +10,11 @@
private String productName;
private String model;
private String unit;
+ private Long productId;
private Long topParentProductId;
+ private String manufacturerName;
+ private BigDecimal pendingOutQuantity;
+ private String sourceText;
//鍏ュ簱绫诲瀷
diff --git a/src/main/java/com/ruoyi/stock/execl/StockUnInventoryExportData.java b/src/main/java/com/ruoyi/stock/execl/StockUnInventoryExportData.java
index 3497905..43d71e1 100644
--- a/src/main/java/com/ruoyi/stock/execl/StockUnInventoryExportData.java
+++ b/src/main/java/com/ruoyi/stock/execl/StockUnInventoryExportData.java
@@ -17,6 +17,12 @@
@Excel(name = "瑙勬牸")
private String model;
+ @Excel(name = "鍘傚")
+ private String manufacturerName;
+
+ @Excel(name = "鏉ユ簮")
+ private String sourceText;
+
@Excel(name = "鍗曚綅")
private String unit;
@@ -41,4 +47,6 @@
@Excel(name = "鏈�鏂版洿鏂版椂闂�", width = 20, dateFormat = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
+ private String source;
+
}
diff --git a/src/main/java/com/ruoyi/stock/mapper/StockUninventoryMapper.java b/src/main/java/com/ruoyi/stock/mapper/StockUninventoryMapper.java
index 66241c3..1b3cea6 100644
--- a/src/main/java/com/ruoyi/stock/mapper/StockUninventoryMapper.java
+++ b/src/main/java/com/ruoyi/stock/mapper/StockUninventoryMapper.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.stock.dto.StockInventoryDto;
import com.ruoyi.stock.dto.StockUninventoryDto;
import com.ruoyi.stock.execl.StockUnInventoryExportData;
import com.ruoyi.stock.pojo.StockUninventory;
@@ -27,6 +28,8 @@
IPage<StockUninventoryDto> pageWasteQuery(Page page, @Param("ew") StockUninventoryDto stockUninventoryDto);
+ IPage<StockUninventoryDto> getWasteBatchNoQty(Page page, @Param("ew") StockInventoryDto stockInventoryDto);
+
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 3b3bb36..629ccb0 100644
--- a/src/main/java/com/ruoyi/stock/service/StockUninventoryService.java
+++ b/src/main/java/com/ruoyi/stock/service/StockUninventoryService.java
@@ -23,6 +23,8 @@
IPage<StockUninventoryDto> pageWasteQuery(Page page, StockUninventoryDto stockUninventoryDto);
+ IPage<StockUninventoryDto> getWasteBatchNoQty(Page page, StockInventoryDto stockInventoryDto);
+
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 bf7f294..4b0a36e 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
@@ -13,6 +13,7 @@
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.stock.enums.StockInventorySourceEnum;
import com.ruoyi.stock.dto.StockInRecordDto;
import com.ruoyi.stock.dto.StockInventoryDto;
import com.ruoyi.stock.dto.StockOutRecordDto;
@@ -62,7 +63,30 @@
@Override
public IPage<StockUninventoryDto> pageWasteQuery(Page page, StockUninventoryDto stockUninventoryDto) {
- return stockUninventoryMapper.pageWasteQuery(page, stockUninventoryDto);
+ IPage<StockUninventoryDto> resultPage = stockUninventoryMapper.pageWasteQuery(page, stockUninventoryDto);
+ resultPage.getRecords().forEach(dto -> {
+ if (StringUtils.isNotEmpty(dto.getSource())) {
+ StockInventorySourceEnum sourceEnum = StockInventorySourceEnum.fromCode(dto.getSource());
+ if (sourceEnum != null) {
+ dto.setSourceText(sourceEnum.getValue());
+ }
+ }
+ });
+ return resultPage;
+ }
+
+ @Override
+ public IPage<StockUninventoryDto> getWasteBatchNoQty(Page page, StockInventoryDto stockInventoryDto) {
+ IPage<StockUninventoryDto> resultPage = stockUninventoryMapper.getWasteBatchNoQty(page, stockInventoryDto);
+ resultPage.getRecords().forEach(dto -> {
+ if (StringUtils.isNotEmpty(dto.getSource())) {
+ StockInventorySourceEnum unQualifiedSourceEnum = StockInventorySourceEnum.fromCode(dto.getSource());
+ if (unQualifiedSourceEnum != null) {
+ dto.setSourceText(unQualifiedSourceEnum.getValue());
+ }
+ }
+ });
+ return resultPage;
}
@Override
@@ -192,6 +216,14 @@
@Override
public void exportStockUninventory(HttpServletResponse response, StockUninventoryDto stockUninventoryDto) {
List<StockUnInventoryExportData> list = stockUninventoryMapper.listStockInventoryExportData(stockUninventoryDto);
+ list.forEach(item -> {
+ if (StringUtils.isNotEmpty(item.getSource())) {
+ StockInventorySourceEnum sourceEnum = StockInventorySourceEnum.fromCode(item.getSource());
+ if (sourceEnum != null) {
+ item.setSourceText(sourceEnum.getValue());
+ }
+ }
+ });
ExcelUtil<StockUnInventoryExportData> util = new ExcelUtil<>(StockUnInventoryExportData.class);
util.exportExcel(response,list, "涓嶅悎鏍煎簱瀛樹俊鎭�");
}
@@ -199,6 +231,14 @@
@Override
public void exportWasteQuery(HttpServletResponse response, StockUninventoryDto stockUninventoryDto) {
List<StockUnInventoryExportData> list = stockUninventoryMapper.listWasteQueryExportData(stockUninventoryDto);
+ list.forEach(item -> {
+ if (StringUtils.isNotEmpty(item.getSource())) {
+ StockInventorySourceEnum sourceEnum = StockInventorySourceEnum.fromCode(item.getSource());
+ if (sourceEnum != null) {
+ item.setSourceText(sourceEnum.getValue());
+ }
+ }
+ });
ExcelUtil<StockUnInventoryExportData> util = new ExcelUtil<>(StockUnInventoryExportData.class);
util.exportExcel(response, list, "搴熷搧鏌ヨ淇℃伅");
}
diff --git a/src/main/resources/mapper/stock/StockUninventoryMapper.xml b/src/main/resources/mapper/stock/StockUninventoryMapper.xml
index 5aa3b9a..fbdb322 100644
--- a/src/main/resources/mapper/stock/StockUninventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockUninventoryMapper.xml
@@ -30,6 +30,7 @@
from stock_uninventory su
left join product_model pm on su.product_model_id = pm.id
left join product p on pm.product_id = p.id
+ left join manufacturer m on su.manufacturer_id = m.id
</sql>
<sql id="WastePageColumns">
@@ -44,7 +45,9 @@
(su.qualitity - COALESCE(su.locked_quantity, 0)) as un_locked_quantity,
pm.model,
pm.unit,
- p.product_name
+ p.product_name,
+ m.name as manufacturer_name,
+ su.source
</sql>
<update id="updateSubtractStockUnInventory">
@@ -164,7 +167,8 @@
su.*,
pm.model,
pm.unit,
- p.product_name
+ p.product_name,
+ m.name as manufacturer_name
<include refid="BaseWasteFromClause" />
<where>
<if test="ew.type != null and ew.type != ''">
@@ -183,6 +187,7 @@
pm.model,
pm.unit,
p.product_name,
+ m.name as manufacturer_name,
(su.qualitity - COALESCE(su.locked_quantity, 0)) as un_locked_quantity
<include refid="BaseWasteFromClause" />
<where>
@@ -203,6 +208,37 @@
order by su.update_time desc, su.id desc
</select>
+ <select id="getWasteBatchNoQty" resultType="com.ruoyi.stock.dto.StockUninventoryDto">
+ select
+ su.id,
+ p.product_name,
+ pm.model,
+ m.name as manufacturer_name,
+ su.source,
+ pm.unit,
+ su.batch_no,
+ su.qualitity,
+ COALESCE(su.locked_quantity, 0) as locked_quantity,
+ (su.qualitity - COALESCE(su.locked_quantity, 0)) as un_locked_quantity,
+ su.remark,
+ su.update_time,
+ su.product_model_id
+ from stock_uninventory su
+ left join product_model pm on su.product_model_id = pm.id
+ left join product p on pm.product_id = p.id
+ left join manufacturer m on su.manufacturer_id = m.id
+ <where>
+ and su.type = 'waste'
+ <if test="ew.productModelId != null and ew.productModelId > 0">
+ and su.product_model_id = #{ew.productModelId}
+ </if>
+ <if test="ew.productId != null and ew.productId > 0">
+ and p.id = #{ew.productId}
+ </if>
+ </where>
+ 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