From e16e9a3ef7eb82daeb139fd9252213579e2bed25 Mon Sep 17 00:00:00 2001
From: baizonghao <1719256278@qq.com>
Date: 星期五, 24 二月 2023 19:33:22 +0800
Subject: [PATCH] 按照报警时间统计

---
 ycl-platform/src/main/java/com/ycl/mapper/unlawful/UnlawfulMapper.java                    |    8 ++
 ycl-platform/src/main/resources/mapper/unlawful/UnlawfulMapper.xml                        |   93 +++++++++++++++++++++++++++++++
 ycl-platform/src/main/java/com/ycl/controller/intelligentPatrol/StatisticsController.java |   19 ++++--
 ycl-platform/src/main/java/com/ycl/service/unlawful/UnlawfulService.java                  |    6 ++
 ycl-platform/src/main/java/com/ycl/service/unlawful/impl/UnlawfulServiceImpl.java         |   24 +++++++
 5 files changed, 142 insertions(+), 8 deletions(-)

diff --git a/ycl-platform/src/main/java/com/ycl/controller/intelligentPatrol/StatisticsController.java b/ycl-platform/src/main/java/com/ycl/controller/intelligentPatrol/StatisticsController.java
index 86f2ecf..fa174fb 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/intelligentPatrol/StatisticsController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/intelligentPatrol/StatisticsController.java
@@ -72,7 +72,7 @@
         IPage<UnlawfulDto> page = new Page<>();
         List<UnlawfulDto> unlawfulByType = unlawfulService.getUnlawfulByType((currentPage - 1) * pageSize, pageSize, startTime, endTime1);
 
-        page.setTotal(unlawfulByType.size());
+        page.setTotal(unlawfulService.getTotalByType(startTime, endTime1));
         page.setRecords(unlawfulByType);
         return CommonResult.success(page);
     }
@@ -96,7 +96,7 @@
         IPage<UnlawfulDto> page = new Page<>();
         List<UnlawfulDto> unlawfulByType = unlawfulService.getUnlawfulBySite((currentPage - 1) * pageSize, pageSize, startTime, endTime1);
 
-        page.setTotal(unlawfulByType.size());
+        page.setTotal(unlawfulService.getTotalBySite(startTime, endTime1));
         page.setRecords(unlawfulByType);
         return CommonResult.success(page);
     }
@@ -119,8 +119,7 @@
         }
         IPage<UnlawfulDto> page = new Page<>();
         List<UnlawfulDto> unlawfulByType = unlawfulService.getUnlawfulByTime((currentPage - 1) * pageSize, pageSize, startTime, endTime1);
-
-        page.setTotal(unlawfulByType.size());
+        page.setTotal(unlawfulService.getTotalByTime(startTime, endTime1));
         page.setRecords(unlawfulByType);
         return CommonResult.success(page);
     }
@@ -142,9 +141,9 @@
             endTime1 = beginTime.format(fmt);
         }
         IPage<UnlawfulDto> page = new Page<>();
-        List<UnlawfulDto> unlawfulByType = unlawfulService.getUnlawfulBySite((currentPage - 1) * pageSize, pageSize, startTime, endTime1);
+        List<UnlawfulDto> unlawfulByType = unlawfulService.getUnlawfulByStreet((currentPage - 1) * pageSize, pageSize, startTime, endTime1);
 
-        page.setTotal(unlawfulByType.size());
+        page.setTotal(unlawfulService.getTotalByStreet(startTime, endTime1));
         page.setRecords(unlawfulByType);
         return CommonResult.success(page);
     }
@@ -208,6 +207,14 @@
         EasyExcelUtils.export(response, sheetName, UnlawfulDto.class, unlawfulBySiteExport);
     }
 
