廖井涛
2024-09-13 be8a84dd3610443ebc82a9c75f888920b882bf01
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -107,12 +107,19 @@
        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
        //判断传入id参数是否为空,未传入id为空插入订单表,传入更新表
        try{
            Log log = new Log();
            log.setOperator(order.getCreator());
            log.setOperatorId(order.getCreatorId());
            log.setContent(orderMap.toString());
            log.setFunction("saveOrderTitle保存表头:"+order.getOrderId());
            LambdaUpdateWrapper<Order> updateWrapper = new LambdaUpdateWrapper<>();
            updateWrapper.eq(Order::getOrderId, order.getOrderId());
            order.setCreateTime(null);
            orderMapper.update(order,updateWrapper);
            //修改订单主表面积与周长以及重量
            orderMapper.updateOrderParameter(order.getOrderId());
            logService.saveLog(log);
        }catch (Exception e){
            TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
@@ -187,22 +194,24 @@
    //修改订单数据,并且重新生成多个副表数据
    public void updateOrder(Order order,List<OrderDetail> OrderDetails,List<OrderOtherMoney> orderOtherMoneyList) {
        order.setCreateTime(null);
        LambdaUpdateWrapper<Order> updateWrapper = new LambdaUpdateWrapper<>();
        updateWrapper.eq(Order::getOrderId, order.getOrderId());
        orderMapper.update(order,updateWrapper);
            //删除订单明细表
            orderDetailMapper.delete(new LambdaQueryWrapper<OrderDetail>().eq(OrderDetail::getOrderId, order.getOrderId()));
            //删除订单小片表
            orderGlassDetailMapper.delete(new LambdaQueryWrapper<OrderGlassDetail>().eq(OrderGlassDetail::getOrderId, order.getOrderId()));
            //删除其他金额明细表
            orderOtherMoneyMapper.delete(new LambdaQueryWrapper<OrderOtherMoney>().eq(OrderOtherMoney::getOrderId, order.getOrderId()));
        //删除订单明细表
        orderDetailMapper.delete(new LambdaQueryWrapper<OrderDetail>().eq(OrderDetail::getOrderId, order.getOrderId()));
        //删除订单小片表
        orderGlassDetailMapper.delete(new LambdaQueryWrapper<OrderGlassDetail>().eq(OrderGlassDetail::getOrderId, order.getOrderId()));
        //删除其他金额明细表
        orderOtherMoneyMapper.delete(new LambdaQueryWrapper<OrderOtherMoney>().eq(OrderOtherMoney::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,orderOtherMoneyList);
        insertOtherDetail(order.getOrderId(),OrderDetails,orderOtherMoneyList);
    }
    //插入其他副表数据,被其他方法引用
@@ -673,4 +682,62 @@
    public boolean updateOrderPrintNumber(String orderId) {
        return orderMapper.updateOrderPrintNumber(orderId);
    }
    public String updateOrderId(Map<String, Object> map) {
        String saveState = "true";
        JSONObject orderJson = new JSONObject(map);
        String oldOrderId = orderJson.getString("oldOrderId");
        String newOrderId = orderJson.getString("newOrderId");
        String orderIdType = orderJson.getString("orderIdType");
        Log log = new Log();
        log.setContent(map.toString());
        log.setFunction("updateOrderId修改订单号");
        log.setOperator(orderJson.getString("creator"));
        if(!Objects.equals(newOrderId, oldOrderId)){
            if(newOrderId.length()!=10){
                return "false4";
            }
            if(!newOrderId.substring(2, 10).matches("\\d+")){
                return "false5";
            }
            if(Objects.equals(orderIdType, "day")){
                if(orderMapper.selectOrderIdDay(oldOrderId)==1){
                    return "false6";
                }
            }else if(Objects.equals(orderIdType, "month")){
                if(orderMapper.selectOrderIdMonth(oldOrderId)==1){
                    return "false6";
                }
            }else if(Objects.equals(orderIdType, "year")){
                if(orderMapper.selectOrderIdYear(oldOrderId)==1){
                    return "false6";
                }
            }
            String substring = newOrderId.substring(1, 3);
            Integer substringInt = Integer.parseInt(newOrderId.substring(2, 10));
            if(!substring.equals("NG")){
                substring="NG";
            }
            //大于输入订单号的数量
            Integer count1 = orderMapper.selectOrderIdMin(substringInt);
            //输入订单号存在的数量
            Integer count2 = orderMapper.selectOrderIdIs(substringInt);
            if(count1>0 && count2==0){
                orderMapper.updateOrderId(oldOrderId,newOrderId);
                saveState= "true";
                logService.saveLog(log);
            }else if(count1==0){
                saveState= "false1";
                ;
            }else if(count2>0){
                saveState= "false2";
            }
        }else{
            saveState= "false3";
        }
        return saveState;
    }
}