From cee9ae96ca3e2831ea659e8ccdc979f22b820ace Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期三, 25 十月 2023 15:40:41 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java |    6 -
 src/main/webapp/views/locMast/locMast.html                   |    8 +-
 src/main/java/com/zy/asrs/controller/LocMastController.java  |   52 -------------
 src/main/java/com/zy/asrs/utils/Utils.java                   |   23 +++++
 src/main/java/com/zy/asrs/entity/BasDevp.java                |    4 
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java  |    4 
 src/main/java/com/zy/common/web/WcsController.java           |    6 
 src/main/webapp/static/js/locMast/locMast.js                 |   26 ------
 src/main/java/com/zy/asrs/entity/LocMast.java                |    4 
 src/main/java/com/zy/common/model/LocTypeDto.java            |    4 
 src/main/java/com/zy/common/service/CommonService.java       |   63 ++++++++++-----
 11 files changed, 81 insertions(+), 119 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocMastController.java b/src/main/java/com/zy/asrs/controller/LocMastController.java
index df6f1bc..9763ded 100644
--- a/src/main/java/com/zy/asrs/controller/LocMastController.java
+++ b/src/main/java/com/zy/asrs/controller/LocMastController.java
@@ -215,56 +215,4 @@
         locMastService.insertBatch(list);
         return R.ok("鍒濆鍖栨垚鍔�");
     }
-
-    @RequestMapping(value = "/locMast/convert/size/auth")
-    @ManagerAuth(memo = "澶у皬搴撲綅杞崲")
-    @Transactional
-    public R convertSize(@RequestParam String param) {
-        List<LocMast> list = JSONArray.parseArray(param, LocMast.class);
-        if (Cools.isEmpty(list)){
-            return R.error();
-        }
-        for (LocMast entity : list){
-            if (!entity.getCrnNo().equals(1) && !entity.getCrnNo().equals(4)){
-                return R.error("璇烽�夋嫨1鍙枫��4鍙峰爢鍨涙満鐨勮揣浣嶏紒锛侊紒涓嶇鍚堟潯浠跺簱浣嶏細"+entity.getLocNo());
-            }
-            if (!entity.getLocSts().equals("O") && !entity.getLocSts().equals("Y")){
-                return R.error("璇烽�夋嫨绌洪棽銆佽鍚堝苟鐨勮揣浣嶏紒锛侊紒涓嶇鍚堟潯浠跺簱浣嶏細"+entity.getLocNo());
-            }
-        }
-        List<String> innermostSideLoc = Utils.getInnermostSideLoc(list);
-        StringBuilder msg=new StringBuilder();
-        for (String locNo : innermostSideLoc){
-            String innermostSideLocLBR = Utils.getInnermostSideLocLBR(locNo);
-            LocMast locMast1 = locMastService.selectById(innermostSideLocLBR);//娴�
-            if (Cools.isEmpty(locMast1)){
-                msg.append("璇烽�夋嫨娴呭簱浣嶅瓨鍦ㄧ殑璐т綅锛侊紒锛佷笉绗﹀悎鏉′欢搴撲綅锛�").append(innermostSideLocLBR).append("/n");
-                continue;
-            }
-            if (!locMast1.getLocSts().equals("O")){
-                msg.append("璇烽�夋嫨娴呭簱浣嶇┖闂茬殑璐т綅锛侊紒锛佷笉绗﹀悎鏉′欢搴撲綅锛�").append(locMast1.getLocNo()).append("/n");
-                continue;
-            }
-            LocMast locMast = locMastService.selectById(locNo);//娣�
-            if (Cools.isEmpty(locMast)){
-                msg.append("璇烽�夋嫨娣卞簱浣嶅瓨鍦ㄧ殑璐т綅锛侊紒锛佷笉绗﹀悎鏉′欢搴撲綅锛�").append(locNo).append("/n");
-                continue;
-            }
-            if (!Cools.isEmpty(locMast) && locMast.getLocSts().equals("O")){
-                locMast1.setLocType1((short)2);
-                locMast.setLocType1((short)2);
-                locMast.setLocSts("Y");
-            }else if (!Cools.isEmpty(locMast) && locMast.getLocSts().equals("Y")){
-                locMast1.setLocType1((short)1);
-                locMast.setLocType1((short)1);
-                locMast.setLocSts("O");
-            }else {
-                msg.append("璇烽�夋嫨娣卞簱浣嶅簱浣嶇┖闂层�佽鍚堝苟鐨勮揣浣嶏紒锛侊紒涓嶇鍚堟潯浠跺簱浣嶏細").append(locMast.getLocNo()).append("/n");
-                continue;
-            }
-            locMastService.updateById(locMast1);
-            locMastService.updateById(locMast);
-        }
-        return R.ok(msg);
-    }
 }
