From 465475865bf545f638f21f4a85f5986a47c552ab Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期六, 13 七月 2024 09:22:22 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |  448 +++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 395 insertions(+), 53 deletions(-)

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 071344a..01ed37a 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -14,6 +14,7 @@
 import com.zy.asrs.mapper.TagMapper;
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.utils.CodeDetectionUtil;
 import com.zy.asrs.utils.MatUtils;
 import com.zy.asrs.utils.PostMesDataUtils;
 import com.zy.common.model.DetlDto;
@@ -80,6 +81,8 @@
     private StaDescService staDescService;
     @Autowired
     private LocMastService locMastService;
+    @Autowired
+    private WorkService workService;
 
     @Override
     @Transactional
@@ -551,7 +554,7 @@
                 } else {
                     tagId = tagService.getTop().getId();
                 }
-                mat.sync(param);
+                mat.sync(matParam);
 //            mat.setMatnr(param.getMatnr());
 //            mat.setMaktx(param.getMaktx());
 //            mat.setSpecs(param.getSpecs());
@@ -567,7 +570,7 @@
                     log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr());
                 }
             } else {
-                mat.sync(param);
+                mat.sync(matParam);
                 if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr",matParam.getMatnr()))) {
                     throw new CoolException("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳");
                 }
@@ -699,64 +702,65 @@
         //鍒ゆ柇param鍙傛暟
         if (Cools.isEmpty(param.getBarcode())){
             throw new CoolException("鍙傛暟锛氭墭鐩樼爜 barcode涓虹┖");
-        }else if (Cools.isEmpty(param.getPalletizingNo())){
-            throw new CoolException("鍙傛暟锛氱爜鍨涗綅缂栧彿 palletizingNo涓虹┖");
-        }else if (Cools.isEmpty(param.getBoxType())){
-            throw new CoolException("鍙傛暟锛氭湪绠辩被鍨� boxType涓虹┖");
+//        }else if (Cools.isEmpty(param.getPalletizingNo())){
+//            throw new CoolException("鍙傛暟锛氱爜鍨涗綅缂栧彿 palletizingNo涓虹┖");
+//        }else if (Cools.isEmpty(param.getBoxType())){
+//            throw new CoolException("鍙傛暟锛氭湪绠辩被鍨� boxType涓虹┖");
         }else if (Cools.isEmpty(param.getMatList()) || param.getMatList().size()==0){
-            throw new CoolException("鍙傛暟锛氱墿鏂欐槑缁� matLists涓虹┖");
+            throw new CoolException("鍙傛暟锛氱墿鏂欐槑缁� matList涓虹┖");
         }
 
-        String matnrOne = "";//鏈ㄧ鐩稿悓浣嶇疆 瑙勬牸 matnr鏍¢獙  1銆佸乏
-        String matnrTwo = "";//鏈ㄧ鐩稿悓浣嶇疆 瑙勬牸 matnr鏍¢獙  2銆佸彸
-        ArrayList<String> boxNos = new ArrayList<>();   //鏈ㄧ鍞竴缂栫爜鏌ラ噸  锛坆atch锛�
+//        String matnrOne = "";//鏈ㄧ鐩稿悓浣嶇疆 瑙勬牸 matnr鏍¢獙  1銆佸乏
+//        String matnrTwo = "";//鏈ㄧ鐩稿悓浣嶇疆 瑙勬牸 matnr鏍¢獙  2銆佸彸
+//        ArrayList<String> boxNos = new ArrayList<>();   //鏈ㄧ鍞竴缂栫爜鏌ラ噸  锛坆atch锛�
         //鍒ゆ柇matLists鍙傛暟
         for (PalletizingCompleteTwoFloorParam.MatList matList:param.getMatList()){
             if (Cools.isEmpty(matList.getMatnr())){
                 throw new CoolException("鍙傛暟锛氳鏍� matnr涓虹┖");
-            }else if (Cools.isEmpty(matList.getPosition())){
-                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涓虹┖");
-            }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");
-            }else if (Cools.isEmpty(matList.getJoint()) || matList.getJoint()==0){
-                throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鎺ュご鏁� joint");
+//            }else if (Cools.isEmpty(matList.getPosition())){
+//                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涓虹┖");
+//            }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");
+//            }
+//            else if (Cools.isEmpty(matList.getJoint()) || matList.getJoint()==0){
+//                throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鎺ュご鏁� joint");
             }
 
