From 288e45a990a5abf4ab50f820ed4e870e8314468e Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期六, 21 六月 2025 15:14:10 +0800
Subject: [PATCH] 完善

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |  109 ++++++++++++++++++++----------------------------------
 1 files changed, 40 insertions(+), 69 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index e53dfcc..06f2801 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -14,6 +14,8 @@
 import com.zy.asrs.task.core.ReturnT;
 import com.zy.asrs.utils.PostMesDataUtils;
 import com.zy.common.utils.HttpHandler;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -58,6 +60,8 @@
     private PackQualifiedService packQualifiedService;
     @Autowired
     private ReportQueryMapper reportQueryMapper;
+    @Autowired
+    private ConfigService   configService;
 
     public ReturnT<String> start(WrkMast wrkMast) {
         // 4.鍏ュ簱瀹屾垚
@@ -160,6 +164,10 @@
                         locMast.setIoTime(now);
                         locMast.setModiTime(now);
                         locMast.setFireStatus(0);
+                        //鍏ユ祴璇曞簱浣嶆椂缁欏簱浣嶆祴璇曠姸鎬佷负1寰呮祴
+                        if(!Cools.isEmpty(locMast.getChannel())){
+                            locMast.setPackStatus(1);//寰呮祴
+                        }
                         if (locMast.getCrnNo()==1){
                             if (locMast.getLocType1()==1){
                                 locMast.setPackStatus(1);
@@ -173,6 +181,15 @@
                                     .eq("barcode",wrkDetl1.getMatnr())
                                     .eq("status",4)
                             );
+                            if (Cools.isEmpty(testMast)){
+                                testMast = testMastService.selectOne(new EntityWrapper<TestMast>()
+                                        .eq("barcode",wrkDetl1.getMatnr())
+                                        .eq("status",5)
+                                );
+                            }
+                            if (Cools.isEmpty(testMast)){
+                                throw new CoolException("鏇存敼娴嬭瘯鐘舵�佸け璐�,鏌ヨ娴嬭瘯妗f澶辫触");
+                            }
                             testMast.setStatus(5);
                             testMast.setModiTime(new Date());
                             if (!testMastService.update(testMast,new EntityWrapper<TestMast>().eq("barcode",wrkDetl1.getMatnr()).eq("status",4))){
@@ -180,7 +197,7 @@
                             }
                         }
                         //鍏ュ簱鏍囪
-                        packQualifiedService.insertPackQualified(true,new Date());
+                        packQualifiedService.insertPackQualified(true,new Date(),wrkDetls.get(0).getMatnr());
                         //2.鍏ュ簱瀹屾垚涓婃姤
                         CombParam combParam = new CombParam();
                         combParam.setPackNo(wrkDetls.get(0).getMatnr());
@@ -195,7 +212,7 @@
                         }
 
                         combParam.setRequestTime(DateUtils.convert(now));
-                        new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam);
+//                        new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam);
                         if (!locMastService.updateById(locMast)) {
 //                            exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -356,8 +373,6 @@
                     locMast.setModiTime(now);
                     LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
 
-
-                    boolean sign =false;
                     if (locMast.getLocType1().equals(sourceLoc.getLocType1())){
                         locMast.setPackStatus(packStatus);
 
@@ -383,60 +398,37 @@
                         }else {
                             throw new CoolException("寰呮祴搴撲綅鏃犵墿");
                         }
-
                     }else {
                         //娴嬭瘯搴撲綅杞潤缃簱浣嶅拰NG搴撲綅
                         if (locMast.getLocType1().equals((short)4)){
                             locMast.setPackStatus(4); //4:NG
-                            //鍏ュ簱鏍囪
-                            packQualifiedService.insertPackQualified(true,new Date());
-                            //鍑哄簱鏍囪
-                            packQualifiedService.insertPackQualified(false,new Date());
+//                            //鍏ュ簱鏍囪
+//                            packQualifiedService.insertPackQualified(true,new Date(),locDetl.getMatnr());
+//                            //鍑哄簱鏍囪
+//                            packQualifiedService.insertPackQualified(false,new Date(),locDetl.getMatnr());
                         }else {
                             locMast.setPackStatus(5); //5:闈欑疆涓�
-                            //鍏ュ簱鏍囪
-                            packQualifiedService.insertPackQualified(true,new Date());
-                            //鍑哄簱鏍囪
-                            packQualifiedService.insertPackQualified(false,new Date());
+//                            //鍏ュ簱鏍囪
+//                            packQualifiedService.insertPackQualified(true,new Date(),locDetl.getMatnr());
+//                            //鍑哄簱鏍囪
+//                            packQualifiedService.insertPackQualified(false,new Date(),locDetl.getMatnr());
                         }
-                        sign=true;
                             TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>()
                                     .eq("loc_no",sourceLoc.getLocNo())
                                     .eq("barcode",locDetl.getMatnr())
-                                    .eq("status",4)
+                                    .in("status",3,4)
                             );
                             testMast.setStatus(5);
                             testMast.setLocNo(locMast.getLocNo());
                             testMast.setModiTime(new Date());
