From 22311d8b024f0414cc60a2c408211fdfb9c2f1d3 Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: 星期六, 07 十月 2023 17:11:24 +0800
Subject: [PATCH] 报警数量统计月

---
 ard-work/src/main/java/com/ruoyi/statistical/controller/StatisticalController.java |  136 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 129 insertions(+), 7 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/statistical/controller/StatisticalController.java b/ard-work/src/main/java/com/ruoyi/statistical/controller/StatisticalController.java
index 79c72dc..628ac8e 100644
--- a/ard-work/src/main/java/com/ruoyi/statistical/controller/StatisticalController.java
+++ b/ard-work/src/main/java/com/ruoyi/statistical/controller/StatisticalController.java
@@ -1,16 +1,16 @@
 package com.ruoyi.statistical.controller;
 
+import com.ruoyi.statistical.param.ESParam;
+import com.ruoyi.statistical.param.MonthParam;
 import com.ruoyi.statistical.service.StatisticalService;
 import com.ruoyi.utils.result.Results;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.time.LocalDate;
+import java.util.Calendar;
 import java.util.Map;
 
 /**
@@ -27,11 +27,133 @@
     /**
      * 鍘傚尯浠嬬粛瀛樺偍
      */
-    @PreAuthorize("@ss.hasPermi('minio:event:export')")
-    @ApiOperation("鏍规嵁鏉冮檺鑾峰彇璁惧鍒楄〃")
+    @ApiOperation("鍘傚尯浠嬬粛瀛樺偍")
     @PostMapping("factory/save")
     public Results factorySave(@RequestBody Map<String,String> map){
         return statisticalService.factorySave(map);
     }
 
+    /**
+     * 鍘傚尯浠嬬粛鏌ヨ
+     */
+    @ApiOperation("鍘傚尯浠嬬粛鏌ヨ")
+    @GetMapping("factory/select")
+    public Results factorySelect(){
+        return statisticalService.factorySelect();
+    }
+
+    /**
+     * 鎶ヨ鏁伴噺鍒嗘瀽骞�
+     */
+    @ApiOperation("鎶ヨ鏁伴噺鍒嗘瀽骞�")
+    @GetMapping("alarm/year")
+    public Results alarmYear(String type){
+        LocalDate today = LocalDate.now();
+        int year = today.getYear();
+        ESParam esParam = new ESParam();
+        esParam.setStart(year+"-01-01");
+        esParam.setEnd(year+"-12-31");
+        if("1001".equals(type)){
+            //鐩楃數鎶ヨ
+            return Results.succeed(statisticalService.stealelecYear(esParam));
+        }else if("1002".equals(type)){
+            //閫氱敤鍏夌數
+            return Results.succeed(statisticalService.cameraYear(esParam));
+        }else if("1003".equals(type)){
+            //闆疯揪鎶ヨ
+            return Results.succeed(statisticalService.moveYear(esParam));
+        }else if("1004".equals(type)){
+            //闃茬伀鎶ヨ
+            return Results.succeed(statisticalService.fireYear(esParam));
+        }else if("1005".equals(type)){
+            //澶栬仈鎶ヨ
+            return Results.succeed(statisticalService.externalYear(esParam));
+        }else if("1006".equals(type)){
+            //闂ㄧ鎶ヨ
+            return Results.succeed(statisticalService.accessYear(esParam));
+        }else if("1007".equals(type)){
+            //绉诲姩缁堢
+            return Results.succeed(statisticalService.apponekeyYear(esParam));
+        }else if("1010".equals(type)){
+            //鐢靛瓙鍥存爮
+            return Results.succeed(statisticalService.wallYear(esParam));
+        }else if("1012".equals(type)){
+            //棰勮鍛婅
+            return Results.succeed(statisticalService.digitizationYear(esParam));
+        }else if("1014".equals(type)){
+            //绠$嚎娉勬紡
+            return Results.succeed(statisticalService.tubeYear(esParam));
+        }
+        return Results.succeed();
+    }
+
+    /**
+     * 鎶ヨ鏁伴噺鍒嗘瀽鏈�
+     */
+    @ApiOperation("鎶ヨ鏁伴噺鍒嗘瀽鏈�")
+    @GetMapping("alarm/month")
+    public Results alarmMonth(String month,String type){
+        LocalDate today = LocalDate.now();
+        int year = today.getYear();
+        int day =  getDaysInMonth(Integer.valueOf(month),year);
+        ESParam esParam = new ESParam();
+        esParam.setStart(year+"-"+month+"-01");
+        esParam.setEnd(year+"-"+month+"-"+day);
+        if("1001".equals(type)){
+            //鐩楃數鎶ヨ
+            return Results.succeed(statisticalService.stealelecMonth(esParam));
+        }else if("1002".equals(type)){
+            //閫氱敤鍏夌數
+            return Results.succeed(statisticalService.cameraMonth(esParam));
+        }else if("1003".equals(type)){
+            //闆疯揪鎶ヨ
+            return Results.succeed(statisticalService.moveMonth(esParam));
+        }else if("1004".equals(type)){
+            //闃茬伀鎶ヨ
+            return Results.succeed(statisticalService.fireMonth(esParam));
+        }else if("1005".equals(type)){
+            //澶栬仈鎶ヨ
+            return Results.succeed(statisticalService.externalMonth(esParam));
+        }else if("1006".equals(type)){
+            //闂ㄧ鎶ヨ
+            return Results.succeed(statisticalService.accessMonth(esParam));
+        }else if("1007".equals(type)){
+            //绉诲姩缁堢
+            return Results.succeed(statisticalService.apponekeyMonth(esParam));
+        }else if("1010".equals(type)){
+            //鐢靛瓙鍥存爮
+            return Results.succeed(statisticalService.wallMonth(esParam));
+        }else if("1012".equals(type)){
+            //棰勮鍛婅
+            return Results.succeed(statisticalService.digitizationMonth(esParam));
+        }else if("1014".equals(type)){
+            //绠$嚎娉勬紡
+            return Results.succeed(statisticalService.tubeMonth(esParam));
+        }
+        return Results.succeed();
+    }
+
+    //杩斿洖姣忔湀澶╂暟
+    public int getDaysInMonth(int month, int year) {
+        switch (month) {
+            case Calendar.JANUARY:
+            case Calendar.MARCH:
+            case Calendar.MAY:
+            case Calendar.JULY:
+            case Calendar.AUGUST:
+            case Calendar.OCTOBER:
+            case Calendar.DECEMBER:
+                return 31;
+            case Calendar.APRIL:
+            case Calendar.JUNE:
+            case Calendar.SEPTEMBER:
+            case Calendar.NOVEMBER:
+                return 30;
+            case Calendar.FEBRUARY:
+                return ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) ? 29 : 28;
+            default:
+                throw new IllegalArgumentException("Invalid Month");
+        }
+    }
+
 }

--
Gitblit v1.9.3