From 9f7d850f985cbd1756798329b9a3669dae51ac48 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期一, 18 八月 2025 17:23:55 +0800 Subject: [PATCH] 1 --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java | 26 ++---------- zy-acs-manager/src/main/java/com/zy/acs/manager/core/third/ReportThirdScheduler.java | 34 +++++++++++++---- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java | 13 +++++- zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/TaskReport.java | 6 ++ 4 files changed, 46 insertions(+), 33 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java index 78c19c9..a0af4cd 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java @@ -145,7 +145,6 @@ if (0 == availableAgvCount) { return; } - List<String> staPreNos = getStaPrefixes(staGroupList); String staTaskMemo = "DEMO_STA_" + String.join("-", staPreNos); List<Task> list = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getDestSta, 33).in(Task::getTaskSts, TaskStsType.INIT.val(), TaskStsType.WAITING.val(), TaskStsType.ASSIGN.val(), TaskStsType.PROGRESS.val())); @@ -172,11 +171,7 @@ } // STOCK - LambdaQueryWrapper<Sta> stockWrapper = new LambdaQueryWrapper<Sta>() - .eq(Sta::getStaSts, StaStsType.STOCK.val()) - .eq(Sta::getStatus, StatusType.ENABLE.val) - .eq(Sta::getInEnable, "Y") - .in(Sta::getStaNo, staGroupList); + LambdaQueryWrapper<Sta> stockWrapper = new LambdaQueryWrapper<Sta>().eq(Sta::getStaSts, StaStsType.STOCK.val()).eq(Sta::getStatus, StatusType.ENABLE.val).eq(Sta::getInEnable, "Y").in(Sta::getStaNo, staGroupList); List<Sta> stockList = staService.list(stockWrapper); if (Cools.isEmpty(stockList)) { return; @@ -228,9 +223,7 @@ // STOCK LambdaQueryWrapper<Sta> stockWrapper = new LambdaQueryWrapper<Sta>() //.eq(Sta::getStaSts, StaStsType.STOCK.val()) - .eq(Sta::getStatus, StatusType.ENABLE.val) - .eq(Sta::getInEnable, "Y") - .in(Sta::getStaNo, staGroupList); + .eq(Sta::getStatus, StatusType.ENABLE.val).eq(Sta::getInEnable, "Y").in(Sta::getStaNo, staGroupList); List<Sta> stockList = staService.list(stockWrapper); if (Cools.isEmpty(stockList)) { return; @@ -282,11 +275,7 @@ int maxCapacity = agvModel.getBackpack(); // STA IDLE - LambdaQueryWrapper<Sta> idleWrapper = new LambdaQueryWrapper<Sta>() - .eq(Sta::getStaSts, StaStsType.IDLE.val()) - .eq(Sta::getStatus, StatusType.ENABLE.val) - .eq(Sta::getOutEnable, "Y") - .in(Sta::getStaNo, staGroupList); + LambdaQueryWrapper<Sta> idleWrapper = new LambdaQueryWrapper<Sta>().eq(Sta::getStaSts, StaStsType.IDLE.val()).eq(Sta::getStatus, StatusType.ENABLE.val).eq(Sta::getOutEnable, "Y").in(Sta::getStaNo, staGroupList); List<Sta> idleList = staService.list(idleWrapper); if (Cools.isEmpty(idleList)) { return; @@ -339,9 +328,7 @@ // STA IDLE LambdaQueryWrapper<Sta> idleWrapper = new LambdaQueryWrapper<Sta>() //.eq(Sta::getStaSts, StaStsType.IDLE.val()) - .eq(Sta::getStatus, StatusType.ENABLE.val) - .eq(Sta::getOutEnable, "Y") - .in(Sta::getStaNo, staGroupList); + .eq(Sta::getStatus, StatusType.ENABLE.val).eq(Sta::getOutEnable, "Y").in(Sta::getStaNo, staGroupList); List<Sta> idleList = staService.list(idleWrapper); if (Cools.isEmpty(idleList)) { return; @@ -391,10 +378,7 @@ int availableAgvCount = this.getAvailableAgvCount(agvGroupList); // 鏈�澶� ? 缁刡us杩愯 - if (availableAgvCount <= busService.count(new LambdaQueryWrapper<Bus>() - .in(Bus::getBusSts, BusStsType.RECEIVE.val(), BusStsType.PROGRESS.val()) - .in(Bus::getMemo, memo, staTaskMemo) - )) { + if (availableAgvCount <= busService.count(new LambdaQueryWrapper<Bus>().in(Bus::getBusSts, BusStsType.RECEIVE.val(), BusStsType.PROGRESS.val()).in(Bus::getMemo, memo, staTaskMemo))) { return; } 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 f3acf60..2ff23fc 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 @@ -1362,6 +1362,9 @@ .setQrCode(action.getCode()) .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams()))) ); + if (!Cools.isEmpty(action.getAskType()) && (action.getAskType() == 1 || action.getAskType() == 2)) { + flag = askSta(action.getAskType(), action.getAskSta()); + } break; case ReadyTakeFromAgvSite: agvAction.add(new AgvActionItem<>(ReadyTakeFromAgvSite.class) @@ -1383,6 +1386,9 @@ .setQrCode(action.getCode()) .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams()))) ); + if (!Cools.isEmpty(action.getAskType()) && (action.getAskType() == 1 || action.getAskType() == 2)) { + flag = askSta(action.getAskType(), action.getAskSta()); + } break; case ReadyReleaseToAgvSite: agvAction.add(new AgvActionItem<>(ReadyReleaseToAgvSite.class) @@ -1411,9 +1417,7 @@ default: break; } - if (!Cools.isEmpty(action.getAskType()) && (action.getAskType() == 1 || action.getAskType() == 2)) { - flag = askSta(action.getAskType(), action.getAskSta()); - } + } if (!flag) { log.error("浠诲姟缁� [{}] 鍔ㄤ綔鎸囦护涓嬪彂澶辫触 ,鍚戣緭閫佺嚎璇㈤棶鎶ラ敊锛侊紒锛�", actionGroupId); @@ -1626,6 +1630,8 @@ task.setUpdateTime(now); if (!taskService.updateById(task)) { log.error("Task [{}] 鏇存柊澶辫触 锛侊紒锛�", task.getSeqNum()); + } else { + report(task, null, TaskReportStsType.END); } } } @@ -1676,6 +1682,7 @@ taskReport.setAgvId(task.getAgvId()); taskReport.setBusNo(task.getBusId$()); taskReport.setCreateTime(new Date()); + taskReport.setCompleted(0); taskReport.setQrCode(qrCode); taskReport.setReportTimes(0); taskReport.setTaskSts(taskReportStsType.status); diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/third/ReportThirdScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/third/ReportThirdScheduler.java index 78a8c8b..c1babe3 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/third/ReportThirdScheduler.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/third/ReportThirdScheduler.java @@ -2,6 +2,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zy.acs.framework.common.Cools; import com.zy.acs.manager.core.utils.HttpHandler; import com.zy.acs.manager.manager.entity.TaskReport; @@ -17,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional; import java.io.IOException; +import java.util.Calendar; import java.util.Date; import java.util.List; @@ -41,21 +43,37 @@ if (report) { String wmsUrl = configService.getVal("WMS_URL", String.class); String wmsPath = configService.getVal("WMS_PATH", String.class); - Integer times = configService.getVal("REPORT_TIMES", Integer.class, 3); String codes = configService.getVal("CODES", String.class, "1457;1612"); - List<TaskReport> list = taskReportService.list(); + List<TaskReport> list = taskReportService.list(new LambdaQueryWrapper<TaskReport>().eq(TaskReport::getCompleted, 0).le(TaskReport::getReportTimes, 3)); for (TaskReport taskReport : list) { - if ((Cools.isEmpty(taskReport.getReportTimes()) ? 0 : taskReport.getReportTimes()) > times) { - toLog(taskReport); - continue; - } if (report(taskReport, wmsUrl, wmsPath)) { - toLog(taskReport); + taskReport.setReportTimes((Cools.isEmpty(taskReport.getReportTimes()) ? 0 : taskReport.getReportTimes()) + 1); + taskReport.setUpdateTime(new Date()); + taskReport.setCompleted(1); } else { taskReport.setReportTimes((Cools.isEmpty(taskReport.getReportTimes()) ? 0 : taskReport.getReportTimes()) + 1); taskReport.setUpdateTime(new Date()); - taskReportService.updateById(taskReport); } + taskReportService.updateById(taskReport); + } + } + } + + @Scheduled(fixedDelay = 3000) + public void execute2() { + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.DATE, 1); + List<TaskReport> list = taskReportService.list(new LambdaQueryWrapper<TaskReport>().eq(TaskReport::getCompleted, 1).ge(TaskReport::getUpdateTime, instance.getTime())); + Integer times = configService.getVal("REPORT_TIMES", Integer.class, 3); + for (TaskReport taskReport : list) { + if ((Cools.isEmpty(taskReport.getReportTimes()) ? 0 : taskReport.getReportTimes()) > times) { + toLog(taskReport); + } + } + list = taskReportService.list(new LambdaQueryWrapper<TaskReport>().eq(TaskReport::getReportTimes, 4).ge(TaskReport::getUpdateTime, instance.getTime())); + for (TaskReport taskReport : list) { + if ((Cools.isEmpty(taskReport.getReportTimes()) ? 0 : taskReport.getReportTimes()) > times) { + toLog(taskReport); } } } diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/TaskReport.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/TaskReport.java index 1f2fb3f..59d31af 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/TaskReport.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/TaskReport.java @@ -61,7 +61,11 @@ */ @ApiModelProperty(value = "搴撲綅鎴栫珯鐐�") private String locNo; - + /** + * 鏄惁瀹屾垚 + */ + @ApiModelProperty(value = "鏄惁瀹屾垚") + private Integer completed ; /** * 涓婃姤娆℃暟 -- Gitblit v1.9.1