From 1a30303df506698d09d106060d93d196c90c5c18 Mon Sep 17 00:00:00 2001
From: 18516761980 <tqsxp@163.com>
Date: 星期三, 08 三月 2023 07:57:53 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java |    5 ++
 src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java |   19 ++++++---
 src/main/resources/mapper/LocMastMapper.xml                    |   33 ++++++++++++++++
 src/main/java/com/zy/asrs/mapper/LocMastMapper.java            |    2 +
 src/main/webapp/static/js/common.js                            |   18 ++++----
 src/main/java/com/zy/asrs/service/LocMastService.java          |    1 
 src/main/java/com/zy/common/service/CommonService.java         |   28 ++++++++++++++
 src/main/resources/application.yml                             |    2 
 8 files changed, 92 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
index e34d937..5af99a4 100644
--- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -23,4 +23,6 @@
     @Select("select count(*) as count from asr_loc_mast where 1=1 and loc_sts = 'O' and crn_no = #{crnNo}")
     Integer selectEmptyLocCount(@Param("crnNo") Integer crnNo);
 
+    List<LocMast> queryFreeLocMast2(@Param("rows") List<Integer> rows, @Param("rowsLen") Integer rowsLen, @Param("locType1") Short locType1);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/LocMastService.java b/src/main/java/com/zy/asrs/service/LocMastService.java
index bc285d2..4d4fb60 100644
--- a/src/main/java/com/zy/asrs/service/LocMastService.java
+++ b/src/main/java/com/zy/asrs/service/LocMastService.java
@@ -12,6 +12,7 @@
      * 妫�绱㈠彲鐢ㄥ簱浣�
      */
     List<LocMast> queryFreeLocMast(List<Integer> rows, Integer rowsLen, Short locType1);
