From 4d45de01e35f8b271e5ba25439b574a8b67bc5eb Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期五, 26 十二月 2025 14:00:55 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 46 insertions(+), 12 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..9e7f54a 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
@@ -175,15 +177,19 @@
throw new BusinessException("oriLoc锛�" + task.getOriLoc$() + " failed to update");
}
+ // reserver station inbound, qty: 1
destSta = staService.getById(task.getDestSta());
- if (!destSta.getStaSts().equals(StaStsType.IDLE.val())) {
- throw new BusinessException("destSta锛�" + task.getDestSta$() + " is not in IDLE status");
+ if (null == staReserveService.reserveStaIn(destSta, task, 1)) {
+ throw new BusinessException("destSta锛�" + task.getDestSta$() + " failed to reserve");
}
- destSta.setStaSts(StaStsType.READY_RELEASE.val());
- destSta.setUpdateTime(now);
- if (!staService.updateById(destSta)) {
- throw new BusinessException("destSta锛�" + task.getDestSta$() + " failed to update");
- }
+// 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");
+// }
break;
case STA_TO_LOC:
oriSta = staService.getById(task.getOriSta());
@@ -249,10 +255,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 +1120,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 +1202,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 +1323,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 +1563,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