Browse Source

修改风速方法修改,页面调整

songhaodong 2 years ago
parent
commit
b6ca6b0139

+ 39 - 8
ipfcst/ipfcst-reportquery/src/main/frontend/views/parameterConfiguration/windModify/index.vue

@@ -24,13 +24,37 @@
       <div class="timeQuery">
         <el-button  size="small" :loading="loading"  @click="dateQuery">查询</el-button>
       </div>
-      <div class="modulus" style="font-size: 14px;">
-        &nbsp; 风速调整系数:
-        <el-input-number v-model="num" size="small" controls-position="right" :precision="2" :step="0.1" :max="20" :min="1"></el-input-number>
-        <el-button  size="small" :loading="loading"  @click="modifyDateQuery">预览修改</el-button>
-        <el-button  size="small" :loading="loading"  @click="confirmModifyDateQuery">确认修改</el-button>
+      <div class="modulus" style="font-size: 24px;">
+<!--        &nbsp; 风速调整系数(放大):-->
+<!--        <el-input-number v-model="num" size="small" controls-position="right" :precision="2" :step="0.1" :max="20" :min="1"></el-input-number>-->
+<!--        &nbsp; 风速调整系数(缩小):-->
+<!--        <el-input-number v-model="numDown" size="small" controls-position="right" :precision="2" :step="0.1" :max="20" :min="1"></el-input-number>-->
+<!--        <el-button  size="small" :loading="loading"  @click="modifyDateQuery">预览修改</el-button>-->
+<!--        <el-button  size="small" :loading="loading"  @click="confirmModifyDateQuery">确认修改</el-button>-->
+
+
+
+
+
+
+      </div>
+
+      <div style=" margin-left: 20px;">
+        <el-input placeholder="请输入系数" v-model="modifyInput" class="input-with-select" size="small" style="border: 1px solid #fff; border-radius: 4px; box-sizing: border-box;">
+          <el-select v-model="upDown" slot="prepend" placeholder="请选择" style="width:90px;">
+            <el-option label="增大" value="1" ></el-option>
+            <el-option label="减小" value="2"></el-option>
+          </el-select>
+<!--                  <el-button slot="append" icon="el-icon-search"></el-button>-->
+                  <el-button slot="append" size="small" :loading="loading"  @click="modifyDateQuery" style="color: #000;">预览修改</el-button>
+                  <el-button slot="append" size="small" :loading="loading"  @click="confirmModifyDateQuery" style="color: #2b2b2b">确认修改</el-button>
+        </el-input>
+
       </div>
+
+
     </div>
+
     <div class="content">
           <chart :drawData = this.drawData />
     </div>
@@ -59,7 +83,10 @@ export default {
       currentPage: 1,
       dialogVisible: false,
       num: 1,
+      numDown: 1,
       modify: 0,
+      modifyInput: 1,
+      upDown: '',
     }
   },
   mounted() {
@@ -78,7 +105,10 @@ export default {
     },
     getDraw(startTime,endTime){
       this.drawLoading = true
-      this.$axios.get('/nwp/modifySpeedPreview/'+startTime+'/'+endTime+'/'+this.num + '/' + this.modify).then((res) => {
+      if(this.upDown == '' || this.upDown == null){
+        this.upDown = '增大';
+      }
+      this.$axios.get('/nwp/modifySpeedPreview/'+startTime+'/'+endTime+'/'+this.modifyInput + '/' + this.upDown + '/' + this.modify).then((res) => {
         this.drawData = res.data
         this.drawLoading = false
         if(!this.drawLoading ){
@@ -122,7 +152,7 @@ export default {
           this.startTime = this.queryStartTime
           this.endTime = this.queryEndTime
           this.loading = false
-          this.modify =0
+          this.modify = 0
           return
         }
         if(this.endTime-this.startTime> 60 * 60 * 24 * 1000*31){
@@ -130,7 +160,7 @@ export default {
           this.endTime = this.queryEndTime
           this.$message.error("只能最多查询31天的数据哦")
           this.loading = false
-          this.modify =0
+          this.modify = 0
           return
         }
         this.queryStartTime = this.startTime
@@ -154,5 +184,6 @@ export default {
 </script>
 
 <style scoped>
+
 </style>
 

+ 4 - 4
ipfcst/ipfcst-reportquery/src/main/java/com/jiayue/ipfcst/controller/NwpController.java

@@ -163,16 +163,16 @@ public class NwpController {
     }
   }
 
-  @GetMapping(value="/nwp/modifySpeedPreview/{startTime}/{endTime}/{num}/{modify}")
+  @GetMapping(value="/nwp/modifySpeedPreview/{startTime}/{endTime}/{modifyInput}/{upDown}/{modify}")
   @Transactional
   public ResponseVO modifySpeedPreview(@PathVariable("startTime") Long startTime,
                                    @PathVariable("endTime") Long endTime,
-                                   @PathVariable("num") String num,
+                                   @PathVariable("modifyInput") String modifyInput,
+                                   @PathVariable("upDown") String upDown,
                                    @PathVariable("modify") Integer modify
                                    ){
-    Map<String,Object> map = new HashMap<>();
     try{
-      map = nwpService.modifySpeedPreview(startTime,endTime,num,modify);
+      Map<String,Object> map = nwpService.modifySpeedPreview(startTime,endTime,modifyInput, upDown, modify);
       return ResponseVO.success(map);
     }catch(Exception e){
       e.printStackTrace();

+ 69 - 37
ipfcst/ipfcst-reportquery/src/main/java/com/jiayue/ipfcst/service/NwpService.java

@@ -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;
   }