|
@@ -23,7 +23,8 @@ public class GenerationService {
|
|
|
|
|
|
private IEdosUtil edosUtil = new EdosUtil();
|
|
|
|
|
|
- public void saveGenerationDatas(){
|
|
|
+ public void saveGenerationDatas() throws Exception {
|
|
|
+ List<PointData> resultList = new ArrayList<>();
|
|
|
List<Windpowerstation> wpls = CacheContext.wpls;
|
|
|
Map<String, List<Project>> wppromap = CacheContext.wppromap;
|
|
|
Map<String, List<Line>> prolinemap = CacheContext.prolinemap;
|
|
@@ -35,6 +36,15 @@ public class GenerationService {
|
|
|
Date monthFirstZero = DateUtils.getMonthFirstZero();
|
|
|
Date yearFirstZero = DateUtils.getYearFirstZero();
|
|
|
Date currentDate = DateUtils.getCurrentDate();
|
|
|
+ AtomicReference<Double> fdrfdl = new AtomicReference<>(0.0);
|
|
|
+ AtomicReference<Double> fdyfdl = new AtomicReference<>(0.0);
|
|
|
+ AtomicReference<Double> fdnfdl = new AtomicReference<>(0.0);
|
|
|
+ AtomicReference<Double> gfrfdl = new AtomicReference<>(0.0);
|
|
|
+ AtomicReference<Double> gfyfdl = new AtomicReference<>(0.0);
|
|
|
+ AtomicReference<Double> gfnfdl = new AtomicReference<>(0.0);
|
|
|
+ Double gsrfdl = 0.0;
|
|
|
+ Double gsyfdl = 0.0;
|
|
|
+ Double gsnfdl = 0.0;
|
|
|
wpls.stream().forEach(wp->{
|
|
|
Map<String, Windpowerstationpointnew> wpmap = wppointmap.get(wp.getId());
|
|
|
AtomicReference<Double> fcrfdl = new AtomicReference<>((double) 0);
|
|
@@ -78,6 +88,7 @@ public class GenerationService {
|
|
|
r.setPointValueInDouble(xlrfdl);
|
|
|
r.setEdnaId(linemap.get(Contant.RFDLB).getCode());
|
|
|
r.setPointName(linemap.get(Contant.RFDLB).getName());
|
|
|
+ resultList.add(r);
|
|
|
//线路月发电量
|
|
|
double xlyfdl = (real - month) * magnification;
|
|
|
qcyfdl.updateAndGet(v -> new Double((double) (v + xlyfdl)));
|
|
@@ -87,6 +98,7 @@ public class GenerationService {
|
|
|
y.setPointValueInDouble(xlyfdl);
|
|
|
y.setEdnaId(linemap.get(Contant.YFDLB).getCode());
|
|
|
y.setPointName(linemap.get(Contant.YFDLB).getName());
|
|
|
+ resultList.add(y);
|
|
|
//线路年发电量
|
|
|
double xlnfdl = (real - year) * magnification;
|
|
|
qcnfdl.updateAndGet(v -> new Double((double) (v + xlnfdl)));
|
|
@@ -96,55 +108,152 @@ public class GenerationService {
|
|
|
n.setPointValueInDouble(xlnfdl);
|
|
|
n.setEdnaId(linemap.get(Contant.NFDLB).getCode());
|
|
|
n.setPointName(linemap.get(Contant.NFDLB).getName());
|
|
|
+ resultList.add(n);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
fcrfdl.updateAndGet(v -> new Double((double) (v + qcrfdl.get())));
|
|
|
+ //期次日发电量
|
|
|
PointData r = new PointData();
|
|
|
r.setPointTime(currentDate.getTime());
|
|
|
r.setPointValue(String.valueOf(qcrfdl.get()));
|
|
|
r.setPointValueInDouble(qcrfdl.get());
|
|
|
r.setEdnaId(projectmap.get(Contant.RFDLB).getCode());
|
|
|
r.setPointName(projectmap.get(Contant.RFDLB).getName());
|
|
|
-
|
|
|
+ resultList.add(r);
|
|
|
fcyfdl.updateAndGet(v -> new Double((double) (v + qcyfdl.get())));
|
|
|
+ //期次月发电量
|
|
|
PointData y = new PointData();
|
|
|
y.setPointTime(currentDate.getTime());
|
|
|
y.setPointValue(String.valueOf(qcyfdl.get()));
|
|
|
y.setPointValueInDouble(qcyfdl.get());
|
|
|
y.setEdnaId(projectmap.get(Contant.YFDLB).getCode());
|
|
|
y.setPointName(projectmap.get(Contant.YFDLB).getName());
|
|
|
-
|
|
|
+ resultList.add(y);
|
|
|
fcnfdl.updateAndGet(v -> new Double((double) (v + qcnfdl.get())));
|
|
|
+ //期次年发电量
|
|
|
PointData n = new PointData();
|
|
|
n.setPointTime(currentDate.getTime());
|
|
|
n.setPointValue(String.valueOf(qcnfdl.get()));
|
|
|
n.setPointValueInDouble(qcnfdl.get());
|
|
|
n.setEdnaId(projectmap.get(Contant.NFDLB).getCode());
|
|
|
n.setPointName(projectmap.get(Contant.NFDLB).getName());
|
|
|
+ resultList.add(n);
|
|
|
});
|
|
|
+ //风场日发电量
|
|
|
PointData r = new PointData();
|
|
|
r.setPointTime(currentDate.getTime());
|
|
|
r.setPointValue(String.valueOf(fcrfdl.get()));
|
|
|
r.setPointValueInDouble(fcrfdl.get());
|
|
|
r.setEdnaId(wpmap.get(Contant.RFDLB).getCode());
|
|
|
r.setPointName(wpmap.get(Contant.RFDLB).getName());
|
|
|
-
|
|
|
+ resultList.add(r);
|
|
|
+ //风场月发电量
|
|
|
PointData y = new PointData();
|
|
|
y.setPointTime(currentDate.getTime());
|
|
|
y.setPointValue(String.valueOf(fcyfdl.get()));
|
|
|
y.setPointValueInDouble(fcyfdl.get());
|
|
|
y.setEdnaId(wpmap.get(Contant.YFDLB).getCode());
|
|
|
y.setPointName(wpmap.get(Contant.YFDLB).getName());
|
|
|
-
|
|
|
+ resultList.add(y);
|
|
|
+ //风场年发电量
|
|
|
PointData n = new PointData();
|
|
|
n.setPointTime(currentDate.getTime());
|
|
|
n.setPointValue(String.valueOf(fcnfdl.get()));
|
|
|
n.setPointValueInDouble(fcnfdl.get());
|
|
|
n.setEdnaId(wpmap.get(Contant.NFDLB).getCode());
|
|
|
n.setPointName(wpmap.get(Contant.NFDLB).getName());
|
|
|
+ resultList.add(n);
|
|
|
+ //给0,-1,-2赋值
|
|
|
+ if (wp.getId().endsWith("FDC")){
|
|
|
+ fdrfdl.updateAndGet(v -> v + fcrfdl.get());
|
|
|
+ fdyfdl.updateAndGet(v -> v + fcyfdl.get());
|
|
|
+ fdnfdl.updateAndGet(v -> v + fcnfdl.get());
|
|
|
+ }else if (wp.getId().endsWith("GDC")){
|
|
|
+ gfrfdl.updateAndGet(v -> v + fcrfdl.get());
|
|
|
+ gfyfdl.updateAndGet(v -> v + fcyfdl.get());
|
|
|
+ gfnfdl.updateAndGet(v -> v + fcnfdl.get());
|
|
|
+ }
|
|
|
});
|
|
|
+ //风电日发电量
|
|
|
+ PointData fdr = new PointData();
|
|
|
+ fdr.setPointTime(currentDate.getTime());
|
|
|
+ fdr.setPointValue(String.valueOf(fdrfdl.get()));
|
|
|
+ fdr.setPointValueInDouble(fdrfdl.get());
|
|
|
+ fdr.setEdnaId(wppointmap.get("-1").get(Contant.RFDLB).getCode());
|
|
|
+ fdr.setPointName(wppointmap.get("-1").get(Contant.RFDLB).getName());
|
|
|
+ resultList.add(fdr);
|
|
|
+ //风电月发电量
|
|
|
+ PointData fdy = new PointData();
|
|
|
+ fdy.setPointTime(currentDate.getTime());
|
|
|
+ fdy.setPointValue(String.valueOf(fdyfdl.get()));
|
|
|
+ fdy.setPointValueInDouble(fdyfdl.get());
|
|
|
+ fdy.setEdnaId(wppointmap.get("-1").get(Contant.YFDLB).getCode());
|
|
|
+ fdy.setPointName(wppointmap.get("-1").get(Contant.YFDLB).getName());
|
|
|
+ resultList.add(fdy);
|
|
|
+ //风电年发电量
|
|
|
+ PointData fdn = new PointData();
|
|
|
+ fdn.setPointTime(currentDate.getTime());
|
|
|
+ fdn.setPointValue(String.valueOf(fdnfdl.get()));
|
|
|
+ fdn.setPointValueInDouble(fdnfdl.get());
|
|
|
+ fdn.setEdnaId(wppointmap.get("-1").get(Contant.NFDLB).getCode());
|
|
|
+ fdn.setPointName(wppointmap.get("-1").get(Contant.NFDLB).getName());
|
|
|
+ resultList.add(fdn);
|
|
|
+ //光伏日发电量
|
|
|
+ PointData gfr = new PointData();
|
|
|
+ gfr.setPointTime(currentDate.getTime());
|
|
|
+ gfr.setPointValue(String.valueOf(gfrfdl.get()));
|
|
|
+ gfr.setPointValueInDouble(gfrfdl.get());
|
|
|
+ gfr.setEdnaId(wppointmap.get("-2").get(Contant.RFDLB).getCode());
|
|
|
+ gfr.setPointName(wppointmap.get("-2").get(Contant.RFDLB).getName());
|
|
|
+ resultList.add(gfr);
|
|
|
+ //光伏月发电量
|
|
|
+ PointData gfy = new PointData();
|
|
|
+ gfy.setPointTime(currentDate.getTime());
|
|
|
+ gfy.setPointValue(String.valueOf(gfyfdl.get()));
|
|
|
+ gfy.setPointValueInDouble(gfyfdl.get());
|
|
|
+ gfy.setEdnaId(wppointmap.get("-2").get(Contant.YFDLB).getCode());
|
|
|
+ gfy.setPointName(wppointmap.get("-2").get(Contant.YFDLB).getName());
|
|
|
+ resultList.add(gfy);
|
|
|
+ //光伏年发电量
|
|
|
+ PointData gfn = new PointData();
|
|
|
+ gfn.setPointTime(currentDate.getTime());
|
|
|
+ gfn.setPointValue(String.valueOf(gfnfdl.get()));
|
|
|
+ gfn.setPointValueInDouble(gfnfdl.get());
|
|
|
+ gfn.setEdnaId(wppointmap.get("-2").get(Contant.NFDLB).getCode());
|
|
|
+ gfn.setPointName(wppointmap.get("-2").get(Contant.NFDLB).getName());
|
|
|
+ resultList.add(gfn);
|
|
|
+ //风场日发电量
|
|
|
+ gsrfdl = fdrfdl.get()+gfrfdl.get();
|
|
|
+ gsyfdl = fdyfdl.get()+gfyfdl.get();
|
|
|
+ gsnfdl = fdnfdl.get()+gfnfdl.get();
|
|
|
+ PointData r = new PointData();
|
|
|
+ r.setPointTime(currentDate.getTime());
|
|
|
+ r.setPointValue(String.valueOf(gsrfdl));
|
|
|
+ r.setPointValueInDouble(gsrfdl);
|
|
|
+ r.setEdnaId(wppointmap.get("0").get(Contant.RFDLB).getCode());
|
|
|
+ r.setPointName(wppointmap.get("0").get(Contant.RFDLB).getName());
|
|
|
+ resultList.add(r);
|
|
|
+ //风场月发电量
|
|
|
+ PointData y = new PointData();
|
|
|
+ y.setPointTime(currentDate.getTime());
|
|
|
+ y.setPointValue(String.valueOf(gsyfdl));
|
|
|
+ y.setPointValueInDouble(gsyfdl);
|
|
|
+ y.setEdnaId(wppointmap.get("0").get(Contant.YFDLB).getCode());
|
|
|
+ y.setPointName(wppointmap.get("0").get(Contant.YFDLB).getName());
|
|
|
+ resultList.add(y);
|
|
|
+ //风场年发电量
|
|
|
+ PointData n = new PointData();
|
|
|
+ n.setPointTime(currentDate.getTime());
|
|
|
+ n.setPointValue(String.valueOf(gsnfdl));
|
|
|
+ n.setPointValueInDouble(gsnfdl);
|
|
|
+ n.setEdnaId(wppointmap.get("0").get(Contant.NFDLB).getCode());
|
|
|
+ n.setPointName(wppointmap.get("0").get(Contant.NFDLB).getName());
|
|
|
+ resultList.add(n);
|
|
|
+
|
|
|
+ edosUtil.sendMultiPoint(resultList);
|
|
|
}
|
|
|
+
|
|
|
}
|