1
zhang
21 小时以前 70ff4954fec4483883e2485bc8c0ed59054b91a9
1
9个文件已修改
1个文件已添加
123 ■■■■ 已修改文件
zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/TaskDto.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/third/ReportThirdScheduler.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/third/dto/TaskEvent.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/OpenController.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/TaskReport.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/TaskReportStsType.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/TaskService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/TaskDto.java
@@ -10,6 +10,8 @@
    private String seqNum;
    private String taskType;
    private String oriLoc;
    private String oriSta;
zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java
@@ -202,7 +202,7 @@
            taskDto.setOriSta(stockSta.getStaNo());
            taskDto.setDestLoc(idleLoc.getLocNo());
            taskDto.setPriority(100);
            taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(15, 19));
            taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(11, 19));
            param.getTaskList().add(taskDto);
        }
@@ -254,7 +254,7 @@
            taskDto.setOriSta(stockSta.getStaNo());
            taskDto.setDestLoc(idleLoc.getLocNo());
            taskDto.setPriority(99);
            taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(15, 19));
            taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(11, 19));
            param.getTaskList().add(taskDto);
            num--;
@@ -306,7 +306,7 @@
            taskDto.setOriLoc(stockLoc.getLocNo());
            taskDto.setDestSta(idleSta.getStaNo());
            taskDto.setPriority(100);
            taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(15, 19));
            taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(11, 19));
            param.getTaskList().add(taskDto);
        }
@@ -359,7 +359,7 @@
            taskDto.setOriLoc(stockLoc.getLocNo());
            taskDto.setDestSta(idleSta.getStaNo());
            taskDto.setPriority(100);
            taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(15, 19));
            taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(11, 19));
            param.getTaskList().add(taskDto);
            num++;
