From 1d469834074a19ce291f70a783d9d7725430a6fa Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期一, 22 十二月 2025 09:08:17 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/OrderDetlPakinService.java            |    1 
 src/main/java/com/zy/asrs/service/impl/OrderDetlPakinServiceImpl.java   |    6 +
 src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java      |   20 ++
 src/main/java/com/zy/asrs/mapper/OrderDetlPakinMapper.java              |    1 
 src/main/webapp/views/pakStore/stockOut.html                            |   15 ++
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java           |   65 +++++-----
 src/main/java/com/zy/common/service/CommonService.java                  |  105 +++++++++++++++-
 src/main/resources/mapper/OrderDetlPakinMapper.xml                      |    6 +
 src/main/webapp/static/js/pakStore/stockOut.js                          |    2 
 src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java |  123 +++++++++++---------
 10 files changed, 242 insertions(+), 102 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlPakinMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlPakinMapper.java
index 0076a43..ccd144e 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderDetlPakinMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlPakinMapper.java
@@ -60,4 +60,5 @@
     List<OrderDetlPakin> selectOrderDetls(@Param("orderNo")String orderNo,@Param("sku")String sku,@Param("upc") String upc);
     List<OrderDetlPakin> selectOrderDetlsByOrderNo(@Param("orderNo")String orderNo);
 
+    boolean morpt(@Param("orderNo")String orderNo);
 }
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlPakinService.java b/src/main/java/com/zy/asrs/service/OrderDetlPakinService.java
index 9247089..5fb08f3 100644
--- a/src/main/java/com/zy/asrs/service/OrderDetlPakinService.java
+++ b/src/main/java/com/zy/asrs/service/OrderDetlPakinService.java
@@ -35,6 +35,7 @@
     boolean increaseQtyByOrderNo(String orderNo, String matnr, String batch, String brand, String standby1, String standby2, String standby3
             , String boxType1, String boxType2, String boxType3, Double qty);
 
