From 298adfe254be9a5976a28dfd63f915842886d588 Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期三, 17 一月 2024 14:23:31 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/model/DevpSlave.java | 1
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 147 ++++++++++++++++++++++++++++++++++++++++++++----
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 1
src/main/resources/mapper/WrkMastMapper.xml | 4 +
src/main/java/com/zy/core/MainProcess.java | 4 +
src/main/resources/application.yml | 12 ++++
6 files changed, 156 insertions(+), 13 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index 6320ce1..ec1f13c 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -257,6 +257,7 @@
* 鏌ユ壘鏄惁瀛樺湪鎷嗗灈鍗曟瀹屾垚鐨勫伐浣滄。
*/
WrkMast selectWrkMastUnstackingOne202(@Param("sourceStaNo")Integer sourceStaNo);
+ WrkMast selectWrkMastUnstackingOne202Two(@Param("sourceStaNo")Integer sourceStaNo);
WrkMast selectWrkMastLabelingOne54();
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 101bb26..7859cd6 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -492,17 +492,17 @@
WrkMast wrkMast = wrkMastMapper.selectPakInStep4(staProtocol.getSiteId(),"3");
if (wrkMast == null) {
- WrkMast wrkMast1 = wrkMastMapper.selectPakInStep5(staProtocol.getSiteId(),"3");
- if (Cools.isEmpty(wrkMast1) && staProtocol.isEmptyMk()){
- WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(staProtocol.getSiteId() + 9999L);
- if (Cools.isEmpty(wrkMastSta)){
- WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),staProtocol.getSiteId());
- wrkMastSta1.setType(2);
- wrkMastSta1.setWrkType(1);
- wrkMastStaMapper.insert(wrkMastSta1);
- }
- continue;
- }
+// WrkMast wrkMast1 = wrkMastMapper.selectPakInStep5(staProtocol.getSiteId(),"3");
+// if (Cools.isEmpty(wrkMast1) && staProtocol.isEmptyMk()){
+// WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(staProtocol.getSiteId() + 9999L);
+// if (Cools.isEmpty(wrkMastSta)){
+// WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),staProtocol.getSiteId());
+// wrkMastSta1.setType(2);
+// wrkMastSta1.setWrkType(1);
+// wrkMastStaMapper.insert(wrkMastSta1);
+// }
+// continue;
+// }
// log.error("绔欑偣鍙�"+staProtocol.getSiteId()+"鏈煡璇㈠埌宸ヤ綔妗f锛�");
// 鏃犳嫞鏂欐暟鎹�
continue;
@@ -580,6 +580,46 @@
}
+ }
+ }
+
+ /**
+ * 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱 鎷嗗灈浣嶇疆
+ */
+ public synchronized void storeEmptyPlt4() {
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ // 閬嶅巻鍙犵洏鍏ュ簱鍙�
+ for (DevpSlave.Sta pickSta : devp.getEmptyInSta2()) {
+
+ // 鑾峰彇鍏ュ簱绔欎俊鎭�
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ BasDevp basDevp = basDevpService.selectById(staProtocol.getSiteId());
+ if (Cools.isEmpty(basDevp) || basDevp.getReportSign()!=1){
+ continue;
+ }
+
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isPakMk() && staProtocol.getWorkNo()==0 && !staProtocol.isOutEnable() && staProtocol.isInEnable()) {
+ WrkMast wrkMast = wrkMastMapper.selectPakInStep4(staProtocol.getSiteId(),"3");
+ if (wrkMast == null) {
+ WrkMast wrkMast1 = wrkMastMapper.selectPakInStep5(staProtocol.getSiteId(),"3");
+ if (Cools.isEmpty(wrkMast1) && staProtocol.isEmptyMk()){
+ WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(staProtocol.getSiteId() + 19999L);
+ if (Cools.isEmpty(wrkMastSta)){
+ WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),staProtocol.getSiteId());
+ wrkMastSta1.setType(2);
+ wrkMastSta1.setWrkType(1);
+ wrkMastStaMapper.insert(wrkMastSta1);
+ }
+ }
+ }
+ }
+ }
}
}
@@ -3992,7 +4032,10 @@
int[] staNos=new int[]{131,135};//(2涓叆搴撶珯鐐癸紝1妤�2涓嚭搴撶爜鍨涚珯,鏍规嵁鐜板満淇敼)
for (int staNo : staNos){
BasDevp basDevp = basDevpService.selectById(staNo);
- if (basDevp.getWrkNo()!=0){
+ if (Cools.isEmpty(basDevp) || basDevp.getReportSign()!=1){
+ continue;
+ }
+ if (basDevp.getWrkNo()!=0 && (basDevp.getWrkNo()<9900 || basDevp.getWrkNo()>9999)){
continue;
}
WrkMast wrkMast = wrkMastMapper.selectWrkMastUnstackingOne202(staNo);
@@ -4116,7 +4159,7 @@
int[] staNos=new int[]{144};//(1妤�1涓创鏍囦綅,鏍规嵁鐜板満淇敼)
for (int staNo : staNos){
BasDevp basDevp = basDevpService.selectById(staNo);
- if ((basDevp.getWrkNo()<9900 || basDevp.getWrkNo()>19999) && basDevp.getWrkNo()!=32222){
+ if ((basDevp.getWrkNo()<9900 || basDevp.getWrkNo()>9999) && basDevp.getWrkNo()!=32222){
continue;
}
WrkMast wrkMast = wrkMastMapper.selectWrkMastUnstackingOne202(staNo);
@@ -4170,6 +4213,84 @@
}
/**
+ * 鍏朵粬 ===>> 鎷嗗灈瀹屾垚缁х画涓嬩竴姝� 杩愯閫斾腑鑷姩閬胯绌烘澘
+ */
+ public synchronized void stackingCompletionDriveTray4() {
+ try {
+ int[] staNos=new int[]{134};//(134鏈変换鍔★紝135绌洪棽锛屽垯閬胯)
+ for (int staNo : staNos){
+ BasDevp basDevp = basDevpService.selectById(staNo);
+ BasDevp basDevp135 = basDevpService.selectById(135);
+ if (basDevp.getWrkNo()==0 || (basDevp.getWrkNo()<10000 && basDevp.getWrkNo()>9899) ){
+ continue;
+ }
+ if (basDevp135.getReportSign()!=0){
+ continue;
+ }
+ WrkMast wrkMast131 = wrkMastMapper.selectWrkMastUnstackingOne202Two(131);
+ if (Cools.isEmpty(wrkMast131)){
+ continue;
+ }
+ // 鑾峰彇绔欑偣淇℃伅
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ StaProtocol staProtocol135 = devpThread.getStation().get(135);
+ if (staProtocol135 == null) {
+ continue;
+ } else {
+ staProtocol135 = staProtocol135.clone();
+ }
+ if (staProtocol135.getWorkNo()<9900 || staProtocol135.getWorkNo()>9999 || staProtocol135.getWorkNo()==0
+ || !staProtocol135.isLoading() || !staProtocol135.isAutoing()){
+ continue;
+ }
+ StaProtocol staProtocol = devpThread.getStation().get(staNo);
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+
+ if (!staProtocol.isLoading()){
+ continue;
+ }
+// if (!staProtocol.getWorkNo().equals(wrkMast131.getWrkNo())){
+// log.info("绔欑偣宸ヤ綔鍙�={} 涓庤创鏍囧伐浣滃彿={} 涓嶄竴鑷达紝寮傚父锛�",staProtocol.getWorkNo(),wrkMast131.getWrkNo().shortValue());
+// }
+ // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+ if (staProtocol.isAutoing()
+ && staProtocol.isLoading()
+ && basDevp.getReportSign()==0
+ ) {//&& staProtocol.isPakMk() && !Cools.isEmpty(barcode)) {
+ if (true){
+ return;
+ }
+
+ //浠诲姟瀹屾垚
+ boolean result1 = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(3, staProtocol135));
+ try{
+ Thread.sleep(100);
+ }catch (Exception e){ }
+ basDevp135.setReportSign(2);
+ basDevpService.updateById(basDevp135);
+ staProtocol135.setWorkNo(32222);
+ staProtocol135.setStaNo(144);
+ devpThread.setPakMk(staProtocol135.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol135));
+ if (!result) {
+ throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触==>椹卞姩鐮佸灈浣嶆墭鐩樺墠杩涘け璐ワ紒");
+ }
+ boolean result2 = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(4, staProtocol135));
+
+ }
+ }
+ }catch (Exception e){
+// e.printStackTrace();
+// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ log.error("鍏朵粬 ===>> 璐存爣瀹屾垚椹卞姩鎵樼洏杩涘叆涓嬩竴姝�"+e);
+ }
+ }
+
+ /**
* 瀹屾垚灏忚溅浠诲姟
*/
public synchronized void rgvCompleteWrkMastSta() {
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 491999c..39e9169 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -107,6 +107,8 @@
mainService.storeEmptyPlt2();
// 鍏ュ簱 ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,1妤煎彔鐩樻満绌烘澘鍏ュ簱
mainService.storeEmptyPlt3();
+ // 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱鎷嗙洏鍖� 1妤兼媶鍨涗綅缃� 绌烘澘鍙犵洏
+ mainService.storeEmptyPlt4();
// 鍑哄簱 ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�
mainService.ledExecute();
// 鍏朵粬 ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅
@@ -136,6 +138,8 @@
mainService.stackingCompletionDriveTray();
//鎷嗗灈瀹屾垚缁х画涓嬩竴姝�
mainService.stackingCompletionDriveTray2();
+ //鎷嗗灈瀹屾垚缁х画涓嬩竴姝� 杩愯閫斾腑鑷姩閬胯绌烘澘
+ mainService.stackingCompletionDriveTray4();
//鎷嗗灈瀹屾垚鎵樼洏缁х画涓嬩竴姝�
mainService.stackingCompletionDriveTrayOk2();
//璐存爣瀹屾垚缁х画涓嬩竴姝�
diff --git a/src/main/java/com/zy/core/model/DevpSlave.java b/src/main/java/com/zy/core/model/DevpSlave.java
index 450e05d..0cfa480 100644
--- a/src/main/java/com/zy/core/model/DevpSlave.java
+++ b/src/main/java/com/zy/core/model/DevpSlave.java
@@ -24,6 +24,7 @@
private List<Sta> inWmsSta = new ArrayList<>();
private List<Sta> emptyInSta = new ArrayList<>();
+ private List<Sta> emptyInSta2 = new ArrayList<>();
private List<Sta> outSta = new ArrayList<>();
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 130f8cd..7e5742b 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -348,6 +348,18 @@
# 绌烘澘鍏ュ簱鍙�1
emptyInSta[0]:
staNo: 122
+ # 鎷嗗灈鍙犵洏鍙�1
+ emptyInSta2[0]:
+ staNo: 118
+ # 鎷嗗灈鍙犵洏鍙�2
+ emptyInSta2[1]:
+ staNo: 119
+ # 鎷嗗灈鍙犵洏鍙�3
+ emptyInSta2[2]:
+ staNo: 120
+ # 鎷嗗灈鍙犵洏鍙�4
+ emptyInSta2[3]:
+ staNo: 121
# 鍑哄簱鍙�1
outSta[0]:
staNo: 122
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index fac4623..6e031e3 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -347,6 +347,10 @@
SELECT top 1 * FROM dbo.asr_wrk_mast Where 1=1 and io_type=202 and wrk_sts =51 and source_sta_no = #{sourceStaNo}
</select>
+ <select id="selectWrkMastUnstackingOne202Two" resultMap="BaseResultMap">
+ SELECT top 1 * FROM dbo.asr_wrk_mast Where 1=1 and io_type=202 and wrk_sts =52 and source_sta_no = #{sourceStaNo}
+ </select>
+
<select id="selectWrkMastLabelingOne54" resultMap="BaseResultMap">
SELECT top 1 * FROM dbo.asr_wrk_mast Where 1=1 and io_type=202 and wrk_sts =54
</select>
--
Gitblit v1.9.1