自动化立体仓库 - WMS系统
13
zhang
1 天以前 1c0dbad152362ac704a27ecfc5b5d08247385d87
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -182,10 +182,10 @@
                if (staNo.getDevNo() == 1135 && locMast.getLocType1() == 2) {
                    throw new CoolException("所选库位不是低库位无法调拨,库位号:{}" + locMast.getLocNo());
                }
                if(staNo.getDevNo()>=1100){
                if (staNo.getDevNo() >= 1100) {
                    // 启动出库开始 101.出库
                    stockOut(staNo, locDetlDtos, null, userId);
                }else {
                } else {
                    stockOutSXK(staNo, locDetlDtos, null, userId);
                }
            } else {
@@ -385,7 +385,6 @@
            for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
                if (detlDto.getCount() == null || detlDto.getCount() <= 0.0D) {
                    continue;
                }
@@ -471,12 +470,12 @@
            if (locDto.getAnfme() == null || locDto.getAnfme() <= 0.0D) {
                continue;
            }
            OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
            if (orderDetl == null) {
                orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
            OrderDetlPakout orderDetlPakout = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
            if (orderDetlPakout == null) {
                orderDetlPakout = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
            }
            WrkDetl wrkDetl = new WrkDetl();
            wrkDetl.sync(orderDetl);
            wrkDetl.sync(orderDetlPakout);
            wrkDetl.setZpallet(wrkMast.getBarcode());
            wrkDetl.setIoTime(now);
            wrkDetl.setWrkNo(workNo);
@@ -491,10 +490,10 @@
                throw new CoolException("保存工作档明细失败");
            }
            // 修改订单明细
            if (!orderDetlService.increaseWorkQtyById(orderDetl.getId(),  locDto.getAnfme())) {
            if (!orderDetlService.increaseWorkQtyById(orderDetlPakout.getId(), locDto.getAnfme())) {
                throw new CoolException("修改订单明细数量失败");
            }
            orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
            orderService.updateSettle(orderDetlPakout.getOrderId(), 2L, userId);
        }
        // 修改库位状态:   F.在库 ====>>> R.出库预约/P.拣料/盘点/并板出库中
        locMast = locMastService.selectById(taskDto.getLocNo());
@@ -524,10 +523,10 @@
        LocMast locMast = locMastService.selectById(taskDto.getLocNo());
        List<LocMast> locMasts = new ArrayList<>();
        if ((locMast.getBay1() >= 3 && locMast.getBay1() <= 6) ) {
        if ((locMast.getBay1() >= 3 && locMast.getBay1() <= 6)) {
            locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
                    .eq("row1", locMast.getBay1())
                    .in("bay1", 3,4,5,6)
                    .in("bay1", 3, 4, 5, 6)
                    .eq("crn_no", 7)
                    .eq("loc_type1", locMast.getLocType1())
                    .orderBy("bay1", true));
@@ -579,12 +578,12 @@
            if (locDto.getAnfme() == null || locDto.getAnfme() <= 0.0D) {
                continue;
            }
            OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
            if (orderDetl == null) {
                orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
            OrderDetlPakout orderDetlPakout = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
            if (orderDetlPakout == null) {
                orderDetlPakout = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
            }
            WrkDetl wrkDetl = new WrkDetl();
            wrkDetl.sync(orderDetl);
            wrkDetl.sync(orderDetlPakout);
            wrkDetl.setZpallet(wrkMast.getBarcode());
            wrkDetl.setIoTime(now);
            wrkDetl.setWrkNo(workNo);
@@ -599,10 +598,10 @@
                throw new CoolException("保存工作档明细失败");
            }
            // 修改订单明细
            if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) {
            if (!orderDetlService.increaseWorkQty(orderDetlPakout.getOrderId(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), locDto.getAnfme())) {
                throw new CoolException("修改订单明细数量失败");
            }
            orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
            orderService.updateSettle(orderDetlPakout.getOrderId(), 2L, userId);
        }
        // 修改库位状态:   F.在库 ====>>> R.出库预约/P.拣料/盘点/并板出库中
        locMast = locMastService.selectById(taskDto.getLocNo());
@@ -1045,7 +1044,6 @@
            for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
                if (detlDto.getCount() == null || detlDto.getCount() <= 0.0D) {
                    continue;
                }
@@ -1170,7 +1168,7 @@
        if (Cools.isEmpty(wrkMast)) {
            throw new CoolException(workNo + "工作档不存在");
        }
        if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 5||wrkMast.getWrkSts() == 14 || wrkMast.getWrkSts() == 15) {
        if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 5 || wrkMast.getWrkSts() == 14 || wrkMast.getWrkSts() == 15) {
            throw new CoolException("当前工作档已完成");
        }
        // 入库 + 库位转移
@@ -1200,7 +1198,7 @@
        if (Cools.isEmpty(locMast)) {
            throw new CoolException("库位不存在");
        }
        if (!(locMast.getLocSts().equals("P") ||locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O"))) {
        if (!(locMast.getLocSts().equals("P") || locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O"))) {
            throw new CoolException("当前库位不可调整!库位状态:" + locMast.getLocSts$());
        }
@@ -1312,7 +1310,7 @@
        }
        locMast.setModiUser(userId);
        locMast.setModiTime(now);
        if (locMast.getLocSts().equals("O")){
        if (locMast.getLocSts().equals("O")) {
            locMast.setBarcode("");
        }
        if (!locMastService.updateById(locMast)) {
@@ -1403,20 +1401,20 @@
                    //修改订单主表状态,没有作业数量时才可以修改
                    boolean flag = true;
                    List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", wrkDetl.getOrderNo()));
                    for (OrderDetl orderDetl : orderDetls) {
                        if (orderDetl.getWorkQty() > 0) {
                    List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_no", wrkDetl.getOrderNo()));
                    for (OrderDetlPakout orderDetlPakout : orderDetlPakouts) {
                        if (orderDetlPakout.getWorkQty() > 0) {
                            flag = false;
                        }
                    }
                    if (flag) {
                        Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", wrkDetl.getOrderNo()));
                        OrderPakin order = orderService.selectOne(new EntityWrapper<OrderPakin>().eq("order_no", wrkDetl.getOrderNo()));
                        if (!Cools.isEmpty(order) && order.getSettle() == 2) {
                            order.setSettle(1L);
                            order.setUpdateBy(userId);
                            order.setUpdateTime(now);
                        }
                        if (!orderService.update(order, new EntityWrapper<Order>().eq("order_no", wrkDetl.getOrderNo()))) {
                        if (!orderService.update(order, new EntityWrapper<OrderPakin>().eq("order_no", wrkDetl.getOrderNo()))) {
                            throw new CoolException("修改订单状态失败");
                        }
                    }
@@ -1773,10 +1771,10 @@
//                    moveLocForDeepLoc(locMast1);
//                }
//            }
            if ((locMast.getBay1() >= 3 && locMast.getBay1() <= 6) ) {
            if ((locMast.getBay1() >= 3 && locMast.getBay1() <= 6)) {
                locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
                        .eq("row1", locMast.getBay1())
                        .in("bay1", 3,4,5,6)
                        .in("bay1", 3, 4, 5, 6)
                        .eq("crn_no", 7)
                        .eq("loc_type1", locMast.getLocType1())
                        .orderBy("bay1", true));