From 3a2abcf340991b62b1ec5eeff185ff905401dc0b Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期四, 01 六月 2023 12:17:17 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 75 +++++++++++++++++++++++++++++++++----
1 files changed, 67 insertions(+), 8 deletions(-)
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 9e6a2d6..c17bc8b 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -131,7 +131,7 @@
// // 鍏ュ嚭搴撴ā寮忓垽鏂�
// if ( inSta.getStaNo()==180 && devpThread.ioMode != IoModeType.PAKIN_MODE) { continue; }
-
+ staProtocol.setPakMk(true);
// 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
if (staProtocol.isAutoing() && staProtocol.isLoading()
&& staProtocol.isInEnable()
@@ -165,7 +165,11 @@
// }
try {
- String pack=barcode.substring(6);//pack鐮�
+ String pack =null;//pack鐮�
+ if(barcode.length()>6){
+ pack=barcode.substring(6);
+ }
+ //String pack="MJY0136 0400";
barcode=barcode.substring(0,6);//鎵樼洏鐮�
LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
locTypeDto.setLocType1((short)1);
@@ -184,7 +188,6 @@
JSONObject jsonObject = JSON.parseObject(response);
if (jsonObject.getInteger("code").equals(200)) {
StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-
barcodeThread.setBarcode("");
staProtocol.setWorkNo(dto.getWorkNo().shortValue());
staProtocol.setStaNo(dto.getStaNo().shortValue());
@@ -750,7 +753,7 @@
crnCommand.setDestinationPosX(locMast.getRow1().shortValue()); // 鐩爣搴撲綅鎺�
crnCommand.setDestinationPosY(locMast.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ(locMast.getLev1().shortValue()); // 鐩爣搴撲綅灞俓
- crnCommand.setBarcode(wrkMast.getBarcode());
+ crnCommand.setBarcode(wrkMast.getBarcode());//鎵樼洏鐮�
if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
} else {
@@ -1082,6 +1085,7 @@
crnCommand.setDestinationPosX(sta.getRow1().shortValue()); // 鐩爣搴撲綅鎺�
crnCommand.setDestinationPosY(sta.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ(sta.getLev1().shortValue()); // 鐩爣搴撲綅灞�
+ crnCommand.setBarcode(wrkMast.getBarcode());//鎵樼洏鐮�
if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
} else {
@@ -2025,7 +2029,7 @@
case 3://娴嬭瘯瀹屾垚
olsStatus = 4;//娴嬭瘯瀹屾垚
newStatus = 4;//娴嬭瘯瀹屾垚
- newSingle = 4;//娴嬭瘯瀹屾垚锛屽瘎瀛樺櫒鍦板潃锛�3===>>4
+ newSingle = 4;//锛圢G:4\OK:41锛夋祴璇曞畬鎴愶紝瀵勫瓨鍣ㄥ湴鍧�锛�3===>>4\41
break;
case 5://NG娴嬭瘯淇″彿
case 6://瀹屾垚娴嬭瘯淇″彿
@@ -2059,8 +2063,8 @@
newSingle = 0;//澶嶄綅锛屽瘎瀛樺櫒鍦板潃锛�12===>>0
break;
default:
- log.error("璇诲彇娴嬭瘯搴撲綅淇″彿鍑洪敊");
- break;
+ log.info("璇诲彇閫氶亾"+(i+1)+"娴嬭瘯搴撲綅鎸夐挳淇″彿:涓�"+devpThread.startSignal[i][0]);
+ continue;
}
TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>()
@@ -2069,11 +2073,26 @@
boolean sign=false;
switch (devpThread.startSignal[i][0]){
case 0:
+ if (!Cools.isEmpty(testMast)){
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("channel",(i+1)));
+ if (!Cools.isEmpty(locMast) && locMast.getLocSts().equals("F")){
+ sign=true;
+ }
+ }
+ break;
case 3:
if (!Cools.isEmpty(testMast)){
locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("channel",(i+1)));
if (!Cools.isEmpty(locMast) && locMast.getLocSts().equals("F")){
sign=true;
+ if (locMast.getPackStatus()==3){
+ newSingle=41;
+ }else if (locMast.getPackStatus()==4){
+ newSingle=4;
+ }else {
+ log.info("璇诲彇閫氶亾"+(i+1)+"娴嬭瘯搴撲綅鎸夐挳淇″彿:涓�"+devpThread.startSignal[i][0]+"閫氶亾搴撲綅pack鐘舵�佷俊鎭紓甯�"+locMast.getPackStatus());
+ sign=false;
+ }
}
}
break;
@@ -2178,7 +2197,7 @@
sign=true;
break;
default:
- log.error("璇诲彇娴嬭瘯搴撲綅淇″彿鍑洪敊");
+ log.info("璇诲彇閫氶亾"+(i+1)+"娴嬭瘯搴撲綅鎸夐挳淇″彿:涓�"+devpThread.startSignal[i][0]);
continue;
}
if (sign){
@@ -2188,6 +2207,12 @@
} else {
devpThread.startSignal[i][0] = newSingle;
}
+ }
+ try{
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("channel",(i+1)));
+ messageQueueOffer2(i,(short)((int)locMast.getFireStatus()),SlaveType.Devp, devp.getId());
+ }catch (Exception e){
+ log.error("鐏 ===>> 缁欒緭閫佺嚎鍙戦�佽鎶ュけ璐�,閫氶亾鍙凤細", i+1);
}
}
@@ -2207,6 +2232,14 @@
staProtocol.setSiteId(i*2);//瀵勫瓨鍣ㄥ湴鍧�
staProtocol.setStaNo(newSingle);//淇敼PLC瀵勫瓨鍣ㄥ湴鍧�鍊�,8==>0
return MessageQueue.offer(devp, id, new Task(3, staProtocol));
+ }
+
+ public boolean messageQueueOffer2(int i ,short newSingle,SlaveType devp,Integer id){
+ //澶嶄綅PLC淇″彿锛屽�熺敤杈撻�佺珯鐐瑰疄浣撶被
+ StaProtocol staProtocol = new StaProtocol();
+ staProtocol.setSiteId(i*2);//瀵勫瓨鍣ㄥ湴鍧�
+ staProtocol.setStaNo(newSingle);//淇敼PLC瀵勫瓨鍣ㄥ湴鍧�鍊�,8==>0
+ return MessageQueue.offer(devp, id, new Task(5, staProtocol));
}
/**
@@ -2239,4 +2272,30 @@
}
}
+ /**
+ * 103绔欑偣鏈夌墿涓嬪彂pack鐮�
+ */
+ @Transactional
+ public void packDevp() {
+ try {
+ // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("bas_devp",103));
+ if (Cools.isEmpty(basDevp)){
+ log.error("103绔欑偣鏌ヨ澶辫触-MainServiceImpl.java-2255琛�");
+ }
+ if (basDevp.getAutoing().equals("Y") && basDevp.getWrkNo()>0 && basDevp.getLoading().equals("Y") ){
+ WrkDetl wrkDetl = wrkDetlService.devpPackNo(basDevp.getWrkNo());
+ if (Cools.isEmpty(wrkDetl)){
+ log.error("103绔欑偣鏌ヨ澶辫触-MainServiceImpl.java-2255琛�");
+ }
+ MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(4,wrkDetl.getMatnr()));
+ }
+ }
+ } catch (Exception e) {
+ log.error("103 ===>> 缁欒緭閫佺嚎鍙戦�丳ack鐮佸け璐�", e);
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ }
+ }
}
--
Gitblit v1.9.1