|
@@ -15,7 +15,6 @@ import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
public class HealthMainService {
|
|
@@ -36,7 +35,8 @@ public class HealthMainService {
|
|
|
private WeatherDay5Service weatherDay5Service;
|
|
|
@Resource
|
|
|
private PowerToPowerService powerToPowerService;
|
|
|
-
|
|
|
+ @Resource
|
|
|
+ private ProjectPlanService projectPlanService;
|
|
|
private final int digit = 2;
|
|
|
private final double NUM = 3.6;
|
|
|
private final double XZNUM = 1.25;
|
|
@@ -661,6 +661,24 @@ public class HealthMainService {
|
|
|
// ycdl1day = getPowerByWp(speedmap, wpId, 1);
|
|
|
//
|
|
|
// }
|
|
|
+
|
|
|
+ cal = Calendar.getInstance();
|
|
|
+ cal.setTime(new Date());
|
|
|
+ int year = cal.get(Calendar.YEAR);
|
|
|
+ int month = cal.get(Calendar.MONTH)+1;
|
|
|
+ List<ProjectPlan> pjls = projectPlanService.getProjectPlanList(wpId,String.valueOf(year),String.valueOf(month));
|
|
|
+
|
|
|
+ double yfdljh=0.0;
|
|
|
+ if(!pjls.isEmpty())
|
|
|
+ {
|
|
|
+ for (ProjectPlan plan : pjls) {
|
|
|
+
|
|
|
+ double fdl = null != plan.getGeneratingcapacity() ? Double.valueOf(plan.getGeneratingcapacity()) : 0.0;
|
|
|
+
|
|
|
+ yfdljh = yfdljh + fdl;
|
|
|
+ };
|
|
|
+ }
|
|
|
+
|
|
|
cal = Calendar.getInstance();
|
|
|
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH));
|
|
|
cal.set(Calendar.HOUR_OF_DAY, 0);
|
|
@@ -702,6 +720,20 @@ public class HealthMainService {
|
|
|
cal = Calendar.getInstance();
|
|
|
ycdl1month = StringUtils.round((yfdl + ycdl1day*(daynum-cal.get(Calendar.DAY_OF_MONTH)))*YCFDLXS, 2);
|
|
|
|
|
|
+
|
|
|
+ if(yfdljh!=0)
|
|
|
+ {
|
|
|
+ //与月计划发电量结合判断月预测发电量
|
|
|
+ if(ycdl1month<yfdljh)
|
|
|
+ {
|
|
|
+ ycdl1month=yfdljh*1.05;
|
|
|
+
|
|
|
+ }else if(ycdl1month>(yfdljh*1.2))
|
|
|
+ {
|
|
|
+ ycdl1month=yfdljh*1.2;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
if (ycdl1day != 0.0) {
|