Junjie
1 天以前 9079c4f09f4c267576638b5f41c8aa695742a66a
#取消出库优化
4个文件已修改
65 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OpenController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/WrkMastController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/WrkMastScheduler.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/CommonService.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -27,15 +27,12 @@
import com.zy.core.thread.StationThread;
import com.zy.system.entity.Config;
import com.zy.system.service.ConfigService;
import com.zy.system.service.HighPrivilegeGrantService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import jakarta.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
@@ -63,10 +60,6 @@
    private ConfigService configService;
    @Autowired
    private DeviceConfigService deviceConfigService;
    @Autowired
    private HighPrivilegeGrantService highPrivilegeGrantService;
    @Autowired
    private HttpServletRequest request;
    // 移库任务
    @PostMapping("/createLocMoveTask")
@@ -144,7 +137,7 @@
        if (param == null) {
            return R.error("参数不能为空");
        }
        boolean completeTask = commonService.cancelTask(param, false);
        boolean completeTask = commonService.cancelTask(param);
        if (completeTask) {
            return R.ok();
        }
@@ -170,7 +163,7 @@
        if (param == null) {
            return R.error("参数不能为空");
        }
        CancelTaskBatchResult result = commonService.cancelTaskBatch(param, false);
        CancelTaskBatchResult result = commonService.cancelTaskBatch(param);
        return R.ok().add(result);
    }
src/main/java/com/zy/asrs/controller/WrkMastController.java
@@ -90,7 +90,7 @@
            return R.error("参数不能为空");
        }
        highPrivilegeGrantService.assertGranted(request.getHeader("token"), "取消任务");
        return commonService.cancelTask(param, true) ? R.ok() : R.error("任务取消失败");
        return commonService.forceCancelTask(param) ? R.ok() : R.error("任务取消失败");
    }
    private <T> void convert(Map<String, Object> map, QueryWrapper<T> wrapper){
src/main/java/com/zy/asrs/task/WrkMastScheduler.java
@@ -271,7 +271,8 @@
    @Scheduled(cron = "0/1 * * * * ? ")
    @Transactional
    public void executeCancelTask(){
        List<WrkMast> wrkMasts = wrkMastService.list(new QueryWrapper<WrkMast>().eq("mk", "taskCancel"));
        List<WrkMast> wrkMasts = wrkMastService.list(new QueryWrapper<WrkMast>()
                .in("mk", "taskCancel", "taskForceCancel"));
        if (wrkMasts.isEmpty()) {
            return;
        }
src/main/java/com/zy/common/service/CommonService.java
@@ -20,6 +20,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Comparator;
@@ -124,7 +125,8 @@
        return true;
    }
    public boolean cancelTask(CancelTaskParam param, boolean allowDirectCancel) {
    @Transactional
    public boolean cancelTask(CancelTaskParam param) {
        WrkMast wrkMast = null;
        Integer wrkNo = param.getWrkNo();
        String taskNo = param.getTaskNo();//wms任务号
@@ -139,17 +141,6 @@
        if (null == wrkMast) {
            throw new CoolException("任务不存在");
        }
        if (allowDirectCancel) {
            boolean updated = wrkMastService.update(null, new UpdateWrapper<WrkMast>()
                    .eq("wrk_no", wrkMast.getWrkNo())
                    .set("mk", "taskCancel")
                    .set("modi_time", new Date()));
            if (!updated) {
                throw new CoolException("任务取消失败");
            }
            return true;
        }
        Long expectedWrkSts;
@@ -176,6 +167,34 @@
                .set("modi_time", new Date()));
        if (!updated) {
            throw new CoolException("任务状态已变化,取消失败");
        }
        return true;
    }
    @Transactional
    public boolean forceCancelTask(CancelTaskParam param) {
        WrkMast wrkMast = null;
        Integer wrkNo = param.getWrkNo();
        String taskNo = param.getTaskNo();//wms任务号
        if (wrkNo == null) {
            if (!Cools.isEmpty(taskNo)) {
                wrkMast = wrkMastService.getOne(new QueryWrapper<WrkMast>().eq("wms_wrk_no", taskNo));
            }
        } else {
            wrkMast = wrkMastService.selectByWorkNo(wrkNo);
        }
        if (wrkMast == null) {
            throw new CoolException("任务不存在");
        }
        boolean updated = wrkMastService.update(null, new UpdateWrapper<WrkMast>()
                .eq("wrk_no", wrkMast.getWrkNo())
                .set("mk", "taskForceCancel")
                .set("modi_time", new Date()));
        if (!updated) {
            throw new CoolException("任务强制取消失败");
        }
        return true;
    }
@@ -282,10 +301,6 @@
    }
    public CancelTaskBatchResult cancelTaskBatch(CancelTaskBatchParam param) {
        return cancelTaskBatch(param, false);
    }
    public CancelTaskBatchResult cancelTaskBatch(CancelTaskBatchParam param, boolean allowDirectCancel) {
        if (param == null) {
            throw new CoolException("参数不能为空");
        }
@@ -305,7 +320,7 @@
            boolean cancelStatus = false;
            try {
                cancelStatus = cancelTask(cancelTaskParam, allowDirectCancel);
                cancelStatus = cancelTask(cancelTaskParam);
            } catch (Exception e) {
            }