From 288e45a990a5abf4ab50f820ed4e870e8314468e Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期六, 21 六月 2025 15:14:10 +0800
Subject: [PATCH] 完善

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |  206 ++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 147 insertions(+), 59 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 41d12c2..314f1f1 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -12,12 +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;
@@ -25,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;
@@ -34,6 +37,7 @@
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -84,6 +88,10 @@
     private TestMastService testMastService;
     @Autowired
     private WorkService workService;
+    @Autowired
+    private PackQualifiedService packQualifiedService;
+    @Autowired
+    private ReportQueryMapper reportQueryMapper;
 
     @Value("${mes.url}")
     private String mesUrl;
@@ -117,17 +125,6 @@
         if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
             throw new CoolException(BaseRes.PARAM);
         }
-        // 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁
-        if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
-                eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
-            throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱");
-        }
-
-        int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
-        int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
-        if (countLoc > 0 || countWrk > 0) {
-            throw new CoolException("宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + param.getBarcode());
-        }
 
         Date now = new Date();
 
@@ -156,7 +153,7 @@
                 WaitPakin waitPakin = new WaitPakin();
                 waitPakin.sync(mat);
                 waitPakin.setBatch(detlDto.getBatch());
-                waitPakin.setZpallet(param.getBarcode());   // 鎵樼洏鐮�
+                waitPakin.setZpallet("");   // 鎵樼洏鐮�
                 waitPakin.setIoStatus("N");     // 鍏ュ嚭鐘舵��
                 waitPakin.setAnfme(detlDto.getAnfme());  // 鏁伴噺
                 waitPakin.setStatus("Y");    // 鐘舵��
@@ -164,6 +161,9 @@
                 waitPakin.setAppeTime(now);
                 waitPakin.setModiUser(userId);
                 waitPakin.setModiTime(now);
+                waitPakin.setMemo(param.getBarcode());//AGV婧愮珯
+                waitPakin.setBeBatch(0);//AGV 浠诲姟绛夊緟涓嬪彂
+                waitPakin.setManu(now.getTime()+"");//鍞竴鐮�
                 if (!waitPakinService.insert(waitPakin)) {
                     throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
                 }
@@ -634,78 +634,60 @@
     @Transactional
     public void startUpTestPACK(TestMast testMast) {
         if(Cools.isEmpty(testMast.getLocNo())){
-            throw new CoolException("搴撲綅鍙蜂负绌�");
-        }else if(Cools.isEmpty(testMast.getUserId())){
-            throw new CoolException("鐢ㄦ埛缂栫爜涓虹┖");
+            log.error("搴撲綅鍙蜂负绌�");
+            return;
         }else if(Cools.isEmpty(testMast.getBarcode())){
-            throw new CoolException("PACK鐮佷负绌�");
+            log.error("PACK鐮佷负绌�");
+            return;
         }
         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()+" 璇锋鏌ュ簱浣嶅彿鎴栬�呮鏌ュ簱浣嶇姸鎬佹槸鍚︽湭鍦ㄥ簱");
+            log.error("鏈煡璇㈠埌搴撲綅鍙凤細"+testMast.getLocNo()+" 璇锋鏌ュ簱浣嶅彿鎴栬�呮鏌ュ簱浣嶇姸鎬佹槸鍚︽湭鍦ㄥ簱");
+            return;
         }
         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()) {
+        if (Cools.isEmpty(result) || !result.isSuccess()) {
             log.error("娴嬭瘯鐢宠澶辫触", testMast.getBarcode());
-            throw new CoolException("娴嬭瘯鐢宠澶辫触");
+            return;
+        }
+        testMast.setStatus(3);
+
+        if (!testMastService.update(testMast,new EntityWrapper<TestMast>().eq("barcode", testMast.getBarcode()))){
+            log.error("鏇存柊testMast澶辫触");
+            return;
         }
 
-        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澶辫触");
-            }
-        }
-
-        locMast.setPackStatus(1);
+        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()));
-        new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam);
-
         if (!locMastService.update(locMast,new EntityWrapper<LocMast>().eq("loc_no", testMast.getLocNo()))){
-            throw new CoolException("鐢宠娴嬭瘯澶辫触");
+            log.error("鐢宠娴嬭瘯澶辫触");
         }
-//            throw new CoolException("寮傚父锛侊紒锛佽瑙勮寖浣跨敤鎴栬仈绯荤鐞嗗憳");
+//        //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(String channel) {
+    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){
@@ -713,12 +695,12 @@
         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("閫氶亾鏈夎锛岃鏌ョ湅锛�");
+                return null;
             } else if (testMast.getChannel()<=8){
                 renUrl=renUrl1;
             }else if (testMast.getChannel()<=16){
@@ -732,7 +714,7 @@
             }else if (testMast.getChannel()<=48){
                 renUrl=renUrl6;
             }
-            return new PostMesDataUtils().postMesData("娴嬭瘯绯荤粺",renUrl,startUpTestPACK,review);
+            return null;
         }catch (Exception e) {
             log.error("fail", e);
             e.printStackTrace();
@@ -812,7 +794,7 @@
                 default:
                     log.error("閫氶亾鏈夎锛岃鏌ョ湅锛�");
             }
-            return new PostMesDataUtils().postMesData("娴嬭瘯绯荤粺",renUrl,suspendTestPACK,review);
+            return null;
         }catch (Exception e) {
             log.error("fail", e);
             e.printStackTrace();
@@ -820,5 +802,111 @@
             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