From ff6d68f7c7e9fb4fd7b884eb282aa5f9e1a5d0ba Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期三, 18 九月 2024 16:21:47 +0800
Subject: [PATCH] 初步改完,接下来进行测试

---
 src/main/resources/mapper/OrderDetlMapper.xml                    |   29 +++-
 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java              |    8 
 src/main/java/com/zy/asrs/service/LocDetlService.java            |   27 +++-
 src/main/java/com/zy/asrs/service/OrderDetlService.java          |    3 
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java      |   25 +--
 src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java            |    4 
 src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java |   19 ++
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java      |    8 
 src/main/resources/mapper/LocDetlMapper.xml                      |   78 ++++++++++--
 src/main/java/com/zy/asrs/entity/param/StockOutParam.java        |   10 +
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java   |  101 +++++++++++++---
 11 files changed, 231 insertions(+), 81 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/param/StockOutParam.java b/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
index 331d3b0..017b93b 100644
--- a/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
@@ -31,6 +31,16 @@
         // 鏁伴噺
         private Double count;
 
+        private String sPgNO;
+
+        private String outOrderNo;
+
+        private String luHao;
+
+        private String packing;
+
+        private String proType;
+
     }
 
 }
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index 7b3529b..74f82b0 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.entity.StockStatisDTO;
+import com.zy.asrs.entity.WrkDetl;
 import com.zy.asrs.entity.result.StockVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -22,14 +23,15 @@
 
     Integer listByPageCount(Map<String, Object> map);
 
-    LocDetl selectItem(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch);
+    //LocDetl selectItem(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch);
 
     LocDetl selectItem2(@Param("locNo")String locNo, @Param("matnr")String matnr);
 
+    List<LocDetl> selectItem3(@Param("locNo")String locNo, @Param("matnr")String matnr);
 
-    int deleteItem(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch);
+    int deleteItem(@Param("locNo")String locNo, @Param("locDetl") LocDetl locDetl);
 
-    int updateAnfme(@Param("anfme")Double anfme, @Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch);
+    int updateAnfme(@Param("anfme")Double anfme, @Param("locNo")String locNo, @Param("locDetl") LocDetl locDetl);
 
     List<LocDetl> getStockOutPage(Map<String, Object> map);
 
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
index c946f82..612f4d3 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -33,7 +33,9 @@
 
     int addToLogTable(OrderDetl orderDetl);
 
-    int increaseQtyByOrderNo(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty);
+    //int increaseQtyByOrderNo(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty);
+
+    int increaseQtyById(@Param("id")Long id,  @Param("qty")Double qty);
 
     int increaseWorkQty(@Param("id")Long id,  @Param("workQty")Double workQty);
 
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index 292bf50..d04a603 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -5,31 +5,41 @@
 import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.entity.StockStatisDTO;
