From dfc9552392f9f973ab52e55d58a7ae2acdaeb1f3 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期日, 09 三月 2025 14:19:43 +0800
Subject: [PATCH] 四期

---
 src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java |  101 ++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 88 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
index a9c2d01..57823ab 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
@@ -7,7 +7,11 @@
 import com.core.common.Cools;
 import com.core.common.SnowflakeIdWorker;
 import com.core.exception.CoolException;
-import com.zy.asrs.entity.*;
+import com.zy.asrs.constant.AsrsConstants;
+import com.zy.asrs.entity.AgvLocDetl;
+import com.zy.asrs.entity.AgvLocMast;
+import com.zy.asrs.entity.AgvWrkDetl;
+import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.mapper.AgvLocDetlMapper;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.Utils;
@@ -54,13 +58,18 @@
         List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", taskCode));
         long flowId = snowflakeIdWorker.nextId();
         agvWrkDetls.stream().map(agvWrkDetl -> {
-            AgvLocDetl agvLocDetl = new AgvLocDetl();
-            log.info("agvWrkDetl: " + agvLocDetl.getBarcode());
-            BeanUtils.copyProperties(agvWrkDetl, agvLocDetl);
-            agvLocDetl.setLocNo(locNo);
-            this.insert(agvLocDetl);
-            // 娴佹按 -- 鏂板璁㈠崟鏄庣粏
-            OrderDetl orderDetl = orderDetlService.selectItem(agvWrkDetl.getOrderNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode());
+            AgvLocDetl agvLocDetl = this.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo).eq("matnr", agvWrkDetl.getMatnr()).eq("three_code", agvWrkDetl.getThreeCode()));
+            if (agvLocDetl != null) {
+                this.updateAnfme(agvLocDetl.getAnfme() + agvWrkDetl.getAnfme(), agvLocDetl.getLocNo(), agvLocDetl.getMatnr(), agvLocDetl.getBatch(), agvLocDetl.getThreeCode(), agvLocDetl.getDeadTime());
+            } else {
+                agvLocDetl = new AgvLocDetl();
+                //log.info("agvWrkDetl: " + agvLocDetl.getBarcode());
+                BeanUtils.copyProperties(agvWrkDetl, agvLocDetl);
+                agvLocDetl.setLocNo(locNo);
+                //log.info("zc娣诲姞搴撳瓨鏃ュ織:{}", JSON.toJSON(agvLocDetl));
+                this.insert(agvLocDetl);
+                // 娴佹按 -- 鏂板璁㈠崟鏄庣粏
+                OrderDetl orderDetl = orderDetlService.selectItem(agvWrkDetl.getOrderNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode());
 //            FlowLog flowLog = new FlowLog();
 //            flowLog.setFid(String.valueOf(flowId));
 //            flowLog.setSpare2(String.valueOf(taskCode));
@@ -86,6 +95,7 @@
 //            if (!flowLogService.insert(flowLog)) {
 //                throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
 //            }
+            }
             return agvLocDetl;
         }).collect(Collectors.toList());
 
@@ -95,17 +105,28 @@
         //鏍规嵁鐗╂枡鍙峰拰鎵规鎵惧埌瀵瑰簲鐨勫簱瀛橈紝骞朵笖鎸夌収淇敼鏃堕棿鎺掑簭
         Wrapper<AgvLocDetl> wrapper = new EntityWrapper<AgvLocDetl>().eq("matnr", matnr).orderBy("modi_time");
         if (type != null) {
-            wrapper.notLike("loc_no", "F1");
+            if (type.equals(AsrsConstants.ERCHANG)) {
+                wrapper.notLike("loc_no", "F3");
+            } else {
+                if (matnr.startsWith("401") || matnr.startsWith("402")) {
+                    //wrapper.notLike("loc_no", "F3");
+                    wrapper.notLike("loc_no", "F1");
+                } else {
+                    wrapper.notLike("loc_no", "F1");
+                }
+            }
         }
-        wapperSetCondition(wrapper, "batch", batch);
+        //涓�鐩存湁PE甯︽壒娆″瓧娈靛鑷达紝鏃犳硶鍑哄簱锛屽氨娉ㄩ噴鎺�
+        //wapperSetCondition(wrapper, "batch", batch);
         wapperSetCondition(wrapper, "three_code", csocode);
