xusl 9 月之前
父節點
當前提交
0a47c7286c

+ 18 - 13
ipp-ap/src/views/idp/control/dqIntervene/index.vue

@@ -303,20 +303,25 @@ export default {
     },
     // 保存短期干预
     saveDqPresets(){
-      var dqTempDto = {
-        list: this.tableData,
-        stationCode:this.stationCode
-      }
-      this.$axios.post('/dqInterveneController/saveIntervene',dqTempDto).then((res) => {
-        if (res==undefined){
-          this.$message.success('保存失败')
+      if (this.tableData.length>0){
+        var dqTempDto = {
+          list: this.tableData,
+          stationCode:this.stationCode
         }
-        else{
-          this.$message.success('保存成功')
-          this.getDqData()
-        }
-      }).catch((error) => {
-      })
+        this.$axios.post('/dqInterveneController/saveIntervene',dqTempDto).then((res) => {
+          if (res==undefined){
+            this.$message.success('保存失败')
+          }
+          else{
+            this.$message.success('保存成功')
+            this.getDqData()
+          }
+        }).catch((error) => {
+        })
+      }
+      else{
+        this.$message.warning('数据不足96个点不能下发干预!')
+      }
     }
   }
 }

+ 36 - 33
ipp-idp/src/main/java/com/jiayue/ipp/idp/service/impl/DqInterveneServiceImpl.java

@@ -42,42 +42,45 @@ public class DqInterveneServiceImpl extends ServiceImpl<DqInterveneMapper, DqInt
         queryWrapper.eq("station_code",stationCode);
         queryWrapper.eq("forecast_manufactor","SYJY");
         List<ForecastPowerShortTerm> ForecastPowerShortTermList = forecastPowerShortTermService.list(queryWrapper);
-        Map<Long, ForecastPowerShortTerm> ForecastPowerShortTermMap = ForecastPowerShortTermList.stream()
-                .collect(Collectors.toMap(
-                        myObject -> myObject.getForecastTime().getTime(), // keyMapper,将Date转换为long
-                        myObject -> myObject, // valueMapper,保持原对象
-                        (existing, replacement) -> existing // mergeFunction,处理重复key的情况,这里简单地保留现有的value
-                ));
-        // 再获取预设短期
-        QueryWrapper<DqIntervene> presetsWrapper = new QueryWrapper<>();
-        presetsWrapper.between("forecast_time", new Date(startTime), new Date(endTime));
-        List<DqIntervene> bizPresetsShortList = this.list(presetsWrapper);
-        Map<Long, DqIntervene> bizPresetsShortMap = bizPresetsShortList.stream()
-                .collect(Collectors.toMap(
-                        myObject -> myObject.getForecastTime().getTime(), // keyMapper,将Date转换为long
-                        myObject -> myObject, // valueMapper,保持原对象
-                        (existing, replacement) -> existing // mergeFunction,处理重复key的情况,这里简单地保留现有的value
-                ));
         // 整合数据返给前端
         List<DqInterveneDto> presetsShortDtoList = new ArrayList<>();
-        Long momentTime = 15 * 60 * 1000L;
-        for (Long tempTime = startTime; tempTime <= endTime; tempTime = tempTime + momentTime) {
-            DqInterveneDto dqInterveneDto = new DqInterveneDto();
-            dqInterveneDto.setForecastTime(new Date(tempTime));
-            dqInterveneDto.setCapacity(electricField.getCapacity());
-            if (ForecastPowerShortTermMap.get(tempTime)!=null){
-                // 实时值
-                dqInterveneDto.setActivePower(ForecastPowerShortTermMap.get(tempTime).getFpValue());
-            }
-            if (bizPresetsShortMap.get(tempTime)!=null){
-                // 干预值
-                dqInterveneDto.setPresetsPower(bizPresetsShortMap.get(tempTime).getActivePower());
-            }
-            else{
-                // 干预值
-                dqInterveneDto.setPresetsPower(ForecastPowerShortTermMap.get(tempTime).getFpValue());
+        if (ForecastPowerShortTermList.size()==96){
+            Map<Long, ForecastPowerShortTerm> ForecastPowerShortTermMap = ForecastPowerShortTermList.stream()
+                    .collect(Collectors.toMap(
+                            myObject -> myObject.getForecastTime().getTime(), // keyMapper,将Date转换为long
+                            myObject -> myObject, // valueMapper,保持原对象
+                            (existing, replacement) -> existing // mergeFunction,处理重复key的情况,这里简单地保留现有的value
+                    ));
+            // 再获取预设短期
+            QueryWrapper<DqIntervene> presetsWrapper = new QueryWrapper<>();
+            presetsWrapper.between("forecast_time", new Date(startTime), new Date(endTime));
+            List<DqIntervene> bizPresetsShortList = this.list(presetsWrapper);
+            Map<Long, DqIntervene> bizPresetsShortMap = bizPresetsShortList.stream()
+                    .collect(Collectors.toMap(
+                            myObject -> myObject.getForecastTime().getTime(), // keyMapper,将Date转换为long
+                            myObject -> myObject, // valueMapper,保持原对象
+                            (existing, replacement) -> existing // mergeFunction,处理重复key的情况,这里简单地保留现有的value
+                    ));
+
+            Long momentTime = 15 * 60 * 1000L;
+            for (Long tempTime = startTime; tempTime <= endTime; tempTime = tempTime + momentTime) {
+                DqInterveneDto dqInterveneDto = new DqInterveneDto();
+                dqInterveneDto.setForecastTime(new Date(tempTime));
+                dqInterveneDto.setCapacity(electricField.getCapacity());
+                if (ForecastPowerShortTermMap.get(tempTime)!=null){
+                    // 实时值
+                    dqInterveneDto.setActivePower(ForecastPowerShortTermMap.get(tempTime).getFpValue());
+                }
+                if (bizPresetsShortMap.get(tempTime)!=null){
+                    // 干预值
+                    dqInterveneDto.setPresetsPower(bizPresetsShortMap.get(tempTime).getActivePower());
+                }
+                else{
+                    // 干预值
+                    dqInterveneDto.setPresetsPower(ForecastPowerShortTermMap.get(tempTime).getFpValue());
+                }
+                presetsShortDtoList.add(dqInterveneDto);
             }
-            presetsShortDtoList.add(dqInterveneDto);
         }
         return presetsShortDtoList;
     }