-                            if (!testMastService.update(testMast,new EntityWrapper<TestMast>()
-                                    .eq("loc_no",sourceLoc.getLocNo())
-                                    .eq("barcode",locDetl.getMatnr())
-                                    .eq("status",4))){
+                            if (!testMastService.updateById(testMast)){
                                 throw new CoolException("鏇存敼娴嬭瘯鐘舵�佸け璐�");
                             }
-
                     }
                     if (!locMastService.updateById(locMast)) {
 //                        exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                         return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
-                    }
-
-                    if (locMast.getCrnNo()==1 && sign){
-                        //5.闈欑疆搴撲綅鍏ュ簱瀹屾垚涓婃姤
-                        CombParam combParam = new CombParam();
-                        combParam.setPackNo(locDetl.getMatnr());
-                        combParam.setLocNo(wrkMast.getLocNo());
-                        if (locMast.getPackStatus()==4){
-                            combParam.setPackSts(2);
-                        }else if (locMast.getPackStatus()==5){
-                            combParam.setPackSts(1);
-                        }else {
-                            combParam.setPackSts(0);
-                        }
-                        combParam.setStepSts(5);
-                        combParam.setRequestTime(DateUtils.convert(now));
-                        new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam);
                     }
                     break;
                 default:
@@ -516,37 +508,14 @@
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                             return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                         }else{
-                            //鍑哄簱鏍囪
-                            packQualifiedService.insertPackQualified(false,new Date());
-                            //2.鍑哄簱瀹屾垚涓婃姤
-                           CombParam combParam = new CombParam();
-                            combParam.setPackNo(wrkDetls101.get(0).getMatnr());
-                            combParam.setLocNo(wrkMast.getLocNo());
-                            combParam.setBarcode(wrkMast.getBarcode());
-                            //鐩爣绔�206鍑哄簱
-                            if(wrkMast.getStaNo()==206){
-                                combParam.setPackSts(1);//OK
-                                combParam.setStepSts(7);//娴嬭瘯搴撳嚭搴撳畬鎴�
-                            }else if(wrkMast.getStaNo()==204){//NG 鍑哄簱
-                                //NG鍑哄簱淇敼娴嬭瘯妗g殑鐘舵�佷负5.宸茬Щ搴�
-                                TestMast testMast=testMastService.selectOne(new EntityWrapper<TestMast>()
-                                        .eq("user_id",wrkMast.getBarcode())
-                                        .eq("barcode",wrkDetls101.get(0).getMatnr()));
-                                combParam.setPackSts(2);//NG
-                                combParam.setStepSts(8);//NG鍑哄簱瀹屾垚
-                                testMast.setStatus(5);
-                                if(!testMastService.update(testMast,new EntityWrapper<TestMast>()
-                                        .eq("user_id",wrkMast.getBarcode())
-                                        .eq("barcode",wrkDetls101.get(0).getMatnr()))){
-                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                    return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼娴嬭瘯琛ㄧ姸鎬佷负5澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
-                                }
-                            }else if(wrkMast.getStaNo()==103){//鐩爣绔�103鍑哄簱
-                                combParam.setPackSts(1);//OK
-                                combParam.setStepSts(6);//闈欑疆搴撳嚭搴撳畬鎴�
+                            Config config=configService.selectOne(new EntityWrapper<Config>().eq("code","OutTask"));
+                            if(config.getValue().equals("Y")){
+                                // 淇敼宸ヤ綔涓绘。鐘舵��
+                                wrkMast.setWrkSts(30L);//绛夊緟涓婃姤
+                            }else{
+                                wrkMast.setWrkSts(15L);
                             }
-                            combParam.setRequestTime(DateUtils.convert(now));
-                            new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam);
+
                         }
                     }
                     break;
@@ -563,14 +532,16 @@
 //                            exceptionHandle("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                             return FAIL.setMsg("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+                        }else{
+                            // 淇敼宸ヤ綔涓绘。鐘舵��
+                            wrkMast.setWrkSts(15L);
                         }
                     }
                     break;
                 default:
                     break;
             }
-            // 淇敼宸ヤ綔涓绘。鐘舵��
-            wrkMast.setWrkSts(15L);
+
             wrkMast.setModiTime(now);
             if (!wrkMastService.updateById(wrkMast)) {
 //                exceptionHandle("鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�;[workNo={0}]", wrkMast.getWrkNo());

--
Gitblit v1.9.1