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 |  275 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 270 insertions(+), 5 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 4736f0e..4c4ff23 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -4,14 +4,20 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.core.annotations.ManagerAuth;
 import com.core.common.*;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
 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;
@@ -21,13 +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.*;
 
 /**
  * 绉诲姩绔湇鍔℃牳蹇冪被
@@ -35,7 +42,7 @@
  */
 @Slf4j
 @Service
-public class MobileServiceImpl implements MobileService {
+public class MobileServiceImpl extends AbstractHandler<String> implements MobileService{
 
     @Autowired
     private MatService matService;
@@ -69,6 +76,40 @@
     private StaDescService staDescService;
     @Autowired
     private CommonService commonService;
+    @Autowired
+    private NodeService nodeService;
+    @Autowired
+    private ManLocDetlService manLocDetlService;
+    @Autowired
+    private TestMastService testMastService;
+    @Autowired
+    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
     @Transactional
@@ -180,6 +221,39 @@
             orderService.updateSettle(order.getId(), 2L, userId);
         }
 
+    }
+
+    @Override
+    public void onSale(CombParam param) {
+        // 鑾峰彇搴撲綅鍙�
+        String locNo = param.getLocNo();
+        Node node = nodeService.selectByUuid(locNo);
+        if (Cools.isEmpty(node)) {
+            throw new CoolException(param.getLocNo() + ":搴撲綅涓嶅瓨鍦�");
+        }
+
+        // 鑾峰彇鍟嗗搧鍒楄〃
+        for(CombParam.CombMat combMat : param.getCombMats()){
+            Mat mat = matService.selectByMatnr(combMat.getMatnr());
+            if (Cools.isEmpty(mat)){
+                throw new CoolException(combMat.getMatnr() + ":鍟嗗搧妗f涓嶅瓨鍦紒");
+            }
+            if (Cools.isEmpty(combMat.getAnfme()) || combMat.getAnfme()==0){
+                throw new CoolException(combMat.getMatnr() + ":鍟嗗搧鏁伴噺鏈夎锛�");
+            }
+            if (Cools.isEmpty(combMat.getBatch())){
+                throw new CoolException(combMat.getMatnr() + ":鍟嗗搧鎵瑰彿鏈夎锛�");
+            }
+            ManLocDetl manLocDetl = new ManLocDetl();
+            manLocDetl.setLocNo(locNo);
+            manLocDetl.setNodeId(node.getId());
+            manLocDetl.setMatnr(combMat.getMatnr());
+            manLocDetl.setBatch(combMat.getBatch());
+            manLocDetl.setAnfme(combMat.getAnfme());
+            if (!manLocDetlService.insert(manLocDetl)) {
+                throw new CoolException("鍟嗗搧涓婃灦澶辫触锛�");
+            }
+        }
     }
 
     @Override
@@ -554,4 +628,195 @@
             throw new CoolException(locDetl.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
         }
     }
+
+    /*...........................璧e窞鏂板..............浠ヤ笅.............璧e窞鏂板...........................*/
+    @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=startUpTestPACK1(testMast);
+        if (!result.isSuccess()) {
+            log.error("娴嬭瘯鐢宠澶辫触", testMast.getBarcode());
+            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()))){
+                throw new CoolException("鏇存柊testMast澶辫触");
+            }
+        }
+
+        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(String channel) {
+        ReturnT<String> result=suspendTestPACK1(channel);
+        if (!result.isSuccess()) {
+            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