skyouc
2025-08-05 4d0a406c204d3a9c590fc713a6dc2fce60b9d012
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java
@@ -1,11 +1,13 @@
package com.zy.asrs.wms.asrs.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
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.dto.OrderInfoDto;
import com.zy.asrs.wms.asrs.entity.enums.OrderSettleType;
import com.zy.asrs.wms.asrs.entity.enums.OrderType;
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;
@@ -19,10 +21,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.*;
@Service("orderService")
public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements OrderService {
@@ -39,6 +38,8 @@
    private OrderNoRuleService orderNoRuleService;
    @Autowired
    private OrderUtils orderUtils;
    @Autowired
    private WaitPakinService waitPakinService;
    @Override
    @Transactional
@@ -67,6 +68,9 @@
        Order order = new Order();
        order.setOrderNo(orderNo);
        order.setOrderType(param.getOrderType());
        order.setCustomer(param.getCustomer());
        order.setPhone(param.getPhone());
        order.setAddress(param.getAddress());
        order.setOrderSettle(OrderSettleType.INIT.val());
        order.setIoPri(orderUtils.getIoPri());
        order.setOrderTime(format.format(new Date()));
@@ -132,6 +136,11 @@
                throw new CoolException("更新明细索引失败");
            }
            mat.setUtiliz(Objects.isNull(mat.getUtiliz()) ? 0 : mat.getUtiliz() + 1);
            if (!matService.updateById(mat)) {
                throw new CoolException("物料使用率修改失败!!");
            }
        }
        return true;
@@ -252,6 +261,10 @@
            throw new CoolException("订单已经生成波次,删除失败");
        }
        List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getOrderId, orderId));
        if (!waitPakins.isEmpty()) {
            throw new CoolException("单据已生成组托,不可执行删除操作!!");
        }
        //删除订单
        this.removeById(orderId);
        //删除明细
@@ -292,7 +305,17 @@
    }
    @Override
    public List<OrderInfoDto> getDetlForOrderId(Long id) {
        return this.baseMapper.getDetlForOrderId(id);
    public List<OrderInfoDto> getDetlForOrderId(Long id, String matnr) {
        if (!Objects.isNull(matnr)) {
            Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>()
                    .eq(StringUtils.isNotBlank(matnr), Mat::getMatnr, matnr), false);
            if (Objects.isNull(mat)) {
                return this.baseMapper.getDetlForOrderId(id, null);
            } else {
                return this.baseMapper.getDetlForOrderId(id, mat.getId());
            }
        } else {
            return this.baseMapper.getDetlForOrderId(id, null);
        }
    }
}