diff --git a/klp-crm/src/main/java/com/klp/crm/controller/CrmSalesReportController.java b/klp-crm/src/main/java/com/klp/crm/controller/CrmSalesReportController.java index 3a80b21c..bd10c311 100644 --- a/klp-crm/src/main/java/com/klp/crm/controller/CrmSalesReportController.java +++ b/klp-crm/src/main/java/com/klp/crm/controller/CrmSalesReportController.java @@ -85,6 +85,15 @@ public class CrmSalesReportController extends BaseController { return R.ok(stats); } + /** + * 查询省份统计数据 + */ + @GetMapping("/provinceStats") + public R> getProvinceStats(CrmSalesReportBo bo) { + List stats = iCrmSalesReportService.queryProvinceStats(bo); + return R.ok(stats); + } + /** * 导出销售报表订单明细 */ diff --git a/klp-crm/src/main/java/com/klp/crm/domain/vo/CrmSalesReportVo.java b/klp-crm/src/main/java/com/klp/crm/domain/vo/CrmSalesReportVo.java index 7ab5e978..ea578bca 100644 --- a/klp-crm/src/main/java/com/klp/crm/domain/vo/CrmSalesReportVo.java +++ b/klp-crm/src/main/java/com/klp/crm/domain/vo/CrmSalesReportVo.java @@ -290,4 +290,35 @@ public class CrmSalesReportVo { @ExcelProperty(value = "销售金额") private BigDecimal salesAmount; } + + /** + * 省份统计内部类 + */ + @Data + public static class ProvinceStat { + + /** + * 省份 + */ + @ExcelProperty(value = "省份") + private String province; + + /** + * 客户数量 + */ + @ExcelProperty(value = "客户数量") + private Integer customerCount; + + /** + * 订单数量 + */ + @ExcelProperty(value = "订单数量") + private Integer orderCount; + + /** + * 销售金额 + */ + @ExcelProperty(value = "销售金额") + private BigDecimal salesAmount; + } } diff --git a/klp-crm/src/main/java/com/klp/crm/mapper/CrmSalesReportMapper.java b/klp-crm/src/main/java/com/klp/crm/mapper/CrmSalesReportMapper.java index 580276c3..4622b9de 100644 --- a/klp-crm/src/main/java/com/klp/crm/mapper/CrmSalesReportMapper.java +++ b/klp-crm/src/main/java/com/klp/crm/mapper/CrmSalesReportMapper.java @@ -54,4 +54,12 @@ public interface CrmSalesReportMapper { * @return 行业统计列表 */ List selectIndustryStats(@Param("bo") CrmSalesReportBo bo); + + /** + * 查询省份统计数据 + * + * @param bo 查询条件 + * @return 省份统计列表 + */ + List selectProvinceStats(@Param("bo") CrmSalesReportBo bo); } \ No newline at end of file diff --git a/klp-crm/src/main/java/com/klp/crm/service/ICrmSalesReportService.java b/klp-crm/src/main/java/com/klp/crm/service/ICrmSalesReportService.java index 6be75d08..c863d240 100644 --- a/klp-crm/src/main/java/com/klp/crm/service/ICrmSalesReportService.java +++ b/klp-crm/src/main/java/com/klp/crm/service/ICrmSalesReportService.java @@ -72,4 +72,12 @@ public interface ICrmSalesReportService { * @return 行业统计列表 */ List queryIndustryStats(CrmSalesReportBo bo); + + /** + * 查询省份统计数据 + * + * @param bo 查询条件 + * @return 省份统计列表 + */ + List queryProvinceStats(CrmSalesReportBo bo); } \ No newline at end of file diff --git a/klp-crm/src/main/java/com/klp/crm/service/impl/CrmSalesReportServiceImpl.java b/klp-crm/src/main/java/com/klp/crm/service/impl/CrmSalesReportServiceImpl.java index 3fadda9c..feb1669a 100644 --- a/klp-crm/src/main/java/com/klp/crm/service/impl/CrmSalesReportServiceImpl.java +++ b/klp-crm/src/main/java/com/klp/crm/service/impl/CrmSalesReportServiceImpl.java @@ -136,4 +136,12 @@ public class CrmSalesReportServiceImpl implements ICrmSalesReportService { public List queryIndustryStats(CrmSalesReportBo bo) { return baseMapper.selectIndustryStats(bo); } + + /** + * 查询省份统计数据 + */ + @Override + public List queryProvinceStats(CrmSalesReportBo bo) { + return baseMapper.selectProvinceStats(bo); + } } diff --git a/klp-crm/src/main/resources/mapper/CrmSalesReportMapper.xml b/klp-crm/src/main/resources/mapper/CrmSalesReportMapper.xml index 625ee60f..242fa843 100644 --- a/klp-crm/src/main/resources/mapper/CrmSalesReportMapper.xml +++ b/klp-crm/src/main/resources/mapper/CrmSalesReportMapper.xml @@ -268,4 +268,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ORDER BY salesAmount DESC + + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..7b51b113 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,24 @@ +{ + "name": "klp-oa", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "dependencies": { + "three": "^0.184.0" + } + }, + "node_modules/three": { + "version": "0.184.0", + "resolved": "https://registry.npmmirror.com/three/-/three-0.184.0.tgz", + "integrity": "sha512-wtTRjG92pM5eUg/KuUnHsqSAlPM296brTOcLgMRqEeylYTh/CdtvKUvCyyCQTzFuStieWxvZb8mVTMvdPyUpxg==" + } + }, + "dependencies": { + "three": { + "version": "0.184.0", + "resolved": "https://registry.npmmirror.com/three/-/three-0.184.0.tgz", + "integrity": "sha512-wtTRjG92pM5eUg/KuUnHsqSAlPM296brTOcLgMRqEeylYTh/CdtvKUvCyyCQTzFuStieWxvZb8mVTMvdPyUpxg==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..bcff64c9 --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "three": "^0.184.0" + } +}