|
@@ -36,6 +36,8 @@ public class JavaFunctionJobHandler extends IJobHandler {
|
|
|
private RedisTemplate redisTemplate;
|
|
|
@Resource
|
|
|
private IEquipmentModelService equipmentModelService;
|
|
|
+ @Resource
|
|
|
+ private ITurbineInfoDayService turbineInfoDayService;
|
|
|
|
|
|
@Override
|
|
|
public void execute() throws Exception {
|
|
@@ -306,9 +308,10 @@ public class JavaFunctionJobHandler extends IJobHandler {
|
|
|
stationInfoDayService.saveOrUpdateBatch(infoDays);
|
|
|
}
|
|
|
|
|
|
- public void calcTurbine5s(){
|
|
|
+ public void calcTurbine5s() {
|
|
|
|
|
|
}
|
|
|
+
|
|
|
//此处加公式
|
|
|
public void calcTurbineSsztAi(Date date) {
|
|
|
PointInfo pi = new PointInfo();
|
|
@@ -352,7 +355,8 @@ public class JavaFunctionJobHandler extends IJobHandler {
|
|
|
//redisTemplate.opsForHash().put("state_point",key,value);
|
|
|
|
|
|
}
|
|
|
- public void calcStationXd(boolean priorRation){
|
|
|
+
|
|
|
+ public void calcStationXd(boolean priorRation) {
|
|
|
//限电状态
|
|
|
PointInfo piAgc = new PointInfo();
|
|
|
//AGC
|
|
@@ -415,7 +419,7 @@ public class JavaFunctionJobHandler extends IJobHandler {
|
|
|
}
|
|
|
|
|
|
|
|
|
- public void calcNhglZs(boolean priorRation){
|
|
|
+ public void calcNhglZs(boolean priorRation) {
|
|
|
//拟合功率(自算)
|
|
|
//实时风速
|
|
|
PointInfo piFs = new PointInfo();
|
|
@@ -445,13 +449,13 @@ public class JavaFunctionJobHandler extends IJobHandler {
|
|
|
List<DoubleStatData> statFs5;
|
|
|
PointData avg;
|
|
|
List<PointData> avgs = new ArrayList<>();
|
|
|
- double value,v;
|
|
|
+ double value, v;
|
|
|
for (Map.Entry<String, List<PointInfo>> entry : collect.entrySet()) {
|
|
|
- double stV=0;
|
|
|
+ double stV = 0;
|
|
|
for (PointInfo info : entry.getValue()) {
|
|
|
//todo
|
|
|
statFs5 = adapter.getHistoryStat(goldenUri(), info.getPointKey(), time5.getTime(), time.getTime());
|
|
|
- if(CollUtil.isNotEmpty(statFs5)){
|
|
|
+ if (CollUtil.isNotEmpty(statFs5)) {
|
|
|
//todo
|
|
|
value = statFs5.get(0).getAvg().getValue();
|
|
|
avg = new PointData();
|
|
@@ -472,7 +476,63 @@ public class JavaFunctionJobHandler extends IJobHandler {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public URI goldenUri(){
|
|
|
+ public URI goldenUri() {
|
|
|
return URI.create("http://172.16.12.103:8011/ts");
|
|
|
}
|
|
|
+
|
|
|
+ public void calcTurbineRFDL(Date date) {
|
|
|
+ //date当天零点
|
|
|
+ DateTime time = DateUtil.beginOfDay(date);
|
|
|
+ //date昨天零点
|
|
|
+ DateTime time0 = DateUtil.offsetDay(time, -1);
|
|
|
+ //date当天零点加三分钟
|
|
|
+ DateTime time2 = DateUtil.offsetMinute(time, 3);
|
|
|
+ //date昨天零点加三分钟
|
|
|
+ DateTime time1 = DateUtil.offsetMinute(time0, 3);
|
|
|
+
|
|
|
+ PointInfo pi = new PointInfo();
|
|
|
+ pi.setUniformCode("AI121");
|
|
|
+ pi.setInstitutionType("turbine");
|
|
|
+ List<PointInfo> entity = pointService.getByEntity(pi);
|
|
|
+ Map<String, String> turMap = entity.stream().collect(Collectors.toMap(PointInfo::getTurbineId, PointInfo::getPointKey));
|
|
|
+
|
|
|
+ String keys = pointInfos2Keys(entity);
|
|
|
+
|
|
|
+ Map<String, PointData> swdlL2 = adapter.getHistorySection(goldenUri(), keys, time2.getTime());
|
|
|
+ Map<String, PointData> swdlL1 = adapter.getHistorySection(goldenUri(), keys, time1.getTime());
|
|
|
+
|
|
|
+ List<TurbineInfoDay> byDate = getTurbineinfoByDate(time0.toJdkDate());
|
|
|
+ Map<String, TurbineInfoDay> collect = new HashMap<>();
|
|
|
+ if (byDate.size() > 0) {
|
|
|
+ collect = byDate.stream().collect(Collectors.toMap(TurbineInfoDay::getLineId, Function.identity()));
|
|
|
+ }
|
|
|
+ TurbineInfoDay infoDay;
|
|
|
+ String turbineId, key;
|
|
|
+ List<TurbineInfoDay> infoDays = new ArrayList<>();
|
|
|
+ for (PointInfo info : entity) {
|
|
|
+ turbineId = info.getTurbineId();
|
|
|
+ if (byDate.isEmpty()) {
|
|
|
+ infoDay = new TurbineInfoDay();
|
|
|
+ infoDay.setStationId(info.getStationId());
|
|
|
+ infoDay.setProjectId(info.getProjectId());
|
|
|
+ infoDay.setLineId(info.getLineId());
|
|
|
+ infoDay.setTurbineId(turbineId);
|
|
|
+ infoDay.setRecordDate(time0.toJdkDate());
|
|
|
+ } else {
|
|
|
+ infoDay = collect.get(turbineId);
|
|
|
+ }
|
|
|
+ key = turMap.get(turbineId);
|
|
|
+ double v = (swdlL2.get(key).getValue() - swdlL2.get(key).getValue()) * info.getCoef();
|
|
|
+ if (v < 0 || v > 1000000) v = 0;
|
|
|
+ infoDay.setRfdl(v);
|
|
|
+ infoDays.add(infoDay);
|
|
|
+ }
|
|
|
+ turbineInfoDayService.saveOrUpdateBatch(infoDays);
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<TurbineInfoDay> getTurbineinfoByDate(Date date) {
|
|
|
+ QueryWrapper<TurbineInfoDay> wrapper = new QueryWrapper<>();
|
|
|
+ wrapper.eq("record_date", date);
|
|
|
+ return turbineInfoDayService.list(wrapper);
|
|
|
+ }
|
|
|
}
|