guoyuji
2024-03-22 73be6b08f5a94e71550fe788c5d74705daa91be0
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);
    }
}