diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index f58199f..68673ca 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -104,7 +104,7 @@ } val alarmValue = if (item.alarmType == "1") { - "${item.alarmValue}ppm" + "${item.alarmValue}" } else { "${item.alarmValue * 100}%" } @@ -123,16 +123,9 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } - } else { - holder.setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.alarmTimeView, "报警时间") - .setText(R.id.alarmTypeView, "报警类型") - .setText(R.id.alarmValueView, "报警值") - .setText(R.id.alarmAddressView, "详细地址") - .setText(R.id.alarmStateView, "处置情况") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index f58199f..68673ca 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -104,7 +104,7 @@ } val alarmValue = if (item.alarmType == "1") { - "${item.alarmValue}ppm" + "${item.alarmValue}" } else { "${item.alarmValue * 100}%" } @@ -123,16 +123,9 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } - } else { - holder.setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.alarmTimeView, "报警时间") - .setText(R.id.alarmTypeView, "报警类型") - .setText(R.id.alarmValueView, "报警值") - .setText(R.id.alarmAddressView, "详细地址") - .setText(R.id.alarmStateView, "处置情况") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt index 82978e7..b68bf67 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt @@ -122,7 +122,7 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } @@ -143,13 +143,6 @@ itemCheckedListener?.onItemChecked(selectedItems) } - } else { - (holder as ViewHolder).setText(R.id.taskCodeView, "任务编号") - .setText(R.id.taskNameView, "巡检任务名称") - .setText(R.id.startTimeView, "开始时间") - .setText(R.id.endTimeView, "结束时间") - .setText(R.id.pathLengthView, "巡检公里") - .setText(R.id.taskStateView, "巡检状态") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index f58199f..68673ca 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -104,7 +104,7 @@ } val alarmValue = if (item.alarmType == "1") { - "${item.alarmValue}ppm" + "${item.alarmValue}" } else { "${item.alarmValue * 100}%" } @@ -123,16 +123,9 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } - } else { - holder.setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.alarmTimeView, "报警时间") - .setText(R.id.alarmTypeView, "报警类型") - .setText(R.id.alarmValueView, "报警值") - .setText(R.id.alarmAddressView, "详细地址") - .setText(R.id.alarmStateView, "处置情况") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt index 82978e7..b68bf67 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt @@ -122,7 +122,7 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } @@ -143,13 +143,6 @@ itemCheckedListener?.onItemChecked(selectedItems) } - } else { - (holder as ViewHolder).setText(R.id.taskCodeView, "任务编号") - .setText(R.id.taskNameView, "巡检任务名称") - .setText(R.id.startTimeView, "开始时间") - .setText(R.id.endTimeView, "结束时间") - .setText(R.id.pathLengthView, "巡检公里") - .setText(R.id.taskStateView, "巡检状态") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt index 1cf0051..3e55c16 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt @@ -11,8 +11,7 @@ import com.pengxh.kt.lite.adapter.ViewHolder class TaskDetailAdapter( - private val ctx: Context, - private val dataRows: MutableList + ctx: Context, private val dataRows: MutableList ) : RecyclerView.Adapter() { private val TYPE_TOP_TITLE = 0 @@ -42,32 +41,19 @@ //绑定数据。标题已经把position=0占用,但是size+1,所以需要数据绑定实际position-1 val item = dataRows[position - 1] - holder.setText(R.id.locateTimeView, item.ts) - .setText(R.id.gasValueView, item.gas) - .setText(R.id.horizontalAngleView, item.direction) - .setText(R.id.verticalAngleView, item.pitch) - .setText(R.id.isAlarmView, item.isAlarm) - .setText(R.id.alarmCodeView, item.alarmCode) - .setText(R.id.speedView, item.speed) - .setText(R.id.lngView, item.longitude) - .setText(R.id.latView, item.lagitude) - } else { - holder.setText(R.id.locateTimeView, "时间") - .setText(R.id.gasValueView, "气体浓度") - .setText(R.id.horizontalAngleView, "水平角度") - .setText(R.id.verticalAngleView, "垂直角度") - .setText(R.id.isAlarmView, "是否报警") - .setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.speedView, "车速") - .setText(R.id.lngView, "经度") - .setText(R.id.latView, "纬度") - .setText(R.id.operationView, "操作") - } - - //item背景色 - if (position % 2 == 0) { + //item背景色 val linearLayout = holder.itemView.findViewById(R.id.rootView) - linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + if (position % 2 == 0) { + linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + } else { + linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) + } + + holder.setText(R.id.locateTimeView, item.ts).setText(R.id.gasValueView, item.gas) + .setText(R.id.horizontalAngleView, item.direction) + .setText(R.id.verticalAngleView, item.pitch).setText(R.id.isAlarmView, item.isAlarm) + .setText(R.id.alarmCodeView, item.alarmCode).setText(R.id.speedView, item.speed) + .setText(R.id.lngView, item.longitude).setText(R.id.latView, item.lagitude) } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index f58199f..68673ca 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -104,7 +104,7 @@ } val alarmValue = if (item.alarmType == "1") { - "${item.alarmValue}ppm" + "${item.alarmValue}" } else { "${item.alarmValue * 100}%" } @@ -123,16 +123,9 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } - } else { - holder.setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.alarmTimeView, "报警时间") - .setText(R.id.alarmTypeView, "报警类型") - .setText(R.id.alarmValueView, "报警值") - .setText(R.id.alarmAddressView, "详细地址") - .setText(R.id.alarmStateView, "处置情况") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt index 82978e7..b68bf67 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt @@ -122,7 +122,7 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } @@ -143,13 +143,6 @@ itemCheckedListener?.onItemChecked(selectedItems) } - } else { - (holder as ViewHolder).setText(R.id.taskCodeView, "任务编号") - .setText(R.id.taskNameView, "巡检任务名称") - .setText(R.id.startTimeView, "开始时间") - .setText(R.id.endTimeView, "结束时间") - .setText(R.id.pathLengthView, "巡检公里") - .setText(R.id.taskStateView, "巡检状态") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt index 1cf0051..3e55c16 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt @@ -11,8 +11,7 @@ import com.pengxh.kt.lite.adapter.ViewHolder class TaskDetailAdapter( - private val ctx: Context, - private val dataRows: MutableList + ctx: Context, private val dataRows: MutableList ) : RecyclerView.Adapter() { private val TYPE_TOP_TITLE = 0 @@ -42,32 +41,19 @@ //绑定数据。标题已经把position=0占用,但是size+1,所以需要数据绑定实际position-1 val item = dataRows[position - 1] - holder.setText(R.id.locateTimeView, item.ts) - .setText(R.id.gasValueView, item.gas) - .setText(R.id.horizontalAngleView, item.direction) - .setText(R.id.verticalAngleView, item.pitch) - .setText(R.id.isAlarmView, item.isAlarm) - .setText(R.id.alarmCodeView, item.alarmCode) - .setText(R.id.speedView, item.speed) - .setText(R.id.lngView, item.longitude) - .setText(R.id.latView, item.lagitude) - } else { - holder.setText(R.id.locateTimeView, "时间") - .setText(R.id.gasValueView, "气体浓度") - .setText(R.id.horizontalAngleView, "水平角度") - .setText(R.id.verticalAngleView, "垂直角度") - .setText(R.id.isAlarmView, "是否报警") - .setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.speedView, "车速") - .setText(R.id.lngView, "经度") - .setText(R.id.latView, "纬度") - .setText(R.id.operationView, "操作") - } - - //item背景色 - if (position % 2 == 0) { + //item背景色 val linearLayout = holder.itemView.findViewById(R.id.rootView) - linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + if (position % 2 == 0) { + linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + } else { + linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) + } + + holder.setText(R.id.locateTimeView, item.ts).setText(R.id.gasValueView, item.gas) + .setText(R.id.horizontalAngleView, item.direction) + .setText(R.id.verticalAngleView, item.pitch).setText(R.id.isAlarmView, item.isAlarm) + .setText(R.id.alarmCodeView, item.alarmCode).setText(R.id.speedView, item.speed) + .setText(R.id.lngView, item.longitude).setText(R.id.latView, item.lagitude) } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index ccaa7ff..c960e49 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -101,15 +101,13 @@ * 新增任务 */ suspend fun addTask( - taskTitle: String, carId: String, beginDate: String, status: String, valid: String + carId: String, latitude: String, longitude: String, taskTitle: String ): String { val param = JsonObject() - param.addProperty("description", "") param.addProperty("carId", carId) - param.addProperty("valid", valid) - param.addProperty("beginDate", beginDate) + param.addProperty("latitude", latitude) + param.addProperty("longitude", longitude) param.addProperty("taskName", taskTitle) - param.addProperty("status", status) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index f58199f..68673ca 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -104,7 +104,7 @@ } val alarmValue = if (item.alarmType == "1") { - "${item.alarmValue}ppm" + "${item.alarmValue}" } else { "${item.alarmValue * 100}%" } @@ -123,16 +123,9 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } - } else { - holder.setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.alarmTimeView, "报警时间") - .setText(R.id.alarmTypeView, "报警类型") - .setText(R.id.alarmValueView, "报警值") - .setText(R.id.alarmAddressView, "详细地址") - .setText(R.id.alarmStateView, "处置情况") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt index 82978e7..b68bf67 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt @@ -122,7 +122,7 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } @@ -143,13 +143,6 @@ itemCheckedListener?.onItemChecked(selectedItems) } - } else { - (holder as ViewHolder).setText(R.id.taskCodeView, "任务编号") - .setText(R.id.taskNameView, "巡检任务名称") - .setText(R.id.startTimeView, "开始时间") - .setText(R.id.endTimeView, "结束时间") - .setText(R.id.pathLengthView, "巡检公里") - .setText(R.id.taskStateView, "巡检状态") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt index 1cf0051..3e55c16 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt @@ -11,8 +11,7 @@ import com.pengxh.kt.lite.adapter.ViewHolder class TaskDetailAdapter( - private val ctx: Context, - private val dataRows: MutableList + ctx: Context, private val dataRows: MutableList ) : RecyclerView.Adapter() { private val TYPE_TOP_TITLE = 0 @@ -42,32 +41,19 @@ //绑定数据。标题已经把position=0占用,但是size+1,所以需要数据绑定实际position-1 val item = dataRows[position - 1] - holder.setText(R.id.locateTimeView, item.ts) - .setText(R.id.gasValueView, item.gas) - .setText(R.id.horizontalAngleView, item.direction) - .setText(R.id.verticalAngleView, item.pitch) - .setText(R.id.isAlarmView, item.isAlarm) - .setText(R.id.alarmCodeView, item.alarmCode) - .setText(R.id.speedView, item.speed) - .setText(R.id.lngView, item.longitude) - .setText(R.id.latView, item.lagitude) - } else { - holder.setText(R.id.locateTimeView, "时间") - .setText(R.id.gasValueView, "气体浓度") - .setText(R.id.horizontalAngleView, "水平角度") - .setText(R.id.verticalAngleView, "垂直角度") - .setText(R.id.isAlarmView, "是否报警") - .setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.speedView, "车速") - .setText(R.id.lngView, "经度") - .setText(R.id.latView, "纬度") - .setText(R.id.operationView, "操作") - } - - //item背景色 - if (position % 2 == 0) { + //item背景色 val linearLayout = holder.itemView.findViewById(R.id.rootView) - linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + if (position % 2 == 0) { + linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + } else { + linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) + } + + holder.setText(R.id.locateTimeView, item.ts).setText(R.id.gasValueView, item.gas) + .setText(R.id.horizontalAngleView, item.direction) + .setText(R.id.verticalAngleView, item.pitch).setText(R.id.isAlarmView, item.isAlarm) + .setText(R.id.alarmCodeView, item.alarmCode).setText(R.id.speedView, item.speed) + .setText(R.id.lngView, item.longitude).setText(R.id.latView, item.lagitude) } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index ccaa7ff..c960e49 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -101,15 +101,13 @@ * 新增任务 */ suspend fun addTask( - taskTitle: String, carId: String, beginDate: String, status: String, valid: String + carId: String, latitude: String, longitude: String, taskTitle: String ): String { val param = JsonObject() - param.addProperty("description", "") param.addProperty("carId", carId) - param.addProperty("valid", valid) - param.addProperty("beginDate", beginDate) + param.addProperty("latitude", latitude) + param.addProperty("longitude", longitude) param.addProperty("taskName", taskTitle) - param.addProperty("status", status) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) diff --git a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt index 629cf59..a2a0c30 100644 --- a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt @@ -40,8 +40,8 @@ binding.alarmCodeView.text = model.alarmCode binding.alarmTimeView.text = model.alarmTime - binding.concentrationView.text = model.alarmValue.toString() - binding.caseThresholdView.text = model.alarmThresh.toString() + binding.concentrationView.text = "${model.alarmValue}ppm·m" + binding.caseThresholdView.text = "${model.alarmThresh}ppm·m" val longitude = model.alarmLongitude val latitude = model.alarmLatitude binding.latLngView.text = "$longitude,$latitude" diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index f58199f..68673ca 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -104,7 +104,7 @@ } val alarmValue = if (item.alarmType == "1") { - "${item.alarmValue}ppm" + "${item.alarmValue}" } else { "${item.alarmValue * 100}%" } @@ -123,16 +123,9 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } - } else { - holder.setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.alarmTimeView, "报警时间") - .setText(R.id.alarmTypeView, "报警类型") - .setText(R.id.alarmValueView, "报警值") - .setText(R.id.alarmAddressView, "详细地址") - .setText(R.id.alarmStateView, "处置情况") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt index 82978e7..b68bf67 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt @@ -122,7 +122,7 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } @@ -143,13 +143,6 @@ itemCheckedListener?.onItemChecked(selectedItems) } - } else { - (holder as ViewHolder).setText(R.id.taskCodeView, "任务编号") - .setText(R.id.taskNameView, "巡检任务名称") - .setText(R.id.startTimeView, "开始时间") - .setText(R.id.endTimeView, "结束时间") - .setText(R.id.pathLengthView, "巡检公里") - .setText(R.id.taskStateView, "巡检状态") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt index 1cf0051..3e55c16 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt @@ -11,8 +11,7 @@ import com.pengxh.kt.lite.adapter.ViewHolder class TaskDetailAdapter( - private val ctx: Context, - private val dataRows: MutableList + ctx: Context, private val dataRows: MutableList ) : RecyclerView.Adapter() { private val TYPE_TOP_TITLE = 0 @@ -42,32 +41,19 @@ //绑定数据。标题已经把position=0占用,但是size+1,所以需要数据绑定实际position-1 val item = dataRows[position - 1] - holder.setText(R.id.locateTimeView, item.ts) - .setText(R.id.gasValueView, item.gas) - .setText(R.id.horizontalAngleView, item.direction) - .setText(R.id.verticalAngleView, item.pitch) - .setText(R.id.isAlarmView, item.isAlarm) - .setText(R.id.alarmCodeView, item.alarmCode) - .setText(R.id.speedView, item.speed) - .setText(R.id.lngView, item.longitude) - .setText(R.id.latView, item.lagitude) - } else { - holder.setText(R.id.locateTimeView, "时间") - .setText(R.id.gasValueView, "气体浓度") - .setText(R.id.horizontalAngleView, "水平角度") - .setText(R.id.verticalAngleView, "垂直角度") - .setText(R.id.isAlarmView, "是否报警") - .setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.speedView, "车速") - .setText(R.id.lngView, "经度") - .setText(R.id.latView, "纬度") - .setText(R.id.operationView, "操作") - } - - //item背景色 - if (position % 2 == 0) { + //item背景色 val linearLayout = holder.itemView.findViewById(R.id.rootView) - linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + if (position % 2 == 0) { + linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + } else { + linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) + } + + holder.setText(R.id.locateTimeView, item.ts).setText(R.id.gasValueView, item.gas) + .setText(R.id.horizontalAngleView, item.direction) + .setText(R.id.verticalAngleView, item.pitch).setText(R.id.isAlarmView, item.isAlarm) + .setText(R.id.alarmCodeView, item.alarmCode).setText(R.id.speedView, item.speed) + .setText(R.id.lngView, item.longitude).setText(R.id.latView, item.lagitude) } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index ccaa7ff..c960e49 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -101,15 +101,13 @@ * 新增任务 */ suspend fun addTask( - taskTitle: String, carId: String, beginDate: String, status: String, valid: String + carId: String, latitude: String, longitude: String, taskTitle: String ): String { val param = JsonObject() - param.addProperty("description", "") param.addProperty("carId", carId) - param.addProperty("valid", valid) - param.addProperty("beginDate", beginDate) + param.addProperty("latitude", latitude) + param.addProperty("longitude", longitude) param.addProperty("taskName", taskTitle) - param.addProperty("status", status) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) diff --git a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt index 629cf59..a2a0c30 100644 --- a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt @@ -40,8 +40,8 @@ binding.alarmCodeView.text = model.alarmCode binding.alarmTimeView.text = model.alarmTime - binding.concentrationView.text = model.alarmValue.toString() - binding.caseThresholdView.text = model.alarmThresh.toString() + binding.concentrationView.text = "${model.alarmValue}ppm·m" + binding.caseThresholdView.text = "${model.alarmThresh}ppm·m" val longitude = model.alarmLongitude val latitude = model.alarmLatitude binding.latLngView.text = "$longitude,$latitude" diff --git a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt index 6ed3235..342ac55 100644 --- a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt @@ -179,10 +179,6 @@ gasAlarmRule = SaveKeyValues.getValue(LocaleConstant.ALARM_RULE, 1000) as Int deviceId = SaveKeyValues.getValue(LocaleConstant.YT_DEVICE_ID, "") as String - //初始化任务 - taskViewModel.addTask( - taskTitle, carId, System.currentTimeMillis().timestampToCompleteDate(), "1", "0" - ) taskViewModel.addTaskResult.observe(this) { if (it.code == 200) { taskId = it.data.toString() @@ -284,6 +280,11 @@ } }) + //初始化任务 + taskViewModel.addTask( + carId, latlngs.last.latitude.toString(), latlngs.last.longitude.toString(), taskTitle + ) + /** * TCP初始化 * ***/ diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index f58199f..68673ca 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -104,7 +104,7 @@ } val alarmValue = if (item.alarmType == "1") { - "${item.alarmValue}ppm" + "${item.alarmValue}" } else { "${item.alarmValue * 100}%" } @@ -123,16 +123,9 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } - } else { - holder.setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.alarmTimeView, "报警时间") - .setText(R.id.alarmTypeView, "报警类型") - .setText(R.id.alarmValueView, "报警值") - .setText(R.id.alarmAddressView, "详细地址") - .setText(R.id.alarmStateView, "处置情况") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt index 82978e7..b68bf67 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt @@ -122,7 +122,7 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } @@ -143,13 +143,6 @@ itemCheckedListener?.onItemChecked(selectedItems) } - } else { - (holder as ViewHolder).setText(R.id.taskCodeView, "任务编号") - .setText(R.id.taskNameView, "巡检任务名称") - .setText(R.id.startTimeView, "开始时间") - .setText(R.id.endTimeView, "结束时间") - .setText(R.id.pathLengthView, "巡检公里") - .setText(R.id.taskStateView, "巡检状态") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt index 1cf0051..3e55c16 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt @@ -11,8 +11,7 @@ import com.pengxh.kt.lite.adapter.ViewHolder class TaskDetailAdapter( - private val ctx: Context, - private val dataRows: MutableList + ctx: Context, private val dataRows: MutableList ) : RecyclerView.Adapter() { private val TYPE_TOP_TITLE = 0 @@ -42,32 +41,19 @@ //绑定数据。标题已经把position=0占用,但是size+1,所以需要数据绑定实际position-1 val item = dataRows[position - 1] - holder.setText(R.id.locateTimeView, item.ts) - .setText(R.id.gasValueView, item.gas) - .setText(R.id.horizontalAngleView, item.direction) - .setText(R.id.verticalAngleView, item.pitch) - .setText(R.id.isAlarmView, item.isAlarm) - .setText(R.id.alarmCodeView, item.alarmCode) - .setText(R.id.speedView, item.speed) - .setText(R.id.lngView, item.longitude) - .setText(R.id.latView, item.lagitude) - } else { - holder.setText(R.id.locateTimeView, "时间") - .setText(R.id.gasValueView, "气体浓度") - .setText(R.id.horizontalAngleView, "水平角度") - .setText(R.id.verticalAngleView, "垂直角度") - .setText(R.id.isAlarmView, "是否报警") - .setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.speedView, "车速") - .setText(R.id.lngView, "经度") - .setText(R.id.latView, "纬度") - .setText(R.id.operationView, "操作") - } - - //item背景色 - if (position % 2 == 0) { + //item背景色 val linearLayout = holder.itemView.findViewById(R.id.rootView) - linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + if (position % 2 == 0) { + linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + } else { + linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) + } + + holder.setText(R.id.locateTimeView, item.ts).setText(R.id.gasValueView, item.gas) + .setText(R.id.horizontalAngleView, item.direction) + .setText(R.id.verticalAngleView, item.pitch).setText(R.id.isAlarmView, item.isAlarm) + .setText(R.id.alarmCodeView, item.alarmCode).setText(R.id.speedView, item.speed) + .setText(R.id.lngView, item.longitude).setText(R.id.latView, item.lagitude) } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index ccaa7ff..c960e49 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -101,15 +101,13 @@ * 新增任务 */ suspend fun addTask( - taskTitle: String, carId: String, beginDate: String, status: String, valid: String + carId: String, latitude: String, longitude: String, taskTitle: String ): String { val param = JsonObject() - param.addProperty("description", "") param.addProperty("carId", carId) - param.addProperty("valid", valid) - param.addProperty("beginDate", beginDate) + param.addProperty("latitude", latitude) + param.addProperty("longitude", longitude) param.addProperty("taskName", taskTitle) - param.addProperty("status", status) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) diff --git a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt index 629cf59..a2a0c30 100644 --- a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt @@ -40,8 +40,8 @@ binding.alarmCodeView.text = model.alarmCode binding.alarmTimeView.text = model.alarmTime - binding.concentrationView.text = model.alarmValue.toString() - binding.caseThresholdView.text = model.alarmThresh.toString() + binding.concentrationView.text = "${model.alarmValue}ppm·m" + binding.caseThresholdView.text = "${model.alarmThresh}ppm·m" val longitude = model.alarmLongitude val latitude = model.alarmLatitude binding.latLngView.text = "$longitude,$latitude" diff --git a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt index 6ed3235..342ac55 100644 --- a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt @@ -179,10 +179,6 @@ gasAlarmRule = SaveKeyValues.getValue(LocaleConstant.ALARM_RULE, 1000) as Int deviceId = SaveKeyValues.getValue(LocaleConstant.YT_DEVICE_ID, "") as String - //初始化任务 - taskViewModel.addTask( - taskTitle, carId, System.currentTimeMillis().timestampToCompleteDate(), "1", "0" - ) taskViewModel.addTaskResult.observe(this) { if (it.code == 200) { taskId = it.data.toString() @@ -284,6 +280,11 @@ } }) + //初始化任务 + taskViewModel.addTask( + carId, latlngs.last.latitude.toString(), latlngs.last.longitude.toString(), taskTitle + ) + /** * TCP初始化 * ***/ diff --git a/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt b/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt index 0eafe3b..ba19143 100644 --- a/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt @@ -1,31 +1,137 @@ package com.casic.br.ktd.view import android.os.Bundle -import android.util.Log import android.view.View +import android.view.inputmethod.EditorInfo +import android.widget.AdapterView import androidx.lifecycle.ViewModelProvider import com.casic.br.ktd.adapter.TaskDetailAdapter import com.casic.br.ktd.databinding.ActivityTaskDetailBinding import com.casic.br.ktd.vm.TaskViewModel +import com.casic.br.ktd.widgets.DateRangeActionSheet import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant +//TODO 查询条件待定 class TaskDetailActivity : KotlinBaseActivity() { private val kTag = "TaskDetailActivity" - override fun initEvent() { + private lateinit var taskViewModel: TaskViewModel + private lateinit var taskId: String + private var startTime = "" + private var endTime = "" + override fun initEvent() { + binding.calendarView.setOnClickListener { + DateRangeActionSheet.Builder().setContext(this) + .setOnActionSheetListener(object : + DateRangeActionSheet.OnDateRangeSelectedListener { + override fun onDateRangeSelected(startDate: String, endDate: String) { + startTime = startDate + endTime = endDate + + binding.selectedDateView.text = "$startDate ~ $endDate" + + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + }).build().show() + } + + //键盘搜索 + binding.gasValueView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + textView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + false + } + + binding.handleStateView.onItemSelectedListener = + object : AdapterView.OnItemSelectedListener { + override fun onItemSelected(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + + override fun onNothingSelected(p0: AdapterView<*>?) { + + } + } + + //键盘搜索 + binding.alarmCodeView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + textView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + false + } + + //键盘搜索 + binding.taskLocationView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + textView.text.toString() + ) + } + false + } + + binding.resetParamView.setOnClickListener { + startTime = "" + endTime = "" + binding.gasValueView.setText("") + binding.handleStateView.setSelection(0) + binding.alarmCodeView.setText("") + binding.taskLocationView.setText("") + + taskViewModel.getTaskDetail(taskId, "", "", "", "", "", "") + } } override fun initOnCreate(savedInstanceState: Bundle?) { - val taskId = intent.getStringExtra(Constant.INTENT_PARAM)!! + taskId = intent.getStringExtra(Constant.INTENT_PARAM)!! - val taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] - taskViewModel.getTaskDetail(taskId) + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.getTaskDetail(taskId, "", "", "", "", "", "") taskViewModel.detailResult.observe(this) { if (it.code == 200) { - Log.d(kTag, "initOnCreate => ${it.data.size}") if (it.data.size == 0) { binding.taskDetailView.visibility = View.GONE binding.emptyInclude.emptyLayout.visibility = View.VISIBLE diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index f58199f..68673ca 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -104,7 +104,7 @@ } val alarmValue = if (item.alarmType == "1") { - "${item.alarmValue}ppm" + "${item.alarmValue}" } else { "${item.alarmValue * 100}%" } @@ -123,16 +123,9 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } - } else { - holder.setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.alarmTimeView, "报警时间") - .setText(R.id.alarmTypeView, "报警类型") - .setText(R.id.alarmValueView, "报警值") - .setText(R.id.alarmAddressView, "详细地址") - .setText(R.id.alarmStateView, "处置情况") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt index 82978e7..b68bf67 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt @@ -122,7 +122,7 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } @@ -143,13 +143,6 @@ itemCheckedListener?.onItemChecked(selectedItems) } - } else { - (holder as ViewHolder).setText(R.id.taskCodeView, "任务编号") - .setText(R.id.taskNameView, "巡检任务名称") - .setText(R.id.startTimeView, "开始时间") - .setText(R.id.endTimeView, "结束时间") - .setText(R.id.pathLengthView, "巡检公里") - .setText(R.id.taskStateView, "巡检状态") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt index 1cf0051..3e55c16 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt @@ -11,8 +11,7 @@ import com.pengxh.kt.lite.adapter.ViewHolder class TaskDetailAdapter( - private val ctx: Context, - private val dataRows: MutableList + ctx: Context, private val dataRows: MutableList ) : RecyclerView.Adapter() { private val TYPE_TOP_TITLE = 0 @@ -42,32 +41,19 @@ //绑定数据。标题已经把position=0占用,但是size+1,所以需要数据绑定实际position-1 val item = dataRows[position - 1] - holder.setText(R.id.locateTimeView, item.ts) - .setText(R.id.gasValueView, item.gas) - .setText(R.id.horizontalAngleView, item.direction) - .setText(R.id.verticalAngleView, item.pitch) - .setText(R.id.isAlarmView, item.isAlarm) - .setText(R.id.alarmCodeView, item.alarmCode) - .setText(R.id.speedView, item.speed) - .setText(R.id.lngView, item.longitude) - .setText(R.id.latView, item.lagitude) - } else { - holder.setText(R.id.locateTimeView, "时间") - .setText(R.id.gasValueView, "气体浓度") - .setText(R.id.horizontalAngleView, "水平角度") - .setText(R.id.verticalAngleView, "垂直角度") - .setText(R.id.isAlarmView, "是否报警") - .setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.speedView, "车速") - .setText(R.id.lngView, "经度") - .setText(R.id.latView, "纬度") - .setText(R.id.operationView, "操作") - } - - //item背景色 - if (position % 2 == 0) { + //item背景色 val linearLayout = holder.itemView.findViewById(R.id.rootView) - linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + if (position % 2 == 0) { + linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + } else { + linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) + } + + holder.setText(R.id.locateTimeView, item.ts).setText(R.id.gasValueView, item.gas) + .setText(R.id.horizontalAngleView, item.direction) + .setText(R.id.verticalAngleView, item.pitch).setText(R.id.isAlarmView, item.isAlarm) + .setText(R.id.alarmCodeView, item.alarmCode).setText(R.id.speedView, item.speed) + .setText(R.id.lngView, item.longitude).setText(R.id.latView, item.lagitude) } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index ccaa7ff..c960e49 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -101,15 +101,13 @@ * 新增任务 */ suspend fun addTask( - taskTitle: String, carId: String, beginDate: String, status: String, valid: String + carId: String, latitude: String, longitude: String, taskTitle: String ): String { val param = JsonObject() - param.addProperty("description", "") param.addProperty("carId", carId) - param.addProperty("valid", valid) - param.addProperty("beginDate", beginDate) + param.addProperty("latitude", latitude) + param.addProperty("longitude", longitude) param.addProperty("taskName", taskTitle) - param.addProperty("status", status) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) diff --git a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt index 629cf59..a2a0c30 100644 --- a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt @@ -40,8 +40,8 @@ binding.alarmCodeView.text = model.alarmCode binding.alarmTimeView.text = model.alarmTime - binding.concentrationView.text = model.alarmValue.toString() - binding.caseThresholdView.text = model.alarmThresh.toString() + binding.concentrationView.text = "${model.alarmValue}ppm·m" + binding.caseThresholdView.text = "${model.alarmThresh}ppm·m" val longitude = model.alarmLongitude val latitude = model.alarmLatitude binding.latLngView.text = "$longitude,$latitude" diff --git a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt index 6ed3235..342ac55 100644 --- a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt @@ -179,10 +179,6 @@ gasAlarmRule = SaveKeyValues.getValue(LocaleConstant.ALARM_RULE, 1000) as Int deviceId = SaveKeyValues.getValue(LocaleConstant.YT_DEVICE_ID, "") as String - //初始化任务 - taskViewModel.addTask( - taskTitle, carId, System.currentTimeMillis().timestampToCompleteDate(), "1", "0" - ) taskViewModel.addTaskResult.observe(this) { if (it.code == 200) { taskId = it.data.toString() @@ -284,6 +280,11 @@ } }) + //初始化任务 + taskViewModel.addTask( + carId, latlngs.last.latitude.toString(), latlngs.last.longitude.toString(), taskTitle + ) + /** * TCP初始化 * ***/ diff --git a/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt b/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt index 0eafe3b..ba19143 100644 --- a/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt @@ -1,31 +1,137 @@ package com.casic.br.ktd.view import android.os.Bundle -import android.util.Log import android.view.View +import android.view.inputmethod.EditorInfo +import android.widget.AdapterView import androidx.lifecycle.ViewModelProvider import com.casic.br.ktd.adapter.TaskDetailAdapter import com.casic.br.ktd.databinding.ActivityTaskDetailBinding import com.casic.br.ktd.vm.TaskViewModel +import com.casic.br.ktd.widgets.DateRangeActionSheet import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant +//TODO 查询条件待定 class TaskDetailActivity : KotlinBaseActivity() { private val kTag = "TaskDetailActivity" - override fun initEvent() { + private lateinit var taskViewModel: TaskViewModel + private lateinit var taskId: String + private var startTime = "" + private var endTime = "" + override fun initEvent() { + binding.calendarView.setOnClickListener { + DateRangeActionSheet.Builder().setContext(this) + .setOnActionSheetListener(object : + DateRangeActionSheet.OnDateRangeSelectedListener { + override fun onDateRangeSelected(startDate: String, endDate: String) { + startTime = startDate + endTime = endDate + + binding.selectedDateView.text = "$startDate ~ $endDate" + + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + }).build().show() + } + + //键盘搜索 + binding.gasValueView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + textView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + false + } + + binding.handleStateView.onItemSelectedListener = + object : AdapterView.OnItemSelectedListener { + override fun onItemSelected(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + + override fun onNothingSelected(p0: AdapterView<*>?) { + + } + } + + //键盘搜索 + binding.alarmCodeView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + textView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + false + } + + //键盘搜索 + binding.taskLocationView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + textView.text.toString() + ) + } + false + } + + binding.resetParamView.setOnClickListener { + startTime = "" + endTime = "" + binding.gasValueView.setText("") + binding.handleStateView.setSelection(0) + binding.alarmCodeView.setText("") + binding.taskLocationView.setText("") + + taskViewModel.getTaskDetail(taskId, "", "", "", "", "", "") + } } override fun initOnCreate(savedInstanceState: Bundle?) { - val taskId = intent.getStringExtra(Constant.INTENT_PARAM)!! + taskId = intent.getStringExtra(Constant.INTENT_PARAM)!! - val taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] - taskViewModel.getTaskDetail(taskId) + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.getTaskDetail(taskId, "", "", "", "", "", "") taskViewModel.detailResult.observe(this) { if (it.code == 200) { - Log.d(kTag, "initOnCreate => ${it.data.size}") if (it.data.size == 0) { binding.taskDetailView.visibility = View.GONE binding.emptyInclude.emptyLayout.visibility = View.VISIBLE diff --git a/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt b/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt index b526232..6fdd744 100644 --- a/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt @@ -53,10 +53,8 @@ loadState.value = LoadState.Fail }) - fun addTask( - taskTitle: String, carId: String, beginDate: String, status: String, valid: String - ) = launch({ - val response = RetrofitServiceManager.addTask(taskTitle, carId, beginDate, status, valid) + fun addTask(carId: String, latitude: String, longitude: String, taskTitle: String) = launch({ + val response = RetrofitServiceManager.addTask(carId, latitude, longitude, taskTitle) val responseCode = response.separateResponseCode() if (responseCode == 200) { addTaskResult.value = gson.fromJson( @@ -71,7 +69,15 @@ RetrofitServiceManager.updateTask(id, latitude, longitude, updateTime) }) - fun getTaskDetail(taskId: String) = launch({ + fun getTaskDetail( + taskId: String, + a: String, + b: String, + c: String, + d: String, + e: String, + f: String + ) = launch({ val response = RetrofitServiceManager.getTaskDetail(taskId) val responseCode = response.separateResponseCode() if (responseCode == 200) { diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index f58199f..68673ca 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -104,7 +104,7 @@ } val alarmValue = if (item.alarmType == "1") { - "${item.alarmValue}ppm" + "${item.alarmValue}" } else { "${item.alarmValue * 100}%" } @@ -123,16 +123,9 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } - } else { - holder.setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.alarmTimeView, "报警时间") - .setText(R.id.alarmTypeView, "报警类型") - .setText(R.id.alarmValueView, "报警值") - .setText(R.id.alarmAddressView, "详细地址") - .setText(R.id.alarmStateView, "处置情况") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt index 82978e7..b68bf67 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt @@ -122,7 +122,7 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } @@ -143,13 +143,6 @@ itemCheckedListener?.onItemChecked(selectedItems) } - } else { - (holder as ViewHolder).setText(R.id.taskCodeView, "任务编号") - .setText(R.id.taskNameView, "巡检任务名称") - .setText(R.id.startTimeView, "开始时间") - .setText(R.id.endTimeView, "结束时间") - .setText(R.id.pathLengthView, "巡检公里") - .setText(R.id.taskStateView, "巡检状态") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt index 1cf0051..3e55c16 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt @@ -11,8 +11,7 @@ import com.pengxh.kt.lite.adapter.ViewHolder class TaskDetailAdapter( - private val ctx: Context, - private val dataRows: MutableList + ctx: Context, private val dataRows: MutableList ) : RecyclerView.Adapter() { private val TYPE_TOP_TITLE = 0 @@ -42,32 +41,19 @@ //绑定数据。标题已经把position=0占用,但是size+1,所以需要数据绑定实际position-1 val item = dataRows[position - 1] - holder.setText(R.id.locateTimeView, item.ts) - .setText(R.id.gasValueView, item.gas) - .setText(R.id.horizontalAngleView, item.direction) - .setText(R.id.verticalAngleView, item.pitch) - .setText(R.id.isAlarmView, item.isAlarm) - .setText(R.id.alarmCodeView, item.alarmCode) - .setText(R.id.speedView, item.speed) - .setText(R.id.lngView, item.longitude) - .setText(R.id.latView, item.lagitude) - } else { - holder.setText(R.id.locateTimeView, "时间") - .setText(R.id.gasValueView, "气体浓度") - .setText(R.id.horizontalAngleView, "水平角度") - .setText(R.id.verticalAngleView, "垂直角度") - .setText(R.id.isAlarmView, "是否报警") - .setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.speedView, "车速") - .setText(R.id.lngView, "经度") - .setText(R.id.latView, "纬度") - .setText(R.id.operationView, "操作") - } - - //item背景色 - if (position % 2 == 0) { + //item背景色 val linearLayout = holder.itemView.findViewById(R.id.rootView) - linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + if (position % 2 == 0) { + linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + } else { + linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) + } + + holder.setText(R.id.locateTimeView, item.ts).setText(R.id.gasValueView, item.gas) + .setText(R.id.horizontalAngleView, item.direction) + .setText(R.id.verticalAngleView, item.pitch).setText(R.id.isAlarmView, item.isAlarm) + .setText(R.id.alarmCodeView, item.alarmCode).setText(R.id.speedView, item.speed) + .setText(R.id.lngView, item.longitude).setText(R.id.latView, item.lagitude) } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index ccaa7ff..c960e49 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -101,15 +101,13 @@ * 新增任务 */ suspend fun addTask( - taskTitle: String, carId: String, beginDate: String, status: String, valid: String + carId: String, latitude: String, longitude: String, taskTitle: String ): String { val param = JsonObject() - param.addProperty("description", "") param.addProperty("carId", carId) - param.addProperty("valid", valid) - param.addProperty("beginDate", beginDate) + param.addProperty("latitude", latitude) + param.addProperty("longitude", longitude) param.addProperty("taskName", taskTitle) - param.addProperty("status", status) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) diff --git a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt index 629cf59..a2a0c30 100644 --- a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt @@ -40,8 +40,8 @@ binding.alarmCodeView.text = model.alarmCode binding.alarmTimeView.text = model.alarmTime - binding.concentrationView.text = model.alarmValue.toString() - binding.caseThresholdView.text = model.alarmThresh.toString() + binding.concentrationView.text = "${model.alarmValue}ppm·m" + binding.caseThresholdView.text = "${model.alarmThresh}ppm·m" val longitude = model.alarmLongitude val latitude = model.alarmLatitude binding.latLngView.text = "$longitude,$latitude" diff --git a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt index 6ed3235..342ac55 100644 --- a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt @@ -179,10 +179,6 @@ gasAlarmRule = SaveKeyValues.getValue(LocaleConstant.ALARM_RULE, 1000) as Int deviceId = SaveKeyValues.getValue(LocaleConstant.YT_DEVICE_ID, "") as String - //初始化任务 - taskViewModel.addTask( - taskTitle, carId, System.currentTimeMillis().timestampToCompleteDate(), "1", "0" - ) taskViewModel.addTaskResult.observe(this) { if (it.code == 200) { taskId = it.data.toString() @@ -284,6 +280,11 @@ } }) + //初始化任务 + taskViewModel.addTask( + carId, latlngs.last.latitude.toString(), latlngs.last.longitude.toString(), taskTitle + ) + /** * TCP初始化 * ***/ diff --git a/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt b/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt index 0eafe3b..ba19143 100644 --- a/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt @@ -1,31 +1,137 @@ package com.casic.br.ktd.view import android.os.Bundle -import android.util.Log import android.view.View +import android.view.inputmethod.EditorInfo +import android.widget.AdapterView import androidx.lifecycle.ViewModelProvider import com.casic.br.ktd.adapter.TaskDetailAdapter import com.casic.br.ktd.databinding.ActivityTaskDetailBinding import com.casic.br.ktd.vm.TaskViewModel +import com.casic.br.ktd.widgets.DateRangeActionSheet import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant +//TODO 查询条件待定 class TaskDetailActivity : KotlinBaseActivity() { private val kTag = "TaskDetailActivity" - override fun initEvent() { + private lateinit var taskViewModel: TaskViewModel + private lateinit var taskId: String + private var startTime = "" + private var endTime = "" + override fun initEvent() { + binding.calendarView.setOnClickListener { + DateRangeActionSheet.Builder().setContext(this) + .setOnActionSheetListener(object : + DateRangeActionSheet.OnDateRangeSelectedListener { + override fun onDateRangeSelected(startDate: String, endDate: String) { + startTime = startDate + endTime = endDate + + binding.selectedDateView.text = "$startDate ~ $endDate" + + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + }).build().show() + } + + //键盘搜索 + binding.gasValueView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + textView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + false + } + + binding.handleStateView.onItemSelectedListener = + object : AdapterView.OnItemSelectedListener { + override fun onItemSelected(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + + override fun onNothingSelected(p0: AdapterView<*>?) { + + } + } + + //键盘搜索 + binding.alarmCodeView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + textView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + false + } + + //键盘搜索 + binding.taskLocationView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + textView.text.toString() + ) + } + false + } + + binding.resetParamView.setOnClickListener { + startTime = "" + endTime = "" + binding.gasValueView.setText("") + binding.handleStateView.setSelection(0) + binding.alarmCodeView.setText("") + binding.taskLocationView.setText("") + + taskViewModel.getTaskDetail(taskId, "", "", "", "", "", "") + } } override fun initOnCreate(savedInstanceState: Bundle?) { - val taskId = intent.getStringExtra(Constant.INTENT_PARAM)!! + taskId = intent.getStringExtra(Constant.INTENT_PARAM)!! - val taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] - taskViewModel.getTaskDetail(taskId) + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.getTaskDetail(taskId, "", "", "", "", "", "") taskViewModel.detailResult.observe(this) { if (it.code == 200) { - Log.d(kTag, "initOnCreate => ${it.data.size}") if (it.data.size == 0) { binding.taskDetailView.visibility = View.GONE binding.emptyInclude.emptyLayout.visibility = View.VISIBLE diff --git a/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt b/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt index b526232..6fdd744 100644 --- a/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt @@ -53,10 +53,8 @@ loadState.value = LoadState.Fail }) - fun addTask( - taskTitle: String, carId: String, beginDate: String, status: String, valid: String - ) = launch({ - val response = RetrofitServiceManager.addTask(taskTitle, carId, beginDate, status, valid) + fun addTask(carId: String, latitude: String, longitude: String, taskTitle: String) = launch({ + val response = RetrofitServiceManager.addTask(carId, latitude, longitude, taskTitle) val responseCode = response.separateResponseCode() if (responseCode == 200) { addTaskResult.value = gson.fromJson( @@ -71,7 +69,15 @@ RetrofitServiceManager.updateTask(id, latitude, longitude, updateTime) }) - fun getTaskDetail(taskId: String) = launch({ + fun getTaskDetail( + taskId: String, + a: String, + b: String, + c: String, + d: String, + e: String, + f: String + ) = launch({ val response = RetrofitServiceManager.getTaskDetail(taskId) val responseCode = response.separateResponseCode() if (responseCode == 200) { diff --git a/app/src/main/res/layout/activity_task_detail.xml b/app/src/main/res/layout/activity_task_detail.xml index dc53d8f..b46f010 100644 --- a/app/src/main/res/layout/activity_task_detail.xml +++ b/app/src/main/res/layout/activity_task_detail.xml @@ -74,6 +74,7 @@ app:cardUseCompatPadding="true"> + ctx: Context, private val dataRows: MutableList ) : RecyclerView.Adapter() { private val TYPE_TOP_TITLE = 0 @@ -42,32 +41,19 @@ //绑定数据。标题已经把position=0占用,但是size+1,所以需要数据绑定实际position-1 val item = dataRows[position - 1] - holder.setText(R.id.locateTimeView, item.ts) - .setText(R.id.gasValueView, item.gas) - .setText(R.id.horizontalAngleView, item.direction) - .setText(R.id.verticalAngleView, item.pitch) - .setText(R.id.isAlarmView, item.isAlarm) - .setText(R.id.alarmCodeView, item.alarmCode) - .setText(R.id.speedView, item.speed) - .setText(R.id.lngView, item.longitude) - .setText(R.id.latView, item.lagitude) - } else { - holder.setText(R.id.locateTimeView, "时间") - .setText(R.id.gasValueView, "气体浓度") - .setText(R.id.horizontalAngleView, "水平角度") - .setText(R.id.verticalAngleView, "垂直角度") - .setText(R.id.isAlarmView, "是否报警") - .setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.speedView, "车速") - .setText(R.id.lngView, "经度") - .setText(R.id.latView, "纬度") - .setText(R.id.operationView, "操作") - } - - //item背景色 - if (position % 2 == 0) { + //item背景色 val linearLayout = holder.itemView.findViewById(R.id.rootView) - linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + if (position % 2 == 0) { + linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + } else { + linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) + } + + holder.setText(R.id.locateTimeView, item.ts).setText(R.id.gasValueView, item.gas) + .setText(R.id.horizontalAngleView, item.direction) + .setText(R.id.verticalAngleView, item.pitch).setText(R.id.isAlarmView, item.isAlarm) + .setText(R.id.alarmCodeView, item.alarmCode).setText(R.id.speedView, item.speed) + .setText(R.id.lngView, item.longitude).setText(R.id.latView, item.lagitude) } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index ccaa7ff..c960e49 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -101,15 +101,13 @@ * 新增任务 */ suspend fun addTask( - taskTitle: String, carId: String, beginDate: String, status: String, valid: String + carId: String, latitude: String, longitude: String, taskTitle: String ): String { val param = JsonObject() - param.addProperty("description", "") param.addProperty("carId", carId) - param.addProperty("valid", valid) - param.addProperty("beginDate", beginDate) + param.addProperty("latitude", latitude) + param.addProperty("longitude", longitude) param.addProperty("taskName", taskTitle) - param.addProperty("status", status) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) diff --git a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt index 629cf59..a2a0c30 100644 --- a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt @@ -40,8 +40,8 @@ binding.alarmCodeView.text = model.alarmCode binding.alarmTimeView.text = model.alarmTime - binding.concentrationView.text = model.alarmValue.toString() - binding.caseThresholdView.text = model.alarmThresh.toString() + binding.concentrationView.text = "${model.alarmValue}ppm·m" + binding.caseThresholdView.text = "${model.alarmThresh}ppm·m" val longitude = model.alarmLongitude val latitude = model.alarmLatitude binding.latLngView.text = "$longitude,$latitude" diff --git a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt index 6ed3235..342ac55 100644 --- a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt @@ -179,10 +179,6 @@ gasAlarmRule = SaveKeyValues.getValue(LocaleConstant.ALARM_RULE, 1000) as Int deviceId = SaveKeyValues.getValue(LocaleConstant.YT_DEVICE_ID, "") as String - //初始化任务 - taskViewModel.addTask( - taskTitle, carId, System.currentTimeMillis().timestampToCompleteDate(), "1", "0" - ) taskViewModel.addTaskResult.observe(this) { if (it.code == 200) { taskId = it.data.toString() @@ -284,6 +280,11 @@ } }) + //初始化任务 + taskViewModel.addTask( + carId, latlngs.last.latitude.toString(), latlngs.last.longitude.toString(), taskTitle + ) + /** * TCP初始化 * ***/ diff --git a/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt b/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt index 0eafe3b..ba19143 100644 --- a/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt @@ -1,31 +1,137 @@ package com.casic.br.ktd.view import android.os.Bundle -import android.util.Log import android.view.View +import android.view.inputmethod.EditorInfo +import android.widget.AdapterView import androidx.lifecycle.ViewModelProvider import com.casic.br.ktd.adapter.TaskDetailAdapter import com.casic.br.ktd.databinding.ActivityTaskDetailBinding import com.casic.br.ktd.vm.TaskViewModel +import com.casic.br.ktd.widgets.DateRangeActionSheet import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant +//TODO 查询条件待定 class TaskDetailActivity : KotlinBaseActivity() { private val kTag = "TaskDetailActivity" - override fun initEvent() { + private lateinit var taskViewModel: TaskViewModel + private lateinit var taskId: String + private var startTime = "" + private var endTime = "" + override fun initEvent() { + binding.calendarView.setOnClickListener { + DateRangeActionSheet.Builder().setContext(this) + .setOnActionSheetListener(object : + DateRangeActionSheet.OnDateRangeSelectedListener { + override fun onDateRangeSelected(startDate: String, endDate: String) { + startTime = startDate + endTime = endDate + + binding.selectedDateView.text = "$startDate ~ $endDate" + + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + }).build().show() + } + + //键盘搜索 + binding.gasValueView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + textView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + false + } + + binding.handleStateView.onItemSelectedListener = + object : AdapterView.OnItemSelectedListener { + override fun onItemSelected(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + + override fun onNothingSelected(p0: AdapterView<*>?) { + + } + } + + //键盘搜索 + binding.alarmCodeView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + textView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + false + } + + //键盘搜索 + binding.taskLocationView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + textView.text.toString() + ) + } + false + } + + binding.resetParamView.setOnClickListener { + startTime = "" + endTime = "" + binding.gasValueView.setText("") + binding.handleStateView.setSelection(0) + binding.alarmCodeView.setText("") + binding.taskLocationView.setText("") + + taskViewModel.getTaskDetail(taskId, "", "", "", "", "", "") + } } override fun initOnCreate(savedInstanceState: Bundle?) { - val taskId = intent.getStringExtra(Constant.INTENT_PARAM)!! + taskId = intent.getStringExtra(Constant.INTENT_PARAM)!! - val taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] - taskViewModel.getTaskDetail(taskId) + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.getTaskDetail(taskId, "", "", "", "", "", "") taskViewModel.detailResult.observe(this) { if (it.code == 200) { - Log.d(kTag, "initOnCreate => ${it.data.size}") if (it.data.size == 0) { binding.taskDetailView.visibility = View.GONE binding.emptyInclude.emptyLayout.visibility = View.VISIBLE diff --git a/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt b/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt index b526232..6fdd744 100644 --- a/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt @@ -53,10 +53,8 @@ loadState.value = LoadState.Fail }) - fun addTask( - taskTitle: String, carId: String, beginDate: String, status: String, valid: String - ) = launch({ - val response = RetrofitServiceManager.addTask(taskTitle, carId, beginDate, status, valid) + fun addTask(carId: String, latitude: String, longitude: String, taskTitle: String) = launch({ + val response = RetrofitServiceManager.addTask(carId, latitude, longitude, taskTitle) val responseCode = response.separateResponseCode() if (responseCode == 200) { addTaskResult.value = gson.fromJson( @@ -71,7 +69,15 @@ RetrofitServiceManager.updateTask(id, latitude, longitude, updateTime) }) - fun getTaskDetail(taskId: String) = launch({ + fun getTaskDetail( + taskId: String, + a: String, + b: String, + c: String, + d: String, + e: String, + f: String + ) = launch({ val response = RetrofitServiceManager.getTaskDetail(taskId) val responseCode = response.separateResponseCode() if (responseCode == 200) { diff --git a/app/src/main/res/layout/activity_task_detail.xml b/app/src/main/res/layout/activity_task_detail.xml index dc53d8f..b46f010 100644 --- a/app/src/main/res/layout/activity_task_detail.xml +++ b/app/src/main/res/layout/activity_task_detail.xml @@ -74,6 +74,7 @@ app:cardUseCompatPadding="true"> diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index f58199f..68673ca 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -104,7 +104,7 @@ } val alarmValue = if (item.alarmType == "1") { - "${item.alarmValue}ppm" + "${item.alarmValue}" } else { "${item.alarmValue * 100}%" } @@ -123,16 +123,9 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } - } else { - holder.setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.alarmTimeView, "报警时间") - .setText(R.id.alarmTypeView, "报警类型") - .setText(R.id.alarmValueView, "报警值") - .setText(R.id.alarmAddressView, "详细地址") - .setText(R.id.alarmStateView, "处置情况") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt index 82978e7..b68bf67 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt @@ -122,7 +122,7 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } @@ -143,13 +143,6 @@ itemCheckedListener?.onItemChecked(selectedItems) } - } else { - (holder as ViewHolder).setText(R.id.taskCodeView, "任务编号") - .setText(R.id.taskNameView, "巡检任务名称") - .setText(R.id.startTimeView, "开始时间") - .setText(R.id.endTimeView, "结束时间") - .setText(R.id.pathLengthView, "巡检公里") - .setText(R.id.taskStateView, "巡检状态") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt index 1cf0051..3e55c16 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt @@ -11,8 +11,7 @@ import com.pengxh.kt.lite.adapter.ViewHolder class TaskDetailAdapter( - private val ctx: Context, - private val dataRows: MutableList + ctx: Context, private val dataRows: MutableList ) : RecyclerView.Adapter() { private val TYPE_TOP_TITLE = 0 @@ -42,32 +41,19 @@ //绑定数据。标题已经把position=0占用,但是size+1,所以需要数据绑定实际position-1 val item = dataRows[position - 1] - holder.setText(R.id.locateTimeView, item.ts) - .setText(R.id.gasValueView, item.gas) - .setText(R.id.horizontalAngleView, item.direction) - .setText(R.id.verticalAngleView, item.pitch) - .setText(R.id.isAlarmView, item.isAlarm) - .setText(R.id.alarmCodeView, item.alarmCode) - .setText(R.id.speedView, item.speed) - .setText(R.id.lngView, item.longitude) - .setText(R.id.latView, item.lagitude) - } else { - holder.setText(R.id.locateTimeView, "时间") - .setText(R.id.gasValueView, "气体浓度") - .setText(R.id.horizontalAngleView, "水平角度") - .setText(R.id.verticalAngleView, "垂直角度") - .setText(R.id.isAlarmView, "是否报警") - .setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.speedView, "车速") - .setText(R.id.lngView, "经度") - .setText(R.id.latView, "纬度") - .setText(R.id.operationView, "操作") - } - - //item背景色 - if (position % 2 == 0) { + //item背景色 val linearLayout = holder.itemView.findViewById(R.id.rootView) - linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + if (position % 2 == 0) { + linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + } else { + linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) + } + + holder.setText(R.id.locateTimeView, item.ts).setText(R.id.gasValueView, item.gas) + .setText(R.id.horizontalAngleView, item.direction) + .setText(R.id.verticalAngleView, item.pitch).setText(R.id.isAlarmView, item.isAlarm) + .setText(R.id.alarmCodeView, item.alarmCode).setText(R.id.speedView, item.speed) + .setText(R.id.lngView, item.longitude).setText(R.id.latView, item.lagitude) } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index ccaa7ff..c960e49 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -101,15 +101,13 @@ * 新增任务 */ suspend fun addTask( - taskTitle: String, carId: String, beginDate: String, status: String, valid: String + carId: String, latitude: String, longitude: String, taskTitle: String ): String { val param = JsonObject() - param.addProperty("description", "") param.addProperty("carId", carId) - param.addProperty("valid", valid) - param.addProperty("beginDate", beginDate) + param.addProperty("latitude", latitude) + param.addProperty("longitude", longitude) param.addProperty("taskName", taskTitle) - param.addProperty("status", status) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) diff --git a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt index 629cf59..a2a0c30 100644 --- a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt @@ -40,8 +40,8 @@ binding.alarmCodeView.text = model.alarmCode binding.alarmTimeView.text = model.alarmTime - binding.concentrationView.text = model.alarmValue.toString() - binding.caseThresholdView.text = model.alarmThresh.toString() + binding.concentrationView.text = "${model.alarmValue}ppm·m" + binding.caseThresholdView.text = "${model.alarmThresh}ppm·m" val longitude = model.alarmLongitude val latitude = model.alarmLatitude binding.latLngView.text = "$longitude,$latitude" diff --git a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt index 6ed3235..342ac55 100644 --- a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt @@ -179,10 +179,6 @@ gasAlarmRule = SaveKeyValues.getValue(LocaleConstant.ALARM_RULE, 1000) as Int deviceId = SaveKeyValues.getValue(LocaleConstant.YT_DEVICE_ID, "") as String - //初始化任务 - taskViewModel.addTask( - taskTitle, carId, System.currentTimeMillis().timestampToCompleteDate(), "1", "0" - ) taskViewModel.addTaskResult.observe(this) { if (it.code == 200) { taskId = it.data.toString() @@ -284,6 +280,11 @@ } }) + //初始化任务 + taskViewModel.addTask( + carId, latlngs.last.latitude.toString(), latlngs.last.longitude.toString(), taskTitle + ) + /** * TCP初始化 * ***/ diff --git a/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt b/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt index 0eafe3b..ba19143 100644 --- a/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt @@ -1,31 +1,137 @@ package com.casic.br.ktd.view import android.os.Bundle -import android.util.Log import android.view.View +import android.view.inputmethod.EditorInfo +import android.widget.AdapterView import androidx.lifecycle.ViewModelProvider import com.casic.br.ktd.adapter.TaskDetailAdapter import com.casic.br.ktd.databinding.ActivityTaskDetailBinding import com.casic.br.ktd.vm.TaskViewModel +import com.casic.br.ktd.widgets.DateRangeActionSheet import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant +//TODO 查询条件待定 class TaskDetailActivity : KotlinBaseActivity() { private val kTag = "TaskDetailActivity" - override fun initEvent() { + private lateinit var taskViewModel: TaskViewModel + private lateinit var taskId: String + private var startTime = "" + private var endTime = "" + override fun initEvent() { + binding.calendarView.setOnClickListener { + DateRangeActionSheet.Builder().setContext(this) + .setOnActionSheetListener(object : + DateRangeActionSheet.OnDateRangeSelectedListener { + override fun onDateRangeSelected(startDate: String, endDate: String) { + startTime = startDate + endTime = endDate + + binding.selectedDateView.text = "$startDate ~ $endDate" + + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + }).build().show() + } + + //键盘搜索 + binding.gasValueView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + textView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + false + } + + binding.handleStateView.onItemSelectedListener = + object : AdapterView.OnItemSelectedListener { + override fun onItemSelected(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + + override fun onNothingSelected(p0: AdapterView<*>?) { + + } + } + + //键盘搜索 + binding.alarmCodeView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + textView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + false + } + + //键盘搜索 + binding.taskLocationView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + textView.text.toString() + ) + } + false + } + + binding.resetParamView.setOnClickListener { + startTime = "" + endTime = "" + binding.gasValueView.setText("") + binding.handleStateView.setSelection(0) + binding.alarmCodeView.setText("") + binding.taskLocationView.setText("") + + taskViewModel.getTaskDetail(taskId, "", "", "", "", "", "") + } } override fun initOnCreate(savedInstanceState: Bundle?) { - val taskId = intent.getStringExtra(Constant.INTENT_PARAM)!! + taskId = intent.getStringExtra(Constant.INTENT_PARAM)!! - val taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] - taskViewModel.getTaskDetail(taskId) + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.getTaskDetail(taskId, "", "", "", "", "", "") taskViewModel.detailResult.observe(this) { if (it.code == 200) { - Log.d(kTag, "initOnCreate => ${it.data.size}") if (it.data.size == 0) { binding.taskDetailView.visibility = View.GONE binding.emptyInclude.emptyLayout.visibility = View.VISIBLE diff --git a/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt b/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt index b526232..6fdd744 100644 --- a/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt @@ -53,10 +53,8 @@ loadState.value = LoadState.Fail }) - fun addTask( - taskTitle: String, carId: String, beginDate: String, status: String, valid: String - ) = launch({ - val response = RetrofitServiceManager.addTask(taskTitle, carId, beginDate, status, valid) + fun addTask(carId: String, latitude: String, longitude: String, taskTitle: String) = launch({ + val response = RetrofitServiceManager.addTask(carId, latitude, longitude, taskTitle) val responseCode = response.separateResponseCode() if (responseCode == 200) { addTaskResult.value = gson.fromJson( @@ -71,7 +69,15 @@ RetrofitServiceManager.updateTask(id, latitude, longitude, updateTime) }) - fun getTaskDetail(taskId: String) = launch({ + fun getTaskDetail( + taskId: String, + a: String, + b: String, + c: String, + d: String, + e: String, + f: String + ) = launch({ val response = RetrofitServiceManager.getTaskDetail(taskId) val responseCode = response.separateResponseCode() if (responseCode == 200) { diff --git a/app/src/main/res/layout/activity_task_detail.xml b/app/src/main/res/layout/activity_task_detail.xml index dc53d8f..b46f010 100644 --- a/app/src/main/res/layout/activity_task_detail.xml +++ b/app/src/main/res/layout/activity_task_detail.xml @@ -74,6 +74,7 @@ app:cardUseCompatPadding="true"> diff --git a/app/src/main/res/layout/item_task_detail_rv_l.xml b/app/src/main/res/layout/item_task_detail_rv_l.xml index 9f30fe3..c3790cf 100644 --- a/app/src/main/res/layout/item_task_detail_rv_l.xml +++ b/app/src/main/res/layout/item_task_detail_rv_l.xml @@ -12,6 +12,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="2" + android:gravity="center" android:text="2023-04-12 10:00:00" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> @@ -22,6 +23,7 @@ android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/dp_15" android:layout_weight="1" + android:gravity="center" android:text="10" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> @@ -31,6 +33,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" + android:gravity="center" android:text="51°" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> @@ -41,6 +44,7 @@ android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/dp_15" android:layout_weight="1" + android:gravity="center" android:text="-31°" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> @@ -50,6 +54,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.75" + android:gravity="center" android:text="否" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> @@ -60,6 +65,7 @@ android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/dp_15" android:layout_weight="1" + android:gravity="center" android:paddingVertical="@dimen/dp_5" android:text="202304121004000001" android:textColor="@color/black" @@ -70,6 +76,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" + android:gravity="center" android:paddingVertical="@dimen/dp_5" android:text="37" android:textColor="@color/black" @@ -81,6 +88,7 @@ android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/dp_15" android:layout_weight="1" + android:gravity="center" android:text="116.321212" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> @@ -90,6 +98,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" + android:gravity="center" android:paddingVertical="@dimen/dp_5" android:text="39.133321" android:textColor="@color/black" @@ -101,6 +110,7 @@ android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_15" android:layout_weight="1" + android:gravity="center" android:text="操作" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index f58199f..68673ca 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -104,7 +104,7 @@ } val alarmValue = if (item.alarmType == "1") { - "${item.alarmValue}ppm" + "${item.alarmValue}" } else { "${item.alarmValue * 100}%" } @@ -123,16 +123,9 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } - } else { - holder.setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.alarmTimeView, "报警时间") - .setText(R.id.alarmTypeView, "报警类型") - .setText(R.id.alarmValueView, "报警值") - .setText(R.id.alarmAddressView, "详细地址") - .setText(R.id.alarmStateView, "处置情况") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt index 82978e7..b68bf67 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt @@ -122,7 +122,7 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } @@ -143,13 +143,6 @@ itemCheckedListener?.onItemChecked(selectedItems) } - } else { - (holder as ViewHolder).setText(R.id.taskCodeView, "任务编号") - .setText(R.id.taskNameView, "巡检任务名称") - .setText(R.id.startTimeView, "开始时间") - .setText(R.id.endTimeView, "结束时间") - .setText(R.id.pathLengthView, "巡检公里") - .setText(R.id.taskStateView, "巡检状态") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt index 1cf0051..3e55c16 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt @@ -11,8 +11,7 @@ import com.pengxh.kt.lite.adapter.ViewHolder class TaskDetailAdapter( - private val ctx: Context, - private val dataRows: MutableList + ctx: Context, private val dataRows: MutableList ) : RecyclerView.Adapter() { private val TYPE_TOP_TITLE = 0 @@ -42,32 +41,19 @@ //绑定数据。标题已经把position=0占用,但是size+1,所以需要数据绑定实际position-1 val item = dataRows[position - 1] - holder.setText(R.id.locateTimeView, item.ts) - .setText(R.id.gasValueView, item.gas) - .setText(R.id.horizontalAngleView, item.direction) - .setText(R.id.verticalAngleView, item.pitch) - .setText(R.id.isAlarmView, item.isAlarm) - .setText(R.id.alarmCodeView, item.alarmCode) - .setText(R.id.speedView, item.speed) - .setText(R.id.lngView, item.longitude) - .setText(R.id.latView, item.lagitude) - } else { - holder.setText(R.id.locateTimeView, "时间") - .setText(R.id.gasValueView, "气体浓度") - .setText(R.id.horizontalAngleView, "水平角度") - .setText(R.id.verticalAngleView, "垂直角度") - .setText(R.id.isAlarmView, "是否报警") - .setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.speedView, "车速") - .setText(R.id.lngView, "经度") - .setText(R.id.latView, "纬度") - .setText(R.id.operationView, "操作") - } - - //item背景色 - if (position % 2 == 0) { + //item背景色 val linearLayout = holder.itemView.findViewById(R.id.rootView) - linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + if (position % 2 == 0) { + linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + } else { + linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) + } + + holder.setText(R.id.locateTimeView, item.ts).setText(R.id.gasValueView, item.gas) + .setText(R.id.horizontalAngleView, item.direction) + .setText(R.id.verticalAngleView, item.pitch).setText(R.id.isAlarmView, item.isAlarm) + .setText(R.id.alarmCodeView, item.alarmCode).setText(R.id.speedView, item.speed) + .setText(R.id.lngView, item.longitude).setText(R.id.latView, item.lagitude) } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index ccaa7ff..c960e49 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -101,15 +101,13 @@ * 新增任务 */ suspend fun addTask( - taskTitle: String, carId: String, beginDate: String, status: String, valid: String + carId: String, latitude: String, longitude: String, taskTitle: String ): String { val param = JsonObject() - param.addProperty("description", "") param.addProperty("carId", carId) - param.addProperty("valid", valid) - param.addProperty("beginDate", beginDate) + param.addProperty("latitude", latitude) + param.addProperty("longitude", longitude) param.addProperty("taskName", taskTitle) - param.addProperty("status", status) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) diff --git a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt index 629cf59..a2a0c30 100644 --- a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt @@ -40,8 +40,8 @@ binding.alarmCodeView.text = model.alarmCode binding.alarmTimeView.text = model.alarmTime - binding.concentrationView.text = model.alarmValue.toString() - binding.caseThresholdView.text = model.alarmThresh.toString() + binding.concentrationView.text = "${model.alarmValue}ppm·m" + binding.caseThresholdView.text = "${model.alarmThresh}ppm·m" val longitude = model.alarmLongitude val latitude = model.alarmLatitude binding.latLngView.text = "$longitude,$latitude" diff --git a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt index 6ed3235..342ac55 100644 --- a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt @@ -179,10 +179,6 @@ gasAlarmRule = SaveKeyValues.getValue(LocaleConstant.ALARM_RULE, 1000) as Int deviceId = SaveKeyValues.getValue(LocaleConstant.YT_DEVICE_ID, "") as String - //初始化任务 - taskViewModel.addTask( - taskTitle, carId, System.currentTimeMillis().timestampToCompleteDate(), "1", "0" - ) taskViewModel.addTaskResult.observe(this) { if (it.code == 200) { taskId = it.data.toString() @@ -284,6 +280,11 @@ } }) + //初始化任务 + taskViewModel.addTask( + carId, latlngs.last.latitude.toString(), latlngs.last.longitude.toString(), taskTitle + ) + /** * TCP初始化 * ***/ diff --git a/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt b/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt index 0eafe3b..ba19143 100644 --- a/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt @@ -1,31 +1,137 @@ package com.casic.br.ktd.view import android.os.Bundle -import android.util.Log import android.view.View +import android.view.inputmethod.EditorInfo +import android.widget.AdapterView import androidx.lifecycle.ViewModelProvider import com.casic.br.ktd.adapter.TaskDetailAdapter import com.casic.br.ktd.databinding.ActivityTaskDetailBinding import com.casic.br.ktd.vm.TaskViewModel +import com.casic.br.ktd.widgets.DateRangeActionSheet import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant +//TODO 查询条件待定 class TaskDetailActivity : KotlinBaseActivity() { private val kTag = "TaskDetailActivity" - override fun initEvent() { + private lateinit var taskViewModel: TaskViewModel + private lateinit var taskId: String + private var startTime = "" + private var endTime = "" + override fun initEvent() { + binding.calendarView.setOnClickListener { + DateRangeActionSheet.Builder().setContext(this) + .setOnActionSheetListener(object : + DateRangeActionSheet.OnDateRangeSelectedListener { + override fun onDateRangeSelected(startDate: String, endDate: String) { + startTime = startDate + endTime = endDate + + binding.selectedDateView.text = "$startDate ~ $endDate" + + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + }).build().show() + } + + //键盘搜索 + binding.gasValueView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + textView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + false + } + + binding.handleStateView.onItemSelectedListener = + object : AdapterView.OnItemSelectedListener { + override fun onItemSelected(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + + override fun onNothingSelected(p0: AdapterView<*>?) { + + } + } + + //键盘搜索 + binding.alarmCodeView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + textView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + false + } + + //键盘搜索 + binding.taskLocationView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + textView.text.toString() + ) + } + false + } + + binding.resetParamView.setOnClickListener { + startTime = "" + endTime = "" + binding.gasValueView.setText("") + binding.handleStateView.setSelection(0) + binding.alarmCodeView.setText("") + binding.taskLocationView.setText("") + + taskViewModel.getTaskDetail(taskId, "", "", "", "", "", "") + } } override fun initOnCreate(savedInstanceState: Bundle?) { - val taskId = intent.getStringExtra(Constant.INTENT_PARAM)!! + taskId = intent.getStringExtra(Constant.INTENT_PARAM)!! - val taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] - taskViewModel.getTaskDetail(taskId) + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.getTaskDetail(taskId, "", "", "", "", "", "") taskViewModel.detailResult.observe(this) { if (it.code == 200) { - Log.d(kTag, "initOnCreate => ${it.data.size}") if (it.data.size == 0) { binding.taskDetailView.visibility = View.GONE binding.emptyInclude.emptyLayout.visibility = View.VISIBLE diff --git a/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt b/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt index b526232..6fdd744 100644 --- a/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt @@ -53,10 +53,8 @@ loadState.value = LoadState.Fail }) - fun addTask( - taskTitle: String, carId: String, beginDate: String, status: String, valid: String - ) = launch({ - val response = RetrofitServiceManager.addTask(taskTitle, carId, beginDate, status, valid) + fun addTask(carId: String, latitude: String, longitude: String, taskTitle: String) = launch({ + val response = RetrofitServiceManager.addTask(carId, latitude, longitude, taskTitle) val responseCode = response.separateResponseCode() if (responseCode == 200) { addTaskResult.value = gson.fromJson( @@ -71,7 +69,15 @@ RetrofitServiceManager.updateTask(id, latitude, longitude, updateTime) }) - fun getTaskDetail(taskId: String) = launch({ + fun getTaskDetail( + taskId: String, + a: String, + b: String, + c: String, + d: String, + e: String, + f: String + ) = launch({ val response = RetrofitServiceManager.getTaskDetail(taskId) val responseCode = response.separateResponseCode() if (responseCode == 200) { diff --git a/app/src/main/res/layout/activity_task_detail.xml b/app/src/main/res/layout/activity_task_detail.xml index dc53d8f..b46f010 100644 --- a/app/src/main/res/layout/activity_task_detail.xml +++ b/app/src/main/res/layout/activity_task_detail.xml @@ -74,6 +74,7 @@ app:cardUseCompatPadding="true"> diff --git a/app/src/main/res/layout/item_task_detail_rv_l.xml b/app/src/main/res/layout/item_task_detail_rv_l.xml index 9f30fe3..c3790cf 100644 --- a/app/src/main/res/layout/item_task_detail_rv_l.xml +++ b/app/src/main/res/layout/item_task_detail_rv_l.xml @@ -12,6 +12,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="2" + android:gravity="center" android:text="2023-04-12 10:00:00" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> @@ -22,6 +23,7 @@ android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/dp_15" android:layout_weight="1" + android:gravity="center" android:text="10" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> @@ -31,6 +33,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" + android:gravity="center" android:text="51°" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> @@ -41,6 +44,7 @@ android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/dp_15" android:layout_weight="1" + android:gravity="center" android:text="-31°" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> @@ -50,6 +54,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.75" + android:gravity="center" android:text="否" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> @@ -60,6 +65,7 @@ android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/dp_15" android:layout_weight="1" + android:gravity="center" android:paddingVertical="@dimen/dp_5" android:text="202304121004000001" android:textColor="@color/black" @@ -70,6 +76,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" + android:gravity="center" android:paddingVertical="@dimen/dp_5" android:text="37" android:textColor="@color/black" @@ -81,6 +88,7 @@ android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/dp_15" android:layout_weight="1" + android:gravity="center" android:text="116.321212" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> @@ -90,6 +98,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" + android:gravity="center" android:paddingVertical="@dimen/dp_5" android:text="39.133321" android:textColor="@color/black" @@ -101,6 +110,7 @@ android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_15" android:layout_weight="1" + android:gravity="center" android:text="操作" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> diff --git a/app/src/main/res/layout/item_task_detail_rv_l_title.xml b/app/src/main/res/layout/item_task_detail_rv_l_title.xml index 9f30fe3..263ca8c 100644 --- a/app/src/main/res/layout/item_task_detail_rv_l_title.xml +++ b/app/src/main/res/layout/item_task_detail_rv_l_title.xml @@ -3,104 +3,105 @@ android:id="@+id/rootView" android:layout_width="match_parent" android:layout_height="@dimen/dp_60" + android:background="#EEF1F6" android:gravity="center_vertical" android:orientation="horizontal" android:paddingHorizontal="@dimen/dp_15"> diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index f58199f..68673ca 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -104,7 +104,7 @@ } val alarmValue = if (item.alarmType == "1") { - "${item.alarmValue}ppm" + "${item.alarmValue}" } else { "${item.alarmValue * 100}%" } @@ -123,16 +123,9 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } - } else { - holder.setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.alarmTimeView, "报警时间") - .setText(R.id.alarmTypeView, "报警类型") - .setText(R.id.alarmValueView, "报警值") - .setText(R.id.alarmAddressView, "详细地址") - .setText(R.id.alarmStateView, "处置情况") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt index 82978e7..b68bf67 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt @@ -122,7 +122,7 @@ //item背景色 if (position % 2 == 0) { linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) - }else{ + } else { linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) } @@ -143,13 +143,6 @@ itemCheckedListener?.onItemChecked(selectedItems) } - } else { - (holder as ViewHolder).setText(R.id.taskCodeView, "任务编号") - .setText(R.id.taskNameView, "巡检任务名称") - .setText(R.id.startTimeView, "开始时间") - .setText(R.id.endTimeView, "结束时间") - .setText(R.id.pathLengthView, "巡检公里") - .setText(R.id.taskStateView, "巡检状态") } } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt index 1cf0051..3e55c16 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskDetailAdapter.kt @@ -11,8 +11,7 @@ import com.pengxh.kt.lite.adapter.ViewHolder class TaskDetailAdapter( - private val ctx: Context, - private val dataRows: MutableList + ctx: Context, private val dataRows: MutableList ) : RecyclerView.Adapter() { private val TYPE_TOP_TITLE = 0 @@ -42,32 +41,19 @@ //绑定数据。标题已经把position=0占用,但是size+1,所以需要数据绑定实际position-1 val item = dataRows[position - 1] - holder.setText(R.id.locateTimeView, item.ts) - .setText(R.id.gasValueView, item.gas) - .setText(R.id.horizontalAngleView, item.direction) - .setText(R.id.verticalAngleView, item.pitch) - .setText(R.id.isAlarmView, item.isAlarm) - .setText(R.id.alarmCodeView, item.alarmCode) - .setText(R.id.speedView, item.speed) - .setText(R.id.lngView, item.longitude) - .setText(R.id.latView, item.lagitude) - } else { - holder.setText(R.id.locateTimeView, "时间") - .setText(R.id.gasValueView, "气体浓度") - .setText(R.id.horizontalAngleView, "水平角度") - .setText(R.id.verticalAngleView, "垂直角度") - .setText(R.id.isAlarmView, "是否报警") - .setText(R.id.alarmCodeView, "报警编号") - .setText(R.id.speedView, "车速") - .setText(R.id.lngView, "经度") - .setText(R.id.latView, "纬度") - .setText(R.id.operationView, "操作") - } - - //item背景色 - if (position % 2 == 0) { + //item背景色 val linearLayout = holder.itemView.findViewById(R.id.rootView) - linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + if (position % 2 == 0) { + linearLayout.setBackgroundColor(Color.parseColor("#EEF1F6")) + } else { + linearLayout.setBackgroundColor(Color.parseColor("#FFFFFF")) + } + + holder.setText(R.id.locateTimeView, item.ts).setText(R.id.gasValueView, item.gas) + .setText(R.id.horizontalAngleView, item.direction) + .setText(R.id.verticalAngleView, item.pitch).setText(R.id.isAlarmView, item.isAlarm) + .setText(R.id.alarmCodeView, item.alarmCode).setText(R.id.speedView, item.speed) + .setText(R.id.lngView, item.longitude).setText(R.id.latView, item.lagitude) } } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index ccaa7ff..c960e49 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -101,15 +101,13 @@ * 新增任务 */ suspend fun addTask( - taskTitle: String, carId: String, beginDate: String, status: String, valid: String + carId: String, latitude: String, longitude: String, taskTitle: String ): String { val param = JsonObject() - param.addProperty("description", "") param.addProperty("carId", carId) - param.addProperty("valid", valid) - param.addProperty("beginDate", beginDate) + param.addProperty("latitude", latitude) + param.addProperty("longitude", longitude) param.addProperty("taskName", taskTitle) - param.addProperty("status", status) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) diff --git a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt index 629cf59..a2a0c30 100644 --- a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt @@ -40,8 +40,8 @@ binding.alarmCodeView.text = model.alarmCode binding.alarmTimeView.text = model.alarmTime - binding.concentrationView.text = model.alarmValue.toString() - binding.caseThresholdView.text = model.alarmThresh.toString() + binding.concentrationView.text = "${model.alarmValue}ppm·m" + binding.caseThresholdView.text = "${model.alarmThresh}ppm·m" val longitude = model.alarmLongitude val latitude = model.alarmLatitude binding.latLngView.text = "$longitude,$latitude" diff --git a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt index 6ed3235..342ac55 100644 --- a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt @@ -179,10 +179,6 @@ gasAlarmRule = SaveKeyValues.getValue(LocaleConstant.ALARM_RULE, 1000) as Int deviceId = SaveKeyValues.getValue(LocaleConstant.YT_DEVICE_ID, "") as String - //初始化任务 - taskViewModel.addTask( - taskTitle, carId, System.currentTimeMillis().timestampToCompleteDate(), "1", "0" - ) taskViewModel.addTaskResult.observe(this) { if (it.code == 200) { taskId = it.data.toString() @@ -284,6 +280,11 @@ } }) + //初始化任务 + taskViewModel.addTask( + carId, latlngs.last.latitude.toString(), latlngs.last.longitude.toString(), taskTitle + ) + /** * TCP初始化 * ***/ diff --git a/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt b/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt index 0eafe3b..ba19143 100644 --- a/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/TaskDetailActivity.kt @@ -1,31 +1,137 @@ package com.casic.br.ktd.view import android.os.Bundle -import android.util.Log import android.view.View +import android.view.inputmethod.EditorInfo +import android.widget.AdapterView import androidx.lifecycle.ViewModelProvider import com.casic.br.ktd.adapter.TaskDetailAdapter import com.casic.br.ktd.databinding.ActivityTaskDetailBinding import com.casic.br.ktd.vm.TaskViewModel +import com.casic.br.ktd.widgets.DateRangeActionSheet import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant +//TODO 查询条件待定 class TaskDetailActivity : KotlinBaseActivity() { private val kTag = "TaskDetailActivity" - override fun initEvent() { + private lateinit var taskViewModel: TaskViewModel + private lateinit var taskId: String + private var startTime = "" + private var endTime = "" + override fun initEvent() { + binding.calendarView.setOnClickListener { + DateRangeActionSheet.Builder().setContext(this) + .setOnActionSheetListener(object : + DateRangeActionSheet.OnDateRangeSelectedListener { + override fun onDateRangeSelected(startDate: String, endDate: String) { + startTime = startDate + endTime = endDate + + binding.selectedDateView.text = "$startDate ~ $endDate" + + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + }).build().show() + } + + //键盘搜索 + binding.gasValueView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + textView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + false + } + + binding.handleStateView.onItemSelectedListener = + object : AdapterView.OnItemSelectedListener { + override fun onItemSelected(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + + override fun onNothingSelected(p0: AdapterView<*>?) { + + } + } + + //键盘搜索 + binding.alarmCodeView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + textView.text.toString(), + binding.taskLocationView.text.toString() + ) + } + false + } + + //键盘搜索 + binding.taskLocationView.setOnEditorActionListener { textView, arg, keyEvent -> + if (arg == EditorInfo.IME_ACTION_SEARCH) { + taskViewModel.getTaskDetail( + taskId, + startTime, + endTime, + binding.gasValueView.text.toString(), + "", + binding.alarmCodeView.text.toString(), + textView.text.toString() + ) + } + false + } + + binding.resetParamView.setOnClickListener { + startTime = "" + endTime = "" + binding.gasValueView.setText("") + binding.handleStateView.setSelection(0) + binding.alarmCodeView.setText("") + binding.taskLocationView.setText("") + + taskViewModel.getTaskDetail(taskId, "", "", "", "", "", "") + } } override fun initOnCreate(savedInstanceState: Bundle?) { - val taskId = intent.getStringExtra(Constant.INTENT_PARAM)!! + taskId = intent.getStringExtra(Constant.INTENT_PARAM)!! - val taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] - taskViewModel.getTaskDetail(taskId) + taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java] + taskViewModel.getTaskDetail(taskId, "", "", "", "", "", "") taskViewModel.detailResult.observe(this) { if (it.code == 200) { - Log.d(kTag, "initOnCreate => ${it.data.size}") if (it.data.size == 0) { binding.taskDetailView.visibility = View.GONE binding.emptyInclude.emptyLayout.visibility = View.VISIBLE diff --git a/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt b/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt index b526232..6fdd744 100644 --- a/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt @@ -53,10 +53,8 @@ loadState.value = LoadState.Fail }) - fun addTask( - taskTitle: String, carId: String, beginDate: String, status: String, valid: String - ) = launch({ - val response = RetrofitServiceManager.addTask(taskTitle, carId, beginDate, status, valid) + fun addTask(carId: String, latitude: String, longitude: String, taskTitle: String) = launch({ + val response = RetrofitServiceManager.addTask(carId, latitude, longitude, taskTitle) val responseCode = response.separateResponseCode() if (responseCode == 200) { addTaskResult.value = gson.fromJson( @@ -71,7 +69,15 @@ RetrofitServiceManager.updateTask(id, latitude, longitude, updateTime) }) - fun getTaskDetail(taskId: String) = launch({ + fun getTaskDetail( + taskId: String, + a: String, + b: String, + c: String, + d: String, + e: String, + f: String + ) = launch({ val response = RetrofitServiceManager.getTaskDetail(taskId) val responseCode = response.separateResponseCode() if (responseCode == 200) { diff --git a/app/src/main/res/layout/activity_task_detail.xml b/app/src/main/res/layout/activity_task_detail.xml index dc53d8f..b46f010 100644 --- a/app/src/main/res/layout/activity_task_detail.xml +++ b/app/src/main/res/layout/activity_task_detail.xml @@ -74,6 +74,7 @@ app:cardUseCompatPadding="true"> diff --git a/app/src/main/res/layout/item_task_detail_rv_l.xml b/app/src/main/res/layout/item_task_detail_rv_l.xml index 9f30fe3..c3790cf 100644 --- a/app/src/main/res/layout/item_task_detail_rv_l.xml +++ b/app/src/main/res/layout/item_task_detail_rv_l.xml @@ -12,6 +12,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="2" + android:gravity="center" android:text="2023-04-12 10:00:00" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> @@ -22,6 +23,7 @@ android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/dp_15" android:layout_weight="1" + android:gravity="center" android:text="10" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> @@ -31,6 +33,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" + android:gravity="center" android:text="51°" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> @@ -41,6 +44,7 @@ android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/dp_15" android:layout_weight="1" + android:gravity="center" android:text="-31°" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> @@ -50,6 +54,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.75" + android:gravity="center" android:text="否" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> @@ -60,6 +65,7 @@ android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/dp_15" android:layout_weight="1" + android:gravity="center" android:paddingVertical="@dimen/dp_5" android:text="202304121004000001" android:textColor="@color/black" @@ -70,6 +76,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" + android:gravity="center" android:paddingVertical="@dimen/dp_5" android:text="37" android:textColor="@color/black" @@ -81,6 +88,7 @@ android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/dp_15" android:layout_weight="1" + android:gravity="center" android:text="116.321212" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> @@ -90,6 +98,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" + android:gravity="center" android:paddingVertical="@dimen/dp_5" android:text="39.133321" android:textColor="@color/black" @@ -101,6 +110,7 @@ android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_15" android:layout_weight="1" + android:gravity="center" android:text="操作" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> diff --git a/app/src/main/res/layout/item_task_detail_rv_l_title.xml b/app/src/main/res/layout/item_task_detail_rv_l_title.xml index 9f30fe3..263ca8c 100644 --- a/app/src/main/res/layout/item_task_detail_rv_l_title.xml +++ b/app/src/main/res/layout/item_task_detail_rv_l_title.xml @@ -3,104 +3,105 @@ android:id="@+id/rootView" android:layout_width="match_parent" android:layout_height="@dimen/dp_60" + android:background="#EEF1F6" android:gravity="center_vertical" android:orientation="horizontal" android:paddingHorizontal="@dimen/dp_15"> diff --git a/app/src/main/res/layout/item_task_rv_l_title.xml b/app/src/main/res/layout/item_task_rv_l_title.xml index 1c43a86..9ab263b 100644 --- a/app/src/main/res/layout/item_task_rv_l_title.xml +++ b/app/src/main/res/layout/item_task_rv_l_title.xml @@ -15,60 +15,54 @@ android:visibility="invisible" /> \ No newline at end of file