From d4f47a3c09e994f896dc358df93656751a812e49 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期五, 16 八月 2024 10:17:01 +0800 Subject: [PATCH] # --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java | 65 ++++++++++++++++++++++++++++++-- 1 files changed, 60 insertions(+), 5 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java index d00cda0..8ad4656 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java @@ -1,6 +1,7 @@ package com.zy.asrs.wms.asrs.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zy.asrs.framework.common.Cools; import com.zy.asrs.framework.exception.CoolException; import com.zy.asrs.wms.asrs.entity.*; import com.zy.asrs.wms.asrs.entity.param.CreateOrderParam; @@ -28,14 +29,35 @@ private OrderDetlService orderDetlService; @Autowired private OrderDetlFieldService orderDetlFieldService; + @Autowired + private OrderNoRuleService orderNoRuleService; + + @Override + @Transactional + public boolean createOrder(List<CreateOrderParam> list) { + for (CreateOrderParam orderParam : list) { + createOrder(orderParam); + } + return true; + } @Override @Transactional public boolean createOrder(CreateOrderParam param) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + List<Order> orderList = this.list(new LambdaQueryWrapper<Order>().eq(Order::getOrderNo, param.getOrderNo())); + if (!orderList.isEmpty()) { + throw new CoolException("璁㈠崟宸插瓨鍦�"); + } + + String orderNo = param.getOrderNo(); + if (Cools.isEmpty(param.getOrderNo())) { + orderNo = orderNoRuleService.getOrderNo(param.getOrderType().intValue()); + } + Order order = new Order(); - order.setOrderNo(param.getOrderNo()); + order.setOrderNo(orderNo); order.setOrderType(param.getOrderType()); order.setOrderSettle(param.getOrderSettle()); order.setOrderTime(format.format(new Date())); @@ -50,6 +72,14 @@ double anfme = Double.parseDouble(map.get("anfme").toString()); String batch = map.get("batch").toString(); String matnr = map.get("matnr").toString(); + Double qty = 0D; + Double workQty = 0D; + if (map.containsKey("qty")) { + qty = Double.parseDouble(map.get("qty").toString()); + } + if (map.containsKey("workQty")) { + workQty = Double.parseDouble(map.get("workQty").toString()); + } String memo = map.getOrDefault("memo", "").toString(); Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr)); if (mat == null) { @@ -60,8 +90,8 @@ orderDetl.setOrderId(order.getId()); orderDetl.setOrderNo(order.getOrderNo()); orderDetl.setAnfme(anfme); - orderDetl.setQty(0D); - orderDetl.setWorkQty(0D); + orderDetl.setQty(qty); + orderDetl.setWorkQty(workQty); orderDetl.setBatch(batch); orderDetl.setMatId(mat.getId()); orderDetl.setMemo(memo); @@ -95,8 +125,7 @@ @Override public boolean updateOrder(UpdateOrderParam param) { - Order order = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderNo, param.getOrderNo())); - order.setOrderNo(param.getOrderNo()); + Order order = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getId, param.getOrderId())); order.setOrderType(param.getOrderType()); order.setOrderSettle(param.getOrderSettle()); order.setUpdateTime(new Date()); @@ -110,6 +139,8 @@ double anfme = Double.parseDouble(map.get("anfme").toString()); String batch = map.get("batch").toString(); String matnr = map.get("matnr").toString(); + Double qty = Double.parseDouble(map.get("qty").toString()); + Double workQty = Double.parseDouble(map.get("workQty").toString()); String memo = map.getOrDefault("memo", "").toString(); Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr)); if (mat == null) { @@ -136,6 +167,8 @@ }else { orderDetl.setOrderNo(order.getOrderNo()); orderDetl.setAnfme(anfme); + orderDetl.setQty(qty); + orderDetl.setWorkQty(workQty); orderDetl.setBatch(batch); orderDetl.setMemo(memo); orderDetl.setUpdateTime(new Date()); @@ -198,4 +231,26 @@ } return true; } + + @Override + public boolean checkOrderComplete(Long orderId) { + Order order = this.getById(orderId); + if (order == null) { + return false; + } + + boolean complete = true; + List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, orderId)); + if(orderDetls.isEmpty()) { + complete = false; + } + + for (OrderDetl orderDetl : orderDetls) { + if (!orderDetl.getAnfme().equals(orderDetl.getQty())) { + complete = false; + } + } + + return complete; + } } -- Gitblit v1.9.1