自动化立体仓库 - WMS系统
whycq
2024-05-29 d1963b1046b1b5d9b32aa27204c3cda5311a0ec4
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -118,7 +118,8 @@
        for (PickParam.Pick pick : pickParams.getPicks()) {
            if (pick.getCount().equals(0D)) continue;
            AgvWrkDetl agvWrkDetl = agvWrkDetlService.selectOne(new EntityWrapper<AgvWrkDetl>().eq("matnr", pick.getMatnr()).eq("three_code", pick.getThreeCode()));
            Double count = 0.0D;
            AgvWrkDetl agvWrkDetl = agvWrkDetlService.selectOne(new EntityWrapper<AgvWrkDetl>().eq("matnr", pick.getMatnr()).eq("three_code", pick.getThreeCode()).eq("supp_code",pick.getSuppCode()));
            if (Cools.isEmpty(agvWrkDetl)) {
                AgvWrkDetl wrkDetl = new AgvWrkDetl();
                Mat mat = matService.selectByMatnr(pick.getMatnr());
@@ -140,7 +141,7 @@
            } else {
                Double anfme = agvWrkDetl.getAnfme() + pick.getCount();
                agvWrkDetl.setAnfme(anfme);
                agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>().eq("matnr",agvWrkDetl.getMatnr()).eq("three_code",agvWrkDetl.getThreeCode()));
                agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>().eq("matnr",agvWrkDetl.getMatnr()).eq("three_code",agvWrkDetl.getThreeCode()).eq("supp_code",pick.getSuppCode()));
            }
@@ -434,7 +435,7 @@
        if (!agvWrkMastService.insertByIncrease(mast)) {
            throw new CoolException("保存工作档失败");
        }
        if (!agvLocMast.getLocSts().equals("F")) {
        if (agvLocMast.getLocSts().equals("F")) {
            AgvWrkMast mast1 = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", locMast.getLocNo()).eq("source_loc_no",agvLocMast.getLocNo()));
            //生成工作档明细
            List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", agvLocMast.getLocNo()));
@@ -453,6 +454,17 @@
                }
            });
        }
        // 如果当前任务是箱壳二三楼回退一楼的 回滚调拨单
        if (ioType == 12 && locMast.getFloor() == 1) {
            List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", agvLocMast.getLocNo()));
            for (AgvLocDetl agvLocDetl : agvLocDetls) {
                OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvLocDetl.getThreeCode()).eq("matnr", agvLocDetl.getMatnr()).eq("order_no", "DB" + agvLocDetl.getOrderNo()));
                orderDetl.setQty(orderDetl.getQty() - agvLocDetl.getAnfme());
                if (!orderDetlService.updateById(orderDetl)) {
                    throw new CoolException("保存工作明细失败");
                }
            }
        }
        //更新目标库位状态
        updateAgvLocMast(agvLocMast,"P");
        updateAgvLocMast(locMast,"Q");