Browse Source

调整维度生成逻辑,生成前一日,当月,当年,当季,当前周的维度数据

master
wxz 5 years ago
parent
commit
6957d9dfe2
  1. 8
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimMonthServiceImpl.java
  2. 20
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimQuarterServiceImpl.java
  3. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimWeekServiceImpl.java
  4. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimYearServiceImpl.java

8
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimMonthServiceImpl.java

@ -118,16 +118,16 @@ public class DimMonthServiceImpl extends BaseServiceImpl<DimMonthDao, DimMonthEn
}
Date now = new Date();
Date startMonth;
Date targetMonth = DateUtils.addDateMonths(DateUtils.integrate(now, DateUtils.DATE_PATTERN_YYYYMM), -1);
Date startMonth;// 起始月份,包含该月份
Date targetMonth = DateUtils.integrate(now, DateUtils.DATE_PATTERN_YYYYMM);// 统计至当月,包含当月
if (lastExecRecord.getExecTime() == null) {
initMonthDim(targetMonth);
lastExecRecord.setExecTime(now);
lastExecRecordService.updateById(lastExecRecord);
} else {
startMonth = DateUtils.integrate(lastExecRecord.getExecTime(), DateUtils.DATE_PATTERN_YYYYMM);
if (targetMonth.equals(startMonth) || targetMonth.after(startMonth)) {
startMonth = DateUtils.addDateMonths(DateUtils.integrate(lastExecRecord.getExecTime(), DateUtils.DATE_PATTERN_YYYYMM), 1);
if (targetMonth.after(startMonth) || targetMonth.equals(startMonth)) {
initMonthDims(startMonth, targetMonth);
lastExecRecord.setExecTime(now);
lastExecRecordService.updateById(lastExecRecord);

20
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimQuarterServiceImpl.java

@ -120,24 +120,24 @@ public class DimQuarterServiceImpl extends BaseServiceImpl<DimQuarterDao, DimQua
lastExecRecord = lastExecRecordService.createLastExecRecord(StatsSubject.DIM_QUARTER);
}
//Date now = new Date();
Date now = DateUtils.parse("20210430", DateUtils.DATE_PATTERN_YYYYMMDD);
Date now = new Date();
//Date now = DateUtils.parse(now, DateUtils.DATE_PATTERN_YYYYMMDD);
Date targetQuarter;
Date startQuarter;
Date targetQMonth;//初始化至,包含当季
Date startQMonth;//从该季开始初始化,不包含该季
targetQuarter = DateUtils.integrate(DateUtils.addDateMonths(now, -3), DateUtils.DATE_PATTERN_YYYYMM);
targetQMonth = DateUtils.integrate(now, DateUtils.DATE_PATTERN_YYYYMM);
if (lastExecRecord.getExecTime() == null) {
// 初始化上一个季度
initQuarterDim(targetQuarter);
lastExecRecord.setExecTime(new Date());
initQuarterDim(targetQMonth);
lastExecRecord.setExecTime(now);
lastExecRecordService.updateById(lastExecRecord);
} else {
// 连续初始化多个季度
startQuarter = DateUtils.integrate(lastExecRecord.getExecTime(), DateUtils.DATE_PATTERN_YYYYMM);
if (initQuarterDim(startQuarter, targetQuarter)) {
lastExecRecord.setExecTime(new Date());
startQMonth = DateUtils.addDateMonths(DateUtils.integrate(lastExecRecord.getExecTime(), DateUtils.DATE_PATTERN_YYYYMM), 3);
if (initQuarterDim(startQMonth, targetQMonth)) {
lastExecRecord.setExecTime(now);
lastExecRecordService.updateById(lastExecRecord);
}
}

4
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimWeekServiceImpl.java

@ -117,7 +117,7 @@ public class DimWeekServiceImpl extends BaseServiceImpl<DimWeekDao, DimWeekEntit
Date now = new Date();
Date startWeekDay;
Date targetWeekDay = DateUtils.getWeekStartAndEnd(DateUtils.addDateDays(now, -7))[0];
Date targetWeekDay = DateUtils.getWeekStartAndEnd(now)[0];
if (lastExecRecord.getExecTime() == null) {
// 首次执行
@ -125,7 +125,7 @@ public class DimWeekServiceImpl extends BaseServiceImpl<DimWeekDao, DimWeekEntit
lastExecRecord.setExecTime(now);
lastExecRecordService.updateById(lastExecRecord);
} else {
startWeekDay = DateUtils.getWeekStartAndEnd(lastExecRecord.getExecTime())[0];
startWeekDay = DateUtils.addDateWeeks(DateUtils.getWeekStartAndEnd(lastExecRecord.getExecTime())[0], 1);
if (targetWeekDay.equals(startWeekDay) || targetWeekDay.after(startWeekDay)) {
initWeekDim(startWeekDay, targetWeekDay);
lastExecRecord.setExecTime(now);

4
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimYearServiceImpl.java

@ -120,7 +120,7 @@ public class DimYearServiceImpl extends BaseServiceImpl<DimYearDao, DimYearEntit
Date startYear;
Date targetYear;
targetYear = DateUtils.integrate(DateUtils.addDateYears(now, -1), DateUtils.DATE_PATTERN_YYYY);
targetYear = DateUtils.integrate(now, DateUtils.DATE_PATTERN_YYYY);
if (lastExecRecord.getExecTime() == null) {
// 第一次执行统计
initYearDim(targetYear);
@ -128,7 +128,7 @@ public class DimYearServiceImpl extends BaseServiceImpl<DimYearDao, DimYearEntit
// 记录最后一次统计时间
lastExecRecordService.updateById(lastExecRecord);
} else {
startYear = DateUtils.integrate(lastExecRecord.getExecTime(), DateUtils.DATE_PATTERN_YYYY);
startYear = DateUtils.addDateYears(DateUtils.integrate(lastExecRecord.getExecTime(), DateUtils.DATE_PATTERN_YYYY), 1);
if (targetYear.equals(startYear) || targetYear.after(startYear)) {
initYearDims(startYear, targetYear);
lastExecRecord.setExecTime(now);

Loading…
Cancel
Save