Browse Source

1、分析查询添加使用时间;

dev
mh 4 months ago
parent
commit
6fa9ab3f7e
  1. 82
      2024数据库脚本.sql
  2. 20
      common/pom.xml
  3. 2
      user-service/src/main/java/com/mh/user/controller/AnalysisController.java
  4. 12
      user-service/src/main/java/com/mh/user/job/DealDataJob.java
  5. 7
      user-service/src/main/java/com/mh/user/mapper/AnalysisMapper.java
  6. 4
      user-service/src/main/java/com/mh/user/mapper/HistoryDataPreMapper.java
  7. 8
      user-service/src/main/java/com/mh/user/service/impl/AnalysisServiceImpl.java
  8. 3
      user-service/src/main/java/com/mh/user/service/impl/HistoryDataPreServiceImpl.java

82
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';

20
common/pom.xml

@ -65,6 +65,26 @@
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.4</version>
<exclusions>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.13.3</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.13.3</version>
</dependency>
</dependencies>
</project>

2
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) {

12
user-service/src/main/java/com/mh/user/job/DealDataJob.java

@ -177,10 +177,14 @@ public class DealDataJob {
List<BuildingModel> 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() + "秒");

7
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<AnalysisMonthEntity> 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<AnalysisMonthEntity> 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<AnalysisYearEntity> queryAnalysisRuntimeYear(@Param("curDate") String curDate, @Param("buildingId") String buildingId);
}

4
user-service/src/main/java/com/mh/user/mapper/HistoryDataPreMapper.java

@ -47,7 +47,9 @@ public interface HistoryDataPreMapper extends BaseMapper<HistoryDataPre> {
List<HistoryDataPre> 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 ")

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

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

Loading…
Cancel
Save