From 73be6b08f5a94e71550fe788c5d74705daa91be0 Mon Sep 17 00:00:00 2001 From: guoyuji <guoyujie@ng.com> Date: 星期五, 22 三月 2024 16:48:07 +0800 Subject: [PATCH] 订单首页右键查询流程卡进度 --- north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java | 49 ++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 40 insertions(+), 9 deletions(-) diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java index 3d98cbb..16e1e34 100644 --- a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java +++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java @@ -98,7 +98,7 @@ //鍒犻櫎璁㈠崟灏忕墖琛� orderGlassDetailMapper.delete(new LambdaQueryWrapper<OrderGlassDetail>().eq(OrderGlassDetail::getOrderId, order.getOrderId())); //鍒犻櫎璁㈠崟宸ヨ壓琛� - orderProcessDetailMapper.delete(new LambdaQueryWrapper<OrderProcessDetail>().eq(OrderProcessDetail::getOrderId, order.getOrderId())); + // orderProcessDetailMapper.delete(new LambdaQueryWrapper<OrderProcessDetail>().eq(OrderProcessDetail::getOrderId, order.getOrderId())); insertOtherDetail(order.getOrderId(),OrderDetails); } @@ -119,13 +119,13 @@ //寰�灏忕墖琛ㄤ紶鍏ヤ骇鍝佹暟鎹� orderGlassDetailMapper.insertOrderGlassDetail(orderId); //鏌ヨ璁㈠崟灏忕墖琛ㄨ幏鍙栧伐鑹轰紶鍏ュ皬鐗囧伐鑹鸿〃 - List<OrderGlassDetail> orderGlassDetails = orderGlassDetailMapper.selectOrderGlassDetail(orderId); - List<OrderProcessDetail> orderProcessDetailList = getOrderProcessDetails(orderGlassDetails); + //List<OrderGlassDetail> orderGlassDetails = orderGlassDetailMapper.selectOrderGlassDetail(orderId); + /*List<OrderProcessDetail> orderProcessDetailList = getOrderProcessDetails(orderGlassDetails); //璧嬪�艰鍗曞伐鑹鸿〃 - orderProcessDetailMapper.insertOrderProcessDetail(orderProcessDetailList); + orderProcessDetailMapper.insertOrderProcessDetail(orderProcessDetailList);*/ } - private static List<OrderProcessDetail> getOrderProcessDetails(List<OrderGlassDetail> orderGlassDetails) { + public static List<OrderProcessDetail> getOrderProcessDetails(List<OrderGlassDetail> orderGlassDetails) { List<OrderProcessDetail> orderProcessDetailList = new ArrayList<>(); for (OrderGlassDetail orderGlassDetail : orderGlassDetails) { String[] processList = orderGlassDetail.getProcess().split("->"); @@ -200,10 +200,10 @@ orderGlassDetailMapper.updateSizeAndProcess(orderGlassDetails); orderProcessDetailMapper.delete(new QueryWrapper<OrderProcessDetail>().eq("order_id",id)); //鏌ヨ璁㈠崟灏忕墖琛ㄨ幏鍙栧伐鑹轰紶鍏ュ皬鐗囧伐鑹鸿〃 - List<OrderGlassDetail> orderGlassDetailList = orderGlassDetailMapper.selectOrderGlassDetail(id); - List<OrderProcessDetail> orderProcessDetailList = getOrderProcessDetails(orderGlassDetailList); - //璧嬪�艰鍗曞伐鑹鸿〃 - orderProcessDetailMapper.insertOrderProcessDetail(orderProcessDetailList); + //List<OrderGlassDetail> orderGlassDetailList = orderGlassDetailMapper.selectOrderGlassDetail(id); +// List<OrderProcessDetail> orderProcessDetailList = getOrderProcessDetails(orderGlassDetailList); +// //璧嬪�艰鍗曞伐鑹鸿〃 +// orderProcessDetailMapper.insertOrderProcessDetail(orderProcessDetailList); } return orderMapper.reviewProcessById(id,status); @@ -217,4 +217,35 @@ map.put("orderGlassDetails",orderGlassDetails); return map; } + + public boolean updateOrderMoney(Map<String, Object> map) { + JSONObject jsonObject = new JSONObject(map); + Order order = JSONObject.parseObject(JSONObject.toJSONString(jsonObject.get("order")), Order.class); + List<OrderDetail> OrderDetails = JSONArray.parseArray(JSONObject.toJSONString(jsonObject.get("detail")), OrderDetail.class); + double money = 0; + for (OrderDetail orderDetail : OrderDetails) { + orderDetail = updateOrderMoneyComputed(orderDetail,order.getCalculateType()); + money+= orderDetail.getGrossAmount(); + } + order.setMoney(money); + orderMapper.updateMoney(order); + orderDetailMapper.updateOrderMoney(OrderDetails); + return false; + } + + private OrderDetail updateOrderMoneyComputed(OrderDetail orderDetail, Integer calculateType) { + if (calculateType == 3) { + orderDetail.setGrossAmount(orderDetail.getPrice() * orderDetail.getQuantity()); + } else { + orderDetail.setGrossAmount(orderDetail.getComputeGrossArea() * orderDetail.getPrice()); + } + return orderDetail; + } + + + public Integer cancelOrder(String id) { + return orderMapper.cancelOrder(id); + } + + } -- Gitblit v1.8.0