package cn.iocoder.yudao.module.crm.service.salesTarget;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.module.crm.controller.admin.salesTarget.vo.CrmSalesTargetChangeStatusReqVO;
|
import cn.iocoder.yudao.module.crm.controller.admin.salesTarget.vo.CrmSalesTargetPageReqVO;
|
import cn.iocoder.yudao.module.crm.controller.admin.salesTarget.vo.CrmSalesTargetRespVO;
|
import cn.iocoder.yudao.module.crm.controller.admin.salesTarget.vo.CrmSalesTargetSaveReqVO;
|
import cn.iocoder.yudao.module.crm.controller.admin.salesTarget.vo.analysis.CrmSalesTargetAnalysisReqVO;
|
import jakarta.validation.Valid;
|
|
import java.util.List;
|
|
/**
|
* CRM 销售目标 Service 接口
|
*
|
* @author 超级管理员
|
*/
|
public interface CrmSalesTargetService {
|
|
/**
|
* 创建销售目标
|
*
|
* @param createReqVO 创建信息
|
* @return 编号
|
*/
|
Long createSalesTarget(@Valid CrmSalesTargetSaveReqVO createReqVO);
|
|
/**
|
* 更新销售目标
|
*
|
* @param updateReqVO 更新信息
|
*/
|
void updateSalesTarget(@Valid CrmSalesTargetSaveReqVO updateReqVO);
|
|
/**
|
* 变更销售目标状态(作废/恢复等)
|
*
|
* @param reqVO 状态变更信息
|
*/
|
void changeSalesTargetStatus(@Valid CrmSalesTargetChangeStatusReqVO reqVO);
|
|
/**
|
* 删除销售目标
|
*
|
* @param id 编号
|
*/
|
void deleteSalesTarget(Long id);
|
|
/**
|
* 获得销售目标(含实际达成)
|
*
|
* @param id 编号
|
* @return 销售目标
|
*/
|
CrmSalesTargetRespVO getSalesTarget(Long id);
|
|
/**
|
* 获得销售目标分页(含实际达成)
|
*
|
* @param pageReqVO 分页查询
|
* @return 销售目标分页
|
*/
|
PageResult<CrmSalesTargetRespVO> getSalesTargetPage(CrmSalesTargetPageReqVO pageReqVO);
|
|
/**
|
* 获得销售目标列表(全量,用于 Excel 导出)
|
*
|
* @param reqVO 查询条件
|
* @return 销售目标列表
|
*/
|
List<CrmSalesTargetRespVO> getSalesTargetList(CrmSalesTargetPageReqVO reqVO);
|
|
/**
|
* 获得销售目标达成分析列表(按周期+维度过滤,含实际达成与达成率)
|
*
|
* @param reqVO 分析查询
|
* @return 达成分析列表
|
*/
|
List<CrmSalesTargetRespVO> getSalesTargetAnalysis(CrmSalesTargetAnalysisReqVO reqVO);
|
|
}
|