From 24bc9aa5888c7b98cf0a7d1bf05ec6c5624d3719 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期一, 03 三月 2025 16:02:29 +0800
Subject: [PATCH] 四期

---
 src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java            |    3 ++-
 src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java |    2 +-
 src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java     |   11 ++++++++---
 src/main/java/com/zy/common/service/AgvCommonService.java         |    6 ++++--
 src/main/resources/application-loc.yml                            |    2 +-
 src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java  |    2 +-
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java    |    2 +-
 src/main/java/com/zy/asrs/task/AutoMoveScheduler.java             |    5 +++--
 src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java |    3 ++-
 src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java  |    6 ++++++
 10 files changed, 29 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
index 379154f..82e0eb3 100644
--- a/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
@@ -21,6 +21,7 @@
 
     List<AgvLocDetl> getStockStatis1(Map<String, Object> map);
 
+
     Integer getStockStatisCount(Map<String, Object> map);
 
     @Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where b.loc_sts = 'F' and a.matnr = #{matnr} AND a.three_code = #{threeCode}")
@@ -44,7 +45,7 @@
 
 
     @Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where  b.floor = 1 AND a.matnr = #{matnr} AND a.three_code = #{threeCode} AND a.process_sts != 1 AND (b.loc_sts = 'F' or b.loc_sts = 'R')")
-    Double selectSumAnfmeByMatnr2(@Param("matnr") String matnr,@Param("threeCode") String threeCode,@Param("floor") Integer floor);
+    Double selectSumAnfmeByMatnr22(@Param("matnr") String matnr,@Param("threeCode") String threeCode,@Param("floor") Integer floor);
 
     @Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where (b.loc_sts = 'F' or b.loc_sts = 'R') AND b.floor != 2  AND a.matnr = #{matnr} AND a.three_code = #{threeCode} AND a.process_sts != 1")
     Double selectSumAnfmeByMatnr3(@Param("matnr") String matnr,@Param("threeCode") String threeCode,@Param("floor") Integer floor);
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 763e2ae..25adb11 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
@@ -237,7 +237,7 @@
 
     @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
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java
index e0edc63..65e1f63 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.exception.CoolException;
 import com.zy.asrs.entity.AgvLocMast;
 import com.zy.asrs.entity.AgvLocRule;
 import com.zy.asrs.mapper.AgvLocMastMapper;
@@ -409,7 +410,7 @@
     @Override
     public AgvLocMast selectEmptyZpallet(int type, int floor) {
 
-        return this.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_sts","D").eq("loc_type2",type).eq("floor",floor));
+        return this.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_sts","D").eq("loc_type2",type).eq("floor",floor).orderBy("lev1",true));
 
     }
 
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
index ed6a8de..453ab36 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -864,7 +864,7 @@
         // TODO: 鍥涙湡
         List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code", param.getBarcode()));
         String factory = param.getFactory();
-        AgvLocMast newLocMast = agvCommonService.getLocByLocRule(3, 1, factory);
+        AgvLocMast newLocMast = agvCommonService.getLocByLocRule(3, 1, factory,false);
         if (newLocMast == null) {
             throw new CoolException("鏃犲彲鐢ㄥ簱浣�");
         }
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index aa9a582..b983574 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -741,7 +741,7 @@
 //                    //agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,false);
 //                }
 //            }
-            agvLocMast = agvCommonService.getLocByLocRule(3, 1, code);
+            agvLocMast = agvCommonService.getLocByLocRule(3, 1, code,false);
 
 
             String devNo = agvBasDevp.getDevNo();
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
index 026b0d2..b59aa03 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -299,6 +299,9 @@
             } else if (sourceLocNo.endsWith("01F1") && !locNo.startsWith("YZ") && locNo.endsWith("F4")) {
                 // 浠庡惛濉戜竴妤肩殑搴撲綅鍒板惛濉戜簩妤肩殑鐐逛綅涓�
                 return true;
+            }else if (sourceLocNo.endsWith("02F1") && !locNo.startsWith("YZ") && locNo.endsWith("F1")) {
+                // 浠庡惛濉慹r妤肩殑kuwei鍒板惛濉戜竴妤肩殑dianwei
+                return true;
             }
         } else {
             if (sourceLocNo.endsWith("F4") && locNo.startsWith("YZ") && locNo.endsWith("01F2")) {
@@ -310,6 +313,9 @@
             } else if (sourceLocNo.endsWith("F4") && locNo.startsWith("YZ") && locNo.endsWith("01F1")) {
                 // 浠庡惛濉戜簩妤肩殑鐐逛綅鍒板惛濉戜竴妤肩殑搴撲綅
                 return true;
+            }else if (sourceLocNo.endsWith("F1") && locNo.startsWith("YZ") && locNo.endsWith("02F1")) {
+                // 浠庡惛濉戜簩妤肩殑鐐逛綅鍒板惛濉戜竴妤肩殑搴撲綅
+                return true;
             }
         }
         return false;
