From f65443d8abeaedc9d102324565e8368e7c9d90c8 Mon Sep 17 00:00:00 2001 From: 郑永安 <zyazyz250@sina.com> Date: 星期一, 19 六月 2023 14:41:54 +0800 Subject: [PATCH] commit --- src/main/java/com/gk/firework/Controller/StatisticsController.java | 452 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 452 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/gk/firework/Controller/StatisticsController.java b/src/main/java/com/gk/firework/Controller/StatisticsController.java new file mode 100644 index 0000000..e32d35e --- /dev/null +++ b/src/main/java/com/gk/firework/Controller/StatisticsController.java @@ -0,0 +1,452 @@ +package com.gk.firework.Controller; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gk.firework.Controller.Base.BaseController; +import com.gk.firework.Domain.Utils.FilterObject; +import com.gk.firework.Domain.Vo.PageInfoExtension; +import com.gk.firework.Service.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Api(tags = "统计分析") +@RequestMapping("/statistics") +@RestController +public class StatisticsController extends BaseController { + + @Autowired + private EnterpriseService enterpriseService; + @Autowired + private SaleOrderDetailService saleOrderDetailService; + @Autowired + private LicenseService licenseService; + @Autowired + private EntryDetailService entryDetailService; + @Autowired + private DeliveryDetailService deliveryDetailService; + @Autowired + private HistoryStockService historyStockService; + + /** + * @Description: 经纬度查询 + * @date 2021/4/16 14:53 + */ + @GetMapping("/all-location") + @ApiOperation(value = "企业所有信息经纬度查询 按城市查") + Object getAllLocation(String city) { + List<Map> allLocation = enterpriseService.getAllLocation(city); + return success(allLocation); + } + + + /** + * @Description: 零售点数量按区域统计 + * @date 2021/4/16 14:52 + */ + @GetMapping("/retail-statistics-area") + @ApiOperation(value = "零售点数量按区域统计") + Object getRetailStatisticsByArea() { + List<Map> retailStatisticsByArea = enterpriseService.getRetailStatisticsByArea(); + return success(retailStatisticsByArea); + } + + /** + * @Description: 近n天销售数据统计图 + * @date 2021/4/16 16:21 + */ + @GetMapping("/sale-data-ndays") + @ApiOperation(value = "近n天销售数据统计图") + @ApiImplicitParams({ + @ApiImplicitParam(name = "days", value = "时间天数(从现在往前推n天)") + }) + Object getSaleDataInDays(@RequestParam(defaultValue = "10") Integer days) { + List<Map> saleData = saleOrderDetailService.getSaleDataInDays(days); + return success(saleData); + } + + + /** + * @Description: 销售数量按地区统计 n天 默认90 + * @date 2021/4/16 16:21 + */ + @GetMapping("/sale-data-area-ndays") + @ApiOperation(value = "销售数量按地区统计 n天 默认90") + @ApiImplicitParams({ + @ApiImplicitParam(name = "days", value = "时间天数(从现在往前推n天)") + }) + Object getSaleDataAreaInDays(@RequestParam(defaultValue = "90") Integer days) { + List<Map> saleData = saleOrderDetailService.getSaleDataAreaInDays(days); + return success(saleData); + } + + /** + * @Description: 销售数量按品种统计 n天 默认90 + * @date 2021/4/16 17:03 + */ + @GetMapping("/sale-data-productType-ndays") + @ApiOperation(value = "销售数量按品种统计 n天 默认90") + @ApiImplicitParams({ + @ApiImplicitParam(name = "days", value = "时间天数(从现在往前推n天)") + }) + Object getSaleDataProductTypeInDays(@RequestParam(defaultValue = "90") Integer days) { + List<Map> saleData = saleOrderDetailService.getSaleDataProductTypeInDays(days); + return success(saleData); + } + + /** + * @Description: 销售量同年对比 + * @date 2021/4/22 14:52 + */ + @GetMapping("/sale-data-compare-in-year") + @ApiOperation(value = "销售量同年对比") + @ApiImplicitParams({ + @ApiImplicitParam(name = "province", value = "省(默认新疆维吾尔自治区)"), + @ApiImplicitParam(name = "city", value = "市"), + }) + Object getSaleDataCompareInYear(@RequestParam(defaultValue = "新疆维吾尔自治区") String province, String city) { + Map compareData = saleOrderDetailService.getSaleDataCompareInYear(province, city); + return success(compareData); + } + + + /** + * @Description: 进货量同年对比 + * @date 2021/4/22 14:52 + */ + @GetMapping("/inbound-compare-in-year") + @ApiOperation(value = "进货量同年对比") + @ApiImplicitParams({ + @ApiImplicitParam(name = "province", value = "省(默认新疆维吾尔自治区)"), + @ApiImplicitParam(name = "city", value = "市"), + }) + Object getInboundCompareInYear(@RequestParam(defaultValue = "新疆维吾尔自治区") String province, String city) { + Map compareData = saleOrderDetailService.getInboundCompareInYear(province, city); + return success(compareData); + } + + /** + * @Description: 统计各城市某时间的销量、进货量(箱数)显示新疆15个地州市的统计信息 + * @date 2021/5/15 9:15 + */ + @PostMapping("/city-inbound-outbound") + @ApiOperation(value = "统计各城市某时间的销量、进货量(箱数)显示新疆15个地州市的统计信息") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageIndex", value = "页码"), + @ApiImplicitParam(name = "pageSize", value = "页大小"), + @ApiImplicitParam(name = "filter.starttime", value = "开始时间"), + @ApiImplicitParam(name = "filter.endtime", value = "结束时间"), + }) + Object getCityInAndOut(@RequestBody FilterObject filterObject) { + Integer pageIndex = filterObject.getPageIndex(); + Integer pageSize = filterObject.getPageSize(); + //可以手写分页,查总数可以只查15个市 + IPage page = saleOrderDetailService.getCityInAndOut(new Page<>(pageIndex, pageSize), filterObject.getFilter()); + return success(page); + } + + @PostMapping("/export/city-inbound-outbound") + Object exportCityAndOut(@RequestBody FilterObject filterObject) { + List<Map> list = saleOrderDetailService.getCityInAndOutExport(filterObject.getFilter()); + return success(list); + } + + /** + * @Description: 地州市分类销售统计 + * @date 2022/1/29 18:04 + */ + + @PostMapping("/city-type-sale") + Object cityTypeSale(@RequestBody FilterObject filterObject) { + Integer pageIndex = filterObject.getPageIndex(); + Integer pageSize = filterObject.getPageSize(); + IPage page = saleOrderDetailService.selectCityTypeSale(new Page<>(pageIndex, pageSize), filterObject.getFilter()); + return success(page); + } + + + /** + * @Description: 导出地州市分类销售统计 + * @date 2022/1/29 18:04 + */ + + @PostMapping("/export/city-type-sale") + Object cityTypeSaleExport(@RequestBody FilterObject filterObject) { + List<Map> list = saleOrderDetailService.selectCityTypeSaleExport(filterObject.getFilter()); + return success(list); + } + + /** + * @Description: 地州下的县区分类销售统计 + * @date 2022/1/29 18:04 + */ + + @PostMapping("/district-type-sale") + Object districtTypeSale(@RequestBody FilterObject filterObject) { + Integer pageIndex = filterObject.getPageIndex(); + Integer pageSize = filterObject.getPageSize(); + IPage page = saleOrderDetailService.selectDistrictTypeSale(new Page<>(pageIndex, pageSize), filterObject.getFilter()); + return success(page); + } + + + /** + * @Description: 导出地州市分类销售统计 + * @date 2022/1/29 18:04 + */ + + @PostMapping("/export/district-type-sale") + Object districtTypeSaleExport(@RequestBody FilterObject filterObject) { + List<Map> list = saleOrderDetailService.selectDistrictTypeSaleExport(filterObject.getFilter()); + return success(list); + } + + + /** + * @Description: 企业销售分类统计 + * @date 2022/1/29 13:02 + */ + @PostMapping("/enterprise-type-sale") + Object enterpriseTypeSale(@RequestBody FilterObject filterObject) { + Integer pageIndex = filterObject.getPageIndex(); + Integer pageSize = filterObject.getPageSize(); + IPage page = saleOrderDetailService.selectEnterpriseTypeSale(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser()); + return success(page); + } + + /** + * @Description: 导出企业销售分类统计 + * @date 2022/1/29 15:15 + */ + @PostMapping("/export/enterprise-type-sale") + Object exportEnterpriseTypeSale(@RequestBody FilterObject filterObject) { + List<Map> res = saleOrderDetailService.selectExportEnterpriseTypeSale(filterObject.getFilter(), getUser()); + return success(res); + } + + + /** + * @Description: 企业分类入库统计 + * @date 2022/1/29 15:19 + */ + @PostMapping("/enterprise-type-entry") + Object enterpriseTypeEntry(@RequestBody FilterObject filterObject) { + Integer pageIndex = filterObject.getPageIndex(); + Integer pageSize = filterObject.getPageSize(); + IPage page = entryDetailService.selectEnterpriseTypeEntry(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser()); + return success(page); + } + + /** + * @Description: 导出企业分类入库统计 + * @date 2022/1/29 15:38 + */ + @PostMapping("/export/enterprise-type-entry") + Object exportEnterpriseTypeEntry(@RequestBody FilterObject filterObject) { + List<Map> res = entryDetailService.selectExportEnterpriseTypeEntry(filterObject.getFilter(), getUser()); + return success(res); + } + + /** + * @Description: 各地州分类入库统计 + * @date 2022/1/29 15:50 + */ + @PostMapping("/city-type-entry") + Object cityTypeEntry(@RequestBody FilterObject filterObject) { + Integer pageIndex = filterObject.getPageIndex(); + Integer pageSize = filterObject.getPageSize(); + IPage page = entryDetailService.selectCityTypeEntry(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser()); + return success(page); + } + + /** + * @Description: 导出各地州分类入库统计 + * @date 2022/1/29 16:15 + */ + @PostMapping("/export/city-type-entry") + Object exportCityTypeEntry(@RequestBody FilterObject filterObject) { + List<Map> res = entryDetailService.selectExportCityTypeEntry(filterObject.getFilter(), getUser()); + return success(res); + } + + /** + * @Description: 企业分类出库统计 + * @date 2022/1/29 16:18 + */ + @PostMapping("/enterprise-type-delivery") + Object enterpriseTypeDelivery(@RequestBody FilterObject filterObject) { + Integer pageIndex = filterObject.getPageIndex(); + Integer pageSize = filterObject.getPageSize(); + IPage page = deliveryDetailService.selectEnterpriseTypeDelivery(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser()); + return success(page); + } + + /** + * @Description: 导出企业分类出库统计 + * @date 2022/1/29 16:30 + */ + @PostMapping("/export/enterprise-type-delivery") + Object exportEnterpriseTypeDelivery(@RequestBody FilterObject filterObject) { + List<Map> res = deliveryDetailService.selectExportEnterpriseTypeDelivery(filterObject.getFilter(), getUser()); + return success(res); + } + + /** + * @Description: 各地州分类出库统计 + * @date 2022/1/29 16:35 + */ + @PostMapping("/city-type-delivery") + Object cityTypeDelivery(@RequestBody FilterObject filterObject) { + Integer pageIndex = filterObject.getPageIndex(); + Integer pageSize = filterObject.getPageSize(); + IPage page = deliveryDetailService.selectCityTypeDelivery(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser()); + return success(page); + } + + /** + * @Description: 导出各地州分类出库统计 + * @date 2022/1/29 16:35 + */ + @PostMapping("/export/city-type-delivery") + Object exportCityTypeDelivery(@RequestBody FilterObject filterObject) { + List<Map> res = deliveryDetailService.selectExportCityTypeDelivery(filterObject.getFilter(), getUser()); + return success(res); + } + + /** + * @Description: 导出 + * @date 2022/1/29 16:39 + */ + + + @PostMapping("/city-inbound-outbound-detail") + @ApiOperation(value = "显示市下各个企业的详情") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageIndex", value = "页码"), + @ApiImplicitParam(name = "pageSize", value = "页大小"), + @ApiImplicitParam(name = "filter.starttime", value = "开始时间"), + @ApiImplicitParam(name = "filter.endtime", value = "结束时间"), + @ApiImplicitParam(name = "filter.safetysupervision", value = "企业类型"), + @ApiImplicitParam(name = "filter.city", value = "市"), + }) + Object getCityInAndOutDetail(@RequestBody FilterObject filterObject) { + Integer pageIndex = filterObject.getPageIndex(); + Integer pageSize = filterObject.getPageSize(); + //可以手写分页,查总数可以只查15个市 + IPage page = saleOrderDetailService.getCityInAndOutDetail(new Page<>(pageIndex, pageSize), filterObject.getFilter()); + return success(page); + } + + + /** + * @Description: 标题数据 (零售店数量 今日销售数量 今年销售总量 今年购买人次) + * @date 2021/4/25 9:44 + */ + @GetMapping("/title-data") + @ApiOperation(value = "标题数据 (零售店数量 今日销售数量 今年销售总量 今年购买人次)") + Object getTitleData() { + Map data = saleOrderDetailService.getTitleData(); + return success(data); + } + + + /** + * @Description: 性别统计购买 + * @date 2021/5/15 16:21 + */ + @PostMapping("/gender-sale") + Object getGenderSale(@RequestBody FilterObject filterObject) { + Integer pageIndex = filterObject.getPageIndex(); + Integer pageSize = filterObject.getPageSize(); + IPage page = saleOrderDetailService.getGenderSale(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser()); + return success(page); + } + + /** + * @Description: 族别统计购买 + * @date 2021/5/15 16:39 + */ + @PostMapping("/race-sale") + Object getRaceSale(@RequestBody FilterObject filterObject) { + Integer pageIndex = filterObject.getPageIndex(); + Integer pageSize = filterObject.getPageSize(); + IPage page = saleOrderDetailService.getRaceSale(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser()); + return success(page); + } + + /** + * @Description: 按年龄段 + * @date 2021/5/15 16:45 + */ + @PostMapping("/generation-sale") + Object getGenerationSale(@RequestBody FilterObject filterObject) { + List<Map> data = saleOrderDetailService.getGenerationSale(filterObject.getFilter(), getUser()); + return success(data); + } + + + /** + * @Description: 证书分析 + * @date 2021/7/1 15:11 + */ + @PostMapping("/license") + Object getLicenseStatistic(@RequestBody FilterObject filterObject) { + Integer pageIndex = filterObject.getPageIndex(); + Integer pageSize = filterObject.getPageSize(); + IPage page = licenseService.selectLicenseStatistic(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser()); + return success(page); + } + + + /** + * @Description: 企业历史库存查询(年月日) + * @date 2022/2/8 15:15 + */ + @PostMapping("/stock/history") + Object getHistoryStock(@RequestBody FilterObject filterObject) { + Integer pageIndex = filterObject.getPageIndex(); + Integer pageSize = filterObject.getPageSize(); + IPage page = historyStockService.selectHistoryStock(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser()); + return success(page); + + } + + @PostMapping("/export/stock/history") + Object getExportHistoryStock(@RequestBody FilterObject filterObject) { + List<Map> result = historyStockService.selectExportHistoryStock(filterObject.getFilter(), getUser()); + return success(result); + + } + + /** + * @Description: 各地州库存查询-staticstock + * @date 2022/2/8 15:40 + */ + @PostMapping("/city-stock") + Object getCityStock(@RequestBody FilterObject filterObject) { + Integer pageIndex = filterObject.getPageIndex(); + Integer pageSize = filterObject.getPageSize(); + IPage page = historyStockService.selectCityStock(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser()); + return success(page); + } + + /** + * @Description: 各地州历史库存查询(年月日) + * @date 2022/2/8 16:06 + */ + @PostMapping("/history/city-stock") + Object getHistoryCityStock(@RequestBody FilterObject filterObject) { + Integer pageIndex = filterObject.getPageIndex(); + Integer pageSize = filterObject.getPageSize(); + IPage page = historyStockService.selectHistoryCityStock(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser()); + return success(page); + } +} -- Gitblit v1.9.2