guoyuji
2024-07-05 9ca143b9a48b307a658173bd41e2baa990759758
提交根据月份生成订单id
4个文件已修改
72 ■■■■■ 已修改文件
north-glass-erp/src/main/java/com/example/erp/entity/sd/OrderGlassDetail.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/sd/OrderGlassDetail.java
@@ -39,12 +39,4 @@
    private  Order order;
    @TableField(select = false,exist = false)
    private OrderDetail  orderDetail;
    @TableField(select = false,exist = false)
    private Integer productId;
    @TableField(select = false,exist = false)
    private Double width;
    @TableField(select = false,exist = false)
    private Double height;
}
north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderMapper.java
@@ -28,4 +28,6 @@
    Integer cancelOrder(String id);
    List<Order> selectOrder(@Param("order") Order order);
    Integer selectMaxOrderIdByMonth();
}
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -118,23 +118,41 @@
    }
    //生成订单数据
    public void insertOrder(Order order,List<OrderDetail> OrderDetails,List<OrderOtherMoney> orderOtherMoneyList) {
        Integer maxOrderId = orderMapper.selectMaxOrderId();
        //查询订单id,并且自增
        String formattedNumber = String.format("%02d", maxOrderId+1);
        //格式化当前日期
        Date currentDate = new Date();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
        String formattedDate = dateFormat.format(currentDate);
        String orderId =  "NG"+formattedDate+formattedNumber;
        String orderId =  getOrderId("day");
        //往主表插数据
        order.setOrderId(orderId);
        order.setCreateOrder(2);
        orderMapper.insert(order);
        insertOtherDetail(orderId,OrderDetails,orderOtherMoneyList);
    }
    private String getOrderId(String dateType){
        String orderId = null;
        if(dateType.equals("day")){
            Integer maxOrderId = orderMapper.selectMaxOrderId();
            //查询订单id,并且自增
            String formattedNumber = String.format("%02d", maxOrderId+1);
            //格式化当前日期
            Date currentDate = new Date();
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
            String formattedDate = dateFormat.format(currentDate);
            orderId =  "NG"+formattedDate+formattedNumber;
        }else if(dateType.equals("month")){
            Integer maxOrderId = orderMapper.selectMaxOrderIdByMonth();
            String formattedNumber = String.format("%04d", maxOrderId+1);
            Date currentDate = new Date();
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyMM");
            String formattedDate = dateFormat.format(currentDate);
            orderId =  "NG"+formattedDate+formattedNumber;
        }
        return orderId;
    }
    //修改订单数据,并且重新生成多个副表数据
    public void updateOrder(Order order,List<OrderDetail> OrderDetails,List<OrderOtherMoney> orderOtherMoneyList) {
        LambdaUpdateWrapper<Order> updateWrapper = new LambdaUpdateWrapper<>();
@@ -269,19 +287,7 @@
        Order order = orderMapper.selectOne(new QueryWrapper<Order>().eq("order_id",id));
        List<OrderDetail> orderDetails = orderDetailMapper.selectList(new QueryWrapper<OrderDetail>().eq("order_id",id));
        List<OrderOtherMoney> orderOtherMoneyList = orderOtherMoneyMapper.findById(id);
        orderDetails.forEach(orderDetail -> {
            List<OrderGlassDetail> orderGlassDetails = orderGlassDetailMapper.selectList(
                    new QueryWrapper<OrderGlassDetail>()
                            .eq("order_id",orderDetail.getOrderId())
                            .eq("order_number",orderDetail.getOrderNumber())
            );
            orderGlassDetails.forEach(orderGlassDetail -> {
                orderGlassDetail.setProductId(orderDetail.getProductId());
                orderGlassDetail.setWidth(orderDetail.getWidth());
                orderGlassDetail.setHeight(orderDetail.getHeight());
            });
            orderDetail.setOrderGlassDetails(orderGlassDetails);
        });
        Map<String,Object> map = new HashMap<>();
        map.put("order",order);
north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
@@ -22,6 +22,16 @@
            date(a.create_time) = curdate()
        order by id desc,order_id    desc limit  1
    </select>
    <select id="selectMaxOrderIdByMonth">
        select
            ifnull(SUBSTR(order_id from 7),0)
        from
            `order` as a
        where
            date(a.create_time)  BETWEEN DATE_FORMAT(DATE(NOW()), '%Y-%m-01') AND DATE(NOW())
        order by id desc     limit  1
    </select>
    
    <update id="updateOrderParameter">