From cd280ead41b98ee60154038e36d9b83cc25e7d16 Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期三, 20 十二月 2023 12:55:25 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/MoveLocHandler.java |  107 +++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 78 insertions(+), 29 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/MoveLocHandler.java b/src/main/java/com/zy/asrs/task/handler/MoveLocHandler.java
index 7ba0c1e..894a7c1 100644
--- a/src/main/java/com/zy/asrs/task/handler/MoveLocHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/MoveLocHandler.java
@@ -43,6 +43,8 @@
     private CommonService commonService;
     @Autowired
     private WrkDetlService wrkDetlService;
+    @Autowired
+    private BasCrnpService basCrnpService;
 
     @Value("${channel.equipmentRow}")
     private Integer equipmentRow;  //娴嬭瘯搴撲綅鎵�鍦ㄦ帓鍙�
@@ -61,17 +63,22 @@
         try {
             List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
                     .eq("loc_sts", "F")
-                    .eq("pack_status", 4)
+                    .eq("pack_status", 4)//娴嬭瘯澶辫触
                     .eq("row1", equipmentRow)
                     .eq("loc_type1", (short) 1)
                     .eq("fire_status",0)
             );
             if (!Cools.isEmpty(locMasts)){
                 for (LocMast locMast:locMasts){
+                    LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
+                    if (Cools.isEmpty(locDetl)){
+                        log.error("娴嬭瘯澶辫触锛圢G锛夌Щ搴�==>搴撳瓨鏄庣粏鏌ヨ澶辫触锛佸簱浣嶅彿锛�"+locMast.getLocNo());
+                        continue;
+                    }
                     TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>()
                             .eq("loc_no",locMast.getLocNo())
-                            .eq("barcode",locMast.getBarcode())
-                            .eq("status",4)
+                            .eq("barcode",locDetl.getMatnr())
+                            .eq("status",4)//瀹屾垚娴嬭瘯
                     );
                     if (!Cools.isEmpty(testMast)){
                         if (testMast.getStatus()==4){
@@ -81,7 +88,15 @@
                                 targetLocNo=locMastService.queryFreeLocMast(1,(short)4);
                             }
                             if (targetLocNo != null){
-                                workService.locMove(locMast.getLocNo(),targetLocNo.getLocNo(),(long)Integer.parseInt(testMast.getUserId()));
+                                workService.locMove(locMast.getLocNo(),targetLocNo.getLocNo(),(long)Integer.parseInt("9935"));
+                                //4.娴嬭瘯瀹屾垚涓婃姤
+                                CombParam combParam = new CombParam();
+                                combParam.setPackNo(locDetl.getMatnr());
+                                combParam.setLocNo(locMast.getLocNo());
+                                combParam.setPackSts(2);
+                                combParam.setStepSts(4);
+                                combParam.setRequestTime(DateUtils.convert(new Date()));
+                                new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam);
                                 return SUCCESS;
                             }else {
                                 log.error("娴嬭瘯瀹屾垚鑷姩绉诲簱--->娌℃湁绌哄簱浣�!");
@@ -95,48 +110,70 @@
                 }
             }
         } catch (Exception e) {
-            e.printStackTrace();
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return FAIL.setMsg(e.getMessage());
+            log.error(""+e);
+//            e.printStackTrace();
+//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//            return FAIL.setMsg(e.getMessage());
         }
 
         //娴嬭瘯鎴愬姛 鍑哄簱銆佺Щ搴�
         try {
             List<LocMast> locMasts2 = locMastService.selectList(new EntityWrapper<LocMast>()
                     .eq("loc_sts", "F")
-                    .eq("pack_status", 4)
+                    .eq("pack_status", 3)//娴嬭瘯瀹屾垚
                     .eq("row1", equipmentRow)
                     .eq("loc_type1", (short) 1)
                     .eq("fire_status",0)
             );
             if (!Cools.isEmpty(locMasts2)){
                 for (LocMast locMast:locMasts2){
+                    LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
+                    if (Cools.isEmpty(locDetl)){
+                        log.error("娴嬭瘯鎴愬姛 鍑哄簱銆佺Щ搴�==>搴撳瓨鏄庣粏鏌ヨ澶辫触锛佸簱浣嶅彿锛�"+locMast.getLocNo());
+                        continue;
+                    }
                     TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>()
                             .eq("loc_no",locMast.getLocNo())
-                            .eq("barcode",locMast.getBarcode())
+                            .eq("barcode",locDetl.getMatnr())
                             .eq("status",4)
                     );
+                    boolean sign=false;
                     if (!Cools.isEmpty(testMast)){
                         if (testMast.getStatus()==4){
+                            boolean signCrn1 = basCrnpService.checkSiteError(1, false);
+                            if (!signCrn1){
+                                log.error("娴嬭瘯瀹屾垚鑷姩绉诲簱--->1鍙峰爢鍨涙満涓嶅彲鍑哄簱!");
+                                break;
+                            }
                             //绉诲簱寮�濮嬶紝鏌ヨ鐩爣搴撲綅
                             LocMast targetLocNo = locMastService.queryFreeLocMast(4,(short)2);
                             if (Cools.isEmpty(targetLocNo)){
                                 targetLocNo=locMastService.queryFreeLocMast(3,(short)2);
                             }
+                            boolean signCrn2 = basCrnpService.checkSiteError(2, true);
+                            if (!signCrn2){
+                                targetLocNo = null;
+                                log.error("娴嬭瘯瀹屾垚鑷姩绉诲簱--->2鍙峰爢鍨涙満涓嶅彲鍏ュ簱! 寮�濮嬫煡鎵�1鍙峰爢鍨涙満");
+                            }
                             if (targetLocNo != null){
                                 //鐢熸垚鍑哄簱浠诲姟
                                 if (outLoc(locMast)){
-                                    return SUCCESS;
+                                    sign=true;
                                 }
                             }else {
+                                signCrn1 = basCrnpService.checkSiteError(1, true);
+                                if (!signCrn1){
+                                    log.error("娴嬭瘯瀹屾垚鑷姩绉诲簱--->1鍙峰爢鍨涙満涓嶅彲鍏ュ簱!");
+                                    break;
+                                }
                                 //3\4鎺掓弧  鍚�2鎺掔Щ搴擄紝鏌ヨ鐩爣搴撲綅
                                 targetLocNo = locMastService.queryFreeLocMast(2,(short)2);
                                 if (Cools.isEmpty(targetLocNo)){
                                     targetLocNo=locMastService.queryFreeLocMast(1,(short)2);
                                 }
                                 if (targetLocNo != null){
-                                    workService.locMove(locMast.getLocNo(),targetLocNo.getLocNo(),(long)Integer.parseInt(testMast.getUserId()));
-                                    return SUCCESS;
+                                    workService.locMove(locMast.getLocNo(),targetLocNo.getLocNo(),(long)9935);
+                                    sign=true;
                                 }else {
                                     log.error("娴嬭瘯瀹屾垚鑷姩绉诲簱--->娌℃湁绌哄簱浣�!");
                                 }
@@ -144,15 +181,28 @@
                         }else if (testMast.getStatus()!=4) {
                             log.error("娴嬭瘯鐘舵�佸紓甯�,搴撲綅鍙蜂负锛�" + testMast.getLocNo());
                         }
+
                     }else {
                         log.error("娴嬭瘯搴撲綅锛�"+locMast.getLocNo()+"鎵�灞炴祴璇曟。涓虹┖鎴栬�呬笉鐘舵�佷负4");
+                    }
+                    if (sign){
+                        //4.娴嬭瘯瀹屾垚涓婃姤
+                        CombParam combParam = new CombParam();
+                        combParam.setPackNo(locDetl.getMatnr());
+                        combParam.setLocNo(locMast.getLocNo());
+                        combParam.setPackSts(1);
+                        combParam.setStepSts(4);
+                        combParam.setRequestTime(DateUtils.convert(new Date()));
+                        new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam);
+                        return SUCCESS;
                     }
                 }
             }
         } catch (Exception e) {
-            e.printStackTrace();
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return FAIL.setMsg(e.getMessage());
+            log.error(""+e);
+//            e.printStackTrace();
+//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//            return FAIL.setMsg(e.getMessage());
         }
 
         //娴嬭瘯鏈夌┖搴撲綅 绉诲簱