+    @PostMapping("/export/unlawful/time")
+    @ApiOperation("鎸夋姤璀︾偣浣嶇粺璁℃柟寮�-瀵煎嚭")
+    public void exportTime(HttpServletResponse response) {
+        List<UnlawfulDto> unlawfulBySiteExport = unlawfulService.getUnlawfulByTimeExport();
+        String sheetName = "鎸夋姤璀︾偣浣嶇粺璁℃柟寮�";
+        EasyExcelUtils.export(response, sheetName, UnlawfulDto.class, unlawfulBySiteExport);
+    }
+
     /*@PostMapping("/export/shop")
     @ApiOperation("闂ㄥ墠涓夊寘-瀵煎嚭")
     public void exportShop(HttpServletResponse response) {
diff --git a/ycl-platform/src/main/java/com/ycl/mapper/unlawful/UnlawfulMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/unlawful/UnlawfulMapper.java
index d475f48..a59f123 100644
--- a/ycl-platform/src/main/java/com/ycl/mapper/unlawful/UnlawfulMapper.java
+++ b/ycl-platform/src/main/java/com/ycl/mapper/unlawful/UnlawfulMapper.java
@@ -40,7 +40,13 @@
     StatusDto getStatusDataByTime(String startTime, String endTime, Integer id);
     List<TimeDto> getDataByTimeExp();
 
-
+    /**
+     * 鑾峰彇鍒嗛〉鎬绘暟
+     */
+    Integer getTotalByType(String startTime, String endTime);
+    Integer getTotalByStreet(String startTime, String endTime);
+    Integer getTotalBySite(String startTime, String endTime);
+    Integer getTotalByTime(String startTime, String endTime);
 
 
 
diff --git a/ycl-platform/src/main/java/com/ycl/service/unlawful/UnlawfulService.java b/ycl-platform/src/main/java/com/ycl/service/unlawful/UnlawfulService.java
index 3d3f2f5..dc91c3e 100644
--- a/ycl-platform/src/main/java/com/ycl/service/unlawful/UnlawfulService.java
+++ b/ycl-platform/src/main/java/com/ycl/service/unlawful/UnlawfulService.java
@@ -12,22 +12,28 @@
      */
     public List<UnlawfulDto> getUnlawfulByType(Integer currentPage, Integer pageSize, String startTime, String endTime);
     public List<UnlawfulDto> getUnlawfulByTypeExport();
+    public Integer getTotalByType(String startTime, String endTime);
 
     /**
      * 鎸夊尯鍩�
      */
     public List<UnlawfulDto> getUnlawfulByStreet(Integer currentPage, Integer pageSize, String startTime, String endTime);
     public List<UnlawfulDto> getUnlawfulByStreetExport();
+    public Integer getTotalByStreet(String startTime, String endTime);
 
     /**
      * 鎸夋姤璀︾偣浣�
      */
     public List<UnlawfulDto> getUnlawfulBySite(Integer currentPage, Integer pageSize, String startTime, String endTime);
+
     public List<UnlawfulDto> getUnlawfulBySiteExport();
+    public Integer getTotalBySite(String startTime, String endTime);
 
     /**
      * 鎸夋姤璀︽椂闂�
      */
     public List<UnlawfulDto> getUnlawfulByTime(Integer currentPage, Integer pageSize, String startTime, String endTime);
+
     public List<UnlawfulDto> getUnlawfulByTimeExport();
+    public Integer getTotalByTime(String startTime, String endTime);
 }
diff --git a/ycl-platform/src/main/java/com/ycl/service/unlawful/impl/UnlawfulServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/unlawful/impl/UnlawfulServiceImpl.java
index a3e2584..43af345 100644
--- a/ycl-platform/src/main/java/com/ycl/service/unlawful/impl/UnlawfulServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/unlawful/impl/UnlawfulServiceImpl.java
@@ -48,6 +48,11 @@
         return res;
     }
 
+    @Override
+    public Integer getTotalByType(String startTime, String endTime) {
+        return unlawfuldao.getTotalByType(startTime, endTime);
+    }
+
     /**
      * 鎸夊尯鍩�
      */
@@ -72,6 +77,11 @@
             format(res, total, categoryDto, statusData);
         });
         return res;
