package com.ruoyi.sales.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.procurementrecord.dto.ReturnSaleProductDto; import com.ruoyi.sales.dto.SalesLedgerProductDto; import com.ruoyi.sales.dto.ShippingInfoDto; import com.ruoyi.sales.pojo.ShippingInfo; import org.apache.ibatis.annotations.Param; import java.io.IOException; import java.util.List; /** * @author :yys * @date : 2025/10/22 9:33 */ public interface ShippingInfoService extends IService{ IPage listPage(Page page, ShippingInfo req); boolean deductStock(ShippingInfoDto req) throws IOException; boolean delete(List ids); List getReturnManagementDtoById( Long shippingId); List getShippingInfoByCustomerName(String customerName); /** * 一键发货 - 自动审批通过并出库 * @param req 发货信息 * @return 是否成功 */ boolean oneClickShipping(ShippingInfoDto req) throws IOException; /** * 批量一键发货 - 将销售台账下所有未发货的产品全部发货 * @param salesLedgerId 销售台账ID * @param req 发货信息(发货类型、日期等) * @return 是否成功 */ boolean batchOneClickShipping(Long salesLedgerId, ShippingInfoDto req) throws IOException; }