From 52ad49fed7108445edc8178a98cf4cca36fe0eb0 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期四, 20 十一月 2025 19:54:33 +0800
Subject: [PATCH] agv相关接口流程修改

---
 src/main/java/com/zy/mapper/BasDevpMapper.java         |    4 ++++
 src/main/resources/mapper/WrkMastMapper.xml            |    2 +-
 src/main/java/com/zy/service/impl/MainServiceImpl.java |   23 +++++++++++++++++++++++
 src/main/webapp/static/js/console.map.js               |    2 +-
 src/main/java/com/zy/core/MainProcess.java             |    3 +++
 src/main/java/com/zy/entity/WrkMast.java               |    7 +++++++
 src/main/java/com/zy/mapper/WrkMastMapper.java         |   15 +++++++++++++++
 7 files changed, 54 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 9f482ba..b323b2d 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -70,6 +70,9 @@
                     // 鍏朵粬  ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅
                     mainService.ledReset();
 
+                    // 鍑哄簱瀹屾垚锛屽噯澶囧懠鍙玜gv
+                    mainService.forwardAGVInTasks();
+
                     mainService.outOfDevp(11);
 
                     // 鍫嗗灈鏈哄洖鍘熺偣
diff --git a/src/main/java/com/zy/entity/WrkMast.java b/src/main/java/com/zy/entity/WrkMast.java
index aaa0edb..6508cdf 100644
--- a/src/main/java/com/zy/entity/WrkMast.java
+++ b/src/main/java/com/zy/entity/WrkMast.java
@@ -308,6 +308,13 @@
     @TableField("full_plt")
     private String fullPlt;
 
+    /**
+     * 鍛煎彨agv 1.鍑嗗鍛煎彨锛�2.宸插懠鍙�
+     */
+    @ApiModelProperty(value = "鍛煎彨agv 1.鍑嗗鍛煎彨锛�2.宸插懠鍙�")
+    @TableField("call_agv")
+    private Integer callAgv;
+
     public String getWrkSts$(){
         BasWrkStatusMapper mapper = SpringUtils.getBean(BasWrkStatusMapper.class);
         BasWrkStatus entity = mapper.selectById(this.wrkSts);
diff --git a/src/main/java/com/zy/mapper/BasDevpMapper.java b/src/main/java/com/zy/mapper/BasDevpMapper.java
index 2cc805d..66cf2bc 100644
--- a/src/main/java/com/zy/mapper/BasDevpMapper.java
+++ b/src/main/java/com/zy/mapper/BasDevpMapper.java
@@ -4,6 +4,7 @@
 import com.zy.entity.BasDevp;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -15,4 +16,7 @@
     List<Integer> getAvailableInSite(@Param("typeNo") Integer typeNo);
 
     List<Integer> getAvailableOutSite(@Param("typeNo") Integer typeNo);
+
+    @Update("UPDATE asr_bas_devp SET in_qty = in_qty - 1 WHERE dev_no = #{site} AND in_qty > 0")
+    void decrementInQty(@Param("site") int sourceStaNo);
 }
diff --git a/src/main/java/com/zy/mapper/WrkMastMapper.java b/src/main/java/com/zy/mapper/WrkMastMapper.java
index 3454d25..729fa9a 100644
--- a/src/main/java/com/zy/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/mapper/WrkMastMapper.java
@@ -118,4 +118,19 @@
      * @return 宸ヤ綔涓绘。
      */
     WrkMast selectBy104();
+
+    @Update({
+            "<script>",
+            "UPDATE asr_wrk_mast",
+            "SET call_agv = 1",
+            "WHERE wrk_no IN",
+            "<foreach item='item' collection='workNos' open='(' separator=',' close=')'>",
+            "#{item}",
+            "</foreach>",
+            "AND io_type IN (101,110,103,104,107)",
+            "AND wrk_sts IN (14,15)",
+            "AND call_agv = 0",
+            "</script>"
+    })
+    void updateCallAgvBatch(@Param("workNos") List<Integer> workNos);
 }
diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java
index 0c71b66..b136ed2 100644
--- a/src/main/java/com/zy/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -88,6 +88,9 @@
     private BasRgvMapService basRgvMapService;
 
     @Resource
+    private BasDevpMapper basDevpMapper;
+
+    @Resource
     private BasDevpErrLogService basDevpErrLogService;
 
     @Value("${wms.url}")
@@ -614,6 +617,10 @@
                 if (wrkMastMapper.updateById(wrkMast) == 0) {
                     News.error(""+mark+" - 1"+" - 17"+" - 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
                 }
+                // 鍏ュ簱鏆傚瓨鏁�-1
+                int sourceStaNo = wrkMast.getSourceStaNo();
+                sourceStaNo = (sourceStaNo > 1024) ? sourceStaNo + 1 : sourceStaNo - 1;
+                basDevpMapper.decrementInQty(sourceStaNo);
             }
         }
         News.infoNoLog(""+mark+" - 1"+" - 0"+" - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 锛� 鍏ュ簱鎵ц瀹屾瘯");
@@ -1421,6 +1428,22 @@
         }
     }
 
+    public synchronized void forwardAGVInTasks() {
+        List<Integer> workNos = new ArrayList<>();
+        for (DevpSlave devp : slaveProperties.getDevp()) {
+            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+            for (DevpSlave.Sta agvSta : devp.getOutSta()) {
+                StaProtocol staProtocol = devpThread.getStation().get(agvSta.getStaNo());
+                if (staProtocol != null && staProtocol.getWorkNo() != 0) {
+                    workNos.add(staProtocol.getWorkNo());
+                }
+            }
+        }
+        if (!workNos.isEmpty()) {
+            wrkMastMapper.updateCallAgvBatch(workNos);
+        }
+    }
+
     /**
      * 鍥犲弻娣卞簱浣嶉樆濉烇紝瀵规祬搴撲綅杩涜绉昏浆锛堢珛鍗虫墽琛岀増)
      * tip锛氬悓姝�
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 78d045c..2ba1fda 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -59,7 +59,7 @@
 <!--        <result column="Pdc_type" property="PdcType" />-->
         <result column="ctn_no" property="ctnNo" />
         <result column="full_plt" property="fullPlt" />
-
+        <result column="call_agv" property="callAgv" />
     </resultMap>
 
     <select id="selectByLocNo"  resultMap="BaseResultMap">
diff --git a/src/main/webapp/static/js/console.map.js b/src/main/webapp/static/js/console.map.js
index d33340e..8385e95 100644
--- a/src/main/webapp/static/js/console.map.js
+++ b/src/main/webapp/static/js/console.map.js
@@ -3,7 +3,7 @@
     "rackCount": 8,
     "crnCount": 2,
     "stbCount": 18,
-    "hpPosition": 1,
+    "hpPosition": 0,
     "minBayNo": 1,
     "floors": 1,
     "racks": [

--
Gitblit v1.9.1