package com.ruoyi.system.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.system.dto.AddProcurementDto; import com.ruoyi.system.export.PlatformLedgerReportExport; import com.ruoyi.system.export.ProcurementReportClinicExport; import com.ruoyi.system.export.ProcurementReportDetailExport; import com.ruoyi.system.export.ProcurementReportPlatformExport; import com.ruoyi.system.export.ProcurementReportSupplierExport; import com.ruoyi.system.model.TErpGoods; import com.ruoyi.system.model.TErpProcurement; import com.ruoyi.system.model.TErpProcurementGoods; import com.ruoyi.system.query.ClinicProcurementReportQuery; import com.ruoyi.system.query.PerformanceReportQuery; import com.ruoyi.system.query.TErpGoodsQuery; import com.ruoyi.system.query.TErpProcurementQuery; import com.ruoyi.system.vo.*; import javax.validation.Valid; import java.math.BigDecimal; import java.util.List; /** *

* erp采购 服务类 *

* * @author xiaochen * @since 2025-08-20 */ public interface TErpProcurementService extends IService { PageInfo pageList(TErpProcurementQuery query, SysUser user); PageInfo pageListWarehouse(TErpProcurementQuery query, SysUser user); TErpProcurementDetailVo detail(String id, SysUser user, String goodsName); PageInfo pageGoodsPageList(TErpGoodsQuery query, SysUser user); List inventoryNotEnoughList(SysUser user); void addProcurement(String clinicSupplierId, SysUser user, @Valid List dtos); DetailProcurementVO detailProcurement(String clinicSupplierId, SysUser user, String id); void detailProcurementSend(List clinicSupplierId, SysUser user, String id,String logisticsNumber); /** * 供应商采购统计 * @param supplierAndClinicId * @param startTime * @param endTime * @return */ List supplierThirtyProcurementStatistics(String supplierAndClinicId, String startTime, String endTime, Integer roleType); /** * 供应商30天采购金额统计 * @param supplierAndClinicId * @param startTime * @param endTime * @return */ List supplierThirtyMoneyProcurementStatistics(String supplierAndClinicId, String startTime, String endTime,Integer roleType); /** * 供应商30天采购总类统计 * @param supplierId * @return */ Integer supplierSalesStatisticsTypeCount(String supplierId); /** * 供应商30天采购总数统计 * @param supplierId * @return */ Integer supplierSalesStatisticsCount(String supplierId); /** * 供应商30天采购金额统计 * @param supplierId * @param startTime * @param endTime * @return */ BigDecimal supplierSalesStatisticsMoney(String supplierId, String startTime, String endTime); /** * 供应商30天销售占比 * @param supplierId * @param startTime * @param endTime * @return */ List supplierSalesStatisticsGoodsType(String supplierId, String startTime, String endTime); /** * 供应商30天销售商品统计 * @param supplierId * @param startTime * @param endTime * @param goodsName * @return */ List supplierSalesStatisticsGoodsCount(String supplierId, String startTime, String endTime, String goodsName); /** * 供应商30天销售商品统计 * @param supplierId * @param startTime * @param endTime * @param goodsName * @return */ List supplierSalesStatisticsGoodsCountMonth(String supplierId, String startTime, String endTime, String goodsName); /** * 诊所下所有的采购订单详情数据 * @param clinicIds 诊所id集合 * @return */ List branchAdminStatisticsThree(List clinicIds); /** * 诊所采购报表 * @param query * @return */ PageInfo clinicProcurementReport(ClinicProcurementReportQuery query); /** * 诊所采购报表导出 * @param query * @return */ List exportProcurementReportClinic(ClinicProcurementReportQuery query); /** * 供应商采购报表导出 * @param query * @return */ List exportProcurementReportSupplier(ClinicProcurementReportQuery query); /** * 平台采购报表导出 * @param query * @return */ List exportProcurementReportPlatform(ClinicProcurementReportQuery query); /** * 平台分账报表 * @param query * @return */ PageInfo platformLedgerReport(ClinicProcurementReportQuery query); /** * 平台分账报表导出 * @param query * @return */ List exportPlatformLedgerReport(ClinicProcurementReportQuery query); /** * 分公司业绩报表 * @param query * @return */ PageInfo branchPerformanceReport(PerformanceReportQuery query); /** * 业务员业绩报表 * @param query * @return */ PageInfo salespersonPerformanceReport(PerformanceReportQuery query); /** * 分公司业绩报表导出 * @param query * @return */ List exportBranchPerformanceReport(PerformanceReportQuery query); /** * 业务员业绩报表导出 * @param query * @return */ List exportSalespersonPerformanceReport(PerformanceReportQuery query); /** * 诊所采购报表详情列表(商品维度) * @param id 查询参数(包含采购单ID) * @return */ List clinicProcurementReportDetail(String id); /** * 诊所采购报表详情导出(商品维度) * * @param procurementIds 查询参数(包含采购单ID列表,支持多选) * @return */ List exportProcurementReportDetail(List procurementIds); }