From 0134bfa28a0583c0f2b28e52a6c0aeee7098ecf9 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期四, 03 四月 2025 13:04:28 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 328 ++++++++++++++++++++++++++++++------------------------
1 files changed, 180 insertions(+), 148 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 04841ba..3b91932 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -24,12 +24,16 @@
import com.zy.core.enums.*;
import com.zy.core.model.CrnSlave;
import com.zy.core.model.DevpSlave;
+import com.zy.core.model.RgvSlave;
import com.zy.core.model.Task;
import com.zy.core.model.command.CrnCommand;
+import com.zy.core.model.command.RgvCommand;
import com.zy.core.model.protocol.CrnProtocol;
+import com.zy.core.model.protocol.RgvProtocol;
import com.zy.core.model.protocol.StaProtocol;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.thread.BarcodeThread;
+import com.zy.core.thread.RgvThread;
import com.zy.core.thread.SiemensDevpThread;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -78,6 +82,12 @@
private ApiLogService apiLogService;
@Autowired
private CommonService commonService;
+ @Autowired
+ private BasRgvService basRgvService;
+ @Autowired
+ private WrkMastStaMapper wrkMastStaMapper;
+ @Autowired
+ private BasRgvMapMapper basRgvMapMapper;
@Value("${wms.url}")
private String wmsUrl;
@@ -90,6 +100,8 @@
@Autowired
private CrnController crnController;
+ @Value("${wms.rgvOpen}")
+ private boolean rgvOpen;
public void generateStoreWrkFile() throws IOException, InterruptedException {
try {
@@ -107,8 +119,8 @@
} else {
staProtocol = staProtocol.clone();
}
- Short workNo = staProtocol.getWorkNo();
- Short stano = staProtocol.getStaNo();
+ Integer workNo = staProtocol.getWorkNo();
+ Integer stano = staProtocol.getStaNo();
// 灏哄妫�娴嬪紓甯�
boolean back = false;
@@ -154,7 +166,7 @@
}
// News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg);
staProtocol.setWorkNo(workNo);
- staProtocol.setStaNo(inSta.getStaNo().shortValue());
+ staProtocol.setStaNo(inSta.getStaNo());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo));
@@ -189,8 +201,8 @@
log.info("鎵樼洏鐮侊細"+barcode+"浠诲姟妗e瓨鍦�");
return;
}else {
- staProtocol.setWorkNo(taskWrk1.getWrkNo().shortValue());
- staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
+ staProtocol.setWorkNo(taskWrk1.getWrkNo());
+ staProtocol.setStaNo(staDesc.getCrnStn());
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
}
}
@@ -222,8 +234,8 @@
// 閫�鍥�
log.error("鎵爜妫�娴嬬▼搴忓紓甯�"+inSta.getStaNo()+"寮傚父淇℃伅"+e1);
}
- staProtocol.setWorkNo((short)9999);
- staProtocol.setStaNo(inSta.getStaNo().shortValue());
+ staProtocol.setWorkNo(9999);
+ staProtocol.setStaNo(inSta.getStaNo());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
// TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo));
@@ -276,8 +288,8 @@
log.error("鎵爜妫�娴嬬▼搴忓紓甯�"+inSta.getStaNo()+errMsg);
log.error("鎵爜妫�娴嬬▼搴忓紓甯�,寮傚父淇℃伅"+e);
- staProtocol.setWorkNo((short)9999);
- staProtocol.setStaNo(inSta.getStaNo().shortValue());
+ staProtocol.setWorkNo(9999);
+ staProtocol.setStaNo(inSta.getStaNo());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
// TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo));
@@ -331,8 +343,8 @@
taskWrkService.insert(taskWrk);
StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
.eq("crn_no", taskWrk.getCrnNo()).eq("type_no",1).eq("stn_no",staProtocol.getSiteId()));
- staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
- staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
+ staProtocol.setWorkNo(taskWrk.getWrkNo());
+ staProtocol.setStaNo(staDesc.getCrnStn());
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
}
}
@@ -345,8 +357,8 @@
// 閫�鍥�
log.error("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg);
- staProtocol.setWorkNo((short)9999);
- staProtocol.setStaNo(inSta.getStaNo().shortValue());
+ staProtocol.setWorkNo(9999);
+ staProtocol.setStaNo(inSta.getStaNo());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo));
@@ -394,8 +406,8 @@
}
log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:"+JSON.toJSONString(taskWrk));
// R r = siteController.siteDetlUpdate(Integer.valueOf(taskWrk.getTargetPoint()), taskWrk.getWrkNo().shortValue(), (short) 0, "Y", false, false);
- staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
- staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
+ staProtocol.setWorkNo(taskWrk.getWrkNo());
+ staProtocol.setStaNo(staDesc.getCrnStn());
boolean offer = false;
try{
offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
@@ -1112,7 +1124,160 @@
}
return taskWrk;
}
+ /**
+ * 瀹屾垚灏忚溅浠诲姟
+ */
+ public synchronized void rgvCompleteWrkMastSta() {
+ try{
+ for (RgvSlave rgvSlave:slaveProperties.getRgv()) {
+ RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId());
+ RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+ if (rgvProtocol == null) {
+ continue;
+ }
+ BasRgv basRgv = basRgvService.selectById(rgvSlave.getId());
+ if (basRgv == null) {
+ log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgvSlave.getId());
+ continue;
+ }
+ // 鍙湁褰揜GV绛夊緟WCS纭銆佽嚜鍔�
+ if (rgvProtocol.getStatusType() == RgvStatusType.WORKING
+ && rgvProtocol.getModeType() == RgvModeType.AUTO
+ && ((rgvProtocol.getStatusType1()==RgvStatusType.WAITING || rgvProtocol.getStatusType2()==RgvStatusType.WAITING ) ||
+ (rgvProtocol.getStatusType1()==RgvStatusType.FETCHWAITING || rgvProtocol.getStatusType2()==RgvStatusType.FETCHWAITING ))
+ ) {
+ log.info("{}鍙峰皬杞︾瓑寰厀cs纭锛岀姸鎬亄}锛屽弬鏁皗}",rgvProtocol.getRgvNo(),rgvProtocol.getStatusType(),rgvProtocol);
+ if (rgvProtocol.getTaskNo1()!=0 && (rgvProtocol.getStatusType1()==RgvStatusType.WAITING || rgvProtocol.getStatusType1()==RgvStatusType.FETCHWAITING)){
+ if (rgvProtocol.getTaskNo1()==(short)32222){
+ boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo());
+ if (!rgvComplete){
+ log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo());
+ }
+ BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+ basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
+ rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
+ break;
+ }
+ WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(rgvProtocol.getTaskNo1().longValue());
+ if (Cools.isEmpty(wrkMastSta) || wrkMastSta.getType()!=1 || wrkMastSta.getWrkSts()!=1){
+ log.error("鏈煡鍒板皬杞︽墽琛屼换鍔℃垨鑰呮墽琛屼换鍔$姸鎬佷笉绗﹀悎锛�"+wrkMastSta);
+ continue;
+ }
+ /* WrkMast wrkMast = wrkMastMapper.selectPakInStep3(wrkMastSta.getWrkNo().intValue());
+ if (!Cools.isEmpty(wrkMast) && wrkMastSta.getWrkType()!=5){
+ Thread.sleep(200);
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ StaProtocol staProtocol = devpThread.getStation().get(wrkMastSta.getStaEnd());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ if (!staProtocol.isAutoing() || !staProtocol.isLoading()){
+ continue;
+ }
+ // 涓嬪彂绔欑偣淇℃伅
+ staProtocol.setWorkNo(wrkMast.getWrkNo());
+ staProtocol.setStaNo(wrkMast.getStaNo());
+ if (!MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol))) {
+ continue;
+ }
+ log.error("灏忚溅浠诲姟瀹屾垚涓嬪彂杈撻�佺嚎浠诲姟锛�"+staProtocol);
+// try{
+// Thread.sleep(1000);
+// DevpThread devpThreadEnd = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+// StaProtocol staProtocolEnd = devpThreadEnd.getStation().get(wrkMastSta.getStaEnd());
+// log.error("灏忚溅浠诲姟瀹屾垚璇诲彇杈撻�佺嚎浠诲姟锛�"+staProtocolEnd);
+// if (staProtocolEnd.getWorkNo()==0 ){ //|| !staProtocolEnd.getWorkNo().equals(wrkMast.getWrkNo())
+// staProtocolEnd.setWorkNo(wrkMast.getWrkNo());
+// staProtocolEnd.setStaNo(wrkMast.getStaNo());
+// if (!MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocolEnd))) {
+// continue;
+// }
+// log.error("灏忚溅浠诲姟瀹屾垚涓嬪彂杈撻�佺嚎浠诲姟绗簩娆★細"+staProtocolEnd);
+// }
+// }catch (Exception e){
+//
+// }
+ }*/
+ boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo());
+ if (!rgvComplete){
+ log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo());
+ break;
+ }
+ wrkMastSta.setWrkSts(3);
+ wrkMastStaMapper.updateById(wrkMastSta);
+ BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+ basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
+ rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
+ }else if (rgvProtocol.getTaskNo2()!=0 && (rgvProtocol.getStatusType2()==RgvStatusType.WAITING || rgvProtocol.getStatusType2()==RgvStatusType.FETCHWAITING)){
+ if (rgvProtocol.getTaskNo2()==(short)32222){
+ boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo());
+ if (!rgvComplete){
+ log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo());
+ }
+ BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+ basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
+ rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
+ break;
+ }
+ WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(rgvProtocol.getTaskNo2().longValue());
+ if (Cools.isEmpty(wrkMastSta) || wrkMastSta.getType()!=2){
+ log.error("鏈煡鍒板皬杞︽墽琛屼换鍔℃垨鑰呮墽琛屼换鍔$姸鎬佷笉绗﹀悎锛�"+wrkMastSta);
+ continue;
+ }
+ /*WrkMast wrkMast = wrkMastMapper.selectPakInStep3(wrkMastSta.getWrkNo().intValue());
+ if (!Cools.isEmpty(wrkMast) && wrkMastSta.getWrkType()!=5){
+ Thread.sleep(200);
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ StaProtocol staProtocol = devpThread.getStation().get(wrkMastSta.getStaEnd());
+ if (!staProtocol.isAutoing() || !staProtocol.isLoading()){
+ continue;
+ }
+ // 涓嬪彂绔欑偣淇℃伅
+ staProtocol.setWorkNo(wrkMast.getWrkNo());
+ staProtocol.setStaNo(wrkMast.getStaNo());
+ if (!MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol))) {
+ continue;
+ }
+ log.error("灏忚溅浠诲姟瀹屾垚涓嬪彂杈撻�佺嚎浠诲姟锛�"+staProtocol);
+// try{
+// Thread.sleep(1000);
+// DevpThread devpThreadEnd = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+// StaProtocol staProtocolEnd = devpThreadEnd.getStation().get(wrkMastSta.getStaEnd());
+// log.error("灏忚溅浠诲姟瀹屾垚璇诲彇杈撻�佺嚎浠诲姟锛�"+staProtocolEnd);
+// if (staProtocolEnd.getWorkNo()==0 ){ //|| !staProtocolEnd.getWorkNo().equals(wrkMast.getWrkNo())
+// staProtocolEnd.setWorkNo(wrkMast.getWrkNo());
+// staProtocolEnd.setStaNo(wrkMast.getStaNo());
+// if (!MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocolEnd))) {
+// continue;
+// }
+// log.error("灏忚溅浠诲姟瀹屾垚涓嬪彂杈撻�佺嚎浠诲姟绗簩娆★細"+staProtocolEnd);
+// }
+// }catch (Exception e){
+//
+// }
+ }*/
+ boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo());
+ if (!rgvComplete){
+ log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo());
+ break;
+ }
+ wrkMastSta.setWrkSts(3);
+ wrkMastStaMapper.updateById(wrkMastSta);
+ BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+ basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
+ rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
+ }else {
+ log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{},绛夊緟wcs纭浣嗘槸娌℃湁宸ヤ綔鍙凤紒",rgvProtocol.getRgvNo());
+ }
+ }
+ }
+ }catch (Exception e){
+ log.error("灏忚溅澶嶄綅绾跨▼鎶ラ敊锛�"+e);
+ }
+ }
/**
* 鍏ュ嚭搴� ===>> 灏忚溅浣滀笟涓嬪彂
*/
@@ -1156,9 +1321,6 @@
case 4://鍙栧彔鐩�
signWork = rgvRunWrkMastEmptyStaTake(rgvSlave);
break;
- case 5:////婊″彇
- signWork = rgvRunWrkMastEmptyStaTakeFull(rgvSlave);
- break;
case 6:////鎻愬崌
// signWork = qwe();
break;
@@ -1178,9 +1340,6 @@
break;
case 4://鍙栧彔鐩�
signWork = rgvRunWrkMastEmptyStaTake(rgvSlave);
- break;
- case 5:////婊″彇
- signWork = rgvRunWrkMastEmptyStaTakeFull(rgvSlave);
break;
case 6:////鎻愬崌
// signWork = rgvRunWrkMastEmptyStaPut();
@@ -1247,16 +1406,6 @@
BasDevp basDevp = basDevpService.selectById(wrkMastSta.getStaEnd());
if (!basDevp.getAutoing().equals("Y") || basDevp.getLoading().equals("Y") || basDevp.getWrkNo()!=0){
continue;
- }
- if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){
- if (basDevp.getLoadingSuper().equals("Y")){
- continue;
- }
- }
- if (basDevp.getDevNo()>=118 && basDevp.getDevNo()<=123){
- if (!basDevp.getEmptyMk().equals("Y")){
- continue;
- }
}
Date date = new Date();
@@ -1365,16 +1514,6 @@
if (!basDevp.getAutoing().equals("Y") || basDevp.getLoading().equals("Y") || basDevp.getWrkNo()!=0){
continue;
}
- if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){
- if (basDevp.getLoadingSuper().equals("Y")){
- continue;
- }
- }
- if (basDevp.getDevNo()>=118 && basDevp.getDevNo()<=123){
- if (!basDevp.getEmptyMk().equals("Y")){
- continue;
- }
- }
Date date = new Date();
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, rgvSlave.getDevpPlcId());
@@ -1473,16 +1612,6 @@
if (!basDevp.getAutoing().equals("Y") || basDevp.getLoading().equals("Y") || basDevp.getWrkNo()!=0){
continue;
}
- if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){
- if (basDevp.getLoadingSuper().equals("Y")){
- continue;
- }
- }
- if (basDevp.getDevNo()>=118 && basDevp.getDevNo()<=123){
- if (!basDevp.getEmptyMk().equals("Y")){
- continue;
- }
- }
Date date = new Date();
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, rgvSlave.getDevpPlcId());
@@ -1578,11 +1707,6 @@
if (!basDevp.getAutoing().equals("Y") || !basDevp.getLoading().equals("Y")){
continue;
}
- if (basDevp.getDevNo()>=118 && basDevp.getDevNo()<=123){
- if (!basDevp.getEmptyMk().equals("Y")){
- continue;
- }
- }
Date date = new Date();
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, rgvSlave.getDevpPlcId());
@@ -1603,98 +1727,6 @@
log.info(date+"鍙犵洏浠诲姟涓嬪彂锛氬皬杞﹀伐浣滄。锛�"+wrkMastSta);
log.info(date+"鍙犵洏浠诲姟涓嬪彂锛氱洰鏍囩珯鐘舵�侊細"+basDevp);
sign = rgvTakeEmpty(rgvProtocol.getRgvNo(),wrkMastSta);//鍙犵洏
- }else {
- continue;
- }
- if (sign){
- boolean signMap = rgvMapUpdate(basRgvMap, wrkMastSta.getStaStart(), basRgvMap.getStartRoute());
- if (signMap){
- wrkMastSta.setWrkSts(1);
- try{
- wrkMastStaMapper.updateById(wrkMastSta);
- }catch (Exception e){
- log.error("鏇存柊灏忚溅浠诲姟澶辫触");
- }
- return true;
- }else {
- log.error("3879琛岋紝璐х墿鎼繍浠诲姟锛氬伐浣滃彿{}鎵�灞炰换鍔′笅鍙戝悗鍦板浘鍚屾澶辫触",wrkMastSta.getWrkNo());
- }
- }else {
- log.error("宸ヤ綔鍙穥}鎵�灞炰换鍔′笅鍙戝け璐�",wrkMastSta.getWrkNo());
- }
- break;
- }
- }
-// }
- }catch (Exception e){
- log.error("3989琛屾墽琛屽皬杞﹀彇绌烘澘浠诲姟涓嬪彂澶辫触");
- log.error("3989琛�"+e);
- }
- return false;
- }
-
- public synchronized boolean rgvRunWrkMastEmptyStaTakeFull(RgvSlave rgvSlave) {//婊″彇
- try{
-// for (RgvSlave rgvSlave:slaveProperties.getRgv()) {
- RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId());
- RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
- if (rgvProtocol == null) {
- return false;
- }
- BasRgv basRgv = basRgvService.selectById(rgvSlave.getId());
- if (basRgv == null) {
- log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgvSlave.getId());
- return false;
- }
-
- // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅浜屾棤鐗�//rgv鍙敤
- if (rgvProtocol.getStatusType() == RgvStatusType.IDLE
- && rgvProtocol.getStatusType1() == RgvStatusType.IDLE
- && rgvProtocol.getStatusType2() == RgvStatusType.IDLE
- && rgvProtocol.getModeType() == RgvModeType.AUTO
- && rgvProtocol.getTaskNo1()==0 && rgvProtocol.getTaskNo2()==0
- && rgvProtocol.getLoaded2()==0 //鐜板満淇敼锛氬彔鐩樻満锛�////0 鏃犵墿锛�1 涓�灞傛棤鐗╀簩灞傛湁鐗╋紙鍙兘鎷嗗彔锛� 锛�2涓�灞傛湁鐗╀簩灞傛棤鐗� 锛堝彧鑳芥弧鏀撅級锛�3 1銆�2灞傞兘鏈夌墿 4锛氾紙锛夊彧鍏佽鎷嗙洏
- ) {
- BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
- if (basRgvMap == null) {
- log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo());
- return false;
- }
- List<Integer> route = RouteUtils.getRoute(basRgvMap.getStartRoute(), basRgvMap.getEndRoute());
- basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
- List<WrkMastSta> wrkMastStaList = wrkMastStaMapper.selectNoInterfereList(route, route);
- WrkMast wrkMast = wrkMastMapper.selectBy122ManQu(122,110,15L);
- if (!Cools.isEmpty(wrkMast)){
- WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(wrkMast.getWrkNo().longValue());
- if (!Cools.isEmpty(wrkMastSta) && wrkMastSta.getType()==2 && wrkMastSta.getWrkType()==5 ){
- wrkMastStaList.add(wrkMastSta);
- }
- }
- for (WrkMastSta wrkMastSta : wrkMastStaList){
- if (wrkMastSta.getType()!=2 || wrkMastSta.getWrkType()!=5){// 2:绌烘澘 || 宸ヤ綔绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭媶鐩� 5锛氭弧鍙� 6锛氭弧鏀�
- continue;
- }
- boolean sign = false;
- if (wrkMastSta.getStaStart()!=0){//婊″彇
- BasDevp basDevp = basDevpService.selectById(wrkMastSta.getStaStart());
- if (!basDevp.getAutoing().equals("Y") || !basDevp.getLoading().equals("Y")){
- continue;
- }
- Date date = new Date();
-
- SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, rgvSlave.getDevpPlcId());
- StaProtocol staProtocol = devpThread.getStation().get(basDevp.getDevNo());
- if (staProtocol == null) {
- log.info(date+"婊″彇浠诲姟涓嬪彂锛氭湭鏌ヨ鍒扮珯鐐逛俊鎭細"+wrkMastSta);
- continue;
- }
- if (!staProtocol.isAutoing() || staProtocol.isLoading()){
- continue;
- }
-
- log.info(date+"婊″彇浠诲姟涓嬪彂锛氬皬杞﹀伐浣滄。锛�"+wrkMastSta);
- log.info(date+"婊″彇浠诲姟涓嬪彂锛氱洰鏍囩珯鐘舵�侊細"+basDevp);
- sign = rgvTakeEmptyFull(rgvProtocol.getRgvNo(),wrkMastSta);
}else {
continue;
}
--
Gitblit v1.9.1