From 787e2917c8113a56ee58fc3a6ae11b0cd5f8e133 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期五, 26 十二月 2025 14:11:49 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java | 76 +++++++++++++++++++++----------------
1 files changed, 43 insertions(+), 33 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
index dbf5fd2..2c2fa0e 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -96,6 +96,8 @@
private LaneService laneService;
@Autowired
private ActionSorter actionSorter;
+ @Autowired
+ private StaReserveService staReserveService;
@SuppressWarnings("all")
@Transactional
@@ -176,24 +178,14 @@
}
destSta = staService.getById(task.getDestSta());
- if (!destSta.getStaSts().equals(StaStsType.IDLE.val())) {
- throw new BusinessException("destSta锛�" + task.getDestSta$() + " is not in IDLE status");
- }
- destSta.setStaSts(StaStsType.READY_RELEASE.val());
- destSta.setUpdateTime(now);
- if (!staService.updateById(destSta)) {
- throw new BusinessException("destSta锛�" + task.getDestSta$() + " failed to update");
+ if (null == staReserveService.reserveStaIn(destSta, task, 1)) {
+ throw new BusinessException("destSta锛�" + task.getDestSta$() + " failed to reserve");
}
break;
case STA_TO_LOC:
oriSta = staService.getById(task.getOriSta());
- if (!oriSta.getStaSts().equals(StaStsType.STOCK.val())) {
- throw new BusinessException("oriSta锛�" + task.getOriSta$() + " is not in STOCK status");
- }
- oriSta.setStaSts(StaStsType.READY_TAKE.val());
- oriSta.setUpdateTime(now);
- if (!staService.updateById(oriSta)) {
- throw new BusinessException("oriSta锛�" + task.getOriSta$() + " failed to update");
+ if (null == staReserveService.reserveStaOut(oriSta, task, 1)) {
+ throw new BusinessException("oriSta锛�" + task.getOriSta$() + " failed to reserve");
}
destLoc = locService.getById(task.getDestLoc());
@@ -208,23 +200,13 @@
break;
case STA_TO_STA:
oriSta = staService.getById(task.getOriSta());
- if (!oriSta.getStaSts().equals(StaStsType.STOCK.val())) {
- throw new BusinessException("oriSta锛�" + task.getOriSta$() + " is not in STOCK status");
- }
- oriSta.setStaSts(StaStsType.READY_TAKE.val());
- oriSta.setUpdateTime(now);
- if (!staService.updateById(oriSta)) {
- throw new BusinessException("oriSta锛�" + task.getOriSta$() + " failed to update");
+ if (null == staReserveService.reserveStaOut(oriSta, task, 1)) {
+ throw new BusinessException("oriSta锛�" + task.getOriSta$() + " failed to reserve");
}
destSta = staService.getById(task.getDestSta());
- if (!destSta.getStaSts().equals(StaStsType.IDLE.val())) {
- throw new BusinessException("destSta锛�" + task.getDestSta$() + " is not in IDLE status");
- }
- destSta.setStaSts(StaStsType.READY_RELEASE.val());
- destSta.setUpdateTime(now);
- if (!staService.updateById(destSta)) {
- throw new BusinessException("destSta锛�" + task.getDestSta$() + " failed to update");
+ if (null == staReserveService.reserveStaIn(destSta, task, 1)) {
+ throw new BusinessException("destSta锛�" + task.getDestSta$() + " failed to reserve");
}
break;
default:
@@ -249,10 +231,12 @@
);
if (Cools.isEmpty(taskList)) {
- bus.setBusSts(BusStsType.PROGRESS.val());
- bus.setUpdateTime(now);
- if (!busService.updateById(bus)) {
- log.error("Bus [{}] failed to Update 锛侊紒锛�", bus.getUuid());
+ if (bus.getBusSts().equals(BusStsType.RECEIVE.val())) {
+ bus.setBusSts(BusStsType.PROGRESS.val());
+ bus.setUpdateTime(now);
+ if (!busService.updateById(bus)) {
+ log.error("Bus [{}] failed to Update 锛侊紒锛�", bus.getUuid());
+ }
}
return;
}
@@ -1112,7 +1096,24 @@
));
break;
case TO_STANDBY:
-// FuncSta standByFuncSta = funcStaService.query(agvId, lastCode.getId(), 2);
+ // load lift
+// actionList.add(new Action(
+// null, // 缂栧彿
+// null, // 鎬荤嚎
+// task.getId(), // 浠诲姟
+// null, // 鍔ㄤ綔鍙�
+// null, // 浼樺厛绾�
+// ActionTypeType.LoadPlatformLift.desc, // 鍚嶇О
+// null, // 灞炴�у��
+// lastCode.getData(), // 鍦伴潰鐮�
+// String.valueOf(0), // 鍔ㄤ綔鍙傛暟
+// ActionTypeType.LoadPlatformLift.val(), // 鍔ㄤ綔绫诲瀷
+// actionPrepareSts, // 鍔ㄤ綔杩涘害
+// agvId, // AGV
+// now // 宸ヤ綔鏃堕棿
+// ));
+ // turn
+// FuncSta standByFuncSta = funcStaService.query(lastCode.getId(), FuncStaType.STANDBY.toString());
// Double standByDirection = Double.parseDouble(standByFuncSta.getAngle());
// if (!lastDirection.equals(standByDirection)) {
// actionList.add(new Action(
@@ -1177,6 +1178,7 @@
for (Segment item : segmentList) {
item.setGroupId(groupId);
item.setState(SegmentStateType.RUNNING.toString());
+ item.setStartTime(now);
item.setUpdateTime(now);
if (null != algoStartTime) {
item.setAlgoTime((int) (now.getTime() - algoStartTime.getTime()));
@@ -1297,6 +1299,13 @@
break;
case ReadyReleaseToShelvesLoc:
agvAction.add(new AgvActionItem<>(ReadyReleaseToShelvesLoc.class)
+ .setVal(action.getVal().intValue())
+ .setQrCode(action.getCode())
+ .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams())))
+ );
+ break;
+ case LoadPlatformLift:
+ agvAction.add(new AgvActionItem<>(LoadPlatformLift.class)
.setVal(action.getVal().intValue())
.setQrCode(action.getCode())
.bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams())))
@@ -1530,6 +1539,7 @@
// segment
for (Segment segment : segmentList) {
segment.setState(SegmentStateType.FINISH.toString());
+ segment.setEndTime(now);
segment.setUpdateTime(now);
if (!segmentService.updateById(segment)) {
log.error("Segment [{}] 鏇存柊澶辫触 锛侊紒锛�", segment.getGroupId() + " - " + segment.getSerial());
--
Gitblit v1.9.1