package cn.iocoder.yudao.module.erp.dal.mysql.statistics;
import cn.iocoder.yudao.module.erp.dal.dataobject.sale.ErpSaleCustomerReceiptStatisticsDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.sale.ErpSaleCustomerStatisticsDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.sale.ErpSaleProductStatisticsDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* ERP 销售统计 Mapper
*
* @author 超级管理员
*/
@Mapper
public interface ErpSaleStatisticsMapper {
BigDecimal getSalePrice(@Param("beginTime") LocalDateTime beginTime,
@Param("endTime") LocalDateTime endTime);
/**
* 按客户统计销售订单(仅统计已审核订单)
*
* 需求 6.7① 销售款统计、③ 客户销售统计
*/
@Select("")
List selectCustomerStatistics(@Param("customerId") Long customerId,
@Param("beginTime") LocalDateTime beginTime,
@Param("endTime") LocalDateTime endTime);
/**
* 按客户统计已审核收款单的收款金额
*
* 需求 6.7① 销售款统计:已收款 / 未收款
*/
@Select("")
List selectCustomerReceiptStatistics(@Param("customerId") Long customerId,
@Param("beginTime") LocalDateTime beginTime,
@Param("endTime") LocalDateTime endTime);
/**
* 按产品统计销售明细(仅统计已审核订单)
*
* 需求 6.7② 产品销售统计
*/
@Select("")
List selectProductStatistics(@Param("productId") Long productId,
@Param("beginTime") LocalDateTime beginTime,
@Param("endTime") LocalDateTime endTime);
}