+    boolean morpt(String orderNo);
     /**
      * 鍏ュ嚭搴撲换鍔$敓鎴愭椂锛屾洿鏂板崟鎹〃涓綔涓氭暟閲�
      * @param orderId
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 8228748..05bdb79 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -917,44 +917,37 @@
         }
 
         Date now = new Date();
-
+        boolean result = false;
         String orderNo = null;
+        String orderNo1 = null;
         for (CombParam.CombMat combMat : param.getCombMats()) {
             if(combMat.getSupplier().equals("1")){
-                List<OrderDetlPakin> orderDetlPakins = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>()
+                List<OrderDetlPakin> orderDetlPakins2 = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>()
                         .eq("matnr", combMat.getMatnr()).eq("box_type3", combMat.getOrderNo())
-                        .eq("standby1", combMat.getStandby1()).eq("standby2", combMat.getStandby2())
-                        .eq("standby3", combMat.getStandby3()).eq("box_type2","BU-00001"));//1鏃舵绱㈠拰寰�
-                if (orderDetlPakins.size() > 0) {
-                    orderNo = orderDetlPakins.get(0).getOrderNo();
-                    combMat.setBoxType1(orderDetlPakins.get(0).getBoxType1());
-                    combMat.setBoxType2(orderDetlPakins.get(0).getBoxType2());
-                    combMat.setBoxType3(orderDetlPakins.get(0).getBoxType3());
-                    combMat.setMemo(orderDetlPakins.get(0).getMemo());
-                    combMat.setSupp(orderDetlPakins.get(0).getSupp());
-                    combMat.setSuppCode(orderDetlPakins.get(0).getSuppCode());
-                    combMat.setManu(orderDetlPakins.get(0).getManu());//浠撳簱缂栫爜
+                        .eq("box_type2","BU-00001"));
+                if (orderDetlPakins2.size() > 0) {
+                    orderNo1 = orderDetlPakins2.get(0).getOrderNo();
                 } else {
                     throw new CoolException("鏈煡璇㈠埌鐩稿叧璁㈠崟===>>" + param.getBarcode());
                 }
-            }else{
-                //0
-                List<OrderDetlPakin> orderDetlPakins = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>()
-                        .eq("matnr", combMat.getMatnr()).eq("box_type3", combMat.getOrderNo())
-                        .eq("standby1", combMat.getStandby1()).eq("standby2", combMat.getStandby2())
-                        .eq("standby3", combMat.getStandby3()).eq("box_type2","shyucheng.test"));
-                if (orderDetlPakins.size() > 0) {
-                    orderNo = orderDetlPakins.get(0).getOrderNo();
-                    combMat.setBoxType1(orderDetlPakins.get(0).getBoxType1());
-                    combMat.setBoxType2(orderDetlPakins.get(0).getBoxType2());
-                    combMat.setBoxType3(orderDetlPakins.get(0).getBoxType3());
-                    combMat.setMemo(orderDetlPakins.get(0).getMemo());
-                    combMat.setSupp(orderDetlPakins.get(0).getSupp());
-                    combMat.setSuppCode(orderDetlPakins.get(0).getSuppCode());
-                    combMat.setManu(orderDetlPakins.get(0).getManu());//浠撳簱缂栫爜
-                } else {
-                    throw new CoolException("鏈煡璇㈠埌鐩稿叧璁㈠崟===>>" + param.getBarcode());
-                }
+                result = true;
+            }
+            //0
+            List<OrderDetlPakin> orderDetlPakins = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>()
+                    .eq("matnr", combMat.getMatnr()).eq("box_type3", combMat.getOrderNo())
+                    .eq("standby1", combMat.getStandby1()).eq("standby2", combMat.getStandby2())
+                    .eq("standby3", combMat.getStandby3()).eq("box_type2","shyucheng.test"));
+            if (orderDetlPakins.size() > 0) {
+                orderNo = orderDetlPakins.get(0).getOrderNo();
+                combMat.setBoxType1(orderDetlPakins.get(0).getBoxType1());
+                combMat.setBoxType2(orderDetlPakins.get(0).getBoxType2());
+                combMat.setBoxType3(orderDetlPakins.get(0).getBoxType3());
+                combMat.setMemo(orderDetlPakins.get(0).getMemo());
+                combMat.setSupp(orderDetlPakins.get(0).getSupp());
+                combMat.setSuppCode(orderDetlPakins.get(0).getSuppCode());
+                combMat.setManu(orderDetlPakins.get(0).getManu());//浠撳簱缂栫爜
+            } else {
+                throw new CoolException("鏈煡璇㈠埌鐩稿叧璁㈠崟===>>" + param.getBarcode());
             }
         }
 
@@ -965,10 +958,18 @@
         if (Cools.isEmpty(order) || order.getSettle() > 2) {
             throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�");
         }
+        Order order1 = orderService.selectByNo(orderNo);
+        if (Cools.isEmpty(order1) || order1.getSettle() > 2) {
+            throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�");
+        }
+        if(result){
+            order1.setPayType(1);//  y->h
+            order1.setSalesman(orderNo1);
+            orderService.updateById(order1);
+        }
         // 鐢熸垚鍏ュ簱閫氱煡妗�
         List<DetlDto> detlDtos = new ArrayList<>();
         param.getCombMats().forEach(elem -> {
-
             // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
 //                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch());
             OrderDetl orderDetl = OrderInAndOutUtil.selectItem(Boolean.TRUE, order.getId(), elem.getMatnr(), elem.getBatch(),elem.getBrand(),elem.getStandby1(),elem.getStandby2(),elem.getStandby3(),
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlPakinServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlPakinServiceImpl.java
index ded1d13..0875b3e 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlPakinServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlPakinServiceImpl.java
@@ -112,4 +112,10 @@
     public List<OrderDetlPakin> selectOrderDetlsByOrderNo(String orderNo){
         return this.baseMapper.selectOrderDetlsByOrderNo(orderNo);
     }
+    
+    @Override
+    public boolean morpt(String orderNo){
+        return this.baseMapper.morpt(orderNo);
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
index 144dd31..d9ae35d 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
@@ -2,6 +2,8 @@
 
 import com.core.common.Cools;
 import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.OrderDetlPakin;
+import com.zy.asrs.service.OrderDetlPakinService;
 import com.zy.asrs.service.OrderService;
 import com.zy.asrs.task.core.ReturnT;
 import com.zy.asrs.task.kingdee.handler.SaveOrderSyncHandler;
@@ -28,7 +30,8 @@
     private SaveOrderSyncHandler saveOrderSyncHandler;
     @Autowired
     private OrderService orderService;
-
+    @Autowired
+    private OrderDetlPakinService orderDetlPakinService;
     @Value("${erp.switch.ReviewOrderSwitch}")
     private boolean ReviewOrderSwitch;
 
@@ -44,7 +47,7 @@
             List<Order> orders = orderService.selectComplete();
             if(orders.size() > 0){
                 for (Order order : orders) {
-                    if(order.getDocType() == 3 || order.getDocType() == 16){ //璧版柊澧炴彁浜ゅ鏍告祦绋�
+                    if(order.getDocType() == 3 || order.getDocType() == 16 || order.getPayType()!=1){ //璧版柊澧炴彁浜ゅ鏍告祦绋�
                         ReturnT<String> result = saveOrderSyncHandler.start(order);//4宸插畬鎴�
                         if (!result.isSuccess()) {
                             log.error("鍗曟嵁[orderNo={}]鏂板淇濆瓨鑷砮rp澶辫触", order.getOrderNo());
@@ -54,7 +57,18 @@
                     }else if( order.getDocType() == 21){  //瀵煎叆璁㈠崟鍑哄簱锛堥鏂欙級
                         order.setSettle(8L);
                         orderService.updateById(order);
-                    }else{
+                    }else if(order.getPayType() == 1 || order.getSalesman() != null){
+                        Order order1 = orderService.selectByNo(order.getSalesman());
+                        if(orderDetlPakinService.morpt(order.getSalesman())){
+                            order.setSettle(11L); //yu/cheng/dan/deng/dai/chu/ku/dan
+                            orderService.updateById(order);
+//                            ReturnT<String> result = saveOrderSyncHandler.start(order1);//4宸插畬鎴恏ui/bao/dan
+//                            if (!result.isSuccess()) {
+//                                log.error("鍗曟嵁[orderNo={}]鏂板淇濆瓨鑷砮rp澶辫触", order.getOrderNo());
+//                            }
+                        }
+                    }
+                    else{
                         order.setSettle(9L);//涓嶉渶瑕佹柊澧炵洿鎺ュ鏍�
                         orderService.updateById(order);
                     }
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
index bb0380e..51534e4 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
@@ -1227,6 +1227,7 @@
                                 List<OrderDetl> orderDetls =
                                         orderDetlService.selectByOrderId(order.getId());
 
+
                                 boolean exists = orderDetls.stream()
                                         .anyMatch(o -> o.getMatnr().equals(matnr));
                                 if (exists) continue;
@@ -1237,35 +1238,40 @@
 //                                    supp = locSupp.getOwner();
 //                                }
                                 // ========= 淇濆瓨鏄庣粏 =========
-                                OrderDetl orderDetl = new OrderDetl();
-                                orderDetl.sync(mat);
-                                orderDetl.setThreeCode(detlId);
-                                orderDetl.setLineNumber(seq);
-                                orderDetl.setAnfme(anfmeBox);
-                                orderDetl.setErpAnfme(anfme);
-                                orderDetl.setOrderId(order.getId());
-                                orderDetl.setOrderNo(order.getOrderNo());
-                                orderDetl.setSupp(supp);
-                                orderDetl.setSuppCode(suppCode);
-                                orderDetl.setSku(matnr);
-                                orderDetl.setStandby1(s1);
-                                orderDetl.setStandby2(s2);
-                                orderDetl.setStandby3(s3);
-                                orderDetl.setBoxType1(owner);
-                                orderDetl.setBoxType2(ownerUuid);
-                                orderDetl.setBoxType3(pOrderNo);
-                                orderDetl.setMemo(memo);
-                                orderDetl.setVolume(totalVolume);
-                                orderDetl.setSafeQty(totalNumItems);
-                                orderDetl.setManu(warehouse);
-                                orderDetl.setCreateBy(9527L);
-                                orderDetl.setCreateTime(new Date());
-                                orderDetl.setUpdateBy(9527L);
-                                orderDetl.setUpdateTime(new Date());
-                                orderDetl.setStatus(1);
-                                orderDetl.setQty(0.0D);
+                                try{
+                                    OrderDetl orderDetl = new OrderDetl();
+                                    orderDetl.sync(mat);
+                                    orderDetl.setThreeCode(detlId);
+                                    orderDetl.setLineNumber(seq);
+                                    orderDetl.setAnfme(anfmeBox);
+                                    orderDetl.setErpAnfme(anfme);
+                                    orderDetl.setOrderId(order.getId());
+                                    orderDetl.setOrderNo(order.getOrderNo());
+                                    orderDetl.setSupp(supp);
+                                    orderDetl.setSuppCode(suppCode);
+                                    orderDetl.setSku(matnr);
+                                    orderDetl.setStandby1(s1);
+                                    orderDetl.setStandby2(s2);
+                                    orderDetl.setStandby3(s3);
+                                    orderDetl.setBoxType1(owner);
+                                    orderDetl.setBoxType2(ownerUuid);
+                                    orderDetl.setBoxType3(pOrderNo);
+                                    orderDetl.setMemo(memo);
+                                    orderDetl.setVolume(totalVolume);
+                                    orderDetl.setSafeQty(totalNumItems);
+                                    orderDetl.setManu(warehouse);
+                                    orderDetl.setCreateBy(9527L);
+                                    orderDetl.setCreateTime(new Date());
+                                    orderDetl.setUpdateBy(9527L);
+                                    orderDetl.setUpdateTime(new Date());
+                                    orderDetl.setStatus(1);
+                                    orderDetl.setQty(0.0D);
 
-                                orderDetlService.insert(orderDetl);
+                                    orderDetlService.insert(orderDetl);
+                                } catch (Exception e) {
+                                    // 濡傛灉鍙戠敓寮傚父锛岃褰曡缁嗙殑閿欒淇℃伅
+                                    callApiLogSaveOrder(order, kingDeeUtilType, "淇濆瓨鏄庣粏澶辫触锛岀墿鏂欙細" + matnr + " 閿欒淇℃伅锛�" + e.getMessage(), false);
+                                }
                             }
                         }
 
@@ -1404,35 +1410,40 @@
                                     supp = locSupp.getOwner();
                                 }
                                 // ========= 淇濆瓨鏄庣粏 =========
-                                OrderDetl orderDetl = new OrderDetl();
-                                orderDetl.sync(mat);
-                                orderDetl.setThreeCode(detlId);
-                                orderDetl.setLineNumber(seq);
-                                orderDetl.setAnfme(anfmeBox);
-                                orderDetl.setErpAnfme(anfme);
-                                orderDetl.setOrderId(order.getId());
-                                orderDetl.setOrderNo(order.getOrderNo());
-                                orderDetl.setSupp(supp);
-                                orderDetl.setSuppCode(suppCode);
-                                orderDetl.setSku(matnr);
-                                orderDetl.setStandby1(s1);
-                                orderDetl.setStandby2(s2);
-                                orderDetl.setStandby3(s3);
-                                orderDetl.setBoxType1(owner);
-                                orderDetl.setBoxType2(ownerUuid);
-                                orderDetl.setBoxType3(pOrderNo);
-                                orderDetl.setMemo(memo);
-                                orderDetl.setVolume(totalVolume);
-                                orderDetl.setSafeQty(totalNumItems);
-                                orderDetl.setManu(warehouse);
-                                orderDetl.setCreateBy(9527L);
-                                orderDetl.setCreateTime(new Date());
-                                orderDetl.setUpdateBy(9527L);
-                                orderDetl.setUpdateTime(new Date());
-                                orderDetl.setStatus(1);
-                                orderDetl.setQty(0.0D);
+                                try{
+                                    OrderDetl orderDetl = new OrderDetl();
+                                    orderDetl.sync(mat);
+                                    orderDetl.setThreeCode(detlId);
+                                    orderDetl.setLineNumber(seq);
+                                    orderDetl.setAnfme(anfmeBox);
+                                    orderDetl.setErpAnfme(anfme);
+                                    orderDetl.setOrderId(order.getId());
+                                    orderDetl.setOrderNo(order.getOrderNo());
+                                    orderDetl.setSupp(supp);
+                                    orderDetl.setSuppCode(suppCode);
+                                    orderDetl.setSku(matnr);
+                                    orderDetl.setStandby1(s1);
+                                    orderDetl.setStandby2(s2);
+                                    orderDetl.setStandby3(s3);
+                                    orderDetl.setBoxType1(owner);
+                                    orderDetl.setBoxType2(ownerUuid);
+                                    orderDetl.setBoxType3(pOrderNo);
+                                    orderDetl.setMemo(memo);
+                                    orderDetl.setVolume(totalVolume);
+                                    orderDetl.setSafeQty(totalNumItems);
+                                    orderDetl.setManu(warehouse);
+                                    orderDetl.setCreateBy(9527L);
+                                    orderDetl.setCreateTime(new Date());
+                                    orderDetl.setUpdateBy(9527L);
+                                    orderDetl.setUpdateTime(new Date());
+                                    orderDetl.setStatus(1);
+                                    orderDetl.setQty(0.0D);
 
-                                orderDetlService.insert(orderDetl);
+                                    orderDetlService.insert(orderDetl);
+                                } catch (Exception e) {
+                                    // 濡傛灉鍙戠敓寮傚父锛岃褰曡缁嗙殑閿欒淇℃伅
+                                    callApiLogSaveOrder(order, kingDeeUtilType, "淇濆瓨鏄庣粏澶辫触锛岀墿鏂欙細" + matnr + " 閿欒淇℃伅锛�" + e.getMessage(), false);
+                                }
                             }
                         }
                     }
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 0805562..a8e9e1c 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -1046,18 +1046,17 @@
 
         // 寮�濮嬫煡鎵惧簱浣� ==============================>>
 
-        // 1.鎸夎鍒欐煡鎵惧簱浣�
-        if (Cools.isEmpty(locMast) && sourceStaNo != 4006) {
-            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+        if (Cools.isEmpty(locMast) && sourceStaNo != 4006) {//si'lou'p鍥涙ゼ鐩樼偣閫夋嫨鍖哄煙
+                 List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
                     .eq("row1", nearRow)
                     .eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())
-                    .orderBy("lev1", true).orderBy("bay1", true));//鏈�娴呭簱浣�
+                    .orderBy("lev1", true).orderBy("bay1", true)); // 鏈�娴呭簱浣�
             for (LocMast locMast1 : locMasts) {
                 if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
                     continue;
                 }
                 if (Utils.BooleanWhsTypeStaIoType(rowLastno)) {
-                    //鑾峰彇鐩爣搴撲綅鎵�鍦ㄥ贩閬撴渶娣辩┖搴撲綅
+                    // 鑾峰彇鐩爣搴撲綅鎵�鍦ㄥ贩閬撴渶娣辩┖搴撲綅
                     LocMast locMast2 = locMastService.selectLocByLocStsPakInO(curRow, nearRow, locMast1, rowLastnoType.getType().longValue());
                     if (!Cools.isEmpty(locMast2) && locMast2.getRow1() == curRow) {
                         locMast = locMast2;
@@ -1065,12 +1064,98 @@
                     }
                 }
             }
+        } else {
+            // 鏍规嵁 findLocNoAttributeVo.getOutArea() 璁剧疆鍒楄寖鍥�
+            int startBay = 1;
+            int endBay = 19;
+
+            switch (findLocNoAttributeVo.getOutArea()) {
+                case 1:
+                    startBay = 15;
+                    endBay = 19;
+                    break;
+                case 2:
+                    startBay = 8;
+                    endBay = 14;
+                    break;
+                case 3:
+                    startBay = 1;
+                    endBay = 8;
+                    break;
+                default:
+                    break;
+            }
+
+            // 浼樺厛浠庢寚瀹氬垪鑼冨洿鏌ユ壘
+            boolean found = false;
+
+            // 鎸夌収鎺掑彿浠�38鍒�32閫掑噺鏌ユ壘锛屼紭鍏堟煡鎵炬寚瀹氬垪鑼冨洿锛堝1-8銆�8-14銆�15-19锛�
+            for (int row = 38; row >= 32; row--) {
+                List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+                        .eq("row1", row)
+                        .ge("bay1", startBay)
+                        .le("bay1", endBay)
+                        .eq("loc_sts", "O")
+                        .eq("whs_type", rowLastnoType.getType().longValue())
+                        .orderBy("lev1", true)
+                        .orderBy("bay1", true)); // 鏈�娴呭簱浣�
+
+                for (LocMast locMast1 : locMasts) {
+                    if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
+                        continue;
+                    }
+                    if (Utils.BooleanWhsTypeStaIoType(rowLastno)) {
+                        // 鑾峰彇鐩爣搴撲綅鎵�鍦ㄥ贩閬撴渶娣辩┖搴撲綅
+                        LocMast locMast2 = locMastService.selectLocByLocStsPakInO(curRow, nearRow, locMast1, rowLastnoType.getType().longValue());
+                        if (!Cools.isEmpty(locMast2) && locMast2.getRow1() == curRow) {
+                            locMast = locMast2;
+                            found = true;
+                            break;
+                        }
+                    }
+                }
+
+                if (found) {
+                    break; // 鎵惧埌鐩爣搴撲綅鍚庤烦鍑哄惊鐜�
+                }
+            }
+
+            // 濡傛灉娌℃湁鍦ㄤ紭鍏堣寖鍥村唴鎵惧埌鍚堥�傚簱浣嶏紝缁х画杩涜鍏ㄥ眬鏌ユ壘锛�1-19鍒楋級
+            if (!found) {
+                // 浠庢帓鍙�38鍒�32鏌ユ壘鎵�鏈夊垪锛�1-19锛�
+                for (int row = 38; row >= 32; row--) {
+                    List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+                            .eq("row1", row)
+                            .ge("bay1", 1)  // 鏌ユ壘1鍒�19鍒�
+                            .le("bay1", 19)
+                            .eq("loc_sts", "O")
+                            .eq("whs_type", rowLastnoType.getType().longValue())
+                            .orderBy("lev1", true)
+                            .orderBy("bay1", true)); // 鏈�娴呭簱浣�
+
+                    for (LocMast locMast1 : locMasts) {
+                        if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
+                            continue;
+                        }
+                        if (Utils.BooleanWhsTypeStaIoType(rowLastno)) {
+                            // 鑾峰彇鐩爣搴撲綅鎵�鍦ㄥ贩閬撴渶娣辩┖搴撲綅
+                            LocMast locMast2 = locMastService.selectLocByLocStsPakInO(curRow, nearRow, locMast1, rowLastnoType.getType().longValue());
+                            if (!Cools.isEmpty(locMast2) && locMast2.getRow1() == curRow) {
+                                locMast = locMast2;
+                                found = true;
+                                break;
+                            }
+                        }
+                    }
+
+                    if (found) {
+                        break; // 鎵惧埌鐩爣搴撲綅鍚庤烦鍑哄惊鐜�
+                    }
+                }
+            }
         }
-//        else{
-//            if(findLocNoAttributeVo.getOutArea() == 1){
-//
-//            }
-//        }
+
+
 
         // 閫掑綊鏌ヨ
         if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("O")) {
diff --git a/src/main/resources/mapper/OrderDetlPakinMapper.xml b/src/main/resources/mapper/OrderDetlPakinMapper.xml
index 0567c4c..eb237ec 100644
--- a/src/main/resources/mapper/OrderDetlPakinMapper.xml
+++ b/src/main/resources/mapper/OrderDetlPakinMapper.xml
@@ -263,4 +263,10 @@
         order by update_time
     </select>
 
+    <update id="morpt" parameterType="String">
+        UPDATE man_order_detl_pakin
+        SET qty = anfme, work_qty = anfme
+        WHERE order_no = #{orderNo}
+    </update>
+
 </mapper>
diff --git a/src/main/webapp/static/js/pakStore/stockOut.js b/src/main/webapp/static/js/pakStore/stockOut.js
index d9b2580..8f196c9 100644
--- a/src/main/webapp/static/js/pakStore/stockOut.js
+++ b/src/main/webapp/static/js/pakStore/stockOut.js
@@ -71,11 +71,13 @@
                     layer.msg('璇峰厛鎻愬彇鍟嗗搧搴撳瓨', {icon: 2});
                 } else {
                     var staNo = $("#staNoSelect").val();
+                    var outStaArea = $("#outboundAreaSelect").val();
                     if (staNo === "" || staNo === null){
                         layer.msg("璇烽�夋嫨鍑哄簱鍙�", {icon: 2});
                         return;
                     }
                     let param = {
+                        outStaArea: outStaArea,
                         outSite: staNo,
                         locDetls: locDetlData
                     }
diff --git a/src/main/webapp/views/pakStore/stockOut.html b/src/main/webapp/views/pakStore/stockOut.html
index 3e02f19..e4c703b 100644
--- a/src/main/webapp/views/pakStore/stockOut.html
+++ b/src/main/webapp/views/pakStore/stockOut.html
@@ -23,7 +23,13 @@
             box-shadow: 0 0 3px rgba(0,0,0,.3);
             padding-bottom: 20px;
         }
-
+        #staNoSpan, #outboundAreaSpan {
+            text-align: center;
+            display: inline-block;
+            width: 100px;
+            font-size: 13px;
+            margin-right: 10px; /* 澧炲姞鍙宠竟闂磋窛 */
+        }
         #staNoSpan {
             text-align: center;
             display: inline-block;
@@ -100,6 +106,13 @@
                 <select id="staNoSelect" lay-verify="required">
                     <option value="">璇烽�夋嫨绔欑偣</option>
                 </select>
+                <!-- 2.閫夋嫨鏀捐揣鍖哄煙 -->
+                <span id="outboundAreaSpan">鏀捐揣鍖哄煙锛�</span>
+                <select id="outboundAreaSelect">
+                    <option value="1">1</option>
+                    <option value="2">2</option>
+                    <option value="3">3</option>
+                </select>
                 <!-- 2.鍚姩鍑哄簱 -->
                 <button class="layui-btn layui-btn-lg" id="btn-outbound" lay-event="outbound">鍚姩鍑哄簱</button>
             </div>

--
Gitblit v1.9.1