diff --git a/src/main/java/com/zy/asrs/entity/BasDevp.java b/src/main/java/com/zy/asrs/entity/BasDevp.java
index 0e683f1..78ca14c 100644
--- a/src/main/java/com/zy/asrs/entity/BasDevp.java
+++ b/src/main/java/com/zy/asrs/entity/BasDevp.java
@@ -228,9 +228,9 @@
             case 0:
                 return "鏈煡";
             case 1:
-                return "灏忓簱浣�";
+                return "浣庡簱浣�";
             case 2:
-                return "澶у簱浣�";
+                return "楂樺簱浣�";
             default:
                 return String.valueOf(this.locType1);
         }
diff --git a/src/main/java/com/zy/asrs/entity/LocMast.java b/src/main/java/com/zy/asrs/entity/LocMast.java
index 24b93ea..23d8301 100644
--- a/src/main/java/com/zy/asrs/entity/LocMast.java
+++ b/src/main/java/com/zy/asrs/entity/LocMast.java
@@ -215,9 +215,9 @@
             case 0:
                 return "鏈煡";
             case 1:
-                return "灏忓簱浣�";
+                return "浣庡簱浣�";
             case 2:
-                return "澶у簱浣�";
+                return "楂樺簱浣�";
             default:
                 return String.valueOf(this.locType1);
         }
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 183b3a0..ff8555d 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -92,7 +92,7 @@
         LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
         List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList());
         List<String> batchs = param.getList().stream().map(FullStoreParam.MatCodeStore::getBatch).distinct().collect(Collectors.toList());
-        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matnrs.get(0), batchs.get(0), null,locTypeDto,0);
+        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matnrs.get(0), batchs.get(0), null,0,locTypeDto,0);
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
@@ -372,7 +372,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, 0);
+        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null,null,null,0, locTypeDto, 0);
         int workNo = dto.getWorkNo();
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
diff --git a/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java b/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java
index 014616b..62c4ffa 100644
--- a/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java
@@ -67,10 +67,8 @@
             boolean sign = true;
             for (Integer crnNo : crns){
                 sign = true;
-                //瀹滅涓撶敤  澶у皬鎵樼洏
-                short locType1= staNo==112? (short)1 : (short)2;//1:"灏忔墭鐩�"銆�2:"澶ф墭鐩�"
-                // 鑾峰彇搴撲綅
-                LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts",locStsTarget).eq("crn_no",crnNo).eq("loc_type1",locType1));
+
+                LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts",locStsTarget).eq("crn_no",crnNo));
 
                 if (Cools.isEmpty(locMast)) {
 //                    throw new CoolException("搴撲腑鏃犵┖鏉匡紒锛侊紒");
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 4c80cd8..3efba83 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -250,7 +250,12 @@
 
     //搴撲綅鎺掑彿鍒嗛厤
     public static int[] LocNecessaryParameters(Integer whsType, Integer curRow, Integer crnNumber) {
-        return LocNecessaryParametersDoubleExtension(whsType, curRow, crnNumber);
+        switch (whsType){
+            case 1://缁忓吀鍙屼几搴撲綅
+                return LocNecessaryParametersDoubleExtension(whsType, curRow, crnNumber);
+            default:
+                return LocNecessaryParametersMove(whsType, curRow, crnNumber);//moveCrnNo
+        }
     }
 
     //缁忓吀鍙屼几搴撲綅
@@ -288,6 +293,22 @@
         return necessaryParameters;
     }
 
+    //绉诲簱
+    public static int[] LocNecessaryParametersMove(Integer whsType, Integer curRow, Integer moveCrnNo) {
+        int[] necessaryParameters = new int[]{0, 0, 0, 0};
+        necessaryParameters[0] = 2; // 杞娆℃暟
+        if (curRow.equals(moveCrnNo*4-2)){
+            necessaryParameters[1] = curRow+2;    //curRow   鏈�娣卞簱浣嶆帓
+            necessaryParameters[2] = moveCrnNo;     //crnNo     鍫嗗灈鏈哄彿
+            necessaryParameters[3] = curRow+1;    //nearRow  鏈�娴呭簱浣嶆帓
+        }else {
+            necessaryParameters[1] = curRow-2;    //curRow   鏈�娣卞簱浣嶆帓
+            necessaryParameters[2] = moveCrnNo;     //crnNo     鍫嗗灈鏈哄彿
+            necessaryParameters[3] = curRow-1;    //nearRow  鏈�娴呭簱浣嶆帓
+        }
+        return necessaryParameters;
+    }
+
 
     public static void main(String[] args) {
         List<LocMast> locS = new ArrayList<LocMast>();
diff --git a/src/main/java/com/zy/common/model/LocTypeDto.java b/src/main/java/com/zy/common/model/LocTypeDto.java
index 08c9f1b..c6630aa 100644
--- a/src/main/java/com/zy/common/model/LocTypeDto.java
+++ b/src/main/java/com/zy/common/model/LocTypeDto.java
@@ -30,9 +30,9 @@
             throw new CoolException("plc楂樹綆妫�娴嬪紓甯�");
         }
         if (basDevp.getLocType1() == 1) {
-            this.locType1 = 1; // 灏忓簱浣�
+            this.locType1 = 1; // 浣庡簱浣�
         } else {
-            this.locType1 = 2; // 澶у簱浣�
+            this.locType1 = 2; // 楂樺簱浣�
         }
         log.info(JSON.toJSONString(this));
     }
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 5b69e5b..fd12d84 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -98,7 +98,7 @@
      * @return locNo 妫�绱㈠埌鐨勫簱浣嶅彿
      */
     @Transactional
