From e75cbe96a8bfcf5535ec8cc6adb4ad51cd034760 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期六, 26 十月 2024 13:54:20 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   49 +++++++++++++++++++++++++++++++++++--------------
 1 files changed, 35 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 57a83b6..c058ecc 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -94,7 +94,7 @@
         // 妫�绱㈠簱浣�
         LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
 //        List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList());
-        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), param.getList().get(0).getMatnr(),null,null, locTypeDto, 1);
+        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), param.getList().get(0).getMatnr(),null,null, locTypeDto);
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
@@ -167,6 +167,8 @@
         for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
             if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
                 LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
+                one.setMemo(paramLocDetl.getMemo());
+                one.setColor(paramLocDetl.getColor());
                 if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(), param.getOrderNo()));
             }
         }
@@ -185,8 +187,11 @@
     @Override
     @Transactional
     public void startupFullTakeStoreOrder(StockOutParam param, Long userId) {
-        if (Cools.isEmpty(param) || Cools.isEmpty(param.getOrderNo()) || Cools.isEmpty(param.getLocDetls())){
+        if (Cools.isEmpty(param) || Cools.isEmpty(param.getLocDetls())){
             throw new CoolException("鍙傛暟涓虹┖");
+        }
+        if (Cools.isEmpty(param.getOrderNo())){
+            throw new CoolException("璁㈠崟鍙峰弬鏁颁负绌�");
         }
         DocType docType = docTypeService.selectOrAdd("鎵嬪姩鍑哄簱鍗�", Boolean.FALSE);
         Order order = orderService.selectByNo(param.getOrderNo());
@@ -203,7 +208,7 @@
                     null,    // 鍒濆绁ㄦ嵁鍙�
                     null,    // 绁ㄦ嵁鍙�
                     null,    // 瀹㈡埛缂栧彿
-                    null,    // 瀹㈡埛
+                    param.getCstmrName(),    // 瀹㈡埛
                     null,    // 鑱旂郴鏂瑰紡
                     null,    // 鎿嶄綔浜哄憳
                     null,    // 鍚堣閲戦
@@ -220,7 +225,8 @@
                     null,    // 鍙戣揣鏃堕棿
                     null,    // 鐗╂祦鍚嶇О
                     null,    // 鐗╂祦鍗曞彿
-                    2L,    // 璁㈠崟鐘舵��
+//                    2L,    // 璁㈠崟鐘舵��
+                    1L,    // 璁㈠崟鐘舵��
                     1,    // 鐘舵��
                     userId,    // 娣诲姞浜哄憳
                     now,    // 娣诲姞鏃堕棿
@@ -250,24 +256,29 @@
                 orderDetl.setModel(locDetl.getModel());//鎵规
                 orderDetl.setSpecs(locDetl.getSpecs());//瑙勬牸
                 orderDetl.setBrand(locDetl.getBrand());//鏈ㄧ绫诲瀷
-                orderDetl.setWorkQty(locDetl.getAnfme());
+                orderDetl.setBarcode(locDetl.getZpallet());//鏈ㄧ绫诲瀷
+                orderDetl.setWeight(locDetl.getWeight());
+//                orderDetl.setWorkQty(locDetl.getAnfme());
+                orderDetl.setWorkQty(0.0);
                 orderDetl.setOrderId(order.getId());
                 orderDetl.setOrderNo(order.getOrderNo());
+                orderDetl.setOrigin(locDetl.getOrigin());
                 orderDetl.setCreateBy(userId);
                 orderDetl.setCreateTime(now);
                 orderDetl.setUpdateBy(userId);
                 orderDetl.setUpdateTime(now);
                 orderDetl.setStatus(1);
                 orderDetl.setQty(0.0D);
+                orderDetl.setMemo(locDetl.getMemo());
                 if (!orderDetlService.insert(orderDetl)) {
                     throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
                 }
             }
 
-            List<StockOutParam> stockOutParams = OutboundAllocationUtil.OutboundClassification(param);
-            for (StockOutParam stockOutParam : stockOutParams){
-                startupFullTakeStore(stockOutParam,userId);
-            }
+//            List<StockOutParam> stockOutParams = OutboundAllocationUtil.OutboundClassification(param);
+//            for (StockOutParam stockOutParam : stockOutParams){
+//                startupFullTakeStore(stockOutParam,userId);
+//            }
 
         } else {
             throw new CoolException("璁㈠崟鍙烽噸澶嶏紝璁㈠崟"+param.getOrderNo()+"宸插瓨鍦紒锛侊紒");
@@ -337,6 +348,9 @@
             wrkMast.setEmptyMk("N"); // 绌烘澘
             wrkMast.setLinkMis("N");
             wrkMast.setSheetNo("0");
+            if (staDesc.getStnNo()<118 || staDesc.getStnNo()>121){
+                wrkMast.setSheetNo("3");
+            }
             wrkMast.setBarcode(locMast.getBarcode());
             wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
             wrkMast.setAppeTime(now);
@@ -468,7 +482,7 @@
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
         LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
-        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null,null,null, locTypeDto, 1);
+        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null,null,null, locTypeDto);
         int workNo = dto.getWorkNo();
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
@@ -662,6 +676,7 @@
         }
         if (!locDetlDtos.isEmpty()) {
             LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
+
             if (locMast.getLocSts().equals("F")){
                 // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱
                 stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId);
@@ -771,15 +786,17 @@
         if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) {
             wrkMast.setWrkSts(4L);
         // 鍑哄簱
-        } else if (wrkMast.getWrkSts() > 10) {
+        } else if (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()!=202) {
             wrkMast.setWrkSts(14L);
+        }else if (wrkMast.getIoType()==202){
+            wrkMast.setWrkSts(57L);
         }
         Date now = new Date();
         wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true));
         wrkMast.setCrnEndTime(now);
         wrkMast.setModiTime(now);
         wrkMast.setModiUser(userId);
