From 04d820b5444d73570ce8ea654c4b64bf90a39840 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期三, 17 十二月 2025 18:18:03 +0800
Subject: [PATCH] #1

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |  218 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 212 insertions(+), 6 deletions(-)

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 c0c1421..afa40c5 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -243,7 +243,7 @@
         }
         List<String> orderBoxNoList = new ArrayList<>();
         for (OrderDetl orderDetl: orderDetls){
-            if (orderDetl.getWorkQty()==0){
+            if (orderDetl.getWorkQty().equals(0.0)){
                 orderBoxNoList.add(orderDetl.getBatch());
             }
         }
@@ -255,7 +255,7 @@
             if (!orderBoxNoList.contains(matList.getBatch())){
                 throw new CoolException("鍗曞彿锛�"+param.getOrderNo()+" 绠卞彿锛�"+matList.getBatch()+"涓嶅睘浜庢璁㈠崟鎴栬�呭凡缁忓叆搴�");
             }else {
-                matListBoxNoList.add(matList.getBoxNo());
+                matListBoxNoList.add(matList.getBatch());
             }
         }
         List<OrderDetl> orderDetlList = new ArrayList<>();
@@ -297,6 +297,10 @@
             waitPakin.setBatch(orderDetl.getBatch());       //鏈ㄧ缂栫爜
             waitPakin.setBrand(orderDetl.getBrand());     //鏈ㄧ绫诲瀷
             waitPakin.setZpallet(param.getBarcode());   //鎵樼洏鐮�
+            waitPakin.setWeight(orderDetl.getWeight());  //鍑�閲�
+            waitPakin.setVolume(orderDetl.getVolume());  //姣涢噸
+            waitPakin.setPrice(orderDetl.getPrice());   //闀垮害
+            waitPakin.setSpecs(String.valueOf(orderDetl.getSpecs()));   //鎺ュご
             waitPakin.setOrigin("1"); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃�
             waitPakin.setIoStatus("Y");     // 鍏ュ嚭鐘舵��
             waitPakin.setAnfme(orderDetl.getAnfme());  // 鏈ㄧ涓摐绠旀暟閲�
@@ -460,9 +464,9 @@
             }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");
