Bläddra i källkod

修改筛选时间异常问题 筛选时 区分过滤与筛选 修改入库bug 玫瑰图置空问题

hxf 1 år sedan
förälder
incheckning
ffa1cb7b47

+ 1 - 1
neim-biz/src/main/java/com/jiayue/biz/mapper/ProphaseWeatherDataOrgMapper.java

@@ -28,7 +28,7 @@ public interface ProphaseWeatherDataOrgMapper extends BaseMapper<ProphaseWeather
     @Select("SELECT t1.ts,t1.t_ave,t1.pa_ave,t1.air_density FROM weather_org_${equipmentId} t1 where  t1.ts >= #{startTime} and t1.ts <= #{endTime}")
     List<ProphaseWeatherData> selectTAveAndPaAveAndAir(@Param("equipmentId") String equipmentId, @Param("startTime") Timestamp startTime, @Param("endTime") Timestamp endTime);  //查询温度平均值和压强平均值
 
-    @Insert("INSERT INTO weather_org_${equipmentId} USING prophase_weather_data TAGS(#{equipmentId}) VALUES(#{ts},#{tInst},#{tMax},#{tMin},#{tAve},#{tSta},#{rhInst},#{rhMax},#{rhMin},#{rhAve},#{rhSta},#{paInst},#{paMax},#{paMin},#{paAve},#{paSta},#{airDensity})")
+    @Insert("INSERT INTO weather_org_${equipmentId} USING prophase_weather_data_org TAGS(#{equipmentId}) VALUES(#{ts},#{tInst},#{tMax},#{tMin},#{tAve},#{tSta},#{rhInst},#{rhMax},#{rhMin},#{rhAve},#{rhSta},#{paInst},#{paMax},#{paMin},#{paAve},#{paSta},#{airDensity})")
     int insertOneWithNew(ProphaseWeatherData one);
 
 

+ 9 - 3
neim-biz/src/main/java/com/jiayue/biz/service/impl/CheckDataRecode.java

@@ -172,7 +172,7 @@ public class CheckDataRecode {
     }
 
 