-        wrkMast.setSheetNo("2");
+        wrkMast.setSheetNo("3");
         // 瀹屾垚鎿嶄綔浜哄憳璁板綍
         wrkMast.setManuType("鎵嬪姩瀹屾垚");
         if (!wrkMastService.updateById(wrkMast)) {
@@ -936,7 +953,7 @@
                 locMastService.updateById(locMast);
             }
         // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
-        } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) {
+        } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14 && wrkMast.getIoType()!=202) {
             locNo = wrkMast.getSourceLocNo();
             // 鍑哄簱 ===>> F.鍦ㄥ簱
             if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
@@ -957,6 +974,7 @@
                 locMast.setModiUser(userId);
                 locMastService.updateById(locMast);
             }
+        } else if (wrkMast.getIoType()==202 || wrkMast.getIoType()==212){
         } else {
             throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�");
         }
@@ -1043,6 +1061,9 @@
             }
             // 鍒犻櫎宸ヤ綔妗f槑缁�
             boolean wrkDetlRes = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo));
+        }
+        if (wrkMast.getIoType()==202 || wrkMast.getIoType()==212){
+            return;
         }
 
         // 淇敼搴撲綅鐘舵��
@@ -1230,7 +1251,7 @@
         }
         List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr", param.getLocDetls().get(0).getMatnr()));
         if (Cools.isEmpty(locDetls) || locDetls.size()<1){
-            throw new CoolException("寰呬慨鏀瑰晢鍝佹棤搴撳瓨锛屾棤闇�淇敼锛�  鍝佸彿锛�"+param.getLocDetls().get(0).getMatnr());
+            throw new CoolException("寰呬慨鏀瑰晢鍝佹棤搴撳瓨锛屾棤闇�淇敼锛�  瑙勬牸锛�"+param.getLocDetls().get(0).getMatnr());
         }
         try {
             locDetlService.updateMatTurn(param.getLocDetls().get(0).getMatnr(),mat.getMatnr());

--
Gitblit v1.9.1