-    public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, LocTypeDto locTypeDto, int times) {
+    public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, Integer moveCrnNo, LocTypeDto locTypeDto, int times) {
         if (Cools.isEmpty(matnr)) {  //鐗╂枡鍙�
             matnr = "";
         }
@@ -128,6 +128,15 @@
         // ===============>>>> 寮�濮嬫墽琛�
         curRow = rowLastno.getCurrentRow();
 
+        if (!Cools.isEmpty(moveCrnNo) && moveCrnNo!=0){
+            crnNumber = moveCrnNo;
+            if (times==0){
+                curRow = moveCrnNo*4-1;
+            }else {
+                curRow = moveCrnNo*4-2;
+            }
+        }
+
         //姝ょ▼搴忕敤浜庝紭鍖栧爢鍨涙満寮傚父鏃剁殑杩愯鏃堕棿
         for (int i = times; i < crnNumber; i++) {
             int[] locNecessaryParameters = Utils.LocNecessaryParameters(whsType, curRow, crnNumber);
@@ -145,28 +154,40 @@
             throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満");
         }
 
+        boolean signRule1 = false;
+        boolean signRule2 = false;
 
-//        // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂� //鍒嗙鐗�
-//        if (!Cools.isEmpty(matnr) &&  (staDescId == 1 || staDescId == 11 || staDescId == 111)) {
-//            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O"));
-//            for (LocMast locMast1:locMasts){
-//                if (VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
-//                    continue;
-//                }
-//                String shallowLoc = Utils.getDeepLoc(slaveProperties,locMast1.getLocNo());
-//                LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",shallowLoc));
-//                if (!Cools.isEmpty(locMast2) && locMast2.getLocSts().equals("F")){
-//                    LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast2.getLocNo()));
-//                    if (!Cools.isEmpty(locDetl) && matnr.equals(locDetl.getMatnr())) {
-//                        locMast = locMast1;
-//                        break;
-//                    }
-//                }
-//            }
+
+        // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂� //鍒嗙鐗�
+//        if (!Cools.isEmpty(matnr) &&  (staDescId == 1)){
+//            signRule1 = true;
 //        }
-
         // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂� //浜掗�氱増
-        if (!Cools.isEmpty(matnr) && (staDescId == 1 || staDescId == 11 || staDescId == 111)) {
+        if (!Cools.isEmpty(matnr) && staDescId == 1) {
+            signRule2 = true;
+        }
+
+        if (!Cools.isEmpty(matnr) &&  (staDescId == 11 || staDescId == 111)) {
+            signRule1 = true;
+        }
+
+        if (signRule1){
+            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O"));
+            for (LocMast locMast1:locMasts){
+                if (VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
+                    continue;
+                }
+                String shallowLoc = Utils.getDeepLoc(slaveProperties,locMast1.getLocNo());
+                LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",shallowLoc));
+                if (!Cools.isEmpty(locMast2) && locMast2.getLocSts().equals("F")){
+                    LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast2.getLocNo()));
+                    if (!Cools.isEmpty(locDetl) && matnr.equals(locDetl.getMatnr())) {
+                        locMast = locMast1;
+                        break;
+                    }
+                }
+            }
+        }else if (signRule2){
             List<String> locNos = locDetlService.getSameDetlToday(matnr,batch, sRow, eRow);
             for (String locNo : locNos) {
                 if (Utils.isShallowLoc(slaveProperties, locNo)) {
@@ -284,7 +305,7 @@
             // 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊
             if (times < rowCount) {
                 times = times + 1;
-                return getLocNo(1, staDescId, sourceStaNo, matnr, batch, grade, locTypeDto, times);
+                return getLocNo(1, staDescId, sourceStaNo, matnr, batch, grade,moveCrnNo, locTypeDto, times);
             }
 //            // 2.搴撲綅褰撳墠鎵�灞炲昂瀵告棤绌哄簱浣嶆椂锛岃皟鏁村昂瀵稿弬鏁帮紝鍚戜笂鍏煎妫�绱㈠簱浣�
 //            if (locTypeDto.getLocType1() < 2) {
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 7a4e1c1..ef90880 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -111,7 +111,7 @@
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(12, true);
 
         // 妫�绱㈠簱浣�
-        StartupDto dto = commonService.getLocNo(rowLastnoService.selectNextWhsType(), 10, 12, null,null,null, locTypeDto,0);
+        StartupDto dto = commonService.getLocNo(rowLastnoService.selectNextWhsType(), 10, 12, null,null,null,0, locTypeDto,0);
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
@@ -162,7 +162,7 @@
         // 妫�绱㈠簱浣�
         List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
         List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList());
-        StartupDto dto = commonService.getLocNo(1, 1, devpNo, matnrs.get(0),batchs.get(0),null, locTypeDto,0);
+        StartupDto dto = commonService.getLocNo(1, 1, devpNo, matnrs.get(0),batchs.get(0),null,0, locTypeDto,0);
         int workNo = dto.getWorkNo();
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
@@ -237,7 +237,7 @@
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
-        StartupDto dto = commonService.getLocNo(1, 10, devpNo, null,null,null, locTypeDto,0);
+        StartupDto dto = commonService.getLocNo(1, 10, devpNo, null,null,null,0, locTypeDto,0);
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
diff --git a/src/main/webapp/static/js/locMast/locMast.js b/src/main/webapp/static/js/locMast/locMast.js
index 9e8bcef..a03ab95 100644
--- a/src/main/webapp/static/js/locMast/locMast.js
+++ b/src/main/webapp/static/js/locMast/locMast.js
@@ -229,32 +229,6 @@
                     })
                 });
                 break;