-            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.getBatch()+",鏈ㄧ浣嶇疆閿欒锛�"+matList.getPosition());
-            }
-
-            if (!boxNos.contains(matList.getBatch())){
-                boxNos.add(matList.getBatch());
-            }else {
-                throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBatch()+",鏈ㄧ缂栫爜瀛樺湪閲嶅");
-            }
+//            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.getBatch()+",鏈ㄧ浣嶇疆閿欒锛�"+matList.getPosition());
+//            }
+//
+//            if (!boxNos.contains(matList.getBatch())){
+//                boxNos.add(matList.getBatch());
+//            }else {
+//                throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBatch()+",鏈ㄧ缂栫爜瀛樺湪閲嶅");
+//            }
         }
 
 //        BasDevp basDevp = basDevpService.selectById(Integer.parseInt(param.getDevNo$()));
@@ -806,8 +810,9 @@
             waitPakin.setZpallet(param.getBarcode());   //鎵樼洏鐮�
             waitPakin.setOrigin(matList.getPosition()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃�
             waitPakin.setWeight(matList.getWeight());  //鍑�閲�
-//            waitPakin.setRoughWeight(matList.getRoughWeight());  //姣涢噸
-//            waitPakin.setRollExtent(matList.getRollExtent());   //闀垮害
+            waitPakin.setVolume(matList.getRoughWeight());  //姣涢噸
+            waitPakin.setPrice(matList.getRollExtent());   //闀垮害
+            waitPakin.setSpecs(String.valueOf(matList.getJoint()));   //鎺ュご
             waitPakin.setIoStatus("N");     // 鍏ュ嚭鐘舵��
             waitPakin.setAnfme(matList.getAnfme());  // 鏁伴噺
             waitPakin.setStatus("Y");    // 鐘舵��
@@ -1042,4 +1047,341 @@
     }
 
     /*...........................涓婇ザ姹熼摐..............浠ヤ笂.............寰愬伐姹変簯...........................*/
