|
@@ -15,6 +15,7 @@ import com.gyee.common.util.DoubleUtils;
|
|
|
import com.gyee.common.vo.analysis.AnalysisMainVo;
|
|
|
import com.gyee.common.vo.analysis.AnalysisSubVo;
|
|
|
import com.gyee.common.vo.analysis.DeskObject;
|
|
|
+import com.gyee.common.vo.analysis.EnergyDailyVo;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
@@ -749,4 +750,119 @@ public class AnalysisNewService {
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 新能源日报
|
|
|
+ * @param theday
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Map<String,List<EnergyDailyVo>> energyDaily(String theday) {
|
|
|
+ List<EnergyDailyVo> resultList = new ArrayList<>();
|
|
|
+ List<Windpowerstation> stations = CacheContext.stations;
|
|
|
+ Map<String, Windpowerstation> wpmaps = CacheContext.wpmaps;
|
|
|
+ Map<String, Project> projectMap = CacheContext.projectMap;
|
|
|
+ Date date = DateUtils.parseDate(theday);
|
|
|
+ Map<String,Object> queryMap = new HashMap<>();
|
|
|
+ queryMap.put("recorddate",date);
|
|
|
+ List<Analysissubprojectwindcan> prolist = analysissubprojectwindcanService.listByMap(queryMap);
|
|
|
+ List<Analysissubstationwind> windlist = analysissubstationwindService.listByMap(queryMap);
|
|
|
+
|
|
|
+ QueryWrapper<Analysissubprojectwindcan> yproquery = new QueryWrapper<>();
|
|
|
+ Date monthFirst = DateUtils.getMonthFirst(date);
|
|
|
+ yproquery.ge("recorddate",monthFirst).le("recorddate",date);
|
|
|
+ List<Analysissubprojectwindcan> yprolist = analysissubprojectwindcanService.list(yproquery);
|
|
|
+
|
|
|
+ QueryWrapper<Analysissubprojectwindcan> nproquery = new QueryWrapper<>();
|
|
|
+ Date yearFirst = DateUtils.getYearFirst(DateUtils.getYear(date));
|
|
|
+ nproquery.ge("recorddate",yearFirst).le("recorddate",date);
|
|
|
+ List<Analysissubprojectwindcan> nprolist = analysissubprojectwindcanService.list(nproquery);
|
|
|
+
|
|
|
+
|
|
|
+ QueryWrapper<Analysissubprojectwindcan> ywindquery = new QueryWrapper<>();
|
|
|
+ yproquery.ge("recorddate",monthFirst).le("recorddate",date);
|
|
|
+ List<Analysissubprojectwindcan> ywindlist = analysissubprojectwindcanService.list(ywindquery);
|
|
|
+
|
|
|
+ QueryWrapper<Analysissubprojectwindcan> nwindquery = new QueryWrapper<>();
|
|
|
+ nproquery.ge("recorddate",yearFirst).le("recorddate",date);
|
|
|
+ List<Analysissubprojectwindcan> nwindlist = analysissubprojectwindcanService.list(nwindquery);
|
|
|
+
|
|
|
+ int orderNum = 0;
|
|
|
+ prolist.stream().forEach(p->{
|
|
|
+ EnergyDailyVo vo = new EnergyDailyVo();
|
|
|
+ vo.setForeignkeyid(p.getProjectid());
|
|
|
+ vo.setForeignkeyname(projectMap.get(p.getProjectid()).getName());
|
|
|
+ vo.setWpid(p.getWpid());
|
|
|
+ vo.setSpeed(p.getQpjfx());
|
|
|
+ vo.setRfdl(p.getFdl());
|
|
|
+ vo.setRswdl(p.getSwdl());
|
|
|
+ vo.setZhcydl(p.getZhcydl());
|
|
|
+ vo.setScadarfdl(p.getFdlscada());
|
|
|
+ vo.setScadazhcydl(p.getZhcydlscada());
|
|
|
+ vo.setScadazhcydll(p.getZhcydllscada());
|
|
|
+ vo.setRxdssdl(p.getXddl());
|
|
|
+ vo.setYljxdssdl(yprolist.stream().filter(i -> i.getXddl() != null && i.getProjectid().equals(p.getProjectid())).mapToDouble(j -> j.getXddl()).sum());
|
|
|
+ vo.setYljfdl(yprolist.stream().filter(i -> i.getFdl() != null && i.getProjectid().equals(p.getProjectid())).mapToDouble(j -> j.getFdl()).sum());
|
|
|
+ vo.setYljswdl(yprolist.stream().filter(i -> i.getSwdl() != null && i.getProjectid().equals(p.getProjectid())).mapToDouble(j -> j.getSwdl()).sum());
|
|
|
+ vo.setScadayljfdl(yprolist.stream().filter(i -> i.getFdlscada() != null && i.getProjectid().equals(p.getProjectid())).mapToDouble(j -> j.getFdlscada()).sum());
|
|
|
+ double ygwdl = yprolist.stream().filter(i -> i.getGwdl() != null && i.getProjectid().equals(p.getProjectid())).mapToDouble(j -> j.getGwdl()).sum();
|
|
|
+ vo.setYljzhcydl(vo.getYljfdl()+ygwdl-vo.getYljswdl());
|
|
|
+ vo.setScadayljzhcydl(vo.getScadayljfdl()+ygwdl-vo.getYljswdl());
|
|
|
+ vo.setNljswdl(nprolist.stream().filter(i -> i.getSwdl() != null && i.getProjectid().equals(p.getProjectid())).mapToDouble(j -> j.getSwdl()).sum());
|
|
|
+ vo.setNljfdl(nprolist.stream().filter(i -> i.getFdl() != null && i.getProjectid().equals(p.getProjectid())).mapToDouble(j -> j.getFdl()).sum());
|
|
|
+ vo.setNljxdssdl(nprolist.stream().filter(i -> i.getXddl() != null && i.getProjectid().equals(p.getProjectid())).mapToDouble(j -> j.getXddl()).sum());
|
|
|
+ vo.setScadanljfdl(nprolist.stream().filter(i -> i.getFdlscada() != null && i.getProjectid().equals(p.getProjectid())).mapToDouble(j -> j.getFdlscada()).sum());
|
|
|
+ vo.setOrderNo(projectMap.get(p.getProjectid()).getOrdernum());
|
|
|
+ vo.setIsWind(0);
|
|
|
+ resultList.add(vo);
|
|
|
+ });
|
|
|
+
|
|
|
+ windlist.stream().forEach(w->{
|
|
|
+ EnergyDailyVo vo = new EnergyDailyVo();
|
|
|
+ vo.setForeignkeyid(w.getWpid());
|
|
|
+ vo.setForeignkeyname(wpmaps.get(w.getWpid()).getName());
|
|
|
+ vo.setWpid(vo.getForeignkeyid());
|
|
|
+ vo.setSpeed(w.getQpjfx());
|
|
|
+ vo.setRfdl(w.getFdl());
|
|
|
+ vo.setRswdl(w.getSwdl());
|
|
|
+ vo.setZhcydl(w.getZhcydl());
|
|
|
+ vo.setScadarfdl(w.getFdlscada());
|
|
|
+ vo.setScadazhcydl(w.getZhcydlscada());
|
|
|
+ vo.setScadazhcydll(w.getZhcydllscada());
|
|
|
+ vo.setRxdssdl(w.getXddl());
|
|
|
+ vo.setYljxdssdl(ywindlist.stream().filter(i -> i.getXddl() != null && i.getProjectid().equals(w.getWpid())).mapToDouble(j -> j.getXddl()).sum());
|
|
|
+ vo.setYljfdl(ywindlist.stream().filter(i -> i.getFdl() != null && i.getProjectid().equals(w.getWpid())).mapToDouble(j -> j.getFdl()).sum());
|
|
|
+ vo.setYljswdl(ywindlist.stream().filter(i -> i.getSwdl() != null && i.getProjectid().equals(w.getWpid())).mapToDouble(j -> j.getSwdl()).sum());
|
|
|
+ vo.setScadayljfdl(ywindlist.stream().filter(i -> i.getFdlscada() != null && i.getProjectid().equals(w.getWpid())).mapToDouble(j -> j.getFdlscada()).sum());
|
|
|
+ double ygwdl = ywindlist.stream().filter(i -> i.getGwdl() != null && i.getProjectid().equals(w.getWpid())).mapToDouble(j -> j.getGwdl()).sum();
|
|
|
+ vo.setYljzhcydl(vo.getYljfdl()+ygwdl-vo.getYljswdl());
|
|
|
+ vo.setScadayljzhcydl(vo.getScadayljfdl()+ygwdl-vo.getYljswdl());
|
|
|
+ vo.setNljswdl(nwindlist.stream().filter(i -> i.getSwdl() != null && i.getProjectid().equals(w.getWpid())).mapToDouble(j -> j.getSwdl()).sum());
|
|
|
+ vo.setNljfdl(nwindlist.stream().filter(i -> i.getFdl() != null && i.getProjectid().equals(w.getWpid())).mapToDouble(j -> j.getFdl()).sum());
|
|
|
+ vo.setNljxdssdl(nwindlist.stream().filter(i -> i.getXddl() != null && i.getProjectid().equals(w.getWpid())).mapToDouble(j -> j.getXddl()).sum());
|
|
|
+ vo.setScadanljfdl(nwindlist.stream().filter(i -> i.getFdlscada() != null && i.getProjectid().equals(w.getWpid())).mapToDouble(j -> j.getFdlscada()).sum());
|
|
|
+ vo.setOrderNo(wpmaps.get(w.getWpid()).getOrdernum());
|
|
|
+ vo.setIsWind(1);
|
|
|
+ resultList.add(vo);
|
|
|
+ });
|
|
|
+ Map<String, List<EnergyDailyVo>> resultMap = new HashMap<>();
|
|
|
+ List<Windpowerstation> wplist = stations.stream().sorted(Comparator.comparing(Windpowerstation::getOrdernum)).collect(Collectors.toList());
|
|
|
+ resultList.stream().forEach(i->{
|
|
|
+ wplist.stream().forEach(w->{
|
|
|
+ if (w.getId().equals(i.getWpid())){
|
|
|
+ if (resultMap.containsKey(w.getId())){
|
|
|
+ resultMap.get(w.getId()).add(i);
|
|
|
+ }else {
|
|
|
+ List<EnergyDailyVo> list = new ArrayList<>();
|
|
|
+ list.add(i);
|
|
|
+ resultMap.put(w.getId(),list);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ });
|
|
|
+ return resultMap;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
}
|