-            case 'convertSize':
-                var data = checkStatus.data;
-                if (data.length === 0){
-                    layer.msg('璇烽�夋嫨鏁版嵁');
-                } else {
-                    layer.confirm('纭畾杞崲'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){
-                        $.ajax({
-                            url: baseUrl+"/locMast/convert/size/auth",
-                            headers: {'token': localStorage.getItem('token')},
-                            data: {param: JSON.stringify(data)},
-                            method: 'POST',
-                            traditional:true,
-                            success: function (res) {
-                                if (res.code === 200){
-                                    layer.closeAll();
-                                    tableReload(false);
-                                } else if (res.code === 403){
-                                    top.location.href = baseUrl+"/";
-                                } else {
-                                    layer.msg(res.msg)
-                                }
-                            }
-                        })
-                    });
-                }
-                break;
         }
     });
 
diff --git a/src/main/webapp/views/locMast/locMast.html b/src/main/webapp/views/locMast/locMast.html
index ee84d92..ee397dd 100644
--- a/src/main/webapp/views/locMast/locMast.html
+++ b/src/main/webapp/views/locMast/locMast.html
@@ -45,8 +45,8 @@
             <select name="loc_type1" id="loc_type1" class="layui-input" type="text" placeholder="搴撲綅绫诲瀷" autocomplete="off">
                 <!--                    <option style="display: none"></option>-->
                 <option value=""></option>
-                <option value="1">灏忓簱浣�</option>
-                <option value="2">澶у簱浣�</option>
+                <option value="1">浣庡簱浣�</option>
+                <option value="2">楂樺簱浣�</option>
             </select>
         </div>
     </div>
@@ -158,8 +158,8 @@
                 <select name="locType1">
                     <option style="display: none"></option>
                     <option value="0">鏈煡</option>
-                    <option value="1">灏忓簱浣�</option>
-                    <option value="2">澶у簱浣�</option>
+                    <option value="1">浣庡簱浣�</option>
+                    <option value="2">楂樺簱浣�</option>
                 </select>
             </div>
         </div>

--
Gitblit v1.9.1