From 669906b87674d4b60a6fd5ea3a938c636952dbc2 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期四, 19 六月 2025 21:08:36 +0800
Subject: [PATCH] 预警分析管理-主属性和分析属性

---
 src/main/java/com/whyc/util/ActionUtil.java                 |    4 +
 src/main/java/com/whyc/service/SubTablePageInfoService.java |    3 
 src/main/java/com/whyc/controller/AlmParamController.java   |    2 
 src/main/java/com/whyc/service/BattRealdataIdService.java   |   19 +++++
 src/main/java/com/whyc/mapper/AlmAnalysisParamMapper.java   |    6 ++
 src/main/java/com/whyc/pojo/db_param/AlmAnalysisParam.java  |   69 +++++++++++++++++++++++
 src/main/java/com/whyc/service/AlmAnalysisParamService.java |   21 +++++++
 src/main/java/com/whyc/service/AppParamService.java         |    8 ++
 8 files changed, 127 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/whyc/controller/AlmParamController.java b/src/main/java/com/whyc/controller/AlmParamController.java
index 16b6c4a..09babd2 100644
--- a/src/main/java/com/whyc/controller/AlmParamController.java
+++ b/src/main/java/com/whyc/controller/AlmParamController.java
@@ -135,7 +135,7 @@
     }
 
     @GetMapping("getBattHisRealInAlm")
-    @ApiOperation("鐢垫睜鍛婅鐐瑰嚮鍏蜂綋鍛婅淇℃伅鏌ョ湅浠庡憡璀﹀紑濮嬫椂闂村埌鐜板湪鐨勫巻鍙插疄鏃舵暟鎹�")
+    @ApiOperation("棰勮鍒嗘瀽绠$悊-涓诲睘鎬у拰鍒嗘瀽灞炴��")
     public Response getBattHisRealInAlm(@RequestParam Integer battgroupId,@RequestParam String startTime,@RequestParam(required = false) Integer almId) throws ParseException, InterruptedException {
         return battRealdataIdService.getBattHisRealInAlm(battgroupId,startTime,almId);
     }
