From 4593926f14da39a1a241b996d3d2453c28587207 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期六, 09 八月 2025 14:56:45 +0800 Subject: [PATCH] 保存一个版本 --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java | 172 ++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 104 insertions(+), 68 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 0370dc5..afc92d9 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 @@ -277,6 +277,7 @@ if (!taskService.updateById(task)) { throw new BusinessException("seqNum: " + task.getSeqNum() + " failed to update"); } + report(task, TaskReportStsType.START); } } catch (Exception e) { log.error("mainService.infuseAgvForTask", e); @@ -1164,7 +1165,7 @@ runToWaitHeight = "800"; } Double runToWaitHeightValue = configService.getVal("RunToWaitHeightValue", Double.class); - if (Cools.isEmpty(runToWaitHeight) || runToWaitHeightValue == 0) { + if (runToWaitHeightValue == 0) { runToWaitHeightValue = 1D; } // 淇绌烘寚閽堝紓甯革細妫�鏌astCode鏄惁涓簄ull @@ -1255,6 +1256,7 @@ throw new RuntimeException("generateAction method caught an exception, rolling back transaction.", e); } } + @Transactional public void publishAction(String actionGroupId) { @@ -1432,32 +1434,39 @@ if (agv_11_up.getCompleteType().equals(AgvCompleteType.RELEASE_FROM_SHELVES_COMPLETE)) { WebsocketServiceImpl.taskShelfBarcode = agv_11_up.getLocCode(); - Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getBarcode, String.valueOf(Integer.parseInt(agv_11_up.getLocCode())))); - if (null == loc) { - log.warn("Agv [{}] 涓婃姤寰�璐ф灦鏀捐揣瀹屾垚鏃讹紝搴撲綅鐮乕{}]鏃犳晥銆�", protocol.getAgvNo(), agv_11_up.getLocCode()); - } else { - List<Long> taskIds = actionService.selectTaskIdsByGroupId(serialNo); - for (Long taskId : taskIds) { - Task task = taskService.getById(taskId); - if (task.getDestLoc().equals(loc.getId())) { +// Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getBarcode, String.valueOf(Integer.parseInt(agv_11_up.getLocCode())))); +// if (null == loc) { +// log.warn("Agv [{}] 涓婃姤寰�璐ф灦鏀捐揣瀹屾垚鏃讹紝搴撲綅鐮乕{}]鏃犳晥銆�", protocol.getAgvNo(), agv_11_up.getLocCode()); +// } else { +// List<Long> taskIds = actionService.selectTaskIdsByGroupId(serialNo); +// for (Long taskId : taskIds) { +// Task task = taskService.getById(taskId); +// if (task.getDestLoc().equals(loc.getId())) { +// +// Action action = actionService.getOne(new LambdaQueryWrapper<Action>() +// .eq(Action::getTaskId, task.getId()) +// .eq(Action::getActionType, ActionTypeType.ReadyReleaseToShelvesLoc.val()) +// .eq(Action::getActionSts, ActionStsType.ISSUED.val()) +// ); +// +// if (null != action) { +// action.setActionSts(ActionStsType.FINISH.val()); +// action.setEndTime(now); +// action.setUpdateTime(now); +// if (!actionService.updateById(action)) { +// log.error("Action [{}] 鏇存柊澶辫触 锛侊紒锛�", action.getPriority() + " - " + action.getName()); +// } +// } +// //鎻掑叆涓�鏉� +// report(task, TaskReportStsType.END); +// } +// } +// } - Action action = actionService.getOne(new LambdaQueryWrapper<Action>() - .eq(Action::getTaskId, task.getId()) - .eq(Action::getActionType, ActionTypeType.ReadyReleaseToShelvesLoc.val()) - .eq(Action::getActionSts, ActionStsType.ISSUED.val()) - ); - - if (null != action) { - action.setActionSts(ActionStsType.FINISH.val()); - action.setEndTime(now); - action.setUpdateTime(now); - if (!actionService.updateById(action)) { - log.error("Action [{}] 鏇存柊澶辫触 锛侊紒锛�", action.getPriority() + " - " + action.getName()); - } - } - - } - } + List<Long> taskIds = actionService.selectTaskIdsByGroupId(serialNo); + for (Long taskId : taskIds) { + Task task = taskService.getById(taskId); + report(task, TaskReportStsType.END); } } @@ -1465,31 +1474,56 @@ if (agv_11_up.getCompleteType().equals(AgvCompleteType.TAKE_FROM_SHELVES_COMPLETE)) { WebsocketServiceImpl.taskShelfBarcode = agv_11_up.getLocCode(); - Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getBarcode, String.valueOf(Integer.parseInt(agv_11_up.getLocCode())))); - if (null == loc) { - log.warn("Agv [{}] 涓婃姤浠庤揣鏋跺彇璐у畬鎴愶紝搴撲綅鐮乕{}]鏃犳晥銆�", protocol.getAgvNo(), agv_11_up.getLocCode()); - } else { +// Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getBarcode, String.valueOf(Integer.parseInt(agv_11_up.getLocCode())))); +// if (null == loc) { +// log.warn("Agv [{}] 涓婃姤浠庤揣鏋跺彇璐у畬鎴愶紝搴撲綅鐮乕{}]鏃犳晥銆�", protocol.getAgvNo(), agv_11_up.getLocCode()); +// } else { +// +// List<Long> taskIds = actionService.selectTaskIdsByGroupId(serialNo); +// for (Long taskId : taskIds) { +// Task task = taskService.getById(taskId); +// if (task.getOriLoc().equals(loc.getId())) { +// +// Action action = actionService.getOne(new LambdaQueryWrapper<Action>() +// .eq(Action::getTaskId, task.getId()) +// .eq(Action::getActionType, ActionTypeType.ReadyTakeFromShelvesLoc.val()) +// .eq(Action::getActionSts, ActionStsType.ISSUED.val()) +// ); +// if (null != action) { +// action.setActionSts(ActionStsType.FINISH.val()); +// action.setEndTime(now); +// action.setUpdateTime(now); +// if (!actionService.updateById(action)) { +// log.error("Action [{}] 鏇存柊澶辫触 锛侊紒锛�", action.getPriority() + " - " + action.getName()); +// } +// } +// report(task, TaskReportStsType.OTBIN); +// } +// } +// } + List<Long> taskIds = actionService.selectTaskIdsByGroupId(serialNo); + for (Long taskId : taskIds) { + Task task = taskService.getById(taskId); + report(task, TaskReportStsType.OTBIN); + } - List<Long> taskIds = actionService.selectTaskIdsByGroupId(serialNo); - for (Long taskId : taskIds) { - Task task = taskService.getById(taskId); - if (task.getOriLoc().equals(loc.getId())) { - - Action action = actionService.getOne(new LambdaQueryWrapper<Action>() - .eq(Action::getTaskId, task.getId()) - .eq(Action::getActionType, ActionTypeType.ReadyTakeFromShelvesLoc.val()) - .eq(Action::getActionSts, ActionStsType.ISSUED.val()) - ); - if (null != action) { - action.setActionSts(ActionStsType.FINISH.val()); - action.setEndTime(now); - action.setUpdateTime(now); - if (!actionService.updateById(action)) { - log.error("Action [{}] 鏇存柊澶辫触 锛侊紒锛�", action.getPriority() + " - " + action.getName()); - } - } - } - } + } + //浠庤緭閫佺嚎鍙栬揣瀹屾垚 + if (agv_11_up.getCompleteType().equals(AgvCompleteType.TAKE_FROM_STA_COMPLETE)) { + WebsocketServiceImpl.taskShelfBarcode = agv_11_up.getLocCode(); + List<Long> taskIds = actionService.selectTaskIdsByGroupId(serialNo); + for (Long taskId : taskIds) { + Task task = taskService.getById(taskId); + report(task, TaskReportStsType.OTBIN); + } + } + //寰�杈撻�佺嚎鏀捐揣瀹屾垚 + if (agv_11_up.getCompleteType().equals(AgvCompleteType.RELEASE_FROM_STA_COMPLETE)) { + WebsocketServiceImpl.taskShelfBarcode = agv_11_up.getLocCode(); + List<Long> taskIds = actionService.selectTaskIdsByGroupId(serialNo); + for (Long taskId : taskIds) { + Task task = taskService.getById(taskId); + report(task, TaskReportStsType.END); } } @@ -1519,6 +1553,7 @@ log.info("Agv [{}] 鏂欎粨淇℃伅鍖� ===>> {}", protocol.getAgvNo(), JSON.toJSONString(agv_70_up)); } } + @Transactional public void settleSegmentList(List<Segment> segmentList, String serialNo) { @@ -1568,25 +1603,7 @@ task.setUpdateTime(now); if (!taskService.updateById(task)) { log.error("Task [{}] 鏇存柊澶辫触 锛侊紒锛�", task.getSeqNum()); - } else { - log.info("Task [{}] 浣滀笟瀹屾瘯 ==========>> ", task.getSeqNum()); - // TODO 鎻掑叆涓�鏉′笂鎶ヨ褰� - TaskReport taskReport = new TaskReport(); - taskReport.setAgvId(task.getAgvId()); - taskReport.setBusNo(task.getBusId$()); - taskReport.setCreateTime(new Date()); - taskReport.setDestLoc(task.getDestLoc()); - taskReport.setDestSta(task.getDestSta()); - taskReport.setSeqNum(task.getSeqNum()); - taskReport.setTaskSts(task.getTaskSts()); - taskReport.setOriLoc(task.getOriLoc()); - taskReport.setOriSta(task.getOriSta()); - taskReport.setZpallet(task.getZpallet()); - if (!taskReportService.save(taskReport)) { - log.info("TaskReport [{}] 鎻掑叆澶辫触 ==========>> ", JSON.toJSONString(taskReport)); - } } - } } @@ -1619,4 +1636,23 @@ segmentService.processNext(segmentList); } + /** + * 涓婃姤缁欎笂娓哥郴缁燂紝灏辨槸鎻掑叆涓�鏉℃暟鎹埌涓婃姤琛� + */ + private void report(Task task, TaskReportStsType taskReportStsType) { + // TODO 鎻掑叆涓�鏉′笂鎶ヨ褰� + TaskReport taskReport = new TaskReport(); + taskReport.setAgvId(task.getAgvId()); + taskReport.setBusNo(task.getBusId$()); + taskReport.setCreateTime(new Date()); + taskReport.setReportTimes(0); + taskReport.setTaskSts(taskReportStsType.status); + taskReport.setSeqNum(task.getSeqNum()); + taskReport.setZpallet(task.getZpallet()); + if (!taskReportService.save(taskReport)) { + log.info("TaskReport [{}] 鎻掑叆澶辫触 ==========>> ", JSON.toJSONString(taskReport)); + } else { + log.info("Task [{}] 鐘舵�佽褰曟彃鍏ユ暟鎹簱 ==========>> ", task.getSeqNum()); + } + } } -- Gitblit v1.9.1