From e596214d84efa77d0cf316563548f1b1d7643a37 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期一, 24 十一月 2025 08:40:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jshdasrs' into jshdasrs

---
 src/main/java/com/zy/asrs/entity/param/CombParam.java               |    2 
 src/main/java/com/zy/asrs/entity/BasArmMast.java                    |    2 
 src/main/java/com/zy/asrs/controller/OpenController.java            |    9 +
 src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java        |  106 ++++++++++++--------
 src/main/java/com/zy/asrs/controller/MobileController.java          |    2 
 src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java |    5 
 src/main/java/com/zy/asrs/entity/param/OrderToLine.java             |   11 +
 src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java      |    2 
 src/main/java/com/zy/asrs/entity/param/OrderArmEndParam.java        |    5 
 src/main/java/com/zy/asrs/entity/param/TaskArmReportParam.java      |    1 
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java       |  114 ++++++++++++++++++++++
 src/main/java/com/zy/asrs/utils/ToSortLineUtils.java                |   22 ++--
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java         |    2 
 src/main/java/com/zy/asrs/service/MobileService.java                |    1 
 14 files changed, 213 insertions(+), 71 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 527fb24..fffe287 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -211,7 +211,7 @@
 //    @ManagerAuth(memo = "缁勬墭")
     public R combAutoWcs(@RequestBody CombParam combParam){
 //        mobileService.comb(combParam, getUserId());
-        mobileService.comb(combParam, 7777L);
+        mobileService.combAuto(combParam, 7777L);
         return R.ok("缁勬墭鎴愬姛");
     }
 
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 0a83790..dde394f 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -244,9 +244,12 @@
         if (Cools.isEmpty(param.getUpc())) {
             return R.error("UPC[upc]涓嶈兘涓虹┖");
         }
