|
@@ -35,7 +35,7 @@ public class DataFillJobHandler {
|
|
|
/**
|
|
|
* 风机id,uniformcode,平均数据
|
|
|
*/
|
|
|
- private Map<String, Map<String, List<PointData>>> dsdlssMap;
|
|
|
+ //private Map<String, Map<String, List<PointData>>> dsdlssMap;
|
|
|
|
|
|
@XxlJob("DataFilling")
|
|
|
public void calcEquipPowerGenDay() {
|
|
@@ -60,13 +60,15 @@ public class DataFillJobHandler {
|
|
|
|
|
|
List<RealtimeAverageTarget> realtimeAverageTargetList = new ArrayList<>();
|
|
|
QueryWrapper<RealtimeAverageTarget> ratWrapper = new QueryWrapper<>();
|
|
|
- ratWrapper.select("time", "station_id", "equipment_id").eq("uniform_code", "1FZPJZB")
|
|
|
+ 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());
|
|
@@ -74,10 +76,11 @@ public class DataFillJobHandler {
|
|
|
});
|
|
|
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 (i >= value.size() || (minute.getTime() != value.get(i).getTime().getTime())) {
|
|
|
RealtimeAverageTarget rat = new RealtimeAverageTarget();
|
|
|
rat.setTime(new Timestamp(minute.getTime()));
|
|
|
- setRats(rat, equipmentId, minute.getTime(), minute.getTime() + 59999L,lpdsMap);
|
|
|
+ rat.setTbname(tbname);
|
|
|
+ setRats(rat, equipmentId, minute.getTime(), minute.getTime() + 59999L, lpdsMap);
|
|
|
realtimeAverageTargetList.add(rat);
|
|
|
} else {
|
|
|
i++;
|
|
@@ -86,7 +89,7 @@ public class DataFillJobHandler {
|
|
|
}
|
|
|
realtimeAverageTargetService.saveBatch(realtimeAverageTargetList);
|
|
|
}
|
|
|
-
|
|
|
+/*
|
|
|
private void getDatas(long time1, long time2) {
|
|
|
dsdlssMap = new HashMap<>();
|
|
|
CacheContext.equipUcMap.forEach((equipId, ucode) -> {
|
|
@@ -97,7 +100,7 @@ public class DataFillJobHandler {
|
|
|
});
|
|
|
dsdlssMap.put(equipId, map);
|
|
|
});
|
|
|
- }
|
|
|
+ }*/
|
|
|
|
|
|
private void setRats(RealtimeAverageTarget rat, String equipId, long time1, long time2, Map<String, List<PointData>> lpdsMap) {
|
|
|
|
|
@@ -113,15 +116,15 @@ public class DataFillJobHandler {
|
|
|
double isdv = 0;
|
|
|
double wddv = 0;
|
|
|
|
|
|
- if (!wind_speeds.isEmpty())
|
|
|
+ if (wind_speeds != null && wind_speeds.size() > 0)
|
|
|
wsdv = wind_speeds.stream().filter(pd -> pd.getTs() >= time1 && pd.getTs() <= time2).mapToDouble(PointData::getDoubleValue).average().orElse(0);
|
|
|
- if (!active_powers.isEmpty())
|
|
|
+ if (active_powers != null && active_powers.size() > 0)
|
|
|
apdv = active_powers.stream().filter(pd -> pd.getTs() >= time1 && pd.getTs() <= time2).mapToDouble(PointData::getDoubleValue).average().orElse(0);
|
|
|
- if (!generator_speeds.isEmpty())
|
|
|
+ if (generator_speeds != null && generator_speeds.size() > 0)
|
|
|
gsdv = generator_speeds.stream().filter(pd -> pd.getTs() >= time1 && pd.getTs() <= time2).mapToDouble(PointData::getDoubleValue).average().orElse(0);
|
|
|
- if (!impeller_speeds.isEmpty())
|
|
|
+ if (impeller_speeds != null && impeller_speeds.size() > 0)
|
|
|
isdv = impeller_speeds.stream().filter(pd -> pd.getTs() >= time1 && pd.getTs() <= time2).mapToDouble(PointData::getDoubleValue).average().orElse(0);
|
|
|
- if (!wind_directions.isEmpty())
|
|
|
+ if (wind_directions != null && wind_directions.size() > 0)
|
|
|
wddv = wind_directions.stream().filter(pd -> pd.getTs() >= time1 && pd.getTs() <= time2).mapToDouble(PointData::getDoubleValue).average().orElse(0);
|
|
|
|
|
|
double speed = NumberUtil.round(wsdv, 2).doubleValue();
|
|
@@ -134,7 +137,7 @@ public class DataFillJobHandler {
|
|
|
if (speed < 3) {
|
|
|
rat.setTheoryGeneration(0f);
|
|
|
} else {
|
|
|
- rat.setTheoryGeneration(NumberUtil.round(CacheContext.mpdsMapMap.get(CacheContext.equipModelMap.get(equipId)).get(speed) / 60, 3).floatValue());
|
|
|
+ rat.setTheoryGeneration(NumberUtil.round(CacheContext.mpdsMapMap.get(CacheContext.equipModelMap.get(equipId)).get(speed) / 60, 4).floatValue());
|
|
|
}
|
|
|
}
|
|
|
}
|