From 3257a0d66eb770cd4a4bba4b48ddf26ec6d6c046 Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期三, 14 一月 2026 15:24:16 +0800
Subject: [PATCH] 修改查询库存工具类,增添库存管理-成品库存接口,
---
src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java | 8 +++++++-
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java | 2 +-
src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java | 3 +++
src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java | 16 ++++++++++++++++
src/main/java/com/ruoyi/basic/pojo/ProductModel.java | 11 +++++++++++
src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java | 14 +++++++++++---
6 files changed, 49 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/ruoyi/basic/pojo/ProductModel.java b/src/main/java/com/ruoyi/basic/pojo/ProductModel.java
index 3997459..d5e0aac 100644
--- a/src/main/java/com/ruoyi/basic/pojo/ProductModel.java
+++ b/src/main/java/com/ruoyi/basic/pojo/ProductModel.java
@@ -5,6 +5,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.math.BigDecimal;
+
@Data
@TableName("product_model")
public class ProductModel {
@@ -51,4 +53,13 @@
@ApiModelProperty(value = "绉熸埛ID")
@TableField(fill = FieldFill.INSERT)
private Long tenantId;
+ @TableField(exist = false)
+ @Excel(name = "鍏ュ簱鏁伴噺")
+ private BigDecimal inboundNum;
+ @TableField(exist = false)
+ @Excel(name = "鍑哄簱鏁伴噺")
+ private BigDecimal outboundNum;
+ @TableField(exist = false)
+ @Excel(name = "鍓╀綑搴撳瓨")
+ private BigDecimal stockQuantity;
}
diff --git a/src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java b/src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java
index 1795c15..4a15307 100644
--- a/src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java
+++ b/src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.pojo.ProductModel;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
@@ -226,5 +227,10 @@
util.exportExcel(response, customStorages, "鍏ュ簱鍙拌处");
}
-
+ @GetMapping("/listPageProductionStock")
+ @Log(title = "搴撳瓨绠$悊-鎴愬搧搴撳瓨", businessType = BusinessType.OTHER)
+ public AjaxResult listPageProductionStock(Page page) {
+ IPage<ProductModel> result = procurementRecordService.listPageProductionStock(page);
+ return AjaxResult.success(result);
+ }
}
diff --git a/src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java b/src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java
index 8e68c64..9813441 100644
--- a/src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java
+++ b/src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.basic.pojo.ProductModel;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.procurementrecord.dto.*;
import com.ruoyi.procurementrecord.pojo.CustomStorage;
@@ -58,4 +59,6 @@
BigDecimal getProcurementAmount(Long salesProductId);
InventoryInformationDto getReportList();
+
+ IPage<ProductModel> listPageProductionStock(Page page);
}
diff --git a/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java b/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
index d0399a6..a81c83e 100644
--- a/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
@@ -4,6 +4,8 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.mapper.ProductModelMapper;
+import com.ruoyi.basic.pojo.ProductModel;
import com.ruoyi.common.utils.OrderUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
@@ -17,6 +19,7 @@
import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut;
import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage;
import com.ruoyi.procurementrecord.service.ProcurementRecordService;
+import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
@@ -48,6 +51,8 @@
private final ProcurementRecordOutMapper procurementRecordOutMapper;
private final SalesLedgerProductMapper salesLedgerProductMapper;
+ private final StockUtils stockUtils;
+ private final ProductModelMapper productModelMapper;
@Override
public List<ProcurementDto> listProcurementBySalesLedgerId(ProcurementDto procurementDto) {
@@ -872,5 +877,16 @@
}
return procurementPageDtoCopyIPage;
}
+ @Override
+ public IPage<ProductModel> listPageProductionStock(Page page) {
+ ProductModel productModel = new ProductModel();
+ IPage<ProductModel> iPage = productModelMapper.listPageProductModel(page, productModel);
+ iPage.getRecords().forEach(item -> {
+ item.setInboundNum(stockUtils.getStockQuantity(item.getId()).get("inboundNum"));
+ item.setOutboundNum(stockUtils.getStockQuantity(item.getId()).get("outboundNum"));
+ item.setStockQuantity(stockUtils.getStockQuantity(item.getId()).get("stockQuantity"));
+ });
+ return iPage;
+ }
}
diff --git a/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java b/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
index ce2cbc9..0d61f87 100644
--- a/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
+++ b/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
@@ -6,6 +6,8 @@
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.Map;
@Component
@RequiredArgsConstructor
@@ -13,12 +15,18 @@
private final ProcurementRecordOutMapper procurementRecordOutMapper;
private final ProcurementRecordMapper procurementRecordMapper;
- // 鑾峰彇鍟嗗搧鍓╀綑搴撳瓨
- public BigDecimal getStockQuantity(Long productModelId) {
+ // 鑾峰彇鍟嗗搧鍏ュ簱鏁伴噺,鍑哄簱鏁伴噺,鍓╀綑搴撳瓨
+ public Map<String, BigDecimal> getStockQuantity(Long productModelId) {
// 鍏ュ簱鏁伴噺
BigDecimal sumQuantity = procurementRecordMapper.getSumQuantity(productModelId);
// 鍑哄簱鏁伴噺
BigDecimal outQuantity = procurementRecordOutMapper.getSumQuantity(productModelId);
- return outQuantity.compareTo(sumQuantity) > 0 ? BigDecimal.ZERO : sumQuantity.subtract(outQuantity);
+ // 鍓╀綑搴撳瓨
+ BigDecimal stockQuantity = outQuantity.compareTo(sumQuantity) > 0 ? BigDecimal.ZERO : sumQuantity.subtract(outQuantity);
+ Map<String, BigDecimal> stockMap = new HashMap<>();
+ stockMap.put("inboundNum", sumQuantity);
+ stockMap.put("outboundNum", outQuantity);
+ stockMap.put("stockQuantity", stockQuantity);
+ return stockMap;
}
}
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
index 046f8c4..482755b 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -189,7 +189,7 @@
for (ProductStructureDto productStructureDto : productStructureDtos) {
ProductModel productModel1 = productModelMapper.selectById(productStructureDto.getProductModelId());
- BigDecimal stockQuantity = stockUtils.getStockQuantity(productModel1.getId());
+ BigDecimal stockQuantity = stockUtils.getStockQuantity(productModel1.getId()).get("stockQuantity");
if (!(stockQuantity.compareTo(BigDecimal.ZERO) > 0)) {
throw new RuntimeException("搴撳瓨涓嶈冻");
}
--
Gitblit v1.9.3