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

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |  129 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 115 insertions(+), 14 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 ce51ccb..01ed37a 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -1063,10 +1063,12 @@
             }
             if (param.getType()==0){//鐩存帴鍏ュ簱
                 smallContainersSmall(param);
-            } else if (param.getType()==1){//鐩翠緵浜х嚎  //鍑哄簱
+            } 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());
@@ -1089,8 +1091,6 @@
             throw new CoolException("鍙傛暟锛氱墿鏂欑紪鐮� matnr涓虹┖");
         }else if (Cools.isEmpty(param.getWeight())){
             throw new CoolException("鍙傛暟锛氱墿鏂欓噸閲� wright涓虹┖");
-        }else if (Cools.isEmpty(param.getColor())){
-            throw new CoolException("鍙傛暟锛氱墿鏂欓鑹� color涓虹┖");
         }
 
         Mat mat = matService.selectByMatnr(param.getMatnr());
@@ -1124,7 +1124,7 @@
         if (Cools.isEmpty(basDevp.getBarcode())){
             throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐规枡绠辩爜寮傚父鐘舵�侊紱鏂欑鐮�==銆嬩负绌�"+basDevp.getBarcode());
         }
-        if (CodeDetectionUtil.barcodeDetection(basDevp.getBarcode(),8)){
+        if (!CodeDetectionUtil.barcodeDetection(basDevp.getBarcode(),8)){
             throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐规枡绠辩爜寮傚父鐘舵�侊紱鏂欑鐮侊細"+basDevp.getBarcode());
         }
 
@@ -1140,7 +1140,7 @@
 
         WaitPakin waitPakin = new WaitPakin();
         waitPakin.sync(mat);
-//        waitPakin.setBatch(matList.getBatch());       //鏈ㄧ缂栫爜  //鎵规  鍞竴鍊�  绠卞彿
+        waitPakin.setBatch(param.getBatch());       //鏈ㄧ缂栫爜  //鎵规  鍞竴鍊�  绠卞彿
 //        waitPakin.setModel(matList.getModel());       //鍗峰彿  鍞竴鍊�
 //        waitPakin.setBrand(param.getBoxType());     //鏈ㄧ绫诲瀷
         waitPakin.setZpallet(basDevp.getBarcode());   //鎵樼洏鐮�
@@ -1178,22 +1178,30 @@
             throw new CoolException("鍙傛暟锛氬搧鍙� matnr涓虹┖");
         }else if (Cools.isEmpty(param.getWeight())){
             throw new CoolException("鍙傛暟锛氱墿鏂欓噸閲� wright涓虹┖");
-        }else if (Cools.isEmpty(param.getColor())){
-            throw new CoolException("鍙傛暟锛氱墿鏂欓鑹� color涓虹┖");
         }
 
-        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr", param.getMatnr()).eq("weight", param.getWeight()).eq("color", param.getColor()));
+        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>();
         }
-        if (locDetls.isEmpty()){
+        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 : locDetls){
+        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鍙傛暟
@@ -1207,10 +1215,7 @@
             throw new CoolException("鍙傛暟锛氱墿鏂欑紪鐮� matnr涓虹┖");
         }else if (Cools.isEmpty(param.getWeight())){
             throw new CoolException("鍙傛暟锛氱墿鏂欓噸閲� wright涓虹┖");
-        }else if (Cools.isEmpty(param.getColor())){
-            throw new CoolException("鍙傛暟锛氱墿鏂欓鑹� color涓虹┖");
         }
-
         Mat mat = matService.selectByMatnr(param.getMatnr());
         if (Cools.isEmpty(mat)) {
 //            mat = new Mat();
@@ -1242,7 +1247,7 @@
         if (Cools.isEmpty(basDevp.getBarcode())){
             throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐规枡绠辩爜寮傚父鐘舵�侊紱鏂欑鐮�==銆嬩负绌�"+basDevp.getBarcode());
         }
-        if (CodeDetectionUtil.barcodeDetection(basDevp.getBarcode(),8)){
+        if (!CodeDetectionUtil.barcodeDetection(basDevp.getBarcode(),8)){
             throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getStaNo()+" 鎵�澶勭珯鐐规枡绠辩爜寮傚父鐘舵�侊紱鏂欑鐮侊細"+basDevp.getBarcode());
         }
 
@@ -1282,5 +1287,101 @@
 
     }
 
+    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