-    public void compareData(Map<String, Object> startTimeAndEndTimeMap, List<Map<String, Object>> filterData,SimpleDateFormat simpleDateFormat) throws ParseException {
+    public void compareData(Map<String, Object> startTimeAndEndTimeMap, List<Map<String, Object>> filterData,SimpleDateFormat simpleDateFormat) {
         for (Map<String, Object> filterDatum : filterData) {
             for (Map.Entry<String, Object> entry : startTimeAndEndTimeMap.entrySet()) {
                 //获取异常数据字段名
@@ -192,10 +192,16 @@ public class CheckDataRecode {
     }
 
 
-    public void replaceData(String value, Map<String, Object> filterDatum, String dataName,SimpleDateFormat simpleDateFormat) throws ParseException {
+    public void replaceData(String value, Map<String, Object> filterDatum, String dataName,SimpleDateFormat simpleDateFormat){
+        Long time;
+        try {
+           time =  simpleDateFormat.parse(filterDatum.get("time").toString()).getTime();
+        } catch (ParseException e) {
+            time = Long.parseLong(filterDatum.get("time").toString());
+        }
         String[] startTimeAndEndTimeSp = value.split("-");
         //在时间段内 并且没有此字段名
-        if (simpleDateFormat.parse(filterDatum.get("time").toString()).getTime() >= Long.parseLong(startTimeAndEndTimeSp[0]) && simpleDateFormat.parse(filterDatum.get("time").toString()).getTime() <= Long.parseLong(startTimeAndEndTimeSp[1])) {
+        if (time >= Long.parseLong(startTimeAndEndTimeSp[0]) && time <= Long.parseLong(startTimeAndEndTimeSp[1])) {
             if (filterDatum.get("abnormalType") != null && !filterDatum.get("abnormalType").toString().contains(dataName)) {
                 filterDatum.put("abnormalType", filterDatum.get("abnormalType") + "," + dataName);
             }

+ 1 - 0
neim-biz/src/main/java/com/jiayue/biz/service/impl/DataRecalculationImpl.java

@@ -584,6 +584,7 @@ public class DataRecalculationImpl implements DataRecalculationService {
                 //重新走一遍数据过滤 然后存库
                 List<Map<String, Object>> mapList = new CheckDataRecode().checkValue(maps, list.get(0).getModelNumber());
                 windTowerDataParentTableService.packageData(mapList, equipmentNo, sdf.format(new Date(startDate)), list.get(0).getModelNumber(), "DataRecalculation");
+                log.warn("数据筛选完成");
                 return AjaxResult.success("数据筛选完成");
             } else {
                 return AjaxResult.success("该时间范围内没有数据");

+ 1 - 1
neim-biz/src/main/java/com/jiayue/biz/service/impl/ProphaseAnemometryDataServiceImpl.java

@@ -97,7 +97,7 @@ public class ProphaseAnemometryDataServiceImpl extends ServiceImpl<ProphaseAnemo
     //过滤
     public List<ProphaseAnemometryData> filterData(List<ProphaseAnemometryData> prophaseAnemometryData) {
 
-        return prophaseAnemometryData.stream().filter(p -> p.getWsAve() != null && p.getWsAve() != -99).collect(Collectors.toList());
+        return prophaseAnemometryData.stream().filter(p -> p.getWsAve() != null && p.getWsAve() > 0).collect(Collectors.toList());
 
     }
 

+ 9 - 4
neim-biz/src/main/java/com/jiayue/biz/service/impl/RealTimeDisplayServiceImpl.java

@@ -553,10 +553,15 @@ public class RealTimeDisplayServiceImpl implements RealTimeDisplayService {
         ArrayList<ArrayList> averageWindSpeed = getListEntry(wsOneHourMap);
         ArrayList<HashMap<String, Object>> wpdList = getMapEntry(wpdOneHourSdfMap);
         ArrayList<HashMap<String, Object>> awsList = getMapEntry(wsOneHourSdfMap);
-        //风功率平均值
-        BigDecimal aveWpd = sumWpd.divide(total, 2, RoundingMode.HALF_UP);
-        //风速平均值
-        BigDecimal aveWs = sumWs.divide(total, 2, RoundingMode.HALF_UP);
+        BigDecimal aveWpd = BigDecimal.ZERO;
+        BigDecimal aveWs = BigDecimal.ZERO;
+
+        if (total.compareTo(BigDecimal.ZERO) != 0) {
+            //风功率平均值
+            aveWpd = sumWpd.divide(total, 2, RoundingMode.HALF_UP);
+            //风速平均值
+            aveWs = sumWs.divide(total, 2, RoundingMode.HALF_UP);
+        }
         map.put("awsList", awsList);
         map.put("wpdList", wpdList);
         map.put("WindPowerDensity", windPowerDensity);

+ 3 - 1
neim-biz/src/main/java/com/jiayue/biz/service/impl/WindTowerDataParentTableServiceImpl.java

@@ -108,7 +108,9 @@ public class WindTowerDataParentTableServiceImpl extends ServiceImpl<WindTowerDa
         try {
             //所有数据
             for (Map<String, Object> m : allData) {
-                this.packageOrgData(m, heightAll, simpleDateFormat, eqNo, "org");
+                if(!operation.equals("DataRecalculation")){
+                    this.packageOrgData(m, heightAll, simpleDateFormat, eqNo, "org");
+                }
                 //异常数据赋值为-99
                 if (m.get("abnormalType") != null) {
                     if (m.get("abnormalType").toString().contains(",")) {

+ 8 - 3
neim-ui/src/views/windResources/windRose/index.vue

@@ -159,9 +159,14 @@ export default {
     /*风功率玫瑰图*/
     getWindEnergyDensity(param) {
       getWindEnergyDensity(param).then(res => {
-        var data = [res.data[0].N, res.data[1].NNE, res.data[2].NE, res.data[3].ENE, res.data[4].E, res.data[5].ESE, res.data[6].SE, res.data[7].SSE, res.data[8].S, res.data[9].SSW, res.data[10].SW, res.data[11].WSW, res.data[12].W, res.data[13].WNW, res.data[14].NW, res.data[15].NNW]
-        /*获取数组的最大值*/
-        var max = Math.max.apply(null, data) == 0 ? 100 : Math.max.apply(null, data);
+        let data = []
+        let max = 1
+        if(res.data.length>0){
+          data = [res.data[0].N, res.data[1].NNE, res.data[2].NE, res.data[3].ENE, res.data[4].E, res.data[5].ESE, res.data[6].SE, res.data[7].SSE, res.data[8].S, res.data[9].SSW, res.data[10].SW, res.data[11].WSW, res.data[12].W, res.data[13].WNW, res.data[14].NW, res.data[15].NNW]
+          /*获取数组的最大值*/
+          max = Math.max.apply(null, data) == 0 ? 100 : Math.max.apply(null, data);
+          this.drawPowerChart(data, max)
+        }
         this.drawPowerChart(data, max)
       }).catch(err => {
         this.powerChart.hideLoading();