From 9ac70efe81c1909d63b89f9b18c4f367c0584ceb Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期一, 28 四月 2025 16:04:00 +0800
Subject: [PATCH] 初始化

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |  330 ++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 303 insertions(+), 27 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 1801b6f..0723b34 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,15 @@
 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.mapper.ReportQueryMapper;
 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.asrs.utils.Utils;
 import com.zy.common.CodeRes;
 import com.zy.common.constant.MesConstant;
 import com.zy.common.entity.Parameter;
@@ -22,17 +27,18 @@
 import com.zy.common.model.MesCombParam;
 import com.zy.common.service.CommonService;
 import com.zy.common.utils.HttpHandler;
+import lombok.Data;
 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.text.SimpleDateFormat;
+import java.util.*;
 
 /**
  * 绉诲姩绔湇鍔℃牳蹇冪被
@@ -40,7 +46,7 @@
  */
 @Slf4j
 @Service
-public class MobileServiceImpl implements MobileService {
+public class MobileServiceImpl extends AbstractHandler<String> implements MobileService{
 
     @Autowired
     private MatService matService;
@@ -81,7 +87,36 @@
     @Autowired
     private TestMastService testMastService;
     @Autowired
-    private WorkLogHandler workLogHandler;
+    private WorkService workService;
+    @Autowired
+    private PackQualifiedService packQualifiedService;
+    @Autowired
+    private ReportQueryMapper reportQueryMapper;
+
+    @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 +234,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 +253,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,39 +641,280 @@
     @Override
     @Transactional
     public void startUpTestPACK(TestMast testMast) {
-
-        //鍚姩娴嬭瘯璇锋眰
-        ReturnT<String> result=workLogHandler.startUpTestPACK(testMast);
-        if (!result.isSuccess()) {
-            log.error("娴嬭瘯鐢宠澶辫触", testMast.getBarcode());
-//            throw new CoolException("娴嬭瘯鐢宠澶辫触");
+        if(Cools.isEmpty(testMast.getLocNo())){
+            log.error("搴撲綅鍙蜂负绌�");
+            return;
+        }else if(Cools.isEmpty(testMast.getBarcode())){
+            log.error("PACK鐮佷负绌�");
+            return;
         }
-        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", testMast.getLocNo()));
+        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+                .eq("loc_no", testMast.getLocNo())
+                .eq("loc_sts","F")
+        );
         if (Cools.isEmpty(locMast)) {
-            throw new CoolException(BaseRes.PARAM);
+            log.error("鏈煡璇㈠埌搴撲綅鍙凤細"+testMast.getLocNo()+" 璇锋鏌ュ簱浣嶅彿鎴栬�呮鏌ュ簱浣嶇姸鎬佹槸鍚︽湭鍦ㄥ簱");
+            return;
         }
-
         Date now = new Date();
-        testMast.setChannel(1);
-        testMast.setStatus(1);
         testMast.setModiTime(now);
         testMast.setAppeTime(now);
-        if (!testMastService.insert(testMast)){
-            throw new CoolException("娣诲姞testMast澶辫触");
+
+//        鍚姩娴嬭瘯璇锋眰
+        ReturnT<String> result=startUpTestPACK1(testMast);
+        if (Cools.isEmpty(result) || !result.isSuccess()) {
+            log.error("娴嬭瘯鐢宠澶辫触", testMast.getBarcode());
+            return;
         }
+        testMast.setStatus(3);
+
+        if (!testMastService.update(testMast,new EntityWrapper<TestMast>().eq("barcode", testMast.getBarcode()))){
+            log.error("鏇存柊testMast澶辫触");
+            return;
+        }
+
         locMast.setPackStatus(2);
         locMast.setModiTime(now);
         if (!locMastService.update(locMast,new EntityWrapper<LocMast>().eq("loc_no", testMast.getLocNo()))){
-            throw new CoolException("鐢宠娴嬭瘯澶辫触");
+            log.error("鐢宠娴嬭瘯澶辫触");
         }
+//        //3.寮�濮嬫祴璇曚笂鎶�
+//        CombParam combParam = new CombParam();
+//        combParam.setPackNo(testMast.getBarcode());
+//        combParam.setLocNo(locMast.getLocNo());
+//        combParam.setPackSts(0);
+//        combParam.setStepSts(3);
+//        combParam.setRequestTime(DateUtils.convert(now));
+//        new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam);
+
     }
     @Override
     @Transactional
-    public void suspendTestPACK() {
-        ReturnT<String> result=workLogHandler.suspendTestPACK();
+    public boolean suspendTestPACK(String channel) {
+        ReturnT<String> result=suspendTestPACK1(channel);
         if (!result.isSuccess()) {
-            log.error("娴嬭瘯鐢宠澶辫触");
+            log.error("鏆傚仠娴嬭瘯澶辫触");
         }
+        return result.isSuccess();
+    }
+    @Transactional
+    public ReturnT<String> startUpTestPACK1(TestMast testMast){
+        String renUrl="";
+        try {
+            Review review=new Review();
+            review.setLocNo(testMast.getLocNo());
+            review.setBarcode(testMast.getBarcode());
+            review.setChannel(testMast.getChannel().toString());
+            review.setRequestTime(DateUtils.convert(new Date()));
+            if (testMast.getChannel()<1 || testMast.getChannel()>48){
+                log.error("閫氶亾鏈夎锛岃鏌ョ湅锛�");
+                return null;
+            } 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 null;
+        }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 null;
+        }catch (Exception e) {
+            log.error("fail", e);
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return FAIL.setMsg(e.getMessage());
+        }
+    }
+
+    /*
+    * 娴嬭瘯搴撲俊鎭�
+    * */
+    @Override
+    @Transactional
+    public List<LocMast> packTestBasicInformation() {
+        List<LocMast> locMasts=locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_type1", 1).and().ne("loc_sts","O")
+                .and().ne("loc_sts","X"));
+        for (LocMast locMast:locMasts) {
+            LocDetl locDetl=locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no",locMast.getLocNo()));
+            if(Cools.isEmpty(locDetl)){
+                locMast.setMk("鏃犱俊鎭�");
+            }else{
+                locMast.setMk(locDetl.getMatnr());
+            }
+        }
+        return locMasts;
+    }
+    /*
+     * 娴嬭瘯搴撲娇鐢ㄦ儏鍐�
+     * */
+    @Override
+    @Transactional
+    public List<PackUsageRate> packUsageRate() {
+        ArrayList<PackUsageRate> packUsageRates = new ArrayList<>();
+        for (int i = 1 ;i<5;i++){
+            PackUsageRate packUsageRate = new PackUsageRate();
+            packUsageRate.setTotal(locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_type1", i)));
+            packUsageRate.setCurrentQuantity(locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_type1", i).and().ne("loc_sts","O")));
+            packUsageRates.add(packUsageRate);
+        }
+        return packUsageRates;
+    }
+
+    @Data
+    public static class PackUsageRate{
+        private int total;
+        private int currentQuantity;
+    }
+
+    @Data
+    public static class PackUsageRate2{
+        private int total;
+        private int qualified;
+        private int unqualified;
+        private String week;
+    }
+    /*
+     * 娴嬭瘯搴撳悎鏍兼暟
+     * */
+    @Override
+    @Transactional
+    public List<PackUsageRate2> packQualified() {
+        Date now = new Date();
+        ArrayList<PackUsageRate2> packUsageRates = new ArrayList<>();
+        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
+        for(int i=1;i<8;i++){
+            Date date7 = Utils.timeYesterday(now,i);
+            PackUsageRate2 packUsageRate7 = new PackUsageRate2();
+            packUsageRate7.setTotal(packQualifiedService.selectTotal(date7,now));
+            packUsageRate7.setQualified(packQualifiedService.selectCurrentQuantity(true,date7,now));
+            packUsageRate7.setUnqualified(packQualifiedService.selectCurrentQuantity(false,date7,now));
+            String formattedDate = sdf.format(date7);
+            int month = Integer.parseInt(formattedDate.substring(5, 7));
+            int day = Integer.parseInt(formattedDate.substring(8, 10));
+            packUsageRate7.setWeek(month+"-"+day);
+            packUsageRates.add(packUsageRate7);
+            now=date7;
+        }
+
+        return packUsageRates;
+    }
+
+    /*
+     * 娴嬭瘯搴撳悎鏍兼暟
+     * */
+    @Override
+    @Transactional
+    public List<PackUsageRate2> chartAxisEvening() {
+        Date now = new Date();
+        ArrayList<PackUsageRate2> packUsageRates = new ArrayList<>();
+        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
+        for(int i=1;i<13;i++){
+            Date date7 = Utils.timeYesterday1(now,i);
+            PackUsageRate2 packUsageRate7 = new PackUsageRate2();
+            packUsageRate7.setTotal(packQualifiedService.selectTotal1(date7,now));
+            packUsageRate7.setQualified(packQualifiedService.selectCurrentQuantity1(true,date7,now));
+            packUsageRate7.setUnqualified(packQualifiedService.selectCurrentQuantity1(false,date7,now));
+            String formattedDate = sdf.format(date7);
+            int hour= date7.getHours();
+            packUsageRate7.setWeek(hour+"");
+            packUsageRates.add(packUsageRate7);
+            now=date7;
+        }
+        return packUsageRates;
+    }
+
+    /*
+     * 娴嬭瘯搴撳悎鏍兼暟
+     * */
+    @Override
+    @Transactional
+    public List<WorkChartAxis> chartAxisMorning() {
+        return reportQueryMapper.getChartAxisMorning();
     }
     /*...........................璧e窞鏂板..............浠ヤ笂.............璧e窞鏂板...........................*/
 }

--
Gitblit v1.9.1