From 6cb1f93b9914cb374ee6598b0c55555feed412d2 Mon Sep 17 00:00:00 2001
From: lsh <s>
Date: 星期五, 17 五月 2024 15:59:52 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 93 ++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 84 insertions(+), 9 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 b4c90d5..7194c24 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -296,7 +296,12 @@
if (rgvComplete){
rgvThread.setPakMk(true);
}
-
+ List<WrkMastSta> wrkMastStas = wrkMastStaMapper.selectList(new EntityWrapper<WrkMastSta>().ne("wrk_sts",3).eq("wrk_no", rgvProtocol.getTaskNo1()));
+ if (!Cools.isEmpty(wrkMastStas) || wrkMastStas.size()<=0){
+ WrkMastSta wrkMastSta = wrkMastStas.get(0);
+ wrkMastSta.setWrkSts(3);
+ wrkMastStaMapper.updateById(wrkMastSta);
+ }
}
}
@@ -394,7 +399,7 @@
// System.out.println(JSON.toJSONString(staProtocol));
if (staProtocol.isAutoing()){
WrkMastSta wrkMastSta = new WrkMastSta(new Date(),2,1);
- Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMastSta.getWrkNo()));
+ Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().ne("wrk_sts",3).eq("wrk_no", wrkMastSta.getWrkNo()));
if (count==0){
wrkMastSta.setType(1);
wrkMastSta.setWrkType(3);
@@ -402,7 +407,7 @@
}
}else if (staProtocol.isLoading()){
WrkMastSta wrkMastSta = new WrkMastSta(new Date(),2,3);
- Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMastSta.getWrkNo()));
+ Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().ne("wrk_sts",3).eq("wrk_no", wrkMastSta.getWrkNo()));
if (count==0){
wrkMastSta.setType(1);
wrkMastSta.setWrkType(3);
@@ -410,7 +415,7 @@
}
}else if (staProtocol.isInEnable()){
WrkMastSta wrkMastSta = new WrkMastSta(new Date(),2,5);
- Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMastSta.getWrkNo()));
+ Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().ne("wrk_sts",3).eq("wrk_no", wrkMastSta.getWrkNo()));
if (count==0){
wrkMastSta.setType(1);
wrkMastSta.setWrkType(3);
@@ -418,7 +423,7 @@
}
}else if (staProtocol.isOutEnable()){
WrkMastSta wrkMastSta = new WrkMastSta(new Date(),2,7);
- Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMastSta.getWrkNo()));
+ Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().ne("wrk_sts",3).eq("wrk_no", wrkMastSta.getWrkNo()));
if (count==0){
wrkMastSta.setType(1);
wrkMastSta.setWrkType(3);
@@ -427,7 +432,7 @@
}
if (staProtocol.isEmptyMk()){
WrkMastSta wrkMastSta = new WrkMastSta(new Date(),1,10);
- Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMastSta.getWrkNo()));
+ Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().ne("wrk_sts",3).eq("wrk_no", wrkMastSta.getWrkNo()));
if (count==0){
wrkMastSta.setType(1);
wrkMastSta.setWrkType(3);
@@ -436,7 +441,7 @@
}
if (staProtocol.isFullPlt()){
WrkMastSta wrkMastSta = new WrkMastSta(new Date(),3,10);
- Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMastSta.getWrkNo()));
+ Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().ne("wrk_sts",3).eq("wrk_no", wrkMastSta.getWrkNo()));
if (count==0){
wrkMastSta.setType(1);
wrkMastSta.setWrkType(3);
@@ -445,7 +450,7 @@
}
if (staProtocol.isCar()){
WrkMastSta wrkMastSta = new WrkMastSta(new Date(),5,10);
- Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMastSta.getWrkNo()));
+ Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().ne("wrk_sts",3).eq("wrk_no", wrkMastSta.getWrkNo()));
if (count==0){
wrkMastSta.setType(1);
wrkMastSta.setWrkType(3);
@@ -454,7 +459,7 @@
}
if (staProtocol.isLow()){
WrkMastSta wrkMastSta = new WrkMastSta(new Date(),7,10);
- Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMastSta.getWrkNo()));
+ Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().ne("wrk_sts",3).eq("wrk_no", wrkMastSta.getWrkNo()));
if (count==0){
wrkMastSta.setType(1);
wrkMastSta.setWrkType(3);
@@ -470,6 +475,76 @@
}
}
+ /**
+ * 鎵ц灏忚溅鎼繍浠诲姟
+ */
+ public synchronized void rgvRunWrkMastFullSta() {
+ try{
+ SiemensRgvThread rgvThread = (SiemensRgvThread) SlaveConnection.get(SlaveType.Rgv, 1);
+ RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+ if (rgvProtocol == null) {
+ log.error("RGV涓嶅湪绾�");
+ return;
+ }
+ // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅涓�鏃犵墿//rgv鍙敤
+ if (rgvProtocol.getStatusType1() == RgvStatusType.IDLE
+ && rgvProtocol.getModeType() == RgvModeType.AUTO
+ && rgvProtocol.getLoaded1()==0
+ && rgvProtocol.getTaskNo1() == 0
+ && rgvThread.isPakMk()
+ ) {
+ Integer selectCount = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().ne("wrk_sts", 3).ne("wrk_sts", 0));
+ if (selectCount>0){
+ log.error("瀛樺湪鎵цRGV涓换鍔★紝浣嗘槸灏忚溅鐘舵�佺┖闂诧紒锛侊紒");
+ return;
+ }
+
+ List<WrkMastSta> wrkMastStaList = wrkMastStaMapper.selectList(new EntityWrapper<WrkMastSta>().eq("wrk_sts",0));
+ for (WrkMastSta wrkMastSta : wrkMastStaList){
+ if (wrkMastSta.getType()!=1 || wrkMastSta.getWrkType()!=3){//1:婊$増 3锛氬彇鏀�
+ continue;
+ }
+ boolean sign = rgvTakeFullAll(1, wrkMastSta); //鍛戒护涓嬪彂
+ if (sign){
+ wrkMastSta.setWrkSts(1);
+ wrkMastStaMapper.updateById(wrkMastSta);
+ } else {
+ log.error("宸ヤ綔鍙穥}鎵�灞炰换鍔′笅鍙戝け璐�",wrkMastSta.getWrkNo());
+ }
+ break;
+ }
+ }
+ }catch (Exception e){
+ log.error("3875琛屾墽琛屽皬杞︽惉杩愪换鍔′笅鍙戝け璐�");
+ log.error("3875琛�"+e);
+ }
+ }
+ /*
+ * 灏忚溅鍙栬揣鑷冲伐浣嶄换鍔�
+ * */
+ public synchronized boolean rgvTakeFullAll(Integer rgvId,WrkMastSta wrkMastSta){
+ try{
+ // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ RgvCommand rgvCommand = new RgvCommand();
+ rgvCommand.setRgvNo(rgvId); // RGV缂栧彿
+ rgvCommand.setAckFinish1(false); // 宸ヤ綅1浠诲姟瀹屾垚纭浣�
+ rgvCommand.setTaskNo1(wrkMastSta.getWrkNo().intValue()); // 宸ヤ綅1宸ヤ綔鍙�
+ rgvCommand.setTaskMode1(RgvTaskModeType.FETCH_PUT); // 宸ヤ綅1浠诲姟妯″紡: 鍙栨斁璐�
+ rgvCommand.setSourceStaNo1(wrkMastSta.getStaStart().shortValue()); //宸ヤ綅1璧风偣
+ rgvCommand.setDestinationStaNo1(wrkMastSta.getStaEnd().shortValue()); //宸ヤ綅1鐩爣绔欑偣
+ rgvCommand.setCommand((short) 0); //宸ヤ綅1浠诲姟纭
+ if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(4, rgvCommand))) {
+ //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱 step=4锛屽伐浣�1鍐欎换鍔★紱 step=5锛屽伐浣�2鍐欎换鍔�
+ log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand));
+ return false;
+ } else {
+ return true;
+ }
+ }catch (Exception e){
+ return false;
+ }
+ }
+
}
--
Gitblit v1.9.1