From 59e91a4e9ddaf23cebb12993c774aa899ab22d16 Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: 星期一, 19 六月 2023 14:22:45 +0800
Subject: [PATCH] 描述

---
 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