#
Junjie
2025-02-14 ac4341ea6b66ae02427d39d35f41d42d78b2eb2e
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java
@@ -4,11 +4,14 @@
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wms.asrs.entity.*;
import com.zy.asrs.wms.asrs.entity.enums.OrderSettleType;
import com.zy.asrs.wms.asrs.entity.param.CreateOrderParam;
import com.zy.asrs.wms.asrs.entity.param.UpdateOrderParam;
import com.zy.asrs.wms.asrs.mapper.OrderMapper;
import com.zy.asrs.wms.asrs.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zy.asrs.wms.utils.OrderUtils;
import com.zy.asrs.wms.utils.Utils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -31,6 +34,8 @@
    private OrderDetlFieldService orderDetlFieldService;
    @Autowired
    private OrderNoRuleService orderNoRuleService;
    @Autowired
    private OrderUtils orderUtils;
    @Override
    @Transactional
@@ -59,7 +64,8 @@
        Order order = new Order();
        order.setOrderNo(orderNo);
        order.setOrderType(param.getOrderType());
        order.setOrderSettle(param.getOrderSettle());
        order.setOrderSettle(OrderSettleType.INIT.val());
        order.setIoPri(orderUtils.getIoPri());
        order.setOrderTime(format.format(new Date()));
        order.setCreateTime(new Date());
        order.setCreateBy(9527L);
@@ -118,6 +124,11 @@
                }
            }
            orderDetl.setStockIndex(Utils.getMatUniqueKey(matnr, batch, orderDetl.getUniqueField()));
            if (!orderDetlService.updateById(orderDetl)) {
                throw new CoolException("更新明细索引失败");
            }
        }
        return true;
@@ -126,6 +137,14 @@
    @Override
    public boolean updateOrder(UpdateOrderParam param) {
        Order order = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getId, param.getOrderId()));
        if (order == null) {
            throw new CoolException("订单不存在");
        }
        if (order.getHasWave() == 1) {
            throw new CoolException("订单已经生成波次,无法修改");
        }
        order.setOrderType(param.getOrderType());
        order.setOrderSettle(param.getOrderSettle());
        order.setUpdateTime(new Date());
@@ -203,6 +222,11 @@
                }
            }
            orderDetl.setStockIndex(Utils.getMatUniqueKey(matnr, batch, orderDetl.getUniqueField()));
            if (!orderDetlService.updateById(orderDetl)) {
                throw new CoolException("更新明细索引失败");
            }
        }
        List<Long> deleteDetlId = param.getDeleteDetlId();
@@ -220,6 +244,11 @@
    @Override
    public boolean deleteOrder(Long orderId) {
        Order order = this.getById(orderId);
        if (order.getHasWave() == 1) {
            throw new CoolException("订单已经生成波次,删除失败");
        }
        //删除订单
        this.removeById(orderId);
        //删除明细