From 30155d34eade43e1713ee1022a9af4d4744acda1 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期一, 13 二月 2023 17:27:27 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |  241 +++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 208 insertions(+), 33 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 3595f89..4c4ff23 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -11,10 +11,13 @@
 import com.zy.asrs.entity.param.CombParam;
 import com.zy.asrs.entity.param.MobileAdjustParam;
 import com.zy.asrs.entity.param.OpenOrderPakinParam;
+import com.zy.asrs.entity.param.Review;
 import com.zy.asrs.service.*;
+import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
 import com.zy.asrs.task.handler.WorkLogHandler;
 import com.zy.asrs.utils.MatUtils;
+import com.zy.asrs.utils.PostMesDataUtils;
 import com.zy.common.CodeRes;
 import com.zy.common.constant.MesConstant;
 import com.zy.common.entity.Parameter;
@@ -24,15 +27,14 @@
 import com.zy.common.utils.HttpHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
+import java.util.*;
 
 /**
  * 绉诲姩绔湇鍔℃牳蹇冪被
@@ -40,7 +42,7 @@
  */
 @Slf4j
 @Service
-public class MobileServiceImpl implements MobileService {
+public class MobileServiceImpl extends AbstractHandler<String> implements MobileService{
 
     @Autowired
     private MatService matService;
@@ -81,7 +83,32 @@
     @Autowired
     private TestMastService testMastService;
     @Autowired
-    private WorkLogHandler workLogHandler;
+    private WorkService workService;
+
+    @Value("${mes.url}")
+    private String mesUrl;
+    @Value("${ren.url1}")
+    private String renUrl1;
+    @Value("${ren.url2}")
+    private String renUrl2;
+    @Value("${ren.url3}")
+    private String renUrl3;
+    @Value("${ren.url4}")
+    private String renUrl4;
+    @Value("${ren.url5}")
+    private String renUrl5;
+    @Value("${ren.url6}")
+    private String renUrl6;
+
+    @Value("${ren.startUpTestPACK}")
+    private String startUpTestPACK;
+
+    @Value("${ren.suspendTestPACK}")
+    private String suspendTestPACK;
+
+    @Value("${mes.inPath}")
+    private String inpath;
+
 
 
     @Override
@@ -199,10 +226,10 @@
     @Override
     public void onSale(CombParam param) {
         // 鑾峰彇搴撲綅鍙�
-        String locno = param.getLocno();
-        Node node = nodeService.selectByUuid(locno);
+        String locNo = param.getLocNo();
+        Node node = nodeService.selectByUuid(locNo);
         if (Cools.isEmpty(node)) {
-            throw new CoolException(param.getLocno() + ":搴撲綅涓嶅瓨鍦�");
+            throw new CoolException(param.getLocNo() + ":搴撲綅涓嶅瓨鍦�");
         }
 
         // 鑾峰彇鍟嗗搧鍒楄〃
@@ -218,7 +245,7 @@
                 throw new CoolException(combMat.getMatnr() + ":鍟嗗搧鎵瑰彿鏈夎锛�");
             }
             ManLocDetl manLocDetl = new ManLocDetl();
-            manLocDetl.setLocNo(locno);
+            manLocDetl.setLocNo(locNo);
             manLocDetl.setNodeId(node.getId());
             manLocDetl.setMatnr(combMat.getMatnr());
             manLocDetl.setBatch(combMat.getBatch());
@@ -606,41 +633,189 @@
     @Override
     @Transactional
     public void startUpTestPACK(TestMast testMast) {
+        if(Cools.isEmpty(testMast.getLocNo())){
+            throw new CoolException("搴撲綅鍙蜂负绌�");
+        }else if(Cools.isEmpty(testMast.getUserId())){
+            throw new CoolException("鐢ㄦ埛缂栫爜涓虹┖");
+        }else if(Cools.isEmpty(testMast.getBarcode())){
+            throw new CoolException("PACK鐮佷负绌�");
+        }
+        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+                .eq("loc_no", testMast.getLocNo())
+                .eq("loc_sts","F")
+        );
+        if (Cools.isEmpty(locMast)) {
+            throw new CoolException("鏈煡璇㈠埌搴撲綅鍙凤細"+testMast.getLocNo()+" 璇锋鏌ュ簱浣嶅彿鎴栬�呮鏌ュ簱浣嶇姸鎬佹槸鍚︽湭鍦ㄥ簱");
+        }
+        Date now = new Date();
+        testMast.setStatus(1);
+        testMast.setChannel(locMast.getChannel());
+        testMast.setModiTime(now);
+        testMast.setAppeTime(now);
 
-        //鍚姩娴嬭瘯璇锋眰
-        ReturnT<String> result=workLogHandler.startUpTestPACK(testMast);
+//        鍚姩娴嬭瘯璇锋眰
+        ReturnT<String> result=startUpTestPACK1(testMast);
         if (!result.isSuccess()) {
             log.error("娴嬭瘯鐢宠澶辫触", testMast.getBarcode());
+            throw new CoolException("娴嬭瘯鐢宠澶辫触");
         }
-        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", testMast.getLocNo()));
-        if (Cools.isEmpty(locMast)) {
-            throw new CoolException(BaseRes.PARAM);
+
+        TestMast testMast1 = testMastService.selectOne(new EntityWrapper<TestMast>()
+                .eq("loc_no", testMast.getLocNo())
+                .eq("barcode", testMast.getBarcode())
+                .eq("user_id",testMast.getUserId())
+                .eq("channel",locMast.getChannel().toString())
+                .lt("status",4)
+        );
+        if (Cools.isEmpty(testMast1)){
+            if (!testMastService.insert(testMast)){
+                throw new CoolException("娣诲姞testMast澶辫触");
+            }
+        }else {
+            if (!testMastService.update(testMast,new EntityWrapper<TestMast>()
+                    .eq("loc_no", testMast.getLocNo())
+                    .eq("barcode", testMast.getBarcode())
+                    .eq("user_id",testMast.getUserId())
+                    .eq("channel",locMast.getChannel().toString()))){
+                throw new CoolException("鏇存柊testMast澶辫触");
+            }
         }
-        Date date1;
-        try {
-            date1 = new Date();
-        }catch (Exception e){
-            throw new CoolException("鑾峰彇鏃堕棿澶辫触");
-        }
-        testMast.setChannel(1);
-        testMast.setStatus(1);
-        testMast.setModiTime(date1);
-        testMast.setAppeTime(date1);
-        if (!testMastService.insert(testMast)){
-            throw new CoolException("娣诲姞testMast澶辫触");
-        }
-        locMast.setPackStatus(2);
-        locMast.setModiTime(date1);
+
+        locMast.setPackStatus(1);
+        locMast.setModiTime(now);
+
+        CombParam combParam = new CombParam();
+        combParam.setPackNo(locMast.getBarcode());
+        combParam.setLocNo(locMast.getLocNo());
+        combParam.setPackSts(1);
+        combParam.setRequestTime(DateUtils.convert(new Date()));
+        new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam);
+
         if (!locMastService.update(locMast,new EntityWrapper<LocMast>().eq("loc_no", testMast.getLocNo()))){
             throw new CoolException("鐢宠娴嬭瘯澶辫触");
         }
+//            throw new CoolException("寮傚父锛侊紒锛佽瑙勮寖浣跨敤鎴栬仈绯荤鐞嗗憳");
+
     }
     @Override
     @Transactional
-    public void suspendTestPACK() {
-        ReturnT<String> result=workLogHandler.suspendTestPACK();
+    public void suspendTestPACK(String channel) {
+        ReturnT<String> result=suspendTestPACK1(channel);
         if (!result.isSuccess()) {
-            log.error("娴嬭瘯鐢宠澶辫触");
+            log.error("鏆傚仠娴嬭瘯澶辫触");
+        }
+    }
+    @Transactional
+    public ReturnT<String> startUpTestPACK1(TestMast testMast){
+        String renUrl="";
+        try {
+            Review review=new Review();
+            review.setLocNo(testMast.getLocNo());
+            review.setUserId(testMast.getUserId());
+            review.setBarcode(testMast.getBarcode());
+            review.setChannel(testMast.getChannel().toString());
+            review.setRequestTime(DateUtils.convert(new Date()));
+            if (testMast.getChannel()<1 || testMast.getChannel()>48){
+                log.error("閫氶亾鏈夎锛岃鏌ョ湅锛�");
+            } else if (testMast.getChannel()<=8){
+                renUrl=renUrl1;
+            }else if (testMast.getChannel()<=16){
+                renUrl=renUrl2;
+            }else if (testMast.getChannel()<=24){
+                renUrl=renUrl3;
+            }else if (testMast.getChannel()<=32){
+                renUrl=renUrl4;
+            }else if (testMast.getChannel()<=40){
+                renUrl=renUrl5;
+            }else if (testMast.getChannel()<=48){
+                renUrl=renUrl6;
+            }
+            return new PostMesDataUtils().postMesData("娴嬭瘯绯荤粺",renUrl,startUpTestPACK,review);
+        }catch (Exception e) {
+            log.error("fail", e);
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return FAIL.setMsg(e.getMessage());
+        }
+    }
+    @Transactional
+    public ReturnT<String> suspendTestPACK1(String channel){
+        String renUrl="";
+        try {
+            Review review=new Review();
+            review.setPause("true");
+            review.setChannel(channel);
+            review.setRequestTime(DateUtils.convert(new Date()));
+            switch (channel){
+                case "1":
+                case "2":
+                case "3":
+                case "4":
+                case "5":
+                case "6":
+                case "7":
+                case "8":
+                    renUrl=renUrl1;
+                    break;
+                case "9":
+                case "10":
+                case "11":
+                case "12":
+                case "13":
+                case "14":
+                case "15":
+                case "16":
+                    renUrl=renUrl2;
+                    break;
+                case "17":
+                case "18":
+                case "19":
+                case "20":
+                case "21":
+                case "22":
+                case "23":
+                case "24":
+                    renUrl=renUrl3;
+                    break;
+                case "25":
+                case "26":
+                case "27":
+                case "28":
+                case "29":
+                case "30":
+                case "31":
+                case "32":
+                    renUrl=renUrl4;
+                    break;
+                case "33":
+                case "34":
+                case "35":
+                case "36":
+                case "37":
+                case "38":
+                case "39":
+                case "40":
+                    renUrl=renUrl5;
+                    break;
+                case "41":
+                case "42":
+                case "43":
+                case "44":
+                case "45":
+                case "46":
+                case "47":
+                case "48":
+                    renUrl=renUrl6;
+                    break;
+                default:
+                    log.error("閫氶亾鏈夎锛岃鏌ョ湅锛�");
+            }
+            return new PostMesDataUtils().postMesData("娴嬭瘯绯荤粺",renUrl,suspendTestPACK,review);
+        }catch (Exception e) {
+            log.error("fail", e);
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return FAIL.setMsg(e.getMessage());
         }
     }
     /*...........................璧e窞鏂板..............浠ヤ笂.............璧e窞鏂板...........................*/

--
Gitblit v1.9.1