@@ -425,7 +425,7 @@
            TaskDto taskDto = new TaskDto();
            taskDto.setOriLoc(stockLoc.getLocNo());
            taskDto.setDestLoc(idleLoc.getLocNo());
            taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(15, 19));
            taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(11, 19));
            param.getTaskList().add(taskDto);
        }
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -1686,6 +1686,7 @@
        taskReport.setQrCode(qrCode);
        taskReport.setReportTimes(0);
        taskReport.setTaskSts(taskReportStsType.status);
        taskReport.setEventType(taskReportStsType.name);
        taskReport.setSeqNum(task.getSeqNum());
        taskReport.setZpallet(task.getZpallet());
        if (!taskReportService.save(taskReport)) {
zy-acs-manager/src/main/java/com/zy/acs/manager/core/third/ReportThirdScheduler.java
@@ -4,6 +4,7 @@
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.third.dto.TaskEvent;
import com.zy.acs.manager.core.utils.HttpHandler;
import com.zy.acs.manager.manager.entity.TaskReport;
import com.zy.acs.manager.manager.entity.TaskReportLog;
@@ -43,10 +44,10 @@
        if (report) {
            String wmsUrl = configService.getVal("WMS_URL", String.class);
            String wmsPath = configService.getVal("WMS_PATH", String.class);
            String codes = configService.getVal("CODES", String.class, "1457;1612");
            List<TaskReport> list = taskReportService.list(new LambdaQueryWrapper<TaskReport>().eq(TaskReport::getCompleted, 0).le(TaskReport::getReportTimes, 3));
            for (TaskReport taskReport : list) {
                if (report(taskReport, wmsUrl, wmsPath)) {
                log.info("开始上报:{}", taskReport);
                if (report(new TaskEvent(taskReport.getSeqNum(), taskReport.getEventType()), wmsUrl, wmsPath)) {
                    taskReport.setReportTimes((Cools.isEmpty(taskReport.getReportTimes()) ? 0 : taskReport.getReportTimes()) + 1);
                    taskReport.setUpdateTime(new Date());
                    taskReport.setCompleted(1);
@@ -59,27 +60,33 @@
        }
    }
    /**
     * 删除超过一天的上报历史记录
     */
    @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);
        Boolean report = configService.getVal("REPORT", Boolean.class, false);
        if (report) {
            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);
            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);
                }
            }
        }
    }
    @Transactional
    public boolean report(TaskReport taskReport, String wmsUrl, String wmsPath) {
    public boolean report(TaskEvent taskReport, String wmsUrl, String wmsPath) {
        String response = null;
        try {
            response = new HttpHandler.Builder()
@@ -95,7 +102,6 @@
            }
        } catch (IOException e) {
            log.info("报错了,{}", e);
            taskReport.setMemo(e.getMessage());
            e.printStackTrace();
        }
zy-acs-manager/src/main/java/com/zy/acs/manager/core/third/dto/TaskEvent.java
New file
@@ -0,0 +1,23 @@
package com.zy.acs.manager.core.third.dto;
import lombok.Data;
import java.io.Serializable;
@Data
public class TaskEvent implements Serializable {
    /**
     * 任务号
     */
    private String seqNum;
    /**
     * 事件类型
     */
    private String eventType;
    public TaskEvent(String seqNum, String eventType) {
        this.seqNum = seqNum;
        this.eventType = eventType;
    }
}
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/OpenController.java
@@ -14,6 +14,7 @@
import com.zy.acs.manager.manager.enums.StaStsType;
import com.zy.acs.manager.manager.service.LocService;
import com.zy.acs.manager.manager.service.StaService;
import com.zy.acs.manager.manager.service.TaskService;
import com.zy.acs.manager.system.controller.BaseController;
import com.zy.acs.manager.system.service.ConfigService;
import io.swagger.annotations.Api;
@@ -23,6 +24,7 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -47,6 +49,11 @@
    @Autowired
    private ConfigService configService;
    @Autowired
    private TaskService taskService;
    //@PreAuthorize("hasAuthority('open:bus:submit')")
    @PostMapping("/bus/submit")
    @OperationLog("generate task from open api")
@@ -60,6 +67,21 @@
        return R.error("generate tasks error");
    }
    @OperationLog("Cancel Task")
    @PostMapping("/task/cancel")
    public R cancel(@RequestBody List<String> taskIds) {
        if (Cools.isEmpty(taskIds)) {
            return R.error("task cancel error");
        }
        List<Boolean> data = new ArrayList<>();
        for (String id : taskIds) {
            data.add(taskService.cancel(taskService.selectBySeqNum(id).getId(), 9527L));
        }
        return R.ok().add(data);
    }
    @PostMapping("/sta/update")
    @OperationLog("sync sta")
    public R updateLoc(@RequestBody Map<String, Object> map) {
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/TaskReport.java
@@ -35,6 +35,11 @@
    @ApiModelProperty(value = "任务号")
    private String seqNum;
    /**
     * 事件类型
     */
    @ApiModelProperty(value = "事件类型")
    private String eventType;
    /**
     * 任务进度
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/TaskReportStsType.java
@@ -14,17 +14,19 @@
public enum TaskReportStsType implements DataFieldSortFunc {
    START(1),
    OTBIN(5),
    END(10),
    START(1,"START"),
    OTBIN(5,"OTBIN"),
    END(10, "END"),
    ;
    public int status;
    TaskReportStsType(int dataSort) {
        this.status = dataSort;
    }
    public String name;
    TaskReportStsType(int dataSort, String name) {
        this.status = dataSort;
        this.name = name;
    }
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/TaskService.java
@@ -22,6 +22,8 @@
    Task selectByUuid(String uuid);
    Task selectBySeqNum(String seqNum);
    List<Task> selectBySts(TaskStsType taskStsType);
    List<Task> selectInSts(Long agvId, TaskStsType... taskStsTypes);
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java
@@ -64,6 +64,12 @@
    }
    @Override
    public Task selectBySeqNum(String seqNum) {
        return this.list(new LambdaQueryWrapper<Task>().eq(Task::getSeqNum, seqNum)).get(0);
    }
    @Override
    public List<Task> selectBySts(TaskStsType taskStsType) {
        LambdaQueryWrapper<Task> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(Task::getTaskSts, taskStsType.val());