+import com.zy.asrs.entity.WrkDetl;
+import com.zy.asrs.entity.param.StockOutParam;
 import com.zy.asrs.entity.result.StockVo;
 
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 
 public interface LocDetlService extends IService<LocDetl> {
 
     Page<LocDetl> getPage(Page<LocDetl> page);
 
-    LocDetl selectItem(String locNo, String matnr, String batch);
+    //LocDetl selectItem(String locNo, String matnr, String batch);
 
-    LocDetl selectItem2(String locNo, String matnr);
+    //LocDetl selectItem2(String locNo, String matnr);
+
+    LocDetl selectItem(String locNo, WrkDetl wrkDetl);
+
+    LocDetl selectItem(String locNo, StockOutParam.LocDetl locDetl);
 
     Page<LocDetl> getStockOut(Page<LocDetl> page);
 
     /**
      * 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏋滄暟閲忎负0锛屽垯鍒犻櫎璁板綍
      */
-    boolean updateAnfme(Double anfme, String locNo, String matnr, String batch);
+    boolean updateAnfme(Double anfme, String locNo, WrkDetl wrkDetl);
+    /**
+     * 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏋滄暟閲忎负0锛屽垯鍒犻櫎璁板綍
+     */
+    boolean updateAnfme(Double anfme, String locNo, LocDetl locDetl);
 
     boolean updateLocNo(String newLocNo, String oldLocNo);
 
     /**
      * 鑾峰彇褰撳ぉ鐩稿悓瑙勬牸璐х墿鐨勬繁搴撲綅鍙�
+     *
      * @param matnr 鍟嗗搧缂栧彿
      * @return locNo 搴撲綅鍙�
      */
@@ -37,6 +47,7 @@
 
     /**
      * 鑾峰彇褰撳ぉ鐩稿悓瑙勬牸璐х墿鐨勬繁搴撲綅鍙�
+     *
      * @param matnr 鍟嗗搧缂栧彿
      * @param batch 鎵规鍙�
      * @return locNo 搴撲綅鍙�
@@ -59,9 +70,9 @@
 
     List<LocDetl> queryStock(OrderDetl orderDetl);
 
-    List<LocDetl> queryStockByModel(String model);
+    //List<LocDetl> queryStockByModel(String model);
 
-    Double queryStockAnfme(String matnr, String batch);
+    //Double queryStockAnfme(String matnr, String batch);
 
     List<StockVo> queryStockTotal();
 
@@ -72,9 +83,9 @@
 
     Double getLocDetlSumQty(String locNo);
 
-    void updateMatTurn(String matnrOld,String matnr);
+    void updateMatTurn(String matnrOld, String matnr);
 
     List<Map<String, Object>> selectLocDetlUnilateralMoveShuttleMap(Integer crnNo);
 
-    List<LocDetl> selectLocDetlUnilateralMoveShuttle(String matnr,String batch,String grade,Integer crnNo);
+    List<LocDetl> selectLocDetlUnilateralMoveShuttle(String matnr, String batch, String grade, Integer crnNo);
 }
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java
index 4cabe71..ddee929 100644
--- a/src/main/java/com/zy/asrs/service/OrderDetlService.java
+++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -35,8 +35,9 @@
 
     boolean addToLogTable(OrderDetl orderDetl);
 
-    boolean increaseQtyByOrderNo(String orderNo, String matnr, String batch, Double qty);
+    //boolean increaseQtyByOrderNo(String orderNo, String matnr, String batch, Double qty);
 
+    boolean increaseQtyByOrderNo(String orderNo, WrkDetl wrkDetl, Double qty);
     /**
      * 鍏ュ嚭搴撲换鍔$敓鎴愭椂锛屾洿鏂板崟鎹〃涓綔涓氭暟閲�
      *
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 4df3e6c..c22d465 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -5,6 +5,8 @@
 import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.entity.StockStatisDTO;
+import com.zy.asrs.entity.WrkDetl;
+import com.zy.asrs.entity.param.StockOutParam;
 import com.zy.asrs.entity.result.StockVo;
 import com.zy.asrs.mapper.LocDetlMapper;
 import com.zy.asrs.service.LocDetlService;
@@ -14,7 +16,6 @@
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 
 @Service("locDetlService")
 public class LocDetlServiceImpl extends ServiceImpl<LocDetlMapper, LocDetl> implements LocDetlService {
@@ -34,14 +35,40 @@
     }
 
     @Override
-    public boolean updateAnfme(Double anfme, String locNo, String matnr, String batch) {
-        if (anfme <= 0) {
-            return this.baseMapper.deleteItem(locNo, matnr, batch) > 0;
-        } else {
-            return baseMapper.updateAnfme(anfme, locNo, matnr, batch) > 0;
+    public boolean updateAnfme(Double anfme, String locNo, WrkDetl wrkDetl) {
+        List<LocDetl> locDetls = this.baseMapper.selectItem3(locNo, wrkDetl.getMatnr());
+        if (locDetls.isEmpty()) {
+            return false;
         }
+        for (LocDetl locDetl : locDetls) {
+            if (MatCompareUtils.compare(locDetl, wrkDetl)) {
+                if (anfme <= 0) {
+                    return this.baseMapper.deleteItem(locDetl.getLocNo(), locDetl) > 0;
+                } else {
+                    return baseMapper.updateAnfme(anfme, locNo, locDetl) > 0;
+                }
+            }
+        }
+        return false;
     }
 
+    @Override
+    public boolean updateAnfme(Double anfme, String locNo, LocDetl wrkDetl) {
+        List<LocDetl> locDetls = this.baseMapper.selectItem3(locNo, wrkDetl.getMatnr());
+        if (locDetls.isEmpty()) {
+            return false;
+        }
+        for (LocDetl locDetl : locDetls) {
+            if (MatCompareUtils.compare(locDetl, wrkDetl)) {
+                if (anfme <= 0) {
+                    return this.baseMapper.deleteItem(locDetl.getLocNo(), locDetl) > 0;
+                } else {
+                    return baseMapper.updateAnfme(anfme, locNo, locDetl) > 0;
+                }
+            }
+        }
+        return false;
+    }
 
     @Override
     public boolean updateLocNo(String newLocNo, String oldLocNo) {
@@ -106,16 +133,16 @@
         return data;
     }
 
-    @Override
-    public List<LocDetl> queryStockByModel(String model) {
-        return this.baseMapper.queryStock(null, model, null, null, null);
-    }
+//    @Override
+//    public List<LocDetl> queryStockByModel(String model) {
+//        return this.baseMapper.queryStock(null, model, null, null, null);
+//    }
 
 
-    @Override
-    public Double queryStockAnfme(String matnr, String batch) {
-        return this.baseMapper.queryStockAnfme(matnr, batch);
-    }
+//    @Override
+//    public Double queryStockAnfme(String matnr, String batch) {
+//        return this.baseMapper.queryStockAnfme(matnr, batch);
+//    }
 
     @Override
     public List<StockVo> queryStockTotal() {
@@ -139,15 +166,15 @@
     }
 
 
-    @Override
-    public LocDetl selectItem(String locNo, String matnr, String batch) {
-        return this.baseMapper.selectItem(locNo, matnr, batch);
-    }
-
-    @Override
-    public LocDetl selectItem2(String locNo, String matnr) {
-        return this.baseMapper.selectItem2(locNo, matnr);
-    }
+//    @Override
+//    public LocDetl selectItem(String locNo, String matnr, String batch) {
+//        return this.baseMapper.selectItem(locNo, matnr, batch);
+//    }
+//
+//    @Override
+//    public LocDetl selectItem2(String locNo, String matnr) {
+//        return this.baseMapper.selectItem2(locNo, matnr);
+//    }
 
     @Override
     public Double getLocDetlSumQty(String locNo) {
@@ -174,4 +201,32 @@
         }
         return this.baseMapper.selectLocDetlUnilateralMoveShuttleN(matnr, batch, grade);
     }
+
+    @Override
+    public LocDetl selectItem(String locNo, WrkDetl wrkDetl) {
+        List<LocDetl> locDetls = this.baseMapper.selectItem3(locNo, wrkDetl.getMatnr());
+        if (locDetls != null) {
+            for (LocDetl locDetl : locDetls) {
+                if (MatCompareUtils.compare(locDetl, wrkDetl)) {
+                    return locDetl;
+                }
+            }
+        }
+        return null;
+    }
+
+
+    @Override
+    public LocDetl selectItem(String locNo, StockOutParam.LocDetl locDetl) {
+        List<LocDetl> locDetls = this.baseMapper.selectItem3(locNo, locDetl.getMatnr());
+        if (locDetls != null) {
+            for (LocDetl detl : locDetls) {
+                if (MatCompareUtils.compare(locDetl, detl)) {
+                    return detl;
+                }
+            }
+        }
+        return null;
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
index 59c940c..6a30c27 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -160,11 +160,26 @@
         return this.baseMapper.addToLogTable(orderDetl) > 0;
     }
 
+//    @Override
+//    public boolean increaseQtyByOrderNo(String orderNo, String matnr, String batch, Double qty) {
+//        return this.baseMapper.increaseQtyByOrderNo(orderNo, matnr, batch, qty) > 0;
+//    }
+
     @Override
-    public boolean increaseQtyByOrderNo(String orderNo, String matnr, String batch, Double qty) {
-        return this.baseMapper.increaseQtyByOrderNo(orderNo, matnr, batch, qty) > 0;
+    public boolean increaseQtyByOrderNo(String orderNo, WrkDetl wrkDetl, Double qty) {
+        List<OrderDetl> detlList = this.baseMapper.listByOrderNo(orderNo);
+        if (detlList == null || detlList.isEmpty()){
+            return false;
+        }
+        for (OrderDetl orderDetl : detlList){
+            if (MatCompareUtils.compare(orderDetl, wrkDetl)){
+                return this.baseMapper.increaseQtyById(orderDetl.getId(), qty) > 0;
+            }
+        }
+        return false;
     }
 
+
     /**
      * 鍏ュ嚭搴撲换鍔$敓鎴愭椂锛屾洿鏂板崟鎹〃涓綔涓氭暟閲�
      *
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 5d3d47d..462238e 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -164,7 +164,7 @@
         List<LocDetlDto> locDetlDtos = new ArrayList<>();
         for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
             if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
-                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
+                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl);
                 if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
             }
         }
@@ -563,7 +563,7 @@
         List<LocDetlDto> locDetlDtos = new ArrayList<>();
         for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
             if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
-                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
+                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl);
                 if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
             }
         }
@@ -725,7 +725,7 @@
                     if (!locDetl.getAnfme().equals(adjust.getCount())) {
                         // todo 鐩樼偣璁板綍
                         // 淇敼搴撳瓨
-                        if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) {
+                        if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl)) {
                             throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿淇敼鏁伴噺澶辫触");
                         }
                         // 淇濆瓨璋冩暣璁板綍
@@ -750,7 +750,7 @@
         // 鍒犻櫎搴撳瓨
         for (LocDetl locDetl : locDetls) {
             // todo 鐩樼偣璁板綍
-            if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) {
+            if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl)) {
                 throw new CoolException("鍒犻櫎" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿搴撳瓨鏄庣粏澶辫触");
             }
             // 淇濆瓨璋冩暣璁板綍
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 9a59772..7acd213 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -92,9 +92,9 @@
                     // 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗�
                     for (WrkDetl wrkDetl : wrkDetls) {
 
-                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl);
                         if (null != locDetl) {
-                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl)) {
 //                                exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                 return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
@@ -119,8 +119,7 @@
 
                         try {
                             if (!Cools.isEmpty(orderDetl)) {
-                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetl.getBatch(), wrkDetl.getAnfme())) {
+                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl, wrkDetl.getAnfme())) {
 //                                    exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -155,12 +154,10 @@
                     }
                     for (WrkDetl wrkDetl : wrkDetls53) {
 
-                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
-                        if (null == locDetl) {
-                            locDetl = locDetlService.selectItem2(locMast.getLocNo(), wrkDetl.getMatnr());
-                        }
+                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl);
+
                         if (locDetl != null) {
-                            if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+                            if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl)) {
 //                                exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                 return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
@@ -173,8 +170,7 @@
 
                         try {
                             if (!Cools.isEmpty(orderDetl)) {
-                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetl.getBatch(), wrkDetl.getAnfme())) {
+                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl, wrkDetl.getAnfme())) {
 //                                    exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -210,9 +206,9 @@
                     // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧�
                     for (WrkDetl wrkDetl : wrkDetls54) {
 
-                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl);
                         if (null != locDetl) {
-                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl)) {
 //                                exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr());
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                 return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
@@ -355,8 +351,7 @@
 
                         try {
                             if (!Cools.isEmpty(orderDetl)) {
-                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetl.getBatch(), wrkDetl.getAnfme())) {
+                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl, wrkDetl.getAnfme())) {
 //                                    exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 567f807..9f2b3a8 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -52,7 +52,6 @@
         <result column="temp3" property="temp3" />
         <result column="pg_no" property="sPgNO" />
         <result column="pro_type" property="proType" />
-        <result column="auto_id" property="autoId" />
         <result column="out_order_no" property="outOrderNo" />
         <result column="lu_hao" property="luHao" />
         <result column="ware_id" property="wareId" />
@@ -62,23 +61,68 @@
 
     <sql id="batchSeq">
         <choose>
-            <when test="batch != null and batch != ''">
-                and batch = #{batch}
+            <when test="locDetl.batch != null and locDetl.batch != ''">
+                and batch = #{locDetl.batch}
             </when>
             <otherwise>
                 and (batch IS NULL OR batch = '')
             </otherwise>
         </choose>
+
+        <choose>
+            <when test="locDetl.proType != null and locDetl.proType != ''">
+                and pro_type = #{locDetl.proType}
+            </when>
+            <otherwise>
+                and (pro_type IS NULL OR pro_type = '')
+            </otherwise>
+        </choose>
+
+        <choose>
+            <when test="locDetl.luHao != null and locDetl.luHao != ''">
+                and lu_hao = #{locDetl.luHao}
+            </when>
+            <otherwise>
+                and (lu_hao IS NULL OR lu_hao = '')
+            </otherwise>
+        </choose>
+
+        <choose>
+            <when test="locDetl.packing != null and locDetl.packing != ''">
+                and packing = #{locDetl.packing}
+            </when>
+            <otherwise>
+                and (packing IS NULL OR packing = '')
+            </otherwise>
+        </choose>
+
+        <choose>
+            <when test="locDetl.sPgNO != null and locDetl.sPgNO != ''">
+                and pg_no = #{locDetl.sPgNO}
+            </when>
+            <otherwise>
+                and (pg_no IS NULL OR pg_no = '')
+            </otherwise>
+        </choose>
+
+        <choose>
+            <when test="locDetl.outOrderNo != null and locDetl.outOrderNo != ''">
+                and out_order_no = #{locDetl.outOrderNo}
+            </when>
+            <otherwise>
+                and (out_order_no IS NULL OR out_order_no = '')
+            </otherwise>
+        </choose>
     </sql>
 
-    <select id="selectItem" resultMap="BaseResultMap">
-        select top 1 *
-        from asr_loc_detl
-        where 1=1
-        and loc_no = #{locNo}
-        and matnr = #{matnr}
-        <include refid="batchSeq"></include>
-    </select>
+<!--    <select id="selectItem" resultMap="BaseResultMap">-->
+<!--        select top 1 *-->
+<!--        from asr_loc_detl-->
+<!--        where 1=1-->
+<!--        and loc_no = #{locNo}-->
+<!--        and matnr = #{matnr}-->
+<!--        <include refid="batchSeq"></include>-->
+<!--    </select>-->
 
     <select id="selectItem2" resultMap="BaseResultMap">
         select top 1 *
@@ -88,11 +132,19 @@
         and matnr = #{matnr}
     </select>
 
+    <select id="selectItem3" resultMap="BaseResultMap">
+        select  *
+        from asr_loc_detl
+        where 1=1
+          and loc_no = #{locNo}
+          and matnr = #{matnr}
+    </select>
+
     <delete id="deleteItem">
         delete from asr_loc_detl
         where 1=1
         and loc_no = #{locNo}
-        and matnr = #{matnr}
+        and matnr = #{locDetl.matnr}
         <include refid="batchSeq"></include>
     </delete>
 
@@ -102,7 +154,7 @@
         , modi_time = getdate()
         where 1=1
         and loc_no = #{locNo}
-        and matnr = #{matnr}
+        and matnr = #{locDetl.matnr}
         <include refid="batchSeq"></include>
     </update>
 
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index ba0ddf5..14f5809 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -187,20 +187,27 @@
         INSERT INTO man_order_detl_log SELECT * FROM man_order_detl WHERE id = #{id}
     </insert>
 
-    <update id="increaseQtyByOrderNo">
+<!--    <update id="increaseQtyByOrderNo">-->
+<!--        update man_order_detl-->
+<!--        set qty = qty + #{qty}-->
+<!--        where 1=1-->
+<!--        and order_no = #{orderNo}-->
+<!--        and matnr = #{matnr}-->
+<!--        <choose>-->
+<!--            <when test="batch != null and batch != ''">-->
+<!--                and batch = #{batch}-->
+<!--            </when>-->
+<!--            <otherwise>-->
+<!--                and (batch IS NULL OR batch = '')-->
+<!--            </otherwise>-->
+<!--        </choose>-->
+<!--    </update>-->
+
+    <update id="increaseQtyById">
         update man_order_detl
         set qty = qty + #{qty}
         where 1=1
-        and order_no = #{orderNo}
-        and matnr = #{matnr}
-        <choose>
-            <when test="batch != null and batch != ''">
-                and batch = #{batch}
-            </when>
-            <otherwise>
-                and (batch IS NULL OR batch = '')
-            </otherwise>
-        </choose>
+        and id = #{id}
     </update>
 
     <update id="increaseWorkQty">

--
Gitblit v1.9.1