+                throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細姣涢噸 roughWeight涓虹┖");
             }else if (Cools.isEmpty(matList.getRollExtent()) || matList.getRollExtent().equals(0D)){
-                throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鍗烽暱搴� rollExtent");
+                throw new CoolException("瑙勬牸锛�"+matList.getMatnr()+"銆佸弬鏁帮細鍗烽暱搴� rollExtent涓虹┖");
             }
 
             if (matList.getPosition().equals("1")){//1銆佸乏  2銆佸彸
@@ -533,8 +537,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("Y");     // 鍏ュ嚭鐘舵��
             waitPakin.setAnfme(matList.getAnfme());  // 鏁伴噺
             waitPakin.setStatus("Y");    // 鐘舵��
@@ -552,6 +557,192 @@
         locTypeDto.setLocType1((short)1);
 
         StartupDto dto = commonService.getLocNo(1, 1, 212, matnr,null,null, locTypeDto);
+
+        int workNo = dto.getWorkNo();
+        // 鐢熸垚宸ヤ綔妗�
+        WrkMast wrkMast = new WrkMast();
+        wrkMast.setWrkNo(workNo);
+        wrkMast.setIoTime(new Date());
+        wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
+        wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
+        wrkMast.setIoPri(13D); // 浼樺厛绾�
+        wrkMast.setCrnNo(dto.getCrnNo());
+        wrkMast.setSourceStaNo(dto.getSourceStaNo());
+        wrkMast.setStaNo(dto.getStaNo());
+        wrkMast.setLocNo(dto.getLocNo());
+        wrkMast.setBarcode(param.getBarcode()); // 鎵樼洏鐮�
+        wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+        wrkMast.setPicking("N"); // 鎷f枡
+        wrkMast.setExitMk("N"); // 閫�鍑�
+        wrkMast.setEmptyMk("N"); // 绌烘澘
+        wrkMast.setLinkMis("Y");
+        wrkMast.setCtnType(0); // 瀹瑰櫒绫诲瀷
+        // 鎿嶄綔浜哄憳鏁版嵁
+        wrkMast.setAppeTime(now);
+        wrkMast.setModiTime(now);
+        boolean res = wrkMastService.insert(wrkMast);
+        if (!res) {
+            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+        }
+        // 鐢熸垚宸ヤ綔妗f槑缁�
+        waitPakins.forEach(waitPakin -> {
+            WrkDetl wrkDetl = new WrkDetl();
+            wrkDetl.sync(waitPakin);
+            wrkDetl.setWrkNo(wrkMast.getWrkNo());
+            wrkDetl.setIoTime(wrkMast.getIoTime());
+            wrkDetl.setAppeTime(now);
+            wrkDetl.setModiTime(now);
+            wrkDetl.setZpallet(param.getBarcode());
+            if (!wrkDetlService.insert(wrkDetl)) {
+                throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+            }
+        });
+        // 鏇存柊鐩爣搴撲綅鐘舵��
+        LocMast locMast = locMastService.selectById(dto.getLocNo());
+        if (locMast.getLocSts().equals("O")){
+            locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
+            locMast.setModiTime(now);
+            if (!locMastService.updateById(locMast)){
+                throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+            }
+        } else {
+            throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
+        }
+    }
+    @Override
+    @Transactional
+    public void PalletizingCompleteTwoFloorParam2(PalletizingCompleteTwoFloorParam param) {
+        Long userId = 7777L;//涓帶
+        param.setPalletizingNo(1901);
+
+        WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
+                .eq("io_type", 1).eq("wrk_sts", 1).eq("source_sta_no",1901));
+        if (!Cools.isEmpty(wrkMast1)){
+            throw new CoolException("瀛樺湪涓�绗斿伐浣滄。妗堬紝璇峰厛鍏ュ簱锛�");
+        }
+
+        //鍒ゆ柇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.getMatList()) || param.getMatList().size()==0){
+            throw new CoolException("鍙傛暟锛氱墿鏂欐槑缁� matLists涓虹┖");
+        }
+
+        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涓虹┖");
+            }
+
+            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 (locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("batch", matList.getBatch()))!=0
+                    || wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("batch", matList.getBatch()))!=0
+                    || waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("batch", matList.getBatch()))!=0){
+                throw new CoolException("鏈ㄧ缂栧彿锛�"+matList.getBatch()+"宸插瓨鍦紝璇峰嬁閲嶅鍏ュ簱");
+            }
+        }
+
+        if (locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()))!=0
+                || wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode()))!=0
+                || waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()))!=0){
+            throw new CoolException("鎵樼洏鏉$爜锛�"+param.getBarcode()+"宸插瓨鍦紝璇峰嬁閲嶅缁勬墭");
+        }
+
+        String matnr = null;
+        List<WaitPakin> waitPakins = new ArrayList<>();
+        Date now = new Date();
+        for (PalletizingCompleteTwoFloorParam.MatList matList:param.getMatList()){
+            Mat mat = matService.selectByMatnr(matList.getMatnr());
+            if (Cools.isEmpty(mat)) {
+                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.setBatch(matList.getBatch());       //鏈ㄧ缂栫爜  //鎵规  鍞竴鍊�  绠卞彿
+            waitPakin.setModel(matList.getModel());       //鍗峰彿  鍞竴鍊�
+            waitPakin.setBrand(param.getBoxType());     //鏈ㄧ绫诲瀷
+            waitPakin.setZpallet(param.getBarcode());   //鎵樼洏鐮�
+            waitPakin.setOrigin(matList.getPosition()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃�
+            waitPakin.setWeight(matList.getWeight());  //鍑�閲�
+            waitPakin.setVolume(matList.getRoughWeight());  //姣涢噸
+            waitPakin.setPrice(matList.getRollExtent());   //闀垮害
+            waitPakin.setSpecs(String.valueOf(matList.getJoint()));   //鎺ュご
+            waitPakin.setIoStatus("Y");     // 鍏ュ嚭鐘舵��
+            waitPakin.setAnfme(matList.getAnfme());  // 鏁伴噺
+            waitPakin.setStatus("Y");    // 鐘舵��
+            waitPakin.setAppeUser(userId);
+            waitPakin.setAppeTime(now);
+            waitPakin.setModiUser(userId);
+            waitPakin.setModiTime(now);
+            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, 1901, matnr,null,null, locTypeDto);
 
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
@@ -1174,4 +1365,19 @@
         }
         return result;
     }
+
+    @Override
+    @Transactional
+    public List<Map<String, Object>> boxTypeComb2() {
+        EntityWrapper<BasBoxType> wrapper = new EntityWrapper<>();
+        List<Map<String, Object>> result = new ArrayList<>();
+        List<BasBoxType> basBoxTypes = basBoxTypeService.selectList(wrapper.orderBy("id",true));
+        for (BasBoxType basBoxType : basBoxTypes){
+            Map<String, Object> map = new HashMap<>();
+            map.put("boxType", basBoxType.getBoxType());
+            map.put("boxSpecs", basBoxType.getBoxSpecs());
+            result.add(map);
+        }
+        return result;
+    }
 }

--
Gitblit v1.9.1