From ebd2f4397a92c6a5096de1b86d59154363344720 Mon Sep 17 00:00:00 2001 From: vincentlu <t1341870251@gmail.com> Date: 星期二, 13 五月 2025 08:48:15 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java | 48 ++++++++++++++++++++++++++++++++++-------------- 1 files changed, 34 insertions(+), 14 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 99f715d..dbf5fd2 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 @@ -179,7 +179,7 @@ if (!destSta.getStaSts().equals(StaStsType.IDLE.val())) { throw new BusinessException("destSta锛�" + task.getDestSta$() + " is not in IDLE status"); } - destSta.setStaSts(StaStsType.PAKIN.val()); + destSta.setStaSts(StaStsType.READY_RELEASE.val()); destSta.setUpdateTime(now); if (!staService.updateById(destSta)) { throw new BusinessException("destSta锛�" + task.getDestSta$() + " failed to update"); @@ -190,7 +190,7 @@ if (!oriSta.getStaSts().equals(StaStsType.STOCK.val())) { throw new BusinessException("oriSta锛�" + task.getOriSta$() + " is not in STOCK status"); } - oriSta.setStaSts(StaStsType.PAKOUT.val()); + oriSta.setStaSts(StaStsType.READY_TAKE.val()); oriSta.setUpdateTime(now); if (!staService.updateById(oriSta)) { throw new BusinessException("oriSta锛�" + task.getOriSta$() + " failed to update"); @@ -211,7 +211,7 @@ if (!oriSta.getStaSts().equals(StaStsType.STOCK.val())) { throw new BusinessException("oriSta锛�" + task.getOriSta$() + " is not in STOCK status"); } - oriSta.setStaSts(StaStsType.PAKOUT.val()); + oriSta.setStaSts(StaStsType.READY_TAKE.val()); oriSta.setUpdateTime(now); if (!staService.updateById(oriSta)) { throw new BusinessException("oriSta锛�" + task.getOriSta$() + " failed to update"); @@ -221,7 +221,7 @@ if (!destSta.getStaSts().equals(StaStsType.IDLE.val())) { throw new BusinessException("destSta锛�" + task.getDestSta$() + " is not in IDLE status"); } - destSta.setStaSts(StaStsType.PAKIN.val()); + destSta.setStaSts(StaStsType.READY_RELEASE.val()); destSta.setUpdateTime(now); if (!staService.updateById(destSta)) { throw new BusinessException("destSta锛�" + task.getDestSta$() + " failed to update"); @@ -859,6 +859,7 @@ // 浣滀笟鐐瑰姩浣� AgvDirectionType agvDirectionType; + Double staWorkDirection; AgvBackpackType backpackType = AgvBackpackType.query(segment.getBackpack()); switch (Objects.requireNonNull(TaskPosDto.queryPosType(segment.getPosType()))) { case ORI_LOC: @@ -974,18 +975,18 @@ lastDirection = oriStaWorkDirection; } // 璁$畻璐у弶宸ヤ綔鏂瑰悜 - agvDirectionType = mapService.calculateAgvWorkDirectionByStation(oriSta, lastCode); + staWorkDirection = mapService.calculateAgvWorkDirectionByStation(oriStaWorkDirection, lastDirection); actionList.add(new Action( null, // 缂栧彿 task.getBusId(), // 鎬荤嚎 task.getId(), // 浠诲姟 null, // 鍔ㄤ綔鍙� null, // 浼樺厛绾� - ActionTypeType.ReadyTakeFromShelvesLoc.desc, // 鍚嶇О - (double) agvDirectionType.val, // 灞炴�у�� + ActionTypeType.ReadyTakeFromConveyorSta.desc, // 鍚嶇О + staWorkDirection, // 灞炴�у�� lastCode.getData(), // 鍦伴潰鐮� String.valueOf(oriSta.getOffset()), // 鍔ㄤ綔鍙傛暟 - ActionTypeType.ReadyTakeFromShelvesLoc.val(), // 鍔ㄤ綔绫诲瀷 + ActionTypeType.ReadyTakeFromConveyorSta.val(), // 鍔ㄤ綔绫诲瀷 actionPrepareSts, // 鍔ㄤ綔杩涘害 agvId, // AGV now // 宸ヤ綔鏃堕棿 @@ -1053,18 +1054,18 @@ now // 宸ヤ綔鏃堕棿 )); // 璁$畻璐у弶宸ヤ綔鏂瑰悜 - agvDirectionType = mapService.calculateAgvWorkDirectionByStation(destSta, lastCode); + staWorkDirection = mapService.calculateAgvWorkDirectionByStation(destStaWorkDirection, lastDirection); actionList.add(new Action( null, // 缂栧彿 task.getBusId(), // 鎬荤嚎 task.getId(), // 浠诲姟 null, // 鍔ㄤ綔鍙� null, // 浼樺厛绾� - ActionTypeType.ReadyReleaseToShelvesLoc.desc, // 鍚嶇О - (double) agvDirectionType.val, // 灞炴�у�� + ActionTypeType.ReadyReleaseToConveyorSta.desc, // 鍚嶇О + staWorkDirection, // 灞炴�у�� lastCode.getData(), // 鍦伴潰鐮� String.valueOf(destSta.getOffset()), // 鍔ㄤ綔鍙傛暟 - ActionTypeType.ReadyReleaseToShelvesLoc.val(), // 鍔ㄤ綔绫诲瀷 + ActionTypeType.ReadyReleaseToConveyorSta.val(), // 鍔ㄤ綔绫诲瀷 actionPrepareSts, // 鍔ㄤ綔杩涘害 agvId, // AGV now // 宸ヤ綔鏃堕棿 @@ -1212,6 +1213,13 @@ if (Cools.isEmpty(actionList)) { return; } + + Long agvId = actionList.get(0).getAgvId(); + String agvNo = agvService.getAgvNo(agvId); + if (!agvService.judgeOnline(agvId)) { + return; + } + long actionIssuedSts = ActionStsType.ISSUED.val(); for (Action action : actionList) { action.setActionSts(actionIssuedSts); @@ -1238,10 +1246,8 @@ } } - String agvNo = agvService.getAgvNo(actionList.get(0).getAgvId()); AgvAction agvAction = new AgvAction(agvNo, actionGroupId); for (Action action : actionList) { - switch (Objects.requireNonNull(ActionTypeType.get(action.getActionTypeEl()))) { case TurnCorner: agvAction.add(new AgvActionItem<>(TurnCornerAction.class) @@ -1275,6 +1281,13 @@ .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams()))) ); break; + case ReadyTakeFromConveyorSta: + agvAction.add(new AgvActionItem<>(ReadyTakeFromConveyorSta.class) + .setVal(action.getVal().intValue()) + .setQrCode(action.getCode()) + .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams()))) + ); + break; case ReadyTakeFromAgvSite: agvAction.add(new AgvActionItem<>(ReadyTakeFromAgvSite.class) .setVal(action.getVal().intValue()) @@ -1289,6 +1302,13 @@ .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams()))) ); break; + case ReadyReleaseToConveyorSta: + agvAction.add(new AgvActionItem<>(ReadyReleaseToConveyorSta.class) + .setVal(action.getVal().intValue()) + .setQrCode(action.getCode()) + .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams()))) + ); + break; case ReadyReleaseToAgvSite: agvAction.add(new AgvActionItem<>(ReadyReleaseToAgvSite.class) .setVal(action.getVal().intValue()) -- Gitblit v1.9.1