From a66b19e1c09201a922735c2325ca04df7fe544af Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期二, 14 一月 2025 14:57:58 +0800 Subject: [PATCH] 空校验;提高代码的健壮性 --- src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 33 ++++++++++++++++++++++++++++++++- 1 files changed, 32 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java index 9de9ce6..d40aa5c 100644 --- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java @@ -146,11 +146,42 @@ order.setInTime(DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmsssss_F)); this.baseMapper.updateById(order); } - //order.setInTime(DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmsssss_F)); + } + } + @Override + public void checkComplete2(String orderNo) { + Order order = this.selectByNo(orderNo); + if (Cools.isEmpty(order)) { + return; + } + if (order.getSettle() >= 4L) { + return; + } + List<OrderDetl> orderDetls = orderDetlMapper.selectList(new EntityWrapper<OrderDetl>().eq("order_id", order.getId())); + // 浣滀笟鏁伴噺鏄惁绛変簬鏁伴噺 + boolean complete = true; + for (OrderDetl orderDetl : orderDetls) { + if (orderDetl.getAnfme() > orderDetl.getQty()) { + complete = false; + break; + } } + // 濡傛灉 浣滀笟鏁伴噺绛変簬鍗曟嵁鎬绘暟閲� && 宸ヤ綔鏄庣粏妗d腑鏃犺鍗曟嵁鐨勬暟鎹� && AGV宸ヤ綔鏄庣粏妗d腑鏃犺鍗曟嵁鐨勬暟鎹� + int count = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo)); + boolean wrkDeltExist = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().like("order_no", orderNo)) < 1; + boolean agvWrkDetlExist = agvWrkDetlService.selectCount(new EntityWrapper<AgvWrkDetl>().like("order_no", orderNo)) < 1; + boolean waitPakinExist = agvWaitPakinService.selectCount(new EntityWrapper<AgvWaitPakin>().like("order_no", orderNo)) < 1; + ManPakOut manPakOut = manPakOutService.selectByOrderWithName(orderNo); + + boolean manPakoutExist = Cools.isEmpty(manPakOut) || (manPakOut.getPayment() != null && manPakOut.getPayment() == 1); + if (complete && wrkDeltExist && agvWrkDetlExist && waitPakinExist && manPakoutExist) { + if (!this.updateSettle(order.getId(), 4L, 9528L)) { + throw new CoolException("淇敼璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戠姸鎬佷负宸插畬鎴愬け璐�"); + } + } } @Override -- Gitblit v1.9.1