From 6a31e3759855f9649a323d2a8dd0dfed0cc43319 Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期二, 23 一月 2024 09:27:58 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/OpenController.java                     |   63 -----
 src/main/java/com/zy/asrs/task/handler/OneLouHangJiaHandler.java             |    2 
 src/main/resources/mapper/WrkMastMapper.xml                                  |    2 
 src/main/webapp/static/js/saas/locDetl.js                                    |    3 
 src/main/java/com/zy/asrs/controller/MobileController.java                   |   31 ++
 src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java |   28 ++
 src/main/java/com/zy/asrs/entity/param/PalletizingCompleteTwoFloorParam.java |   33 +++
 src/main/java/com/zy/asrs/entity/param/TrussCombParam.java                   |    3 
 src/main/java/com/zy/asrs/service/OpenService.java                           |    4 
 src/main/java/com/zy/asrs/task/BarcodeUploadScheduler.java                   |    2 
 src/main/java/com/zy/asrs/entity/param/PalletizingCompleteParam2.java        |   16 -
 src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java                 |    4 
 src/main/java/com/zy/asrs/task/RailwayPlatformScheduler.java                 |    4 
 src/main/java/com/zy/asrs/task/LocMoveAllScheduler.java                      |    4 
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java                |  178 +++++++++++++----
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java                  |  178 ++++++-----------
 src/main/java/com/zy/asrs/service/MobileService.java                         |    3 
 17 files changed, 305 insertions(+), 253 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index ecefece..86195a4 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.core.annotations.AppAuth;
 import com.core.annotations.ManagerAuth;
 import com.core.common.BaseRes;
 import com.core.common.Cools;
@@ -19,6 +20,7 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.*;
 import java.util.List;
 
@@ -258,12 +260,12 @@
         return R.ok();
     }
 
-    @RequestMapping("/truss/auth")
-    @ManagerAuth(memo = "閫�搴擄紝1妤兼鏋堕��搴�")
-    public R trussComb(@RequestBody TrussCombParam combParam){
-        mobileService.trussComb(combParam, getUserId());
-        return R.ok("缁勬墭鎴愬姛");
-    }
+//    @RequestMapping("/truss/auth")
+//    @ManagerAuth(memo = "閫�搴擄紝1妤兼鏋堕��搴�")
+//    public R trussComb(@RequestBody TrussCombParam combParam){
+//        mobileService.trussComb(combParam, getUserId());
+//        return R.ok("缁勬墭鎴愬姛");
+//    }
 
     @RequestMapping("/truss/order/auth")
     @ManagerAuth(memo = "閫�搴擄紝1妤兼鏋堕��搴擄紝閫�搴撳崟閫�搴�")
@@ -273,12 +275,23 @@
     }
 
     @RequestMapping("/truss/comd/auth")
