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