From a67543042803ec4ea9b875f0ead049dae7720a8f Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 30 三月 2026 10:50:43 +0800
Subject: [PATCH] 发货库存校验1.0

---
 src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java                      |    8 +++-----
 src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml                  |    3 ++-
 src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java                    |    2 ++
 src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java |    6 +++---
 src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordStorage.java             |    2 ++
 5 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java
index 9b7c280..1ba8851 100644
--- a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java
+++ b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java
@@ -34,6 +34,8 @@
 
     private String salesLedgerProductId;
 
+    private Long productModelId;
+
     /**
      * 鍑哄叆搴撴暟閲�
      */
diff --git a/src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordStorage.java b/src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordStorage.java
index 5be382b..7c4df40 100644
--- a/src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordStorage.java
+++ b/src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordStorage.java
@@ -86,4 +86,6 @@
      */
     @TableField(fill = FieldFill.INSERT)
     private Long tenantId;
+
+    private Long productModelId;
 }
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 34e2433..efae51a 100644
--- a/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
@@ -65,18 +65,18 @@
             List<ProcurementRecordStorage> collect1 = procurementRecordStorages.stream()
                     .filter(procurementRecordStorage -> procurementRecordStorage.getSalesLedgerProductId().equals(dto.getId()))
                     .collect(Collectors.toList());
-            
+
             // 濡傛灉娌℃湁鐩稿叧鐨勫叆搴撹褰曪紝璺宠繃璇ユ潯鏁版嵁
             if(CollectionUtils.isEmpty(collect1)){
                 dto.setQuantity0(dto.getQuantity());
                 continue;
             }
-            
+
             // 璁$畻宸插叆搴撴暟閲忔�诲拰锛屽苟璁剧疆寰呭叆搴撴暟閲�
             BigDecimal totalInboundNum = collect1.stream()
                     .map(ProcurementRecordStorage::getInboundNum)
                     .reduce(BigDecimal.ZERO, BigDecimal::add);
-            
+
             // 寰呭叆搴撴暟閲� = 鎬绘暟閲� - 宸插叆搴撴暟閲�
             dto.setQuantity0(dto.getQuantity().subtract(totalInboundNum));
         }
diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
index 356a9de..77d7a84 100644
--- a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
+++ b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
@@ -282,18 +282,16 @@
         List<ProcurementPageDto> procurementPageDtoList = new ArrayList<>();
         list.forEach(item -> {
             ProcurementPageDto procurementDto = new ProcurementPageDto();
-            procurementDto.setSalesLedgerProductId(String.valueOf(item.getId()));
-            Page<ProcurementPageDto> page = new Page<>(1, 50);
-            IPage<ProcurementPageDto> procurementPageDtoIPage = procurementRecordService.listPage(page, procurementDto);
+            IPage<ProcurementPageDto> procurementPageDtoIPage = procurementRecordService.listPage(new Page<>(1, -1), procurementDto);
             procurementPageDtoList.addAll(procurementPageDtoIPage.getRecords());
         });
-        if(!CollectionUtils.isEmpty(procurementPageDtoList)){
+        if(CollectionUtils.isEmpty(procurementPageDtoList)){
             throw new RuntimeException("璇ヤ骇鍝佸簱瀛樹笉瀛樺湪");
         }
         AtomicInteger num = new AtomicInteger();
         list.forEach(item -> {
             procurementPageDtoList.forEach(procurementPageDto -> {
-                if(String.valueOf(item.getId().intValue()).equals(procurementPageDto.getSalesLedgerProductId())){
+                if(item.getProductModelId().equals(procurementPageDto.getProductModelId())){
                     if (item.getQuantity().compareTo(procurementPageDto.getInboundNum0()) <= 0) {
                         num.getAndIncrement();
                     }
diff --git a/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml b/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml
index 36f7267..5655267 100644
--- a/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml
+++ b/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml
@@ -35,6 +35,7 @@
         t2.product_category,
         t1.id,
         t1.sales_ledger_product_id,
+        t1.product_model_id,
         t1.create_user,
         t2.specification_model,
         t2.unit,
@@ -165,4 +166,4 @@
                   left join sales_ledger_product t2 on t2.id = t1.sales_ledger_product_id
                   left join purchase_ledger t3 on t3.id = t2.sales_ledger_id
     </select>
-</mapper>
\ No newline at end of file
+</mapper>

--
Gitblit v1.9.3