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 |  341 +++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 258 insertions(+), 83 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 a2849a6..0723b34 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -12,11 +12,14 @@
 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;
@@ -24,6 +27,7 @@
 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;
@@ -33,6 +37,7 @@
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -83,14 +88,30 @@
     private TestMastService testMastService;
     @Autowired
     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("${mes.startUpTestPACK}")
+    @Value("${ren.startUpTestPACK}")
     private String startUpTestPACK;
 
-    @Value("${mes.startUpTestPACK}")
+    @Value("${ren.suspendTestPACK}")
     private String suspendTestPACK;
 
     @Value("${mes.inPath}")
@@ -620,56 +641,88 @@
     @Override
     @Transactional
     public void startUpTestPACK(TestMast 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);
+        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())
+                .eq("loc_sts","F")
+        );
+        if (Cools.isEmpty(locMast)) {
+            log.error("鏈煡璇㈠埌搴撲綅鍙凤細"+testMast.getLocNo()+" 璇锋鏌ュ簱浣嶅彿鎴栬�呮鏌ュ簱浣嶇姸鎬佹槸鍚︽湭鍦ㄥ簱");
+            return;
+        }
         Date now = new Date();
-        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;
         }
-        locMast.setPackStatus(1);
+        testMast.setStatus(3);
+
+        if (!testMastService.update(testMast,new EntityWrapper<TestMast>().eq("barcode", testMast.getBarcode()))){
+            log.error("鏇存柊testMast澶辫触");
+            return;
+        }
+
+        locMast.setPackStatus(2);
         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(inpath,combParam);
-
         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=suspendTestPACK1();
+    public boolean suspendTestPACK(String channel) {
+        ReturnT<String> result=suspendTestPACK1(channel);
         if (!result.isSuccess()) {
             log.error("鏆傚仠娴嬭瘯澶辫触");
         }
+        return result.isSuccess();
     }
     @Transactional
     public ReturnT<String> startUpTestPACK1(TestMast testMast){
+        String renUrl="";
         try {
-            CombParam combParam = new CombParam();
-            combParam.setPackNo(testMast.getLocNo());
-            combParam.setPackName(testMast.getUserId());
-            combParam.setLocNo(testMast.getBarcode());
-            combParam.setRequestTime(DateUtils.convert(new Date()));
-            return postMesData(startUpTestPACK,combParam);
+            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();
@@ -678,12 +731,78 @@
         }
     }
     @Transactional
-    public ReturnT<String> suspendTestPACK1(){
+    public ReturnT<String> suspendTestPACK1(String channel){
+        String renUrl="";
         try {
             Review review=new Review();
-            review.setPause(true);
+            review.setPause("true");
+            review.setChannel(channel);
             review.setRequestTime(DateUtils.convert(new Date()));
-            return postMesData(suspendTestPACK,review);
+            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();
@@ -692,54 +811,110 @@
         }
     }
 
-    private ReturnT<String> postMesData(String mesPath,Object combParam){
-        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(mesUrl)
-                        .setPath(mesPath)
-                        .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锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(combParam), response);
-                        throw new CoolException("杩斿洖鍊煎嚭閿�");
-                    }
-                } else {
-                    log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, 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(
-                            "鎴愬搧搴撳叆搴撲笂鎶�",
-                            MesConstant.URL + MesConstant.PAKIN_URL,
-                            null,
-                            "127.0.0.1",
-                            JSON.toJSONString(combParam),
-                            response,
-                            success
-                    );
-                } catch (Exception e) { log.error("", e); }
+    /*
+    * 娴嬭瘯搴撲俊鎭�
+    * */
+    @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 SUCCESS;
+        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