package cn.iocoder.yudao.module.crm.dal.mysql.salesTarget;
|
|
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Param;
|
|
import java.math.BigDecimal;
|
import java.time.LocalDateTime;
|
import java.util.Collection;
|
|
/**
|
* 销售目标达成统计 Mapper
|
*
|
* 统计实际达成金额/数量,从 CRM 现有业务表按周期范围 + 归属人(或物料)聚合。
|
*
|
* @author 超级管理员
|
*/
|
@Mapper
|
public interface CrmSalesTargetAchievementMapper {
|
|
/**
|
* 合同金额(个人/部门维度)
|
*/
|
BigDecimal selectContractPriceByUserIds(@Param("userIds") Collection<Long> userIds,
|
@Param("start") LocalDateTime start, @Param("end") LocalDateTime end);
|
|
/**
|
* 合同数量(个人/部门维度)
|
*/
|
Long selectContractCountByUserIds(@Param("userIds") Collection<Long> userIds,
|
@Param("start") LocalDateTime start, @Param("end") LocalDateTime end);
|
|
/**
|
* 回款金额(个人/部门维度)
|
*/
|
BigDecimal selectReceivablePriceByUserIds(@Param("userIds") Collection<Long> userIds,
|
@Param("start") LocalDateTime start, @Param("end") LocalDateTime end);
|
|
/**
|
* 商机金额(个人/部门维度,赢单)
|
*/
|
BigDecimal selectBusinessPriceByUserIds(@Param("userIds") Collection<Long> userIds,
|
@Param("start") LocalDateTime start, @Param("end") LocalDateTime end);
|
|
/**
|
* 新增客户数(个人/部门维度)
|
*/
|
Long selectCustomerCountByUserIds(@Param("userIds") Collection<Long> userIds,
|
@Param("start") LocalDateTime start, @Param("end") LocalDateTime end);
|
|
/**
|
* 合同金额(产品维度,按合同产品明细归属物料)
|
*/
|
BigDecimal selectContractPriceByItemId(@Param("itemId") Long itemId,
|
@Param("start") LocalDateTime start, @Param("end") LocalDateTime end);
|
|
/**
|
* 合同数量(产品维度,按合同产品明细归属物料)
|
*/
|
Long selectContractCountByItemId(@Param("itemId") Long itemId,
|
@Param("start") LocalDateTime start, @Param("end") LocalDateTime end);
|
|
}
|