From 6f97f82cfd59eec345d44bfa3d9c3cd3574a9cb6 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期五, 10 二月 2023 09:50:20 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |  302 ++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 269 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 5085744..2fdcb6d 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -11,7 +11,9 @@
 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;
@@ -24,15 +26,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 +41,7 @@
  */
 @Slf4j
 @Service
-public class MobileServiceImpl implements MobileService {
+public class MobileServiceImpl extends AbstractHandler<String> implements MobileService{
 
     @Autowired
     private MatService matService;
@@ -81,7 +82,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 +225,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 +244,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,43 +632,253 @@
     @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());
-        }
-        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", testMast.getLocNo()));
-        if (Cools.isEmpty(locMast)) {
-            throw new CoolException(BaseRes.PARAM);
+            throw new CoolException("娴嬭瘯鐢宠澶辫触");
         }
 
-        Date date1;
-        try {
-            date1 = new Date();
-        }catch (Exception e){
-            throw new CoolException("鑾峰彇鏃堕棿澶辫触");
+        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())
+                    .lt("status",4))){
+                throw new CoolException("鏇存柊testMast澶辫触");
+            }
         }
-        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()));
+        postMesData(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()<=8){
+                renUrl=renUrl1;
+            }else if (testMast.getChannel()>=9 && testMast.getChannel()<=16){
+                renUrl=renUrl2;
+            }else if (testMast.getChannel()>=17 && testMast.getChannel()<=24){
+                renUrl=renUrl3;
+            }else if (testMast.getChannel()>=25 && testMast.getChannel()<=32){
+                renUrl=renUrl4;
+            }else if (testMast.getChannel()>=33 && testMast.getChannel()<=40){
+                renUrl=renUrl5;
+            }else if (testMast.getChannel()>=41 && testMast.getChannel()<=48){
+                renUrl=renUrl6;
+            }
+            return 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;
+            }
+            return postMesData(renUrl,suspendTestPACK,review);
+        }catch (Exception e) {
+            log.error("fail", e);
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return FAIL.setMsg(e.getMessage());
+        }
+    }
+
+    private ReturnT<String> postMesData(String URL,String Path,Object combParam){
+        String name="";
+        if (URL.equals(mesUrl)){
+            name="mes绯荤粺";
+        }else if (URL.equals(renUrl1)){
+            name="娴嬭瘯绯荤粺";
+        }else if (URL.equals(renUrl2)){
+            name="娴嬭瘯绯荤粺";
+        }else if (URL.equals(renUrl3)){
+            name="娴嬭瘯绯荤粺";
+        }else if (URL.equals(renUrl4)){
+            name="娴嬭瘯绯荤粺";
+        }else if (URL.equals(renUrl5)){
+            name="娴嬭瘯绯荤粺";
+        }else if (URL.equals(renUrl6)){
+            name="娴嬭瘯绯荤粺";
+        }
+        if(combParam != null){
+            String response = "";
+            boolean success = false;
+            try {
+//                Map<String, Object> map = new HashMap<>();
+//                map.put("appkey","ea1f0459efc02a79f046f982767939ae");
+                response = new HttpHandler.Builder()
+//                        .setHeaders(map)
+                        .setUri(URL)
+                        .setPath(Path)
+                        .setJson(JSON.toJSONString(combParam))
+                        .build()
+                        .doPost();
+                JSONObject jsonObject = JSON.parseObject(response);
+                if (jsonObject.getInteger("code").equals(200)) {
+//                    if (jsonObject.getDate("isComplete").equals(true)){
+                        success = true;
+//                    }else if (jsonObject.getDate("isComplete").equals(false)){
+//                        success = false;
+//                    }else {
+//                        log.error("杩斿洖鍊煎嚭閿�!!!url锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+Path, JSON.toJSONString(combParam), response);
+//                        throw new CoolException("杩斿洖鍊煎嚭閿�");
+//                    }
+                } else {
+                    log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+"/"+Path, JSON.toJSONString(combParam), response);
+                    throw new CoolException("涓婃姤mes绯荤粺澶辫触");
+                }
+            } catch (Exception e) {
+                log.error("fail", e);
+//                      TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return FAIL.setMsg(e.getMessage());
+            } finally {
+                try {
+                    // 淇濆瓨鎺ュ彛鏃ュ織
+                    apiLogService.save(
+                            "涓婃姤"+name,
+                            URL +"/"+ Path,
+                            null,
+                            "127.0.0.1",
+                            JSON.toJSONString(combParam),
+                            response,
+                            success
+                    );
+                } catch (Exception e) { log.error("", e); }
+            }
+        }
+        return SUCCESS;
+    }
     /*...........................璧e窞鏂板..............浠ヤ笂.............璧e窞鏂板...........................*/
 }

--
Gitblit v1.9.1