chenlu
2025-10-20 b364d266b9dda1eb7bf88b1aab411c8ff5a95a61
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -83,10 +83,10 @@
            log.setContent(orderMap.toString());
            if(order.getOrderId() == null || order.getOrderId().isEmpty()){
                insertOrder(order,OrderDetails,orderOtherMoneyList,orderIdType);
                insertOrder(order,OrderDetails,orderOtherMoneyList,orderIdType, (Map<String, String>) orderMap.get("position"));
                log.setFunction("saveOrder创建:"+order.getOrderId());
            }else {
                updateOrder(order,OrderDetails,orderOtherMoneyList);
                updateOrder(order,OrderDetails,orderOtherMoneyList,(Map<String, String>) orderMap.get("position"));
                log.setFunction("saveOrder修改:"+order.getOrderId());
            }
@@ -167,7 +167,7 @@
        return map;
    }
    //生成订单数据
    public void insertOrder(Order order, List<OrderDetail> OrderDetails, List<OrderOtherMoney> orderOtherMoneyList, String orderIdType) {
    public void insertOrder(Order order, List<OrderDetail> OrderDetails, List<OrderOtherMoney> orderOtherMoneyList, String orderIdType, Map<String,String> position) {
        //根据传入的当前月份或者当天生成订单id
        String orderId =  getOrderId(orderIdType);
        //往主表插数据
@@ -175,7 +175,7 @@
        order.setCreateOrder(2);
        orderMapper.insert(order);
        insertOtherDetail(orderId,OrderDetails,orderOtherMoneyList);
        insertOtherDetail(orderId,OrderDetails,orderOtherMoneyList,position);
    }
    private String getOrderId(String dateType){
@@ -211,7 +211,7 @@
    //修改订单数据,并且重新生成多个副表数据
    public void updateOrder(Order order,List<OrderDetail> OrderDetails,List<OrderOtherMoney> orderOtherMoneyList) throws Exception {
    public void updateOrder(Order order, List<OrderDetail> OrderDetails, List<OrderOtherMoney> orderOtherMoneyList, Map<String, String> position) throws Exception {
        Order oldOrder = orderMapper.selectOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderId,order.getOrderId()));
        if(oldOrder.getProcessReview()==2){
            throw  new ServiceException(Constants.Code_600,"该订单已经审核,无法修改");
@@ -236,13 +236,13 @@
        orderDetailMapper.deleteOrderFile(order.getOrderId());
        insertOtherDetail(order.getOrderId(),OrderDetails,orderOtherMoneyList);
        insertOtherDetail(order.getOrderId(),OrderDetails,orderOtherMoneyList, position);
    }
    //插入其他副表数据,被其他方法引用
    public void insertOtherDetail(String orderId,List<OrderDetail> OrderDetails,List<OrderOtherMoney> orderOtherMoneyList) {
    public void insertOtherDetail(String orderId, List<OrderDetail> OrderDetails, List<OrderOtherMoney> orderOtherMoneyList, Map<String, String> position) {
        //先把其他金额副表的金额与数量置0
        if(orderOtherMoneyList!=null){
            orderOtherMoneyList.forEach(orderOtherMoney -> {
@@ -309,7 +309,7 @@
        //往明细表插数据
        orderDetailMapper.insertBatch(OrderDetails);
        //往小片表传入产品数据
        orderGlassDetailMapper.insertOrderGlassDetail(orderId);
        orderGlassDetailMapper.insertOrderGlassDetail(orderId,position.get("outside"),position.get("inside"));
        //修改成品拱高
        List<OrderDetail> orderDetails = orderDetailMapper