From 99bd76a0949cb844b421c8c9a9e381785b630597 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期三, 13 十一月 2024 14:36:39 +0800
Subject: [PATCH] #优化

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |  230 ++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 139 insertions(+), 91 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 b4d075a..10640fe 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -10,10 +10,7 @@
 import com.core.common.SnowflakeIdWorker;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.EmptyPlateOutParam;
-import com.zy.asrs.entity.param.FullStoreParam;
-import com.zy.asrs.entity.param.LocDetlAdjustParam;
-import com.zy.asrs.entity.param.StockOutParam;
+import com.zy.asrs.entity.param.*;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.Utils;
 import com.zy.common.model.*;
@@ -94,7 +91,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(), matnrs, locTypeDto,0);
+        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matnrs, locTypeDto, 0);
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
@@ -164,67 +161,112 @@
     public void startupFullTakeStore(StockOutParam param, Long userId) {
         List<StockOutParam.LocDetl> locDetls = new ArrayList<>();
         List<String> locs = new ArrayList<>();
-        for(StockOutParam.LocDetl one : param.getLocDetls()){
+        List<SameMatCount> sameMatCounts = new ArrayList<>();
+        for (StockOutParam.LocDetl one : param.getLocDetls()) {
             locs.add(one.getLocNo());
         }
 
         List<StockOutParam.LocDetl> stockOutParamLocDetlSort = Utils.getStockOutParamLocDetlSort(param.getLocDetls());
         boolean sign = true;
         boolean isfull = false; // 鏄惁澶熸暟閲�
-        Double isOut = 0.0;
+        //Double isOut = 0.0;
+        Map<String, Double> isOuts = new HashMap<>();
         List<String> locNoWeighting = new ArrayList<>();
+        log.info("canshu:{}", stockOutParamLocDetlSort);
         for (StockOutParam.LocDetl locDetl : stockOutParamLocDetlSort) {
-            if (Cools.isEmpty(locNoWeighting)){
+            if (isOuts.get(locDetl.getMatnr()) == null) {
+                isOuts.put(locDetl.getMatnr(), locDetl.getCount());
+            } else {
+                isOuts.put(locDetl.getMatnr(), isOuts.get(locDetl.getMatnr()) + locDetl.getCount());
+            }
+        }
+        log.info("canshu:{}", JSON.toJSONString(isOuts));
+
+        for (StockOutParam.LocDetl locDetl : stockOutParamLocDetlSort) {
+
+//            SameMatCount smc = new SameMatCount();
+//            if (Cools.isEmpty(sameMatCounts)) {
+//                smc.setMatnr(locDetl.getMatnr());
+//                smc.setNeedOutCount(locDetl.getCount());
+//                sameMatCounts.add(smc);
+//            } else {
+//                for (SameMatCount sameMatCount : sameMatCounts) {
+//                    if (sameMatCount.getMatnr().equals(locDetl.getMatnr())) {
+//                        sameMatCount.setNeedOutCount(locDetl.getCount() + sameMatCount.getNeedOutCount());
+//                        //smc.setMatnr(sameMatCount.getMatnr());
+//                        smc.setNeedOutCount(sameMatCount.getNeedOutCount());
+//                    }
+//                }
+//            }
+
+
+            if (Cools.isEmpty(locNoWeighting)) {
                 locNoWeighting.add(locDetl.getLocNo());
-            }else {
-                if (!Utils.getLocNoWeighting(locNoWeighting,locDetl.getLocNo())){
+            } else {
+                if (!Utils.getLocNoWeighting(locNoWeighting, locDetl.getLocNo())) {
                     locNoWeighting.add(locDetl.getLocNo());
                     sign = true;
                 }
             }
-            if (sign){
+
+            if (sign) {
                 LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo()));
                 //鑾峰彇鍚屼竴搴撲綅缁勭殑澶栦晶搴撲綅鍙�
                 List<String> groupOuterSingleLoc = Utils.getGroupOuterSingleLoc(locDetl.getLocNo());
-                if (locMast.getLocType2().equals((short)3)){
+                if (locMast.getLocType2().equals((short) 3)) {
                     groupOuterSingleLoc = Utils.getGroupOuterSingleLocLowFrequency(locDetl.getLocNo());
                     sign = false;
                 }
                 for (String locNo : groupOuterSingleLoc) {
                     //姣忎釜搴撲綅鐨勫簱浣嶆槑缁�
-                    if(locs.contains(locNo)) continue;
+                    if (locs.contains(locNo)) continue;
                     LocMast mast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locNo));
-                    if (mast.getLocSts().equals("P") || mast.getLocSts().equals("Q")){
+                    if (mast.getLocSts().equals("P") || mast.getLocSts().equals("Q")) {
                         throw new CoolException("褰撳墠搴撲綅鐨勬祬搴撲綅鐘舵�佷负" + mast.getLocSts() + "鏆備笉鏀寔鍑哄簱锛�");
                     }
                     for (LocDetl detl : locDetlService.selectByLocNo(locNo)) {
                         if (!detl.getMatnr().equals(locDetl.getMatnr())) {
                             //涓嶆槸鐩稿悓鐗╂枡
-                            if (!sign){
+                            if (!sign) {
                                 locDetls.add(new StockOutParam.LocDetl(detl.getLocNo(), detl.getMatnr(), detl.getBatch(), detl.getAnfme()));
+                                System.out.println("1");
                             }
                             continue;
                         }
-                        if (!param.getOutSite().equals(214) && !param.getOutSite().equals(114)){
-                            if (detl.getAnfme() >= locDetl.getCount()) {
-                                locDetls.add(new StockOutParam.LocDetl(detl.getLocNo(), detl.getMatnr(), detl.getBatch(), locDetl.getCount()));
-                                isOut = locDetl.getCount();
+                        if (!param.getOutSite().equals(214) && !param.getOutSite().equals(114)) {
+                            if (detl.getAnfme() >= isOuts.get(detl.getMatnr())) {
+                                // if (detl.getAnfme() >= locDetl.getCount()) {
+                                locDetls.add(new StockOutParam.LocDetl(detl.getLocNo(), detl.getMatnr(), detl.getBatch(), isOuts.get(detl.getMatnr())));
+                                System.out.println("2");
+                                //isOut = locDetl.getCount();
                                 isfull = true;
                                 break;
                             } else {
                                 locDetls.add(new StockOutParam.LocDetl(detl.getLocNo(), detl.getMatnr(), detl.getBatch(), detl.getAnfme()));
-                                isOut = detl.getAnfme();
+                                isOuts.put(detl.getMatnr(), isOuts.get(detl.getMatnr()) - detl.getAnfme());
+                                System.out.println(isOuts.get(locDetl.getMatnr()));
                             }
                         } else {
                             //寮哄埗涓嶆槸鐩稿悓鐗╂枡
                             locDetls.add(new StockOutParam.LocDetl(detl.getLocNo(), detl.getMatnr(), detl.getBatch(), detl.getAnfme()));
+//                            System.out.println("4");
                         }
                     }
                 }
             }
-            if (!isfull) {
+            if (!isfull && isOuts.get(locDetl.getMatnr()) != null && isOuts.get(locDetl.getMatnr()) > 0) {
+                if (locDetl.getCount() >= isOuts.get(locDetl.getMatnr())) {
+                    locDetls.add(new StockOutParam.LocDetl(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), isOuts.get(locDetl.getMatnr())));
+                    isOuts.put(locDetl.getMatnr(), isOuts.get(locDetl.getMatnr()) - locDetl.getCount());
+//                    System.out.println(23);
+                } else {
+                    locDetls.add(new StockOutParam.LocDetl(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), locDetl.getCount()));
+                    isOuts.put(locDetl.getMatnr(), isOuts.get(locDetl.getMatnr()) - locDetl.getCount());
+//                    System.out.println("1222");
+                }
 
-                locDetls.add(new StockOutParam.LocDetl(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), locDetl.getCount() - isOut));
+
+                //locDetls.add(new StockOutParam.LocDetl(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), locDetl.getCount() - isOut));
 //                locDetls.add(locDetl);
             }
         }
@@ -289,7 +331,6 @@
 //        List<StockOutParam.LocDetl> locDetls = param.getLocDetls();
 
 
-
 //        ArrayList<String> locNos = new ArrayList<>();
 //        List<StockOutParam.LocDetl> locDetls = new ArrayList<>();
 //        ArrayList<String> matnrs = new ArrayList<>();//鐩殑鍋氭暟鎹幓閲�
@@ -340,18 +381,18 @@
                 if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
             }
         }
-        for (LocDetlDto locDetlDto:locDetlDtos){
-            if (locs.contains(locDetlDto.getLocDetl().getLocNo())){
+        for (LocDetlDto locDetlDto : locDetlDtos) {
+            if (locs.contains(locDetlDto.getLocDetl().getLocNo())) {
                 locDetlDto.setSign(true);
             }
         }
         if (!locDetlDtos.isEmpty()) {
             LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
-            if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") ){
+            if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D")) {
                 // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
                 stockOut2(staNo, locDetlDtos, null, userId);
-            }else {
-                throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
+            } else {
+                throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細" + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
             }
         } else {
             throw new CoolException("搴撳瓨涓嶅瓨鍦�");
@@ -394,7 +435,7 @@
                         double realCount = 0;//瀹為檯鎻愪緵鏁伴噺
                         if (detl.getAnfme() >= lastCount) {//瀹為檯鏁伴噺澶т簬鎵�闇�鏁伴噺锛屾寜鎵�闇�鏁伴噺鎻愪緵
                             realCount = lastCount;
-                        }else {
+                        } else {
                             //瀹為檯灏忎簬鎵�闇�鏁伴噺锛屾寜瀹為檯鏁伴噺鎻愪緵
                             realCount = detl.getAnfme();
                         }
@@ -417,7 +458,7 @@
                 double realCount = 0;//瀹為檯鎻愪緵鏁伴噺
                 if (locDetl0.getAnfme() >= lastCount) {//瀹為檯鏁伴噺澶т簬鎵�闇�鏁伴噺锛屾寜鎵�闇�鏁伴噺鎻愪緵
                     realCount = lastCount;
-                }else {
+                } else {
                     //瀹為檯灏忎簬鎵�闇�鏁伴噺锛屾寜瀹為檯鏁伴噺鎻愪緵
                     realCount = locDetl0.getAnfme();
                 }
@@ -477,7 +518,7 @@
                 double realCount = 0;//瀹為檯鎻愪緵鏁伴噺
                 if (locDetl0.getAnfme() >= lastCount) {//瀹為檯鏁伴噺澶т簬鎵�闇�鏁伴噺锛屾寜鎵�闇�鏁伴噺鎻愪緵
                     realCount = lastCount;
-                }else {
+                } else {
                     //瀹為檯灏忎簬鎵�闇�鏁伴噺锛屾寜瀹為檯鏁伴噺鎻愪緵
                     realCount = locDetl0.getAnfme();
                 }
@@ -507,23 +548,23 @@
             String locNo = locDetlDto.getLocDetl().getLocNo();
             locNos2.add(locNo);
             //if (locNos.contains(locNo)) {
-                //for (OutLocDto dto : dtos) {
-                //    if (dto.getLocNo().equals(locNo)) {
-                //        dto.getLocDetlDtos().add(locDetlDto);
-                //        break;
-                //    }
-                //}
+            //for (OutLocDto dto : dtos) {
+            //    if (dto.getLocNo().equals(locNo)) {
+            //        dto.getLocDetlDtos().add(locDetlDto);
+            //        break;
+            //    }
+            //}
             //} else {
-                //locNos.add(locNo);
+            //locNos.add(locNo);
 
-                //dtos.add(new OutLocDto(locNo, locDetlDto));
+            //dtos.add(new OutLocDto(locNo, locDetlDto));
             //}
         }
         List<String> innermostSideLoc = Utils.getInnermostSideLoc(locNos2, true);
         System.out.println(innermostSideLoc);
         for (LocDetlDto locDetlDto : locDetlDtos) {
             String locNo = locDetlDto.getLocDetl().getLocNo();
-            if(innermostSideLoc.contains(locNo)) {
+            if (innermostSideLoc.contains(locNo)) {
                 if (locNos.contains(locNo)) {
                     for (OutLocDto dto : dtos) {
                         if (dto.getLocNo().equals(locNo)) {
@@ -565,7 +606,7 @@
 
             List<String> outerLocs = Utils.getGroupOuterSingleLoc(locNo);
             LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", dto.getLocNo()));
-            if (locMast1.getLocType2().equals((short)3)){
+            if (locMast1.getLocType2().equals((short) 3)) {
                 outerLocs = Utils.getGroupOuterSingleLocLowFrequency(locMast1.getLocNo());
             }
             Double wrkPri = 15D;
@@ -586,7 +627,7 @@
                     if (!locDetl.getMatnr().equals(matnr)) {
                         flag = true;
                         break;
-                    }else if (!Cools.isEmpty(ioWorkType) && ioWorkType.equals(IoWorkType.CHECK_OUT)){
+                    } else if (!Cools.isEmpty(ioWorkType) && ioWorkType.equals(IoWorkType.CHECK_OUT)) {
                         flag = true;
                         break;
                     }
@@ -595,8 +636,8 @@
                 if (flag) {
                     //褰撳墠宸烽亾瀛樺湪涓嶅悓瑙勬牸鐨勭墿鏂欙紝闇�瑕佽繘琛�101鍏ㄦ澘鍑哄簱
                     // 鑾峰彇璺緞
-                    StaDesc staDesc = staDescService.queryCrnStn(101, locMast.getCrnNo(), locMast.getCrnNo()==1? 100:200 , locMast.getRow1());
-                    if(staDesc == null){
+                    StaDesc staDesc = staDescService.queryCrnStn(101, locMast.getCrnNo(), locMast.getCrnNo() == 1 ? 100 : 200, locMast.getRow1());
+                    if (staDesc == null) {
                         throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
                     }
 
@@ -614,7 +655,7 @@
                     wrkMast.setOutMost(0);
                     wrkMast.setCrnNo(locMast.getCrnNo());
                     wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
-                    wrkMast.setStaNo(locMast.getCrnNo()==1? 100:200); // 鐩爣绔�
+                    wrkMast.setStaNo(locMast.getCrnNo() == 1 ? 100 : 200); // 鐩爣绔�
                     wrkMast.setSourceLocNo(locMast.getLocNo()); // 婧愬簱浣�
                     wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
                     wrkMast.setPicking("N"); // 鎷f枡
@@ -652,8 +693,8 @@
                         if (Cools.isEmpty(mat)) {
                             throw new CoolException(locDetl.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
                         }
-                        int zpallet = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", locDetl.getZpallet()).ne("loc_no",locDetl.getLocNo()));
-                        if (zpallet>0) {
+                        int zpallet = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", locDetl.getZpallet()).ne("loc_no", locDetl.getLocNo()));
+                        if (zpallet > 0) {
                             throw new CoolException(locDetl.getZpallet() + "鍏ュ簱閫氱煡妗d腑宸插瓨鍦�");
                         }
                         WaitPakin waitPakin = new WaitPakin();
@@ -705,7 +746,7 @@
             LocMast locMast = locMastService.selectById(dto.getLocNo());
 
             //-----------------2023.6.2鍑哄簱鍏煎浠g爜-----------------------
-            if (ioType!=107){
+            if (ioType != 107) {
                 List<LocDetl> locDetls = locDetlService.selectByLocNo(locMast.getLocNo());
                 //if (locMast.getLocType2() == 1 && locDetls.size() > 1) {
                 //    //鍗曞搧鍖哄煙鍑哄簱鐗╂枡澶т簬1绉嶏紝寮哄埗鍙樻垚101鍏ㄦ澘鍑哄簱
@@ -715,8 +756,8 @@
                 //    }
                 //}
                 if (ioType == 101) {
-                    if (staNo.getDevNo()==300){
-                        if(locMast.getCrnNo() == 1) {
+                    if (staNo.getDevNo() == 300) {
+                        if (locMast.getCrnNo() == 1) {
                             staNo.setDevNo(100);
                         } else {
                             staNo.setDevNo(200);
@@ -733,7 +774,7 @@
 
             // 鑾峰彇璺緞
             StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), staNo.getDevNo(), locMast.getRow1());
-            if(staDesc == null){
+            if (staDesc == null) {
                 throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
             }
 
@@ -818,14 +859,14 @@
                 for (OutLocDto dto : dtos) {
                     if (dto.getLocNo().equals(locNo)) {
                         boolean signDto = false;
-                        for (LocDetlDto locDetlDto1 : dto.getLocDetlDtos()){
+                        for (LocDetlDto locDetlDto1 : dto.getLocDetlDtos()) {
                             if (locDetlDto1.getLocDetl().getBatch().equals(locDetlDto.getLocDetl().getBatch())
                                     && locDetlDto1.getLocDetl().getMatnr().equals(locDetlDto.getLocDetl().getMatnr())
-                                    && locDetlDto1.getLocDetl().getLocNo().equals(locDetlDto.getLocDetl().getLocNo())){
+                                    && locDetlDto1.getLocDetl().getLocNo().equals(locDetlDto.getLocDetl().getLocNo())) {
                                 signDto = true;
                             }
                         }
-                        if (!signDto){
+                        if (!signDto) {
                             dto.getLocDetlDtos().add(locDetlDto);
                             break;
                         }
@@ -859,7 +900,7 @@
             }
 
             List<String> outerLocs = new ArrayList<>();
-            if (!dto.isSign()){
+            if (!dto.isSign()) {
                 outerLocs.add(dto.getLocNo());
             }
             Double wrkPri = 15D;
@@ -872,8 +913,8 @@
                         if (Cools.isEmpty(mat)) {
                             throw new CoolException(locDetl.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
                         }
-                        int zpallet = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", locDetl.getZpallet()).ne("loc_no",locDetl.getLocNo()));
-                        if (zpallet>0) {
+                        int zpallet = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", locDetl.getZpallet()).ne("loc_no", locDetl.getLocNo()));
+                        if (zpallet > 0) {
                             throw new CoolException(locDetl.getZpallet() + "鍏ュ簱閫氱煡妗d腑宸插瓨鍦�");
                         }
                         WaitPakin waitPakin = new WaitPakin();
@@ -908,8 +949,8 @@
                 //     throw new CoolException("鍙兘瀛樺湪涓�绗旂洏鐐逛换鍔�");
                 // }
             }
-            if (ioType!=101){
-                if (basDevp==114 || basDevp==214){
+            if (ioType != 101) {
+                if (basDevp == 114 || basDevp == 214) {
                     throw new CoolException("2妤煎彧鍏佽鍏ㄦ澘鍑哄簱锛岃閫夋嫨鍏ㄩ儴鐗╂枡");
                 }
             }
@@ -919,7 +960,7 @@
             LocMast locMast = locMastService.selectById(dto.getLocNo());
 
             //-----------------2023.6.2鍑哄簱鍏煎浠g爜-----------------------
-            if (ioType!=107){
+            if (ioType != 107) {
                 List<LocDetl> locDetls = locDetlService.selectByLocNo(locMast.getLocNo());
                 //if (locMast.getLocType2() == 1 && locDetls.size() > 1) {
                 //    //鍗曞搧鍖哄煙鍑哄簱鐗╂枡澶т簬1绉嶏紝寮哄埗鍙樻垚101鍏ㄦ澘鍑哄簱
@@ -929,26 +970,26 @@
                 //    }
                 //}
                 if (ioType == 101) {
-                    if (basDevp==300){
-                        if(locMast.getCrnNo() == 1) {
+                    if (basDevp == 300) {
+                        if (locMast.getCrnNo() == 1) {
                             staNo.setDevNo(100);
                         } else {
                             staNo.setDevNo(200);
                         }
-                    } else if (basDevp == 114){
-                        if (!dto.isSign()){
+                    } else if (basDevp == 114) {
+                        if (!dto.isSign()) {
                             staNo.setDevNo(100);
                         } else {
                             staNo.setDevNo(basDevp);
                         }
-                    } else if (basDevp == 214){
-                        if (!dto.isSign()){
+                    } else if (basDevp == 214) {
+                        if (!dto.isSign()) {
                             staNo.setDevNo(200);
                         } else {
                             staNo.setDevNo(basDevp);
                         }
                     } else {
-                        if(locMast.getCrnNo() == 1) {
+                        if (locMast.getCrnNo() == 1) {
                             staNo.setDevNo(100);
                         } else {
                             staNo.setDevNo(200);
@@ -964,7 +1005,7 @@
 
             // 鑾峰彇璺緞
             StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), staNo.getDevNo(), locMast.getRow1());
-            if(staDesc == null){
+            if (staDesc == null) {
                 throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
             }
 
@@ -995,9 +1036,14 @@
             wrkMast.setModiTime(now);
             if (!wrkMastService.insert(wrkMast)) {
                 throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + dto.getLocNo());
+            } else {
+                log.info("鍑哄簱鎻掑叆宸ヤ綔涓绘。鎴愬姛===>>" + JSON.toJSONString(wrkMast));
             }
+
             // 鐢熸垚宸ヤ綔妗f槑缁�
+
             for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
+                log.info("寮�濮嬫彃鍏ュ伐浣滄槑缁�===>>宸ヤ綔鍙凤細" + workNo + "鏄庣粏锛�" + JSON.toJSONString(detlDto));
                 if (detlDto.getCount() == null || detlDto.getCount() <= 0.0D) {
                     continue;
                 }
@@ -1016,7 +1062,9 @@
                 wrkDetl.setMatType(detlDto.getLocDetl().getMatType());
                 wrkDetl.setZpallet(locMast.getBarcode());
                 if (!wrkDetlService.insert(wrkDetl)) {
-                    throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+                    throw new CoolException("stockOut2锛氫繚瀛樺伐浣滄。鏄庣粏澶辫触===>>" + JSON.toJSONString(wrkDetl));
+                } else {
+                    log.info("鍑哄簱鎻掑叆宸ヤ綔鏄庣粏鎴愬姛===>>" + JSON.toJSONString(wrkDetl));
                 }
             }
             // 淇敼搴撲綅鐘舵��:   F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
@@ -1039,7 +1087,7 @@
     @Transactional
     public void stockOut(BasDevp staNo, TaskDto taskDto, Long userId) {
         Date now = new Date();
-        if (Cools.isEmpty(taskDto.getLocDtos()) || taskDto.getLocDtos().size()==0){
+        if (Cools.isEmpty(taskDto.getLocDtos()) || taskDto.getLocDtos().size() == 0) {
             // 鑾峰彇搴撲綅
             LocMast locMast = locMastService.selectById(taskDto.getLocNo());
             // 鑾峰彇璺緞
@@ -1060,10 +1108,10 @@
             wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
             wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
             wrkMast.setSourceLocNo(taskDto.getLocNo()); // 婧愬簱浣�
-            wrkMast.setFullPlt(ioType==110? "N":"Y"); // 婊℃澘锛歒
+            wrkMast.setFullPlt(ioType == 110 ? "N" : "Y"); // 婊℃澘锛歒
             wrkMast.setPicking("N"); // 鎷f枡
             wrkMast.setExitMk("N"); // 閫�鍑�
-            wrkMast.setEmptyMk(ioType==110? "Y":"N"); // 绌烘澘
+            wrkMast.setEmptyMk(ioType == 110 ? "Y" : "N"); // 绌烘澘
             wrkMast.setLinkMis("N");
             wrkMast.setBarcode(locMast.getBarcode());
             wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
@@ -1075,7 +1123,7 @@
             }
             // 淇敼搴撲綅鐘舵��:   F銆丏.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
             locMast = locMastService.selectById(taskDto.getLocNo());
-            if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") ) {
+            if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D")) {
                 locMast.setLocSts("R");
                 locMast.setModiUser(userId);
                 locMast.setModiTime(now);
@@ -1153,11 +1201,11 @@
             if (!wrkDetlService.insert(wrkDetl)) {
                 throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
             }
-            if (!wrkDetl.getOrderNo().equals("浼寸敓鍑哄簱")){
+            if (!wrkDetl.getOrderNo().equals("浼寸敓鍑哄簱")) {
                 // 淇敼璁㈠崟鏄庣粏
                 if (!BaseController.isJSON(locDto.getOrderNo())) {
                     String[] orderNos = GetOrderNo(locDto.getOrderNo());
-                    if (!Cools.isEmpty(orderNos) && orderNos.length!=0){
+                    if (!Cools.isEmpty(orderNos) && orderNos.length != 0) {
                         Double anfme = locDto.getAnfme();
                         for (String orderNo : orderNos) {
                             OrderDetl orderDetl = orderDetlService.selectItem(orderNo, locDto.getMatnr(), locDto.getBatch());
@@ -1176,7 +1224,7 @@
                             }
                             orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
                         }
-                    }else {
+                    } else {
                         OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
                         if (orderDetl == null) {
                             orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
@@ -1201,7 +1249,7 @@
                         orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
                     }
                 }
-            }else {//鑷姩缁勬墭
+            } else {//鑷姩缁勬墭
                 WaitPakin waitPakin = new WaitPakin();
                 waitPakin.sync(mat);
                 waitPakin.setBatch(wrkDetl.getBatch());
@@ -1239,7 +1287,7 @@
     private String[] GetOrderNo(String orderNo) {
         String[] s3 = orderNo.split("\"");
         String[] s = new String[(s3.length - 1) / 6];
-        if (!Cools.isEmpty(s3)){
+        if (!Cools.isEmpty(s3)) {
             int i = 0;
             int j = 0;
             for (String ss : s3) {
@@ -1249,8 +1297,8 @@
                 }
                 j++;
             }
-        }else {
-            s=null;
+        } else {
+            s = null;
         }
         return s;
     }
@@ -1279,7 +1327,7 @@
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
         LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
-        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null, locTypeDto,0);
+        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null, locTypeDto, 0);
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
@@ -1352,8 +1400,8 @@
             if (Cools.isEmpty(locMast)) {
                 throw new CoolException(locNo + "搴撲綅涓嶅瓨鍦�");
             }
-            if (!locMast.getLocSts().equals("D")){
-                throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
+            if (!locMast.getLocSts().equals("D")) {
+                throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細" + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
             }
             // 鑾峰彇婧愮珯
             Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
@@ -1424,11 +1472,11 @@
         }
         if (!locDetlDtos.isEmpty()) {
             LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
-            if (locMast.getLocSts().equals("F")){
+            if (locMast.getLocSts().equals("F")) {
                 // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱
                 stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId);
-            }else {
-                throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
+            } else {
+                throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎鐨勫簱浣嶏紝搴撲綅鍙凤細" + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
             }
 
         } else {
@@ -1448,7 +1496,7 @@
         if (Cools.isEmpty(loc)) {
             throw new CoolException("鏈壘鍒板簱浣�");
         }
-        if (!loc.getLocSts().equals("O")||(!sourceLoc.getLocSts().equals("F") && !sourceLoc.getLocSts().equals("D"))){
+        if (!loc.getLocSts().equals("O") || (!sourceLoc.getLocSts().equals("F") && !sourceLoc.getLocSts().equals("D"))) {
             throw new CoolException("搴撲綅鐘舵�佸凡鏀瑰彉");
         }
         if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) {
@@ -1720,7 +1768,7 @@
                 locSts = "D";
                 // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉�
             } else if (wrkMast.getIoType() == 11 || wrkMast.getIoType() == 111) {
-                if (wrkMast.getWrkSts() > 11){
+                if (wrkMast.getWrkSts() > 11) {
                     throw new CoolException("绉诲簱浠诲姟宸插湪鎵ц涓紝涓嶈兘鍙栨秷");
                 }
                 locSts = wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F";
@@ -1740,9 +1788,9 @@
         // 璁㈠崟鍏宠仈
         List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
         for (WrkDetl wrkDetl : wrkDetls) {
-            if (!Cools.isEmpty(wrkDetl.getOrderNo())){
+            if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
                 String[] orderNos = GetOrderNo(wrkDetl.getOrderNo());
-                if (!Cools.isEmpty(orderNos) && orderNos.length!=0){
+                if (!Cools.isEmpty(orderNos) && orderNos.length != 0) {
                     String[] anfmes = GetAnfme(wrkDetl.getOrderNo());
                     int i = 0;
                     for (String orderNo : orderNos) {
@@ -1764,7 +1812,7 @@
                             }
                         }
                     }
-                }else {
+                } else {
                     if (!BaseController.isJSON(wrkDetl.getOrderNo())) {
                         if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
                             throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");

--
Gitblit v1.9.1