-        wapperSetCondition(wrapper, "dead_time", isoseq);
+        //wapperSetCondition(wrapper, "dead_time", isoseq);
 
         if ("JG".equals(orderNo.substring(0, 2))) {
             wapperSetCondition(wrapper, "process_sts", "1");
         }
 
         List<AgvLocDetl> agvLocDetls = this.selectList(wrapper);
+
 
         for (AgvLocDetl agvLocDetl : agvLocDetls) {
             //鍒ゆ柇褰撳墠搴撲綅璐х墿鏄惁F鍦ㄥ簱
@@ -131,7 +152,39 @@
                 //褰撳墠搴撲綅鎵�澶勬ゼ灞�
                 int floor = Integer.parseInt(agvLocDetl.getLocNo().split("F")[1]);
                 //locDto.setAgvStaNos(queryAgvStaNosByFloor(floor));
-                locDto.setAgvStaNos(agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1(), floor));
+                //鍥涙湡
+                //locDto.setAgvStaNos(agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1(), floor));
+
+                List<String> strings = agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1());
+                List<String> agvStaNos = new ArrayList<>();
+                if (agvLocDetl.getLocNo().contains("01F1")) {
+                    for (String string : strings) {
+                        if (string.contains("F1") || string.contains("F4")) {
+                            agvStaNos.add(string);
+                        }
+                    }
+                } else if (agvLocDetl.getLocNo().contains("02F1")) {
+                    for (String string : strings) {
+                        if (string.contains("F1") || string.contains("F4")) {
+                            agvStaNos.add(string);
+                        }
+                    }
+                } else if (agvLocDetl.getLocNo().contains("F2")) {
+                    for (String string : strings) {
+                        if (string.contains("F2") || string.contains("F4")) {
+                            agvStaNos.add(string);
+                        }
+                    }
+                } else if (agvLocDetl.getLocNo().contains("F3")) {
+                    for (String string : strings) {
+                        if (string.contains("F3")) {
+                            agvStaNos.add(string);
+                        }
+                    }
+                } else {
+                    agvStaNos = strings;
+                }
+                locDto.setAgvStaNos(agvStaNos);
                 locDtoList.add(locDto);
 
                 issued -= anfme;
@@ -141,6 +194,7 @@
         return issued;
 
     }
+
 
     /*
     鏇存柊搴撳瓨鏄庣粏
@@ -161,8 +215,19 @@
     }
 
     @Override
+    public Double getSumAnfme2(String matnr, String threeCode) {
+        return this.baseMapper.selectSumAnfmeByMatnr2(matnr, threeCode);
+    }
+
+
+    @Override
     public AgvLocDetl selectItem(String locNo, String matnr, String batch, String csocode, String isoCode) {
         return this.baseMapper.selectItemByOrderNo(locNo, matnr, batch, csocode, isoCode);
+    }
+
+    @Override
+    public List<AgvLocDetl> selectItem2(String locNo, String matnr, String batch, String csocode, String isoCode) {
+        return this.baseMapper.selectItemByOrderNo2(locNo, matnr, batch, csocode, isoCode);
     }
 
     @Override
@@ -176,8 +241,18 @@
     }
 
     @Override
+    public Double getSumAnfmeProcessed2(String matnr, String threeCode) {
+        return this.baseMapper.selectSumAnfmeByMatnrProcessed2(matnr, threeCode);
+    }
+
+    @Override
     public Double getSumAnfmeDb(String matnr, String threeCode, Integer floor) {
-        return this.baseMapper.selectSumAnfmeByMatnr2(matnr, threeCode, floor);
+        return this.baseMapper.selectSumAnfmeByMatnr22(matnr, threeCode, floor);
+    }
+
+    @Override
+    public Double getSumAnfmeDb2(String matnr, String threeCode, Integer floor) {
+        return this.baseMapper.selectSumAnfmeByMatnr3(matnr, threeCode, floor);
     }
 
     @Override

--
Gitblit v1.9.1