xuhy
2025-10-14 453ee097563df5788f96e102b38249f0ca70d82a
ruoyi-system/src/main/java/com/ruoyi/system/service/TErpProcurementService.java
@@ -1,7 +1,18 @@
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.TErpGoodsQuery;
import com.ruoyi.system.query.TErpProcurementQuery;
import com.ruoyi.system.vo.*;
import javax.validation.Valid;
import java.math.BigDecimal;
import java.util.List;
/**
 * <p>
@@ -13,4 +24,92 @@
 */
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(String clinicSupplierId, SysUser user, String id);
    /**
     * 供应商采购统计
     * @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);
}