自动化立体仓库 - WMS系统
野心家
2023-07-01 e899597b10286b38fdda652b37872e5a170c8e2b
st订单,平库功能修复
2个文件已修改
60 ■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -641,7 +641,11 @@
            EntityWrapper<ManPakOut> manPakOutEntityWrapper = new EntityWrapper<>();
            manPakOutEntityWrapper.eq("loc_no",jsonLocNo);
            manPakOutEntityWrapper.eq("matnr",jsonOrderDetl.getMatnr());
            manPakOutEntityWrapper.eq("doc_num",order.getOrderNo());
            ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper); //获取拣货单中的对应的订单
            if(Cools.isEmpty(manPakOut)){
                return R.error("没有找到对应的出库单"+jsonLocNo+"-------"+jsonOrderDetl.getMatnr());
            }
            if(manPakOut.getCount() == null){
                manPakOut.setCount(0.0);
            }
@@ -719,8 +723,7 @@
            EntityWrapper<ManLocDetl> manLocDetlEntityWrapper = new EntityWrapper<>();
            manLocDetlEntityWrapper.eq("loc_no",manPakOut.getLocNo());
            manLocDetlEntityWrapper.eq("matnr",manPakOut.getMatnr());
            if (checkManLocDetl.getAnfme().intValue() == manPakOut.getCount()){
            if (checkManLocDetl.getAnfme() == 0 ){
                if(!manLocDetlService.delete(manLocDetlEntityWrapper)){
                    return R.error("删除平库库存失败");
                }
@@ -741,12 +744,16 @@
        String jsonLocNo = (String) json.get("locNo"); //获取库位码
        String jsonBarNo = (String) json.get("barcode"); //获取托盘码
        WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("zpallet", jsonBarNo)); //获取对应组托信息
        if (waitPakin.equals(null)){
        List<WaitPakin> waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", jsonBarNo)); //获取对应组托信息
        if (Cools.isEmpty(waitPakins)){
            return R.error("未查询到组托");
        } else if (waitPakin.getIoStatus() == "Y") {
        } else if (waitPakins.get(0).getIoStatus() == "Y") {
            return R.error("组托已经生成工作档");
        }
        //判断订单是否完成
        boolean log =true;
        for (WaitPakin waitPakin: waitPakins) {
        Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", waitPakin.getOrderNo()));  //获取对应订单信息
        if (order.equals(null)){
            return R.error("未查询到订单信息");
@@ -806,6 +813,21 @@
        if (!waitPakinLogService.insert(waitPakinLog)){  //插入入库通知历史档数据库
            return R.error("插入历史入库通知档失败");
        }
            //订单是否完成
            List<OrderDetl> or = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", waitPakin.getOrderNo()));
            for (OrderDetl o: or) {
                if(o.getAnfme()-o.getQty()>0){
                    log=false;
                    break;
                }
            }
            if(log){
                order.setSettle(4L);
                if(!orderService.update(order,new EntityWrapper<Order>().eq("order_no", waitPakin.getOrderNo()))){
                    return R.error("订单转完成状态失败!!!");
                }
            }
        }
        if (!waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet",jsonBarNo))){  //删除原入库通知档
            return R.error("删除入库通知档失败");
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -382,34 +382,42 @@
                            return FAIL.setMsg("全板出库 ===>> 修改源库位状态失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                        }
                    }
                    if (!wrkDetls101.get(0).getOrderNo().isEmpty()){
                    for (WrkDetl wrkDetl: wrkDetls101) {
                        if(Cools.isEmpty(wrkDetl)){
                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                            return FAIL.setMsg("全板出库 ===>> 任务明细为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                        }
                        if (!wrkDetl.getOrderNo().isEmpty()){
                        //更新订单完成数量
                        EntityWrapper<OrderDetl> orderDetlEntityWrapper = new EntityWrapper<>();
                        orderDetlEntityWrapper.eq("order_no",wrkDetls101.get(0).getOrderNo());
                        orderDetlEntityWrapper.eq("matnr",wrkDetls101.get(0).getMatnr());
                            orderDetlEntityWrapper.eq("order_no",wrkDetl.getOrderNo());
                            orderDetlEntityWrapper.eq("matnr",wrkDetl.getMatnr());
                        OrderDetl orderDetl = orderDetlService.selectOne(orderDetlEntityWrapper);
                        OrderDetl orderDetl1 = new OrderDetl();
                        orderDetl1.setQty(orderDetl.getQty() + wrkDetls101.get(0).getAnfme());
                            orderDetl1.setQty(orderDetl.getQty() + wrkDetl.getAnfme());
                        orderDetl1.setUpdateTime(now);
                        if (!orderDetlService.update(orderDetl1,orderDetlEntityWrapper)){
                            return FAIL.setMsg("更新订单完成数量失败");
                        }
                        //更新拣货单完成数量
                            //更新立库拣货单完成数量
                        EntityWrapper<ManPakOut> manPakOutEntityWrapper = new EntityWrapper<>();
                        manPakOutEntityWrapper.eq("doc_num",wrkDetls101.get(0).getOrderNo());
                        manPakOutEntityWrapper.eq("matnr",wrkDetls101.get(0).getMatnr());
                            manPakOutEntityWrapper.eq("doc_num",wrkDetl.getOrderNo());
                            manPakOutEntityWrapper.eq("matnr",wrkDetl.getMatnr());
                            manPakOutEntityWrapper.eq("loc_no","立库");
                        ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper);
                        if (manPakOut.getCount() + wrkDetls101.get(0).getAnfme() >= manPakOut.getAnfme()){
                            if (manPakOut.getCount() + wrkDetl.getAnfme() >= manPakOut.getAnfme()){
                            manPakOut.setStatus(1);
                        }
                        manPakOut.setCount(manPakOut.getCount() + wrkDetls101.get(0).getAnfme());
                            manPakOut.setCount(manPakOut.getCount() + wrkDetl.getAnfme());
                        if (!manPakOutService.update(manPakOut,manPakOutEntityWrapper)){
                            return FAIL.setMsg("更新拣货单完成数量失败");
                        }
                    }
                    }