From 25169ce9015c91b1596619fcc27b5554bd73bee7 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期六, 29 七月 2023 10:18:14 +0800
Subject: [PATCH] 5

---
 src/main/java/com/yssh/controller/WarningAnalyseController.java |   23 ++---------
 src/main/java/com/yssh/mapper/QxshMapper.java                   |    4 ++
 src/main/java/com/yssh/utils/DateUtils.java                     |   16 +++-----
 src/main/java/com/yssh/service/WarningAnalyseService.java       |   34 ++++++----------
 src/main/resources/mapper/QxshMapper.xml                        |   13 ++++++
 5 files changed, 40 insertions(+), 50 deletions(-)

diff --git a/src/main/java/com/yssh/controller/WarningAnalyseController.java b/src/main/java/com/yssh/controller/WarningAnalyseController.java
index 23bd4ef..2e76dad 100644
--- a/src/main/java/com/yssh/controller/WarningAnalyseController.java
+++ b/src/main/java/com/yssh/controller/WarningAnalyseController.java
@@ -1,8 +1,5 @@
 package com.yssh.controller;
 
-import com.yssh.entity.Qxsh;
-import com.yssh.utils.CacheUtils;
-import com.yssh.utils.DateUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
@@ -17,10 +14,7 @@
 import com.yssh.utils.Result;
 
 import javax.annotation.Resource;
-import java.text.SimpleDateFormat;
 import java.util.Date;
-import java.util.List;
-import java.util.Map;
 
 @Api(tags = "鍛婅鍒嗘瀽")
 @RequestMapping("/warning")
@@ -30,10 +24,6 @@
     @Resource
     private WarningAnalyseService warningService;
 
-    /**
-     * 1.鏌ヨ褰撳墠鏃堕棿鐨勬墍鏈夌偣浣峷alue鍊硷紙浠�47.dat鏌ヨ鍗冲彲锛�
-     * 2.绛涢�夊ぇ浜巠ssh_bjyj涓殑jcbj瀛楁鐨勫�� 杩斿洖id+缁忕含搴�+value
-     */
     @ApiOperationSupport(order = 1)
     @ApiOperation(value = "鑾峰彇瀹炴椂鎶ヨ", notes = "鑾峰彇瀹炴椂鎶ヨ鍒嗘瀽鏁版嵁")
     @GetMapping("/runAlarm")
@@ -41,10 +31,6 @@
         return Result.OK(warningService.getRunTimeAlarmAnalyse());
     }
 
-    /**
-     * 1.鏌ヨ褰撳墠鏃堕棿鐨勬墍鏈夌偣浣峷alue鍊硷紙浠�47.dat鏌ヨ鍗冲彲锛�
-     * 2.绛涢�夊ぇ浜巠ssh_bjyj涓殑jcyj瀛楁鐨勫�� 杩斿洖id+缁忕含搴�+value
-     */
     @ApiOperationSupport(order = 2)
     @ApiOperation(value = "鑾峰彇瀹炴椂棰勮", notes = "鑾峰彇瀹炴椂棰勮鍒嗘瀽鏁版嵁")
     @GetMapping("/runWarning")
@@ -53,10 +39,10 @@
     }
 
     @ApiOperationSupport(order = 3)
-    @ApiOperation(value = "鏈湀棰勮銆佹姤璀︾粺璁�", notes = "鏈湀棰勮銆佹姤璀︾粺璁★紝杩斿洖鍙傛暟alarmNumber瀵瑰簲鍊间负鏈湀鎶ヨ鏁版嵁閲忥紝鍙傛暟warningNumber瀵瑰簲鍊间负鏈湀棰勮鏁版嵁閲�")
+    @ApiOperation(value = "鏈湀棰勮鎶ヨ缁熻", notes = "鏈湀棰勮鎶ヨ缁熻锛岃繑鍥炲弬鏁癮larmNumber瀵瑰簲鍊间负鏈湀鎶ヨ鏁版嵁閲忥紝鍙傛暟warningNumber瀵瑰簲鍊间负鏈湀棰勮鏁版嵁閲�")
     @GetMapping("/monthCount")
-    public Result thisMonthCount() {
-        return Result.OK(warningService.countThisMonthAlarmAndWarning());
+    public Result thisMonthCount(@RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) {
+        return Result.OK(warningService.monthCount(null == date ? new Date() : date));
     }
 
     @ApiOperationSupport(order = 4)
@@ -91,9 +77,8 @@
         if (null == begin || null == end) {
             return Result.error(null);
         }
-
         if (begin.getTime() > end.getTime()) {
-            Date tmp = end;
+            Date tmp = begin;
             begin = end;
             end = tmp;
         }
diff --git a/src/main/java/com/yssh/mapper/QxshMapper.java b/src/main/java/com/yssh/mapper/QxshMapper.java
index c9db586..443944b 100644
--- a/src/main/java/com/yssh/mapper/QxshMapper.java
+++ b/src/main/java/com/yssh/mapper/QxshMapper.java
@@ -18,6 +18,10 @@
 
     public List<Qxsh> selectMonthTop10(String time);
 
+    public Integer countMonthForWarn(@Param("start") Integer start, @Param("end") Integer end);
+
+    public Integer countMonthForAlarm(@Param("start") Integer start, @Param("end") Integer end);
+
     public List<Map<String, Object>> count7DayForWarn(@Param("start") Integer start, @Param("end") Integer end);
 
     public List<Map<String, Object>> count7DayForAlarm(@Param("start") Integer start, @Param("end") Integer end);
diff --git a/src/main/java/com/yssh/service/WarningAnalyseService.java b/src/main/java/com/yssh/service/WarningAnalyseService.java
index 515c4c1..408fd2c 100644
--- a/src/main/java/com/yssh/service/WarningAnalyseService.java
+++ b/src/main/java/com/yssh/service/WarningAnalyseService.java
@@ -167,30 +167,22 @@
         }
     }
 
