#
vincentlu
4 天以前 0267cc2886bbdce2c9a55755789c10e0dcaff9f0
#
1个文件已添加
9个文件已修改
118 ■■■■ 已修改文件
zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/Constants.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/dto/OpenBusCancelParam.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/OpenController.java 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/BusController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/TaskController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/BusService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/TaskService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/BusServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/Constants.java
@@ -6,8 +6,12 @@
 */
public class Constants {
    public static final String UPLINK = "UPLINK";
    public static final String HANDLE = "HANDLE";
    public static final String LIMIT_ONE = "limit 1";
    /**
     * 默认成功码
     */
zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/dto/OpenBusCancelParam.java
New file
@@ -0,0 +1,18 @@
package com.zy.acs.manager.core.integrate.dto;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
 * Created by vincent on 2023/6/12
 */
@Data
public class OpenBusCancelParam {
    private String batchNo;
    private List<String> tasks = new ArrayList<>();
}
zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/OpenController.java
@@ -1,10 +1,17 @@
package com.zy.acs.manager.core.integrate.wms;
import com.zy.acs.manager.common.annotation.OperationLog;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.framework.common.R;
import com.zy.acs.manager.system.controller.BaseController;
import com.zy.acs.manager.core.service.MainService;
import com.zy.acs.manager.common.annotation.OperationLog;
import com.zy.acs.manager.common.constant.Constants;
import com.zy.acs.manager.core.integrate.dto.OpenBusCancelParam;
import com.zy.acs.manager.core.integrate.dto.OpenBusSubmitParam;
import com.zy.acs.manager.core.service.MainService;
import com.zy.acs.manager.manager.entity.Bus;
import com.zy.acs.manager.manager.entity.Task;
import com.zy.acs.manager.manager.service.BusService;
import com.zy.acs.manager.manager.service.TaskService;
import com.zy.acs.manager.system.controller.BaseController;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@@ -22,13 +29,41 @@
    @Autowired
    private MainService mainService;
    @Autowired
    private TaskService taskService;
    @Autowired
    private BusService busService;
//    @PreAuthorize("hasAuthority('open:bus:submit')")
    @PostMapping("/bus/submit")
    @OperationLog("generate task from open api")
    public R save(@RequestBody OpenBusSubmitParam param) {
    public R submit(@RequestBody OpenBusSubmitParam param) {
        mainService.generateBusAndTask(param, null);
        return R.ok("generate tasks success");
    }
    @PostMapping("/bus/cancel")
    @OperationLog("cancel task from open api")
    public R cancel(@RequestBody OpenBusCancelParam param) {
        if (Cools.isEmpty(param.getTasks())) {
            return R.error("tasks is empty");
        }
        Long busId = null;
        if (!Cools.isEmpty(param.getBatchNo())) {
            Bus bus = busService.selectByBusNo(param.getBatchNo());
            if (null != bus) {
                busId = bus.getId();
            }
        } else {
//            return R.error("batch_no is empty");
        }
        for (String taskNo : param.getTasks()) {
            Task task = taskService.selectBySeqNum(busId, taskNo);
            if (null == task) {
                continue;
            }
            taskService.cancel(task.getId(), null, Constants.UPLINK);
        }
        return R.ok("cancel tasks success");
    }
}
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -107,7 +107,7 @@
        if (!Cools.isEmpty(errorMsg)) {
            throw new BusinessException(errorMsg);
        }
        String batch = busSubmitParam.getBatchNo();
        String batchNo = busSubmitParam.getBatchNo();
        List<TaskDto> taskDtoList = busSubmitParam.getTasks();
        if (Cools.isEmpty(taskDtoList)) {
            throw new BusinessException("taskList can't be empty!");
@@ -123,7 +123,7 @@
        Date now = new Date();
        Bus bus = new Bus();
        bus.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3));
        bus.setBusNo(batch);
        bus.setBusNo(batchNo);
        bus.setStartTime(now);
        bus.setBusSts(BusStsType.RECEIVE.val());
        bus.setMemo(memo);
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/BusController.java
@@ -6,6 +6,7 @@
import com.zy.acs.framework.common.Cools;
import com.zy.acs.framework.common.R;
import com.zy.acs.manager.common.annotation.OperationLog;
import com.zy.acs.manager.common.constant.Constants;
import com.zy.acs.manager.common.domain.*;
import com.zy.acs.manager.common.utils.BusinessSortService;
import com.zy.acs.manager.common.utils.ExcelUtil;
@@ -176,7 +177,7 @@
                .in(Task::getTaskSts, TaskStsType.INIT.val(), TaskStsType.WAITING.val()));
        if (!Cools.isEmpty(taskList)) {
            for (Task task : taskList) {
                taskService.cancel(task.getId(), getLoginUserId());
                taskService.cancel(task.getId(), getLoginUserId(), Constants.HANDLE);
            }
        }
        if (0 == taskService.count(new LambdaQueryWrapper<Task>().eq(Task::getBusId, bus.getId()).eq(Task::getTaskSts, TaskStsType.COMPLETE.val()))) {
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/TaskController.java
@@ -1,11 +1,11 @@
package com.zy.acs.manager.manager.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.framework.common.R;
import com.zy.acs.manager.common.annotation.OperationLog;
import com.zy.acs.manager.common.constant.Constants;
import com.zy.acs.manager.common.domain.BaseParam;
import com.zy.acs.manager.common.domain.KeyValVo;
import com.zy.acs.manager.common.domain.PageParam;
@@ -15,7 +15,6 @@
import com.zy.acs.manager.manager.entity.Task;
import com.zy.acs.manager.manager.service.TaskService;
import com.zy.acs.manager.system.controller.BaseController;
import com.zy.acs.manager.system.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@@ -119,14 +118,14 @@
    @OperationLog("Complete Task")
    @GetMapping("/task/complete/{id}")
    public R complete(@PathVariable Long id) {
        return taskService.complete(id, getLoginUserId()) ? R.ok("Complete Success") : R.error("Complete Fail");
        return taskService.complete(id, getLoginUserId(), Constants.HANDLE) ? R.ok("Complete Success") : R.error("Complete Fail");
    }
    @PreAuthorize("hasAuthority('manager:task:update')")
    @OperationLog("Cancel Task")
    @GetMapping("/task/cancel/{id}")
    public R cancel(@PathVariable Long id) {
        return taskService.cancel(id, getLoginUserId()) ? R.ok("Cancel Success") : R.error("Cancel Fail");
        return taskService.cancel(id, getLoginUserId(), Constants.HANDLE) ? R.ok("Cancel Success") : R.error("Cancel Fail");
    }
}
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/BusService.java
@@ -9,6 +9,8 @@
public interface BusService extends IService<Bus> {
    Bus selectByBusNo(String busNo);
    Bus selectByUuid(String uuid);
    String checkoutValid(OpenBusSubmitParam param);
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/TaskService.java
@@ -19,7 +19,7 @@
    Task pick(TaskStsType taskStsType);
    Task selectByUuid(String uuid);
    Task selectBySeqNum(Long busId, String seqNum);
    List<Task> selectBySts(TaskStsType taskStsType);
@@ -27,9 +27,9 @@
    List<Map<String, Object>> selectStatByLastSevenDays();
    Boolean complete(Long taskId, Long userId);
    Boolean complete(Long taskId, Long userId, String from);
    Boolean cancel(Long taskId, Long userId);
    Boolean cancel(Long taskId, Long userId, String from);
    LaneDto checkoutOriginLane(Task task);
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/BusServiceImpl.java
@@ -5,6 +5,7 @@
import com.zy.acs.framework.common.BaseRes;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.framework.exception.CoolException;
import com.zy.acs.manager.common.constant.Constants;
import com.zy.acs.manager.common.domain.TaskDto;
import com.zy.acs.manager.core.integrate.dto.OpenBusSubmitParam;
import com.zy.acs.manager.manager.entity.Bus;
@@ -33,6 +34,14 @@
    private LocService locService;
    @Override
    public Bus selectByBusNo(String busNo) {
        if (Cools.isEmpty(busNo)) {
            return null;
        }
        return this.getOne(new LambdaQueryWrapper<Bus>().eq(Bus::getBusNo, busNo).last(Constants.LIMIT_ONE));
    }
    @Override
    public Bus selectByUuid(String uuid) {
        return this.getOne(new LambdaQueryWrapper<Bus>().eq(Bus::getUuid, uuid));
    }
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java
@@ -68,8 +68,16 @@
    }
    @Override
    public Task selectByUuid(String uuid) {
        return this.getOne(new LambdaQueryWrapper<Task>().eq(Task::getUuid, uuid));
    public Task selectBySeqNum(Long busId, String seqNum) {
        if (Cools.isEmpty(seqNum)) {
            return null;
        }
        LambdaQueryWrapper<Task> wrapper = new LambdaQueryWrapper<>();
        if (null != busId) {
            wrapper.eq(Task::getBusId, busId);
        }
        wrapper.eq(Task::getSeqNum, seqNum);
        return this.getOne(wrapper.last(Constants.LIMIT_ONE));
    }
    @Override
@@ -100,7 +108,7 @@
    @Override
    @Transactional
    public Boolean complete(Long taskId, Long userId) {
    public Boolean complete(Long taskId, Long userId, String from) {
        Task task = this.getById(taskId);
        if (null == task) {
            return Boolean.FALSE;
@@ -112,7 +120,7 @@
        task.setTaskSts(TaskStsType.COMPLETE.val());
        task.setUpdateTime(now);
        task.setUpdateBy(userId);
        task.setMemo(Constants.HANDLE + " " + TaskStsType.COMPLETE);
        task.setMemo(from + " " + TaskStsType.COMPLETE);
        if (!this.updateById(task)) {
            throw new CoolException(BaseRes.ERROR);
        }
@@ -141,7 +149,7 @@
    @Override
    @Transactional
    public Boolean cancel(Long taskId, Long userId) {
    public Boolean cancel(Long taskId, Long userId, String from) {
        Task task = this.getById(taskId);
        if (null == task) {
            return Boolean.FALSE;
@@ -153,7 +161,7 @@
        task.setTaskSts(TaskStsType.CANCEL.val());
        task.setUpdateTime(now);
        task.setUpdateBy(userId);
        task.setMemo(Constants.HANDLE + " " + TaskStsType.CANCEL);
        task.setMemo(from + " " + TaskStsType.CANCEL);
        if (!this.updateById(task)) {
            throw new CoolException(BaseRes.ERROR);
        }