From cc3f826987484580f7275f5bb18d35c0c3e1ed78 Mon Sep 17 00:00:00 2001
From: 18516761980 <tqsxp@163.com>
Date: 星期六, 04 三月 2023 13:30:43 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/service/CommonService.java |  165 +++++++++++++++---------------------------------------
 1 files changed, 47 insertions(+), 118 deletions(-)

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 2f4a91a..e209893 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -28,12 +28,10 @@
 public class CommonService {
 
     public static final List<Integer> FIRST_GROUP_ROW_LIST = new ArrayList<Integer>() {{
-        add(2);add(3);add(4);add(5);add(6);add(7);add(8);add(9);add(10);
-        add(11);add(12);add(13);add(14);add(15);add(16);add(17);
+        add(1);add(2);add(3);add(4);
     }};
     public static final List<Integer> SECOND_GROUP_ROW_LIST = new ArrayList<Integer>() {{
-        add(18);add(19);add(20);
-        add(21);add(22);add(23);add(24);add(25);add(26);add(27);add(28);add(29);add(30);
+        add(5);add(6);add(7);add(8);add(9);add(10);add(11);
     }};
 
     @Autowired
@@ -110,23 +108,7 @@
      */
     public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, List<String> matNos, LocTypeDto locTypeDto, LocTypeDto oldLocType, int times) {
         StartupDto startupDto = new StartupDto();
-        int start = 2;
-        int end = 30;
-        int dualCrnNo;
-        switch (sourceStaNo) {
-            case 107:
-                whsType = 1;
-                dualCrnNo = 2;
-                break;
-            case 118:
-                whsType = 2;
-                start = 31;
-                end = 32;
-                dualCrnNo = 3;
-                break;
-            default:
-                throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�");
-        }
+        whsType = 1;
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = getWorkNo(0);
         RowLastno rowLastno = rowLastnoService.selectById(whsType);
@@ -137,13 +119,7 @@
         int sRow = rowLastno.getsRow();          // 璧峰鍒�
         int eRow = rowLastno.geteRow();          // 缁堟鍒�
         int crn_qty = rowLastno.getCrnQty();     // 鍫嗗灈鏈烘暟閲忥紙宸烽亾鏁伴噺锛�
-        int rowCount;
-        if (whsType == 1) {
-            rowCount = 2;
-        } else {
-            rowCount = 1;
-        }
-//        int rowCount = eRow - sRow + 1;          // 搴撴帓鎬绘暟
+        int rowCount = eRow - sRow + 1;          // 搴撴帓鎬绘暟
         // 鐩爣鍫嗗灈鏈哄彿
         int crnNo = 0;
         // 鐩爣搴撲綅
@@ -151,38 +127,17 @@
 
         // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂�
         if (!Cools.isEmpty(matNos) && matNos.size() == 1) {
-            List<String> locNos = locDetlService.getSameDetl(matNos.get(0), start, end);
+            List<String> locNos = locDetlService.getSameDetl(matNos.get(0), sRow, eRow);
             for (String locNo : locNos) {
-                if (whsType == 1) {
-                    LocMast locMast0 = locMastService.findOutMost(locNo);
-                    if (null != locMast0) {
-                        // 娴呭簱浣嶇鍚堝昂瀵告娴�
-                        if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
-                            // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父
-                            if (basCrnpService.checkSiteError(dualCrnNo, true)) {
-                                crnNo = dualCrnNo;
-                                locMast = locMast0;
-                                break;
-                            }
-                        }
-                    }
-                } else {
-                    if (Utils.isShallowLoc(slaveProperties, locNo)) {
-                        continue;
-                    }
-                    String shallowLocNo = Utils.getShallowLoc(slaveProperties, locNo);
-                    // 妫�娴嬬洰鏍囧簱浣嶆槸鍚︿负绌哄簱浣�
-                    LocMast shallowLoc = locMastService.selectById(shallowLocNo);
-                    if (shallowLoc != null && shallowLoc.getLocSts().equals("O")) {
-                        if (VersionUtils.locMoveCheckLocType(shallowLoc, locTypeDto)) {
-                            // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
-                            if (locMastService.checkEmptyCount(shallowLoc)) {
-                                if (basCrnpService.checkSiteError(shallowLoc.getCrnNo(), true)) {
-                                    locMast = shallowLoc;
-                                    crnNo = locMast.getCrnNo();
-                                    break;
-                                }
-                            }
+                LocMast locMast0 = locMastService.findOutMost(locNo);
+                if (null != locMast0) {
+                    // 娴呭簱浣嶇鍚堝昂瀵告娴�
+                    if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
+                        // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父
+                        if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) {
+                            crnNo = locMast0.getCrnNo();
+                            locMast = locMast0;
+                            break;
                         }
                     }
                 }
@@ -192,39 +147,18 @@
         // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭
         if (staDescId == 10) {
             List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
-                    .eq("loc_sts", "D").ge("row1", start).le("row1", end));
+                    .eq("loc_sts", "D").ge("row1", sRow).le("row1", eRow));
             if (locMasts.size() > 0) {
                 for (LocMast loc : locMasts) {
-                    if (whsType == 1) {
-                        LocMast locMast0 = locMastService.findOutMost(loc.getLocNo());
-                        if (null != locMast0) {
-                            // 娴呭簱浣嶇鍚堝昂瀵告娴�
-                            if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
-                                // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父
-                                if (basCrnpService.checkSiteError(dualCrnNo, true)) {
-                                    crnNo = dualCrnNo;
-                                    locMast = locMast0;
-                                    break;
-                                }
-                            }
-                        }
-                    } else {
-                        if (Utils.isShallowLoc(slaveProperties, loc.getLocNo())) {
-                            continue;
-                        }
-                        String shallowLocNo = Utils.getShallowLoc(slaveProperties, loc.getLocNo());
-                        // 妫�娴嬬洰鏍囧簱浣嶆槸鍚︿负绌哄簱浣�
-                        LocMast shallowLoc = locMastService.selectById(shallowLocNo);
-                        if (shallowLoc != null && shallowLoc.getLocSts().equals("O")) {
-                            if (VersionUtils.locMoveCheckLocType(shallowLoc, locTypeDto)) {
-                                // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
-                                if (locMastService.checkEmptyCount(shallowLoc)) {
-                                    if (basCrnpService.checkSiteError(shallowLoc.getCrnNo(), true)) {
-                                        locMast = shallowLoc;
-                                        crnNo = locMast.getCrnNo();
-                                        break;
-                                    }
-                                }
+                    LocMast locMast0 = locMastService.findOutMost(loc.getLocNo());
+                    if (null != locMast0) {
+                        // 娴呭簱浣嶇鍚堝昂瀵告娴�
+                        if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
+                            // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父
+                            if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) {
+                                crnNo = locMast0.getCrnNo();
+                                locMast = locMast0;
+                                break;
                             }
                         }
                     }
@@ -234,21 +168,20 @@
 
         // 濡傛灉娌℃湁鐩歌繎鐗╂枡锛屽垯鎸夎鍒欒疆璇㈣揣鏋�
         if (null == locMast) {
-            if (whsType == 1) {
-                if (curRow == 2) {
-                    curRow = 30;
-                } else if (curRow == 30) {
-                    curRow = 2;
-                }
+            if (curRow == 1) {
+                curRow = 11;
+            } else {
+                curRow = 1;
             }
-            if (basCrnpService.checkSiteError(dualCrnNo, true)) {
-                crnNo = dualCrnNo;
+            if (basCrnpService.checkSiteError(1, true)) {
+                crnNo = 1;
             }
         }
 
         if (crnNo == 0) {
             throw new CoolException("娌℃湁鍙敤鐨勫爢鍨涙満");
         }
+
         // 鑾峰彇鐩爣绔�
         Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                 .eq("type_no", staDescId)
@@ -274,25 +207,21 @@
 
         // 1.褰撴绱㈠簱鎺掍负娴呭簱浣嶆帓鏃讹紝浼樺厛瀵绘壘褰撳墠搴撴帓鐨勬繁搴撲綅鎺�
         if (locMast == null) {
-            if (whsType == 1) {
-                List<Integer> rows = Utils.getGroupLoc(curRow);
+            List<Integer> rows = Utils.getGroupLoc(curRow);
 
-                List<LocMast> locMasts = locMastService.queryFreeLocMast(rows, rows.size(), locTypeDto.getLocType1());
-                if (!Cools.isEmpty(locMasts)) {
-                    Integer innermostRow = Utils.getOutLayerRow(locMasts.get(0).getLocNo(), false);
-                    for (LocMast one : locMasts) {
-                        if (one.getRow1().equals(innermostRow)) {
-                            locMast = one;
-                            break;
-                        }
+            List<LocMast> locMasts = locMastService.queryFreeLocMast(rows, rows.size(), locTypeDto.getLocType1());
+            if (!Cools.isEmpty(locMasts)) {
+                Integer innermostRow = Utils.getInnermostRow(locMasts.get(0).getLocNo());
+                for (LocMast one : locMasts) {
+                    if (one.getRow1().equals(innermostRow)) {
+                        locMast = one;
+                        break;
                     }
                 }
-                // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� todo:luxiaotao
-//            if (!locMastService.checkEmptyCount(locMast)) {
-//                locMast = null;
-//            }
-            } else {
-
+            }
+            // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
+            if (!locMastService.checkEmptyCount(locMast, 10)) {
+                locMast = null;
             }
         }
 
@@ -306,10 +235,10 @@
                 times = 0;
             }
             // 璐х墿妫�绱綆搴撲綅浠撳け璐ワ紝鍏煎楂樺簱浣嶄粨鍚庣户缁墽琛�
-            if (locTypeDto.getLocType1() == 1) {
-                locTypeDto.setLocType1((short) 2);
-                return getLocNo(1, staDescId, sourceStaNo, matNos, locTypeDto, oldLocType, times);
-            }
+//            if (locTypeDto.getLocType1() == 1) {
+//                locTypeDto.setLocType1((short) 2);
+//                return getLocNo(1, staDescId, sourceStaNo, matNos, locTypeDto, oldLocType, times);
+//            }
             log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times);
             throw new CoolException("娌℃湁绌哄簱浣�");
         }

--
Gitblit v1.9.1