@@ -162,9 +212,15 @@
                     .eq("pack_status", 0)
                     .eq("loc_type1", (short) 3)
                     .eq("fire_status",0)
+                    .orderBy("io_time",true)
             );
             if (!Cools.isEmpty(locMasts3)){
                 for (LocMast locMast:locMasts3){
+                    boolean signCrn1 = basCrnpService.checkSiteError(1, true);
+                    if (!signCrn1){
+                        log.error("鍚戞祴璇曞簱浣嶇Щ搴撳け璐�---->1鍙峰爢鍨涙満涓嶅彲鐢�!");
+                        break;
+                    }
                     //绉诲簱寮�濮嬶紝鏌ヨ鐩爣搴撲綅
                     LocMast targetLocNo = locMastService.queryFreeLocMast(equipmentRow,(short)1);
                     if (targetLocNo != null){
@@ -175,9 +231,10 @@
                 }
             }
         } catch (Exception e) {
-            e.printStackTrace();
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return FAIL.setMsg(e.getMessage());
+            log.error(""+e);
+//            e.printStackTrace();
+//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//            return FAIL.setMsg(e.getMessage());
         }
         return SUCCESS;
     }
@@ -194,7 +251,7 @@
             } else if (Cools.isEmpty(locMast.getModiTime())){
                 log.error("搴撲綅:"+locMast.getLocNo()+"modiTime涓虹┖");
             } else if (Cools.isEmpty(locMast.getBarcode())){
-                log.error("搴撲綅:"+locMast.getLocNo()+"Pack鐮佷负绌�");
+                log.error("搴撲綅:"+locMast.getLocNo()+"鎵樼洏鐮佷负绌�");
             } else {
                 // 鐢熸垚宸ヤ綔鍙�
                 int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
@@ -207,7 +264,7 @@
                 wrkMast.setIoPri(13D); // 浼樺厛绾э細13
                 wrkMast.setCrnNo(1);
                 wrkMast.setSourceStaNo(203); // 婧愮珯
-                wrkMast.setStaNo(205); // 鐩爣绔�  2鍙峰爢鍨涙満鍏ュ簱绔�
+                wrkMast.setStaNo(206); // 鐩爣绔�  2鍙峰爢鍨涙満鍏ュ簱绔�
                 wrkMast.setSourceLocNo(locMast.getLocNo()); // 婧愬簱浣�
                 wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
                 wrkMast.setPicking("N"); // 鎷f枡
@@ -237,15 +294,7 @@
                 if (locMast.getLocSts().equals("F")) {
                     locMast.setLocSts("R");
                     locMast.setModiTime(now);
-                    locMast.setPackStatus(6); //6:闈欑疆瀹屾垚
-
-                    CombParam combParam = new CombParam();
-                    combParam.setPackNo(locMast.getBarcode());
-                    combParam.setLocNo(locMast.getLocNo());
-                    combParam.setPackSts(6);
-                    combParam.setRequestTime(DateUtils.convert(new Date()));
-                    new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam);
-
+//                    locMast.setPackStatus(5); //5:寮�濮嬮潤缃�
                     if (!locMastService.updateById(locMast)) {
                         log.error("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細"+locMast.getLocNo());
                         return false;

--
Gitblit v1.9.1