package com.klp.erp.service; import com.klp.erp.domain.bo.ErpPurchaseOrderBo; import com.klp.erp.domain.vo.ErpPurchaseOrderVo; import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.domain.PageQuery; import java.util.Collection; import java.util.List; /** * 采购订单主Service接口 * * @author klp * @date 2025-11-13 */ public interface IErpPurchaseOrderService { /** * 查询采购订单主 */ ErpPurchaseOrderVo queryById(Long orderId); /** * 查询采购订单主列表 */ TableDataInfo queryPageList(ErpPurchaseOrderBo bo, PageQuery pageQuery); /** * 查询采购订单主列表 */ List queryList(ErpPurchaseOrderBo bo); /** * 新增采购订单主 */ Boolean insertByBo(ErpPurchaseOrderBo bo); /** * 修改采购订单主 */ Boolean updateByBo(ErpPurchaseOrderBo bo); /** * 校验并批量删除采购订单主信息 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); /** * 下达订单 */ Boolean confirmOrder(Long orderId, String operator); /** * 标记部分到货 */ Boolean markPartialArrival(Long orderId); /** * 标记订单完成 */ Boolean completeOrder(Long orderId); /** * 取消订单 */ Boolean cancelOrder(Long orderId); /** * 根据收货/退货情况刷新订单状态 */ void refreshOrderStatus(Long orderId); }