From c968c5e06b3add718a86f197aef3cfff169128b4 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 11 五月 2022 23:03:18 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java            |    3 ++-
 src/main/java/com/zy/asrs/service/LocDetlService.java          |    3 ++-
 src/main/resources/mapper/LocDetlMapper.xml                    |    8 ++++++++
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java |    5 +++--
 src/main/java/com/zy/asrs/controller/OutController.java        |    3 +--
 5 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 70c0187..4effe43 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -54,9 +54,8 @@
         for (OrderDetl orderDetl : orderDetls) {
             double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty()).orElse(0.0D);
             if (issued <= 0.0D) { continue; }
-            List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null);
+            List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
             for (LocDetl locDetl : locDetls) {
-//                if (exist.contains(locDetl.getLocNo())) { continue; }
                 if (issued > 0) {
                     LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
                             issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index 10c52f1..5b36d55 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -11,6 +11,7 @@
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 @Mapper
 @Repository
@@ -49,7 +50,7 @@
 
     // -------------------------------------------------
 
-    List<LocDetl> queryStock(@Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo);
+    List<LocDetl> queryStock(@Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos);
 
     Double queryStockAnfme(String matnr, String batch);
 
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index ef6ee1f..ff3b03b 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -6,6 +6,7 @@
 import com.zy.asrs.entity.result.StockVo;
 
 import java.util.List;
+import java.util.Set;
 
 public interface LocDetlService extends IService<LocDetl> {
 
@@ -39,7 +40,7 @@
 
     // --------------------------------------------------
 
-    List<LocDetl> queryStock(String matnr, String batch, String orderNo);
+    List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos);
 
     Double queryStockAnfme(String matnr, String batch);
 
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 65ea1c8..1049a71 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -9,6 +9,7 @@
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Set;
 
 @Service("locDetlService")
 public class LocDetlServiceImpl extends ServiceImpl<LocDetlMapper, LocDetl> implements LocDetlService {
@@ -68,8 +69,8 @@
     }
 
     @Override
-    public List<LocDetl> queryStock(String matnr, String batch, String orderNo) {
-        return this.baseMapper.queryStock(matnr, batch, orderNo);
+    public List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos) {
+        return this.baseMapper.queryStock(matnr, batch, orderNo, locNos);
     }
 
     @Override
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index f8a57f4..ab1462b 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -213,6 +213,14 @@
         <if test="orderNo != null and orderNo != ''">
             and a.orderNo = #{orderNo}
         </if>
+
+        <if test="locNos != null and locNos.size > 0">
+            and b.loc_no not in
+            <foreach item="item" collection="locNos" index="index"  separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+
         order by
         DATEPART(yyyy,a.modi_time),DATEPART(mm,a.modi_time),DATEPART(dd,a.modi_time), a.anfme
         desc,

--
Gitblit v1.9.1