|
@@ -377,27 +377,26 @@ public class NwpService extends BaseService {
|
|
|
* @return
|
|
|
* @throws BusinessException
|
|
|
*/
|
|
|
- @Transactional
|
|
|
- public Map<String,Object> modifySpeedPreview(Long startTime, Long endTime, String num, Integer modify) throws BusinessException {
|
|
|
+ // @Transactional
|
|
|
+ public Map<String,Object> modifySpeedPreview(Long startTime, Long endTime, String modifyInput, String upDown, Integer modify) throws BusinessException {
|
|
|
|
|
|
// 返回值 map
|
|
|
Map<String,Object> map = new HashMap<>();
|
|
|
// nwp数据
|
|
|
- List<Nwp> list = new ArrayList<>();
|
|
|
+ List<Nwp> list = nwpRepository.findByPreTimeBetween(startTime, endTime);
|
|
|
+ // nwp时间区间数据并排序
|
|
|
+ list.sort(Comparator.comparing(Nwp::getPreTime));
|
|
|
// 修改后 nwp数据
|
|
|
- List<NwpSpeedModified> modifiedList = new ArrayList<>();
|
|
|
+ List<NwpSpeedModified> modifiedList = nwpSpeedModifiedRespository.findByPreTimeBetween(startTime,endTime);
|
|
|
+ // 修改后nwp时间区间数据并排序
|
|
|
+ modifiedList.sort(Comparator.comparing(NwpSpeedModified::getPreTime));
|
|
|
// 间隔15分钟的nwp数据
|
|
|
List<Nwp> checkList = new ArrayList<>();
|
|
|
// 返回值 预测nwp
|
|
|
Map<String,Object> datas = new LinkedHashMap<>();
|
|
|
// 返回值 修改后nwp
|
|
|
Map<String,Object> modifyDatas = new LinkedHashMap<>();
|
|
|
- // nwp时间区间数据并排序
|
|
|
- list = nwpRepository.findByPreTimeBetween(startTime, endTime);
|
|
|
- list.sort(Comparator.comparing(Nwp::getPreTime));
|
|
|
- // 修改后nwp时间区间数据并排序
|
|
|
- modifiedList = nwpSpeedModifiedRespository.findByPreTimeBetween(startTime,endTime);
|
|
|
- modifiedList.sort(Comparator.comparing(NwpSpeedModified::getPreTime));
|
|
|
+
|
|
|
// 时间区间
|
|
|
long startTimeLong = startTime;
|
|
|
long endTimeLong = endTime;
|
|
@@ -420,7 +419,7 @@ public class NwpService extends BaseService {
|
|
|
// 间隔15分钟的nwp数据
|
|
|
checkList.add(nwp);
|
|
|
// NwpSpeedModified对象(原nwp * 系数)
|
|
|
- NwpSpeedModified nwpSpeedModified = caculateSpeed(nwp, num);
|
|
|
+ NwpSpeedModified nwpSpeedModified = caculateSpeed(nwp, modifyInput, upDown);
|
|
|
nwpSpeedModifieds.add(nwpSpeedModified);
|
|
|
}else{
|
|
|
checkList.add(new Nwp());
|
|
@@ -435,7 +434,7 @@ public class NwpService extends BaseService {
|
|
|
this.nwpSpeedDefaultReplace(nwpSpeedModifieds);
|
|
|
|
|
|
// 如果当前时间区间有修改后的值 ,展示修改后的值
|
|
|
- if(modifiedList.size() < 1 && num.equals(1) || !(num.equals("1"))){
|
|
|
+ if(modifiedList.size() < 1 && modifyInput.equals(1) || !(modifyInput.equals("1"))){
|
|
|
modifiedList = nwpSpeedModifieds;
|
|
|
}
|
|
|
|
|
@@ -561,33 +560,66 @@ public class NwpService extends BaseService {
|
|
|
* @param num
|
|
|
* @return
|
|
|
*/
|
|
|
- public NwpSpeedModified caculateSpeed(Nwp nwp, String num){
|
|
|
+ public NwpSpeedModified caculateSpeed(Nwp nwp, String num,String upDown){
|
|
|
NwpSpeedModified nwpSpeedModified = new NwpSpeedModified();
|
|
|
- if(nwp.getWs10().compareTo(BigDecimal.ZERO) == 1){
|
|
|
- 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)).setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
- }
|
|
|
- if(nwp.getWs50().compareTo(BigDecimal.ZERO) == 1){
|
|
|
- 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)).setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
- }
|
|
|
- if(nwp.getWs80().compareTo(BigDecimal.ZERO) == 1){
|
|
|
- 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)).setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
- }
|
|
|
- if(nwp.getWs100().compareTo(BigDecimal.ZERO) == 1){
|
|
|
- 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)).setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
+
|
|
|
+ if(upDown.equals("1")||upDown.equals("增大")){
|
|
|
+
|
|
|
+ if(nwp.getWs10().compareTo(BigDecimal.ZERO) == 1){
|
|
|
+ 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)).setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
+ }
|
|
|
+ if(nwp.getWs50().compareTo(BigDecimal.ZERO) == 1){
|
|
|
+ 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)).setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
+ }
|
|
|
+ if(nwp.getWs80().compareTo(BigDecimal.ZERO) == 1){
|
|
|
+ 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)).setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
+ }
|
|
|
+ if(nwp.getWs100().compareTo(BigDecimal.ZERO) == 1){
|
|
|
+ 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)).setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
+ }
|
|
|
+ nwpSpeedModified.setPreTime(nwp.getPreTime());
|
|
|
+ } else if (upDown.equals("2") || upDown.equals("减小")) {
|
|
|
+
|
|
|
+ if(nwp.getWs10().compareTo(BigDecimal.ZERO) == 1){
|
|
|
+ nwpSpeedModified.setWs10(nwp.getWs10().divide(new BigDecimal(num), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ }
|
|
|
+ if(nwp.getWs30().compareTo(BigDecimal.ZERO) == 1){
|
|
|
+ nwpSpeedModified.setWs30(nwp.getWs30().divide(new BigDecimal(num), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ }
|
|
|
+ if(nwp.getWs50().compareTo(BigDecimal.ZERO) == 1){
|
|
|
+ nwpSpeedModified.setWs50(nwp.getWs50().divide(new BigDecimal(num), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ }
|
|
|
+ if(nwp.getWs70().compareTo(BigDecimal.ZERO) == 1){
|
|
|
+ nwpSpeedModified.setWs70(nwp.getWs70().divide(new BigDecimal(num), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ }
|
|
|
+ if(nwp.getWs80().compareTo(BigDecimal.ZERO) == 1){
|
|
|
+ nwpSpeedModified.setWs80(nwp.getWs80().divide(new BigDecimal(num), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ }
|
|
|
+ if(nwp.getWs90().compareTo(BigDecimal.ZERO) == 1){
|
|
|
+ nwpSpeedModified.setWs90(nwp.getWs90().divide(new BigDecimal(num), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ }
|
|
|
+ if(nwp.getWs100().compareTo(BigDecimal.ZERO) == 1){
|
|
|
+ nwpSpeedModified.setWs100(nwp.getWs100().divide(new BigDecimal(num), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ }
|
|
|
+ if(nwp.getWs170().compareTo(BigDecimal.ZERO) == 1){
|
|
|
+ nwpSpeedModified.setWs170(nwp.getWs170().divide(new BigDecimal(num), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ }
|
|
|
+ nwpSpeedModified.setPreTime(nwp.getPreTime());
|
|
|
+
|
|
|
}
|
|
|
- nwpSpeedModified.setPreTime(nwp.getPreTime());
|
|
|
+
|
|
|
return nwpSpeedModified;
|
|
|
}
|
|
|
|