package com.ruoyi.cwgl.service; import java.util.List; import com.ruoyi.cwgl.domain.ReceivableBillCustomerSummary; import com.ruoyi.cwgl.domain.ReceivableBillManagement; import com.ruoyi.cwgl.domain.vo.ReceivableBillAgingAnalysisVo; import com.baomidou.mybatisplus.extension.service.IService; import org.apache.ibatis.annotations.Param; /** * 应收账单管理Service接口 * * @author ruoyi * @date 2025-12-17 */ public interface IReceivableBillManagementService extends IService { /** * 查询应收账单管理 * * @param id 应收账单管理ID * @return 应收账单管理 */ public ReceivableBillManagement selectReceivableBillManagementById(Integer id); /** * 查询应收账单管理 记录数 * * @param receivableBillManagement 应收账单管理 * @return 应收账单管理集合 */ public int selectReceivableBillManagementCount(ReceivableBillManagement receivableBillManagement); /** * 查询应收账单管理列表 * * @param receivableBillManagement 应收账单管理 * @return 应收账单管理集合 */ public List selectReceivableBillManagementList(ReceivableBillManagement receivableBillManagement); /** * 查询应收账单管理列表 异步 导出 * * @param receivableBillManagement 应收账单管理 * @param exportKey 导出功能的唯一标识 * @return 应收账单管理集合 */ public void export(ReceivableBillManagement receivableBillManagement, String exportKey) ; /** * 新增应收账单管理 * * @param receivableBillManagement 应收账单管理 * @return 结果 */ public int insertReceivableBillManagement(ReceivableBillManagement receivableBillManagement); /** * 新增应收账单管理[批量] * * @param receivableBillManagements 应收账单管理 * @return 结果 */ public int insertReceivableBillManagementBatch(List receivableBillManagements); /** * 修改应收账单管理 * * @param receivableBillManagement 应收账单管理 * @return 结果 */ public int updateReceivableBillManagement(ReceivableBillManagement receivableBillManagement); public int aging(ReceivableBillManagement receivableBillManagement); public int account(ReceivableBillManagement receivableBillManagement); /** * 修改应收账单管理[批量] * * @param receivableBillManagements 应收账单管理 * @return 结果 */ public int updateReceivableBillManagementBatch(List receivableBillManagements); /** * 批量删除应收账单管理 * * @param ids 需要删除的数据ID * @return 结果 */ public int deleteReceivableBillManagementByIds(String ids); /** * 批量删除应收账单管理 * * @param ids 需要删除的数据ID * @return 结果 */ public int deleteReceivableBillManagementByIds(Integer[] ids); /** * 删除应收账单管理信息 * * @param id 应收账单管理ID * @return 结果 */ public int deleteReceivableBillManagementById(Integer id); /** * 作废应收账单管理记录 * * @param id 应收账单管理ID * @return 结果 */ public int voidReceivableBillManagement(Integer id); /** * 根据系统编号查询应收账单管理 * * @param systemNo 系统编号 * @return 应收账单管理 */ public ReceivableBillManagement selectReceivableBillManagementBySystemNo(String systemNo); /** * 查询应收账单客户汇总列表 * * @param receivableBillManagement 查询条件 * @return 应收账单客户汇总列表 */ public List selectReceivableBillCustomerSummaryList(@Param("receivableBillManagement") ReceivableBillManagement receivableBillManagement); /** * 查询应收账单账龄分析列表 * * @param receivableBillManagement 查询条件 * @return 应收账单账龄分析列表 */ public List selectReceivableBillAgingAnalysisList(@Param("receivableBillManagement") ReceivableBillManagement receivableBillManagement); /** * 批量更新应收账单账龄分析数据 * 直接在数据库层面计算账龄分段,避免查询大量数据到应用层 * * @return 更新的记录数 */ public int batchUpdateAgingAnalysisData(); }