+    }
+
+    @Override
+    public Integer getTotalByStreet(String startTime, String endTime) {
+        return unlawfuldao.getTotalByStreet(startTime, endTime);
     }
 
     /**
@@ -101,6 +111,11 @@
     }
 
     @Override
+    public Integer getTotalBySite(String startTime, String endTime) {
+        return unlawfuldao.getTotalBySite(startTime, endTime);
+    }
+
+    @Override
     public List<UnlawfulDto> getUnlawfulByTime(Integer currentPage, Integer pageSize, String startTime, String endTime) {
         List<UnlawfulDto> res = new ArrayList<>();
         Double total = unlawfuldao.getTotal().doubleValue();
@@ -111,6 +126,8 @@
         });
         return res;
     }
+
+
 
     @Override
     public List<UnlawfulDto> getUnlawfulByTimeExport() {
@@ -124,9 +141,14 @@
         return res;
     }
 
+    @Override
+    public Integer getTotalByTime(String startTime, String endTime) {
+        return unlawfuldao.getTotalBySite(startTime, endTime);
+    }
+
     private Double changeFormat(Double previous){
         NumberFormat numberInstance = NumberFormat.getNumberInstance();
-        numberInstance.setMaximumFractionDigits(2);
+        numberInstance.setMaximumFractionDigits(3);
         numberInstance.setRoundingMode(RoundingMode.HALF_UP);
         String format = numberInstance.format(previous);
         return Double.parseDouble(format);
diff --git a/ycl-platform/src/main/resources/mapper/unlawful/UnlawfulMapper.xml b/ycl-platform/src/main/resources/mapper/unlawful/UnlawfulMapper.xml
index 1cfa75b..929c16a 100644
--- a/ycl-platform/src/main/resources/mapper/unlawful/UnlawfulMapper.xml
+++ b/ycl-platform/src/main/resources/mapper/unlawful/UnlawfulMapper.xml
@@ -257,4 +257,97 @@
         group by
             ubc.alarm_time
     </select>
+
+
+
+
+<!--    鍒嗛〉鏁伴噺-->
+    <select id="getTotalByType" resultType="java.lang.Integer">
+        select
+            SUM(num)
+        from(
+                SELECT
+                count(*) num
+                FROM
+                `ums_base_case` AS ubc
+                JOIN ums_violations AS uv ON ubc.id = uv.id
+                LEFT JOIN ums_data_dictionary AS t3 ON uv.category_id = t3.id
+                LEFT JOIN ums_data_dictionary AS t4 ON uv.type_id = t4.id
+                LEFT JOIN ums_sccg_region t5 ON ubc.street_id = t5.id
+                WHERE
+                ubc.category =1
+                and t4.`name` is NOT NULL
+                <if test="startTime !='' and endTime !='' and startTime!=null and endTime !=null">
+                    and ubc.create_time between #{startTime} and #{endTime}
+                </if>
+                group by
+                t4.id
+            ) a
+    </select>
+    <select id="getTotalByStreet" resultType="java.lang.Integer">
+        select
+            SUM(num)
+        from(
+                SELECT
+                count(*) num
+                FROM
+                `ums_base_case` AS ubc
+                JOIN ums_violations AS uv ON ubc.id = uv.id
+                LEFT JOIN ums_data_dictionary AS t3 ON uv.category_id = t3.id
+                LEFT JOIN ums_data_dictionary AS t4 ON uv.type_id = t4.id
+                LEFT JOIN ums_sccg_region t5 ON ubc.street_id = t5.id
+                WHERE
+                ubc.category = 1
+                AND t4.`name` IS NOT NULL
+                <if test="startTime !='' and endTime !='' and startTime!=null and endTime !=null">
+                    and ubc.create_time between #{startTime} and #{endTime}
+                </if>
+                GROUP BY
+                ubc.community_id
+            ) a
+    </select>
+    <select id="getTotalBySite" resultType="java.lang.Integer">
+        select
+            SUM(num)
+        from(
+                SELECT
+                count(*) num
+                FROM
+                `ums_base_case` AS ubc
+                JOIN ums_violations AS uv ON ubc.id = uv.id
+                LEFT JOIN ums_data_dictionary AS t3 ON uv.category_id = t3.id
+                LEFT JOIN ums_data_dictionary AS t4 ON uv.type_id = t4.id
+                LEFT JOIN ums_sccg_region t5 ON ubc.street_id = t5.id
+                WHERE
+                ubc.category = 1
+                AND t4.`name` IS NOT NULL
+                <if test="startTime !='' and endTime !='' and startTime!=null and endTime !=null">
+                    and ubc.create_time between #{startTime} and #{endTime}
+                </if>
+                GROUP BY
+                ubc.site
+            ) a
+    </select>
+    <select id="getTotalByTime" resultType="java.lang.Integer">
+        select
+            SUM(num)
+        from(
+                SELECT
+                count(*) num
+                FROM
+                `ums_base_case` AS ubc
+                JOIN ums_violations AS uv ON ubc.id = uv.id
+                LEFT JOIN ums_data_dictionary AS t3 ON uv.category_id = t3.id
+                LEFT JOIN ums_data_dictionary AS t4 ON uv.type_id = t4.id
+                LEFT JOIN ums_sccg_region t5 ON ubc.street_id = t5.id
+                WHERE
+                ubc.category = 1
+                AND t4.`name` IS NOT NULL
+                <if test="startTime !='' and endTime !='' and startTime!=null and endTime !=null">
+                    and ubc.alarm_time between #{startTime} and #{endTime}
+                </if>
+                GROUP BY
+                ubc.alarm_time
+            ) a
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0