feiyu02
2024-07-18 5b0d58c3f7f35f61c0a0437bac3ff708db57fe61
src/main/kotlin/com/flightfeather/uav/repository/impl/AirDataRepositoryImpl.kt
@@ -97,6 +97,7 @@
                realTimeDataGridMapper.insert(d)
                count++
            }
            else -> Unit
        }
        return count
    }
@@ -123,6 +124,7 @@
                    realTimeDataGridMapper.insert(d)
                    count++
                }
                else -> Unit
            }
        }
        return count
@@ -136,7 +138,7 @@
                    val d = RealTimeDataVehicle()
                    dataTransform(vo, d)
                    /***************************************************************************************************/
                    // FIXME: 2021/10/27 车载监测部分因子量级调整:NO2*0.6,H2S*0.3, SO2*0.2, O3*0.5,其他要素不变
                    // FIXME: 2021/10/27 车载监测部分因子量级调整
                    calibration(d, UWDeviceType.VEHICLE)
                    /***************************************************************************************************/
                    realTimeDataVehicleMapper.insert(d)
@@ -172,29 +174,29 @@
                    dataTransform(vo, d)
                    /**************************************************************************/
                    // FIXME: 2021/11/8 针对历史网格化原始数据,进行临时校准处理
                    val dTime = LocalDateTime.ofInstant(d.dataTime?.toInstant(), ZoneId.systemDefault())
                    // CO: 2021.8.28 17:27起 *0.25
                    val coTime = LocalDateTime.of(2021, 8, 28, 17, 27, 0)
                    if (dTime.isAfter(coTime)) {
                        d.co = d.co?.times(0.25f)
                    }
                    // NO2
                    d.no2 = d.no2?.times(0.6f)
                    // O3
                    d.o3 = abs(d.o3?.minus(d.no2?.div(2) ?: 0f) ?: 0f) * 1.5f
                    // SO2: *0.2, 2021.8.29 6:00起 *0.08
                    val so2Time = LocalDateTime.of(2021, 8, 29, 6, 0, 0)
                    d.so2 = if (dTime.isAfter(so2Time)) {
                        d.so2?.times(0.08f)
                    } else {
                        d.so2?.times(0.2f)
                    }
                    // H2S
                    d.h2s = d.h2s?.let { sqrt(it) * 2 }
//                    val dTime = LocalDateTime.ofInstant(d.dataTime?.toInstant(), ZoneId.systemDefault())
//                    // CO: 2021.8.28 17:27起 *0.25
//                    val coTime = LocalDateTime.of(2021, 8, 28, 17, 27, 0)
//                    if (dTime.isAfter(coTime)) {
//                        d.co = d.co?.times(0.25f)
//                    }
//
//                    // NO2
//                    d.no2 = d.no2?.times(0.6f)
//
//                    // O3
//                    d.o3 = abs(d.o3?.minus(d.no2?.div(2) ?: 0f) ?: 0f) * 1.5f
//
//                    // SO2: *0.2, 2021.8.29 6:00起 *0.08
//                    val so2Time = LocalDateTime.of(2021, 8, 29, 6, 0, 0)
//                    d.so2 = if (dTime.isAfter(so2Time)) {
//                        d.so2?.times(0.08f)
//                    } else {
//                        d.so2?.times(0.2f)
//                    }
//
//                    // H2S
//                    d.h2s = d.h2s?.let { sqrt(it) * 2 }
                    /**************************************************************************/
                    realTimeDataGridMapper.insert(d)
                    count++
@@ -202,6 +204,7 @@
                UWDeviceType.BOAT -> {
                }
                else -> Unit
            }
        }
        return count
@@ -270,7 +273,7 @@
        }
    }
    private fun dataTransform(vo: DataVo, bean: BaseRealTimeData) {
    fun dataTransform(vo: DataVo, bean: BaseRealTimeData) {
        bean.apply {
            deviceCode = vo.deviceCode
            latitude = vo.lat?.toBigDecimal()