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.model.TErpGoods;
|
import com.ruoyi.system.model.TErpProcurement;
|
import com.ruoyi.system.query.ClinicProcurementReportQuery;
|
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.math.BigDecimal;
|
import java.util.List;
|
|
/**
|
* <p>
|
* erp采购 服务类
|
* </p>
|
*
|
* @author xiaochen
|
* @since 2025-08-20
|
*/
|
public interface TErpProcurementService extends IService<TErpProcurement> {
|
|
PageInfo<TErpProcurementVo> pageList(TErpProcurementQuery query, SysUser user);
|
|
PageInfo<TErpProcurementVo> pageListWarehouse(TErpProcurementQuery query, SysUser user);
|
|
|
TErpProcurementDetailVo detail(String id, SysUser user, String goodsName);
|
|
|
PageInfo<TErpGoods> pageGoodsPageList(TErpGoodsQuery query, SysUser user);
|
|
List<TErpGoodsVO> inventoryNotEnoughList(SysUser user);
|
|
|
void addProcurement(String clinicSupplierId, SysUser user, @Valid List<AddProcurementDto> dtos);
|
|
DetailProcurementVO detailProcurement(String clinicSupplierId, SysUser user, String id);
|
|
void detailProcurementSend(List<String> clinicSupplierId, SysUser user, String id,String logisticsNumber);
|
/**
|
* 供应商采购统计
|
* @param supplierAndClinicId
|
* @param startTime
|
* @param endTime
|
* @return
|
*/
|
List<SupplierThirtyProcurementStatisticsVO> supplierThirtyProcurementStatistics(String supplierAndClinicId, String startTime, String endTime, Integer roleType);
|
|
/**
|
* 供应商30天采购金额统计
|
* @param supplierAndClinicId
|
* @param startTime
|
* @param endTime
|
* @return
|
*/
|
List<SupplierThirtyMoneyProcurementStatisticsVO> 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<SupplierSalesStatisticsGoodsTypeVO> supplierSalesStatisticsGoodsType(String supplierId, String startTime, String endTime);
|
|
/**
|
* 供应商30天销售商品统计
|
* @param supplierId
|
* @param startTime
|
* @param endTime
|
* @param goodsName
|
* @return
|
*/
|
List<SupplierSalesStatisticsGoodsCountVO> supplierSalesStatisticsGoodsCount(String supplierId, String startTime, String endTime, String goodsName);
|
|
/**
|
* 供应商30天销售商品统计
|
* @param supplierId
|
* @param startTime
|
* @param endTime
|
* @param goodsName
|
* @return
|
*/
|
List<SupplierSalesStatisticsGoodsCountVO> supplierSalesStatisticsGoodsCountMonth(String supplierId, String startTime, String endTime, String goodsName);
|
|
/**
|
* 诊所采购报表
|
* @param query
|
* @return
|
*/
|
PageInfo<ClinicProcurementReportVO> clinicProcurementReport(ClinicProcurementReportQuery query);
|
|
}
|