|
@@ -217,13 +217,17 @@ public class BigScreenSbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, Sb
|
|
|
}
|
|
|
sysDictList.sort(Comparator.comparing(SysDict::getSort));
|
|
|
record.setSbName("G01");
|
|
|
+ // 如果是月的,只查0点的数据
|
|
|
+ if(!isDay){
|
|
|
+ record.setHour(0);
|
|
|
+ }
|
|
|
List<RemoteDegreeLogVO> list = remoteDegreeLogMapper.selectList(record);
|
|
|
JSONArray jSONArray = new JSONArray();
|
|
|
if (isDay) {// 日报,需要减去上个小时的
|
|
|
// 找到前天晚上23点的
|
|
|
RemoteDegreeLogDTO lastDay = BeanConverterUtil.copyObjectProperties(record, RemoteDegreeLogDTO.class);
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
- calendar.set(lastDay.getYear(), lastDay.getMonth() - 1, lastDay.getDay()-1);
|
|
|
+ calendar.set(lastDay.getYear(), lastDay.getMonth() - 1, lastDay.getDay());
|
|
|
DateUtils.getLastDay(calendar);
|
|
|
lastDay.setYear(calendar.get(Calendar.YEAR));
|
|
|
lastDay.setMonth(calendar.get(Calendar.MONTH) + 1);
|
|
@@ -249,7 +253,7 @@ public class BigScreenSbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, Sb
|
|
|
if(i == 0){// 从昨天找
|
|
|
Optional<RemoteDegreeLogVO> lastR = lastList.stream().filter(item -> item.getPositionNum().equals(degreeLog.getPositionNum())).findFirst();
|
|
|
if(lastR.isPresent()){
|
|
|
- log.info(lastR.get().toString());
|
|
|
+ log.info(JSONObject.toJSONString(lastR.get()));
|
|
|
positiveTotal = positiveTotal.subtract(new BigDecimal(lastR.get().getResult()));
|
|
|
}
|
|
|
}else{// 从今天上个时间找,减去上个小时的数据
|
|
@@ -265,7 +269,7 @@ public class BigScreenSbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, Sb
|
|
|
if(i == 0){// 从昨天找
|
|
|
Optional<RemoteDegreeLogVO> lastR = lastList.stream().filter(item -> item.getPositionNum().equals(degreeLog.getPositionNum())).findFirst();
|
|
|
if(lastR.isPresent()){
|
|
|
- log.info(lastR.get().toString());
|
|
|
+ log.info(JSONObject.toJSONString(lastR.get()));
|
|
|
negativeTotal = negativeTotal.subtract(new BigDecimal(lastR.get().getResult()));
|
|
|
}
|
|
|
}else{// 从今天上个时间找,减去上个小时的数据
|
|
@@ -284,9 +288,19 @@ public class BigScreenSbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, Sb
|
|
|
jsonObject.put("lines", lineArray);
|
|
|
jSONArray.add(jsonObject);
|
|
|
}
|
|
|
- } else {
|
|
|
+ } else {// 月:统计每天的:需要当天0点减去前天0点的
|
|
|
LocalDate localDate = LocalDate.of(record.getYear(), record.getMonth(), 1);
|
|
|
int days = localDate.lengthOfMonth();
|
|
|
+
|
|
|
+ // 找到前天晚上0点的
|
|
|
+ RemoteDegreeLogDTO lastDay = BeanConverterUtil.copyObjectProperties(record, RemoteDegreeLogDTO.class);
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ calendar.set(lastDay.getYear(), lastDay.getMonth() - 2, 1);
|
|
|
+ lastDay.setYear(calendar.get(Calendar.YEAR));
|
|
|
+ lastDay.setMonth(calendar.get(Calendar.MONTH) + 1);
|
|
|
+ lastDay.setDay(calendar.getActualMaximum(Calendar.DATE));
|
|
|
+ List<RemoteDegreeLogVO> lastList = remoteDegreeLogMapper.selectList(lastDay);
|
|
|
+
|
|
|
for (int i = 1; i <= days; i++) {
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
jsonObject.put("time", i);
|
|
@@ -304,9 +318,38 @@ public class BigScreenSbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, Sb
|
|
|
if (degreeLog.getDay().equals(i)) {
|
|
|
if (degreeLog.getType().equals(1)) {
|
|
|
positiveTotal = positiveTotal.add(new BigDecimal(degreeLog.getResult()));
|
|
|
- } else {
|
|
|
- negativeTotal = negativeTotal.add(new BigDecimal(degreeLog.getResult()));
|
|
|
+ // 找到上个时间
|
|
|
+ if(i == 0){// 从上个月最后一天找
|
|
|
+ Optional<RemoteDegreeLogVO> lastR = lastList.stream().filter(item -> item.getPositionNum().equals(degreeLog.getPositionNum())).findFirst();
|
|
|
+ if(lastR.isPresent()){
|
|
|
+ log.info("1: " + degreeLog.getDay() + "," + degreeLog.getDay() + ","+ degreeLog.getDay() + ","+ lastR.get().getDay());
|
|
|
+ positiveTotal = positiveTotal.subtract(new BigDecimal(lastR.get().getResult()));
|
|
|
+ }
|
|
|
+ }else{// 从昨天时间找,减去昨天的数据
|
|
|
+ Optional<RemoteDegreeLogVO> lastR = list.stream().filter(item -> item.getPositionNum().equals(degreeLog.getPositionNum()) && item.getDay().equals(degreeLog.getDay()-1)).findFirst();
|
|
|
+ if(lastR.isPresent()){
|
|
|
+ log.info("2: " + degreeLog.getDay() + "," + lastR.get().getDay());
|
|
|
+ positiveTotal = positiveTotal.subtract(new BigDecimal(lastR.get().getResult()));
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+ /*else {
|
|
|
+ negativeTotal = negativeTotal.add(new BigDecimal(degreeLog.getResult()));
|
|
|
+ // 找到上个时间
|
|
|
+ if(i == 0){// 从昨天找
|
|
|
+ Optional<RemoteDegreeLogVO> lastR = lastList.stream().filter(item -> item.getPositionNum().equals(degreeLog.getPositionNum())).findFirst();
|
|
|
+ if(lastR.isPresent()){
|
|
|
+ log.info(JSONObject.toJSONString(lastR.get()));
|
|
|
+ negativeTotal = negativeTotal.subtract(new BigDecimal(lastR.get().getResult()));
|
|
|
+ }
|
|
|
+ }else{// 从今天上个时间找,减去上个小时的数据
|
|
|
+ Optional<RemoteDegreeLogVO> lastR = list.stream().filter(item -> item.getPositionNum().equals(degreeLog.getPositionNum()) && item.getDay().equals(degreeLog.getDay()-1)).findFirst();
|
|
|
+ if(lastR.isPresent()){
|
|
|
+ log.info(JSONObject.toJSONString(lastR.get()));
|
|
|
+ negativeTotal = negativeTotal.subtract(new BigDecimal(lastR.get().getResult()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }*/
|
|
|
}
|
|
|
}
|
|
|
}
|