diff --git a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
index a740a65..07c5c74 100644
--- a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
@@ -228,6 +228,7 @@
                 boolean flag = false;
                 if (config != null && !Cools.isEmpty(config.getValue())) {
                     try {
+                        
                         // 鍒ゆ柇鏄惁鍦ㄦ墽琛屾椂闂村唴
                         ProcesTimeData procesTimeData = JSONObject.parseObject(config.getValue(), ProcesTimeData.class);
                         if (procesTimeData != null && config.getStatus() == 1 && TimeUtils.between(procesTimeData)) {
@@ -242,14 +243,14 @@
                     try {
                         autoMoveHandler.autoEmptyBack4(agvLocMast);
                     } catch (Exception e) {
-                        log.error("搴撲綅鍙�" + agvLocMast.getLocNo() + "绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐�  搴撲綅-鍚稿杞﹂棿,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage());
+                        //log.error("搴撲綅鍙�" + agvLocMast.getLocNo() + "绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐�  搴撲綅-鍚稿杞﹂棿,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage());
                     }
                 }
             } else {
                 try {
                     autoMoveHandler.autoEmptyBack4(agvLocMast);
                 } catch (Exception e) {
-                    log.error("搴撲綅鍙�" + agvLocMast.getLocNo() + "绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐�  搴撲綅-鍚稿杞﹂棿,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage());
+                    //log.error("搴撲綅鍙�" + agvLocMast.getLocNo() + "绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐�  搴撲綅-鍚稿杞﹂棿,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage());
                 }
             }
 
diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
index 2aae096..762386d 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -7,6 +7,7 @@
 import com.core.common.Cools;
 import com.core.common.SnowflakeIdWorker;
 import com.core.exception.CoolException;
+import com.zy.asrs.constant.AsrsConstants;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.MesBuyPakinReportParam;
 import com.zy.asrs.entity.param.MesOrderReportParam;
@@ -432,8 +433,12 @@
                     //鐩爣绔欑偣
                     if (agvWrkMast.getLocNo().startsWith("QO") && agvWrkMast.getLocNo().endsWith("F4") && Integer.valueOf(agvWrkMast.getBarcode().substring(0, 2)) == 30) {
                         if (!agvWrkMast.getSourceLocNo().endsWith("02F1")) {
-                            AgvLocMast locByFloor = agvCommonService.getLocByFloor(3, 1);
+                            AgvLocMast locByFloor = agvCommonService.getLocByLocRule(3, 1, AsrsConstants.ERCHANG,true);
                             if (locByFloor != null) {
+                                AgvLocMast agvLocMast = agvLocMastService.selectById(agvWrkMast.getSourceLocNo());
+                                agvLocMast.setLocSts("O");
+                                agvLocMast.setModiTime(now);
+                                agvLocMastService.updateById(agvLocMast);
                                 wrkMast.setLocNo(locByFloor.getLocNo());
                             } else {
                                 wrkMast.setLocNo(agvWrkMast.getSourceLocNo());
@@ -444,7 +449,7 @@
                     } else {
                         wrkMast.setLocNo(agvWrkMast.getSourceLocNo());
                     }
-
+                    //wrkMast.setLocNo(agvWrkMast.getSourceLocNo());
 
                     //璐ф灦缂栫爜
                     wrkMast.setBarcode(agvWrkMast.getBarcode());
@@ -460,7 +465,7 @@
                     if (!agvWrkMastService.insertByIncrease(wrkMast)) {
                         throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
                     }
-                    AgvLocMast agvLocMast = agvLocMastService.selectById(agvWrkMast.getSourceLocNo());
+                    AgvLocMast agvLocMast = agvLocMastService.selectById(wrkMast.getLocNo());
                     agvLocMast.setLocSts("S");
                     agvLocMast.setModiTime(now);
                     agvLocMastService.updateById(agvLocMast);
diff --git a/src/main/java/com/zy/common/service/AgvCommonService.java b/src/main/java/com/zy/common/service/AgvCommonService.java
index 9278a72..04720a4 100644
--- a/src/main/java/com/zy/common/service/AgvCommonService.java
+++ b/src/main/java/com/zy/common/service/AgvCommonService.java
@@ -148,7 +148,7 @@
     /**
      * 搴撲綅瑙勫垯鏌ユ壘
      */
-    public AgvLocMast getLocByLocRule(int type, int floor, String factory) {
+    public synchronized AgvLocMast getLocByLocRule(int type, int floor, String factory, boolean flag) {
 
         try {
             EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>();
@@ -161,7 +161,7 @@
                 //B鏄簩鍘傦紝G鏄笁鍘�
                 switch (factory) {
                     case "B":
-                        wrapper.eq("floor", floor).orderBy("lev1", false);
+                        wrapper.eq("floor", floor).orderBy("lev1", false).orderBy("row1", flag);
                         break;
                     case "G":
                         wrapper.eq("floor", floor).orderBy("lev1", true);
@@ -183,6 +183,8 @@
         } catch (Exception e) {
             throw new CoolException("鎼滅储搴撲綅鏃讹紝鏈壘鍒板彲鍏ュ簱搴撲綅銆�");
         }
+
+
     }
 
     /**
diff --git a/src/main/resources/application-loc.yml b/src/main/resources/application-loc.yml
index 029addb..10e73e4 100644
--- a/src/main/resources/application-loc.yml
+++ b/src/main/resources/application-loc.yml
@@ -11,7 +11,7 @@
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
     #url: jdbc:sqlserver://127.0.0.1:1433;databasename=phyzasrs
-    url: jdbc:sqlserver://192.168.108:248;databasename=phyzasrs
+    url: jdbc:sqlserver://192.168.108.248;databasename=phyzasrs
     username: sa
     password: sa@123
   mvc:

--
Gitblit v1.9.1