From 7db6dd119502b1b17970d1e830bacdfe22b182ad Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期三, 02 十一月 2022 11:02:52 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 299 ++++++++++++++++++++++++++++++++++-------------------------
1 files changed, 173 insertions(+), 126 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 8cd1e05..3134932 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -15,6 +15,7 @@
import com.zy.common.model.MatDto;
import com.zy.common.model.SearchLocParam;
import com.zy.common.model.StartupDto;
+import com.zy.common.model.enums.WrkChargeType;
import com.zy.common.service.CommonService;
import com.zy.common.utils.CollectionUtils;
import com.zy.common.utils.HttpHandler;
@@ -2483,7 +2484,10 @@
*/
@SuppressWarnings("serial")
public synchronized void loopSteCharge() {
- if (null != wrkChargeService.selectWorking(null, "reset")) {
+ if (null != wrkChargeService.selectWorking(null, WrkChargeType.reset)) {
+ return;
+ }
+ if (null != wrkChargeService.selectWorking(null, WrkChargeType.charge)) {
return;
}
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
@@ -2508,7 +2512,7 @@
if (steProtocol.getCharge() > Float.parseFloat(basSte.getChargeLine())) {
continue;
}
- WrkCharge wrkCharge = wrkChargeService.selectWorking(null, "charge");
+ WrkCharge wrkCharge = wrkChargeService.selectWorking(null, WrkChargeType.charge);
if (wrkCharge == null && steProtocol.getChargeStatus() == 0) {
// 瀵绘壘绌洪棽鍏呯數妗�
@@ -2516,23 +2520,29 @@
do {
String locNo;
if (!devpThread.charge0) {
- locNo = SteChargeType.FIRST.locNo;
- if (basSteService.hasCarOfLocNo(locNo) == null) {
- steCharge = SteChargeType.FIRST;
+ SteChargeType first = SteChargeType.FIRST;
+ locNo = first.locNo;
+ if (basSteService.hasCarOfLocNo(locNo) == null
+ && wrkChargeService.selectWorkingOfCharge(first.ssbm) != null) {
+ steCharge = first;
break;
}
}
if (!devpThread.charge1) {
- locNo = SteChargeType.SECOND.locNo;
- if (basSteService.hasCarOfLocNo(locNo) == null) {
- steCharge = SteChargeType.SECOND;
+ SteChargeType second = SteChargeType.SECOND;
+ locNo = second.locNo;
+ if (basSteService.hasCarOfLocNo(locNo) == null
+ && wrkChargeService.selectWorkingOfCharge(second.ssbm) != null) {
+ steCharge = second;
break;
}
}
if (!devpThread.charge2) {
- locNo = SteChargeType.THIRD.locNo;
- if (basSteService.hasCarOfLocNo(locNo) == null) {
- steCharge = SteChargeType.THIRD;
+ SteChargeType third = SteChargeType.THIRD;
+ locNo = third.locNo;
+ if (basSteService.hasCarOfLocNo(locNo) == null
+ && wrkChargeService.selectWorkingOfCharge(third.ssbm) != null) {
+ steCharge = third;
break;
}
}
@@ -2546,6 +2556,7 @@
String chargeLocNo = steCharge.locNo;
wrkCharge = new WrkCharge();
wrkCharge.setSteNo(ste.getId());
+ wrkCharge.setCharge(steCharge.ssbm);
wrkCharge.setWrkNo(commonService.getChargeWorkNo(4));
wrkCharge.setWrkSts(21L); // 21.鍑嗗鍏呯數
wrkCharge.setCrnNo(2); // 鍥哄畾2鍙峰爢鍨涙満
@@ -2572,145 +2583,179 @@
this.letCarBeWaiting(wrkCharge, ste.getId());
}
- } else {
- // filter
- if (wrkCharge == null || (wrkCharge.getWrkSts() < 28 && steProtocol.getChargeStatus() == 1)) {
- continue;
- }
+ break;
+ }
+ } catch (Exception e) {
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ log.error("loopSteCharge fail", e);
+ }
+ }
+ }
- // 22.灏忚溅寰呮惉
- if (wrkCharge.getWrkSts() == 22) {
+ /**
+ * 鎵ц灏忚溅鍏呯數浠诲姟
+ */
+ public synchronized void executeSteCharge() {
+ WrkCharge wrkCharge = wrkChargeService.selectWorking(null, WrkChargeType.charge);
+ if (null == wrkCharge) { return; }
+ Integer steNo = wrkCharge.getSteNo();
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ BasSte basSte = basSteService.selectById(steNo);
+ if (Cools.isEmpty(steProtocol, basSte)) { return; }
+ if (steProtocol.getMode() == 0
+ || !steProtocol.statusType.equals(SteStatusType.IDLE)
+ || basSte.getPakMk().equals("Y")
+ || basSte.getAutoCharge().equals("N")
+// || steProtocol.getChargeStatus() == 1
+ ) {
+ return;
+ }
+ if (!steProtocol.isEnable()) {
+ return;
+ }
+ if (steProtocol.getCharge() > Float.parseFloat(basSte.getChargeLine())) {
+ wrkCharge.setWrkSts(30L);
+ wrkChargeMapper.updateById(wrkCharge);
+ return;
+ }
+ try {
+ // filter
+ if (wrkCharge.getWrkSts() < 28 && steProtocol.getChargeStatus() == 1) {
+ return;
+ }
- // 鎼皬杞﹁嚦灏忚溅璧板悜閫氶亾
- List<String> channel = slaveProperties.getChannel();
- for (String channelLocNo : channel) {
- Integer otherSte = existOtherSte(channelLocNo, wrkCharge.getSteNo());
- if (null != otherSte) {
- log.warn("{}鍙峰皬杞︾Щ鍏}搴撲綅缁勫け璐ワ紝鍘熷洜锛氬瓨鍦▄}鍙风┛姊溅锛�", wrkCharge.getSteNo(), channelLocNo, otherSte);
- } else {
- LocMast channelLoc = locMastService.selectById(channelLocNo);
+ // 22.灏忚溅寰呮惉
+ if (wrkCharge.getWrkSts() == 22) {
- CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, wrkCharge.getCrnNo());
- CrnProtocol crnProtocol = crnThread.getCrnProtocol();
- if (crnProtocol == null) { continue; }
- // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
- if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) {
- // 鍫嗗灈鏈哄懡浠や笅鍙戝尯 --------------------------------------------------------------------------
- CrnCommand crnCommand = new CrnCommand();
- crnCommand.setCrnNo(wrkCharge.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
- crnCommand.setTaskNo(wrkCharge.getWrkNo().shortValue()); // 宸ヤ綔鍙�
- crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- crnCommand.setTaskMode(CrnTaskModeType.STE_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX(Utils.getGroupRow(steProtocol.getRow().intValue(), true).shortValue()); // 婧愬簱浣嶆帓
- crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪
- crnCommand.setSourcePosZ(steProtocol.getLev()); // 婧愬簱浣嶅眰
- crnCommand.setDestinationPosX(Utils.getGroupRow(channelLoc.getLocNo(), true).shortValue()); // 鐩爣搴撲綅鎺�
- crnCommand.setDestinationPosY(channelLoc.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
- crnCommand.setDestinationPosZ(channelLoc.getLev1().shortValue()); // 鐩爣搴撲綅灞�
- if (!MessageQueue.offer(SlaveType.Crn, wrkCharge.getCrnNo(), new Task(2, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkCharge.getCrnNo(), JSON.toJSON(crnCommand));
- } else {
- // 淇敼绌挎杞﹁繍琛屼腑鎺掑垪灞�
- steThread.modifyPos(Utils.getGroupRow(channelLoc.getLocNo(), true), channelLoc.getBay1(), channelLoc.getLev1());
- // 淇敼宸ヤ綔妗g姸鎬� 22.灏忚溅寰呮惉 => 23.鍚婅溅鎼繍
- Date now = new Date();
- wrkCharge.setWrkSts(23L);
- wrkCharge.setCrnStrTime(now);
- wrkCharge.setModiTime(now);
- if (!wrkChargeService.updateById(wrkCharge)) {
- log.error("淇敼宸ヤ綔妗g姸鎬� 22.灏忚溅寰呮惉 => 23.鍚婅溅鎼繍 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
- }
- }
- break;
- }
+ // 鎼皬杞﹁嚦灏忚溅璧板悜閫氶亾
+ List<String> channel = slaveProperties.getChannel();
+ for (String channelLocNo : channel) {
+ Integer otherSte = existOtherSte(channelLocNo, wrkCharge.getSteNo());
+ if (null != otherSte) {
+ log.warn("{}鍙峰皬杞︾Щ鍏}搴撲綅缁勫け璐ワ紝鍘熷洜锛氬瓨鍦▄}鍙风┛姊溅锛�", wrkCharge.getSteNo(), channelLocNo, otherSte);
+ } else {
+ LocMast channelLoc = locMastService.selectById(channelLocNo);
- }
- }
-
- } else if (wrkCharge.getWrkSts() == 24L) {
- // 灏忚溅琛岄┒閫氶亾
- if (steProtocol.statusType.equals(SteStatusType.IDLE) && steProtocol.getPakMk().equals("N")) {
- if (steProtocol.getChargeStatus() == 1) { continue; }
- // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
- SteCommand steCommand = new SteCommand();
- steCommand.setSteNo(wrkCharge.getSteNo()); // 绌挎杞︾紪鍙�
- steCommand.setTaskNo(wrkCharge.getWrkNo()); // 宸ヤ綔鍙�
- steCommand.setTaskMode(SteTaskModeType.GO_ORIGIN); // 鍘诲彸绔�
-
- steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue(), false).shortValue());
- steCommand.setBay(steProtocol.getBay());
- steCommand.setLev(steProtocol.getLev());
- if (!MessageQueue.offer(SlaveType.Ste, wrkCharge.getSteNo(), new Task(2, steCommand))) {
- log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand));
- } else {
- // 淇敼宸ヤ綔妗g姸鎬� 24.灏忚溅鍒拌揪 ===> 25.灏忚溅璧拌
- wrkCharge.setWrkSts(25L);
- Date now = new Date();
- wrkCharge.setCrnEndTime(now);
- wrkCharge.setModiTime(now);
- if (!wrkChargeService.updateById(wrkCharge)) {
- log.error("淇敼鍏呯數浠诲姟鐘舵�� 24.灏忚溅鍒拌揪 ===> 25.灏忚溅璧拌 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
- }
- }
- }
- } else if (wrkCharge.getWrkSts() == 26) {
- // 鍥哄畾鍫嗗灈鏈�
- int crnNo = 1;
- // 鍏呯數浣�
- LocMast chargeLoc = locMastService.selectById(wrkCharge.getLocNo());
-
- CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crnNo);
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, wrkCharge.getCrnNo());
CrnProtocol crnProtocol = crnThread.getCrnProtocol();
if (crnProtocol == null) { continue; }
// 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) {
// 鍫嗗灈鏈哄懡浠や笅鍙戝尯 --------------------------------------------------------------------------
CrnCommand crnCommand = new CrnCommand();
- crnCommand.setCrnNo(crnNo); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand.setCrnNo(wrkCharge.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
crnCommand.setTaskNo(wrkCharge.getWrkNo().shortValue()); // 宸ヤ綔鍙�
crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
crnCommand.setTaskMode(CrnTaskModeType.STE_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX(Utils.getGroupRow(steProtocol.getRow().intValue(), false).shortValue()); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosX(Utils.getGroupRow(steProtocol.getRow().intValue(), true).shortValue()); // 婧愬簱浣嶆帓
crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪
crnCommand.setSourcePosZ(steProtocol.getLev()); // 婧愬簱浣嶅眰
- crnCommand.setDestinationPosX(chargeLoc.getRow1().shortValue()); // 鐩爣搴撲綅鎺�
- crnCommand.setDestinationPosY(chargeLoc.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
- crnCommand.setDestinationPosZ(chargeLoc.getLev1().shortValue()); // 鐩爣搴撲綅灞�
- if (!MessageQueue.offer(SlaveType.Crn, crnNo, new Task(2, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", crnNo, JSON.toJSON(crnCommand));
+ crnCommand.setDestinationPosX(Utils.getGroupRow(channelLoc.getLocNo(), true).shortValue()); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY(channelLoc.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ(channelLoc.getLev1().shortValue()); // 鐩爣搴撲綅灞�
+ if (!MessageQueue.offer(SlaveType.Crn, wrkCharge.getCrnNo(), new Task(2, crnCommand))) {
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkCharge.getCrnNo(), JSON.toJSON(crnCommand));
} else {
// 淇敼绌挎杞﹁繍琛屼腑鎺掑垪灞�
- steThread.modifyPos(chargeLoc.getRow1(), chargeLoc.getBay1(), chargeLoc.getLev1());
- // 淇敼宸ヤ綔妗g姸鎬� 26.绛夊緟鍏呯數 => 27.鏀捐嚦鍏呯數浣�
+ steThread.modifyPos(Utils.getGroupRow(channelLoc.getLocNo(), true), channelLoc.getBay1(), channelLoc.getLev1());
+ // 淇敼宸ヤ綔妗g姸鎬� 22.灏忚溅寰呮惉 => 23.鍚婅溅鎼繍
Date now = new Date();
- wrkCharge.setWrkSts(27L);
+ wrkCharge.setWrkSts(23L);
wrkCharge.setCrnStrTime(now);
wrkCharge.setModiTime(now);
if (!wrkChargeService.updateById(wrkCharge)) {
- log.error("淇敼宸ヤ綔妗g姸鎬� 26.绛夊緟鍏呯數 => 27.鏀捐嚦鍏呯數浣� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
+ log.error("淇敼宸ヤ綔妗g姸鎬� 22.灏忚溅寰呮惉 => 23.鍚婅溅鎼繍 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
}
}
+ break;
}
- } else if (wrkCharge.getWrkSts() == 28L) {
- // 绌挎杞︿笅鍙戝厖鐢典换鍔�
- SteCommand steCommand = new SteCommand();
- steCommand.setSteNo(wrkCharge.getSteNo()); // 绌挎杞︾紪鍙�
- steCommand.setTaskNo(wrkCharge.getWrkNo()); // 宸ヤ綔鍙�
- steCommand.setTaskMode(SteTaskModeType.CHARGE_LEFT); // 浠诲姟妯″紡: 鍏呯數
- if (!MessageQueue.offer(SlaveType.Ste, wrkCharge.getSteNo(), new Task(2, steCommand))) {
- log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand));
- } else {
- // 28.鍏呯數灏辩华 ===>> 29.寮�濮嬪厖鐢�
- wrkCharge.setWrkSts(29L);
- if (!wrkChargeService.updateById(wrkCharge)) {
- log.error("淇敼鍏呯數浠诲姟鐘舵�� 28.鍏呯數灏辩华 ===>> 29.寮�濮嬪厖鐢� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
- }
+
+ }
+ }
+
+ } else if (wrkCharge.getWrkSts() == 24L) {
+ // 灏忚溅琛岄┒閫氶亾
+ if (steProtocol.statusType.equals(SteStatusType.IDLE) && steProtocol.getPakMk().equals("N")) {
+ if (steProtocol.getChargeStatus() == 1) { return; }
+ // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ SteCommand steCommand = new SteCommand();
+ steCommand.setSteNo(wrkCharge.getSteNo()); // 绌挎杞︾紪鍙�
+ steCommand.setTaskNo(wrkCharge.getWrkNo()); // 宸ヤ綔鍙�
+ steCommand.setTaskMode(SteTaskModeType.GO_ORIGIN); // 鍘诲彸绔�
+
+ steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue(), false).shortValue());
+ steCommand.setBay(steProtocol.getBay());
+ steCommand.setLev(steProtocol.getLev());
+ if (!MessageQueue.offer(SlaveType.Ste, wrkCharge.getSteNo(), new Task(2, steCommand))) {
+ log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand));
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 24.灏忚溅鍒拌揪 ===> 25.灏忚溅璧拌
+ wrkCharge.setWrkSts(25L);
+ Date now = new Date();
+ wrkCharge.setCrnEndTime(now);
+ wrkCharge.setModiTime(now);
+ if (!wrkChargeService.updateById(wrkCharge)) {
+ log.error("淇敼鍏呯數浠诲姟鐘舵�� 24.灏忚溅鍒拌揪 ===> 25.灏忚溅璧拌 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
}
}
}
- } catch (Exception e) {
- log.error("fail", e);
+ } else if (wrkCharge.getWrkSts() == 26) {
+ // 鍥哄畾鍫嗗灈鏈�
+ int crnNo = 1;
+ // 鍏呯數浣�
+ LocMast chargeLoc = locMastService.selectById(wrkCharge.getLocNo());
+
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crnNo);
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) { return; }
+ // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
+ if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) {
+ // 鍫嗗灈鏈哄懡浠や笅鍙戝尯 --------------------------------------------------------------------------
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setCrnNo(crnNo); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand.setTaskNo(wrkCharge.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand.setTaskMode(CrnTaskModeType.STE_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ crnCommand.setSourcePosX(Utils.getGroupRow(steProtocol.getRow().intValue(), false).shortValue()); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosZ(steProtocol.getLev()); // 婧愬簱浣嶅眰
+ crnCommand.setDestinationPosX(chargeLoc.getRow1().shortValue()); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY(chargeLoc.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ(chargeLoc.getLev1().shortValue()); // 鐩爣搴撲綅灞�
+ if (!MessageQueue.offer(SlaveType.Crn, crnNo, new Task(2, crnCommand))) {
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", crnNo, JSON.toJSON(crnCommand));
+ } else {
+ // 淇敼绌挎杞﹁繍琛屼腑鎺掑垪灞�
+ steThread.modifyPos(chargeLoc.getRow1(), chargeLoc.getBay1(), chargeLoc.getLev1());
+ // 淇敼宸ヤ綔妗g姸鎬� 26.绛夊緟鍏呯數 => 27.鏀捐嚦鍏呯數浣�
+ Date now = new Date();
+ wrkCharge.setWrkSts(27L);
+ wrkCharge.setCrnStrTime(now);
+ wrkCharge.setModiTime(now);
+ if (!wrkChargeService.updateById(wrkCharge)) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 26.绛夊緟鍏呯數 => 27.鏀捐嚦鍏呯數浣� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
+ }
+ }
+ }
+ } else if (wrkCharge.getWrkSts() == 28L) {
+ // 绌挎杞︿笅鍙戝厖鐢典换鍔�
+ SteCommand steCommand = new SteCommand();
+ steCommand.setSteNo(wrkCharge.getSteNo()); // 绌挎杞︾紪鍙�
+ steCommand.setTaskNo(wrkCharge.getWrkNo()); // 宸ヤ綔鍙�
+ steCommand.setTaskMode(SteTaskModeType.CHARGE_LEFT); // 浠诲姟妯″紡: 鍏呯數
+ if (!MessageQueue.offer(SlaveType.Ste, wrkCharge.getSteNo(), new Task(2, steCommand))) {
+ log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand));
+ } else {
+ // 28.鍏呯數灏辩华 ===>> 29.寮�濮嬪厖鐢�
+ wrkCharge.setWrkSts(29L);
+ if (!wrkChargeService.updateById(wrkCharge)) {
+ log.error("淇敼鍏呯數浠诲姟鐘舵�� 28.鍏呯數灏辩华 ===>> 29.寮�濮嬪厖鐢� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
+ }
+ }
}
+ } catch (Exception e) {
+ log.error("executeSteCharge fail", e);
}
}
@@ -2719,7 +2764,8 @@
*/
public synchronized void queryChargeLocOfComplete() {
// 涓庡厖鐢典换鍔′笉鍚屾杩涜
- if (null != wrkChargeService.selectWorking(null, "charge")) { return; }
+ if (null != wrkChargeService.selectWorking(null, WrkChargeType.charge)) { return; }
+ if (null != wrkChargeService.selectWorking(null, WrkChargeType.reset)) { return; }
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
// 妫�绱㈠厖鐢垫々
for (SteChargeType value : SteChargeType.values()) {
@@ -2756,7 +2802,7 @@
continue;
}
- WrkCharge wrkCharge = wrkChargeService.selectWorking(steNo, "reset");
+ WrkCharge wrkCharge = wrkChargeService.selectWorking(steNo, WrkChargeType.reset);
if (wrkCharge == null) {
// 寮�濮嬬┛姊溅澶嶄綅浠诲姟
@@ -2772,6 +2818,8 @@
wrkCharge.setAppeTime(new Date());
if (!wrkChargeService.insert(wrkCharge)) {
log.error("淇濆瓨{}鍙风┛姊溅澶嶄綅浠诲姟澶辫触!!!", steNo);
+ } else {
+ break;
}
}
}
@@ -2782,7 +2830,7 @@
* 灏忚溅浠庡厖鐢垫々 鑷� 寰呮満搴撲綅
*/
public synchronized void steFromChargeToIdleLoc() {
- WrkCharge wrkCharge = wrkChargeService.selectWorking(null, "reset");
+ WrkCharge wrkCharge = wrkChargeService.selectWorking(null, WrkChargeType.reset);
if (wrkCharge == null) { return; }
SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, wrkCharge.getSteNo());
SteProtocol steProtocol = steThread.getSteProtocol();
@@ -2930,7 +2978,6 @@
}
}
}
-
if (null != loc) {
break;
--
Gitblit v1.9.1