xiaoyi
2026-11-03 481d8165f26fc7e37f0e87f6444ac0340bb563a3
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderService.java
@@ -1,6 +1,9 @@
package cn.iocoder.yudao.module.erp.service.sale;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.erp.controller.admin.sale.vo.order.ErpSaleOrderImportExcelVO;
import cn.iocoder.yudao.module.erp.controller.admin.sale.vo.order.ErpSaleOrderImportReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.sale.vo.order.ErpSaleOrderImportRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.sale.vo.order.ErpSaleOrderPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.sale.vo.order.ErpSaleOrderSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.sale.ErpSaleOrderDO;
@@ -15,7 +18,7 @@
/**
 * ERP 销售订单 Service 接口
 *
 * @author 芋道源码
 * @author 超级管理员
 */
public interface ErpSaleOrderService {
@@ -65,14 +68,6 @@
    void updateSaleOrderOutCount(Long id, Map<Long, BigDecimal> outCountMap);
    /**
     * 更新销售订单的退货数量
     *
     * @param orderId 编号
     * @param returnCountMap 退货数量 Map:key 销售订单项编号;value 退货数量
     */
    void updateSaleOrderReturnCount(Long orderId, Map<Long, BigDecimal> returnCountMap);
    /**
     * 删除销售订单
     *
     * @param ids 编号数组
@@ -121,4 +116,26 @@
     */
    List<ErpSaleOrderItemDO> getSaleOrderItemListByOrderIds(Collection<Long> orderIds);
    /**
     * 更新销售订单的出库状态
     *
     * 根据明细出库数量自动计算订单状态:
     * - 所有明细都完成出库 → 全部出库状态
     * - 部分明细完成出库 → 部分出库状态
     * - 无明细出库 → 未出库状态
     *
     * @param orderId 订单编号
     */
    void updateSaleOrderOutStatus(Long orderId);
    /**
     * 导入销售订单
     *
     * @param importOrders 导入的销售订单列表(一行一条明细)
     * @param importReqVO  导入参数
     * @return 导入结果
     */
    ErpSaleOrderImportRespVO importSaleOrderList(List<ErpSaleOrderImportExcelVO> importOrders,
                                                ErpSaleOrderImportReqVO importReqVO);
}