-        if (Cools.isEmpty(param.getSupplier())) {
-            return R.error("璐ф簮[supplier]涓嶈兘涓虹┖");
+        if (Cools.isEmpty(param.getItem())) {
+            return R.error("UPC[item]涓嶈兘涓虹┖");
         }
+//        if (Cools.isEmpty(param.getSupplier())) {
+//            return R.error("璐ф簮[supplier]涓嶈兘涓虹┖");
+//        }
         if (Cools.isEmpty(param.getStaNo())) {
             return R.error("鍒嗘嫞鐐逛綅[staNo]涓嶈兘涓虹┖");
         }
@@ -407,7 +410,7 @@
 
 
     /**
-     * 鍒嗘嫞绾夸笂鎶ユ帴鏀�
+     * AGV涓婃姤鎺ユ敹
      */
     @PostMapping("/agv/task/v1/agvCallback")
     @AppAuth(memo = "AGV涓婃姤鎺ユ敹")
diff --git a/src/main/java/com/zy/asrs/entity/BasArmMast.java b/src/main/java/com/zy/asrs/entity/BasArmMast.java
index 79f3d7b..8b94834 100644
--- a/src/main/java/com/zy/asrs/entity/BasArmMast.java
+++ b/src/main/java/com/zy/asrs/entity/BasArmMast.java
@@ -130,7 +130,7 @@
     public BasArmMast(TaskArmReportParam param) {
         this.orderNo = param.getOrderNo();
         this.sku = param.getSku();
-        this.matnr = param.getSku();
+        this.matnr = param.getItem();
         this.po = param.getPo();
         this.upc = param.getUpc();
         this.supplier = param.getSupplier();
diff --git a/src/main/java/com/zy/asrs/entity/param/CombParam.java b/src/main/java/com/zy/asrs/entity/param/CombParam.java
index d8b9eef..2a7b05a 100644
--- a/src/main/java/com/zy/asrs/entity/param/CombParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/CombParam.java
@@ -48,7 +48,7 @@
 
         // 瑙勬牸
         private String specs = "";
-        private String supp = "";//supp -> po
+        private String supp = "";
 
         // sku
         private String sku = "";
diff --git a/src/main/java/com/zy/asrs/entity/param/OrderArmEndParam.java b/src/main/java/com/zy/asrs/entity/param/OrderArmEndParam.java
index f2edcc2..775fa7d 100644
--- a/src/main/java/com/zy/asrs/entity/param/OrderArmEndParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/OrderArmEndParam.java
@@ -16,7 +16,8 @@
     private int total_num;//棰勬湡闇�瑕佸畬鎴愮殑鏁伴噺
     private String staNo;
     private String orderNo;
-    private String sku;
+//    private String sku;
+    private String matnr;
     private Long bindingTags;
 
     public void OrderIdTwo(String sign_order,String sign_sku){
@@ -24,7 +25,7 @@
         staNo = split[1];
         String[] split1 = split[0].split(Pattern.quote(sign_sku));
         orderNo = split1[2];
-        sku = split1[0];
+        matnr = split1[0];
         bindingTags = Long.parseLong(split1[1]);
     }
 }
diff --git a/src/main/java/com/zy/asrs/entity/param/OrderToLine.java b/src/main/java/com/zy/asrs/entity/param/OrderToLine.java
index d0c0b14..4999bae 100644
--- a/src/main/java/com/zy/asrs/entity/param/OrderToLine.java
+++ b/src/main/java/com/zy/asrs/entity/param/OrderToLine.java
@@ -26,6 +26,9 @@
     @Data
     public static class MatList {
 
+        // Sku\鍨嬪彿\鍒嗘嫞灞炴��1\涓嶅彲涓虹┖\鎵爜鍙幏鍙�
+        private String item;
+
         // Sku\瀹汉鍨嬪彿\鍒嗘嫞灞炴��1\涓嶅彲涓虹┖\鎵爜鍙幏鍙�
         private String sku;
 
@@ -43,8 +46,8 @@
         //0锛氫笉鍒嗘嫞锛屽湪绾夸綋寰幆
         private Integer sign;
 
-        //璐ф簮\闈炲垎鎷e睘鎬э紙涓嶄笅鍙戯紝鏁版嵁鍦ㄦ潯鐮佷腑锛岄渶涓婃姤锛�
-        private String supplier;
+        //璐ф簮\闈炲垎鎷e睘鎬э紙涓嶄笅鍙戯紝鏁版嵁鍦ㄦ潯鐮佷腑锛岄渶涓婃姤锛�  搴熷純
+//        private String supplier;
 
         //缁戝畾鏍囪锛堟爣璇嗙浉鍚屽繀椤诲幓鍚屼竴涓垎鎷e彛锛�
         private Long bindingTags;
@@ -55,13 +58,13 @@
             this.sku = sku;
             this.po = po;
         }
-        public MatList(String sku, String po, Double ctns, String upc, Integer sign, String supplier, Long bindingTags) {
+        public MatList(String item, String sku, String po, Double ctns, String upc, Integer sign, Long bindingTags) {
+            this.item = item;
             this.sku = sku;
             this.po = po;
             this.ctns = ctns;
             this.upc = upc;
             this.sign = sign;
-            this.supplier = supplier;
             this.bindingTags = bindingTags;
         }
     }
diff --git a/src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java b/src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java
index 5c7eec6..7d651ec 100644
--- a/src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java
@@ -16,7 +16,8 @@
     private String pick_num;
     private String staNo;
     private String orderNo;
-    private String sku;
+    private String matnr;
+//    private String sku;
     private Long bindingTags;
 
     public void OrderIdTwo(String sign_order,String sign_sku){
@@ -24,7 +25,7 @@
         staNo = split[1];
         String[] split1 = split[0].split(Pattern.quote(sign_sku));
         orderNo = split1[2];
-        sku = split1[0];
+        matnr = split1[0];
         bindingTags = Long.parseLong(split1[1]);
     }
 }
diff --git a/src/main/java/com/zy/asrs/entity/param/TaskArmReportParam.java b/src/main/java/com/zy/asrs/entity/param/TaskArmReportParam.java
index 503d252..1287673 100644
--- a/src/main/java/com/zy/asrs/entity/param/TaskArmReportParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/TaskArmReportParam.java
@@ -15,6 +15,7 @@
     private String sku;
     //瀹汉PO
     private String po;
+    private String item;
     //鏉$爜鍊�
     private String upc;
     //璐ф簮
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index 77dc08f..aecea5c 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -45,6 +45,7 @@
      * 缁勬墭
      */
     void comb(CombParam param, Long userId);
