From 740b16bc580b06fc86fd497887364cff44115cf6 Mon Sep 17 00:00:00 2001
From: 18516761980 <56479841@qq.com>
Date: 星期三, 10 八月 2022 08:50:34 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 38 ++++++++----
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 9 ++-
src/main/resources/mapper/WrkMastMapper.xml | 58 +++++++++++++------
src/main/java/com/zy/core/MainProcess.java | 9 +++
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 22 +++++--
5 files changed, 94 insertions(+), 42 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index 8a4dc4e..ceaad8d 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -70,9 +70,9 @@
@Update("update cust_wait_pakin set io_status='F' where zpallet = #{barcode}")
int updateWaitPakInStep2(String barcode);
- WrkMast selectWorkingPakin();
-
- WrkMast selectWorkingPakout();
+// WrkMast selectWorkingPakin();
+//
+// WrkMast selectWorkingPakout();
/**
* 鍫嗗灈鏈烘槸鍚﹀瓨鍦ㄥ嚭搴撲换鍔�
@@ -98,4 +98,7 @@
* @return
*/
List<WrkMast> selectPakOutStep11(@Param("crnNo")Integer crnNO, @Param("sourceStaNo")Integer sourceStaNo);
+
+ WrkMast selectWorkingPakin(@Param("sourceStaNo")Integer sourceStaNo);
+ WrkMast selectWorkingPakout(@Param("sourceStaNo")Integer sourceStaNo);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 5056bba..2b59854 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1861,22 +1861,32 @@
for (DevpSlave devp : slaveProperties.getDevp()) {
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
- WrkMast pakout = wrkMastMapper.selectWorkingPakout();
- if (pakout != null) {
- if (devpThread.ioMode != IoModeType.PAKOUT_MODE) {
- // 鍑哄簱鍒囨崲涓�
- devpThread.ioMode = IoModeType.PAKOUT_BOOTING;
-
- WrkMast pakin = wrkMastMapper.selectWorkingPakin();
- if (pakin == null) {
- // 鍑哄簱妯″紡
- devpThread.ioMode = IoModeType.PAKOUT_MODE;
- }
+ for (DevpSlave.Sta inSta : devp.getInSta()) {
+ if (inSta.getStaNo() == 2) {
+ continue;
}
- } else {
- // 鍏ュ簱妯″紡
- devpThread.ioMode = IoModeType.PAKIN_MODE;
+ WrkMast pakout = wrkMastMapper.selectWorkingPakout(inSta.getStaNo());
+ switch (inSta.getStaNo()) {
+ case 203://1F
+ if (pakout != null) {
+ if (devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {
+ // 鍑哄簱鍒囨崲涓�
+ devpThread.ioModeOf2F = IoModeType.PAKOUT_BOOTING;
+ WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
+ if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
+ && !devpThread.getStation().get(inSta.getStaNo()+1).isLoading()) {
+ // 鍑哄簱妯″紡
+ devpThread.ioModeOf2F = IoModeType.PAKOUT_MODE;
+ }
+ }
+ } else {
+ // 鍏ュ簱妯″紡
+ devpThread.ioModeOf2F = IoModeType.PAKIN_MODE;
+ }
+ break;
+ }
}
+
}
} catch (Exception e) {
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index a7a89ca..b122e50 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -24,6 +24,8 @@
private MainServiceImpl mainService;
// 鎵�灞炵嚎绋�
private Thread thread;
+ // 棰戠巼
+ private int i = 0;
/**
* =====>> 寮�濮嬪伐浣�
@@ -69,6 +71,13 @@
mainService.outOfDevp();
+ // 鍏朵粬 ===>> 鍏ュ嚭搴撴ā寮忓垏鎹�
+ i++;
+ if (i > 1) {
+ mainService.ioConvert();
+ i = 0;
+ }
+
} catch (Exception e) {
e.printStackTrace();
}
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 25d9512..926e4dd 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -51,7 +51,17 @@
* 鏉$爜鏁伴噺
*/
private int barcodeSize = 3;
- public IoModeType ioMode = IoModeType.NONE;
+
+ /**
+ * 鍏ュ嚭搴撴ā寮�
+ * 0锛氭湭鐭�
+ * 1锛氬叆搴撳惎鍔ㄤ腑
+ * 2.鍏ュ簱妯″紡
+ * 3.鍑哄簱鍚姩涓� 锛堜笉鑳界敓鎴愬叆搴撳伐浣滄。锛�
+ * 4.鍑哄簱妯″紡
+ */
+ public IoModeType ioModeOf2F = IoModeType.NONE;
+// public IoModeType ioMode = IoModeType.NONE;
public SiemensDevpThread(DevpSlave slave) {
this.slave = slave;
@@ -114,7 +124,7 @@
*/
private void read() throws InterruptedException {
// // 鏇存柊鍏ュ嚭搴撴ā寮�
-// updateIoMode();
+ updateIoMode();
int staNoSize = staNos.size();
OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) (staNoSize*4));
if (result.IsSuccess) {
@@ -245,10 +255,10 @@
// 鏇存柊鍏ュ嚭搴撴ā寮�
private void updateIoMode() throws InterruptedException {
- if (this.ioMode != IoModeType.NONE) {
- if (!siemensS7Net.Write("DB200", this.ioMode.id).IsSuccess) {
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎1F鍏ュ嚭搴撴ā寮忓け璐ャ�傝緭閫佺嚎plc缂栧彿={1}", slave.getId()));
- log.error("鍐欏叆杈撻�佺嚎1F鍏ュ嚭搴撴ā寮忓け璐ャ�傝緭閫佺嚎plc缂栧彿={}", slave.getId());
+ if (this.ioModeOf2F != IoModeType.NONE) {
+ if (!siemensS7Net.Write("DB100.180", this.ioModeOf2F.id).IsSuccess) {
+ OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎2F鍏ュ嚭搴撴ā寮忓け璐ャ�傝緭閫佺嚎plc缂栧彿={1}", slave.getId()));
+ log.error("鍐欏叆杈撻�佺嚎2F鍏ュ嚭搴撴ā寮忓け璐ャ�傝緭閫佺嚎plc缂栧彿={}", slave.getId());
}
}
}
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 3276b8a..21de077 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -119,26 +119,26 @@
select top 1 * from dbo.asr_wrk_mast where 1=1 and (wrk_sts=3 or wrk_sts=12) and crn_no=#{crnNo} order by io_time,wrk_no
</select>
- <!-- 鍏ュ簱浠诲姟 -->
- <select id="selectWorkingPakin" resultMap="BaseResultMap">
- select top 1 * from dbo.asr_wrk_mast where wrk_sts in (2,3,4) and io_type != 11 and source_sta_no = 180 order by io_time,wrk_no
- </select>
+<!-- <!– 鍏ュ簱浠诲姟 –>-->
+<!-- <select id="selectWorkingPakin" resultMap="BaseResultMap">-->
+<!-- select top 1 * from dbo.asr_wrk_mast where wrk_sts in (2,3,4) and io_type != 11 and source_sta_no = 180 order by io_time,wrk_no-->
+<!-- </select>-->
- <!-- 鍑哄簱浠诲姟 -->
- <select id="selectWorkingPakout" resultMap="BaseResultMap">
- select top 1 *
- from dbo.asr_wrk_mast
- where (wrk_sts in (11,12)
- or (wrk_sts in (14,15) and wrk_no in
- (
- select wrk_no
- from asr_bas_devp
- where wrk_no > 0)
- ))
- and io_type != 11
- and source_sta_no = 180
- order by io_time,wrk_no
- </select>
+<!-- <!– 鍑哄簱浠诲姟 –>-->
+<!-- <select id="selectWorkingPakout" resultMap="BaseResultMap">-->
+<!-- select top 1 *-->
+<!-- from dbo.asr_wrk_mast-->
+<!-- where (wrk_sts in (11,12)-->
+<!-- or (wrk_sts in (14,15) and wrk_no in-->
+<!-- (-->
+<!-- select wrk_no-->
+<!-- from asr_bas_devp-->
+<!-- where wrk_no > 0)-->
+<!-- ))-->
+<!-- and io_type != 11-->
+<!-- and source_sta_no = 180-->
+<!-- order by io_time,wrk_no-->
+<!-- </select>-->
<select id="selectCrnWorking" resultMap="BaseResultMap">
select top 1 * from dbo.asr_wrk_mast where 1=1 and wrk_sts in (3,4,11,12) and crn_no=#{crnNo} order by io_time,wrk_no
@@ -155,4 +155,24 @@
<select id="selectPakOutStep11" resultMap="BaseResultMap">
select * from dbo.asr_wrk_mast where crn_no=#{crnNo} and source_sta_no=#{sourceStaNo} and wrk_sts=11 and io_type>100 order by io_pri desc,io_time,wrk_no asc
</select>
+
+ <!-- 鍏ュ嚭搴撴ā寮忕浉鍏� -->
+ <select id="selectWorkingPakin" resultMap="BaseResultMap">
+ select top 1 * from dbo.asr_wrk_mast where wrk_sts in (2,3,4) and io_type != 11 and source_sta_no = #{sourceStaNo} order by io_time,wrk_no
+ </select>
+
+ <select id="selectWorkingPakout" resultMap="BaseResultMap">
+ select top 1 *
+ from dbo.asr_wrk_mast
+ where (wrk_sts in (11,12)
+ or (wrk_sts in (14,15) and wrk_no in
+ (
+ select wrk_no
+ from asr_bas_devp
+ where wrk_no > 0)
+ ))
+ and io_type != 11
+ and source_sta_no = #{sourceStaNo}
+ order by io_time,wrk_no
+ </select>
</mapper>
--
Gitblit v1.9.1