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 now = new Date();
Date startMonth; Date startMonth;// 起始月份,包含该月份
Date targetMonth = DateUtils.addDateMonths(DateUtils.integrate(now, DateUtils.DATE_PATTERN_YYYYMM), -1); Date targetMonth = DateUtils.integrate(now, DateUtils.DATE_PATTERN_YYYYMM);// 统计至当月,包含当月
if (lastExecRecord.getExecTime() == null) { if (lastExecRecord.getExecTime() == null) {
initMonthDim(targetMonth); initMonthDim(targetMonth);
lastExecRecord.setExecTime(now); lastExecRecord.setExecTime(now);
lastExecRecordService.updateById(lastExecRecord); lastExecRecordService.updateById(lastExecRecord);
} else { } else {
startMonth = DateUtils.integrate(lastExecRecord.getExecTime(), DateUtils.DATE_PATTERN_YYYYMM); startMonth = DateUtils.addDateMonths(DateUtils.integrate(lastExecRecord.getExecTime(), DateUtils.DATE_PATTERN_YYYYMM), 1);
if (targetMonth.equals(startMonth) || targetMonth.after(startMonth)) { if (targetMonth.after(startMonth) || targetMonth.equals(startMonth)) {
initMonthDims(startMonth, targetMonth); initMonthDims(startMonth, targetMonth);
lastExecRecord.setExecTime(now); lastExecRecord.setExecTime(now);
lastExecRecordService.updateById(lastExecRecord); 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); lastExecRecord = lastExecRecordService.createLastExecRecord(StatsSubject.DIM_QUARTER);
} }
//Date now = new Date(); Date now = new Date();
Date now = DateUtils.parse("20210430", DateUtils.DATE_PATTERN_YYYYMMDD); //Date now = DateUtils.parse(now, DateUtils.DATE_PATTERN_YYYYMMDD);
Date targetQuarter; Date targetQMonth;//初始化至,包含当季
Date startQuarter; 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) { if (lastExecRecord.getExecTime() == null) {
// 初始化上一个季度 // 初始化上一个季度
initQuarterDim(targetQuarter); initQuarterDim(targetQMonth);
lastExecRecord.setExecTime(new Date()); lastExecRecord.setExecTime(now);
lastExecRecordService.updateById(lastExecRecord); lastExecRecordService.updateById(lastExecRecord);
} else { } else {
// 连续初始化多个季度 // 连续初始化多个季度
startQuarter = DateUtils.integrate(lastExecRecord.getExecTime(), DateUtils.DATE_PATTERN_YYYYMM); startQMonth = DateUtils.addDateMonths(DateUtils.integrate(lastExecRecord.getExecTime(), DateUtils.DATE_PATTERN_YYYYMM), 3);
if (initQuarterDim(startQuarter, targetQuarter)) { if (initQuarterDim(startQMonth, targetQMonth)) {
lastExecRecord.setExecTime(new Date()); lastExecRecord.setExecTime(now);
lastExecRecordService.updateById(lastExecRecord); 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 now = new Date();
Date startWeekDay; Date startWeekDay;
Date targetWeekDay = DateUtils.getWeekStartAndEnd(DateUtils.addDateDays(now, -7))[0]; Date targetWeekDay = DateUtils.getWeekStartAndEnd(now)[0];
if (lastExecRecord.getExecTime() == null) { if (lastExecRecord.getExecTime() == null) {
// 首次执行 // 首次执行
@ -125,7 +125,7 @@ public class DimWeekServiceImpl extends BaseServiceImpl<DimWeekDao, DimWeekEntit
lastExecRecord.setExecTime(now); lastExecRecord.setExecTime(now);
lastExecRecordService.updateById(lastExecRecord); lastExecRecordService.updateById(lastExecRecord);
} else { } else {
startWeekDay = DateUtils.getWeekStartAndEnd(lastExecRecord.getExecTime())[0]; startWeekDay = DateUtils.addDateWeeks(DateUtils.getWeekStartAndEnd(lastExecRecord.getExecTime())[0], 1);
if (targetWeekDay.equals(startWeekDay) || targetWeekDay.after(startWeekDay)) { if (targetWeekDay.equals(startWeekDay) || targetWeekDay.after(startWeekDay)) {
initWeekDim(startWeekDay, targetWeekDay); initWeekDim(startWeekDay, targetWeekDay);
lastExecRecord.setExecTime(now); 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 startYear;
Date targetYear; 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) { if (lastExecRecord.getExecTime() == null) {
// 第一次执行统计 // 第一次执行统计
initYearDim(targetYear); initYearDim(targetYear);
@ -128,7 +128,7 @@ public class DimYearServiceImpl extends BaseServiceImpl<DimYearDao, DimYearEntit
// 记录最后一次统计时间 // 记录最后一次统计时间
lastExecRecordService.updateById(lastExecRecord); lastExecRecordService.updateById(lastExecRecord);
} else { } 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)) { if (targetYear.equals(startYear) || targetYear.after(startYear)) {
initYearDims(startYear, targetYear); initYearDims(startYear, targetYear);
lastExecRecord.setExecTime(now); lastExecRecord.setExecTime(now);

Loading…
Cancel
Save