From 0178712209fa92d55f1af021f6cfb1cd201ee474 Mon Sep 17 00:00:00 2001
From: bfwms <1>
Date: 星期一, 07 十月 2024 14:22:34 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   75 ++++++++++++++++++++++++++++++-------
 1 files changed, 61 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 1e42f78..d6ee4b8 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(), matnrs, locTypeDto);
+        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matnrs, locTypeDto,0);
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
@@ -478,21 +478,44 @@
         Date now = new Date();
         // 鍚堝苟鍚岀被椤�
         Set<String> locNos = new HashSet<>();
+        ArrayList<String> locNos2 = new ArrayList<String>();
         List<OutLocDto> dtos = new ArrayList<>();
         for (LocDetlDto locDetlDto : locDetlDtos) {
             String locNo = locDetlDto.getLocDetl().getLocNo();
-            if (locNos.contains(locNo)) {
-                for (OutLocDto dto : dtos) {
-                    if (dto.getLocNo().equals(locNo)) {
-                        dto.getLocDetlDtos().add(locDetlDto);
-                        break;
+            locNos2.add(locNo);
+            //if (locNos.contains(locNo)) {
+                //for (OutLocDto dto : dtos) {
+                //    if (dto.getLocNo().equals(locNo)) {
+                //        dto.getLocDetlDtos().add(locDetlDto);
+                //        break;
+                //    }
+                //}
+            //} else {
+                //locNos.add(locNo);
+
+                //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 (locNos.contains(locNo)) {
+                    for (OutLocDto dto : dtos) {
+                        if (dto.getLocNo().equals(locNo)) {
+                            dto.getLocDetlDtos().add(locDetlDto);
+                            break;
+                        }
                     }
+                } else {
+                    locNos.add(locNo);
+                    dtos.add(new OutLocDto(locNo, locDetlDto));
                 }
-            } else {
-                locNos.add(locNo);
-                dtos.add(new OutLocDto(locNo, locDetlDto));
+                //dtos.add(new OutLocDto(locNo,locDetlDto));
             }
         }
+
         Integer ioType = null;
         List<String> excludeLocNos = dtos.stream().map(OutLocDto::getLocNo).distinct().collect(Collectors.toList());
         // 鐢熸垚宸ヤ綔妗�
@@ -823,7 +846,7 @@
                         }
                         WaitPakin waitPakin = new WaitPakin();
                         waitPakin.sync(mat);
-                        waitPakin.setBatch("");
+                        //waitPakin.setBatch("");
                         waitPakin.setZpallet(locDetl.getZpallet());   // 鎵樼洏鐮�
                         waitPakin.setIoStatus("N");     // 鍏ュ嚭鐘舵��
                         waitPakin.setAnfme(locDetl.getAnfme());  // 鏁伴噺
@@ -853,6 +876,12 @@
                 //     throw new CoolException("鍙兘瀛樺湪涓�绗旂洏鐐逛换鍔�");
                 // }
             }
+            if (ioType!=101){
+                if (basDevp==114 || basDevp==214){
+                    throw new CoolException("2妤煎彧鍏佽鍏ㄦ澘鍑哄簱锛岃閫夋嫨鍏ㄩ儴鐗╂枡");
+                }
+            }
+
             assert ioType != null;
             // 鑾峰彇搴撲綅
             LocMast locMast = locMastService.selectById(dto.getLocNo());
@@ -868,13 +897,30 @@
                 //    }
                 //}
                 if (ioType == 101) {
-                    if (staNo.getDevNo()==300){
+                    if (basDevp==300){
                         if(locMast.getCrnNo() == 1) {
                             staNo.setDevNo(100);
                         } else {
                             staNo.setDevNo(200);
                         }
-
+                    } else if (basDevp == 114){
+                        if (!dto.isSign()){
+                            staNo.setDevNo(100);
+                        } else {
+                            staNo.setDevNo(basDevp);
+                        }
+                    } else if (basDevp == 214){
+                        if (!dto.isSign()){
+                            staNo.setDevNo(200);
+                        } else {
+                            staNo.setDevNo(basDevp);
+                        }
+                    } else {
+                        if(locMast.getCrnNo() == 1) {
+                            staNo.setDevNo(100);
+                        } else {
+                            staNo.setDevNo(200);
+                        }
                     }
                 } else {
                     staNo.setDevNo(basDevp);
@@ -1201,7 +1247,7 @@
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
         LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
-        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null, locTypeDto);
+        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null, locTypeDto,0);
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
@@ -1512,6 +1558,7 @@
                     AdjDetl adjDetl = new AdjDetl();
                     adjDetl.setLocNo(locDetl.getLocNo());
                     adjDetl.setMatnr(locDetl.getMatnr());
+                    adjDetl.setSpecs(locDetl.getSpecs());
                     adjDetl.setBatch(locDetl.getBatch());
                     adjDetl.setOriQty(locDetl.getAnfme());
                     adjDetl.setAdjQty(adjust.getCount());
@@ -1663,7 +1710,7 @@
         for (WrkDetl wrkDetl : wrkDetls) {
             if (!Cools.isEmpty(wrkDetl.getOrderNo())){
                 String[] orderNos = GetOrderNo(wrkDetl.getOrderNo());
-                if (!Cools.isEmpty(orderNos)){
+                if (!Cools.isEmpty(orderNos) && orderNos.length!=0){
                     String[] anfmes = GetAnfme(wrkDetl.getOrderNo());
                     int i = 0;
                     for (String orderNo : orderNos) {

--
Gitblit v1.9.1