diff --git a/app/src/main/java/com/casic/br/ar/app/extensions/List.kt b/app/src/main/java/com/casic/br/ar/app/extensions/List.kt index 28faaf7..6885b45 100644 --- a/app/src/main/java/com/casic/br/ar/app/extensions/List.kt +++ b/app/src/main/java/com/casic/br/ar/app/extensions/List.kt @@ -1,6 +1,7 @@ package com.casic.br.ar.app.extensions import com.casic.br.ar.app.external.YoloResult +import com.casic.br.ar.app.model.HiddenTroubleResult /** * 判断集合中是否含有某一类元素 @@ -14,4 +15,15 @@ } } return result +} + +fun List.isContains(alarmCode: String): Boolean { + var result = false + for (hidden in this) { + if (hidden.alarmCode == alarmCode) { + result = true + break + } + } + return result } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/extensions/List.kt b/app/src/main/java/com/casic/br/ar/app/extensions/List.kt index 28faaf7..6885b45 100644 --- a/app/src/main/java/com/casic/br/ar/app/extensions/List.kt +++ b/app/src/main/java/com/casic/br/ar/app/extensions/List.kt @@ -1,6 +1,7 @@ package com.casic.br.ar.app.extensions import com.casic.br.ar.app.external.YoloResult +import com.casic.br.ar.app.model.HiddenTroubleResult /** * 判断集合中是否含有某一类元素 @@ -14,4 +15,15 @@ } } return result +} + +fun List.isContains(alarmCode: String): Boolean { + var result = false + for (hidden in this) { + if (hidden.alarmCode == alarmCode) { + result = true + break + } + } + return result } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/model/HiddenTroubleResult.java b/app/src/main/java/com/casic/br/ar/app/model/HiddenTroubleResult.java index 133e17e..cab20c1 100644 --- a/app/src/main/java/com/casic/br/ar/app/model/HiddenTroubleResult.java +++ b/app/src/main/java/com/casic/br/ar/app/model/HiddenTroubleResult.java @@ -1,8 +1,6 @@ package com.casic.br.ar.app.model; -import com.casic.br.ar.app.external.YoloResult; - -public class HiddenTroubleResult extends YoloResult { +public class HiddenTroubleResult { private String alarmCode; private String warning; diff --git a/app/src/main/java/com/casic/br/ar/app/extensions/List.kt b/app/src/main/java/com/casic/br/ar/app/extensions/List.kt index 28faaf7..6885b45 100644 --- a/app/src/main/java/com/casic/br/ar/app/extensions/List.kt +++ b/app/src/main/java/com/casic/br/ar/app/extensions/List.kt @@ -1,6 +1,7 @@ package com.casic.br.ar.app.extensions import com.casic.br.ar.app.external.YoloResult +import com.casic.br.ar.app.model.HiddenTroubleResult /** * 判断集合中是否含有某一类元素 @@ -14,4 +15,15 @@ } } return result +} + +fun List.isContains(alarmCode: String): Boolean { + var result = false + for (hidden in this) { + if (hidden.alarmCode == alarmCode) { + result = true + break + } + } + return result } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/model/HiddenTroubleResult.java b/app/src/main/java/com/casic/br/ar/app/model/HiddenTroubleResult.java index 133e17e..cab20c1 100644 --- a/app/src/main/java/com/casic/br/ar/app/model/HiddenTroubleResult.java +++ b/app/src/main/java/com/casic/br/ar/app/model/HiddenTroubleResult.java @@ -1,8 +1,6 @@ package com.casic.br.ar.app.model; -import com.casic.br.ar.app.external.YoloResult; - -public class HiddenTroubleResult extends YoloResult { +public class HiddenTroubleResult { private String alarmCode; private String warning; diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckResultActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckResultActivity.kt index cb19568..a14f871 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckResultActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckResultActivity.kt @@ -36,8 +36,10 @@ inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java] locationManager.getCurrentLocation(false, object : LocationManager.OnGetLocationListener { override fun onAMapLocationGet(location: AMapLocation?) { - location?.apply { - binding.siteView.text = address + if (location == null) { + binding.siteView.text = "信号差,定位失败" + } else { + binding.siteView.text = location.address } } }) diff --git a/app/src/main/java/com/casic/br/ar/app/extensions/List.kt b/app/src/main/java/com/casic/br/ar/app/extensions/List.kt index 28faaf7..6885b45 100644 --- a/app/src/main/java/com/casic/br/ar/app/extensions/List.kt +++ b/app/src/main/java/com/casic/br/ar/app/extensions/List.kt @@ -1,6 +1,7 @@ package com.casic.br.ar.app.extensions import com.casic.br.ar.app.external.YoloResult +import com.casic.br.ar.app.model.HiddenTroubleResult /** * 判断集合中是否含有某一类元素 @@ -14,4 +15,15 @@ } } return result +} + +fun List.isContains(alarmCode: String): Boolean { + var result = false + for (hidden in this) { + if (hidden.alarmCode == alarmCode) { + result = true + break + } + } + return result } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/model/HiddenTroubleResult.java b/app/src/main/java/com/casic/br/ar/app/model/HiddenTroubleResult.java index 133e17e..cab20c1 100644 --- a/app/src/main/java/com/casic/br/ar/app/model/HiddenTroubleResult.java +++ b/app/src/main/java/com/casic/br/ar/app/model/HiddenTroubleResult.java @@ -1,8 +1,6 @@ package com.casic.br.ar.app.model; -import com.casic.br.ar.app.external.YoloResult; - -public class HiddenTroubleResult extends YoloResult { +public class HiddenTroubleResult { private String alarmCode; private String warning; diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckResultActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckResultActivity.kt index cb19568..a14f871 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckResultActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckResultActivity.kt @@ -36,8 +36,10 @@ inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java] locationManager.getCurrentLocation(false, object : LocationManager.OnGetLocationListener { override fun onAMapLocationGet(location: AMapLocation?) { - location?.apply { - binding.siteView.text = address + if (location == null) { + binding.siteView.text = "信号差,定位失败" + } else { + binding.siteView.text = location.address } } }) diff --git a/app/src/main/java/com/casic/br/ar/app/widgets/CheckItemDialog.kt b/app/src/main/java/com/casic/br/ar/app/widgets/CheckItemDialog.kt index 8ae9e5b..506dccc 100644 --- a/app/src/main/java/com/casic/br/ar/app/widgets/CheckItemDialog.kt +++ b/app/src/main/java/com/casic/br/ar/app/widgets/CheckItemDialog.kt @@ -103,7 +103,9 @@ this.mat = mat detectResults.forEach { //将识别到的目标type存起来。判断隐患需要 - targetTypeSet.add(it.type) + if (it.type != 41 && it.type != 56) { + targetTypeSet.add(it.type) + } } detectHelper.siftHiddenTrouble(targetTypeSet, segmentationResults, detectResults) for (result in detectResults) { @@ -152,43 +154,27 @@ lastResult: List, hiddenTroubleResult: HiddenTroubleResult ) { this.hiddenTroubleResult = hiddenTroubleResult - if (checkItem.contains("安全帽")) { - if (lastResult.isContains(13) && !lastResult.isContains(15)) { - //未佩戴安全帽 - startCountDownTimer("未佩戴安全帽", true) - return - } + if (checkItem.contains("安全帽") && lastResult.isContains("ConfinedSpaceHasNoWorkerSafelyHat")) { + //未佩戴安全帽 + startCountDownTimer("未佩戴安全帽", true) + return } if (checkItem.contains("防护服") || checkItem.contains("工服")) { - if (lastResult.isContains(13) && !lastResult.isContains(20)) { + if (lastResult.isContains("ConfinedSpaceHasNoWorkerClothes")) { //未着工服 - startCountDownTimer("未着工服", true) + startCountDownTimer("未穿工服/防护服", true) return } } - if (checkItem.contains("安全带") || checkItem.contains("安全绳")) { - if (lastResult.isContains(13) && !lastResult.isContains(17)) { - startCountDownTimer("没有佩戴安全带、安全绳", true) - return - } + if (checkItem.contains("连接软管") && lastResult.isContains("NonResidentUserHasNonDedicatedHose")) { + startCountDownTimer("非标准软管", true) + return } - if (checkItem.contains("连接软管")) { - if (lastResult.isContains(56)) { - startCountDownTimer("商业燃具与燃气管道的连接软管应采用专用燃具连接软管", true) - return - } - - if (!lastResult.isContains(2)) { - startCountDownTimer("商业燃具与燃气管道的连接软管应采用专用燃具连接软管", true) - return - } - } - - if (checkItem.contains("熄火保护装置") && !lastResult.isContains(38)) { - startCountDownTimer("商业燃具应设置熄火保护装置", true) + if (checkItem.contains("熄火保护装置") && lastResult.isContains("NonResidentUserHasNoStoveFlameoutProtection")) { + startCountDownTimer("未发现熄火保护装置", true) return } } diff --git a/app/src/main/java/com/casic/br/ar/app/extensions/List.kt b/app/src/main/java/com/casic/br/ar/app/extensions/List.kt index 28faaf7..6885b45 100644 --- a/app/src/main/java/com/casic/br/ar/app/extensions/List.kt +++ b/app/src/main/java/com/casic/br/ar/app/extensions/List.kt @@ -1,6 +1,7 @@ package com.casic.br.ar.app.extensions import com.casic.br.ar.app.external.YoloResult +import com.casic.br.ar.app.model.HiddenTroubleResult /** * 判断集合中是否含有某一类元素 @@ -14,4 +15,15 @@ } } return result +} + +fun List.isContains(alarmCode: String): Boolean { + var result = false + for (hidden in this) { + if (hidden.alarmCode == alarmCode) { + result = true + break + } + } + return result } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/model/HiddenTroubleResult.java b/app/src/main/java/com/casic/br/ar/app/model/HiddenTroubleResult.java index 133e17e..cab20c1 100644 --- a/app/src/main/java/com/casic/br/ar/app/model/HiddenTroubleResult.java +++ b/app/src/main/java/com/casic/br/ar/app/model/HiddenTroubleResult.java @@ -1,8 +1,6 @@ package com.casic.br.ar.app.model; -import com.casic.br.ar.app.external.YoloResult; - -public class HiddenTroubleResult extends YoloResult { +public class HiddenTroubleResult { private String alarmCode; private String warning; diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckResultActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckResultActivity.kt index cb19568..a14f871 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckResultActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckResultActivity.kt @@ -36,8 +36,10 @@ inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java] locationManager.getCurrentLocation(false, object : LocationManager.OnGetLocationListener { override fun onAMapLocationGet(location: AMapLocation?) { - location?.apply { - binding.siteView.text = address + if (location == null) { + binding.siteView.text = "信号差,定位失败" + } else { + binding.siteView.text = location.address } } }) diff --git a/app/src/main/java/com/casic/br/ar/app/widgets/CheckItemDialog.kt b/app/src/main/java/com/casic/br/ar/app/widgets/CheckItemDialog.kt index 8ae9e5b..506dccc 100644 --- a/app/src/main/java/com/casic/br/ar/app/widgets/CheckItemDialog.kt +++ b/app/src/main/java/com/casic/br/ar/app/widgets/CheckItemDialog.kt @@ -103,7 +103,9 @@ this.mat = mat detectResults.forEach { //将识别到的目标type存起来。判断隐患需要 - targetTypeSet.add(it.type) + if (it.type != 41 && it.type != 56) { + targetTypeSet.add(it.type) + } } detectHelper.siftHiddenTrouble(targetTypeSet, segmentationResults, detectResults) for (result in detectResults) { @@ -152,43 +154,27 @@ lastResult: List, hiddenTroubleResult: HiddenTroubleResult ) { this.hiddenTroubleResult = hiddenTroubleResult - if (checkItem.contains("安全帽")) { - if (lastResult.isContains(13) && !lastResult.isContains(15)) { - //未佩戴安全帽 - startCountDownTimer("未佩戴安全帽", true) - return - } + if (checkItem.contains("安全帽") && lastResult.isContains("ConfinedSpaceHasNoWorkerSafelyHat")) { + //未佩戴安全帽 + startCountDownTimer("未佩戴安全帽", true) + return } if (checkItem.contains("防护服") || checkItem.contains("工服")) { - if (lastResult.isContains(13) && !lastResult.isContains(20)) { + if (lastResult.isContains("ConfinedSpaceHasNoWorkerClothes")) { //未着工服 - startCountDownTimer("未着工服", true) + startCountDownTimer("未穿工服/防护服", true) return } } - if (checkItem.contains("安全带") || checkItem.contains("安全绳")) { - if (lastResult.isContains(13) && !lastResult.isContains(17)) { - startCountDownTimer("没有佩戴安全带、安全绳", true) - return - } + if (checkItem.contains("连接软管") && lastResult.isContains("NonResidentUserHasNonDedicatedHose")) { + startCountDownTimer("非标准软管", true) + return } - if (checkItem.contains("连接软管")) { - if (lastResult.isContains(56)) { - startCountDownTimer("商业燃具与燃气管道的连接软管应采用专用燃具连接软管", true) - return - } - - if (!lastResult.isContains(2)) { - startCountDownTimer("商业燃具与燃气管道的连接软管应采用专用燃具连接软管", true) - return - } - } - - if (checkItem.contains("熄火保护装置") && !lastResult.isContains(38)) { - startCountDownTimer("商业燃具应设置熄火保护装置", true) + if (checkItem.contains("熄火保护装置") && lastResult.isContains("NonResidentUserHasNoStoveFlameoutProtection")) { + startCountDownTimer("未发现熄火保护装置", true) return } } diff --git a/app/src/main/res/layout/activity_check_result.xml b/app/src/main/res/layout/activity_check_result.xml index 96a8a52..855c651 100644 --- a/app/src/main/res/layout/activity_check_result.xml +++ b/app/src/main/res/layout/activity_check_result.xml @@ -36,7 +36,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_vertical" - android:text="隐患内容" + android:text="检查位置" android:textColor="@color/white" android:textSize="@dimen/sp_16" /> @@ -46,6 +46,7 @@ android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_20" android:singleLine="true" + android:text="定位中,请稍后..." android:textColor="@color/white" android:textColorHint="@color/white" android:textSize="@dimen/sp_16" />