feat(crm): 添加销售报表功能模块

- 新增销售报表查询业务对象CrmSalesReportBo,支持多种查询条件
- 创建销售报表控制器CrmSalesReportController,提供汇总数据、订单明细、统计分析等接口
- 实现销售报表数据访问层CrmSalesReportMapper,包含销售汇总、订单明细、销售员统计等查询
- 开发销售报表服务层ICrmSalesReportService及其实现类,处理报表数据逻辑
- 设计销售报表视图对象CrmSalesReportVo,包含汇总信息、订单明细、统计分析等数据结构
- 集成Excel导出功能,支持订单明细、销售员统计、客户等级统计、行业统计的数据导出
- 实现多维度统计分析,包括销售员业绩、客户等级分布、行业分布等统计功能
This commit is contained in:
2025-12-29 10:05:05 +08:00
parent 96b6e844d9
commit 11c21f2a33
7 changed files with 954 additions and 0 deletions

View File

@@ -0,0 +1,108 @@
package com.klp.crm.domain.bo;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.klp.common.core.validate.AddGroup;
import com.klp.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
/**
* 销售报表查询业务对象
*
* @author klp
* @date 2025-12-29
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class CrmSalesReportBo {
/**
* 开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date startTime;
/**
* 结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date endTime;
/**
* 销售员列表
*/
private List<String> salesmanList;
/**
* 客户ID列表
*/
private List<String> customerIdList;
/**
* 客户等级列表
*/
private List<String> customerLevelList;
/**
* 行业列表
*/
private List<String> industryList;
/**
* 订单状态列表
*/
private List<Long> orderStatusList;
/**
* 财务状态列表
*/
private List<Long> financeStatusList;
/**
* 订单类型列表
*/
private List<Long> orderTypeList;
/**
* 最小订单金额
*/
private java.math.BigDecimal minOrderAmount;
/**
* 最大订单金额
*/
private java.math.BigDecimal maxOrderAmount;
/**
* 是否包含异议订单
*/
private Boolean includeObjectionOrders;
/**
* 是否只查询有未结款的订单
*/
private Boolean onlyUnpaidOrders;
/**
* 公司名称关键字
*/
private String companyNameKeyword;
/**
* 订单编号关键字
*/
private String orderCodeKeyword;
/**
* 排序字段
*/
private String orderBy;
/**
* 排序方向 ASC/DESC
*/
private String sortDirection;
}