tuqin
4 天以前 f785e619ff7cbe99aa80fc7679a244224ab5024f
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderService.java
@@ -3,6 +3,10 @@
import cn.iocoder.yudao.framework.common.pojo.PageResult;
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.controller.admin.sale.vo.order.ErpSaleOrderImportExcelVO;
import cn.iocoder.yudao.module.erp.controller.admin.sale.vo.order.ErpSaleOrderImportRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.sale.vo.order.ErpSaleOrderPendingProductionRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.sale.vo.order.ErpSaleOrderGenerateMpsReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.sale.ErpSaleOrderDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.sale.ErpSaleOrderItemDO;
import jakarta.validation.Valid;
@@ -26,6 +30,14 @@
     * @return 编号
     */
    Long createSaleOrder(@Valid ErpSaleOrderSaveReqVO createReqVO);
    /**
     * 导入销售订单(导入后为“未提交”状态,可继续编辑或提交审批)
     *
     * @param importList 导入数据(每一行 = 一条明细,相同销售单编号合并为一张订单)
     * @return 导入结果
     */
    ErpSaleOrderImportRespVO importSaleOrderList(List<ErpSaleOrderImportExcelVO> importList);
    /**
     * 更新销售订单
@@ -143,4 +155,21 @@
     */
    void updateSaleOrderOutStatus(Long orderId);
    /**
     * 获得待安排生产的销售订单明细
     *
     * 供生产车间「从销售订单生成生产计划」使用:
     * 返回已审核(status=20)、且尚未安排有效 MPS 的销售订单明细,
     * 并带上当前可用库存与建议生产数量
     */
    List<ErpSaleOrderPendingProductionRespVO> getPendingProductionList();
    /**
     * 从销售订单批量生成生产计划(MPS)
     *
     * @param reqVO 明细与计划数量
     * @return 成功生成条数
     */
    int generateMpsFromSaleOrder(ErpSaleOrderGenerateMpsReqVO reqVO);
}