diff --git a/src/main/java/com/whyc/mapper/AlmAnalysisParamMapper.java b/src/main/java/com/whyc/mapper/AlmAnalysisParamMapper.java
new file mode 100644
index 0000000..dce0635
--- /dev/null
+++ b/src/main/java/com/whyc/mapper/AlmAnalysisParamMapper.java
@@ -0,0 +1,6 @@
+package com.whyc.mapper;
+
+import com.whyc.pojo.db_param.AlmAnalysisParam;
+
+public interface AlmAnalysisParamMapper extends CustomMapper<AlmAnalysisParam>{
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/pojo/db_param/AlmAnalysisParam.java b/src/main/java/com/whyc/pojo/db_param/AlmAnalysisParam.java
new file mode 100644
index 0000000..06a3fd0
--- /dev/null
+++ b/src/main/java/com/whyc/pojo/db_param/AlmAnalysisParam.java
@@ -0,0 +1,69 @@
+package com.whyc.pojo.db_param;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 棰勮鍒嗘瀽绠$悊鍏宠仈瀛楁閰嶇疆琛�
+ * </p>
+ *
+ * @author lxw
+ * @since 2025-06-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName(schema = "db_param",value ="tb_alm_analysis_param")
+@ApiModel(value="AlmAnalysisParam瀵硅薄", description="棰勮鍒嗘瀽绠$悊鍏宠仈瀛楁閰嶇疆琛�")
+public class AlmAnalysisParam implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "鑷涓婚敭")
+    @TableId(value = "num", type = IdType.AUTO)
+    private Long num;
+
+    @ApiModelProperty(value = "鍛婅ID")
+    private Integer almId;
+
+    @ApiModelProperty(value = "涓诲弬鑰冨瓧娈�")
+    private String mainField;
+
+    @ApiModelProperty(value = "涓诲瓧娈电被鍨媅1:鐩存祦锛�2锛氶�氫俊锛�3閰嶇綉  4:鐢垫睜 5:璁惧]")
+    private Integer mainFieldType;
+
+    @ApiModelProperty(value = "娆¤瀛楁1鍙傝�冮厤缃�")
+    private String minorField1;
+
+    @ApiModelProperty(value = "瀛楁1绫诲瀷[1:鐩存祦锛�2锛氶�氫俊锛�3閰嶇綉  4:鐢垫睜 5:璁惧]")
+    private Integer minorField1Type;
+
+    @ApiModelProperty(value = "娆¤瀛楁2鍙傝�冮厤缃�")
+    private String minorField2;
+
+    @ApiModelProperty(value = "瀛楁2绫诲瀷[1:鐩存祦锛�2锛氶�氫俊锛�3閰嶇綉  4:鐢垫睜 5:璁惧]")
+    private Integer minorField2Type;
+
+    @ApiModelProperty(value = "娆¤瀛楁3鍙傝�冮厤缃�")
+    private String minorField3;
+
+    @ApiModelProperty(value = "瀛楁3绫诲瀷[1:鐩存祦锛�2锛氶�氫俊锛�3閰嶇綉  4:鐢垫睜 5:璁惧]")
+    private Integer minorField3Type;
+
+    @ApiModelProperty(value = "娆¤瀛楁4鍙傝�冮厤缃�")
+    private String minorField4;
+
+    @ApiModelProperty(value = "瀛楁4绫诲瀷[1:鐩存祦锛�2锛氶�氫俊锛�3閰嶇綉  4:鐢垫睜 5:璁惧]")
+    private Integer minorField4Type;
+
+
+}
diff --git a/src/main/java/com/whyc/service/AlmAnalysisParamService.java b/src/main/java/com/whyc/service/AlmAnalysisParamService.java
new file mode 100644
index 0000000..afa5076
--- /dev/null
+++ b/src/main/java/com/whyc/service/AlmAnalysisParamService.java
@@ -0,0 +1,21 @@
+package com.whyc.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.whyc.mapper.AlmAnalysisParamMapper;
+import com.whyc.pojo.db_param.AlmAnalysisParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class AlmAnalysisParamService {
+    @Autowired(required = false)
+    private AlmAnalysisParamMapper mapper;
+    //鑾峰彇鍛婅almId瀵瑰簲鐨勫垎鏋愰厤缃睘鎬у��
+    public AlmAnalysisParam getAnalysisParam(Integer almId) {
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.eq("alm_id",almId);
+        wrapper.last("limit 1");
+        AlmAnalysisParam param= mapper.selectOne(wrapper);
+        return param;
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/service/AppParamService.java b/src/main/java/com/whyc/service/AppParamService.java
index 71b289a..250f8f8 100644
--- a/src/main/java/com/whyc/service/AppParamService.java
+++ b/src/main/java/com/whyc/service/AppParamService.java
@@ -54,4 +54,12 @@
         wrapper.orderByAsc("id");
         return mapper.selectList(wrapper);
     }
+    //鑾峰彇棰勮鍒嗘瀽鍛ㄦ湡闃堝��
+    public AppParam getAlarmAnalysisCycle() {
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.eq("param_name_psx","alm_analysis_already_time");
+        wrapper.last("limit 1");
+        AppParam param=mapper.selectOne(wrapper);
+        return param;
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/com/whyc/service/BattRealdataIdService.java b/src/main/java/com/whyc/service/BattRealdataIdService.java
index 9641b67..8a1faed 100644
--- a/src/main/java/com/whyc/service/BattRealdataIdService.java
+++ b/src/main/java/com/whyc/service/BattRealdataIdService.java
@@ -9,6 +9,8 @@
 import com.whyc.mapper.CommonMapper;
 
 import com.whyc.pojo.db_data_history.BattRealdataId;
+import com.whyc.pojo.db_param.AlmAnalysisParam;
+import com.whyc.pojo.db_param.AppParam;
 import com.whyc.util.ActionUtil;
 import com.whyc.util.DateUtil;
 import com.whyc.util.ThreadLocalUtil;
@@ -40,6 +42,12 @@
 
     @Autowired
     private BattInfService binfService;
+
+    @Autowired
+    private AlmAnalysisParamService almAnalysisParamService;
+
+    @Autowired
+    private AppParamService appParamService;
 
 
     //鑾峰彇鐢垫睜缁勬渶杩戜竴瀛e害鐨勫崟浣撴暟鎹�
@@ -220,8 +228,15 @@
     }
     //鐢垫睜鍛婅鐐瑰嚮鍏蜂綋鍛婅淇℃伅鏌ョ湅浠庡憡璀﹀紑濮嬫椂闂村埌鐜板湪鐨勫巻鍙插疄鏃舵暟鎹�
     public Response getBattHisRealInAlm(Integer battgroupId, String startTime, Integer almId) throws ParseException, InterruptedException {
+        //鑾峰彇鍛婅almId瀵瑰簲鐨勫垎鏋愰厤缃睘鎬у��
+        AlmAnalysisParam almAnalysisParam= almAnalysisParamService.getAnalysisParam(almId);
         List<RealDateDTO> dataList = new LinkedList<>();
-        List<List<Date>> monthTimeList = DateUtil.getMonthTime(ThreadLocalUtil.parse(startTime,1),new Date());
+        //鑾峰彇棰勮鍒嗘瀽鍛ㄦ湡闃堝��
+        AppParam appParam = appParamService.getAlarmAnalysisCycle();
+        Integer cycleTime=appParam.getParamValue().intValue();
+        Date cyscleDate=ActionUtil.getDateAdd(ThreadLocalUtil.parse(startTime,1),cycleTime*(-1));
+        //鑾峰彇cyscleDate鍒扮幇鍦ㄦ墍鏈夌殑鍘嗗彶瀹炴椂鏁版嵁
+        List<List<Date>> monthTimeList = DateUtil.getMonthTime(cyscleDate,new Date());
         ThreadPoolExecutor pool = ThreadPoolExecutorFactory.getPoolExecutor();
         CountDownLatch latch = new CountDownLatch(monthTimeList.size());
         for (int i = 0; i < monthTimeList.size(); i++) {
@@ -246,7 +261,7 @@
         }
         latch.await(10, TimeUnit.MINUTES);
         List dataListSorted = dataList.stream().sorted(Comparator.comparing(RealDateDTO::getRecordTime)).collect(Collectors.toList());
-        return new Response().set(1, dataListSorted);
+        return new Response().setIII(1,true, dataListSorted,almAnalysisParam,"鐢垫睜鍛婅鐐瑰嚮鍏蜂綋鍛婅淇℃伅鏌ョ湅浠庡憡璀﹀紑濮嬫椂闂村埌鐜板湪鐨勫巻鍙插疄鏃舵暟鎹�");
 
     }
 }
