zmc
2023-11-24 e7ce285475a1355eeaeaba1855e3cd615eafa13b
src/utils/risk_estimate_common_function/index.js
@@ -44,9 +44,10 @@
      }
      // 计算平均值,在线率,有效率,超标率
      sumAvg = sumAvg + item.dayAvg
      sumOnline = sumOnline + Number(item.dayOnline.slice(0, -1))
      sumValid = sumValid + Number(item.dayValid.slice(0, -1))
      sumExceeding = sumExceeding + Number(item.dayExceeding.slice(0, -1))
      sumOnline = sumOnline + Number(item.dayOnline)
      sumValid = sumValid + Number(item.dayValid)
      sumExceeding = sumExceeding + Number(item.dayExceeding)
    })
    // 计算均值
    avg = sumAvg / dayDiff
@@ -109,8 +110,8 @@
      if (exception.length == 0) {
        exception.push(item.exceptionType)
      }
      // 保存新的异常类型
      else if (exception.indexOf(item.exceptionType) == -1) {
      // 保存新的异常类型 数据超低、长时间无波动等两类异常暂不纳入分析
      else if ( item.exceptionType!='1' && item.exceptionType!='3' && exception.indexOf(item.exceptionType) == -1) {
        exception.push(item.exceptionType)
      }
    })
@@ -137,15 +138,33 @@
      default:
        return 'error'
    }
    exceptionTypeAggregation = (exception.length / 8).toFixed(2)
    // 数据超低、长时间无波动等两类异常暂不纳入分析
    exceptionTypeAggregation = (exception.length / 6).toFixed(2)
    let obj = {}
    obj['exceptionRecurrence'] = exceptionTyprRecurRate
    obj['exceptionTypeAggregation'] = exceptionTypeAggregation
    if(exception.length>0){
      // 保存该时段出现的异常
      obj['exception'] = exception.length
    }else{
      obj['exception'] = 0
    }
    // 三类异常出现的次数
    obj['mutationCount'] = mutationCount
    obj['exceedingNearCount'] = exceedingNearCount
    obj['exceedingCriticalDegree'] = exceedingCriticalDegree
    return obj
  },
  // 参数:对象数组(该对象中的属性不能是引用类型,否则拷贝的值还是会相互影响)
  // 功能:拷贝该对象数组。
  shallowCopyList(val) {
@@ -250,18 +269,19 @@
      obj.region = '金山区'
      obj.monitorType = '扬尘'
      obj.siteName = res.name
      obj.mnCode = res.mnCode
      obj.beginTime = beginTime
      obj.endTime = endTime
      obj.riskValue = weight
      if (weight >= 0.6) {
        obj.riskGrage = '高风险'
        obj.riskAdvice = '建议对该站点进行线下执法检查,专项数据对比'
        obj.riskAdvice = '1.若不涉及超标或在线率、有效率异常,常态数据审核即可;\n2.若涉及超标或在线率、有效率等异常,建议通过守法服务小程序、监测监管微信群等线上方式提示站点所属单位,及时开展自查自纠;'
      } else if (weight < 0.6 && weight >= 0.2) {
        obj.riskGrage = '中风险'
        obj.riskAdvice = '建议开展常态追踪分析'
        obj.riskAdvice = '1.建议通过守法服务小程序、监测监管微信群等线上方式提示站点所属单位,聚焦当前存在的问题或隐患,及时开展自查自纠;\n2.若同时存在在线率或有效率月度不达标,建议电话通知该站点所属单位进行应急维护,并进行专项审核;'
      } else {
        obj.riskGrage = '低风险'
        obj.riskAdvice = '建议引导企业长态保持'
        obj.riskAdvice = '1.建议及时提醒该站点所属单位进行应急维护;\n2.若同时存在超标、临界超标、量级突变等异常时,建议将该站点移交环境执法大队开展现场执法检查;\n3.若持续两月及以上为高风险,建议将该站点纳入年度抽测比对清单;'
      }
      table.push(obj)
    })