From befbe654bbd198f7bb57a5d3dd53cecb53d197fd Mon Sep 17 00:00:00 2001
From: lsh <lsh>
Date: 星期三, 10 七月 2024 11:55:33 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |  239 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 239 insertions(+), 0 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 bde5ff0..ce51ccb 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
@@ -1044,4 +1047,240 @@
     }
 
     /*...........................涓婇ザ姹熼摐..............浠ヤ笂.............寰愬伐姹変簯...........................*/
+
+
+    /*...........................浜冲窞鐓滄槦..............浠ヤ笅.............浜冲窞鐓滄槦...........................*/
+    /*
+     * 浜冲窞鐓滄槦浠诲姟涓嬪彂  //
+     * */
+    @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);
+            }
+        } 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涓虹┖");
+        }else if (Cools.isEmpty(param.getColor())){
+            throw new CoolException("鍙傛暟锛氱墿鏂欓鑹� color涓虹┖");
+        }
+
+        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 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涓虹┖");
+        }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()));
+        if (locDetls.isEmpty()){
+            locDetls = new ArrayList<LocDetl>();
+        }
+        if (locDetls.isEmpty()){
+            throw new CoolException("鏈壘鍒扮鍚堟潯浠剁殑鐗╂枡鏄庣粏锛氬搧鍙�==銆媘atnr:"+param.getMatnr()+"锛涢噸閲�==銆媤right:"+param.getWeight()+"锛涢鑹�==銆媍olor:"+param.getColor());
+        }
+        for (LocDetl locDetl : locDetls){
+            StockOutParam stockOutParam = new StockOutParam(param,locDetl);
+            workService.startupFullTakeStore(stockOutParam, userId);
+        }
+    }
+    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涓虹┖");
+        }else if (Cools.isEmpty(param.getColor())){
+            throw new CoolException("鍙傛暟锛氱墿鏂欓鑹� color涓虹┖");
+        }
+
+        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け璐�");
+        }
+
+
+    }
+
+    /*...........................浜冲窞鐓滄槦..............浠ヤ笂.............浜冲窞鐓滄槦...........................*/
 }

--
Gitblit v1.9.1