自动化立体仓库 - WMS系统
whycq
2024-05-27 727fed9fc28d7a430255af69efe9a6f108845f91
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -75,19 +75,19 @@
//            throw new CoolException(param.getBarcode() + "料想码已存在AGV入库通知档中");
//        }
        //检查库存是否有相同料箱,存在则抛出异常
        //检查库存是否有相同货架,存在则抛出异常
        if(!Cools.isEmpty(agvLocDetlService.selectOne(new EntityWrapper<AgvLocDetl>().eq("supp_code",param.getBarcode())))){
            throw new CoolException(param.getBarcode() + "料箱码已存在AGV库存明细中");
            throw new CoolException(param.getBarcode() + "货架码已存在AGV库存明细中");
        }
        //检查库存是否有相同料箱,存在则抛出异常
        //检查库存是否有相同货架,存在则抛出异常
        if(!Cools.isEmpty(agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("barcode",param.getBarcode())))){
            throw new CoolException(param.getBarcode() + "料箱码已存在AGV库存主档中");
            throw new CoolException(param.getBarcode() + "货架码已存在AGV库存主档中");
        }
        //查看工作档是否有相同料箱,存在则抛出异常
        //查看工作档是否有相同货架,存在则抛出异常
        if(!Cools.isEmpty(agvWrkMastService.selectByContainerCode(param.getBarcode()))){
            throw new CoolException(param.getBarcode() + "料箱码已存在AGV工作档中");
            throw new CoolException(param.getBarcode() + "货架码已存在AGV工作档中");
        }
        if (Cools.isEmpty(param.getOrderNo())) {
@@ -317,7 +317,7 @@
        }
        if(Cools.isEmpty(agvWaitPakinService.selectByContainerCode(barcode))){
            throw new CoolException("该料箱未组托,无法绑定站点");
            throw new CoolException("该货架未组托,无法绑定站点");
        }
        AgvBasDevp agvBasDevp1 = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("barcode", barcode));
@@ -392,7 +392,11 @@
                ioType = 11;
            }
        } else {
            ioType = 12;
            if (agvLocMast.getFloor() != floor) {
                ioType = 12;
            } else {
                ioType = 11;
            }
        }
        Date now = new Date();
        //查询工作档
@@ -532,9 +536,30 @@
    */
    @Override
    @Transactional
    public String handBack(AgvMobileStartPakin param, Long userId) {
        Date now = new Date();
        AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("source_loc_no", param.getDevNo()));
        agvWrkMast.setIoType(113);
        agvWrkMast.setModiUser(userId);
        agvWrkMast.setModiTime(now);
        if (!agvWrkMastService.update(agvWrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no",agvWrkMast.getWrkNo()))) {
            throw new CoolException("更新工作档失败");
        }
        return "ok";
    }
    /*
     * 站点回退
     */
    @Override
    @Transactional
    public String doBack(AgvMobileStartPakin param, Long userId) {
        Date now = new Date();
        AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", param.getDevNo()));
        AgvWrkMast agvWrkMastSource = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("source_loc_no", param.getDevNo()));
        if (!Cools.isEmpty(agvWrkMastSource)) {
            throw new CoolException("当前站点已有退库任务");
        }
        Integer oldWrkNo = agvWrkMast.getWrkNo();
        if (!agvWrkMast.getBarcode().equals(param.getBarcode())) {
            throw new CoolException("回退任务的货架码与当前货架码不一致!");