From 72802b92d42a9afe27ae2c977245eb8629ab7526 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 19 六月 2023 13:53:24 +0800
Subject: [PATCH] 1

---
 src/main/java/com/yssh/service/impl/WarningAnalyseServiceImpl.java |   12 ++++++++----
 src/main/java/com/yssh/utils/CalculateUtils.java                   |   18 +++++++++++++-----
 src/main/resources/mapping/WarningDetailMapper.xml                 |   16 ++++++++++++++++
 src/main/java/com/yssh/dao/WarningDetailMapper.java                |    4 ++++
 4 files changed, 41 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/yssh/dao/WarningDetailMapper.java b/src/main/java/com/yssh/dao/WarningDetailMapper.java
index b9ecfc7..bcc2118 100644
--- a/src/main/java/com/yssh/dao/WarningDetailMapper.java
+++ b/src/main/java/com/yssh/dao/WarningDetailMapper.java
@@ -28,4 +28,8 @@
 	List<WarningDetail> selectByTimeForBj(@Param("startTime") String startTime, @Param("endTime") String endTime);
 
 	Double getLastYearVal(@Param("id") long id);
+
+	Integer countWarnByMap(Map<String, Object> param);
+
+	Integer countAlarmByMap(Map<String, Object> param);
 }
diff --git a/src/main/java/com/yssh/service/impl/WarningAnalyseServiceImpl.java b/src/main/java/com/yssh/service/impl/WarningAnalyseServiceImpl.java
index 51c7c17..a0de8aa 100644
--- a/src/main/java/com/yssh/service/impl/WarningAnalyseServiceImpl.java
+++ b/src/main/java/com/yssh/service/impl/WarningAnalyseServiceImpl.java
@@ -185,19 +185,23 @@
         param.put("startTime", ymdhms.format(DateUtils.getMonthStart()));
         param.put("endTime", ymdhms.format(DateUtils.getMonthEnd()));
 
-        param.put("type", 0);
+        /*param.put("type", 0);
         List<WarningVo> alarms = warningDetailMapper.selectWarningDetailByMap(param);
         if (StringUtils.isNull(alarms)) {
             alarms = new ArrayList<>();
         }
-        result.put("alarmNumber", alarms.size());
+        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);
+        /*List<WarningVo> warnings = warningDetailMapper.selectWarningDetailByMap(param);
         if (StringUtils.isNull(warnings)) {
             warnings = new ArrayList<>();
         }
-        result.put("warningNumber", warnings.size());
+        result.put("warningNumber", warnings.size());*/
+        Integer warnNum = warningDetailMapper.countWarnByMap(param);
+        result.put("warningNumber", null == warnNum ? 0 : warnNum);
 
         return result;
     }
diff --git a/src/main/java/com/yssh/utils/CalculateUtils.java b/src/main/java/com/yssh/utils/CalculateUtils.java
index 4274617..8dbf9a6 100644
--- a/src/main/java/com/yssh/utils/CalculateUtils.java
+++ b/src/main/java/com/yssh/utils/CalculateUtils.java
@@ -231,14 +231,22 @@
 			direction = direction - 360;
 		}
 
-		if (direction > 315 && direction < 45)
-			return "鍖�";
-		if (direction >= 45 && direction < 135)
+		if (direction >= 22.5 && direction < 67.5)
+			return "涓滃寳";
+		if (direction >= 67.5 && direction < 112.5)
 			return "涓�";
-		if (direction >= 135 && direction < 225)
+		if (direction >= 112.5 && direction < 157.5)
+			return "涓滃崡";
+		if (direction >= 157.5 && direction < 202.5)
 			return "鍗�";
+		if (direction >= 202.5 && direction < 247.5)
+			return "瑗垮崡";
+		if (direction >= 247.5 && direction < 292.5)
+			return "瑗�";
+		if (direction >= 292.5 && direction < 337.5)
+			return "瑗垮寳";
 
-		return "瑗�";
+		return "鍖�";
 	}
 
 	/**
diff --git a/src/main/resources/mapping/WarningDetailMapper.xml b/src/main/resources/mapping/WarningDetailMapper.xml
index 7d40ff9..a5b9bae 100644
--- a/src/main/resources/mapping/WarningDetailMapper.xml
+++ b/src/main/resources/mapping/WarningDetailMapper.xml
@@ -40,6 +40,22 @@
 		where create_time between #{startTime} and #{endTime} and type = #{type};
     </select>
 
+	<select id="countWarnByMap" resultType="java.lang.Integer">
+		with rs as (select jcyj, jcbj from alert_config limit 1)
+		select count(*)
+		from warning_detail
+		where create_time between #{startTime} and #{endTime}
+			and value >= (select jcyj from rs) and value &lt; (select jcbj from rs);
+	</select>
+
+	<select id="countAlarmByMap" resultType="java.lang.Integer">
+		with rs as (select jcyj, jcbj from alert_config limit 1)
+		select count(*)
+		from warning_detail
+		where create_time between #{startTime} and #{endTime}
+			and value >= (select jcbj from rs);
+	</select>
+
 	<select id="selectWarningDayCountByMap_old" parameterType="java.util.Map" resultType="java.util.Map">
 		SELECT date_format(create_time,'%Y%m%d') AS createTime, count(id) AS num
 		FROM warning_detail

--
Gitblit v1.9.3