From 5a2ec88cf71194456a371efda15f3cab5f6225ae Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 20 六月 2024 20:48:41 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java | 63 +++++++++++++++++++------------
1 files changed, 38 insertions(+), 25 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
index bc42ae0..f2ab33f 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
@@ -9,7 +9,6 @@
import com.zy.asrs.common.utils.HttpHandler;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.SnowflakeIdWorker;
-import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wcs.core.domain.dto.MatDto;
import com.zy.asrs.wcs.core.domain.dto.RedisMapDto;
import com.zy.asrs.wcs.core.domain.dto.StaDto;
@@ -82,6 +81,8 @@
private BasConveyorService basConveyorService;
@Autowired
private BasConveyorStaService basConveyorStaService;
+ @Autowired
+ private BasConveyorPathService basConveyorPathService;
@Autowired
private BasLedService basLedService;
@@ -220,10 +221,19 @@
Integer code = jsonObject.getInteger("code");
if (code.equals(200)) {
StartupDto dto = jsonObject.getObject("data", StartupDto.class);
- devpThread.writeWorkSta(staProtocol.getSiteId(), dto.getWorkNo().shortValue(), dto.getStaNo().shortValue());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- } else if (code == 500) {
+ //鑾峰彇杈撻�佽矾寰�
+ BasConveyorPath conveyorPath = basConveyorPathService.getOne(new LambdaQueryWrapper<BasConveyorPath>()
+ .eq(BasConveyorPath::getTypeNo, TaskCtgType.IN.val())
+ .eq(BasConveyorPath::getDeviceId, devp.getId())
+ .eq(BasConveyorPath::getStnNo, staProtocol.getSiteId()));
+ if (conveyorPath == null) {
+ News.error("杈撻�佽矾寰勪笉瀛樺湪");
+ }else {
+ devpThread.writeWorkSta(staProtocol.getSiteId(), dto.getWorkNo().shortValue(), conveyorPath.getDeviceStn().shortValue());
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ }
+ }else {
if (ledThread != null) {
String errorMsg = jsonObject.getString("msg");
if (!Cools.isEmpty(errorMsg)) {
@@ -232,18 +242,6 @@
}
}
News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v2", JSON.toJSONString(param), response);
- } else if (code == 700) {
-// staProtocol.setWorkNo((short) 32002);
-// staProtocol.setRollback102(1);//102绔欏洖閫�淇″彿
-// devpThread.setPakMk(staProtocol.getSiteId(), false);
-// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(5, staProtocol));
-
- // led 寮傚父鏄剧ず
- if (ledThread != null) {
- String errorMsg = barcode + "鎵樼洏璇嗗埆寮傚父锛岃鍏堣繘琛岀粍鎵橈紒";
- ledThread.error(errorMsg);
- ledThread.setLedMk(false);
- }
}
} catch (Exception e) {
e.printStackTrace();
@@ -445,7 +443,7 @@
if (motionList.isEmpty()) {
continue;
}
- motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo()));
+ motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo()), task.getHostId());
// 鏇存柊宸ヤ綔涓绘。
task.setTaskSts(TaskStsType.ANALYZE_INBOUND.sts); // 宸ヤ綔鐘舵��
@@ -518,7 +516,7 @@
log.error("鍑哄簱 ===>> 鏆傛椂娌℃湁绌洪棽灏忚溅, 浠诲姟鍙�={}", task.getTaskNo());
continue;
}
- motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo()));
+ motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo()), task.getHostId());
// 鏇存柊宸ヤ綔涓绘。
task.setTaskSts(TaskStsType.ANALYZE_OUTBOUND.sts); // 宸ヤ綔鐘舵��
@@ -552,11 +550,11 @@
}
// generate motion list
- List<Motion> motionList = analyzeService.generateMotion(task);
+ List<Motion> motionList = analyzeService.generateShuttleMoveMotion(task);
if (motionList.isEmpty()) {
continue;
}
- motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo()));
+ motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo()), task.getHostId());
// 鏇存柊宸ヤ綔涓绘。
task.setTaskSts(TaskStsType.ANALYZE_MOVE.sts); // 宸ヤ綔鐘舵��
@@ -699,7 +697,7 @@
News.error("淇濆瓨{}鍙峰洓鍚戠┛姊溅鍏呯數浠诲姟澶辫触!!!", device.getDeviceNo());
continue;
}
- motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo()));
+ motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo()), task.getHostId());
task.setTaskSts(TaskStsType.ANALYZE_CHARGE.sts);
if (!taskService.save(task)) {
@@ -794,7 +792,7 @@
News.error("淇濆瓨{}鍙峰洓鍚戠┛姊溅杩佺Щ浠诲姟澶辫触!!!", device.getDeviceNo());
continue;
}
- motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo()));
+ motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo()), task.getHostId());
task.setTaskSts(TaskStsType.ANALYZE_MOVE.sts);
@@ -823,8 +821,13 @@
.eq(BasLed::getDeviceId, ledDevice.getId()));
List<Integer> staArr = JSON.parseArray(led.getSta(), Integer.class);
+ BasConveyor basConveyor = basConveyorService.getById(led.getConveyorId().intValue());
+ if (basConveyor == null) {
+ continue;
+ }
+
// 鑾峰彇杈撻�佺嚎plc绾跨▼
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, led.getConveyorId().intValue());
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, basConveyor.getDeviceId().intValue());
// 鍛戒护闆嗗悎
List<LedCommand> commands = new ArrayList<>();
// 宸ヤ綔妗i泦鍚�
@@ -904,8 +907,13 @@
.eq(BasLed::getDeviceId, ledDevice.getId()));
List<Integer> staArr = JSON.parseArray(led.getSta(), Integer.class);
+ BasConveyor basConveyor = basConveyorService.getById(led.getConveyorId().intValue());
+ if (basConveyor == null) {
+ continue;
+ }
+
// 鑾峰彇杈撻�佺嚎plc绾跨▼
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, led.getConveyorId().intValue());
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, basConveyor.getDeviceId().intValue());
// 鍛戒护闆嗗悎
boolean reset = true;
for (Integer staNo : staArr) {
@@ -934,8 +942,13 @@
.eq(BasLed::getDeviceId, ledDevice.getId()));
List<Integer> staArr = JSON.parseArray(led.getSta(), Integer.class);
+ BasConveyor basConveyor = basConveyorService.getById(led.getConveyorId());
+ if (basConveyor == null) {
+ continue;
+ }
+
// 鑾峰彇杈撻�佺嚎plc绾跨▼
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, led.getConveyorId().intValue());
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, basConveyor.getDeviceId().intValue());
// 鍛戒护闆嗗悎
boolean reset = true;
for (Integer staNo : staArr) {
--
Gitblit v1.9.1