From f6796dda5fb7e269482f0cc92a898fe7ffc203d4 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期一, 25 三月 2024 12:56:58 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |   67 ++++++++++++++++++++++++++++++---
 1 files changed, 60 insertions(+), 7 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 5177283..c941a80 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -8,6 +8,7 @@
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.CombParam;
+import com.zy.asrs.mapper.ReportQueryMapper;
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
@@ -52,6 +53,11 @@
 
     @Value("${mes.inPath}")
     private String inpath;
+
+    @Autowired
+    private PackQualifiedService packQualifiedService;
+    @Autowired
+    private ReportQueryMapper reportQueryMapper;
 
     public ReturnT<String> start(WrkMast wrkMast) {
         // 4.鍏ュ簱瀹屾垚
@@ -154,6 +160,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);
@@ -167,12 +177,23 @@
                                     .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))){
                                 throw new CoolException("鏇存敼娴嬭瘯鐘舵�佸け璐�");
                             }
                         }
+                        //鍏ュ簱鏍囪
+                        packQualifiedService.insertPackQualified(true,new Date(),wrkDetls.get(0).getMatnr());
                         //2.鍏ュ簱瀹屾垚涓婃姤
                         CombParam combParam = new CombParam();
                         combParam.setPackNo(wrkDetls.get(0).getMatnr());
@@ -375,22 +396,29 @@
                         }else {
                             throw new CoolException("寰呮祴搴撲綅鏃犵墿");
                         }
-
                     }else {
-                        //娴嬭瘯搴撲綅杞潤缃簱浣�
+                        //娴嬭瘯搴撲綅杞潤缃簱浣嶅拰NG搴撲綅
                         if (locMast.getLocType1().equals((short)4)){
                             locMast.setPackStatus(4); //4:NG
+                            //鍏ュ簱鏍囪
+                            packQualifiedService.insertPackQualified(true,new Date(),locDetl.getMatnr());
+                            //鍑哄簱鏍囪
+                            packQualifiedService.insertPackQualified(false,new Date(),locDetl.getMatnr());
                         }else {
                             locMast.setPackStatus(5); //5:闈欑疆涓�
+                            //鍏ュ簱鏍囪
+                            packQualifiedService.insertPackQualified(true,new Date(),locDetl.getMatnr());
+                            //鍑哄簱鏍囪
+                            packQualifiedService.insertPackQualified(false,new Date(),locDetl.getMatnr());
                         }
                         sign=true;
-                        if (locMast.getLocType1()==2 && sourceLoc.getLocType1()==1){
                             TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>()
                                     .eq("loc_no",sourceLoc.getLocNo())
                                     .eq("barcode",locDetl.getMatnr())
                                     .eq("status",4)
                             );
                             testMast.setStatus(5);
+                            testMast.setLocNo(locMast.getLocNo());
                             testMast.setModiTime(new Date());
                             if (!testMastService.update(testMast,new EntityWrapper<TestMast>()
                                     .eq("loc_no",sourceLoc.getLocNo())
@@ -398,7 +426,7 @@
                                     .eq("status",4))){
                                 throw new CoolException("鏇存敼娴嬭瘯鐘舵�佸け璐�");
                             }
-                        }
+
                     }
                     if (!locMastService.updateById(locMast)) {
 //                        exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
@@ -407,18 +435,30 @@
                     }
 
                     if (locMast.getCrnNo()==1 && sign){
-                        //5.闈欑疆搴撲綅鍏ュ簱瀹屾垚涓婃姤
+                        //7.娴嬭瘯搴撲綅杞潤缃簱浣嶅嚭搴撳畬鎴愪笂鎶�
                         CombParam combParam = new CombParam();
                         combParam.setPackNo(locDetl.getMatnr());
-                        combParam.setLocNo(wrkMast.getLocNo());
+                        combParam.setLocNo(wrkMast.getSourceLocNo());
+                        combParam.setStepSts(7);
                         if (locMast.getPackStatus()==4){
                             combParam.setPackSts(2);
                         }else if (locMast.getPackStatus()==5){
                             combParam.setPackSts(1);
+                        }
+                        combParam.setRequestTime(DateUtils.convert(now));
+                        new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam);
+                        //5.娴嬭瘯搴撲綅杞潤缃簱浣嶅叆搴撳畬鎴愪笂鎶�
+                        combParam.setPackNo(locDetl.getMatnr());
+                        combParam.setLocNo(wrkMast.getLocNo());
+                        if (locMast.getPackStatus()==4){
+                            combParam.setPackSts(2);
+                            combParam.setStepSts(5);
+                        }else if (locMast.getPackStatus()==5){
+                            combParam.setPackSts(1);
+                            combParam.setStepSts(8);
                         }else {
                             combParam.setPackSts(0);
                         }
-                        combParam.setStepSts(5);
                         combParam.setRequestTime(DateUtils.convert(now));
                         new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam);
                     }
@@ -500,6 +540,8 @@
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                             return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                         }else{
+                            //鍑哄簱鏍囪
+                            packQualifiedService.insertPackQualified(false,new Date(),wrkDetls101.get(0).getMatnr());
                             //2.鍑哄簱瀹屾垚涓婃姤
                            CombParam combParam = new CombParam();
                             combParam.setPackNo(wrkDetls101.get(0).getMatnr());
@@ -510,8 +552,19 @@
                                 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);//闈欑疆搴撳嚭搴撳畬鎴�

--
Gitblit v1.9.1