|
@@ -58,11 +58,34 @@ public class JcjAjxxServiceImpl extends AbstractCrudService<JcjAjxxMapper, JcjAj
|
|
|
.between("lasj",startTime,endTime)
|
|
|
.groupBy("monthTime","ajlx");
|
|
|
Map<String, List<AlertStatisticsVO>> typeMap = enhanceList(this.listMaps(queryWrapper));
|
|
|
- int distanceOfTwoDate = DateUtils.getDistanceOfTwoDateNew(startTime, endTime)+1;
|
|
|
+ Date maxDate = getMaxDate();
|
|
|
+ Date minDate = getMinDate();
|
|
|
+ int distanceOfTwoDate = DateUtils.getDistanceOfTwoDateNew(minDate, maxDate);
|
|
|
perfect(typeMap,24,distanceOfTwoDate,0);
|
|
|
return typeMap;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ public Date getMaxDate(){
|
|
|
+ IPage<JcjAjxx> page = new Page<>(1, 1);
|
|
|
+ LambdaQueryWrapper<JcjAjxx> maxQuery = Wrappers.lambdaQuery();
|
|
|
+ maxQuery.isNotNull(JcjAjxx::getCreated)
|
|
|
+ .orderByDesc(JcjAjxx::getCreated);
|
|
|
+
|
|
|
+ IPage<JcjAjxx> maxPage = this.page(page, maxQuery);
|
|
|
+ return maxPage.getRecords().get(0).getCreated();
|
|
|
+ }
|
|
|
+
|
|
|
+ public Date getMinDate(){
|
|
|
+ IPage<JcjAjxx> page = new Page<>(1, 1);
|
|
|
+ LambdaQueryWrapper<JcjAjxx> minQuery = Wrappers.lambdaQuery();
|
|
|
+ minQuery
|
|
|
+ .isNotNull(JcjAjxx::getCreated)
|
|
|
+ .orderByAsc(JcjAjxx::getCreated);
|
|
|
+ IPage<JcjAjxx> minPage = this.page(page, minQuery);
|
|
|
+ return minPage.getRecords().get(0).getCreated();
|
|
|
+ }
|
|
|
+
|
|
|
public void perfect(Map<String, List<AlertStatisticsVO>> typeMap,Integer times,Integer subTime,Integer defaultTime){
|
|
|
for (String type:ALERT_TYPE) {
|
|
|
if (!typeMap.containsKey(type)){
|
|
@@ -116,8 +139,10 @@ public class JcjAjxxServiceImpl extends AbstractCrudService<JcjAjxxMapper, JcjAj
|
|
|
.between("lasj",startTime,endTime)
|
|
|
.groupBy("monthTime","ajlx");
|
|
|
Map<String, List<AlertStatisticsVO>> typeMap = enhanceList(this.listMaps(queryWrapper));
|
|
|
- int distanceOfTwoDate =Integer.parseInt(DateUtils.getYear(endTime)) - Integer.parseInt(DateUtils.getYear(startTime)) + 1;
|
|
|
- perfect(typeMap,13,distanceOfTwoDate,1);
|
|
|
+ Date maxDate = getMaxDate();
|
|
|
+ Date minDate = getMinDate();
|
|
|
+ int distanceOfTwoDateYear =Integer.parseInt(DateUtils.getYear(maxDate)) - Integer.parseInt(DateUtils.getYear(minDate)) + 1;
|
|
|
+ perfect(typeMap,13,distanceOfTwoDateYear,1);
|
|
|
return typeMap;
|
|
|
}
|
|
|
|