From aa2ef2ef37c7d95cfb1d3833a023328d05ea5060 Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期日, 21 一月 2024 15:06:53 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |  101 +++++++++++++++++++++-----------------------------
 1 files changed, 43 insertions(+), 58 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 886ec7b..1e23c30 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -83,6 +83,8 @@
     private ManLocDetlMapper manLocDetlMapper;
     @Autowired
     private DocTypeService docTypeService;
+    @Autowired
+    private LocDetlRullUpDetailService locDetlRullUpDetailService;
 
 
     @Override
@@ -96,81 +98,53 @@
                 throw new CoolException("鍙傛暟锛氭墭鐩樼爜涓虹┖");
             }
         }
+        param.setPalletizingNo(147);
+
 
 
         //鍒ゆ柇param鍙傛暟
         if (Cools.isEmpty(param.getPalletizingNo())){
-            throw new CoolException("鍙傛暟锛氱珯鐐圭紪鍙蜂负绌�");
-        }else if (Cools.isEmpty(param.getOrderNo())){
-            throw new CoolException("鍙傛暟锛氶��璐у崟鍗曞彿 orderNo涓虹┖");
-        }else if (Cools.isEmpty(param.getMatList()) || param.getMatList().size() != 1){
-            throw new CoolException("鍙傛暟锛氱墿鏂欐槑缁� matLists涓虹┖");
-        }else if (param.getSouSta()==145 || param.getMatList().size() != 1){
-
+            throw new CoolException("鍙傛暟锛氬師绔欑偣缂栧彿涓虹┖");
+        }else if (param.getSouSta()==145 && param.getMatList().size() != 1){
+            throw new CoolException("鍙傛暟锛氱墿鏂欐槑缁� matLists涓虹┖  鎴栬��  澶т簬1涓槑缁�");
+        }else if (Cools.isEmpty(param.getMatList()) || param.getMatList().size() > 2){
+            throw new CoolException("鍙傛暟锛氱墿鏂欐槑缁� matLists涓虹┖  鎴栬��  澶т簬2涓槑缁�");
         }
 
