From df325bcf7aabda3e879fbf86c85b3fd5047cffe0 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期五, 05 十二月 2025 15:34:31 +0800
Subject: [PATCH] #出库单

---
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java |   28 +++++++++++++++++++++++++---
 1 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
index 2e14e9b..a09d2d6 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -1,5 +1,6 @@
 package com.zy.asrs.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.core.common.Cools;
@@ -13,6 +14,7 @@
 import com.zy.asrs.service.LocDetlService;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -55,7 +57,22 @@
     @Override
     public boolean updateAnfme(Double anfme, String locNo, String matnr, String batch,
                                String brand,String standby1,String standby2,String standby3,String boxType1,String boxType2,String boxType3) {
-        if (anfme <= 0) {
+        LocDetl locDetl = this.selectOne(new EntityWrapper<LocDetl>()
+                .eq(!Cools.isEmpty(locNo),"loc_no", locNo)
+                .eq(!Cools.isEmpty(locNo),"matnr", matnr)
+                .eq(!Cools.isEmpty(locNo),"batch", batch)
+                .eq(!Cools.isEmpty(brand),"brand", brand)
+                .eq(!Cools.isEmpty(standby1),"standby1", standby1)
+                .eq(!Cools.isEmpty(standby2),"standby2", standby2)
+                .eq(!Cools.isEmpty(standby3),"standby3", standby3)
+                .eq(!Cools.isEmpty(boxType1),"box_type1", boxType1)
+                .eq(!Cools.isEmpty(boxType2),"box_type2", boxType2)
+                .eq(!Cools.isEmpty(boxType3),"box_type3", boxType3)
+        );
+        if (Cools.isEmpty(locDetl)) {
+            return false;
+        }
+        if (anfme <= 0 && locDetl.getDiffQty().compareTo(BigDecimal.ZERO) == 0) {
             return this.baseMapper.deleteItem(locNo, matnr, batch, brand, standby1, standby2, standby3, boxType1, boxType2, boxType3) > 0;
         } else {
             return baseMapper.updateAnfme(anfme, locNo, matnr, batch, brand, standby1, standby2, standby3, boxType1, boxType2, boxType3) > 0;
@@ -114,8 +131,13 @@
 
 
     @Override
-    public List<LocDetl> queryStockAll(String orderNo, Set<String> locNos,String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3) {
-        return this.baseMapper.queryStockAll(orderNo,locNos, matnr, batch,brand,standby1,standby2,standby3,boxType1,boxType2,boxType3);
+    public List<LocDetl> queryStockAll(String orderNo, Set<String> locNos,String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3,List<Long> areaIds) {
+        return this.baseMapper.queryStockAll(orderNo,locNos, matnr, batch,brand,standby1,standby2,standby3,boxType1,boxType2,boxType3, areaIds);
+    }
+
+    @Override
+    public List<LocDetl> queryStockAllCache(String orderNo, Set<String> locNos,String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3,List<Long> areaIds) {
+        return this.baseMapper.queryStockAllCache(orderNo,locNos, matnr, batch,brand,standby1,standby2,standby3,boxType1,boxType2,boxType3, areaIds);
     }
 
     @Override

--
Gitblit v1.9.1