-    @ManagerAuth(memo = "鎵嬪姩鍏ュ簱锛�2妤兼棤闇�妗佹灦鎵嬪姩鍏ュ簱")
-    public R trussComb2(@RequestBody PalletizingCompleteParam combParam){
-        mobileService.trussComb2(combParam, getUserId());
+//    @ManagerAuth(memo = "鎵嬪姩鍏ュ簱锛�2妤兼棤闇�妗佹灦鎵嬪姩鍏ュ簱 wms鍏ュ簱")
+    public R PalletizingCompleteTwoFloorParam(@RequestBody PalletizingCompleteTwoFloorParam combParam){
+        mobileService.PalletizingCompleteTwoFloorParam(combParam);
         return R.ok("缁勬墭鎴愬姛");
     }
 
+    /**
+     * 涓帶锛�2妤�212鍙墭鐩�
+     */
+    @PostMapping("/balcony/complete/car/auth/v1")
+    @AppAuth(memo = "涓帶锛�2妤�212鍙墭鐩�")
+    public synchronized R balconyCompleteCar() {
+        mobileService.trussComb2Car(212);
+        return R.ok();
+    }
+
+
     @RequestMapping("/comb/auth")
     @ManagerAuth(memo = "缁勬墭")
     public R comb(@RequestBody CombParam combParam){
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 39dfd59..6897f42 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -197,7 +197,7 @@
      * 璐存爣鏈虹敵璇疯幏鍙栬揣鐗╀俊鎭�
      */
     @PostMapping("/labeller/mat/auth/v1")
-    @AppAuth(memo = "璐存爣鏈虹敵璇疯幏鍙栬揣鐗╀俊鎭�")
+    @AppAuth(memo = "璐存爣鏈虹敵璇疯幏鍙栬揣鐗╀俊鎭�") //old闇�瑕佷慨鏀�
     public synchronized R labellerMat(@RequestHeader(required = false) String appkey,
                                       @RequestBody LabellerMatParam param,
                                       HttpServletRequest request) {
@@ -209,7 +209,7 @@
      * 璐存爣鏈鸿创鏍囧畬鎴�
      */
     @PostMapping("/labeller/complete/auth/v1")
-    @AppAuth(memo = "璐存爣鏈鸿创鏍囧畬鎴�")
+    @AppAuth(memo = "璐存爣鏈鸿创鏍囧畬鎴�") //old闇�瑕佷慨鏀�
     public synchronized R labellerComplete(@RequestHeader(required = false) String appkey,
                                            @RequestBody LabellerCompleteParam param,
                                            HttpServletRequest request) {
@@ -219,17 +219,15 @@
     }
 
     /**
-     * 涓帶锛氱爜鍨涘畬鎴愪笅鍙戝叆搴撲俊鎭�
+     * 涓帶(2妤�)锛氱爜鍨涘畬鎴愪笅鍙戝叆搴撲俊鎭�
      */
     @PostMapping("/palletizing/complete/auth/v1")
     @AppAuth(memo = "涓帶(2妤�)锛氱爜鍨涘畬鎴愪笅鍙戝叆搴撲俊鎭�")
-    public synchronized R palletizingComplete(@RequestHeader(required = false) String appkey,
-                                           @RequestBody PalletizingCompleteParam2 param,
+    public synchronized R PalletizingCompleteTwoFloorParam(@RequestHeader(required = false) String appkey,
+                                           @RequestBody PalletizingCompleteTwoFloorParam param,
                                            HttpServletRequest request) {
-//        appkey = "ea1f0459efc02a79f046f982767939ae";
-
         auth(appkey, param, request);
-        openService.palletizingComplete(param);
+        openService.PalletizingCompleteTwoFloorParam(param);
         return R.ok(param);
     }
 
@@ -241,8 +239,6 @@
     public synchronized R palletizingCompleteS(@RequestHeader(required = false) String appkey,
                                               @RequestBody PalletizingCompleteParam param,
                                               HttpServletRequest request) {
-//        appkey = "ea1f0459efc02a79f046f982767939ae";
-
         auth(appkey, param, request);
         openService.palletizingCompleteS(param);
         return R.ok();
@@ -252,7 +248,7 @@
      * 涓帶锛氬嚭搴撳畬鎴愭湀鍙扮浉鍏�
      */
     @PostMapping("/balcony/complete/auth/v1")
-    @AppAuth(memo = "涓帶锛氬嚭搴撳畬鎴愭湀鍙扮浉鍏�")
+    @AppAuth(memo = "涓帶锛氬嚭搴撳畬鎴愭湀鍙扮浉鍏�") //old闇�瑕佷慨鏀�
     public synchronized R balconyComplete(@RequestHeader(required = false) String appkey,
                                               @RequestBody LabellerMatParam param,
                                               HttpServletRequest request) {
@@ -270,8 +266,6 @@
     public synchronized R singleUnstackingComplete(@RequestHeader(required = false) String appkey,
                                             @RequestBody SingleUnstackingCompleteParam param,
                                             HttpServletRequest request) {
-//        appkey = "ea1f0459efc02a79f046f982767939ae";
-
         auth(appkey, param, request);
         openService.singleUnstackingComplete(param);
         return R.ok(param);
@@ -285,53 +279,10 @@
     public synchronized R singleMountUnstackingComplete(@RequestHeader(required = false) String appkey,
                                             @RequestBody SingleMountUnstackingCompleteParam param,
                                             HttpServletRequest request) {
-//        appkey = "ea1f0459efc02a79f046f982767939ae";
-
         auth(appkey, param, request);
         openService.singleMountUnstackingComplete(param);
         return R.ok(param);
     }
-
-
-//    /**
-//     *  娴嬭瘯1  鍏ュ簱鍓嶈緭閫佺嚎鍐欏叆鎵樼洏鐮侊紝216绔欐祴璇曠敤
-//     */
-//    @PostMapping("/cs1/auth/v1")
-//    @AppAuth(memo = "")
-//    public synchronized R cs1(@RequestHeader(required = false) String appkey,
-//                                              @RequestBody PalletizingCompleteParam param,
-//                                              HttpServletRequest request) {
-//        auth(appkey, param, request);
-//        openService.cs1(param.getBarcode());
-//        return R.ok(param);
-//    }
-//
-//    /**
-//     *  娴嬭瘯2  娓呴櫎鎵樼洏鐮侊紝216绔欐祴璇曠敤 Copy
-//     */
-//    @PostMapping("/cs2/auth/v1")
-//    @AppAuth(memo = "")
-//    public synchronized R cs2(@RequestHeader(required = false) String appkey,
-//                                                @RequestBody PalletizingCompleteParam param,
-//                                                HttpServletRequest request) {
-//        auth(appkey, param, request);
-//        openService.cs2();
-//        return R.ok(param);
-//    }
-//
-//    /**
-//     * 娴嬭瘯3
-//     */
-//    @PostMapping("/cs3/auth/v1")
-////    @AppAuth(memo = "")
-//    public synchronized R cs3(@RequestHeader(required = false) String appkey,
-//                                                @RequestBody PalletizingCompleteParam param,
-//                                                HttpServletRequest request) {
-//        auth(appkey, param, request);
-//        openService.cs3();
-//        return R.ok(param);
-//    }
-
 
     /*...........................涓婇ザ姹熼摐..............浠ヤ笂.............寰愬伐姹変簯...........................*/
 
diff --git a/src/main/java/com/zy/asrs/entity/param/PalletizingCompleteParam2.java b/src/main/java/com/zy/asrs/entity/param/PalletizingCompleteParam2.java
index 8ffee46..4329da8 100644
--- a/src/main/java/com/zy/asrs/entity/param/PalletizingCompleteParam2.java
+++ b/src/main/java/com/zy/asrs/entity/param/PalletizingCompleteParam2.java
@@ -43,20 +43,4 @@
         private String specsDetl;//	(鏄惁闇�瑕侊級	瀛楃涓�	瑙勬牸
     }
 
-//    public Integer getDevNo$(){
-//        if (!Cools.isEmpty(this.palletizingNo)){
-//            switch (this.palletizingNo){
-//                case "1":
-//                    return 219;
-//                case "2":
-//                    return 215;
-//                case "3":
-//                    return 118;
-//                default:
-//                    return null;
-//            }
-//        }
-//        return null;
-//    }
-
 }
diff --git a/src/main/java/com/zy/asrs/entity/param/PalletizingCompleteTwoFloorParam.java b/src/main/java/com/zy/asrs/entity/param/PalletizingCompleteTwoFloorParam.java
new file mode 100644
index 0000000..96c6676
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/PalletizingCompleteTwoFloorParam.java
@@ -0,0 +1,33 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+/*
+ *  Created by Monkey D. Luffy on 2023.07.19
+ * */
+@Data
+public class PalletizingCompleteTwoFloorParam {
+
+    private String barcode;//	鏄�	瀛楃涓�	鎵樼洏鐮�
+    private Integer palletizingNo;//	鏄�	瀛楃涓�	鐮佸灈浣嶇紪鍙�
+    private String boxType;//	鏄�	瀛楃涓�	鏈ㄧ绫诲瀷
+
+    private List<MatList> matList;//		鏄�	鍒楄〃	鎷嗗灈璐х墿淇℃伅锛�2绠憋紝灏剧鍙兘1绠憋級
+
+    @Data
+    public static class MatList{
+        private String matnr;//	鏄�	瑙勬牸	鐗╂枡缂栫爜
+        private String maktx;//	鏄�	鐗╂枡鍚嶇О  //涓嶉渶瑕�
+        private String batch;//	鏄�	瀛楃涓�	鏈ㄧ缂栧彿锛堝敮涓�瀛楁锛屽嚭搴撲緷鎹紝鍑哄簱鏃舵寜鐓ф湪绠辩紪鍙峰嚭搴擄級
+        private String model;//	鏄�	瀛楃涓�	鍗风紪鍙凤紙鍞竴瀛楁锛�
+        private String position;//	鏄�	瀛楃涓�	鏈ㄧ鐮佸灈浣嶇疆锛堟媶鍨涙椂闇�瑕侊級
+        private Double weight;//	鏄�	灏忔暟鍨�	閲嶉噺  鍑�閲�
+        private Double roughWeight;//	鏄�	灏忔暟鍨�	閲嶉噺  姣涢噸
+        private Double anfme=1.0;//	鏄�	灏忔暟鍨�	 //榛樿
+        private Double rollExtent;//	鏄�	灏忔暟鍨�	鍗烽暱搴�
+
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/TrussCombParam.java b/src/main/java/com/zy/asrs/entity/param/TrussCombParam.java
index 022f751..19c74cc 100644
--- a/src/main/java/com/zy/asrs/entity/param/TrussCombParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/TrussCombParam.java
@@ -60,8 +60,6 @@
     public TrussCombParam(){}
 
     public TrussCombParam( WrkDetl wrkDetl){
-        LocDetlRullUpDetailService locDetlRullUpDetailService = SpringUtils.getBean(LocDetlRullUpDetailService.class);
-
         this.barcode = wrkDetl.getBarcode();
         this.staStart = 147;
         this.palletizingNo2 = 118;
@@ -78,7 +76,6 @@
         matList.setBoxNo(wrkDetl.getBatch());
         matList.setPosition("1");
         matList.setWeight(wrkDetl.getWeight());
-        matList.setSpecs(wrkDetl.getSpecs());
         matLists.add(matList);
 
         this.matList = matLists;
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index 1d93e24..7e6b8b2 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -16,7 +16,8 @@
     void comb(CombParam param, Long userId);
     void trussComb(TrussCombParam param, Long userId);
     void trussCombOrder(TrussCombParam param, Long userId);
-    void trussComb2(PalletizingCompleteParam param, Long userId);
+    void PalletizingCompleteTwoFloorParam(PalletizingCompleteTwoFloorParam param);
+    void trussComb2Car(Integer staNo);
 
     /**
      * 涓婃灦
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index e58a750..c9e4899 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -50,15 +50,13 @@
 
     void balconyComplete(LabellerMatParam param);
 
-    void palletizingComplete(PalletizingCompleteParam2 param);
+    void PalletizingCompleteTwoFloorParam(PalletizingCompleteTwoFloorParam param);
     void palletizingCompleteS(PalletizingCompleteParam param);
 
     void singleUnstackingComplete(SingleUnstackingCompleteParam param);
 
     void singleMountUnstackingComplete(SingleMountUnstackingCompleteParam param);
 
-    void cs1(String barcode);
     void cs2();
-    void cs3();
 
 }
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 52ba3e1..c0d6320 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -20,6 +20,7 @@
 import com.zy.common.model.LocTypeDto;
 import com.zy.common.model.MesCombParam;
 import com.zy.common.model.StartupDto;
+import com.zy.common.model.enums.WorkNoType;
 import com.zy.common.service.CommonService;
 import com.zy.common.utils.HttpHandler;
 import lombok.extern.slf4j.Slf4j;
@@ -85,6 +86,8 @@
     private DocTypeService docTypeService;
     @Autowired
     private LocDetlRullUpDetailService locDetlRullUpDetailService;
+    @Autowired
+    private TagService tagService;
 
 
     @Override
@@ -221,7 +224,7 @@
             throw new CoolException("鍙傛暟锛氱爜鍨涗綅缂栧彿 palletizingNo涓虹┖");
         }else if (Cools.isEmpty(param.getOrderNo())){
             throw new CoolException("鍙傛暟锛氶��璐у崟鍗曞彿 orderNo涓虹┖");
-        }else if (Cools.isEmpty(param.getMatList()) || param.getMatList().size() != 1){
+        }else if (Cools.isEmpty(param.getMatList())){
             throw new CoolException("鍙傛暟锛氱墿鏂欐槑缁� matLists涓虹┖");
         }
 
@@ -252,45 +255,57 @@
             if (!orderBoxNoList.contains(matList.getBatch())){
                 throw new CoolException("鍗曞彿锛�"+param.getOrderNo()+" 绠卞彿锛�"+matList.getBatch()+"涓嶅睘浜庢璁㈠崟鎴栬�呭凡缁忓叆搴�");
             }else {
-//                if (matList.getAnfme() > orderDetls.get(0).getAnfme()) {
-//                    throw new CoolException("绠卞彿锛�"+orderDetls.get(0).getBatch() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
-//                }
                 matListBoxNoList.add(matList.getBoxNo());
             }
         }
         List<OrderDetl> orderDetlList = new ArrayList<>();
         for (OrderDetl orderDetl: orderDetls){
             if (matListBoxNoList.contains(orderDetl.getBatch())){
-                orderDetl.setBrand("1");
                 orderDetlList.add(orderDetl);
             }
         }
-        String matnr = null;
         List<WaitPakin> waitPakins = new ArrayList<>();
 
+        String matnrSign = "";
+        String brandSign = "";
         for (OrderDetl orderDetl:orderDetlList){
-            Mat mat = matService.selectByMatnr(orderDetl.getMatnr());
-            if (Cools.isEmpty(mat)) {
-                throw new CoolException(orderDetl.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
+            if (Cools.isEmpty(orderDetl.getMatnr()) || Cools.isEmpty(orderDetl.getBrand())){
+                throw new CoolException(orderDetl.getOrderNo() + "鎵�閫夋槑缁嗗瓨鍦ㄦ湭鐭ヨ鏍兼垨鑰呮湭鐭ョ鍨嬶紝璇风淮鎶ゆ暟鎹紒");
             }
-            matnr = mat.getMatnr();
+            if (matnrSign.equals("")){
+                matnrSign = orderDetl.getMatnr();
+                brandSign = orderDetl.getBrand();
+            }else {
+                if (!matnrSign.equals(orderDetl.getMatnr())){
+                    throw new CoolException(orderDetl.getMatnr() + "璇烽�夋嫨鍚屼竴涓鏍肩殑璐х墿锛侊紒锛�");
+                }
+                if (!brandSign.equals(orderDetl.getBrand())){
+                    throw new CoolException(orderDetl.getMatnr() + "璇烽�夋嫨鍚屼竴绉嶇鍨嬬殑璐х墿锛侊紒锛�");
+                }
+            }
+        }
+        Mat mat = matService.selectByMatnr(matnrSign);
+        if (Cools.isEmpty(mat)) {
+            throw new CoolException(matnrSign + "鍟嗗搧妗f涓嶅瓨鍦�");
+        }
+        for (OrderDetl orderDetl:orderDetlList){
             WaitPakin waitPakin = new WaitPakin();
             waitPakin.sync(mat);
             waitPakin.setOrderNo(order.getOrderNo());   // 鍗曟嵁缂栧彿
             waitPakin.setModel(orderDetl.getModel());     //鎵规
             waitPakin.setSpecs(orderDetl.getSpecs());     //瑙勬牸
             waitPakin.setBatch(orderDetl.getBatch());       //鏈ㄧ缂栫爜
-            waitPakin.setBrand(param.getBoxType());     //鏈ㄧ绫诲瀷
+            waitPakin.setBrand(orderDetl.getBrand());     //鏈ㄧ绫诲瀷
             waitPakin.setZpallet(param.getBarcode());   //鎵樼洏鐮�
-            waitPakin.setOrigin(orderDetl.getOrigin()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃�
-            waitPakin.setIoStatus("N");     // 鍏ュ嚭鐘舵��
+            waitPakin.setOrigin("1"); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃�
+            waitPakin.setIoStatus("Y");     // 鍏ュ嚭鐘舵��
             waitPakin.setAnfme(orderDetl.getAnfme());  // 鏈ㄧ涓摐绠旀暟閲�
+            waitPakin.setWeight(orderDetl.getWeight());  // 鏈ㄧ涓摐绠斿噣閲�
             waitPakin.setStatus("Y");    // 鐘舵��
             waitPakin.setAppeUser(userId);
             waitPakin.setAppeTime(now);
             waitPakin.setModiUser(userId);
             waitPakin.setModiTime(now);
-            waitPakin.setRollUp(orderDetl.getRollUp());
             waitPakin.setZpallet(param.getBarcode());
             if (!waitPakinService.insert(waitPakin)) {
                 throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
@@ -301,7 +316,7 @@
         LocTypeDto locTypeDto = new LocTypeDto();
         locTypeDto.setLocType1((short)1);
 
-        StartupDto dto = commonService.getLocNo(1, 1, 145, matnr,null,null, locTypeDto);
+        StartupDto dto = commonService.getLocNo(1, 1, 145, matnrSign,null,null, locTypeDto);
 
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
@@ -339,7 +354,6 @@
             wrkDetl.setIoTime(wrkMast.getIoTime());
             wrkDetl.setAppeTime(now);
             wrkDetl.setModiTime(now);
-            wrkDetl.setRollUp(waitPakin.getRollUp());
             wrkDetl.setZpallet(param.getBarcode());
             if (!wrkDetlService.insert(wrkDetl)) {
                 throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
@@ -365,7 +379,51 @@
 
     @Override
     @Transactional
-    public void trussComb2(PalletizingCompleteParam param, Long userId) {
+    public void trussComb2Car(Integer staNo) {
+        if (staNo!=212){
+            throw new CoolException("鍙厑璁�212鍛煎彨鎵樼洏");
+        }
+        BasDevp basDevp = basDevpService.selectById(212);
+        if (!basDevp.getAutoing().equals("Y")){
+            throw new CoolException("212绔欑偣涓嶆槸鑷姩");
+        } else if (basDevp.getLoading().equals("Y")){
+            throw new CoolException("212绔欑偣鏈夌墿");
+        } else if (basDevp.getWrkNo()!=0){
+            throw new CoolException("212绔欑偣鏈夊伐浣滃彿");
+        }
+        int workNo = 20211;
+        WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", 20211));
+        if (!Cools.isEmpty(wrkMast1)){
+            throw new CoolException("浠诲姟妗f宸插瓨鍦紒璇风瓑寰�...");
+        }
+        Date now = new Date();
+        // 鐢熸垚宸ヤ綔妗�
+        WrkMast wrkMast = new WrkMast();
+        wrkMast.setWrkNo(workNo);
+        wrkMast.setIoTime(new Date());
+        wrkMast.setWrkSts(61L); // 宸ヤ綔鐘舵�侊細61銆佺瓑寰呯┖鏉�
+        wrkMast.setIoType(212); // 鍏ュ嚭搴撶姸鎬侊細212.2妤�212鍛煎彨绌烘澘
+        wrkMast.setIoPri(10D); // 浼樺厛绾�
+        wrkMast.setStaNo(212);
+        wrkMast.setFullPlt("N"); // 婊℃澘锛歒
+        wrkMast.setPicking("N"); // 鎷f枡
+        wrkMast.setExitMk("N"); // 閫�鍑�
+        wrkMast.setEmptyMk("Y"); // 绌烘澘
+        wrkMast.setLinkMis("Y");
+        wrkMast.setCtnType(0); // 瀹瑰櫒绫诲瀷
+        // 鎿嶄綔浜哄憳鏁版嵁
+        wrkMast.setAppeTime(now);
+        wrkMast.setModiTime(now);
+        boolean res = wrkMastService.insert(wrkMast);
+        if (!res) {
+            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+        }
+    }
+    @Override
+    @Transactional
+    public void PalletizingCompleteTwoFloorParam(PalletizingCompleteTwoFloorParam param) {
+        Long userId = 7777L;//涓帶
+        param.setPalletizingNo(212);
         //鍒ゆ柇param鍙傛暟
         if (Cools.isEmpty(param.getBarcode())){
             throw new CoolException("鍙傛暟锛氭墭鐩樼爜 barcode涓虹┖");
@@ -373,36 +431,57 @@
             throw new CoolException("鍙傛暟锛氱爜鍨涗綅缂栧彿 palletizingNo涓虹┖");
         }else if (Cools.isEmpty(param.getBoxType())){
             throw new CoolException("鍙傛暟锛氭湪绠辩被鍨� boxType涓虹┖");
-        }else if (Cools.isEmpty(param.getMatLists()) || param.getMatLists().size()==0 || param.getMatLists().size()>2){
+        }else if (Cools.isEmpty(param.getMatList()) || param.getMatList().size()==0){
             throw new CoolException("鍙傛暟锛氱墿鏂欐槑缁� matLists涓虹┖");
         }
 
-        ArrayList<String> positions = new ArrayList<>();   //鏈ㄧ浣嶇疆鏌ラ噸      (orgin)
+        String matnrOne = "";//鏈ㄧ鐩稿悓浣嶇疆 瑙勬牸 matnr鏍¢獙  1銆佸乏
+        String matnrTwo = "";//鏈ㄧ鐩稿悓浣嶇疆 瑙勬牸 matnr鏍¢獙  2銆佸彸
         ArrayList<String> boxNos = new ArrayList<>();   //鏈ㄧ鍞竴缂栫爜鏌ラ噸  锛坆atch锛�
         //鍒ゆ柇matLists鍙傛暟
-        for (PalletizingCompleteParam.MatList matList:param.getMatLists()){
+        for (PalletizingCompleteTwoFloorParam.MatList matList:param.getMatList()){
             if (Cools.isEmpty(matList.getMatnr())){
-                throw new CoolException("鍙傛暟锛氱墿鏂欑紪鐮� matnr涓虹┖");
+                throw new CoolException("鍙傛暟锛氳鏍� matnr涓虹┖");
             }else if (Cools.isEmpty(matList.getPosition())){
-                throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細鐮佸灈浣嶇疆 position涓虹┖");
-            }else if (Cools.isEmpty(matList.getBoxNo())){
-                throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細鏈ㄧ缂栧彿 boxNo涓虹┖");
-            }else if (Cools.isEmpty(matList.getAnfme()) || matList.getAnfme().equals(0)){
-                throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細鏈ㄧ涓摐绠旀暟閲� anfme涓虹┖");
+                throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鐮佸灈浣嶇疆 position涓虹┖");
+            }else if (Cools.isEmpty(matList.getBatch())){
+                throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鏈ㄧ缂栧彿 batch涓虹┖");
+            }else if (Cools.isEmpty(matList.getModel())){
+                throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鍗峰彿 model涓虹┖");
+            }else if (Cools.isEmpty(matList.getBatch())){
+                throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鏈ㄧ缂栧彿 boxNo涓虹┖");
             }else if (Cools.isEmpty(matList.getWeight()) || matList.getWeight().equals(0D)){
-                throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細閲嶉噺 weight涓虹┖");
+                throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鍑�閲� weight涓虹┖");
+            }else if (Cools.isEmpty(matList.getRoughWeight()) || matList.getRoughWeight().equals(0D)){
+                throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細姣涢噸 roughWeight");
+            }else if (Cools.isEmpty(matList.getRollExtent()) || matList.getRollExtent().equals(0D)){
+                throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鍗烽暱搴� rollExtent");
             }
 
-            if (!positions.contains(matList.getPosition())){
-                positions.add(matList.getPosition());
+            if (matList.getPosition().equals("1")){//1銆佸乏  2銆佸彸
+                if (!matnrOne.equals("")){
+                    if (!matnrOne.equals(matList.getMatnr())){
+                        throw new CoolException("鏈ㄧ浣嶇疆锛�"+matList.getPosition()+"瀛樺湪涓嶅悓瑙勬牸鍗蜂俊鎭�");
+                    }
+                }else {
+                    matnrOne=matList.getMatnr();
+                }
+            }else if (matList.getPosition().equals("2")){
+                if (!matnrTwo.equals("")){
+                    if (!matnrTwo.equals(matList.getMatnr())){
+                        throw new CoolException("鏈ㄧ浣嶇疆锛�"+matList.getPosition()+"瀛樺湪涓嶅悓瑙勬牸鍗蜂俊鎭�");
+                    }
+                }else {
+                    matnrTwo=matList.getMatnr();
+                }
             }else {
-                throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBoxNo()+",鏈ㄧ浣嶇疆瀛樺湪閲嶅锛�"+matList.getPosition());
+                throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBatch()+",鏈ㄧ浣嶇疆閿欒锛�"+matList.getPosition());
             }
 
-            if (!boxNos.contains(matList.getBoxNo())){
-                boxNos.add(matList.getBoxNo());
+            if (!boxNos.contains(matList.getBatch())){
+                boxNos.add(matList.getBatch());
             }else {
-                throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBoxNo()+",鏈ㄧ缂栫爜瀛樺湪閲嶅");
+                throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBatch()+",鏈ㄧ缂栫爜瀛樺湪閲嶅");
             }
         }
 
@@ -416,40 +495,51 @@
         String matnr = null;
         List<WaitPakin> waitPakins = new ArrayList<>();
         Date now = new Date();
-        for (PalletizingCompleteParam.MatList matList:param.getMatLists()){
+        for (PalletizingCompleteTwoFloorParam.MatList matList:param.getMatList()){
             Mat mat = matService.selectByMatnr(matList.getMatnr());
             if (Cools.isEmpty(mat)) {
-                throw new CoolException(matList.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
+                mat = new Mat();
+                mat.setMatnr(matList.getMatnr());
+                mat.setMaktx(matList.getMatnr());
+                mat.setTagId(tagService.getTop().getId());
+                mat.setBrand(param.getBoxType());
+                mat.setCreateBy(userId);
+                mat.setCreateTime(now);
+                mat.setUpdateBy(userId);
+                mat.setUpdateTime(now);
+                mat.setStatus(1);
+                if (!matService.insert(mat)) {
+                    throw new CoolException("瑙勬牸娣诲姞澶辫触锛岃鑱旂郴绠$悊鍛�");
+                }
             }
             matnr = matList.getMatnr();
             WaitPakin waitPakin = new WaitPakin();
             waitPakin.sync(mat);
-            waitPakin.setModel(matList.getBatch());     //鎵规
-            waitPakin.setSpecs(matList.getSpecs());     //瑙勬牸
-            waitPakin.setBatch(matList.getBoxNo());       //鏈ㄧ缂栫爜
+            waitPakin.setBatch(matList.getBatch());       //鏈ㄧ缂栫爜  //鎵规  鍞竴鍊�  绠卞彿
+            waitPakin.setModel(matList.getModel());       //鍗峰彿  鍞竴鍊�
             waitPakin.setBrand(param.getBoxType());     //鏈ㄧ绫诲瀷
             waitPakin.setZpallet(param.getBarcode());   //鎵樼洏鐮�
             waitPakin.setOrigin(matList.getPosition()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃�
+            waitPakin.setWeight(matList.getWeight());  //鍑�閲�
+//            waitPakin.setRoughWeight(matList.getRoughWeight());  //姣涢噸
+//            waitPakin.setRollExtent(matList.getRollExtent());   //闀垮害
             waitPakin.setIoStatus("Y");     // 鍏ュ嚭鐘舵��
-            waitPakin.setAnfme(matList.getAnfme().doubleValue());  // 鏈ㄧ涓摐绠旀暟閲�
+            waitPakin.setAnfme(matList.getAnfme());  // 鏁伴噺
             waitPakin.setStatus("Y");    // 鐘舵��
             waitPakin.setAppeUser(userId);
             waitPakin.setAppeTime(now);
             waitPakin.setModiUser(userId);
             waitPakin.setModiTime(now);
-            waitPakin.setZpallet(param.getBarcode());
             if (!waitPakinService.insert(waitPakin)) {
                 throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
             }
             waitPakins.add(waitPakin);
         }
 
-
-
         LocTypeDto locTypeDto = new LocTypeDto();
         locTypeDto.setLocType1((short)1);
 
-        StartupDto dto = commonService.getLocNo(1, 1, 145, matnr,null,null, locTypeDto);
+        StartupDto dto = commonService.getLocNo(1, 1, 212, matnr,null,null, locTypeDto);
 
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
@@ -470,7 +560,6 @@
         wrkMast.setEmptyMk("N"); // 绌烘澘
         wrkMast.setLinkMis("Y");
         wrkMast.setCtnType(0); // 瀹瑰櫒绫诲瀷
-        wrkMast.setBarcode(param.getBarcode());
         // 鎿嶄綔浜哄憳鏁版嵁
         wrkMast.setAppeTime(now);
         wrkMast.setModiTime(now);
@@ -487,7 +576,6 @@
             wrkDetl.setAppeTime(now);
             wrkDetl.setModiTime(now);
             wrkDetl.setZpallet(param.getBarcode());
-            wrkDetl.setRollUp(waitPakin.getRollUp());
             if (!wrkDetlService.insert(wrkDetl)) {
                 throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
             }
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 40387db..236a928 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -694,7 +694,7 @@
      * */
     @Override
     @Transactional
-    public void palletizingComplete(PalletizingCompleteParam2 param) {
+    public void PalletizingCompleteTwoFloorParam(PalletizingCompleteTwoFloorParam param) {
         Long userId = 7777L;//涓帶
         //鍒ゆ柇param鍙傛暟
         if (Cools.isEmpty(param.getBarcode())){
@@ -703,36 +703,57 @@
             throw new CoolException("鍙傛暟锛氱爜鍨涗綅缂栧彿 palletizingNo涓虹┖");
         }else if (Cools.isEmpty(param.getBoxType())){
             throw new CoolException("鍙傛暟锛氭湪绠辩被鍨� boxType涓虹┖");
-        }else if (Cools.isEmpty(param.getMatLists()) || param.getMatLists().size()==0){
+        }else if (Cools.isEmpty(param.getMatList()) || param.getMatList().size()==0){
             throw new CoolException("鍙傛暟锛氱墿鏂欐槑缁� matLists涓虹┖");
         }
 
-        ArrayList<String> positions = new ArrayList<>();   //鏈ㄧ浣嶇疆鏌ラ噸      (orgin)
+        String matnrOne = "";//鏈ㄧ鐩稿悓浣嶇疆 瑙勬牸 matnr鏍¢獙  1銆佸乏
+        String matnrTwo = "";//鏈ㄧ鐩稿悓浣嶇疆 瑙勬牸 matnr鏍¢獙  2銆佸彸
         ArrayList<String> boxNos = new ArrayList<>();   //鏈ㄧ鍞竴缂栫爜鏌ラ噸  锛坆atch锛�
         //鍒ゆ柇matLists鍙傛暟
-        for (PalletizingCompleteParam2.MatList matList:param.getMatLists()){
+        for (PalletizingCompleteTwoFloorParam.MatList matList:param.getMatList()){
             if (Cools.isEmpty(matList.getMatnr())){
-                throw new CoolException("鍙傛暟锛氱墿鏂欑紪鐮� matnr涓虹┖");
+                throw new CoolException("鍙傛暟锛氳鏍� matnr涓虹┖");
             }else if (Cools.isEmpty(matList.getPosition())){
-                throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細鐮佸灈浣嶇疆 position涓虹┖");
-            }else if (Cools.isEmpty(matList.getBoxNo())){
-                throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細鏈ㄧ缂栧彿 boxNo涓虹┖");
-            }else if (Cools.isEmpty(matList.getAnfme()) || matList.getAnfme().equals(0)){
-                throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細鏈ㄧ涓摐绠旀暟閲� anfme涓虹┖");
+                throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鐮佸灈浣嶇疆 position涓虹┖");
+            }else if (Cools.isEmpty(matList.getBatch())){
+                throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鏈ㄧ缂栧彿 batch涓虹┖");
+            }else if (Cools.isEmpty(matList.getModel())){
+                throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鍗峰彿 model涓虹┖");
+            }else if (Cools.isEmpty(matList.getBatch())){
+                throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鏈ㄧ缂栧彿 boxNo涓虹┖");
             }else if (Cools.isEmpty(matList.getWeight()) || matList.getWeight().equals(0D)){
-                throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細閲嶉噺 weight涓虹┖");
+                throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鍑�閲� weight涓虹┖");
+            }else if (Cools.isEmpty(matList.getRoughWeight()) || matList.getRoughWeight().equals(0D)){
+                throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細姣涢噸 roughWeight");
+            }else if (Cools.isEmpty(matList.getRollExtent()) || matList.getRollExtent().equals(0D)){
+                throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鍗烽暱搴� rollExtent");
             }
 
-            if (!positions.contains(matList.getPosition())){
-                positions.add(matList.getPosition());
+            if (matList.getPosition().equals("1")){//1銆佸乏  2銆佸彸
+                if (!matnrOne.equals("")){
+                    if (!matnrOne.equals(matList.getMatnr())){
+                        throw new CoolException("鏈ㄧ浣嶇疆锛�"+matList.getPosition()+"瀛樺湪涓嶅悓瑙勬牸鍗蜂俊鎭�");
+                    }
+                }else {
+                    matnrOne=matList.getMatnr();
+                }
+            }else if (matList.getPosition().equals("2")){
+                if (!matnrTwo.equals("")){
+                    if (!matnrTwo.equals(matList.getMatnr())){
+                        throw new CoolException("鏈ㄧ浣嶇疆锛�"+matList.getPosition()+"瀛樺湪涓嶅悓瑙勬牸鍗蜂俊鎭�");
+                    }
+                }else {
+                    matnrTwo=matList.getMatnr();
+                }
             }else {
-                throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBoxNo()+",鏈ㄧ浣嶇疆瀛樺湪閲嶅锛�"+matList.getPosition());
+                throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBatch()+",鏈ㄧ浣嶇疆閿欒锛�"+matList.getPosition());
             }
 
-            if (!boxNos.contains(matList.getBoxNo())){
-                boxNos.add(matList.getBoxNo());
+            if (!boxNos.contains(matList.getBatch())){
+                boxNos.add(matList.getBatch());
             }else {
-                throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBoxNo()+",鏈ㄧ缂栫爜瀛樺湪閲嶅");
+                throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBatch()+",鏈ㄧ缂栫爜瀛樺湪閲嶅");
             }
         }
 
@@ -759,37 +780,39 @@
 
 
         Date now = new Date();
-        for (PalletizingCompleteParam2.MatList matList:param.getMatLists()){
-            long rollUp = new Date().getTime();
+        for (PalletizingCompleteTwoFloorParam.MatList matList:param.getMatList()){
             Mat mat = matService.selectByMatnr(matList.getMatnr());
             if (Cools.isEmpty(mat)) {
-                throw new CoolException(matList.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
+                mat = new Mat();
+                mat.setMatnr(matList.getMatnr());
+                mat.setMaktx(matList.getMatnr());
+                mat.setTagId(tagService.getTop().getId());
+                mat.setCreateBy(userId);
+                mat.setCreateTime(now);
+                mat.setUpdateBy(userId);
+                mat.setUpdateTime(now);
+                mat.setStatus(1);
+                if (!matService.insert(mat)) {
+                    throw new CoolException("瑙勬牸娣诲姞澶辫触锛岃鑱旂郴绠$悊鍛�");
+                }
             }
             WaitPakin waitPakin = new WaitPakin();
             waitPakin.sync(mat);
-            waitPakin.setModel(matList.getBatch());     //鎵规
-            waitPakin.setSpecs(matList.getSpecs());     //瑙勬牸
-            waitPakin.setBatch(matList.getBoxNo());       //鏈ㄧ缂栫爜
+            waitPakin.setBatch(matList.getBatch());       //鏈ㄧ缂栫爜  //鎵规  鍞竴鍊�  绠卞彿
+            waitPakin.setModel(matList.getModel());       //鍗峰彿  鍞竴鍊�
             waitPakin.setBrand(param.getBoxType());     //鏈ㄧ绫诲瀷
             waitPakin.setZpallet(param.getBarcode());   //鎵樼洏鐮�
             waitPakin.setOrigin(matList.getPosition()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃�
+            waitPakin.setWeight(matList.getWeight());  //鍑�閲�
+//            waitPakin.setRoughWeight(matList.getRoughWeight());  //姣涢噸
+//            waitPakin.setRollExtent(matList.getRollExtent());   //闀垮害
             waitPakin.setIoStatus("N");     // 鍏ュ嚭鐘舵��
-            waitPakin.setAnfme(matList.getAnfme().doubleValue());  // 鏈ㄧ涓摐绠旀暟閲�
+            waitPakin.setAnfme(matList.getAnfme());  // 鏁伴噺
             waitPakin.setStatus("Y");    // 鐘舵��
             waitPakin.setAppeUser(userId);
             waitPakin.setAppeTime(now);
             waitPakin.setModiUser(userId);
             waitPakin.setModiTime(now);
-            waitPakin.setRollUp(rollUp);
-            if (!Cools.isEmpty(matList.getMatDetlList())){
-                for (PalletizingCompleteParam2.MatDetlList matDetlList:matList.getMatDetlList()){
-                    LocDetlRullUpDetail locDetlRullUpDetail = new LocDetlRullUpDetail();
-                    locDetlRullUpDetail.setUuid(rollUp);
-                    locDetlRullUpDetail.setRollNo(matDetlList.getBoxNoDetl());
-                    locDetlRullUpDetail.setRollWeight(matDetlList.getWeightDetl().toString());
-                    locDetlRullUpDetailService.insert(locDetlRullUpDetail);
-                }
-            }
             if (!waitPakinService.insert(waitPakin)) {
                 throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
             }
@@ -858,17 +881,17 @@
             }else if (Cools.isEmpty(matList.getBoxNo())){
                 throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo涓虹┖");
             }
-            List<WrkDetlSingle> wrkDetlSingles = wrkDetlSingleService.selectList(new EntityWrapper<WrkDetlSingle>().eq("batch", matList.getBoxNo()));
+            WrkDetlSingle wrkDetlSingleOne = wrkDetlSingleService.selectOne(new EntityWrapper<WrkDetlSingle>().eq("batch", matList.getBoxNo()));
+            List<WrkDetlSingle> wrkDetlSingles = wrkDetlSingleService.selectList(new EntityWrapper<WrkDetlSingle>()
+                    .eq("wrk_no", wrkDetlSingleOne.getWrkNo()).eq("io_time", wrkDetlSingleOne.getIoTime()));
             boolean sign=true;
             for (WrkDetlSingle wrkDetlSingle:wrkDetlSingles){
-                if (wrkDetlSingle.getBatch().equals(matList.getBoxNo())){//鏈ㄧ缂栫爜
-                    WrkDetl wrkDetl = new WrkDetl();
-                    wrkDetl.sync(wrkDetlSingle);
-                    wrkDetlsNew.add(wrkDetl);
-                    wrkDetlsOld.add(wrkDetlSingle);
-                    sign=false;
-                    break;
-                }
+                WrkDetl wrkDetl = new WrkDetl();
+                wrkDetl.sync(wrkDetlSingle);
+                wrkDetlsNew.add(wrkDetl);
+                wrkDetlsOld.add(wrkDetlSingle);
+                sign=false;
+                break;
             }
             if (sign){
                 throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo鏈煡璇㈠埌瀵瑰簲鐨勫伐浣滄槑缁嗭紒");
@@ -922,69 +945,20 @@
     @Override
     @Transactional
     public void singleMountUnstackingComplete(SingleMountUnstackingCompleteParam param) {
-        Long userId = 8888L;//妗佹灦涓婁綅杞欢
+//        Long userId = 8888L;//妗佹灦涓婁綅杞欢
         //鍒ゆ柇param鍙傛暟
         if (Cools.isEmpty(param.getBarcode())){
             throw new CoolException("鍙傛暟锛氭墭鐩樼爜 barcode涓虹┖");
         }
-//        else if (Cools.isEmpty(param.getPalletizingNo())){
-//            throw new CoolException("鍙傛暟锛氱爜鍨涗綅缂栧彿 palletizingNo涓虹┖");
-//        }
         WrkMast wrkMastMatrix = wrkMastService.selectByBarcode(param.getBarcode());
         if (Cools.isEmpty(wrkMastMatrix)){
             throw new CoolException("鍙傛暟锛氭墭鐩樼爜鏌ヨ宸ヤ綔妗eけ璐ワ細"+param.getBarcode());
-        }else {
-//            if (wrkMastMatrix.getIoType().equals(103)){
-//                List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNoUnstacking(wrkMastMatrix.getWrkNo());
-//                if (Cools.isEmpty(param.getMatLists()) || param.getMatLists().size()==0 || param.getMatLists().size()!=wrkDetls.size()){
-//                    throw new CoolException("杩斿洖鐗╂枡鏄庣粏鏁颁负"+param.getMatLists().size()+",鎵樼洏鐮侊細"+param.getBarcode()+"搴斿墿浣欑墿鏂欐暟锛�"+wrkDetls.size());
-//                }
-//
-//                ArrayList<String> orgin = new ArrayList<>();
-//                //鍒ゆ柇matLists鍙傛暟
-//                for (SingleMountUnstackingCompleteParam.MatList matList : param.getMatLists()){
-//                    if (Cools.isEmpty(matList.getPosition())){
-//                        throw new CoolException("鍙傛暟锛氱爜鍨涗綅缃� position涓虹┖");
-//                    }else if (Cools.isEmpty(matList.getBoxNo())){
-//                        throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo涓虹┖");
-//                    }
-//                    if (!orgin.contains(matList.getPosition())){
-//                        orgin.add(matList.getPosition());
-//                    }else {
-//                        throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBoxNo()+",鏈ㄧ浣嶇疆瀛樺湪閲嶅");
-//                    }
-//                    boolean sign=true;
-//                    for (WrkDetl wrkDetl:wrkDetls){
-//                        if (wrkDetl.getBatch().equals(matList.getBoxNo())){//鏈ㄧ缂栫爜
-//                            wrkDetl.setOrigin(matList.getPosition());
-//                            wrkDetlService.update(wrkDetl,new EntityWrapper<WrkDetl>().eq("batch",wrkDetl.getBatch()));
-//                            sign=false;
-//                            break;
-//                        }
-//                    }
-//                    if (sign){
-//                        throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBoxNo()+"鏈煡璇㈠埌瀵瑰簲鐨勫伐浣滄槑缁嗭紒");
-//                    }
-//                }
-//            }
         }
 
         wrkMastMatrix.setSheetNo("2");
         if (!wrkMastService.updateById(wrkMastMatrix)){
             throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�==銆嬫鏋朵笂浣嶈蒋浠讹細鍗曟墭鎷嗗灈瀹屾垚閫氱煡");
         }
-    }
-
-    /*
-     *
-     * */
-    @Override
-    @Transactional
-    public void cs1(String barcode) {
-        BasDevp basDevp = basDevpService.selectById(216);
-        basDevp.setWrkNo(9992);
-        basDevp.setBarcode(barcode);
-        basDevpService.updateById(basDevp);
     }
 
     /*
@@ -1063,24 +1037,6 @@
             return crnStn-2;
         }
         return crnStn;
-    }
-
-
-        /*
-     *
-     * */
-    @Override
-    @Transactional
-    public void cs3() {
-        //鎷嗙洏
-//        WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),119);
-//        wrkMastSta1.setType(2);
-//        wrkMastSta1.setWrkType(2);
-//        wrkMastStaService.insert(wrkMastSta1);
-//        WrkMastSta wrkMastSta2 = new WrkMastSta(new Date(),121);
-//        wrkMastSta2.setType(2);
-//        wrkMastSta2.setWrkType(2);
-//        wrkMastStaService.insert(wrkMastSta2);
     }
 
     /*...........................涓婇ザ姹熼摐..............浠ヤ笂.............寰愬伐姹変簯...........................*/
diff --git a/src/main/java/com/zy/asrs/task/BarcodeUploadScheduler.java b/src/main/java/com/zy/asrs/task/BarcodeUploadScheduler.java
index 6142fd3..7186e7b 100644
--- a/src/main/java/com/zy/asrs/task/BarcodeUploadScheduler.java
+++ b/src/main/java/com/zy/asrs/task/BarcodeUploadScheduler.java
@@ -16,7 +16,7 @@
     @Autowired
     private BarcodeUploadHandler barcodeUploadHandler;
 
-    @Scheduled(cron = "0/3 * * * * ? ")
+//    @Scheduled(cron = "0/3 * * * * ? ")
     private void execute(){//鏉$爜涓婁紶涓帶
         int[] staNos =new int[]{215,219};
         for (int staNo : staNos){
diff --git a/src/main/java/com/zy/asrs/task/LocMoveAllScheduler.java b/src/main/java/com/zy/asrs/task/LocMoveAllScheduler.java
index debf294..7fa8019 100644
--- a/src/main/java/com/zy/asrs/task/LocMoveAllScheduler.java
+++ b/src/main/java/com/zy/asrs/task/LocMoveAllScheduler.java
@@ -21,7 +21,7 @@
 import java.util.List;
 
 /**
- * Created by vincent on 2020/7/7
+ * Created by vincent on 2020/7/7  //璺戦叿娴嬭瘯  鐢熸垚绉诲簱
  */
 @Slf4j
 @Component
@@ -41,7 +41,7 @@
     @Autowired
     private SlaveProperties slaveProperties;
 
-    @Scheduled(cron = "0/3 * * * * ? ")
+//    @Scheduled(cron = "0/3 * * * * ? ")
     private void execute(){
         if (!moveAll) return;
 
diff --git a/src/main/java/com/zy/asrs/task/RailwayPlatformScheduler.java b/src/main/java/com/zy/asrs/task/RailwayPlatformScheduler.java
index ccf3e81..835660f 100644
--- a/src/main/java/com/zy/asrs/task/RailwayPlatformScheduler.java
+++ b/src/main/java/com/zy/asrs/task/RailwayPlatformScheduler.java
@@ -8,7 +8,7 @@
 
 /**
  * Created by Monkey D. Luffy on 2023.09.17
- * 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............鑷姩琛ョ┖鏉�
+ * 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............涓婃姤鏈堝彴
  */
 @Component
 public class RailwayPlatformScheduler {
@@ -16,7 +16,7 @@
     @Autowired
     private RailwayPlatformHandler railwayPlatformHandler;
 
-    @Scheduled(cron = "0/3 * * * * ? ")
+//    @Scheduled(cron = "0/3 * * * * ? ")
     private void execute(){//涓婃姤鏈堝彴
         int[] staNos =new int[]{144};
         for (int staNo : staNos){
diff --git a/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java b/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java
index f7ed8a3..6f8aabf 100644
--- a/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java
@@ -65,6 +65,10 @@
             crns.add(6);
             boolean sign = true;
             for (Integer crnNo : crns){
+                BasCrnp basCrnp = basCrnpService.selectById(crnNo);
+                if (basCrnp.getCrnSts()!=3 || !basCrnp.getOutEnable().equals("Y")){
+                    continue;
+                }
                 sign = true;
                 // 鑾峰彇搴撲綅
                 LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts","D").eq("crn_no",crnNo));
diff --git a/src/main/java/com/zy/asrs/task/handler/OneLouHangJiaHandler.java b/src/main/java/com/zy/asrs/task/handler/OneLouHangJiaHandler.java
index dd86582..2d7f723 100644
--- a/src/main/java/com/zy/asrs/task/handler/OneLouHangJiaHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OneLouHangJiaHandler.java
@@ -75,7 +75,7 @@
                 return FAIL;
             }
             List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
-            if (Cools.isEmpty(wrkDetls) || wrkDetls.size()!=1){
+            if (Cools.isEmpty(wrkDetls) || wrkDetls.size()==0){
                 return FAIL;
             }
             WrkDetl wrkDetl = wrkDetls.get(0);
diff --git a/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java b/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java
index 8207b1c..4e5ebbd 100644
--- a/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java
@@ -18,6 +18,8 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -49,6 +51,7 @@
 
     public ReturnT<String> start(int staNo) {
         try {
+            Date now = new Date();
             BasDevp basDevp = basDevpService.selectById(staNo);
             Integer staOther = getStaOther(staNo);
             Integer staEnd = getStaEnd(staNo);
@@ -76,7 +79,22 @@
                 if (Cools.isEmpty(wrkDetls) || wrkDetls.size()==0){
                     return FAIL;
                 }
-                SingleMountUnstackingCompleteParam singleMountUnstackingCompleteParam = new SingleMountUnstackingCompleteParam(wrkMast,wrkDetls);
+                List<WrkDetl> wrkDetlList = new ArrayList<>();
+                String signOne = "";
+                String signTwo = "";
+                for (WrkDetl wrkDetl:wrkDetls){
+                    if (wrkDetl.getOrigin().equals("1") && signOne.equals("")){
+                        wrkDetlList.add(wrkDetl);
+                        signOne = "1";
+                    } else if (wrkDetl.getOrigin().equals("2") && signTwo.equals("")){
+                        wrkDetlList.add(wrkDetl);
+                        signTwo = "2";
+                    }
+                    if (!signOne.equals("") && !signTwo.equals("")){
+                        break;
+                    }
+                }
+                SingleMountUnstackingCompleteParam singleMountUnstackingCompleteParam = new SingleMountUnstackingCompleteParam(wrkMast,wrkDetlList);
                 singleMountUnstackingCompleteParam.setStaStart(staNo);
                 singleMountUnstackingCompleteParam.setStaEnd(staEnd);
                 ReturnT<String> result = null;
@@ -101,10 +119,18 @@
 //                    return SUCCESS;
 //                }
                 if (result.getCode()==200){
+                    Date nowOne = new Date();
+                    Date nowTwo = now;
                     for (WrkDetl wrkDetl:wrkDetls){
+                        if (wrkDetl.getOrigin().equals("1")){
+                            now = nowOne;
+                        } else if (wrkDetl.getOrigin().equals("2")){
+                            now = nowTwo;
+                        }
                         WrkDetlSingle wrkDetlSingle = new WrkDetlSingle();
                         wrkDetlSingle.sync(wrkDetl);
                         wrkDetlSingle.setWrkNo(wrkDetl.getWrkNo().longValue());
+                        wrkDetlSingle.setIoTime(now);
                         wrkDetlSingleService.insert(wrkDetlSingle);
                     }
                     wrkMast.setSheetNo("1");
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 1764f52..8eaef99 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -69,7 +69,7 @@
     <select id="selectToBeHistoryData" resultMap="BaseResultMap">
         select * from asr_wrk_mast
         where wrk_sts=5
-        or wrk_sts=44 or wrk_sts=57
+        or wrk_sts=44 or wrk_sts=57 or wrk_sts=64
         or (wrk_sts=15 and ove_mk='Y' and wrk_no not in (select wrk_no from asr_bas_devp))
         or (wrk_sts=15 and dateadd(mi,15,crn_end_time) &lt;= getdate() and wrk_no not in (select wrk_no from asr_bas_devp))
         or (wrk_sts=15 and crn_end_time is null and wrk_no not in (select wrk_no from asr_bas_devp))
diff --git a/src/main/webapp/static/js/saas/locDetl.js b/src/main/webapp/static/js/saas/locDetl.js
index 238083b..a94a155 100644
--- a/src/main/webapp/static/js/saas/locDetl.js
+++ b/src/main/webapp/static/js/saas/locDetl.js
@@ -23,7 +23,8 @@
         ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�', hide: true}
         ,{field: 'safeQty', align: 'center',title: '瀹夊叏搴撳瓨閲�', hide: true}
         ,{field: 'weight', align: 'center',title: '鍗曠鍑�閲�', hide: true}
-        ,{field: 'length', align: 'center',title: '鍗曠姣涢噸', hide: true}
+        ,{field: 'roughWeight', align: 'center',title: '鍗曠姣涢噸', hide: true}
+        // ,{field: 'length', align: 'center',title: '鍗曠姣涢噸', hide: true}
         ,{field: 'volume', align: 'center',title: '鍗曠浣撶Н', hide: true}
         ,{field: 'threeCode', align: 'center',title: '绠卞瓙灏哄', hide: true}
         ,{field: 'supp', align: 'center',title: '渚涘簲鍟�', hide: true}

--
Gitblit v1.9.1