自动化立体仓库 - WMS系统
skyouc
2 天以前 d2b0cd7ae27bb7ea24549d6930a53cbb27c6e44a
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -192,8 +192,8 @@
                                }
                            }
                        } catch (Exception ignore) {
                        }
                    }
                    // 修改库位状态 S ====>> F
                    if (locMast.getLocSts().equals("S")) {
@@ -278,7 +278,6 @@
                                + wrkMast.getLocNo() + "]");
                    }
                    for (WrkDetl wrkDetl : wrkDetls53) {
                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(),
                                wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(),
                                wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(),
@@ -323,8 +322,8 @@
                                }
                            }
                        } catch (Exception ignore) {
                        }
                        }
                    }
                    // 修改库位状态 Q ====>> F
                    if (locMast.getLocSts().equals("Q")) {
@@ -407,7 +406,6 @@
                        } catch (Exception ignore) {
                        }
                    }
                    // 修改库位状态 Q ====>> F
                    if (locMast.getLocSts().equals("Q")) {
@@ -630,6 +628,46 @@
                                    + wrkMast.getSourceLocNo() + "]");
                        }
                    }
                    break;
                case 103:
//                    List<WrkDetl> wrkDetls103 = wrkDetlService
//                            .selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
//                    if (wrkDetls103.isEmpty()) {
//                        // exceptionHandle("全板出库 ===>> 工作明细档为空;[workNo={0}]", wrkMast.getWrkNo());
//                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
//                        return FAIL.setMsg("全板出库 ===>> 工作明细档为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
//                                + wrkMast.getSourceLocNo() + "]");
//                    }
//                    for (WrkDetl wrkDetl : wrkDetls103) {
//                        // 更新订单完成数量
//                        OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(),
//                                wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
//                                wrkDetl.getStandby2(), wrkDetl.getStandby3(),
//                                wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
//                        if (orderDetlPakout == null) {
//                            orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(),
//                                    wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
//                                    wrkDetl.getStandby2(), wrkDetl.getStandby3(),
//                                    wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
//                        }
//                        try {
//                            if (!Cools.isEmpty(orderDetlPakout)) {
//                                if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(),
//                                        wrkDetl.getMatnr(),
//                                        orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
//                                        wrkDetl.getStandby2(), wrkDetl.getStandby3(),
//                                        wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(),
//                                        wrkDetl.getAnfme())) {
//                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
//                                    return FAIL.setMsg("全板出库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo()
//                                            + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
//                                }
//                            }
//                        } catch (Exception ignore) {
//                            log.error(ignore.getMessage());
//                        }
//                    }
                    break;
                // 并板途中捡料
                case 108:
@@ -884,7 +922,9 @@
                    station.setLocSts(LocStsType.LOC_STS_TYPE_O.type);
                }
                station.setBarcode("");
                basStationService.updateById(station);
               if (!basStationService.updateById(station)) {
                   basStationDetlService.delete(new EntityWrapper<BasStationDetl>().eq("dev_no", station.getDevNo()));
               }
            }
        }
@@ -924,31 +964,39 @@
                    throw new CoolException("库位明细保存失败!!");
                }
                // 更新订单完成数量
                OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem(pakin.getOrderNo(),
                        pakin.getMatnr(), pakin.getBatch(), pakin.getBrand(), pakin.getStandby1(),
                        pakin.getStandby2(), pakin.getStandby3(),
                        pakin.getBoxType1(), pakin.getBoxType2(), pakin.getBoxType3());
                if (orderDetlPakin == null) {
                    orderDetlPakin = orderDetlPakinService.selectItem(pakin.getOrderNo(), pakin.getMatnr(),
                            pakin.getBatch(),
                            pakin.getBrand(), pakin.getStandby1(), pakin.getStandby2(),
                            pakin.getStandby3(),
                            pakin.getBoxType1(), pakin.getBoxType2(), pakin.getBoxType3());
                OrderPakin orderPakin = orderPakinService.selectOne(new EntityWrapper<OrderPakin>().eq("order_no", pakin.getOrderNo()));
                if (Objects.isNull(orderPakin)) {
                    throw new CoolException("数据错误,订单信息不存在!!");
                }
                try {
                    if (!Cools.isEmpty(orderDetlPakin)) {
                        if (!orderDetlPakinService.increaseQtyByOrderNo(pakin.getOrderNo(),
                                pakin.getMatnr(),
                                orderDetlPakin.getBatch(), pakin.getBrand(), pakin.getStandby1(),
                                pakin.getStandby2(), pakin.getStandby3(),
                                pakin.getBoxType1(), pakin.getBoxType2(), pakin.getBoxType3(),
                                pakin.getAnfme())) {
                            throw new CoolException("AGV全板入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo()
                                    + "],[locNo=" + wrkMast.getLocNo() + "]");
                        }
                if (!orderPakin.getDocType().equals(0)) {
                    // 更新订单完成数量
                    OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem(pakin.getOrderNo(),
                            pakin.getMatnr(), pakin.getBatch(), pakin.getBrand(), pakin.getStandby1(),
                            pakin.getStandby2(), pakin.getStandby3(),
                            pakin.getBoxType1(), pakin.getBoxType2(), pakin.getBoxType3());
                    if (orderDetlPakin == null) {
                        orderDetlPakin = orderDetlPakinService.selectItem(pakin.getOrderNo(), pakin.getMatnr(),
                                pakin.getBatch(),
                                pakin.getBrand(), pakin.getStandby1(), pakin.getStandby2(),
                                pakin.getStandby3(),
                                pakin.getBoxType1(), pakin.getBoxType2(), pakin.getBoxType3());
                    }
                } catch (Exception ignore) {
                    try {
                        if (!Cools.isEmpty(orderDetlPakin)) {
                            if (!orderDetlPakinService.increaseQtyByOrderNo(pakin.getOrderNo(),
                                    pakin.getMatnr(),
                                    orderDetlPakin.getBatch(), pakin.getBrand(), pakin.getStandby1(),
                                    pakin.getStandby2(), pakin.getStandby3(),
                                    pakin.getBoxType1(), pakin.getBoxType2(), pakin.getBoxType3(),
                                    pakin.getAnfme())) {
                                throw new CoolException("AGV全板入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo()
                                        + "],[locNo=" + wrkMast.getLocNo() + "]");
                            }
                        }
                    } catch (Exception ignore) {
                    }
                }
            });
@@ -977,9 +1025,9 @@
            Set<Long> list = apallets.stream().map(WaitPakin::getOrderId).collect(Collectors.toSet());
            List<OrderPakin> pakins = orderPakinService.selectList(new EntityWrapper<OrderPakin>().in("id", list));
            if (Objects.isNull(pakins) || pakins.isEmpty()) {
//            throw new CoolException("单据不存在!!");
            }
//            if (Objects.isNull(pakins) || pakins.isEmpty()) {
////            throw new CoolException("单据不存在!!");
//            }
        }else if(wrkMast.getIoType().equals(53)){
            // 根据工作号,查询工作明细档
            List<TaskDetl> wrkDetls53 = taskDetlService