+    void combAuto(CombParam param, Long userId);
 
     /**
      * 榻愬鍏ュ簱鏌ヨ
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 1e2fad7..a3f05dd 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -684,6 +684,120 @@
 
     @Override
     @Transactional
+    public void combAuto(CombParam param, Long userId) {
+        if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
+            throw new CoolException(BaseRes.PARAM);
+        }
+//        if(param.getCombMats().size()>1){
+//            throw new CoolException("璇锋彁鍙栦竴涓晢鍝侊紝鎴栬�呭埛鏂伴噸鏂扮粍鎵橈紒");
+//        }
+        // 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁
+        if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
+                eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
+            throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱");
+        }
+
+        if(param.getBarcode().length()!=6){
+            throw new CoolException("鏉$爜闀垮害涓嶆槸6浣�===>>" + param.getBarcode());
+        }
+//        if (param.getCombMats().size()>1){
+//            throw new CoolException("涓嶅厑璁告贩鏂�===>>" + param.getBarcode());
+//        }
+
+        int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
+        int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
+        int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",param.getBarcode()));
+        if (countLoc > 0 || countWrk > 0 || countwait > 0) {
+            throw new CoolException("缁勬墭妗�/宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + param.getBarcode());
+        }
+
+        Date now = new Date();
+
+        String orderNo = null;
+        for (CombParam.CombMat combMat : param.getCombMats()) {
+            List<OrderDetlPakin> orderDetlPakins = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>()
+                    .eq("matnr", combMat.getMatnr()).eq("boxType3", combMat.getOrderNo())
+                    .eq("standby1", combMat.getStandby1()).eq("standby2", combMat.getStandby2())
+                    .eq("standby3", combMat.getStandby3()));
+            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());
+            } else {
+                throw new CoolException("鏈煡璇㈠埌鐩稿叧璁㈠崟===>>" + param.getBarcode());
+            }
+        }
+
+
+
+//        Order order = orderService.selectByNo(param.getOrderNo());
+        Order order = OrderInAndOutUtil.selectByNo(Boolean.TRUE, orderNo);
+        if (Cools.isEmpty(order) || order.getSettle() > 2) {
+            throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�");
+        }
+        // 鐢熸垚鍏ュ簱閫氱煡妗�
+        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(),
+                    elem.getBoxType1(),elem.getBoxType2(),elem.getBoxType3());
+            if (elem.getAnfme() > orderDetl.getEnableQty()) {
+                throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
+            }
+            // 淇敼璁㈠崟浣滀笟鏁伴噺
+//                if (!orderDetlService.increaseWorkQty(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme())) {
+//                    throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触");
+//                }
+            OrderInAndOutUtil.increaseWorkQty(Boolean.TRUE,order.getId(), elem.getMatnr(), elem.getBatch(),elem.getBrand(),elem.getStandby1(),elem.getStandby2(),elem.getStandby3(),
+                    elem.getBoxType1(),elem.getBoxType2(),elem.getBoxType3(), elem.getAnfme());
+            DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(),elem.getBrand(),elem.getStandby1(),elem.getStandby2(),elem.getStandby3(),
+                    elem.getBoxType1(),elem.getBoxType2(),elem.getBoxType3(),  elem.getAnfme());
+            if (DetlDto.has(detlDtos, detlDto)) {
+                DetlDto one = DetlDto.findDto(detlDtos, detlDto);
+                assert one != null;
+                one.setAnfme(one.getAnfme() + detlDto.getAnfme());
+            } else {
+                detlDtos.add(detlDto);
+            }
+        });
+        for (DetlDto detlDto : detlDtos) {
+            Mat mat = matService.selectByMatnr(detlDto.getMatnr());
+            if (Cools.isEmpty(mat)) {
+                throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
+            }
+            WaitPakin waitPakin = new WaitPakin();
+            waitPakin.sync(mat);
+            waitPakin.setOrderNo(orderNo);   // 鍗曟嵁缂栧彿
+            waitPakin.setBatch(detlDto.getBatch());     // 搴忓垪鐮�
+            waitPakin.setZpallet(param.getBarcode());   // 鎵樼洏鐮�
+            waitPakin.setIoStatus("N");     // 鍏ュ嚭鐘舵��
+            waitPakin.setAnfme(detlDto.getAnfme());  // 鏁伴噺
+            waitPakin.setStatus("Y");    // 鐘舵��
+            waitPakin.setAppeUser(userId);
+            waitPakin.setAppeTime(now);
+            waitPakin.setModiUser(userId);
+            waitPakin.setModiTime(now);
+            waitPakin.setStandby1(detlDto.getStandby1());
+            waitPakin.setStandby2(detlDto.getStandby2());
+            waitPakin.setStandby3(detlDto.getStandby3());
+            waitPakin.setBoxType1(detlDto.getBoxType1());
+            waitPakin.setBoxType2(detlDto.getBoxType2());
+            waitPakin.setBoxType3(detlDto.getBoxType3());
+            if (!waitPakinService.insert(waitPakin)) {
+                throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
+            }
+        }
+//            orderService.updateSettle(order.getId(), 2L, userId);
+        OrderInAndOutUtil.updateOrder(Boolean.TRUE,order.getId(), 2L, userId);
+
+
+    }
+
+    @Override
+    @Transactional
     public R kittingQuery(CombParam combParam, Long userId) {
         List<Map<String, Object>> result = new ArrayList<>();
         List<LocDetl> locDetlResultList = new ArrayList<>();
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 67bdd9f..efaabed 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -661,7 +661,7 @@
         try{
             BasArmMastSign basArmMastSign = basArmMastSignService.selectOne(
                     new EntityWrapper<BasArmMastSign>()
-                            .eq("matnr", param.getSku())
+                            .eq("matnr", param.getMatnr())
                             .eq("order_no", param.getOrderNo())
                             .eq("create_time", param.getBindingTags())
             );
diff --git a/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java b/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
index 8786ba7..21c424b 100644
--- a/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
@@ -44,59 +44,77 @@
         //閬嶅巻鍗曟嵁
         for (String orderNo : orderNos) {
             try{
-                List<OrderDetlPakin> orderDetlPakinList = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>().eq("order_no",orderNo));
-                if (orderDetlPakinList.size()<1){
+                List<OrderDetlPakin> orderDetlPakinListAll = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>().eq("order_no",orderNo).eq("inspect",0));
+                if (orderDetlPakinListAll.size()<1){
+                    orderPakinService.updateOrderStatus(orderNo);   //鏇存柊璁㈠崟鐘舵�� 0 -> 1
                     continue;
                 }
-                List<ItemUtilParam.Item> items = new ArrayList<>();
-                for (OrderDetlPakin orderDetl:orderDetlPakinList){
-                    Integer number =  basArmRulesService.getNumber(orderDetl.getWeight(),orderDetl.getVolume(),orderDetl.getManLength(),orderDetl.getWidth(),orderDetl.getHeight());
-                    if (number == null) {
-                        BasArmRules basArmRules = new BasArmRules();
-                        basArmRules.setMaterialHeight(orderDetl.getHeight());
-                        basArmRules.setMaterialWeight(orderDetl.getWeight());
-                        basArmRules.setMaterialLength(orderDetl.getManLength());
-                        basArmRules.setMaterialWidth(orderDetl.getWidth());
-                        basArmRulesService.insert(basArmRules);
-                        return;
-                    } else if (number == 0){
-                        return;
+                List<String> boxType3List = new ArrayList<>();
+                for (OrderDetlPakin orderDetl:orderDetlPakinListAll){
+                    if (!boxType3List.contains(orderDetl.getBoxType3())){
+                        boxType3List.add(orderDetl.getBoxType3());
                     }
-                    String name = ToSortLineUtils.MergerParameter(orderDetl.getMatnr(),orderDetl.getStandby1(),orderDetl.getStandby2());
-                    int maxCapacity = number;
-                    int stock = orderDetl.getAnfme().intValue();
-                    items.add(new ItemUtilParam.Item(name, maxCapacity, stock));
                 }
+                for (String boxType3 : boxType3List){
+                    List<OrderDetlPakin> orderDetlPakinList = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>().eq("order_no",orderNo).eq("box_type3",boxType3).eq("inspect",0));
+                    if (orderDetlPakinList.size()<1){
+                        continue;
+                    }
+                    List<ItemUtilParam.Item> items = new ArrayList<>();
+                    for (OrderDetlPakin orderDetl:orderDetlPakinList){
+                        Integer number =  basArmRulesService.getNumber(orderDetl.getWeight(),orderDetl.getVolume(),orderDetl.getManLength(),orderDetl.getWidth(),orderDetl.getHeight());
+                        if (number == null) {
+                            BasArmRules basArmRules = new BasArmRules();
+                            basArmRules.setMaterialHeight(orderDetl.getHeight());
+                            basArmRules.setMaterialWeight(orderDetl.getWeight());
+                            basArmRules.setMaterialLength(orderDetl.getManLength());
+                            basArmRules.setMaterialWidth(orderDetl.getWidth());
+                            basArmRulesService.insert(basArmRules);
+                            return;
+                        } else if (number == 0){
+                            return;
+                        }
+                        String name = ToSortLineUtils.MergerParameter(orderDetl.getMatnr(),orderDetl.getStandby3(),orderDetl.getStandby1(),orderDetl.getStandby2());
+                        int maxCapacity = number;
+                        int stock = orderDetl.getAnfme().intValue();
+                        items.add(new ItemUtilParam.Item(name, maxCapacity, stock));
+                    }
 
-                OrderToLine orderToLine = new OrderToLine();
-                orderToLine.setOrderNo(orderNo);  //鍗曟嵁缂栧彿
-                orderToLine.setCreateTime(System.currentTimeMillis());  //鍒涘缓鏃堕棿
-                OrderToLine orderToLineR = ToSortLineUtils.GetOrderToLine(items, orderToLine,"Opt3");
+                    OrderToLine orderToLine = new OrderToLine();
+                    orderToLine.setOrderNo(boxType3);  //鍗曟嵁缂栧彿
+                    orderToLine.setCreateTime(System.currentTimeMillis());  //鍒涘缓鏃堕棿
+                    OrderToLine orderToLineR = ToSortLineUtils.GetOrderToLine(items, orderToLine,"Opt3");
 
-                try{
-                    ReturnT<String> returnT = orderToLineHandler.start(orderToLineR);
-                    if (!returnT.isSuccess()) {
+                    try{
+                        ReturnT<String> returnT = orderToLineHandler.start(orderToLineR);
+                        if (!returnT.isSuccess()) {
 //                        log.error("涓嬪彂鍗曟嵁澶辫触===>"+ JSON.toJSON(orderToLineR));
-                    } else {
-                        try{
-                            for (OrderToLine.MatList matList:orderToLineR.getMatList()){
-                                BasArmMastSign basArmMastSign = new BasArmMastSign();
-                                basArmMastSign.setMatnr(matList.getSku());
-                                basArmMastSign.setOrderNo(orderNo);
-                                basArmMastSign.setSku(matList.getSku());
-                                basArmMastSign.setPo(matList.getPo());
-                                basArmMastSign.setUpc(matList.getUpc());
-                                basArmMastSign.setSupplier(matList.getSupplier());
-                                basArmMastSign.setStatus(0);
-                                basArmMastSign.setAnfme(matList.getCtns());
-                                basArmMastSign.setCreateTime(matList.getBindingTags());
-                                basArmMastSignService.insert(basArmMastSign);
-                            }
-                        }catch (Exception e){}
+                        } else {
+                            try{
+                                for (OrderToLine.MatList matList:orderToLineR.getMatList()){
+                                    BasArmMastSign basArmMastSign = new BasArmMastSign();
+                                    basArmMastSign.setMatnr(matList.getItem());
+                                    basArmMastSign.setOrderNo(boxType3);//b3
+                                    basArmMastSign.setSku(matList.getSku());//s3
+                                    basArmMastSign.setPo(matList.getPo());//s1
+                                    basArmMastSign.setUpc(matList.getUpc());//s2
+//                                    basArmMastSign.setSupplier(matList.getSupplier());
+                                    basArmMastSign.setStatus(0);
+                                    basArmMastSign.setAnfme(matList.getCtns());
+                                    basArmMastSign.setCreateTime(matList.getBindingTags());
+                                    basArmMastSignService.insert(basArmMastSign);
+                                }
+                                for (OrderDetlPakin orderDetl:orderDetlPakinList){
+                                    orderDetl.setInspect(1);
+                                    orderDetlPakinService.updateById(orderDetl);
+                                }
+                            }catch (Exception e){}
+                        }
+                    } catch (Exception e){
+                        log.error("涓嬪彂鍗曟嵁寮傚父===>"+e.getMessage());
                     }
-                } catch (Exception e){
-                    log.error("涓嬪彂鍗曟嵁寮傚父===>"+e.getMessage());
                 }
+
             } catch (Exception e){
                 log.error("涓嬪彂鍗曟嵁寮傚父,璺宠浆涓嬩竴涓鍗�===>"+e.getMessage());
             }
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java
index 9e017d2..062ff44 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java
@@ -61,7 +61,7 @@
                 JSONObject jsonObject = JSON.parseObject(response);
                 if (jsonObject.getInteger("code").equals(200)) {
                     success = true;
-                    orderPakinService.updateOrderStatus(orderToline.getOrderNo());   //鏇存柊璁㈠崟鐘舵�� 0 -> 1
+//                    orderPakinService.updateOrderStatus(orderToline.getOrderNo());   //鏇存柊璁㈠崟鐘舵�� 0 -> 1
                 } else {
                     log.error("涓嬪彂鍗曟嵁锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+Path, JSON.toJSONString(orderToline), response);
                     throw new CoolException("涓嬪彂鍗曟嵁澶辫触");
diff --git a/src/main/java/com/zy/asrs/utils/ToSortLineUtils.java b/src/main/java/com/zy/asrs/utils/ToSortLineUtils.java
index b4d5ad4..bfc3316 100644
--- a/src/main/java/com/zy/asrs/utils/ToSortLineUtils.java
+++ b/src/main/java/com/zy/asrs/utils/ToSortLineUtils.java
@@ -32,8 +32,8 @@
         System.out.println("\n" + solution);
     }
 
-    public static String MergerParameter(String sku,String po,String upc){
-        return sku+sign_F+po+sign_F+upc;
+    public static String MergerParameter(String item,String sku,String po,String upc){
+        return item+sign_F+sku+sign_F+po+sign_F+upc;
     }
 
     public static OrderToLine GetOrderToLine(List<ItemUtilParam.Item> items, OrderToLine orderToLine,String sign){
@@ -62,14 +62,14 @@
         for (OptimizedLockerPackingUtils.Locker locker:packingSolution.lockers) {
             for (String mantnr : locker.contents.keySet()){
                 System.out.println(mantnr+"<===>"+locker.contents.get(mantnr));
-                String[] split = mantnr.split(Pattern.quote(sign_F));
+                String[] split = mantnr.split(Pattern.quote(sign_F),-1);
                 OrderToLine.MatList mat = new OrderToLine.MatList(
-                        split[0],  // matnr -> sku
-                        split[1],  //  supp -> po -> s1
+                        split[0],  // matnr -> matnr -> item
+                        split[1],  // sku -> sku
+                        split[2],  //  standby1 -> po -> s1
                         locker.contents.get(mantnr).doubleValue(),   //鏁存枡
-                        split[2],   //barcode -> upc -> s2
+                        split[3],   //standby2 -> upc -> s2
                         1,
-                        null,   //origin -> supplier 璐ф簮
                         locker.bindingTags
                 );
                 matLists.add(mat);
@@ -89,12 +89,12 @@
 //                System.out.println(mantnr+"<===>"+locker.contents.get(mantnr));
                 String[] split = mantnr.split(Pattern.quote(sign_F),-1);
                 OrderToLine.MatList mat = new OrderToLine.MatList(
-                        split[0],  // matnr -> sku
-                        split[1],  //  supp -> po -> s1
+                        split[0],  // matnr -> item -> matnr
+                        split[1],  //  standby3 -> sku -> standby3
+                        split[2],  //  standby1 -> po -> standby1
                         locker.contents.get(mantnr).doubleValue(),   //鏁存枡
-                        split[2],   //barcode -> upc -> s2
+                        split[3],   //standby2 -> upc -> standby2
                         1,
-                        null,   //origin -> supplier 璐ф簮
                         locker.bindingTags
                 );
                 matLists.add(mat);

--
Gitblit v1.9.1