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); }