-    public Map<String, Integer> countThisMonthAlarmAndWarning() {
+    /**
+     * 鏈湀棰勮鎶ヨ缁熻
+     */
+    public Map<String, Integer> monthCount(Date date) {
+        Date startDate = DateUtils.getMonthStart(date);
+        Date endDate = DateUtils.getMonthEnd(date);
+        Integer start = Integer.parseInt(DateUtils.getYyyyMmDdHh(startDate));
+        Integer end = Integer.parseInt(DateUtils.getYyyyMmDdHh(endDate));
+
         Map<String, Integer> result = new HashMap<>();
-        Map<String, Object> param = new HashMap<>();
-        param.put("startTime", DateUtils.getYyyyMmDdHhMmSs(DateUtils.getMonthStart()));
-        param.put("endTime", DateUtils.getYyyyMmDdHhMmSs(DateUtils.getMonthEnd()));
-
-        /*param.put("type", 0);
-        List<WarningVo> alarms = warningDetailMapper.selectWarningDetailByMap(param);
-        if (StringUtils.isNull(alarms)) {
-            alarms = new ArrayList<>();
-        }
-        result.put("alarmNumber", alarms.size());*/
-        Integer alarmNum = warningDetailMapper.countAlarmByMap(param);
-        result.put("alarmNumber", null == alarmNum ? 0 : alarmNum);
-
-        param.put("type", 1);
-        /*List<WarningVo> warnings = warningDetailMapper.selectWarningDetailByMap(param);
-        if (StringUtils.isNull(warnings)) {
-            warnings = new ArrayList<>();
-        }
-        result.put("warningNumber", warnings.size());*/
-        Integer warnNum = warningDetailMapper.countWarnByMap(param);
+        Integer warnNum = qxshMapper.countMonthForWarn(start, end);
         result.put("warningNumber", null == warnNum ? 0 : warnNum);
 
+        Integer alarmNum = qxshMapper.countMonthForAlarm(start, end);
+        result.put("alarmNumber", null == alarmNum ? 0 : alarmNum);
+
         return result;
     }
 
diff --git a/src/main/java/com/yssh/utils/DateUtils.java b/src/main/java/com/yssh/utils/DateUtils.java
index cb84b7b..bd91779 100644
--- a/src/main/java/com/yssh/utils/DateUtils.java
+++ b/src/main/java/com/yssh/utils/DateUtils.java
@@ -249,9 +249,10 @@
 	 *
 	 * @return String
 	 **/
-	public static Date getMonthStart() {
+	public static Date getMonthStart(Date date) {
 		Calendar cal = Calendar.getInstance();
-		//cal.set(Calendar.MONTH, 3);
+		// cal.set(Calendar.MONTH, 3)
+		cal.setTime(date);
 		cal.set(Calendar.DAY_OF_MONTH, 1);
 		return dateTime(YYYY_MM_DD_HH_MM_SS, parseDateToStr(YYYY_MM_DD, cal.getTime()) + " 00:00:00");
 	}
@@ -261,16 +262,11 @@
 	 *
 	 * @return String
 	 **/
-	public static Date getMonthEnd() {
+	public static Date getMonthEnd(Date date) {
 		Calendar cal = Calendar.getInstance();
-		//cal.set(Calendar.MONTH, 3);
+		// cal.set(Calendar.MONTH, 3)
+		cal.setTime(date);
 		cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
 		return dateTime(YYYY_MM_DD_HH_MM_SS, parseDateToStr(YYYY_MM_DD, cal.getTime()) + " 23:59:59");
-	}
-
-	public static void main(String[] args) {
-		//System.out.println(parseDateToStr(YYYY_MM_DD_HH_MM_SS, getMonthStart()));
-		//System.err.println(parseDateToStr(YYYY_MM_DD_HH_MM_SS, getMonthEnd()));
-		System.out.println(parseDateToStr(YYYY_MM_DD_HH_MM_SS, getAPeriodOfTime(getNowDate(), -7, Calendar.DATE)));
 	}
 }
diff --git a/src/main/resources/mapper/QxshMapper.xml b/src/main/resources/mapper/QxshMapper.xml
index af93f53..d785b67 100644
--- a/src/main/resources/mapper/QxshMapper.xml
+++ b/src/main/resources/mapper/QxshMapper.xml
@@ -19,6 +19,19 @@
         limit 10;
     </select>
 
+    <select id="countMonthForWarn" resultType="java.lang.Integer">
+        select count(*)
+        from yssh_qxsh
+        where time between #{start} and #{end} and name like 'AI-%'
+            and value > (select jcyj from alert_config limit 1) and value &lt;= (select jcbj from alert_config limit 1);
+    </select>
+
+    <select id="countMonthForAlarm" resultType="java.lang.Integer">
+        select count(*)
+        from yssh_qxsh
+        where time between #{start} and #{end} and name like 'AI-%' and value > (select jcbj from alert_config limit 1);
+    </select>
+
     <select id="count7DayForWarn" resultType="java.util.Map">
         with rs as (
             select left(time, 8) "createTime"

--
Gitblit v1.9.3