\ No newline at end of file
diff --git a/src/main/java/com/whyc/service/SubTablePageInfoService.java b/src/main/java/com/whyc/service/SubTablePageInfoService.java
index 568b164..e27caac 100644
--- a/src/main/java/com/whyc/service/SubTablePageInfoService.java
+++ b/src/main/java/com/whyc/service/SubTablePageInfoService.java
@@ -777,7 +777,8 @@
         String sql=" select record_time, group_vol, online_vol,group_curr, mon_vol, mon_tmp, mon_res, mon_num,record_num  " +
                 "               from db_data_history.tb_batt_realdata_"+realdata.getTableName()+" " +
                 "               where record_time >= '"+ThreadLocalUtil.format(realdata.getRecordTime(),1)+"' " +
-                "               and record_time <= '"+ThreadLocalUtil.format(realdata.getRecordTime1(),1)+"' ";
+                "               and record_time <= '"+ThreadLocalUtil.format(realdata.getRecordTime1(),1)+"' " +
+                "               order by record_time asc,mon_num asc";
         List<RealDateDTO> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
             @Override
             public List getResults(ResultSet rs) throws SQLException {
diff --git a/src/main/java/com/whyc/util/ActionUtil.java b/src/main/java/com/whyc/util/ActionUtil.java
index 5611fa0..13cab65 100644
--- a/src/main/java/com/whyc/util/ActionUtil.java
+++ b/src/main/java/com/whyc/util/ActionUtil.java
@@ -677,6 +677,8 @@
 		for (String date : dateList) {
 			System.out.println(date);
 		}*/
-		System.out.println(toCamelCase("user_name_and_age"));
+		//System.out.println(toCamelCase("user_name_and_age"));
+		Date time1=getDateAdd(new Date(),-10);
+		System.out.println(ActionUtil.sdf.format(time1));
 	}
 }	

--
Gitblit v1.9.1