#AI
Junjie
4 天以前 d8896f48cf6d3ab0b38d289522be15ad239552d3
src/main/java/com/zy/common/service/CommonService.java
@@ -38,8 +38,6 @@
    @Autowired
    private NavigateUtils navigateUtils;
    @Autowired
    private CommonService commonService;
    @Autowired
    private RedisUtil redisUtil;
    /**
@@ -118,20 +116,20 @@
        Date now = new Date();
        LocMast sourceLocMast = locMastService.queryByLoc(param.getSourceLocNo());
        if (null == sourceLocMast) {
            throw new CoolException("源库位不存在");
            throw new CoolException(param.getSourceLocNo() + "源库位不存在");
        }
        if (!sourceLocMast.getLocSts().equals("F")) {
            throw new CoolException("源库位不处于在库状态");
            throw new CoolException(sourceLocMast.getLocNo() + "源库位不处于在库状态");
        }
        LocMast locMast = locMastService.queryByLoc(param.getLocNo());
        if (null == locMast) {
            throw new CoolException("目标库位不存在");
            throw new CoolException(param.getLocNo() + "目标库位不存在");
        }
        if (!locMast.getLocSts().equals("O")) {
            throw new CoolException("目标库位不处于空库状态");
            throw new CoolException(locMast.getLocNo() + "目标库位不处于空库状态");
        }
        double ioPri = 800D;
@@ -139,12 +137,12 @@
            ioPri = param.getTaskPri().doubleValue();
        }
        Integer sourceCrnNo = commonService.findCrnNoByLocNo(sourceLocMast.getLocNo());
        Integer sourceCrnNo = this.findCrnNoByLocNo(sourceLocMast.getLocNo());
        if (sourceCrnNo == null) {
            throw new CoolException("未找到对应堆垛机");
        }
        Integer crnNo = commonService.findCrnNoByLocNo(locMast.getLocNo());
        Integer crnNo = this.findCrnNoByLocNo(locMast.getLocNo());
        if (crnNo == null) {
            throw new CoolException("未找到对应堆垛机");
        }
@@ -190,11 +188,11 @@
        Date now = new Date();
        LocMast locMast = locMastService.queryByLoc(param.getLocNo());
        if (null == locMast) {
            throw new CoolException("目标库位不存在");
            throw new CoolException(param.getLocNo() + "目标库位不存在");
        }
        if (!locMast.getLocSts().equals("O")) {
            throw new CoolException("目标库位不处于空库状态");
            throw new CoolException(locMast.getLocNo() + "目标库位不处于空库状态");
        }
        double ioPri = 100D;
@@ -202,7 +200,7 @@
            ioPri = param.getTaskPri().doubleValue();
        }
        Integer crnNo = commonService.findCrnNoByLocNo(locMast.getLocNo());
        Integer crnNo = this.findCrnNoByLocNo(locMast.getLocNo());
        if (crnNo == null) {
            throw new CoolException("未找到对应堆垛机");
        }
@@ -256,14 +254,28 @@
            ioPri = param.getTaskPri().doubleValue();
        }
        Integer crnNo = commonService.findCrnNoByLocNo(locMast.getLocNo());
        Integer crnNo = this.findCrnNoByLocNo(locMast.getLocNo());
        if (crnNo == null) {
            throw new CoolException("未找到对应堆垛机");
        }
        Integer sourceStationId = commonService.findOutStationId(crnNo, param.getStaNo());
        Integer sourceStationId = this.findOutStationId(crnNo, param.getStaNo());
        if (sourceStationId == null) {
            throw new CoolException("未找到输送目标站点可走行路径");
        }
        BasCrnp basCrnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>().eq("crn_no", crnNo));
        if(basCrnp == null) {
            throw new CoolException("未找到对应堆垛机数据");
        }
        List<WrkMast> outWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
                .eq("crn_no", crnNo)
                .eq("io_type", WrkIoType.OUT.id)
        );
        // 检查是否超过最大出库任务数
        if(outWrkMasts.size() >= basCrnp.getMaxOutTask()){
            News.info("堆垛机:{} 已达最大出库任务数,当前任务数:{}", basCrnp.getCrnNo(), outWrkMasts.size());
            throw new CoolException("堆垛机:" + basCrnp.getCrnNo() + "已达最大出库任务数,当前任务数:" + outWrkMasts.size());
        }
        // 获取工作号
@@ -292,7 +304,6 @@
        locMast.setLocSts("R");
        locMast.setModiTime(new Date());
        locMastService.updateById(locMast);
        return true;
    }