From 9b401b43152dbf1fed373aef74b668d73494a7b0 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 11 八月 2020 11:19:39 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 56 ++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 42 insertions(+), 14 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 f409a1f..ff24995 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -8,10 +8,7 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.WaitPakinMapper;
import com.zy.asrs.mapper.WrkMastMapper;
-import com.zy.asrs.service.BasCrnpService;
-import com.zy.asrs.service.LocMastService;
-import com.zy.asrs.service.StaDescService;
-import com.zy.asrs.service.WrkDetlService;
+import com.zy.asrs.service.*;
import com.zy.common.model.StartupDto;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
@@ -60,6 +57,8 @@
private StaDescService staDescService;
@Autowired
private BasCrnpService basCrnpService;
+ @Autowired
+ private BasDevpService basDevpService;
@Autowired
private JdbcTemplate jdbcTemplate;
@@ -342,9 +341,13 @@
// 鑾峰彇鍫嗗灈鏈哄叆搴撶珯淇℃伅
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
-
- // todo:luxiaotao
- if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0) {
+ // 鏌ヨ绔欑偣璇︾粏淇℃伅
+ BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
+ if (staDetl == null) {
+ log.error("鍏ュ簱搴� ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
+ continue;
+ }
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staDetl.getCanining().equals("Y")) {
flag = true;
}
if (!flag) {
@@ -363,14 +366,13 @@
continue;
}
if (!locMast.getLocSts().equals("S") && !locMast.getLocSts().equals("Q")) {
- log.error("搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), locMast.getLocSts());
+ log.error("鍏ュ簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), locMast.getLocSts());
continue;
}
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
// CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, slave.getId());
// CrnProtocol crnProtocol = crnThread.getCrnProtocol();
-
CrnCommand crnCommand = new CrnCommand();
crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
crnCommand.setDestinationPosX(locMast.getRow1().shortValue()); // 鎺�
@@ -387,17 +389,43 @@
*/
private void locToCrnStn(CrnSlave slave){
for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
- // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
- StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
-
// 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗�
WrkMast wrkMast = wrkMastMapper.selectPakOutStep1(slave.getId());
if (wrkMast == null) {
continue;
}
+ // 宸ヤ綔妗g姸鎬佸垽鏂�
+ if (wrkMast.getIoType() < 100 || wrkMast.getSourceStaNo() == null){
+ log.error("鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), wrkMast.getIoType());
+ continue;
+ }
+ // 鑾峰彇婧愬簱浣嶄俊鎭�
+ LocMast sourceSta = locMastService.selectById(wrkMast.getSourceLocNo());
+ if (!sourceSta.getLocSts().equals("R") &&!sourceSta.getLocSts().equals("P")) {
+ log.error("鍑哄簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), sourceSta.getLocSts());
+ continue;
+ }
+ // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
+ StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
+ // 鏌ヨ绔欑偣璇︾粏淇℃伅
+ BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
+ if (staDetl == null) {
+ log.error("鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
+ continue;
+ }
+ // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
+ if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting().equals("Y")
+ && staProtocol.getWorkNo() == 0) {
+ // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommand.setAckFinish((short) 1); // 浠诲姟瀹屾垚纭浣�
-
+ if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task<>(2, crnCommand))) {
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ }
+ }
}
}
--
Gitblit v1.9.1