|
|
|
@ -140,10 +140,7 @@ object ParseHelper {
|
|
|
|
|
* 插入气体数据
|
|
|
|
|
*/
|
|
|
|
|
private fun insertGasData(
|
|
|
|
|
typeEnum: GasTypeEnum,
|
|
|
|
|
value: Float,
|
|
|
|
|
unit: String,
|
|
|
|
|
overRange: Boolean
|
|
|
|
|
typeEnum: GasTypeEnum, value: Float, unit: String, overRange: Boolean
|
|
|
|
|
) {
|
|
|
|
|
GlobalScope.launch(Dispatchers.Unconfined) {
|
|
|
|
|
// 阈值范围
|
|
|
|
@ -153,6 +150,8 @@ object ParseHelper {
|
|
|
|
|
// 构造气体数据
|
|
|
|
|
val timeMillis = System.currentTimeMillis()
|
|
|
|
|
val gas = Gas(timeMillis, typeEnum.desc, value, unit, min, max)
|
|
|
|
|
val warning = dealWarning(typeEnum, value, min, max, unit, overRange)
|
|
|
|
|
gas.warnTxt = getShowWarnTxt(warning)
|
|
|
|
|
|
|
|
|
|
// 存储临时数据
|
|
|
|
|
gasMap[typeEnum.desc] = gas
|
|
|
|
@ -160,13 +159,11 @@ object ParseHelper {
|
|
|
|
|
val gasDao = DBUtils.gasDao()
|
|
|
|
|
gasDao.insert(gas)
|
|
|
|
|
|
|
|
|
|
val warning = dealWarning(typeEnum, value, min, max, unit, overRange)
|
|
|
|
|
|
|
|
|
|
// 设置水印数据
|
|
|
|
|
setOverlayData()
|
|
|
|
|
|
|
|
|
|
// 实时数据上传后台
|
|
|
|
|
uploadGasData(gas, getShowWarnTxt(warning))
|
|
|
|
|
uploadGasData(gas)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -186,13 +183,7 @@ object ParseHelper {
|
|
|
|
|
if (value < min || value > max) {
|
|
|
|
|
if (warning == null || warning.endTime > 0) {
|
|
|
|
|
val insertWarning = Warning(
|
|
|
|
|
typeEnum.desc,
|
|
|
|
|
value,
|
|
|
|
|
unit,
|
|
|
|
|
System.currentTimeMillis(),
|
|
|
|
|
min,
|
|
|
|
|
max,
|
|
|
|
|
overRange
|
|
|
|
|
typeEnum.desc, value, unit, System.currentTimeMillis(), min, max, overRange
|
|
|
|
|
)
|
|
|
|
|
warningDao.insert(insertWarning)
|
|
|
|
|
return insertWarning
|
|
|
|
@ -212,13 +203,7 @@ object ParseHelper {
|
|
|
|
|
if (value > min) {
|
|
|
|
|
if (warning == null || warning.endTime > 0) {
|
|
|
|
|
val insertWarning = Warning(
|
|
|
|
|
typeEnum.desc,
|
|
|
|
|
value,
|
|
|
|
|
unit,
|
|
|
|
|
System.currentTimeMillis(),
|
|
|
|
|
min,
|
|
|
|
|
max,
|
|
|
|
|
overRange
|
|
|
|
|
typeEnum.desc, value, unit, System.currentTimeMillis(), min, max, overRange
|
|
|
|
|
)
|
|
|
|
|
warningDao.insert(insertWarning)
|
|
|
|
|
return insertWarning
|
|
|
|
@ -238,10 +223,10 @@ object ParseHelper {
|
|
|
|
|
return null
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private suspend fun uploadGasData(gas: Gas, showWarnTxt: String) {
|
|
|
|
|
private suspend fun uploadGasData(gas: Gas) {
|
|
|
|
|
try {
|
|
|
|
|
// 上传实时气体数据
|
|
|
|
|
tempGasData.add(GasReqBean(gas, showWarnTxt))
|
|
|
|
|
tempGasData.add(GasReqBean(gas))
|
|
|
|
|
if (tempGasData.size > GAS_CLOUD_UPLOAD_SIZE_ONCE) {
|
|
|
|
|
devicesApi.uploadGasData(tempGasData)
|
|
|
|
|
tempGasData.clear()
|
|
|
|
@ -303,8 +288,7 @@ object ParseHelper {
|
|
|
|
|
* 离线检查
|
|
|
|
|
*/
|
|
|
|
|
class FlagRunnable(
|
|
|
|
|
private val gasName: GasTypeEnum,
|
|
|
|
|
private val sensorIndex: Int
|
|
|
|
|
private val gasName: GasTypeEnum, private val sensorIndex: Int
|
|
|
|
|
) : Runnable {
|
|
|
|
|
override fun run() {
|
|
|
|
|
GlobalScope.launch(Dispatchers.IO) {
|
|
|
|
|