|
@@ -63,30 +63,57 @@ public class DataFillJobHandler {
|
|
|
ratWrapper.select("tbname", "time", "station_id", "equipment_id").eq("uniform_code", "1FZPJZB")
|
|
|
.between("time", startDate.getTime(), endDate.getTime());
|
|
|
List<RealtimeAverageTarget> ratList = realtimeAverageTargetService.list(ratWrapper);
|
|
|
- //按风机分组
|
|
|
- Map<String, List<RealtimeAverageTarget>> ratslMap = ratList.stream().collect(Collectors.groupingBy(RealtimeAverageTarget::getEquipmentId));
|
|
|
- for (List<RealtimeAverageTarget> value : ratslMap.values()) {
|
|
|
- String equipmentId = value.get(0).getEquipmentId();
|
|
|
- String tbname = value.get(0).getTbname();
|
|
|
-
|
|
|
- Map<String, List<PointData>> lpdsMap = new HashMap<>();
|
|
|
- CacheContext.equipUcMap.get(equipmentId).forEach((uc, point) -> {
|
|
|
- List<PointData> rawByKey = adapterApi.getRawByKey(point, startDate.getTime(), endDate.getTime());
|
|
|
- lpdsMap.put(uc, rawByKey);
|
|
|
- });
|
|
|
- int i = 0;
|
|
|
- for (DateTime minute = DateUtil.beginOfMinute(startDate); minute.isBefore(endDate); minute.offset(DateField.MINUTE, 1)) {
|
|
|
- if (i >= value.size() || (minute.getTime() != value.get(i).getTime().getTime())) {
|
|
|
+ if(ratList.size()==0){
|
|
|
+ QueryWrapper<RealtimeAverageTarget> wrapper = new QueryWrapper<>();
|
|
|
+ wrapper.select("tbname", "station_id", "equipment_id").eq("uniform_code", "1FZPJZB");
|
|
|
+ List<RealtimeAverageTarget> list = realtimeAverageTargetService.list(wrapper);
|
|
|
+ for (RealtimeAverageTarget target : list) {
|
|
|
+ String equipmentId = target.getEquipmentId();
|
|
|
+ String tbname = target.getTbname();
|
|
|
+
|
|
|
+ Map<String, List<PointData>> lpdsMap = new HashMap<>();
|
|
|
+ CacheContext.equipUcMap.get(equipmentId).forEach((uc, point) -> {
|
|
|
+ List<PointData> rawByKey = adapterApi.getRawByKey(point, startDate.getTime(), endDate.getTime());
|
|
|
+ lpdsMap.put(uc, rawByKey);
|
|
|
+ });
|
|
|
+ int i = 0;
|
|
|
+ for (DateTime minute = DateUtil.beginOfMinute(startDate); minute.isBefore(endDate); minute.offset(DateField.MINUTE, 1)) {
|
|
|
RealtimeAverageTarget rat = new RealtimeAverageTarget();
|
|
|
rat.setTime(new Timestamp(minute.getTime()));
|
|
|
rat.setTbname(tbname);
|
|
|
setRats(rat, equipmentId, minute.getTime(), minute.getTime() + 59999L, lpdsMap);
|
|
|
realtimeAverageTargetList.add(rat);
|
|
|
- } else {
|
|
|
- i++;
|
|
|
}
|
|
|
+
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ //按风机分组
|
|
|
+ Map<String, List<RealtimeAverageTarget>> ratslMap = ratList.stream().collect(Collectors.groupingBy(RealtimeAverageTarget::getEquipmentId));
|
|
|
+ for (List<RealtimeAverageTarget> value : ratslMap.values()) {
|
|
|
+ String equipmentId = value.get(0).getEquipmentId();
|
|
|
+ String tbname = value.get(0).getTbname();
|
|
|
+
|
|
|
+ Map<String, List<PointData>> lpdsMap = new HashMap<>();
|
|
|
+ CacheContext.equipUcMap.get(equipmentId).forEach((uc, point) -> {
|
|
|
+ List<PointData> rawByKey = adapterApi.getRawByKey(point, startDate.getTime(), endDate.getTime());
|
|
|
+ lpdsMap.put(uc, rawByKey);
|
|
|
+ });
|
|
|
+ int i = 0;
|
|
|
+ for (DateTime minute = DateUtil.beginOfMinute(startDate); minute.isBefore(endDate); minute.offset(DateField.MINUTE, 1)) {
|
|
|
+ if (i >= value.size() || (minute.getTime() != value.get(i).getTime().getTime())) {
|
|
|
+ RealtimeAverageTarget rat = new RealtimeAverageTarget();
|
|
|
+ rat.setTime(new Timestamp(minute.getTime()));
|
|
|
+ rat.setTbname(tbname);
|
|
|
+ setRats(rat, equipmentId, minute.getTime(), minute.getTime() + 59999L, lpdsMap);
|
|
|
+ realtimeAverageTargetList.add(rat);
|
|
|
+ } else {
|
|
|
+ i++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
realtimeAverageTargetService.saveBatch(realtimeAverageTargetList);
|
|
|
}
|
|
|
/*
|
|
@@ -139,11 +166,12 @@ public class DataFillJobHandler {
|
|
|
} else {
|
|
|
Map<Double, Double> map = CacheContext.powerModelMap.get(equipId);
|
|
|
if (map != null && map.size() > 0) {
|
|
|
- rat.setTheoryGeneration(NumberUtil.round(map.get(speed) / 60, 4).floatValue());
|
|
|
+ rat.setTheoryGeneration(NumberUtil.round(map.get(speed), 3).floatValue());
|
|
|
} else {
|
|
|
- rat.setTheoryGeneration(NumberUtil.round(CacheContext.mpdsMapMap.get(CacheContext.equipModelMap.get(equipId)).get(speed) / 60, 4).floatValue());
|
|
|
+ rat.setTheoryGeneration(NumberUtil.round(CacheContext.mpdsMapMap.get(CacheContext.equipModelMap.get(equipId)).get(speed), 3).floatValue());
|
|
|
}
|
|
|
}
|
|
|
+ if(rat.getTheoryGeneration()<rat.getPower()) rat.setTheoryGeneration(rat.getPower());
|
|
|
}
|
|
|
}
|
|
|
|