+    List<LocMast> queryFreeLocMast2(List<Integer> rows, Integer rowsLen, Short locType1);
 
     /**
      * 妫�绱㈠彲鐢ㄥ簱浣�0
diff --git a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
index f8b182f..9a1ea8f 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -34,6 +34,11 @@
     }
 
     @Override
+    public List<LocMast> queryFreeLocMast2(List<Integer> rows, Integer rowsLen, Short locType1) {
+        return this.baseMapper.queryFreeLocMast(rows, rowsLen, locType1);
+    }
+
+    @Override
     public LocMast queryFreeLocMast0(Integer row, Short locType1) {
         return this.baseMapper.queryFreeLocMast0(row, locType1);
     }
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
index 6d2bffe..6ab6642 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
@@ -69,6 +69,12 @@
                         }
                     }
                 }
+                int row = getRow(locNo);
+                if (row<=4){
+                    return defaultIoPri == null ? 300.0D-row*2 : defaultIoPri-row*2;
+                }else {
+                    return defaultIoPri == null ? 300.0D+row*2 : defaultIoPri+row*2;
+                }
             // 鍑哄簱
             } else {
                 List<String> groupOuterLoc = Utils.getGroupOuterLoc(locNo);
@@ -91,17 +97,18 @@
                         }
                     }
                 }
+                int row = getRow(locNo);
+                if (row<=4){
+                    return defaultIoPri == null ? 300.0D+row*2 : defaultIoPri+row*2;
+                }else {
+                    return defaultIoPri == null ? 300.0D-row*2 : defaultIoPri-row*2;
+                }
             }
         // 绉诲簱
         } else {
 //            @Deprecated
         }
-        int row = getRow(locNo);
-        if (row<=4){
-            return defaultIoPri == null ? 300.0D+row*2 : defaultIoPri+row*2;
-        }else {
-            return defaultIoPri == null ? 300.0D+row-2 : defaultIoPri-row*2;
-        }
+        return 300.0D;
     }
     /**
      * 閫氳繃搴撲綅鍙疯幏鍙� 鎺�
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index e209893..11f1840 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -33,6 +33,12 @@
     public static final List<Integer> SECOND_GROUP_ROW_LIST = new ArrayList<Integer>() {{
         add(5);add(6);add(7);add(8);add(9);add(10);add(11);
     }};
+    public static final List<Integer> FIRST_GROUP_ROW_LIST2 = new ArrayList<Integer>() {{
+        add(2);add(3);add(4);
+    }};
+    public static final List<Integer> SECOND_GROUP_ROW_LIST10 = new ArrayList<Integer>() {{
+        add(5);add(6);add(7);add(8);add(9);add(10);
+    }};
 
     @Autowired
     private WrkMastService wrkMastService;
@@ -219,6 +225,28 @@
                     }
                 }
             }
+            if (Cools.isEmpty(locMast)){
+                if (rows.equals(FIRST_GROUP_ROW_LIST)){
+                    rows=FIRST_GROUP_ROW_LIST2;
+                }else if (rows.equals(SECOND_GROUP_ROW_LIST)){
+                    rows=SECOND_GROUP_ROW_LIST10;
+                }
+                List<LocMast> locMasts1 = locMastService.queryFreeLocMast2(rows, rows.size(), locTypeDto.getLocType1());
+                if (!Cools.isEmpty(locMasts1)) {
+                    Integer innermostRow = Utils.getInnermostRow(locMasts1.get(0).getLocNo());
+                    if (rows.equals(FIRST_GROUP_ROW_LIST2)){
+                        innermostRow=innermostRow+1;
+                    }else if (rows.equals(SECOND_GROUP_ROW_LIST10)){
+                        innermostRow=innermostRow-1;
+                    }
+                    for (LocMast one : locMasts1) {
+                        if (one.getRow1().equals(innermostRow)) {
+                            locMast = one;
+                            break;
+                        }
+                    }
+                }
+            }
             // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
             if (!locMastService.checkEmptyCount(locMast, 10)) {
                 locMast = null;
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index a5a4f6c..f944597 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -10,7 +10,7 @@
     enabled: false
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://localhost:1433;databasename=szfzasrs
+    url: jdbc:sqlserver://10.10.10.209:1433;databasename=szfzasrs
     username: sa
 #    password: Zoneyung@zy56$
     password: sa@123
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index 8f6edd7..3ed94b1 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -70,6 +70,39 @@
             order by right(ctn_no, 2) + 0 asc, left(ctn_no, 3) + 0 asc
         )
     </select>
+    <select id="queryFreeLocMast" resultMap="BaseResultMap">
+        select
+        *
+        from asr_loc_mast
+        where 1=1
+        and row1 in
+        <foreach item="item" collection="rows" index="index"  separator="," open="(" close=")">
+            #{item}
+        </foreach>
+        and ctn_no =
+        (
+        select
+        top 1
+        ctn_no
+        from (
+        select
+        ctn_no,
+        count(1) as count
+        from asr_loc_mast
+        where 1=1
+        and row1 in
+        <foreach item="item" collection="rows" index="index"  separator="," open="(" close=")">
+            #{item}
+        </foreach>
+        and loc_no not in ('0100101', '0200101', '0300101', '0400101')
+        and (bay1 = 3 or bay1 = 11 or (bay1 = 7 and row1 = 10))
+        and loc_sts = 'O'
+        group by ctn_no
+        ) a
+        where count = #{rowsLen}
+        order by right(ctn_no, 2) + 0 asc, left(ctn_no, 3) + 0 asc
+        )
+    </select>
 
     <select id="queryFreeLocMast0" resultMap="BaseResultMap">
         select top 1 *
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index d7e803a..51c0828 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -182,21 +182,21 @@
 
 var matCols = [
     {field: 'matnr', align: 'center',title: '鐗╂枡鍙�', width: 180}
-    ,{field: 'name', align: 'center',title: '绉诲姩绫诲瀷'}
-    // ,{field: 'maktx', align: 'center',title: '鐗╂枡鍙�', width: 150}
-    ,{field: 'specs', align: 'center',title: '瑙勬牸'}
-    ,{field: 'model', align: 'center',title: '鎵规', hide: false}
+    ,{field: 'name', align: 'center',title: '绉诲姩绫诲瀷', hide: true}
+    ,{field: 'maktx', align: 'center',title: '鐗╂枡鍚嶇О', width: 150}
+    ,{field: 'specs', align: 'center',title: '瑙勬牸', hide: false}
+    ,{field: 'model', align: 'center',title: '鎵规', hide: true}
     ,{field: 'manuDate', align: 'center',title: '鍗曟嵁鏃堕棿', hide: false}
     ,{field: 'weight', align: 'center',title: '閲嶉噺', hide: false}
-    ,{field: 'units', align: 'center',title: '鍖呮暟', hide: false}
+    ,{field: 'units', align: 'center',title: '鏀暟', hide: false}
     ,{field: 'origin', align: 'center',title: '鐗╂枡鐘舵��', hide: true}
 
-    ,{field: 'color', align: 'center',title: '棰滆壊', hide: true}
+    ,{field: 'color', align: 'center',title: '棰滆壊', hide: false}
     ,{field: 'brand', align: 'center',title: '鍝佺墝', hide: true}
-    ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true}
-    ,{field: 'price', align: 'center',title: '鍗曚环', hide: true}
+    ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: false}
+    ,{field: 'price', align: 'center',title: '鍗曚环', hide: false}
     ,{field: 'sku', align: 'center',title: 'sku', hide: true}
-    ,{field: 'barcode', align: 'center',title: '鏉$爜', hide: false}
+    ,{field: 'barcode', align: 'center',title: '鏉$爜', hide: true}
     ,{field: 'manu', align: 'center',title: '鍘傚', hide: true}
     ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�', hide: true}
     ,{field: 'safeQty', align: 'center',title: '瀹夊叏搴撳瓨閲�', hide: true}

--
Gitblit v1.9.1