|
@@ -166,7 +166,6 @@ public class NwpService extends BaseService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
map.put("cName",map1);
|
|
|
map.put("times",times);
|
|
|
map.put("datas",datas);
|
|
@@ -184,13 +183,11 @@ public class NwpService extends BaseService {
|
|
|
* @return
|
|
|
* @throws BusinessException
|
|
|
*/
|
|
|
- public Map<String,Object> findRealNwpByTimeBetween(Long startTime, Long endTime) throws BusinessException {
|
|
|
+ public Map<String,Object> findRealNwpByTimeBetween(Long startTime, Long endTime){
|
|
|
Map<String,Object> map = new HashMap<>();
|
|
|
- List<WindTowerStatusData> list = new ArrayList<>();
|
|
|
List<WindTowerStatusData> checkList = new ArrayList<>();
|
|
|
Map<String,Object> datas = new LinkedHashMap<>();
|
|
|
- list = windTowerStatusDataRepository.findByTimeBetween(new Date(startTime), new Date(endTime));
|
|
|
- list.sort(Comparator.comparing(WindTowerStatusData::getTime));
|
|
|
+ List<WindTowerStatusData> list = windTowerStatusDataRepository.findByTimeBetweenOrderByTimeAsc(new Date(startTime), new Date(endTime));
|
|
|
long startTimeLong = startTime;
|
|
|
long endTimeLong = endTime;
|
|
|
long timeStep = 900000L;
|
|
@@ -208,62 +205,57 @@ public class NwpService extends BaseService {
|
|
|
}
|
|
|
}
|
|
|
this.defaultRealReplace(checkList);
|
|
|
-
|
|
|
- ElectricField electricField = this.getElectricField();
|
|
|
- List<BigDecimal> ws10Collect = new ArrayList<>();
|
|
|
- List<BigDecimal> ws30Collect= new ArrayList<>();
|
|
|
- List<BigDecimal> ws50Collect= new ArrayList<>();
|
|
|
- List<BigDecimal> ws70Collect= new ArrayList<>();
|
|
|
- List<BigDecimal> ws80Collect= new ArrayList<>();
|
|
|
- List<BigDecimal> ws90Collect= new ArrayList<>();
|
|
|
- List<BigDecimal> ws100Collect= new ArrayList<>();
|
|
|
- List<BigDecimal> ws170Collect= new ArrayList<>();
|
|
|
- Map<String,String> map1 = new HashMap<>();
|
|
|
-
|
|
|
- ws10Collect = checkList.stream().map(WindTowerStatusData::getWsInst10).collect(Collectors.toList());
|
|
|
- ws30Collect = checkList.stream().map(WindTowerStatusData::getWsInst30).collect(Collectors.toList());
|
|
|
- ws50Collect = checkList.stream().map(WindTowerStatusData::getWsInst50).collect(Collectors.toList());
|
|
|
- ws70Collect = checkList.stream().map(WindTowerStatusData::getWsInst70).collect(Collectors.toList());
|
|
|
- ws80Collect = checkList.stream().map(WindTowerStatusData::getWsInst80).collect(Collectors.toList());
|
|
|
- ws90Collect = checkList.stream().map(WindTowerStatusData::getWsInst90).collect(Collectors.toList());
|
|
|
- ws100Collect = checkList.stream().map(WindTowerStatusData::getWsInst100).collect(Collectors.toList());
|
|
|
- ws170Collect = checkList.stream().map(WindTowerStatusData::getWsInst110).collect(Collectors.toList());
|
|
|
- datas.put("wsInst10",ws10Collect);
|
|
|
- datas.put("wsInst30",ws30Collect);
|
|
|
- datas.put("wsInst50",ws50Collect);
|
|
|
- datas.put("wsInst70",ws70Collect);
|
|
|
- datas.put("wsInst80",ws80Collect);
|
|
|
- datas.put("wsInst90",ws90Collect);
|
|
|
- datas.put("wsInst100",ws100Collect);
|
|
|
- datas.put("wsInst170",ws170Collect);
|
|
|
-
|
|
|
- map1.put("wsInst10","实时10米风速");
|
|
|
- map1.put("wsInst30","实时30米风速");
|
|
|
- map1.put("wsInst50","实时50米风速");
|
|
|
- map1.put("wsInst70","实时70米风速");
|
|
|
- map1.put("wsInst80","实时80米风速");
|
|
|
- map1.put("wsInst90","实时90米风速");
|
|
|
- map1.put("wsInst100","实时100米风速");
|
|
|
- map1.put("wsInst170","实时170米风速");
|
|
|
+ Map<String, String> map1 = new HashMap<>();
|
|
|
+
|
|
|
+ List<BigDecimal> ws10Collect = checkList.stream().map(WindTowerStatusData::getWsInst10).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> ws30Collect = checkList.stream().map(WindTowerStatusData::getWsInst30).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> ws50Collect = checkList.stream().map(WindTowerStatusData::getWsInst50).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> ws70Collect = checkList.stream().map(WindTowerStatusData::getWsInst70).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> ws80Collect = checkList.stream().map(WindTowerStatusData::getWsInst80).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> ws90Collect = checkList.stream().map(WindTowerStatusData::getWsInst90).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> ws100Collect = checkList.stream().map(WindTowerStatusData::getWsInst100).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> ws170Collect = checkList.stream().map(WindTowerStatusData::getWsInst110).collect(Collectors.toList());
|
|
|
+ datas.put("wsInst10", ws10Collect);
|
|
|
+ datas.put("wsInst30", ws30Collect);
|
|
|
+ datas.put("wsInst50", ws50Collect);
|
|
|
+ datas.put("wsInst70", ws70Collect);
|
|
|
+ datas.put("wsInst80", ws80Collect);
|
|
|
+ datas.put("wsInst90", ws90Collect);
|
|
|
+ datas.put("wsInst100", ws100Collect);
|
|
|
+ datas.put("wsInst170", ws170Collect);
|
|
|
+
|
|
|
+ map1.put("wsInst10", "实时10米风速");
|
|
|
+ map1.put("wsInst30", "实时30米风速");
|
|
|
+ map1.put("wsInst50", "实时50米风速");
|
|
|
+ map1.put("wsInst70", "实时70米风速");
|
|
|
+ map1.put("wsInst80", "实时80米风速");
|
|
|
+ map1.put("wsInst90", "实时90米风速");
|
|
|
+ map1.put("wsInst100", "实时100米风速");
|
|
|
+ map1.put("wsInst170", "实时170米风速");
|
|
|
|
|
|
map.put("nDatas", datas);
|
|
|
map.put("ncName", map1);
|
|
|
return map;
|
|
|
-
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- //todo 注释,方法作用 用于何处,写清楚
|
|
|
+ /**
|
|
|
+ * 风向玫瑰图接口 风向对比
|
|
|
+ *
|
|
|
+ * @param startTime
|
|
|
+ * @param endTime
|
|
|
+ * @return
|
|
|
+ * @throws BusinessException
|
|
|
+ */
|
|
|
public Map<String, Object> getWindCompare(Long startTime, Long endTime) throws BusinessException {
|
|
|
+ // 返回值集合
|
|
|
Map<String,Object> map = new HashMap<>();
|
|
|
-
|
|
|
-
|
|
|
+ //nwp 集合
|
|
|
List<Nwp> nwpList = new ArrayList<>();
|
|
|
+ // 返回值nwp
|
|
|
Map<String,Object> nwpDatas = new LinkedHashMap<>();
|
|
|
+ // 间隔15分钟的nwp
|
|
|
List<Nwp> nwpCheckList = new ArrayList<>();
|
|
|
- //todo 排序可以在查询中做
|
|
|
- nwpList = nwpRepository.findByPreTimeBetween(startTime, endTime);
|
|
|
- nwpList.sort(Comparator.comparing(Nwp::getPreTime));
|
|
|
+ nwpList = findByTimeBetween(startTime, endTime);
|
|
|
|
|
|
List<WindTowerStatusData> windTowerStatusDataList = new ArrayList<>();
|
|
|
Map<String,Object> windTowerStatusDataDatas = new LinkedHashMap<>();
|
|
@@ -277,8 +269,8 @@ public class NwpService extends BaseService {
|
|
|
long startTimeLong = startTime;
|
|
|
long endTimeLong = endTime;
|
|
|
long timeStep = 900000L;
|
|
|
- if(startTimeLong%timeStep !=0){
|
|
|
- startTimeLong = startTimeLong -(startTimeLong%timeStep);
|
|
|
+ if(startTimeLong % timeStep !=0){
|
|
|
+ startTimeLong = startTimeLong - (startTimeLong%timeStep);
|
|
|
}
|
|
|
|
|
|
for(long i = startTimeLong;i<endTimeLong;i=i+timeStep){
|
|
@@ -304,36 +296,22 @@ public class NwpService extends BaseService {
|
|
|
this.defaultRealReplace(windTowerStatusDataCheckList);
|
|
|
|
|
|
ElectricField electricField = this.getElectricField();
|
|
|
-
|
|
|
- //TODO 这一堆放上面有意义吗?
|
|
|
- List<BigDecimal> wd10 = new ArrayList<>();
|
|
|
- List<BigDecimal> wd30 = new ArrayList<>();
|
|
|
- List<BigDecimal> wd50 = new ArrayList<>();
|
|
|
- List<BigDecimal> wd70 = new ArrayList<>();
|
|
|
- List<BigDecimal> wd80 = new ArrayList<>();
|
|
|
- List<BigDecimal> wd90 = new ArrayList<>();
|
|
|
- List<BigDecimal> wd100 = new ArrayList<>();
|
|
|
- List<BigDecimal> wd170 = new ArrayList<>();
|
|
|
-
|
|
|
- List<BigDecimal> wdInst10 = new ArrayList<>();
|
|
|
- List<BigDecimal> wdInst30 = new ArrayList<>();
|
|
|
- List<BigDecimal> wdInst50 = new ArrayList<>();
|
|
|
- List<BigDecimal> wdInst70 = new ArrayList<>();
|
|
|
- List<BigDecimal> wdInst80 = new ArrayList<>();
|
|
|
- List<BigDecimal> wdInst90 = new ArrayList<>();
|
|
|
- List<BigDecimal> wdInst100 = new ArrayList<>();
|
|
|
- List<BigDecimal> wdInst170 = new ArrayList<>();
|
|
|
-
|
|
|
- //TODO 此处判断意义?光伏站什么情况-页面为空?合理吗
|
|
|
- if(electricField.getElectricFieldTypeEnum().getCode() == 2){
|
|
|
- wd10 = nwpCheckList.stream().map(Nwp::getWd10).collect(Collectors.toList());
|
|
|
- wd30 = nwpCheckList.stream().map(Nwp::getWd30).collect(Collectors.toList());
|
|
|
- wd50 = nwpCheckList.stream().map(Nwp::getWd50).collect(Collectors.toList());
|
|
|
- wd70 = nwpCheckList.stream().map(Nwp::getWd70).collect(Collectors.toList());
|
|
|
- wd80 = nwpCheckList.stream().map(Nwp::getWd80).collect(Collectors.toList());
|
|
|
- wd90 = nwpCheckList.stream().map(Nwp::getWd90).collect(Collectors.toList());
|
|
|
- wd100 = nwpCheckList.stream().map(Nwp::getWd100).collect(Collectors.toList());
|
|
|
- wd170 = nwpCheckList.stream().map(Nwp::getWd170).collect(Collectors.toList());
|
|
|
+ if(electricField.getElectricFieldTypeEnum().getCode() == 1){
|
|
|
+ List<BigDecimal> swrCollect = nwpCheckList.stream().map(Nwp::getSwr).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> diffuseRadiationCollect = nwpCheckList.stream().map(Nwp::getDiffuseRadiation).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> directRadiationCollect = nwpCheckList.stream().map(Nwp::getDirectRadiation).collect(Collectors.toList());
|
|
|
+ nwpDatas.put("swr",swrCollect);
|
|
|
+ nwpDatas.put("diffuseRadiation",diffuseRadiationCollect);
|
|
|
+ nwpDatas.put("directRadiation",directRadiationCollect);
|
|
|
+ }else {
|
|
|
+ List<BigDecimal> wd10 = nwpCheckList.stream().map(Nwp::getWd10).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> wd30 = nwpCheckList.stream().map(Nwp::getWd30).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> wd50 = nwpCheckList.stream().map(Nwp::getWd50).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> wd70 = nwpCheckList.stream().map(Nwp::getWd70).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> wd80 = nwpCheckList.stream().map(Nwp::getWd80).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> wd90 = nwpCheckList.stream().map(Nwp::getWd90).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> wd100 = nwpCheckList.stream().map(Nwp::getWd100).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> wd170 = nwpCheckList.stream().map(Nwp::getWd170).collect(Collectors.toList());
|
|
|
|
|
|
Integer[] wd10Integers = windFrequency(wd10);
|
|
|
Integer[] wd30Integers = windFrequency(wd30);
|
|
@@ -353,14 +331,14 @@ public class NwpService extends BaseService {
|
|
|
nwpDatas.put("wd100Integers",wd100Integers);
|
|
|
nwpDatas.put("wd170Integers",wd170Integers);
|
|
|
|
|
|
- wdInst10 = windTowerStatusDataCheckList.stream().map(WindTowerStatusData::getWdInst10).collect(Collectors.toList());
|
|
|
- wdInst30 = windTowerStatusDataCheckList.stream().map(WindTowerStatusData::getWdInst30).collect(Collectors.toList());
|
|
|
- wdInst50 = windTowerStatusDataCheckList.stream().map(WindTowerStatusData::getWdInst50).collect(Collectors.toList());
|
|
|
- wdInst70 = windTowerStatusDataCheckList.stream().map(WindTowerStatusData::getWdInst70).collect(Collectors.toList());
|
|
|
- wdInst80 = windTowerStatusDataCheckList.stream().map(WindTowerStatusData::getWdInst80).collect(Collectors.toList());
|
|
|
- wdInst90 = windTowerStatusDataCheckList.stream().map(WindTowerStatusData::getWdInst90).collect(Collectors.toList());
|
|
|
- wdInst100 = windTowerStatusDataCheckList.stream().map(WindTowerStatusData::getWdInst100).collect(Collectors.toList());
|
|
|
- wdInst170 = windTowerStatusDataCheckList.stream().map(WindTowerStatusData::getWdInst110).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> wdInst10 = windTowerStatusDataCheckList.stream().map(WindTowerStatusData::getWdInst10).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> wdInst30 = windTowerStatusDataCheckList.stream().map(WindTowerStatusData::getWdInst30).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> wdInst50 = windTowerStatusDataCheckList.stream().map(WindTowerStatusData::getWdInst50).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> wdInst70 = windTowerStatusDataCheckList.stream().map(WindTowerStatusData::getWdInst70).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> wdInst80 = windTowerStatusDataCheckList.stream().map(WindTowerStatusData::getWdInst80).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> wdInst90 = windTowerStatusDataCheckList.stream().map(WindTowerStatusData::getWdInst90).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> wdInst100 = windTowerStatusDataCheckList.stream().map(WindTowerStatusData::getWdInst100).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> wdInst170 = windTowerStatusDataCheckList.stream().map(WindTowerStatusData::getWdInst110).collect(Collectors.toList());
|
|
|
|
|
|
Integer[] wdInst10Integers = windFrequency(wdInst10);
|
|
|
Integer[] wdInst30Integers = windFrequency(wdInst30);
|
|
@@ -383,7 +361,7 @@ public class NwpService extends BaseService {
|
|
|
}
|
|
|
|
|
|
//todo 页面显示标题?是否可转为中文展示
|
|
|
- String[] nameList = {"N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"};
|
|
|
+ String[] nameList = {"北", "北北东", "北东", "东北东", "东", "东南东", "南东", "南南东", "南", "南南西", "南西", "西南西", "西", "西北西", "北西", "北北西"};
|
|
|
|
|
|
map.put("nwpDatas", nwpDatas);
|
|
|
map.put("windTowerStatusDataDatas", windTowerStatusDataDatas);
|
|
@@ -401,7 +379,7 @@ public class NwpService extends BaseService {
|
|
|
* @return
|
|
|
* @throws BusinessException
|
|
|
*/
|
|
|
- @Transactional(propagation = Propagation.NOT_SUPPORTED, readOnly = true)
|
|
|
+ @Transactional
|
|
|
public Map<String,Object> modifySpeedPreview(Long startTime, Long endTime, String num, Integer modify) throws BusinessException {
|
|
|
|
|
|
// 返回值 map
|
|
@@ -420,8 +398,8 @@ public class NwpService extends BaseService {
|
|
|
list = nwpRepository.findByPreTimeBetween(startTime, endTime);
|
|
|
list.sort(Comparator.comparing(Nwp::getPreTime));
|
|
|
// 修改后nwp时间区间数据并排序
|
|
|
- modifiedList = nwpSpeedModifiedRespository.findBymodifyTimeBetween(startTime,endTime);
|
|
|
- modifiedList.sort(Comparator.comparing(NwpSpeedModified::getModifyTime));
|
|
|
+ modifiedList = nwpSpeedModifiedRespository.findByPreTimeBetween(startTime,endTime);
|
|
|
+ modifiedList.sort(Comparator.comparing(NwpSpeedModified::getPreTime));
|
|
|
// 时间区间
|
|
|
long startTimeLong = startTime;
|
|
|
long endTimeLong = endTime;
|
|
@@ -465,31 +443,31 @@ public class NwpService extends BaseService {
|
|
|
|
|
|
// 保存修改后的值
|
|
|
if(modify == 1){
|
|
|
+ nwpSpeedModifiedRespository.deleteByPreTimeBetween(startTime, endTime);
|
|
|
nwpSpeedModifiedRespository.saveAll(modifiedList);
|
|
|
}
|
|
|
|
|
|
ElectricField electricField = this.getElectricField();
|
|
|
- List<BigDecimal> ws10Collect = new ArrayList<>();
|
|
|
- List<BigDecimal> ws30Collect= new ArrayList<>();
|
|
|
- List<BigDecimal> ws50Collect= new ArrayList<>();
|
|
|
- List<BigDecimal> ws70Collect= new ArrayList<>();
|
|
|
- List<BigDecimal> ws80Collect= new ArrayList<>();
|
|
|
- List<BigDecimal> ws90Collect= new ArrayList<>();
|
|
|
- List<BigDecimal> ws100Collect= new ArrayList<>();
|
|
|
- List<BigDecimal> ws170Collect= new ArrayList<>();
|
|
|
// 曲线名
|
|
|
Map<String,String> map1 = new HashMap<>();
|
|
|
Map<String,String> modifyMap = new HashMap<>();
|
|
|
|
|
|
- if(electricField.getElectricFieldTypeEnum().getCode() == 2){
|
|
|
- ws10Collect = checkList.stream().map(Nwp::getWs10).collect(Collectors.toList());
|
|
|
- ws30Collect = checkList.stream().map(Nwp::getWs30).collect(Collectors.toList());
|
|
|
- ws50Collect = checkList.stream().map(Nwp::getWs50).collect(Collectors.toList());
|
|
|
- ws70Collect = checkList.stream().map(Nwp::getWs70).collect(Collectors.toList());
|
|
|
- ws80Collect = checkList.stream().map(Nwp::getWs80).collect(Collectors.toList());
|
|
|
- ws90Collect = checkList.stream().map(Nwp::getWs90).collect(Collectors.toList());
|
|
|
- ws100Collect = checkList.stream().map(Nwp::getWs100).collect(Collectors.toList());
|
|
|
- ws170Collect = checkList.stream().map(Nwp::getWs170).collect(Collectors.toList());
|
|
|
+ if(electricField.getElectricFieldTypeEnum().getCode() == 1) {
|
|
|
+ List<BigDecimal> swrCollect = checkList.stream().map(Nwp::getSwr).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> diffuseRadiationCollect = checkList.stream().map(Nwp::getDiffuseRadiation).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> directRadiationCollect = checkList.stream().map(Nwp::getDirectRadiation).collect(Collectors.toList());
|
|
|
+ datas.put("swr", swrCollect);
|
|
|
+ datas.put("diffuseRadiation", diffuseRadiationCollect);
|
|
|
+ datas.put("directRadiation", directRadiationCollect);
|
|
|
+ }else {
|
|
|
+ List<BigDecimal> ws10Collect = checkList.stream().map(Nwp::getWs10).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> ws30Collect = checkList.stream().map(Nwp::getWs30).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> ws50Collect = checkList.stream().map(Nwp::getWs50).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> ws70Collect = checkList.stream().map(Nwp::getWs70).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> ws80Collect = checkList.stream().map(Nwp::getWs80).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> ws90Collect = checkList.stream().map(Nwp::getWs90).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> ws100Collect = checkList.stream().map(Nwp::getWs100).collect(Collectors.toList());
|
|
|
+ List<BigDecimal> ws170Collect = checkList.stream().map(Nwp::getWs170).collect(Collectors.toList());
|
|
|
datas.put("ws10",ws10Collect);
|
|
|
datas.put("ws30",ws30Collect);
|
|
|
datas.put("ws50",ws50Collect);
|
|
@@ -517,37 +495,8 @@ public class NwpService extends BaseService {
|
|
|
modifyDatas.put("ws100Modify", ws100ModifyList);
|
|
|
modifyDatas.put("ws170Modify", ws170ModifyList);
|
|
|
|
|
|
- try {
|
|
|
- SysParameter sysParameter = sysParameterRepository.findBySysKeyEquals("NWP_CHANGE_WIND");
|
|
|
- if (sysParameter != null) {
|
|
|
- String nwpChangeWind = sysParameter.getSysValue();
|
|
|
- String[] windChangeName = nwpChangeWind.split(",");
|
|
|
- if (windChangeName.length == 16) {
|
|
|
- map1.put("ws10",windChangeName[0]+"米风速");
|
|
|
- map1.put("ws30",windChangeName[1]+"米风速");
|
|
|
- map1.put("ws50",windChangeName[2]+"米风速");
|
|
|
- map1.put("ws70",windChangeName[3]+"米风速");
|
|
|
- map1.put("ws80",windChangeName[4]+"米风速");
|
|
|
- map1.put("ws90",windChangeName[5]+"米风速");
|
|
|
- map1.put("ws100",windChangeName[6]+"米风速");
|
|
|
- map1.put("ws170",windChangeName[7]+"米风速");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- } catch (RuntimeException e) {
|
|
|
- String errorInfo = "NWP风速风向别名参数获取失败" + CommonUtil.printStackTraceToString(e);
|
|
|
- log.error(errorInfo, e);
|
|
|
- }
|
|
|
- if (map1.isEmpty()){
|
|
|
- map1.put("ws10","10米风速");
|
|
|
- map1.put("ws30","30米风速");
|
|
|
- map1.put("ws50","50米风速");
|
|
|
- map1.put("ws70","70米风速");
|
|
|
- map1.put("ws80","80米风速");
|
|
|
- map1.put("ws90","90米风速");
|
|
|
- map1.put("ws100","100米风速");
|
|
|
- map1.put("ws170","170米风速");
|
|
|
- }
|
|
|
+ // NWP风速风向别名参数获取
|
|
|
+ map1 = getNwpName();
|
|
|
modifyMap.put("ws10Modify","修改后10米风速");
|
|
|
modifyMap.put("ws30Modify","修改后30米风速");
|
|
|
modifyMap.put("ws50Modify","修改后50米风速");
|
|
@@ -567,6 +516,48 @@ public class NwpService extends BaseService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * NWP风速风向别名参数获取
|
|
|
+ *
|
|
|
+ * @return map1
|
|
|
+ */
|
|
|
+ public Map<String,String> getNwpName(){
|
|
|
+
|
|
|
+ Map<String,String> map1 = new HashMap<>();
|
|
|
+ try {
|
|
|
+ SysParameter sysParameter = sysParameterRepository.findBySysKeyEquals("NWP_CHANGE_WIND");
|
|
|
+ if (sysParameter != null) {
|
|
|
+ String nwpChangeWind = sysParameter.getSysValue();
|
|
|
+ String[] windChangeName = nwpChangeWind.split(",");
|
|
|
+ if (windChangeName.length == 16) {
|
|
|
+ map1.put("ws10",windChangeName[0]+"米风速");
|
|
|
+ map1.put("ws30",windChangeName[1]+"米风速");
|
|
|
+ map1.put("ws50",windChangeName[2]+"米风速");
|
|
|
+ map1.put("ws70",windChangeName[3]+"米风速");
|
|
|
+ map1.put("ws80",windChangeName[4]+"米风速");
|
|
|
+ map1.put("ws90",windChangeName[5]+"米风速");
|
|
|
+ map1.put("ws100",windChangeName[6]+"米风速");
|
|
|
+ map1.put("ws170",windChangeName[7]+"米风速");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (RuntimeException e) {
|
|
|
+ String errorInfo = "NWP风速风向别名参数获取失败" + CommonUtil.printStackTraceToString(e);
|
|
|
+ log.error(errorInfo, e);
|
|
|
+ }
|
|
|
+ if (map1.isEmpty()){
|
|
|
+ map1.put("ws10","10米风速");
|
|
|
+ map1.put("ws30","30米风速");
|
|
|
+ map1.put("ws50","50米风速");
|
|
|
+ map1.put("ws70","70米风速");
|
|
|
+ map1.put("ws80","80米风速");
|
|
|
+ map1.put("ws90","90米风速");
|
|
|
+ map1.put("ws100","100米风速");
|
|
|
+ map1.put("ws170","170米风速");
|
|
|
+ }
|
|
|
+
|
|
|
+ return map1;
|
|
|
+ }
|
|
|
+ /**
|
|
|
* 修改风速
|
|
|
* @param nwp
|
|
|
* @param num
|
|
@@ -575,54 +566,34 @@ public class NwpService extends BaseService {
|
|
|
public NwpSpeedModified caculateSpeed(Nwp nwp, String num){
|
|
|
NwpSpeedModified nwpSpeedModified = new NwpSpeedModified();
|
|
|
if(nwp.getWs10().compareTo(BigDecimal.ZERO) == 1){
|
|
|
- nwpSpeedModified.setWs10(nwp.getWs10().multiply(new BigDecimal(num)));
|
|
|
+ nwpSpeedModified.setWs10(nwp.getWs10().multiply(new BigDecimal(num)).setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
}
|
|
|
if(nwp.getWs30().compareTo(BigDecimal.ZERO) == 1){
|
|
|
- nwpSpeedModified.setWs30(nwp.getWs30().multiply(new BigDecimal(num)));
|
|
|
+ nwpSpeedModified.setWs30(nwp.getWs30().multiply(new BigDecimal(num)).setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
}
|
|
|
if(nwp.getWs50().compareTo(BigDecimal.ZERO) == 1){
|
|
|
- nwpSpeedModified.setWs50(nwp.getWs50().multiply(new BigDecimal(num)));
|
|
|
+ nwpSpeedModified.setWs50(nwp.getWs50().multiply(new BigDecimal(num)).setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
}
|
|
|
if(nwp.getWs70().compareTo(BigDecimal.ZERO) == 1){
|
|
|
- nwpSpeedModified.setWs70(nwp.getWs70().multiply(new BigDecimal(num)));
|
|
|
+ nwpSpeedModified.setWs70(nwp.getWs70().multiply(new BigDecimal(num)).setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
}
|
|
|
if(nwp.getWs80().compareTo(BigDecimal.ZERO) == 1){
|
|
|
- nwpSpeedModified.setWs80(nwp.getWs80().multiply(new BigDecimal(num)));
|
|
|
+ nwpSpeedModified.setWs80(nwp.getWs80().multiply(new BigDecimal(num)).setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
}
|
|
|
if(nwp.getWs90().compareTo(BigDecimal.ZERO) == 1){
|
|
|
- nwpSpeedModified.setWs90(nwp.getWs90().multiply(new BigDecimal(num)));
|
|
|
+ nwpSpeedModified.setWs90(nwp.getWs90().multiply(new BigDecimal(num)).setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
}
|
|
|
if(nwp.getWs100().compareTo(BigDecimal.ZERO) == 1){
|
|
|
- nwpSpeedModified.setWs100(nwp.getWs100().multiply(new BigDecimal(num)));
|
|
|
+ nwpSpeedModified.setWs100(nwp.getWs100().multiply(new BigDecimal(num)).setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
}
|
|
|
if(nwp.getWs170().compareTo(BigDecimal.ZERO) == 1){
|
|
|
- nwpSpeedModified.setWs170(nwp.getWs170().multiply(new BigDecimal(num)));
|
|
|
+ nwpSpeedModified.setWs170(nwp.getWs170().multiply(new BigDecimal(num)).setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
}
|
|
|
- nwpSpeedModified.setModifyTime(nwp.getPreTime());
|
|
|
+ nwpSpeedModified.setPreTime(nwp.getPreTime());
|
|
|
return nwpSpeedModified;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 计算修改风速
|
|
|
- *
|
|
|
- * @param nwpList
|
|
|
- * @param num
|
|
|
- * @return
|
|
|
- */
|
|
|
- public List<BigDecimal> getModifyDatas(List<BigDecimal> nwpList, String num){
|
|
|
- List<BigDecimal> tempList = new ArrayList<>();
|
|
|
- for (BigDecimal collect : nwpList) {
|
|
|
-
|
|
|
- if(collect != null){
|
|
|
- BigDecimal multiply = collect.multiply(new BigDecimal(num));
|
|
|
- tempList.add(multiply);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- return tempList;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
* 根据时间 分页查询 NWP数据 yh
|
|
|
*
|
|
|
* @param startTime 开始时间
|
|
@@ -843,73 +814,73 @@ public class NwpService extends BaseService {
|
|
|
public void defaultReplace(List<Nwp> datas){
|
|
|
BigDecimal nullBig = new BigDecimal(-99);
|
|
|
for(Nwp i :datas){
|
|
|
- if(i.getT().compareTo(nullBig)==0){
|
|
|
+ if(i.getT()!=null && i.getT().compareTo(nullBig)==0){
|
|
|
i.setT(null);
|
|
|
}
|
|
|
- if(i.getRh().compareTo(nullBig)==0){
|
|
|
+ if(i.getRh()!=null && i.getRh().compareTo(nullBig)==0){
|
|
|
i.setRh(null);
|
|
|
}
|
|
|
- if(i.getPressure().compareTo(nullBig)==0){
|
|
|
+ if(i.getPressure()!=null && i.getPressure().compareTo(nullBig)==0){
|
|
|
i.setPressure(null);
|
|
|
}
|
|
|
- if(i.getSwr().compareTo(nullBig)==0){
|
|
|
+ if(i.getSwr()!=null && i.getSwr().compareTo(nullBig)==0){
|
|
|
i.setSwr(null);
|
|
|
}
|
|
|
- if(i.getDirectRadiation().compareTo(nullBig)==0){
|
|
|
+ if(i.getDirectRadiation()!=null && i.getDirectRadiation().compareTo(nullBig)==0){
|
|
|
i.setDirectRadiation(null);
|
|
|
}
|
|
|
- if(i.getDiffuseRadiation().compareTo(nullBig)==0){
|
|
|
+ if(i.getDiffuseRadiation()!=null && i.getDiffuseRadiation().compareTo(nullBig)==0){
|
|
|
i.setDiffuseRadiation(null);
|
|
|
}
|
|
|
- if(i.getSenf().compareTo(nullBig)==0){
|
|
|
+ if(i.getSenf()!=null && i.getSenf().compareTo(nullBig)==0){
|
|
|
i.setSenf(null);
|
|
|
}
|
|
|
- if(i.getWs10().compareTo(nullBig)==0){
|
|
|
+ if(i.getWs10()!=null && i.getWs10().compareTo(nullBig)==0){
|
|
|
i.setWs10(null);
|
|
|
}
|
|
|
- if(i.getWs30().compareTo(nullBig)==0){
|
|
|
+ if(i.getWs30()!=null && i.getWs30().compareTo(nullBig)==0){
|
|
|
i.setWs30(null);
|
|
|
}
|
|
|
- if(i.getWs50().compareTo(nullBig)==0){
|
|
|
+ if(i.getWs50()!=null && i.getWs50().compareTo(nullBig)==0){
|
|
|
i.setWs50(null);
|
|
|
}
|
|
|
- if(i.getWs70().compareTo(nullBig)==0){
|
|
|
+ if(i.getWs70()!=null && i.getWs70().compareTo(nullBig)==0){
|
|
|
i.setWs70(null);
|
|
|
}
|
|
|
- if(i.getWs80().compareTo(nullBig)==0){
|
|
|
+ if(i.getWs80()!=null && i.getWs80().compareTo(nullBig)==0){
|
|
|
i.setWs80(null);
|
|
|
}
|
|
|
- if(i.getWs90().compareTo(nullBig)==0){
|
|
|
+ if(i.getWs90()!=null && i.getWs90().compareTo(nullBig)==0){
|
|
|
i.setWs90(null);
|
|
|
}
|
|
|
- if(i.getWs100().compareTo(nullBig)==0){
|
|
|
+ if(i.getWs100()!=null && i.getWs100().compareTo(nullBig)==0){
|
|
|
i.setWs100(null);
|
|
|
}
|
|
|
- if(i.getWs170().compareTo(nullBig)==0){
|
|
|
+ if(i.getWs170()!=null && i.getWs170().compareTo(nullBig)==0){
|
|
|
i.setWs170(null);
|
|
|
}
|
|
|
- if(i.getWd10().compareTo(nullBig)==0){
|
|
|
+ if(i.getWd10()!=null && i.getWd10().compareTo(nullBig)==0){
|
|
|
i.setWd10(null);
|
|
|
}
|
|
|
- if(i.getWd30().compareTo(nullBig)==0){
|
|
|
+ if(i.getWd30()!=null && i.getWd30().compareTo(nullBig)==0){
|
|
|
i.setWd30(null);
|
|
|
}
|
|
|
- if(i.getWd50().compareTo(nullBig)==0){
|
|
|
+ if(i.getWd50()!=null && i.getWd50().compareTo(nullBig)==0){
|
|
|
i.setWd50(null);
|
|
|
}
|
|
|
- if(i.getWd70().compareTo(nullBig)==0){
|
|
|
+ if(i.getWd70()!=null && i.getWd70().compareTo(nullBig)==0){
|
|
|
i.setWd70(null);
|
|
|
}
|
|
|
- if(i.getWd80().compareTo(nullBig)==0){
|
|
|
+ if(i.getWd80()!=null && i.getWd80().compareTo(nullBig)==0){
|
|
|
i.setWd80(null);
|
|
|
}
|
|
|
- if(i.getWd90().compareTo(nullBig)==0){
|
|
|
+ if(i.getWd90()!=null && i.getWd90().compareTo(nullBig)==0){
|
|
|
i.setWd90(null);
|
|
|
}
|
|
|
- if(i.getWd100().compareTo(nullBig)==0){
|
|
|
+ if(i.getWd100()!=null && i.getWd100().compareTo(nullBig)==0){
|
|
|
i.setWd100(null);
|
|
|
}
|
|
|
- if(i.getWd170().compareTo(nullBig)==0){
|
|
|
+ if(i.getWd170()!=null && i.getWd170().compareTo(nullBig)==0){
|
|
|
i.setWd170(null);
|
|
|
}
|
|
|
}
|
|
@@ -1144,13 +1115,13 @@ public class NwpService extends BaseService {
|
|
|
return resultList;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
/**
|
|
|
* 用于实时对比查询
|
|
|
* 实时nwp数据
|
|
|
- *
|
|
|
+ * @param startTime
|
|
|
+ * @param endTime
|
|
|
+ * @param timeStep
|
|
|
+ * @return
|
|
|
*/
|
|
|
public List<Nwp> findByPreTimeBetween(Long startTime, Long endTime, Long timeStep){
|
|
|
List<Nwp> list = new ArrayList<>();
|
|
@@ -1194,9 +1165,13 @@ public class NwpService extends BaseService {
|
|
|
return nwpDays;
|
|
|
}
|
|
|
|
|
|
- // 风频计算
|
|
|
+ /**
|
|
|
+ * 风频计算
|
|
|
+ *
|
|
|
+ * @param bigDecimals
|
|
|
+ * @return
|
|
|
+ */
|
|
|
public Integer[] windFrequency(List<BigDecimal> bigDecimals){
|
|
|
-
|
|
|
BigDecimal b0 = new BigDecimal(0);
|
|
|
BigDecimal b225 = new BigDecimal(22.5);
|
|
|
BigDecimal b45 = new BigDecimal(45);
|
|
@@ -1269,7 +1244,7 @@ public class NwpService extends BaseService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- // 16
|
|
|
+ // 十六个风向风频值
|
|
|
Integer[] integers = {N,NNE,NE,ENE,E,ESE,SE,SSE,S,SSW,SW,WSW,W,WNW,NW,NNW};
|
|
|
return integers;
|
|
|
}
|