1
zhang
5 天以前 9f7d850f985cbd1756798329b9a3669dae51ac48
1
4个文件已修改
79 ■■■■■ 已修改文件
zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/third/ReportThirdScheduler.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/TaskReport.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
        // 最多 ? 组bus运行
        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;
        }
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);
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);
            }
        }
    }
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 ;
    /**
     * 上报次数