-        Order order = orderService.selectByNo(param.getOrderNo());
-        if (Cools.isEmpty(order)){
-            throw new CoolException("鏈煡璇㈠埌姝よ鍗曪紝鍗曞彿锛�"+param.getOrderNo());
-        }
-        DocType docType = docTypeService.selectById(order.getDocType());
-        if (Cools.isEmpty(docType) || !docType.getDocName().equals("閫�璐у叆搴撳崟")){
-            throw new CoolException("鍗曞彿锛�"+param.getOrderNo()+"涓嶆槸閫�璐у叆搴撳崟");
-        }
-
-        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
-        if (Cools.isEmpty(orderDetls) || orderDetls.size()==0){
-            throw new CoolException("鏈煡璇㈠埌姝よ鍗曟槑缁嗭紝鍗曞彿锛�"+param.getOrderNo());
-        }
-        List<String> orderBoxNoList = new ArrayList<>();
-        for (OrderDetl orderDetl: orderDetls){
-            if (orderDetl.getWorkQty()==0){
-                orderBoxNoList.add(orderDetl.getBatch());
-            }
-        }
-        if (orderBoxNoList.size()==0 || orderBoxNoList.size()<param.getMatList().size()){
-            throw new CoolException("鍗曞彿锛�"+param.getOrderNo()+" 閫�璐ф暟閲忓ぇ浜庢槑缁嗘暟閲�");
-        }
-        List<String> matListBoxNoList = new ArrayList<>();
-        for (TrussCombParam.MatList matList: param.getMatList()){
-            if (!orderBoxNoList.contains(matList.getBoxNo())){
-                throw new CoolException("鍗曞彿锛�"+param.getOrderNo()+" 绠卞彿锛�"+matList.getBatch()+"涓嶅睘浜庢璁㈠崟鎴栬�呭凡缁忓叆搴�");
-            }else {
-                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<>();
-
-        for (OrderDetl orderDetl:orderDetlList){
-            Mat mat = matService.selectByMatnr(orderDetl.getMatnr());
+        for (TrussCombParam.MatList matList:param.getMatList()){
+            long rollUp = new Date().getTime();
+            Mat mat = matService.selectByMatnr(matList.getMatnr());
             if (Cools.isEmpty(mat)) {
-                throw new CoolException(orderDetl.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
+                throw new CoolException(matList.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
             }
             matnr = mat.getMatnr();
             WaitPakin waitPakin = new WaitPakin();
             waitPakin.sync(mat);
-            waitPakin.setModel(orderDetl.getModel());     //鎵规
-            waitPakin.setSpecs(orderDetl.getSpecs());     //瑙勬牸
-            waitPakin.setBatch(orderDetl.getBatch());       //鏈ㄧ缂栫爜
+            waitPakin.setModel(matList.getModel());     //鎵规
+            waitPakin.setSpecs(matList.getSpecs());     //瑙勬牸
+            waitPakin.setBatch(matList.getBatch());       //鏈ㄧ缂栫爜
             waitPakin.setBrand(param.getBoxType());     //鏈ㄧ绫诲瀷
             waitPakin.setZpallet(param.getBarcode());   //鎵樼洏鐮�
-            waitPakin.setOrigin(orderDetl.getOrigin()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃�
+            waitPakin.setOrigin(matList.getPosition()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃�
             waitPakin.setIoStatus("N");     // 鍏ュ嚭鐘舵��
-            waitPakin.setAnfme(orderDetl.getAnfme());  // 鏈ㄧ涓摐绠旀暟閲�
+            waitPakin.setAnfme((double)matList.getAnfme());  // 鏈ㄧ涓摐绠旀暟閲�
             waitPakin.setStatus("Y");    // 鐘舵��
             waitPakin.setAppeUser(userId);
             waitPakin.setAppeTime(now);
             waitPakin.setModiUser(userId);
             waitPakin.setModiTime(now);
-            waitPakin.setRollUp(orderDetl.getRollUp());
+            waitPakin.setRollUp(rollUp);
+            if (!Cools.isEmpty(matList.getMatDetlList())){
+                for (TrussCombParam.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け璐�");
             }
@@ -180,7 +154,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, param.getSouSta(), matnr,null,null, locTypeDto);
 
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
@@ -240,6 +214,7 @@
     public void trussCombOrder(TrussCombParam param, Long userId) {
         Date now = new Date();
         param.setBarcode(String.valueOf(now.getTime()));
+        param.setPalletizingNo(147);
 
         //鍒ゆ柇param鍙傛暟
         if (Cools.isEmpty(param.getPalletizingNo())){
@@ -251,8 +226,8 @@
         }
 
         Order order = orderService.selectByNo(param.getOrderNo());
-        if (Cools.isEmpty(order)){
-            throw new CoolException("鏈煡璇㈠埌姝よ鍗曪紝鍗曞彿锛�"+param.getOrderNo());
+        if (Cools.isEmpty(order) || order.getSettle() > 2) {
+            throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈燂紝鍗曞彿锛�"+param.getOrderNo());
         }
         DocType docType = docTypeService.selectById(order.getDocType());
         if (Cools.isEmpty(docType) || !docType.getDocName().equals("閫�璐у叆搴撳崟")){
@@ -274,9 +249,12 @@
         }
         List<String> matListBoxNoList = new ArrayList<>();
         for (TrussCombParam.MatList matList: param.getMatList()){
-            if (!orderBoxNoList.contains(matList.getBoxNo())){
+            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());
             }
         }
@@ -298,6 +276,7 @@
             matnr = mat.getMatnr();
             WaitPakin waitPakin = new WaitPakin();
             waitPakin.sync(mat);
+            waitPakin.setOrderNo(order.getOrderNo());   // 鍗曟嵁缂栧彿
             waitPakin.setModel(orderDetl.getModel());     //鎵规
             waitPakin.setSpecs(orderDetl.getSpecs());     //瑙勬牸
             waitPakin.setBatch(orderDetl.getBatch());       //鏈ㄧ缂栫爜
@@ -353,6 +332,7 @@
         waitPakins.forEach(waitPakin -> {
             WrkDetl wrkDetl = new WrkDetl();
             wrkDetl.sync(waitPakin);
+            wrkDetl.setOrderNo(order.getOrderNo());
             wrkDetl.setWrkNo(wrkMast.getWrkNo());
             wrkDetl.setIoTime(wrkMast.getIoTime());
             wrkDetl.setAppeTime(now);
@@ -373,6 +353,11 @@
         } else {
             throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
         }
+        // 淇敼璁㈠崟浣滀笟鏁伴噺
+        if (!orderDetlService.increaseWorkQty(order.getId(), orderDetls.get(0).getMatnr(), orderDetls.get(0).getBatch(), orderDetls.get(0).getAnfme())) {
+            throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触");
+        }
+        orderService.updateSettle(order.getId(), 2L, userId);
     }
     @Override
     @Transactional

--
Gitblit v1.9.1