+
+
+    /*...........................浜冲窞鐓滄槦..............浠ヤ笅.............浜冲窞鐓滄槦...........................*/
+    /*
+     * 浜冲窞鐓滄槦浠诲姟涓嬪彂  //
+     * */
+    @Override
+    @Transactional
+    public void smallContainers(SmallCompleteParam param) {
+        try{
+            //鍒ゆ柇param鍙傛暟
+            if (Cools.isEmpty(param.getType())){
+                throw new CoolException("鍙傛暟锛氱被鍨� type涓虹┖");
+            }
+            if (param.getType()==0){//鐩存帴鍏ュ簱
+                smallContainersSmall(param);
+            } else if (param.getType()==1){//搴撳唴渚涗骇绾�  //鍑哄簱
+                smallContainersBig(param);
+            } else if (param.getType()==2){//鍏ュ簱 閫斿緞 纭寲缃�
+                smallContainersJar(param);
+            } else if (param.getType()==3){//鐩翠緵浜х嚎
+                smallContainersSta(param);
+            }
+        } catch (Exception e){
+            throw new CoolException("澶辫触锛侊紒锛佸師鍥狅細"+e.getMessage());
+        }
+    }
+
+    /*
+    * 灏忔枡绠辨姇鏂欏畬鎴愮粍鎵�
+    * */
+    public void smallContainersSmall(SmallCompleteParam param) {//鐩存帴鍏ュ簱
+        Long userId = 7777L;//mes
+        //鍒ゆ柇param鍙傛暟
+        if (Cools.isEmpty(param.getType())){
+            throw new CoolException("鍙傛暟锛氱被鍨� type涓虹┖");
+        }else if (Cools.isEmpty(param.getStaNo())){
+            throw new CoolException("鍙傛暟锛氭姇鏂欑偣浣� staNo涓虹┖");
+//        }else if (Cools.isEmpty(param.getDevNo())){
+//            throw new CoolException("鍙傛暟锛氫骇绾跨偣浣� devNo涓虹┖");
+        }else if (Cools.isEmpty(param.getMatnr())){
+            throw new CoolException("鍙傛暟锛氱墿鏂欑紪鐮� matnr涓虹┖");
+        }else if (Cools.isEmpty(param.getWeight())){
+            throw new CoolException("鍙傛暟锛氱墿鏂欓噸閲� wright涓虹┖");
+        }
+
+        Mat mat = matService.selectByMatnr(param.getMatnr());
+        if (Cools.isEmpty(mat)) {
+//            mat = new Mat();
+//            mat.setMatnr(param.getMatnr());
+//            mat.setMaktx(param.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("瑙勬牸娣诲姞澶辫触锛岃鑱旂郴绠$悊鍛�");
+//            }
+            throw new CoolException("鐗╂枡锛�"+param.getMatnr()+" 涓嶅瓨鍦紝璇峰厛涓嬪彂鐗╂枡鍩虹淇℃伅");
+        }
+
+
+        BasDevp basDevp = basDevpService.selectById(param.getStaNo());
+        if (Cools.isEmpty(basDevp.getAutoing()) || !basDevp.getAutoing().equals("Y")){
+            throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐逛笉鏄嚜鍔ㄧ姸鎬�");
+        }
+        if (Cools.isEmpty(basDevp.getLoading()) || !basDevp.getLoading().equals("Y")){
+            throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐逛笉鏄湁鐗╃姸鎬�");
+        }
+        if (Cools.isEmpty(basDevp.getCanining()) || !basDevp.getCanining().equals("Y")){
+            throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐逛笉鏄兘鍏ョ姸鎬�");
+        }
+        if (Cools.isEmpty(basDevp.getBarcode())){
+            throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐规枡绠辩爜寮傚父鐘舵�侊紱鏂欑鐮�==銆嬩负绌�"+basDevp.getBarcode());
+        }
+        if (!CodeDetectionUtil.barcodeDetection(basDevp.getBarcode(),8)){
+            throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐规枡绠辩爜寮傚父鐘舵�侊紱鏂欑鐮侊細"+basDevp.getBarcode());
+        }
+
+
+        if (locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", basDevp.getBarcode()))!=0
+                || wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", basDevp.getBarcode()))!=0
+                || waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", basDevp.getBarcode()))!=0){
+            throw new CoolException("鎵樼洏鏉$爜锛�"+basDevp.getBarcode()+"宸插瓨鍦紝璇峰嬁閲嶅缁勬墭");
+        }
+
+
+        Date now = new Date();
+
+        WaitPakin waitPakin = new WaitPakin();
+        waitPakin.sync(mat);
+        waitPakin.setBatch(param.getBatch());       //鏈ㄧ缂栫爜  //鎵规  鍞竴鍊�  绠卞彿
+//        waitPakin.setModel(matList.getModel());       //鍗峰彿  鍞竴鍊�
+//        waitPakin.setBrand(param.getBoxType());     //鏈ㄧ绫诲瀷
+        waitPakin.setZpallet(basDevp.getBarcode());   //鎵樼洏鐮�
+//        waitPakin.setOrigin(matList.getPosition()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃�
+        waitPakin.setWeight(param.getWeight());  //鍑�閲�
+//        waitPakin.setVolume(matList.getRoughWeight());  //姣涢噸
+//        waitPakin.setPrice(matList.getRollExtent());   //闀垮害
+//        waitPakin.setSpecs(String.valueOf(matList.getJoint()));   //鎺ュご
+//        waitPakin.setIoStatus("N");     // 鍏ュ嚭鐘舵��
+//        waitPakin.setAnfme(matList.getAnfme());  // 鏁伴噺
+        waitPakin.setColor(param.getColor());  // 棰滆壊
+        waitPakin.setStatus("Y");    // 鐘舵��
+        waitPakin.setAppeUser(userId);
+        waitPakin.setAppeTime(now);
+        waitPakin.setModiUser(userId);
+        waitPakin.setModiTime(now);
+        if (!waitPakinService.insert(waitPakin)) {
+            throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
+        }
+    }
+    /*
+    * 鍑哄簱
+    * 鐩翠緵浜х嚎
+    * */
+    public void smallContainersBig(SmallCompleteParam param) {//鐩翠緵浜х嚎//鍑哄簱
+        Long userId = 7777L;//mes
+        //鍒ゆ柇param鍙傛暟
+        if (Cools.isEmpty(param.getType())){
+            throw new CoolException("鍙傛暟锛氱被鍨� type涓虹┖");
+//        }else if (Cools.isEmpty(param.getStaNo())){
+//            throw new CoolException("鍙傛暟锛氭姇鏂欑偣浣� staNo涓虹┖");
+        }else if (Cools.isEmpty(param.getDevNo())){
+            throw new CoolException("鍙傛暟锛氫骇绾跨偣浣� devNo涓虹┖");
+        }else if (Cools.isEmpty(param.getMatnr())){
+            throw new CoolException("鍙傛暟锛氬搧鍙� matnr涓虹┖");
+        }else if (Cools.isEmpty(param.getWeight())){
+            throw new CoolException("鍙傛暟锛氱墿鏂欓噸閲� wright涓虹┖");
+        }
+
+        ArrayList<LocDetl> locDetlArrayList = new ArrayList<>();
+        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr", param.getMatnr()).eq("weight", param.getWeight()));
+        if (locDetls.isEmpty()){
+            locDetls = new ArrayList<LocDetl>();
+        }
+        for (LocDetl locDetl:locDetls){
+            LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo()));
+            if (locMast.getLocSts().equals("F")){
+                locDetlArrayList.add(locDetl);
+                break;
+            }
+        }
+        if (locDetlArrayList.isEmpty()){
+            throw new CoolException("鏈壘鍒扮鍚堟潯浠剁殑鐗╂枡鏄庣粏锛氬搧鍙�==銆媘atnr:"+param.getMatnr()+"锛涢噸閲�==銆媤right:"+param.getWeight()+"锛涢鑹�==銆媍olor:"+param.getColor());
+        }
+        for (LocDetl locDetl : locDetlArrayList){
+            StockOutParam stockOutParam = new StockOutParam(param,locDetl);
+            workService.startupFullTakeStore(stockOutParam, userId);
+            return;
+        }
+    }
+
+    public void smallContainersJar(SmallCompleteParam param) {
+        Long userId = 7777L;//mes
+        //鍒ゆ柇param鍙傛暟
+        if (Cools.isEmpty(param.getType())){
+            throw new CoolException("鍙傛暟锛氱被鍨� type涓虹┖");
+        }else if (Cools.isEmpty(param.getStaNo())){
+            throw new CoolException("鍙傛暟锛氭姇鏂欑偣浣� staNo涓虹┖");
+//        }else if (Cools.isEmpty(param.getDevNo())){
+//            throw new CoolException("鍙傛暟锛氫骇绾跨偣浣� devNo涓虹┖");
+        }else if (Cools.isEmpty(param.getMatnr())){
+            throw new CoolException("鍙傛暟锛氱墿鏂欑紪鐮� matnr涓虹┖");
+        }else if (Cools.isEmpty(param.getWeight())){
+            throw new CoolException("鍙傛暟锛氱墿鏂欓噸閲� wright涓虹┖");
+        }
+        Mat mat = matService.selectByMatnr(param.getMatnr());
+        if (Cools.isEmpty(mat)) {
+//            mat = new Mat();
+//            mat.setMatnr(param.getMatnr());
+//            mat.setMaktx(param.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("瑙勬牸娣诲姞澶辫触锛岃鑱旂郴绠$悊鍛�");
+//            }
+            throw new CoolException("鐗╂枡锛�"+param.getMatnr()+" 涓嶅瓨鍦紝璇峰厛涓嬪彂鐗╂枡鍩虹淇℃伅");
+        }
+
+
+        BasDevp basDevp = basDevpService.selectById(param.getStaNo());
+        if (Cools.isEmpty(basDevp.getAutoing()) || !basDevp.getAutoing().equals("Y")){
+            throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐逛笉鏄嚜鍔ㄧ姸鎬�");
+        }
+        if (Cools.isEmpty(basDevp.getLoading()) || !basDevp.getLoading().equals("Y")){
+            throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐逛笉鏄湁鐗╃姸鎬�");
+        }
+        if (Cools.isEmpty(basDevp.getCanining()) || !basDevp.getCanining().equals("Y")){
+            throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐逛笉鏄兘鍏ョ姸鎬�");
+        }
+        if (Cools.isEmpty(basDevp.getBarcode())){
+            throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐规枡绠辩爜寮傚父鐘舵�侊紱鏂欑鐮�==銆嬩负绌�"+basDevp.getBarcode());
+        }
+        if (!CodeDetectionUtil.barcodeDetection(basDevp.getBarcode(),8)){
+            throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐规枡绠辩爜寮傚父鐘舵�侊紱鏂欑鐮侊細"+basDevp.getBarcode());
+        }
+
+
+        if (locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", basDevp.getBarcode()))!=0
+                || wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", basDevp.getBarcode()))!=0
+                || waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", basDevp.getBarcode()))!=0){
+            throw new CoolException("鎵樼洏鏉$爜锛�"+basDevp.getBarcode()+"宸插瓨鍦紝璇峰嬁閲嶅缁勬墭");
+        }
+
+
+        Date now = new Date();
+
+        WaitPakin waitPakin = new WaitPakin();
+        waitPakin.sync(mat);
+//        waitPakin.setBatch(matList.getBatch());       //鏈ㄧ缂栫爜  //鎵规  鍞竴鍊�  绠卞彿
+//        waitPakin.setModel(matList.getModel());       //鍗峰彿  鍞竴鍊�
+//        waitPakin.setBrand(param.getBoxType());     //鏈ㄧ绫诲瀷
+        waitPakin.setZpallet(basDevp.getBarcode());   //鎵樼洏鐮�
+//        waitPakin.setOrigin(matList.getPosition()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃�
+        waitPakin.setWeight(param.getWeight());  //鍑�閲�
+//        waitPakin.setVolume(matList.getRoughWeight());  //姣涢噸
+//        waitPakin.setPrice(matList.getRollExtent());   //闀垮害
+//        waitPakin.setSpecs(String.valueOf(matList.getJoint()));   //鎺ュご
+//        waitPakin.setIoStatus("N");     // 鍏ュ嚭鐘舵��
+//        waitPakin.setAnfme(matList.getAnfme());  // 鏁伴噺
+        waitPakin.setColor(param.getColor());  // 棰滆壊
+        waitPakin.setStatus("Y");    // 鐘舵��
+        waitPakin.setAppeUser(userId);
+        waitPakin.setAppeTime(now);
+        waitPakin.setModiUser(userId);
+        waitPakin.setModiTime(now);
+        if (!waitPakinService.insert(waitPakin)) {
+            throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
+        }
+
+
+    }
+
+    public void smallContainersSta(SmallCompleteParam param) {
+        Long userId = 7777L;//mes
+        //鍒ゆ柇param鍙傛暟
+        if (Cools.isEmpty(param.getType())){
+            throw new CoolException("鍙傛暟锛氱被鍨� type涓虹┖");
+        }else if (Cools.isEmpty(param.getStaNo())){
+            throw new CoolException("鍙傛暟锛氭姇鏂欑偣浣� staNo涓虹┖");
+        }else if (Cools.isEmpty(param.getDevNo())){
+            throw new CoolException("鍙傛暟锛氫骇绾跨偣浣� devNo涓虹┖");
+        }else if (Cools.isEmpty(param.getMatnr())){
+            throw new CoolException("鍙傛暟锛氱墿鏂欑紪鐮� matnr涓虹┖");
+        }else if (Cools.isEmpty(param.getWeight())){
+            throw new CoolException("鍙傛暟锛氱墿鏂欓噸閲� wright涓虹┖");
+        }
+
+        Mat mat = matService.selectByMatnr(param.getMatnr());
+        if (Cools.isEmpty(mat)) {
+            throw new CoolException("鐗╂枡锛�"+param.getMatnr()+" 涓嶅瓨鍦紝璇峰厛涓嬪彂鐗╂枡鍩虹淇℃伅");
+        }
+
+        Date now = new Date();
+
+        BasDevp basDevp = basDevpService.selectById(param.getStaNo());
+        if (Cools.isEmpty(basDevp.getAutoing()) || !basDevp.getAutoing().equals("Y")){
+            throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐逛笉鏄嚜鍔ㄧ姸鎬�");
+        }
+        if (Cools.isEmpty(basDevp.getLoading()) || !basDevp.getLoading().equals("Y")){
+            throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐逛笉鏄湁鐗╃姸鎬�");
+        }
+        if (Cools.isEmpty(basDevp.getCanining()) || !basDevp.getCanining().equals("Y")){
+            throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐逛笉鏄兘鍏ョ姸鎬�");
+        }
+        if (Cools.isEmpty(basDevp.getBarcode())){
+            throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐规枡绠辩爜寮傚父鐘舵�侊紱鏂欑鐮�==銆嬩负绌�"+basDevp.getBarcode());
+        }
+        if (!CodeDetectionUtil.barcodeDetection(basDevp.getBarcode(),8)){
+            throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐规枡绠辩爜寮傚父鐘舵�侊紱鏂欑鐮侊細"+basDevp.getBarcode());
+        }
+
+
+        if (locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", basDevp.getBarcode()))!=0
+                || wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", basDevp.getBarcode()))!=0
+                || waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", basDevp.getBarcode()))!=0){
+            throw new CoolException("鎵樼洏鏉$爜锛�"+basDevp.getBarcode()+"宸插瓨鍦紝璇峰嬁閲嶅缁勬墭");
+        }
+
+        // 鐢熸垚宸ヤ綔鍙�
+        int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(202));
+
+        // 鐢熸垚宸ヤ綔妗�
+        WrkMast wrkMast = new WrkMast();
+        wrkMast.setWrkNo(workNo);
+        wrkMast.setIoTime(now);
+        wrkMast.setWrkSts(51L); // 宸ヤ綔鐘舵�侊細鐢熸垚ID
+        wrkMast.setIoType(202); // 鍏ュ嚭搴撶姸鎬侊細202.鐩翠緵浜х嚎
+        wrkMast.setIoPri(99D); // 浼樺厛绾�
+        wrkMast.setSourceStaNo(param.getStaNo());
+        wrkMast.setStaNo(param.getDevNo());
+        wrkMast.setBarcode(basDevp.getBarcode());
+        // 鎿嶄綔浜哄憳鏁版嵁
+        wrkMast.setAppeUser(userId);
+        wrkMast.setAppeTime(now);
+        wrkMast.setModiUser(userId);
+        wrkMast.setModiTime(now);
+        if (!wrkMastService.insert(wrkMast)) {
+            throw new CoolException("鐢熸垚宸ヤ綔妗eけ璐�==銆嬪皬鏂欑鐩翠緵浜х嚎浠诲姟鐢熸垚");
+        }
+        WrkDetl wrkDetl = new WrkDetl();
+        wrkDetl.setWrkNo(wrkMast.getWrkNo());
+        wrkDetl.setIoTime(wrkMast.getIoTime());
+        wrkDetl.setMatnr(param.getMatnr());
+        wrkDetl.setAnfme(1D);
+        wrkDetl.setWeight(param.getWeight());
+        wrkDetl.setBarcode(basDevp.getBarcode());
+        wrkDetl.setZpallet(basDevp.getBarcode());
+        wrkDetl.setAppeTime(now);
+        wrkDetl.setModiTime(now);
+        if (!wrkDetlService.insert(wrkDetl)) {
+            throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触==銆嬪皬鏂欑鐩翠緵浜х嚎浠诲姟鏄庣粏鐢熸垚");
+        }
+
+    }
+
+    public Integer getStaEnd(Integer staNo){
+        switch (staNo){
+            case 118:
+            case 119:
+                return 131;
+            case 120:
+            case 121:
+                return 135;
+            default:
+                return staNo;
+        }
+    }
+
+    /*...........................浜冲窞鐓滄槦..............浠ヤ笂.............浜冲窞鐓滄槦...........................*/
 }

--
Gitblit v1.9.1