diff --git a/2024数据库脚本.sql b/2024数据库脚本.sql
index 1989919..3975cfa 100644
--- a/2024数据库脚本.sql
+++ b/2024数据库脚本.sql
@@ -79,3 +79,85 @@ create index history_data_pre_cur_date on history_data_pre (cur_date);
ALTER TABLE SysParam
ADD proArea varchar(100) NULL;
EXEC sp_addextendedproperty 'MS_Description', N'天气区域', 'schema', N'dbo', 'table', N'SysParam', 'column', N'proArea';
+
+-- 2024-05-15 热泵使用时间表(月表)
+CREATE TABLE analysis_runtime_month (
+ id bigint IDENTITY(1,1) NOT NULL,
+ cur_date varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ item_type varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day01 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day02 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day03 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day04 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day05 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day06 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day07 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day08 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day09 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day10 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day11 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day12 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day13 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day14 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day15 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day16 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day17 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day18 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day19 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day20 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day21 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day22 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day23 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day24 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day25 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day26 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day27 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day28 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day29 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day30 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ day31 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ total_value varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ building_id varchar(50) COLLATE Chinese_PRC_CI_AS NULL
+);
+-- 使用时间年表
+CREATE TABLE analysis_runtime_year (
+ id bigint IDENTITY(1,1) NOT NULL,
+ cur_date varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ item_type varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ month01 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ month02 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ month03 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ month04 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ month05 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ month06 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ month07 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ month08 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ month09 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ month10 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ month11 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ month12 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ total_value varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ building_id varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ building_name varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
+ CONSTRAINT analysis_runtime_year_id PRIMARY KEY (id)
+);
+
+-- Extended properties
+EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'序号', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'analysis_runtime_year', @level2type=N'Column', @level2name=N'id';
+EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'日期', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'analysis_runtime_year', @level2type=N'Column', @level2name=N'cur_date';
+EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'类型', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'analysis_runtime_year', @level2type=N'Column', @level2name=N'item_type';
+EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'1月用量或比值', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'analysis_runtime_year', @level2type=N'Column', @level2name=N'month01';
+EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'2月用量或比值', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'analysis_runtime_year', @level2type=N'Column', @level2name=N'month02';
+EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'3月用量或比值', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'analysis_runtime_year', @level2type=N'Column', @level2name=N'month03';
+EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'4月用量或比值', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'analysis_runtime_year', @level2type=N'Column', @level2name=N'month04';
+EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'5月用量或比值', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'analysis_runtime_year', @level2type=N'Column', @level2name=N'month05';
+EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'6月用量或比值', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'analysis_runtime_year', @level2type=N'Column', @level2name=N'month06';
+EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'7月用量或比值', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'analysis_runtime_year', @level2type=N'Column', @level2name=N'month07';
+EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'8月用量或比值', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'analysis_runtime_year', @level2type=N'Column', @level2name=N'month08';
+EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'9月用量或比值', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'analysis_runtime_year', @level2type=N'Column', @level2name=N'month09';
+EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'10月用量或比值', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'analysis_runtime_year', @level2type=N'Column', @level2name=N'month10';
+EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'11月用量或比值', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'analysis_runtime_year', @level2type=N'Column', @level2name=N'month11';
+EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'12月用量或比值', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'analysis_runtime_year', @level2type=N'Column', @level2name=N'month12';
+EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'合计用量', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'analysis_runtime_year', @level2type=N'Column', @level2name=N'total_value';
+EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'楼栋编号', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'analysis_runtime_year', @level2type=N'Column', @level2name=N'building_id';
+EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'楼栋名称', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'analysis_runtime_year', @level2type=N'Column', @level2name=N'building_name';
diff --git a/common/pom.xml b/common/pom.xml
index 1c5fe7e..13502b0 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -65,6 +65,26 @@
org.apache.poi
poi-ooxml
5.2.4
+
+
+ org.apache.logging.log4j
+ log4j-api
+
+
+ org.apache.logging.log4j
+ log4j-core
+
+
+
+
+ org.apache.logging.log4j
+ log4j-api
+ 2.13.3
+
+
+ org.apache.logging.log4j
+ log4j-core
+ 2.13.3
diff --git a/user-service/src/main/java/com/mh/user/controller/AnalysisController.java b/user-service/src/main/java/com/mh/user/controller/AnalysisController.java
index 855fbf5..50d041b 100644
--- a/user-service/src/main/java/com/mh/user/controller/AnalysisController.java
+++ b/user-service/src/main/java/com/mh/user/controller/AnalysisController.java
@@ -39,7 +39,7 @@ public class AnalysisController {
}
- @PostMapping("/queryMonth") //type=1(水),2(电),3(能耗)
+ @PostMapping("/queryMonth") //type=1(水),2(电),3(能耗),4(维保),5(使用时间)
public HttpResult queryAnalysisMonth(@RequestParam(value = "curDate",required = true) String curDate,
@RequestParam(value = "buildingId",required = true) String buildingId,
@RequestParam(value = "type",defaultValue = "3") int type) {
diff --git a/user-service/src/main/java/com/mh/user/job/DealDataJob.java b/user-service/src/main/java/com/mh/user/job/DealDataJob.java
index 3d86c49..0997ddd 100644
--- a/user-service/src/main/java/com/mh/user/job/DealDataJob.java
+++ b/user-service/src/main/java/com/mh/user/job/DealDataJob.java
@@ -177,10 +177,14 @@ public class DealDataJob {
List buildingModels = buildingService.selectBuildingName();
for (BuildingModel buildingModel : buildingModels) {
String buildingId = String.valueOf(buildingModel.getBuildingId());
- // 训练数据
- historyDataPreService.startTrainData(buildingId);
- // 预测数据
- historyDataPreService.startPredictData(buildingId, curDate);
+ try {
+ // 训练数据
+ historyDataPreService.startTrainData(buildingId);
+ // 预测数据
+ historyDataPreService.startPredictData(buildingId, curDate);
+ } catch (Exception e) {
+ log.error("定时处理数据以及预测数据异常==>", e);
+ }
}
stopWatch.stop();
log.info("定时处理数据以及预测数据结束!耗时:" + stopWatch.getTotalTimeSeconds() + "秒");
diff --git a/user-service/src/main/java/com/mh/user/mapper/AnalysisMapper.java b/user-service/src/main/java/com/mh/user/mapper/AnalysisMapper.java
index 0490f8d..5683e5a 100644
--- a/user-service/src/main/java/com/mh/user/mapper/AnalysisMapper.java
+++ b/user-service/src/main/java/com/mh/user/mapper/AnalysisMapper.java
@@ -62,4 +62,11 @@ public interface AnalysisMapper {
@Select("select * from analysis_maintain_month where cur_date=#{curDate} and building_id=#{buildingId}")
List queryAnalysisMaintainMonth(@Param("curDate") String curDate, @Param("buildingId") String buildingId);
+ @ResultMap("rs_day")
+ @Select("select * from analysis_runtime_month where cur_date=#{curDate} and building_id=#{buildingId}")
+ List queryAnalysisRuntimeMonth(@Param("curDate") String curDate, @Param("buildingId") String buildingId);
+
+ @ResultMap("rs_month")
+ @Select("select * from analysis_runtime_year where cur_date=#{curDate} and building_id=#{buildingId}")
+ List queryAnalysisRuntimeYear(@Param("curDate") String curDate, @Param("buildingId") String buildingId);
}
diff --git a/user-service/src/main/java/com/mh/user/mapper/HistoryDataPreMapper.java b/user-service/src/main/java/com/mh/user/mapper/HistoryDataPreMapper.java
index 1db5222..fdacb5d 100644
--- a/user-service/src/main/java/com/mh/user/mapper/HistoryDataPreMapper.java
+++ b/user-service/src/main/java/com/mh/user/mapper/HistoryDataPreMapper.java
@@ -47,7 +47,9 @@ public interface HistoryDataPreMapper extends BaseMapper {
List getRecentData(@Param("buildingId") String buildingId,
@Param("curDate") String curDate);
- @Update("update history_data_pre set water_value_pre = #{waterValuePre},elect_value_pre = #{electValuePre},water_level_pre = #{waterLevelPre} where id = #{id} and building_id = #{buildingId}")
+ @Update("update history_data_pre set water_value_pre = #{waterValuePre},elect_value_pre = #{electValuePre},water_level_pre = #{waterLevelPre}," +
+ " water_value = #{waterValue},elect_value = #{electValue},water_level = #{waterLevel} " +
+ " where id = #{id} and building_id = #{buildingId}")
void updateById(HistoryDataPre preHistoryData);
@Select("select count(*) from history_data_pre where building_id = #{buildingId} and cur_date = #{curDate} and env_min_temp is not null ")
diff --git a/user-service/src/main/java/com/mh/user/service/impl/AnalysisServiceImpl.java b/user-service/src/main/java/com/mh/user/service/impl/AnalysisServiceImpl.java
index f01f726..451a201 100644
--- a/user-service/src/main/java/com/mh/user/service/impl/AnalysisServiceImpl.java
+++ b/user-service/src/main/java/com/mh/user/service/impl/AnalysisServiceImpl.java
@@ -23,8 +23,10 @@ public class AnalysisServiceImpl implements AnalysisService {
return analysisMapper.queryAnalysisElectYear(curDate,buildingId);
}else if(type==3){
return analysisMapper.queryAnalysisEnergyYear(curDate,buildingId);
- }else {
+ }else if (type==4){
return analysisMapper.queryAnalysisMaintainYear(curDate,buildingId);
+ } else {
+ return analysisMapper.queryAnalysisRuntimeYear(curDate,buildingId);
}
}
@@ -36,8 +38,10 @@ public class AnalysisServiceImpl implements AnalysisService {
return analysisMapper.queryAnalysisElectMonth(curDate,buildingId);
}else if (type==3){
return analysisMapper.queryAnalysisEnergyMonth(curDate,buildingId);
- }else{
+ }else if (type==4){
return analysisMapper.queryAnalysisMaintainMonth(curDate,buildingId);
+ } else {
+ return analysisMapper.queryAnalysisRuntimeMonth(curDate,buildingId);
}
}
}
diff --git a/user-service/src/main/java/com/mh/user/service/impl/HistoryDataPreServiceImpl.java b/user-service/src/main/java/com/mh/user/service/impl/HistoryDataPreServiceImpl.java
index 72d5de6..c2327fe 100644
--- a/user-service/src/main/java/com/mh/user/service/impl/HistoryDataPreServiceImpl.java
+++ b/user-service/src/main/java/com/mh/user/service/impl/HistoryDataPreServiceImpl.java
@@ -161,6 +161,9 @@ public class HistoryDataPreServiceImpl implements HistoryDataPreService {
preHistoryData.setElectValuePre(evaluateAndReturnBigDecimal(record[1]));
preHistoryData.setWaterLevelPre(evaluateAndReturnBigDecimal(record[2]));
}
+ preHistoryData.setWaterValue(curHistoryData.getWaterValue());
+ preHistoryData.setElectValue(curHistoryData.getElectValue());
+ preHistoryData.setWaterLevel(curHistoryData.getWaterLevel());
// 更新预测值
historyDataPreMapper.updateById(preHistoryData);
}