diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt index 80555fa..38edc79 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt @@ -42,6 +42,7 @@ import com.casic.birmm.inspect.view.NewEventActivity import com.casic.birmm.inspect.vm.EventViewModel import com.casic.birmm.inspect.vm.InspectionViewModel +import com.casic.birmm.inspect.vm.RouteViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo @@ -76,6 +77,7 @@ private lateinit var vibrator: Vibrator private lateinit var eventViewModel: EventViewModel private lateinit var inspectionViewModel: InspectionViewModel + private lateinit var routeViewModel: RouteViewModel private lateinit var aMap: AMap private var newInspectionModel: NewInspectionModel? = null//新建巡检数据结构模型 private var isBluetoothOn = true @@ -169,6 +171,7 @@ //VM eventViewModel = ViewModelProvider(this)[EventViewModel::class.java] inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java] + routeViewModel = ViewModelProvider(this)[RouteViewModel::class.java] } override fun observeRequestState() { @@ -580,6 +583,11 @@ for (i in 0 until latLngs.size step 5) { newInspectionModel!!.routes.add(latLngs[i]) //上传点位 + routeViewModel.uploadRoutePoint( + newInspectionModel!!.id, + latLngs[i], + System.currentTimeMillis().timestampToCompleteDate() + ) } LatLng(latLngs.first.latitude, latLngs.first.longitude) diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt index 80555fa..38edc79 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt @@ -42,6 +42,7 @@ import com.casic.birmm.inspect.view.NewEventActivity import com.casic.birmm.inspect.vm.EventViewModel import com.casic.birmm.inspect.vm.InspectionViewModel +import com.casic.birmm.inspect.vm.RouteViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo @@ -76,6 +77,7 @@ private lateinit var vibrator: Vibrator private lateinit var eventViewModel: EventViewModel private lateinit var inspectionViewModel: InspectionViewModel + private lateinit var routeViewModel: RouteViewModel private lateinit var aMap: AMap private var newInspectionModel: NewInspectionModel? = null//新建巡检数据结构模型 private var isBluetoothOn = true @@ -169,6 +171,7 @@ //VM eventViewModel = ViewModelProvider(this)[EventViewModel::class.java] inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java] + routeViewModel = ViewModelProvider(this)[RouteViewModel::class.java] } override fun observeRequestState() { @@ -580,6 +583,11 @@ for (i in 0 until latLngs.size step 5) { newInspectionModel!!.routes.add(latLngs[i]) //上传点位 + routeViewModel.uploadRoutePoint( + newInspectionModel!!.id, + latLngs[i], + System.currentTimeMillis().timestampToCompleteDate() + ) } LatLng(latLngs.first.latitude, latLngs.first.longitude) diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt index 657d132..1ba60fb 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt @@ -10,6 +10,7 @@ import com.casic.birmm.inspect.databinding.FragmentQueryEventBinding import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.model.EventListModel +import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.view.EventDetailActivity import com.casic.birmm.inspect.vm.EventViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter @@ -117,14 +118,16 @@ eventViewModel.loadState.observe(this) { when (it) { is LoadState.Success -> { + LoadingDialogHub.dismiss() dataBeans.remove(dataBeans[deletePosition]) eventListAdapter.notifyItemRemoved(deletePosition) eventListAdapter.notifyItemRangeChanged( deletePosition, dataBeans.size - deletePosition ) + "删除成功".show(requireContext()) } - else -> "删除失败,请重试".show(requireContext()) + else -> LoadingDialogHub.show(requireActivity(), "删除中,请稍后...") } } } diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt index 80555fa..38edc79 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt @@ -42,6 +42,7 @@ import com.casic.birmm.inspect.view.NewEventActivity import com.casic.birmm.inspect.vm.EventViewModel import com.casic.birmm.inspect.vm.InspectionViewModel +import com.casic.birmm.inspect.vm.RouteViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo @@ -76,6 +77,7 @@ private lateinit var vibrator: Vibrator private lateinit var eventViewModel: EventViewModel private lateinit var inspectionViewModel: InspectionViewModel + private lateinit var routeViewModel: RouteViewModel private lateinit var aMap: AMap private var newInspectionModel: NewInspectionModel? = null//新建巡检数据结构模型 private var isBluetoothOn = true @@ -169,6 +171,7 @@ //VM eventViewModel = ViewModelProvider(this)[EventViewModel::class.java] inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java] + routeViewModel = ViewModelProvider(this)[RouteViewModel::class.java] } override fun observeRequestState() { @@ -580,6 +583,11 @@ for (i in 0 until latLngs.size step 5) { newInspectionModel!!.routes.add(latLngs[i]) //上传点位 + routeViewModel.uploadRoutePoint( + newInspectionModel!!.id, + latLngs[i], + System.currentTimeMillis().timestampToCompleteDate() + ) } LatLng(latLngs.first.latitude, latLngs.first.longitude) diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt index 657d132..1ba60fb 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt @@ -10,6 +10,7 @@ import com.casic.birmm.inspect.databinding.FragmentQueryEventBinding import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.model.EventListModel +import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.view.EventDetailActivity import com.casic.birmm.inspect.vm.EventViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter @@ -117,14 +118,16 @@ eventViewModel.loadState.observe(this) { when (it) { is LoadState.Success -> { + LoadingDialogHub.dismiss() dataBeans.remove(dataBeans[deletePosition]) eventListAdapter.notifyItemRemoved(deletePosition) eventListAdapter.notifyItemRangeChanged( deletePosition, dataBeans.size - deletePosition ) + "删除成功".show(requireContext()) } - else -> "删除失败,请重试".show(requireContext()) + else -> LoadingDialogHub.show(requireActivity(), "删除中,请稍后...") } } } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java index f139ba5..64c83ec 100644 --- a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java +++ b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java @@ -60,8 +60,8 @@ private String id; private String images; private String inspectionId; - private Integer lat; - private Integer lng; + private Double lat; + private Double lng; private String name; private String type; private String user; @@ -122,19 +122,19 @@ this.inspectionId = inspectionId; } - public Integer getLat() { + public Double getLat() { return lat; } - public void setLat(Integer lat) { + public void setLat(Double lat) { this.lat = lat; } - public Integer getLng() { + public Double getLng() { return lng; } - public void setLng(Integer lng) { + public void setLng(Double lng) { this.lng = lng; } diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt index 80555fa..38edc79 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt @@ -42,6 +42,7 @@ import com.casic.birmm.inspect.view.NewEventActivity import com.casic.birmm.inspect.vm.EventViewModel import com.casic.birmm.inspect.vm.InspectionViewModel +import com.casic.birmm.inspect.vm.RouteViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo @@ -76,6 +77,7 @@ private lateinit var vibrator: Vibrator private lateinit var eventViewModel: EventViewModel private lateinit var inspectionViewModel: InspectionViewModel + private lateinit var routeViewModel: RouteViewModel private lateinit var aMap: AMap private var newInspectionModel: NewInspectionModel? = null//新建巡检数据结构模型 private var isBluetoothOn = true @@ -169,6 +171,7 @@ //VM eventViewModel = ViewModelProvider(this)[EventViewModel::class.java] inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java] + routeViewModel = ViewModelProvider(this)[RouteViewModel::class.java] } override fun observeRequestState() { @@ -580,6 +583,11 @@ for (i in 0 until latLngs.size step 5) { newInspectionModel!!.routes.add(latLngs[i]) //上传点位 + routeViewModel.uploadRoutePoint( + newInspectionModel!!.id, + latLngs[i], + System.currentTimeMillis().timestampToCompleteDate() + ) } LatLng(latLngs.first.latitude, latLngs.first.longitude) diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt index 657d132..1ba60fb 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt @@ -10,6 +10,7 @@ import com.casic.birmm.inspect.databinding.FragmentQueryEventBinding import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.model.EventListModel +import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.view.EventDetailActivity import com.casic.birmm.inspect.vm.EventViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter @@ -117,14 +118,16 @@ eventViewModel.loadState.observe(this) { when (it) { is LoadState.Success -> { + LoadingDialogHub.dismiss() dataBeans.remove(dataBeans[deletePosition]) eventListAdapter.notifyItemRemoved(deletePosition) eventListAdapter.notifyItemRangeChanged( deletePosition, dataBeans.size - deletePosition ) + "删除成功".show(requireContext()) } - else -> "删除失败,请重试".show(requireContext()) + else -> LoadingDialogHub.show(requireActivity(), "删除中,请稍后...") } } } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java index f139ba5..64c83ec 100644 --- a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java +++ b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java @@ -60,8 +60,8 @@ private String id; private String images; private String inspectionId; - private Integer lat; - private Integer lng; + private Double lat; + private Double lng; private String name; private String type; private String user; @@ -122,19 +122,19 @@ this.inspectionId = inspectionId; } - public Integer getLat() { + public Double getLat() { return lat; } - public void setLat(Integer lat) { + public void setLat(Double lat) { this.lat = lat; } - public Integer getLng() { + public Double getLng() { return lng; } - public void setLng(Integer lng) { + public void setLng(Double lng) { this.lng = lng; } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java b/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java new file mode 100644 index 0000000..e185410 --- /dev/null +++ b/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java @@ -0,0 +1,103 @@ +package com.casic.birmm.inspect.model; + +import java.util.List; + +public class RoutePointModel { + + private Integer code; + private DataModel data; + private String message; + private Boolean success; + + public Integer getCode() { + return code; + } + + public void setCode(Integer code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public static class DataModel { + private List list; + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } + + public static class ListModel { + private String id; + private String inspectionId; + private String lat; + private String lng; + private String uploadTime; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInspectionId() { + return inspectionId; + } + + public void setInspectionId(String inspectionId) { + this.inspectionId = inspectionId; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getUploadTime() { + return uploadTime; + } + + public void setUploadTime(String uploadTime) { + this.uploadTime = uploadTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt index 80555fa..38edc79 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt @@ -42,6 +42,7 @@ import com.casic.birmm.inspect.view.NewEventActivity import com.casic.birmm.inspect.vm.EventViewModel import com.casic.birmm.inspect.vm.InspectionViewModel +import com.casic.birmm.inspect.vm.RouteViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo @@ -76,6 +77,7 @@ private lateinit var vibrator: Vibrator private lateinit var eventViewModel: EventViewModel private lateinit var inspectionViewModel: InspectionViewModel + private lateinit var routeViewModel: RouteViewModel private lateinit var aMap: AMap private var newInspectionModel: NewInspectionModel? = null//新建巡检数据结构模型 private var isBluetoothOn = true @@ -169,6 +171,7 @@ //VM eventViewModel = ViewModelProvider(this)[EventViewModel::class.java] inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java] + routeViewModel = ViewModelProvider(this)[RouteViewModel::class.java] } override fun observeRequestState() { @@ -580,6 +583,11 @@ for (i in 0 until latLngs.size step 5) { newInspectionModel!!.routes.add(latLngs[i]) //上传点位 + routeViewModel.uploadRoutePoint( + newInspectionModel!!.id, + latLngs[i], + System.currentTimeMillis().timestampToCompleteDate() + ) } LatLng(latLngs.first.latitude, latLngs.first.longitude) diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt index 657d132..1ba60fb 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt @@ -10,6 +10,7 @@ import com.casic.birmm.inspect.databinding.FragmentQueryEventBinding import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.model.EventListModel +import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.view.EventDetailActivity import com.casic.birmm.inspect.vm.EventViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter @@ -117,14 +118,16 @@ eventViewModel.loadState.observe(this) { when (it) { is LoadState.Success -> { + LoadingDialogHub.dismiss() dataBeans.remove(dataBeans[deletePosition]) eventListAdapter.notifyItemRemoved(deletePosition) eventListAdapter.notifyItemRangeChanged( deletePosition, dataBeans.size - deletePosition ) + "删除成功".show(requireContext()) } - else -> "删除失败,请重试".show(requireContext()) + else -> LoadingDialogHub.show(requireActivity(), "删除中,请稍后...") } } } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java index f139ba5..64c83ec 100644 --- a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java +++ b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java @@ -60,8 +60,8 @@ private String id; private String images; private String inspectionId; - private Integer lat; - private Integer lng; + private Double lat; + private Double lng; private String name; private String type; private String user; @@ -122,19 +122,19 @@ this.inspectionId = inspectionId; } - public Integer getLat() { + public Double getLat() { return lat; } - public void setLat(Integer lat) { + public void setLat(Double lat) { this.lat = lat; } - public Integer getLng() { + public Double getLng() { return lng; } - public void setLng(Integer lng) { + public void setLng(Double lng) { this.lng = lng; } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java b/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java new file mode 100644 index 0000000..e185410 --- /dev/null +++ b/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java @@ -0,0 +1,103 @@ +package com.casic.birmm.inspect.model; + +import java.util.List; + +public class RoutePointModel { + + private Integer code; + private DataModel data; + private String message; + private Boolean success; + + public Integer getCode() { + return code; + } + + public void setCode(Integer code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public static class DataModel { + private List list; + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } + + public static class ListModel { + private String id; + private String inspectionId; + private String lat; + private String lng; + private String uploadTime; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInspectionId() { + return inspectionId; + } + + public void setInspectionId(String inspectionId) { + this.inspectionId = inspectionId; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getUploadTime() { + return uploadTime; + } + + public void setUploadTime(String uploadTime) { + this.uploadTime = uploadTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt index ee402a7..6aef2d8 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt @@ -34,7 +34,7 @@ * ============================================================================================= * */ const val PERMISSIONS_CODE = 999 - const val PAGE_LIMIT = 15 + const val PAGE_LIMIT = 10 const val BLUETOOTH_ON = 20 const val BLUETOOTH_OFF = 21 const val CONNECT_SUCCESS = 22 diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt index 80555fa..38edc79 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt @@ -42,6 +42,7 @@ import com.casic.birmm.inspect.view.NewEventActivity import com.casic.birmm.inspect.vm.EventViewModel import com.casic.birmm.inspect.vm.InspectionViewModel +import com.casic.birmm.inspect.vm.RouteViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo @@ -76,6 +77,7 @@ private lateinit var vibrator: Vibrator private lateinit var eventViewModel: EventViewModel private lateinit var inspectionViewModel: InspectionViewModel + private lateinit var routeViewModel: RouteViewModel private lateinit var aMap: AMap private var newInspectionModel: NewInspectionModel? = null//新建巡检数据结构模型 private var isBluetoothOn = true @@ -169,6 +171,7 @@ //VM eventViewModel = ViewModelProvider(this)[EventViewModel::class.java] inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java] + routeViewModel = ViewModelProvider(this)[RouteViewModel::class.java] } override fun observeRequestState() { @@ -580,6 +583,11 @@ for (i in 0 until latLngs.size step 5) { newInspectionModel!!.routes.add(latLngs[i]) //上传点位 + routeViewModel.uploadRoutePoint( + newInspectionModel!!.id, + latLngs[i], + System.currentTimeMillis().timestampToCompleteDate() + ) } LatLng(latLngs.first.latitude, latLngs.first.longitude) diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt index 657d132..1ba60fb 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt @@ -10,6 +10,7 @@ import com.casic.birmm.inspect.databinding.FragmentQueryEventBinding import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.model.EventListModel +import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.view.EventDetailActivity import com.casic.birmm.inspect.vm.EventViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter @@ -117,14 +118,16 @@ eventViewModel.loadState.observe(this) { when (it) { is LoadState.Success -> { + LoadingDialogHub.dismiss() dataBeans.remove(dataBeans[deletePosition]) eventListAdapter.notifyItemRemoved(deletePosition) eventListAdapter.notifyItemRangeChanged( deletePosition, dataBeans.size - deletePosition ) + "删除成功".show(requireContext()) } - else -> "删除失败,请重试".show(requireContext()) + else -> LoadingDialogHub.show(requireActivity(), "删除中,请稍后...") } } } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java index f139ba5..64c83ec 100644 --- a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java +++ b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java @@ -60,8 +60,8 @@ private String id; private String images; private String inspectionId; - private Integer lat; - private Integer lng; + private Double lat; + private Double lng; private String name; private String type; private String user; @@ -122,19 +122,19 @@ this.inspectionId = inspectionId; } - public Integer getLat() { + public Double getLat() { return lat; } - public void setLat(Integer lat) { + public void setLat(Double lat) { this.lat = lat; } - public Integer getLng() { + public Double getLng() { return lng; } - public void setLng(Integer lng) { + public void setLng(Double lng) { this.lng = lng; } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java b/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java new file mode 100644 index 0000000..e185410 --- /dev/null +++ b/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java @@ -0,0 +1,103 @@ +package com.casic.birmm.inspect.model; + +import java.util.List; + +public class RoutePointModel { + + private Integer code; + private DataModel data; + private String message; + private Boolean success; + + public Integer getCode() { + return code; + } + + public void setCode(Integer code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public static class DataModel { + private List list; + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } + + public static class ListModel { + private String id; + private String inspectionId; + private String lat; + private String lng; + private String uploadTime; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInspectionId() { + return inspectionId; + } + + public void setInspectionId(String inspectionId) { + this.inspectionId = inspectionId; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getUploadTime() { + return uploadTime; + } + + public void setUploadTime(String uploadTime) { + this.uploadTime = uploadTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt index ee402a7..6aef2d8 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt @@ -34,7 +34,7 @@ * ============================================================================================= * */ const val PERMISSIONS_CODE = 999 - const val PAGE_LIMIT = 15 + const val PAGE_LIMIT = 10 const val BLUETOOTH_ON = 20 const val BLUETOOTH_OFF = 21 const val CONNECT_SUCCESS = 22 diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt index f961ead..0d02f00 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt @@ -161,6 +161,20 @@ ): String /** + * 上传巡检路径点 + * */ + @FormUrlEncoded + @POST("/route/add") + suspend fun uploadRoutePoint( + @Header("token") token: String, + @Field("id") id: String, + @Field("inspectionId") inspectionId: String, + @Field("lat") lat: Double, + @Field("lng") lng: Double, + @Field("uploadTime") uploadTime: String + ): String + + /** * 根据巡检ID获取巡检路径点 */ @GET("/route/searchById") diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt index 80555fa..38edc79 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt @@ -42,6 +42,7 @@ import com.casic.birmm.inspect.view.NewEventActivity import com.casic.birmm.inspect.vm.EventViewModel import com.casic.birmm.inspect.vm.InspectionViewModel +import com.casic.birmm.inspect.vm.RouteViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo @@ -76,6 +77,7 @@ private lateinit var vibrator: Vibrator private lateinit var eventViewModel: EventViewModel private lateinit var inspectionViewModel: InspectionViewModel + private lateinit var routeViewModel: RouteViewModel private lateinit var aMap: AMap private var newInspectionModel: NewInspectionModel? = null//新建巡检数据结构模型 private var isBluetoothOn = true @@ -169,6 +171,7 @@ //VM eventViewModel = ViewModelProvider(this)[EventViewModel::class.java] inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java] + routeViewModel = ViewModelProvider(this)[RouteViewModel::class.java] } override fun observeRequestState() { @@ -580,6 +583,11 @@ for (i in 0 until latLngs.size step 5) { newInspectionModel!!.routes.add(latLngs[i]) //上传点位 + routeViewModel.uploadRoutePoint( + newInspectionModel!!.id, + latLngs[i], + System.currentTimeMillis().timestampToCompleteDate() + ) } LatLng(latLngs.first.latitude, latLngs.first.longitude) diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt index 657d132..1ba60fb 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt @@ -10,6 +10,7 @@ import com.casic.birmm.inspect.databinding.FragmentQueryEventBinding import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.model.EventListModel +import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.view.EventDetailActivity import com.casic.birmm.inspect.vm.EventViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter @@ -117,14 +118,16 @@ eventViewModel.loadState.observe(this) { when (it) { is LoadState.Success -> { + LoadingDialogHub.dismiss() dataBeans.remove(dataBeans[deletePosition]) eventListAdapter.notifyItemRemoved(deletePosition) eventListAdapter.notifyItemRangeChanged( deletePosition, dataBeans.size - deletePosition ) + "删除成功".show(requireContext()) } - else -> "删除失败,请重试".show(requireContext()) + else -> LoadingDialogHub.show(requireActivity(), "删除中,请稍后...") } } } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java index f139ba5..64c83ec 100644 --- a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java +++ b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java @@ -60,8 +60,8 @@ private String id; private String images; private String inspectionId; - private Integer lat; - private Integer lng; + private Double lat; + private Double lng; private String name; private String type; private String user; @@ -122,19 +122,19 @@ this.inspectionId = inspectionId; } - public Integer getLat() { + public Double getLat() { return lat; } - public void setLat(Integer lat) { + public void setLat(Double lat) { this.lat = lat; } - public Integer getLng() { + public Double getLng() { return lng; } - public void setLng(Integer lng) { + public void setLng(Double lng) { this.lng = lng; } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java b/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java new file mode 100644 index 0000000..e185410 --- /dev/null +++ b/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java @@ -0,0 +1,103 @@ +package com.casic.birmm.inspect.model; + +import java.util.List; + +public class RoutePointModel { + + private Integer code; + private DataModel data; + private String message; + private Boolean success; + + public Integer getCode() { + return code; + } + + public void setCode(Integer code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public static class DataModel { + private List list; + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } + + public static class ListModel { + private String id; + private String inspectionId; + private String lat; + private String lng; + private String uploadTime; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInspectionId() { + return inspectionId; + } + + public void setInspectionId(String inspectionId) { + this.inspectionId = inspectionId; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getUploadTime() { + return uploadTime; + } + + public void setUploadTime(String uploadTime) { + this.uploadTime = uploadTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt index ee402a7..6aef2d8 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt @@ -34,7 +34,7 @@ * ============================================================================================= * */ const val PERMISSIONS_CODE = 999 - const val PAGE_LIMIT = 15 + const val PAGE_LIMIT = 10 const val BLUETOOTH_ON = 20 const val BLUETOOTH_OFF = 21 const val CONNECT_SUCCESS = 22 diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt index f961ead..0d02f00 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt @@ -161,6 +161,20 @@ ): String /** + * 上传巡检路径点 + * */ + @FormUrlEncoded + @POST("/route/add") + suspend fun uploadRoutePoint( + @Header("token") token: String, + @Field("id") id: String, + @Field("inspectionId") inspectionId: String, + @Field("lat") lat: Double, + @Field("lng") lng: Double, + @Field("uploadTime") uploadTime: String + ): String + + /** * 根据巡检ID获取巡检路径点 */ @GET("/route/searchById") diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 4387e1c..374e12f 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,5 +1,6 @@ package com.casic.birmm.inspect.utils.retrofit +import com.amap.api.maps.model.LatLng import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant import com.pengxh.kt.lite.utils.RetrofitFactory @@ -8,6 +9,7 @@ import okhttp3.MultipartBody import okhttp3.RequestBody import java.io.File +import java.util.UUID object RetrofitServiceManager { private val api by lazy { @@ -168,6 +170,20 @@ } /** + * 上传巡检路径点 + */ + suspend fun uploadRoutePoint(inspectionId: String, latLng: LatLng, uploadTime: String): String { + return api.uploadRoutePoint( + AuthenticationHelper.token!!, + UUID.randomUUID().toString(), + inspectionId, + latLng.latitude, + latLng.longitude, + uploadTime + ) + } + + /** * 根据巡检ID获取巡检路径点 */ suspend fun getRouteByInspectId(inspectionId: String): String { diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt index 80555fa..38edc79 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt @@ -42,6 +42,7 @@ import com.casic.birmm.inspect.view.NewEventActivity import com.casic.birmm.inspect.vm.EventViewModel import com.casic.birmm.inspect.vm.InspectionViewModel +import com.casic.birmm.inspect.vm.RouteViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo @@ -76,6 +77,7 @@ private lateinit var vibrator: Vibrator private lateinit var eventViewModel: EventViewModel private lateinit var inspectionViewModel: InspectionViewModel + private lateinit var routeViewModel: RouteViewModel private lateinit var aMap: AMap private var newInspectionModel: NewInspectionModel? = null//新建巡检数据结构模型 private var isBluetoothOn = true @@ -169,6 +171,7 @@ //VM eventViewModel = ViewModelProvider(this)[EventViewModel::class.java] inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java] + routeViewModel = ViewModelProvider(this)[RouteViewModel::class.java] } override fun observeRequestState() { @@ -580,6 +583,11 @@ for (i in 0 until latLngs.size step 5) { newInspectionModel!!.routes.add(latLngs[i]) //上传点位 + routeViewModel.uploadRoutePoint( + newInspectionModel!!.id, + latLngs[i], + System.currentTimeMillis().timestampToCompleteDate() + ) } LatLng(latLngs.first.latitude, latLngs.first.longitude) diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt index 657d132..1ba60fb 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt @@ -10,6 +10,7 @@ import com.casic.birmm.inspect.databinding.FragmentQueryEventBinding import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.model.EventListModel +import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.view.EventDetailActivity import com.casic.birmm.inspect.vm.EventViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter @@ -117,14 +118,16 @@ eventViewModel.loadState.observe(this) { when (it) { is LoadState.Success -> { + LoadingDialogHub.dismiss() dataBeans.remove(dataBeans[deletePosition]) eventListAdapter.notifyItemRemoved(deletePosition) eventListAdapter.notifyItemRangeChanged( deletePosition, dataBeans.size - deletePosition ) + "删除成功".show(requireContext()) } - else -> "删除失败,请重试".show(requireContext()) + else -> LoadingDialogHub.show(requireActivity(), "删除中,请稍后...") } } } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java index f139ba5..64c83ec 100644 --- a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java +++ b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java @@ -60,8 +60,8 @@ private String id; private String images; private String inspectionId; - private Integer lat; - private Integer lng; + private Double lat; + private Double lng; private String name; private String type; private String user; @@ -122,19 +122,19 @@ this.inspectionId = inspectionId; } - public Integer getLat() { + public Double getLat() { return lat; } - public void setLat(Integer lat) { + public void setLat(Double lat) { this.lat = lat; } - public Integer getLng() { + public Double getLng() { return lng; } - public void setLng(Integer lng) { + public void setLng(Double lng) { this.lng = lng; } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java b/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java new file mode 100644 index 0000000..e185410 --- /dev/null +++ b/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java @@ -0,0 +1,103 @@ +package com.casic.birmm.inspect.model; + +import java.util.List; + +public class RoutePointModel { + + private Integer code; + private DataModel data; + private String message; + private Boolean success; + + public Integer getCode() { + return code; + } + + public void setCode(Integer code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public static class DataModel { + private List list; + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } + + public static class ListModel { + private String id; + private String inspectionId; + private String lat; + private String lng; + private String uploadTime; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInspectionId() { + return inspectionId; + } + + public void setInspectionId(String inspectionId) { + this.inspectionId = inspectionId; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getUploadTime() { + return uploadTime; + } + + public void setUploadTime(String uploadTime) { + this.uploadTime = uploadTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt index ee402a7..6aef2d8 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt @@ -34,7 +34,7 @@ * ============================================================================================= * */ const val PERMISSIONS_CODE = 999 - const val PAGE_LIMIT = 15 + const val PAGE_LIMIT = 10 const val BLUETOOTH_ON = 20 const val BLUETOOTH_OFF = 21 const val CONNECT_SUCCESS = 22 diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt index f961ead..0d02f00 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt @@ -161,6 +161,20 @@ ): String /** + * 上传巡检路径点 + * */ + @FormUrlEncoded + @POST("/route/add") + suspend fun uploadRoutePoint( + @Header("token") token: String, + @Field("id") id: String, + @Field("inspectionId") inspectionId: String, + @Field("lat") lat: Double, + @Field("lng") lng: Double, + @Field("uploadTime") uploadTime: String + ): String + + /** * 根据巡检ID获取巡检路径点 */ @GET("/route/searchById") diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 4387e1c..374e12f 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,5 +1,6 @@ package com.casic.birmm.inspect.utils.retrofit +import com.amap.api.maps.model.LatLng import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant import com.pengxh.kt.lite.utils.RetrofitFactory @@ -8,6 +9,7 @@ import okhttp3.MultipartBody import okhttp3.RequestBody import java.io.File +import java.util.UUID object RetrofitServiceManager { private val api by lazy { @@ -168,6 +170,20 @@ } /** + * 上传巡检路径点 + */ + suspend fun uploadRoutePoint(inspectionId: String, latLng: LatLng, uploadTime: String): String { + return api.uploadRoutePoint( + AuthenticationHelper.token!!, + UUID.randomUUID().toString(), + inspectionId, + latLng.latitude, + latLng.longitude, + uploadTime + ) + } + + /** * 根据巡检ID获取巡检路径点 */ suspend fun getRouteByInspectId(inspectionId: String): String { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt index ff1f014..f949d8d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt @@ -1,5 +1,6 @@ package com.casic.birmm.inspect.view +import android.graphics.Color import android.os.Bundle import androidx.lifecycle.ViewModelProvider import com.amap.api.maps.AMap @@ -9,11 +10,13 @@ import com.amap.api.maps.model.CameraPosition import com.amap.api.maps.model.LatLng import com.amap.api.maps.model.MarkerOptions +import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.databinding.ActivityInspectionRouteBinding import com.casic.birmm.inspect.extensions.initLayoutImmersionBar import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.vm.InspectionViewModel +import com.casic.birmm.inspect.vm.RouteViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo @@ -26,6 +29,7 @@ private lateinit var aMap: AMap private lateinit var inspectionId: String private lateinit var viewModel: InspectionViewModel + private lateinit var routeViewModel: RouteViewModel override fun initViewBinding(): ActivityInspectionRouteBinding { return ActivityInspectionRouteBinding.inflate(layoutInflater) @@ -44,6 +48,19 @@ PageNavigationManager.addActivity(this) viewModel = ViewModelProvider(this)[InspectionViewModel::class.java] + routeViewModel = ViewModelProvider(this)[RouteViewModel::class.java] + routeViewModel.routePointResult.observe(this) { + if (it.code == 200) { + val latLngPoints: ArrayList = ArrayList() + it.data.list.forEach { routeModel -> + latLngPoints.add(LatLng(routeModel.lat.toDouble(), routeModel.lng.toDouble())) + } + aMap.addPolyline( + PolylineOptions().addAll(latLngPoints).width(10.toFloat()).color(Color.RED) + ) + } + } + inspectionId = intent.getStringExtra(Constant.INTENT_PARAM)!! binding.mapView.onCreate(savedInstanceState) @@ -77,8 +94,7 @@ addMarker(LatLng(detailData.endLat, detailData.endLng), R.mipmap.zhongdian) } - //TODO 未完,根据巡检ID查询路径点 - viewModel.getRouteByInspectId(inspectionId) + routeViewModel.getRouteByInspectId(inspectionId) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt index 80555fa..38edc79 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt @@ -42,6 +42,7 @@ import com.casic.birmm.inspect.view.NewEventActivity import com.casic.birmm.inspect.vm.EventViewModel import com.casic.birmm.inspect.vm.InspectionViewModel +import com.casic.birmm.inspect.vm.RouteViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo @@ -76,6 +77,7 @@ private lateinit var vibrator: Vibrator private lateinit var eventViewModel: EventViewModel private lateinit var inspectionViewModel: InspectionViewModel + private lateinit var routeViewModel: RouteViewModel private lateinit var aMap: AMap private var newInspectionModel: NewInspectionModel? = null//新建巡检数据结构模型 private var isBluetoothOn = true @@ -169,6 +171,7 @@ //VM eventViewModel = ViewModelProvider(this)[EventViewModel::class.java] inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java] + routeViewModel = ViewModelProvider(this)[RouteViewModel::class.java] } override fun observeRequestState() { @@ -580,6 +583,11 @@ for (i in 0 until latLngs.size step 5) { newInspectionModel!!.routes.add(latLngs[i]) //上传点位 + routeViewModel.uploadRoutePoint( + newInspectionModel!!.id, + latLngs[i], + System.currentTimeMillis().timestampToCompleteDate() + ) } LatLng(latLngs.first.latitude, latLngs.first.longitude) diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt index 657d132..1ba60fb 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt @@ -10,6 +10,7 @@ import com.casic.birmm.inspect.databinding.FragmentQueryEventBinding import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.model.EventListModel +import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.view.EventDetailActivity import com.casic.birmm.inspect.vm.EventViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter @@ -117,14 +118,16 @@ eventViewModel.loadState.observe(this) { when (it) { is LoadState.Success -> { + LoadingDialogHub.dismiss() dataBeans.remove(dataBeans[deletePosition]) eventListAdapter.notifyItemRemoved(deletePosition) eventListAdapter.notifyItemRangeChanged( deletePosition, dataBeans.size - deletePosition ) + "删除成功".show(requireContext()) } - else -> "删除失败,请重试".show(requireContext()) + else -> LoadingDialogHub.show(requireActivity(), "删除中,请稍后...") } } } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java index f139ba5..64c83ec 100644 --- a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java +++ b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java @@ -60,8 +60,8 @@ private String id; private String images; private String inspectionId; - private Integer lat; - private Integer lng; + private Double lat; + private Double lng; private String name; private String type; private String user; @@ -122,19 +122,19 @@ this.inspectionId = inspectionId; } - public Integer getLat() { + public Double getLat() { return lat; } - public void setLat(Integer lat) { + public void setLat(Double lat) { this.lat = lat; } - public Integer getLng() { + public Double getLng() { return lng; } - public void setLng(Integer lng) { + public void setLng(Double lng) { this.lng = lng; } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java b/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java new file mode 100644 index 0000000..e185410 --- /dev/null +++ b/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java @@ -0,0 +1,103 @@ +package com.casic.birmm.inspect.model; + +import java.util.List; + +public class RoutePointModel { + + private Integer code; + private DataModel data; + private String message; + private Boolean success; + + public Integer getCode() { + return code; + } + + public void setCode(Integer code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public static class DataModel { + private List list; + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } + + public static class ListModel { + private String id; + private String inspectionId; + private String lat; + private String lng; + private String uploadTime; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInspectionId() { + return inspectionId; + } + + public void setInspectionId(String inspectionId) { + this.inspectionId = inspectionId; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getUploadTime() { + return uploadTime; + } + + public void setUploadTime(String uploadTime) { + this.uploadTime = uploadTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt index ee402a7..6aef2d8 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt @@ -34,7 +34,7 @@ * ============================================================================================= * */ const val PERMISSIONS_CODE = 999 - const val PAGE_LIMIT = 15 + const val PAGE_LIMIT = 10 const val BLUETOOTH_ON = 20 const val BLUETOOTH_OFF = 21 const val CONNECT_SUCCESS = 22 diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt index f961ead..0d02f00 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt @@ -161,6 +161,20 @@ ): String /** + * 上传巡检路径点 + * */ + @FormUrlEncoded + @POST("/route/add") + suspend fun uploadRoutePoint( + @Header("token") token: String, + @Field("id") id: String, + @Field("inspectionId") inspectionId: String, + @Field("lat") lat: Double, + @Field("lng") lng: Double, + @Field("uploadTime") uploadTime: String + ): String + + /** * 根据巡检ID获取巡检路径点 */ @GET("/route/searchById") diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 4387e1c..374e12f 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,5 +1,6 @@ package com.casic.birmm.inspect.utils.retrofit +import com.amap.api.maps.model.LatLng import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant import com.pengxh.kt.lite.utils.RetrofitFactory @@ -8,6 +9,7 @@ import okhttp3.MultipartBody import okhttp3.RequestBody import java.io.File +import java.util.UUID object RetrofitServiceManager { private val api by lazy { @@ -168,6 +170,20 @@ } /** + * 上传巡检路径点 + */ + suspend fun uploadRoutePoint(inspectionId: String, latLng: LatLng, uploadTime: String): String { + return api.uploadRoutePoint( + AuthenticationHelper.token!!, + UUID.randomUUID().toString(), + inspectionId, + latLng.latitude, + latLng.longitude, + uploadTime + ) + } + + /** * 根据巡检ID获取巡检路径点 */ suspend fun getRouteByInspectId(inspectionId: String): String { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt index ff1f014..f949d8d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt @@ -1,5 +1,6 @@ package com.casic.birmm.inspect.view +import android.graphics.Color import android.os.Bundle import androidx.lifecycle.ViewModelProvider import com.amap.api.maps.AMap @@ -9,11 +10,13 @@ import com.amap.api.maps.model.CameraPosition import com.amap.api.maps.model.LatLng import com.amap.api.maps.model.MarkerOptions +import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.databinding.ActivityInspectionRouteBinding import com.casic.birmm.inspect.extensions.initLayoutImmersionBar import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.vm.InspectionViewModel +import com.casic.birmm.inspect.vm.RouteViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo @@ -26,6 +29,7 @@ private lateinit var aMap: AMap private lateinit var inspectionId: String private lateinit var viewModel: InspectionViewModel + private lateinit var routeViewModel: RouteViewModel override fun initViewBinding(): ActivityInspectionRouteBinding { return ActivityInspectionRouteBinding.inflate(layoutInflater) @@ -44,6 +48,19 @@ PageNavigationManager.addActivity(this) viewModel = ViewModelProvider(this)[InspectionViewModel::class.java] + routeViewModel = ViewModelProvider(this)[RouteViewModel::class.java] + routeViewModel.routePointResult.observe(this) { + if (it.code == 200) { + val latLngPoints: ArrayList = ArrayList() + it.data.list.forEach { routeModel -> + latLngPoints.add(LatLng(routeModel.lat.toDouble(), routeModel.lng.toDouble())) + } + aMap.addPolyline( + PolylineOptions().addAll(latLngPoints).width(10.toFloat()).color(Color.RED) + ) + } + } + inspectionId = intent.getStringExtra(Constant.INTENT_PARAM)!! binding.mapView.onCreate(savedInstanceState) @@ -77,8 +94,7 @@ addMarker(LatLng(detailData.endLat, detailData.endLng), R.mipmap.zhongdian) } - //TODO 未完,根据巡检ID查询路径点 - viewModel.getRouteByInspectId(inspectionId) + routeViewModel.getRouteByInspectId(inspectionId) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/EventViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/EventViewModel.kt index 730792f..3b38f1b 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/EventViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/EventViewModel.kt @@ -47,7 +47,7 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) fun addEventTask( @@ -77,6 +77,6 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt index 80555fa..38edc79 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt @@ -42,6 +42,7 @@ import com.casic.birmm.inspect.view.NewEventActivity import com.casic.birmm.inspect.vm.EventViewModel import com.casic.birmm.inspect.vm.InspectionViewModel +import com.casic.birmm.inspect.vm.RouteViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo @@ -76,6 +77,7 @@ private lateinit var vibrator: Vibrator private lateinit var eventViewModel: EventViewModel private lateinit var inspectionViewModel: InspectionViewModel + private lateinit var routeViewModel: RouteViewModel private lateinit var aMap: AMap private var newInspectionModel: NewInspectionModel? = null//新建巡检数据结构模型 private var isBluetoothOn = true @@ -169,6 +171,7 @@ //VM eventViewModel = ViewModelProvider(this)[EventViewModel::class.java] inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java] + routeViewModel = ViewModelProvider(this)[RouteViewModel::class.java] } override fun observeRequestState() { @@ -580,6 +583,11 @@ for (i in 0 until latLngs.size step 5) { newInspectionModel!!.routes.add(latLngs[i]) //上传点位 + routeViewModel.uploadRoutePoint( + newInspectionModel!!.id, + latLngs[i], + System.currentTimeMillis().timestampToCompleteDate() + ) } LatLng(latLngs.first.latitude, latLngs.first.longitude) diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt index 657d132..1ba60fb 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt @@ -10,6 +10,7 @@ import com.casic.birmm.inspect.databinding.FragmentQueryEventBinding import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.model.EventListModel +import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.view.EventDetailActivity import com.casic.birmm.inspect.vm.EventViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter @@ -117,14 +118,16 @@ eventViewModel.loadState.observe(this) { when (it) { is LoadState.Success -> { + LoadingDialogHub.dismiss() dataBeans.remove(dataBeans[deletePosition]) eventListAdapter.notifyItemRemoved(deletePosition) eventListAdapter.notifyItemRangeChanged( deletePosition, dataBeans.size - deletePosition ) + "删除成功".show(requireContext()) } - else -> "删除失败,请重试".show(requireContext()) + else -> LoadingDialogHub.show(requireActivity(), "删除中,请稍后...") } } } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java index f139ba5..64c83ec 100644 --- a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java +++ b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java @@ -60,8 +60,8 @@ private String id; private String images; private String inspectionId; - private Integer lat; - private Integer lng; + private Double lat; + private Double lng; private String name; private String type; private String user; @@ -122,19 +122,19 @@ this.inspectionId = inspectionId; } - public Integer getLat() { + public Double getLat() { return lat; } - public void setLat(Integer lat) { + public void setLat(Double lat) { this.lat = lat; } - public Integer getLng() { + public Double getLng() { return lng; } - public void setLng(Integer lng) { + public void setLng(Double lng) { this.lng = lng; } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java b/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java new file mode 100644 index 0000000..e185410 --- /dev/null +++ b/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java @@ -0,0 +1,103 @@ +package com.casic.birmm.inspect.model; + +import java.util.List; + +public class RoutePointModel { + + private Integer code; + private DataModel data; + private String message; + private Boolean success; + + public Integer getCode() { + return code; + } + + public void setCode(Integer code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public static class DataModel { + private List list; + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } + + public static class ListModel { + private String id; + private String inspectionId; + private String lat; + private String lng; + private String uploadTime; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInspectionId() { + return inspectionId; + } + + public void setInspectionId(String inspectionId) { + this.inspectionId = inspectionId; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getUploadTime() { + return uploadTime; + } + + public void setUploadTime(String uploadTime) { + this.uploadTime = uploadTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt index ee402a7..6aef2d8 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt @@ -34,7 +34,7 @@ * ============================================================================================= * */ const val PERMISSIONS_CODE = 999 - const val PAGE_LIMIT = 15 + const val PAGE_LIMIT = 10 const val BLUETOOTH_ON = 20 const val BLUETOOTH_OFF = 21 const val CONNECT_SUCCESS = 22 diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt index f961ead..0d02f00 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt @@ -161,6 +161,20 @@ ): String /** + * 上传巡检路径点 + * */ + @FormUrlEncoded + @POST("/route/add") + suspend fun uploadRoutePoint( + @Header("token") token: String, + @Field("id") id: String, + @Field("inspectionId") inspectionId: String, + @Field("lat") lat: Double, + @Field("lng") lng: Double, + @Field("uploadTime") uploadTime: String + ): String + + /** * 根据巡检ID获取巡检路径点 */ @GET("/route/searchById") diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 4387e1c..374e12f 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,5 +1,6 @@ package com.casic.birmm.inspect.utils.retrofit +import com.amap.api.maps.model.LatLng import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant import com.pengxh.kt.lite.utils.RetrofitFactory @@ -8,6 +9,7 @@ import okhttp3.MultipartBody import okhttp3.RequestBody import java.io.File +import java.util.UUID object RetrofitServiceManager { private val api by lazy { @@ -168,6 +170,20 @@ } /** + * 上传巡检路径点 + */ + suspend fun uploadRoutePoint(inspectionId: String, latLng: LatLng, uploadTime: String): String { + return api.uploadRoutePoint( + AuthenticationHelper.token!!, + UUID.randomUUID().toString(), + inspectionId, + latLng.latitude, + latLng.longitude, + uploadTime + ) + } + + /** * 根据巡检ID获取巡检路径点 */ suspend fun getRouteByInspectId(inspectionId: String): String { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt index ff1f014..f949d8d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt @@ -1,5 +1,6 @@ package com.casic.birmm.inspect.view +import android.graphics.Color import android.os.Bundle import androidx.lifecycle.ViewModelProvider import com.amap.api.maps.AMap @@ -9,11 +10,13 @@ import com.amap.api.maps.model.CameraPosition import com.amap.api.maps.model.LatLng import com.amap.api.maps.model.MarkerOptions +import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.databinding.ActivityInspectionRouteBinding import com.casic.birmm.inspect.extensions.initLayoutImmersionBar import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.vm.InspectionViewModel +import com.casic.birmm.inspect.vm.RouteViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo @@ -26,6 +29,7 @@ private lateinit var aMap: AMap private lateinit var inspectionId: String private lateinit var viewModel: InspectionViewModel + private lateinit var routeViewModel: RouteViewModel override fun initViewBinding(): ActivityInspectionRouteBinding { return ActivityInspectionRouteBinding.inflate(layoutInflater) @@ -44,6 +48,19 @@ PageNavigationManager.addActivity(this) viewModel = ViewModelProvider(this)[InspectionViewModel::class.java] + routeViewModel = ViewModelProvider(this)[RouteViewModel::class.java] + routeViewModel.routePointResult.observe(this) { + if (it.code == 200) { + val latLngPoints: ArrayList = ArrayList() + it.data.list.forEach { routeModel -> + latLngPoints.add(LatLng(routeModel.lat.toDouble(), routeModel.lng.toDouble())) + } + aMap.addPolyline( + PolylineOptions().addAll(latLngPoints).width(10.toFloat()).color(Color.RED) + ) + } + } + inspectionId = intent.getStringExtra(Constant.INTENT_PARAM)!! binding.mapView.onCreate(savedInstanceState) @@ -77,8 +94,7 @@ addMarker(LatLng(detailData.endLat, detailData.endLng), R.mipmap.zhongdian) } - //TODO 未完,根据巡检ID查询路径点 - viewModel.getRouteByInspectId(inspectionId) + routeViewModel.getRouteByInspectId(inspectionId) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/EventViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/EventViewModel.kt index 730792f..3b38f1b 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/EventViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/EventViewModel.kt @@ -47,7 +47,7 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) fun addEventTask( @@ -77,6 +77,6 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionViewModel.kt index 7906817..e80864d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionViewModel.kt @@ -54,7 +54,7 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) @@ -73,7 +73,7 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) fun addInspection( @@ -118,7 +118,7 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) fun deleteInspectionById(id: String) = launch({ @@ -133,18 +133,6 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) - }) - - fun getRouteByInspectId(inspectionId: String) = launch({ - val response = RetrofitServiceManager.getRouteByInspectId(inspectionId) - val responseCode = response.separateResponseCode() - if (responseCode == 200) { - - } else { - response.toErrorMessage().show(BaseApplication.get()) - } - }, { - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt index 80555fa..38edc79 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt @@ -42,6 +42,7 @@ import com.casic.birmm.inspect.view.NewEventActivity import com.casic.birmm.inspect.vm.EventViewModel import com.casic.birmm.inspect.vm.InspectionViewModel +import com.casic.birmm.inspect.vm.RouteViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo @@ -76,6 +77,7 @@ private lateinit var vibrator: Vibrator private lateinit var eventViewModel: EventViewModel private lateinit var inspectionViewModel: InspectionViewModel + private lateinit var routeViewModel: RouteViewModel private lateinit var aMap: AMap private var newInspectionModel: NewInspectionModel? = null//新建巡检数据结构模型 private var isBluetoothOn = true @@ -169,6 +171,7 @@ //VM eventViewModel = ViewModelProvider(this)[EventViewModel::class.java] inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java] + routeViewModel = ViewModelProvider(this)[RouteViewModel::class.java] } override fun observeRequestState() { @@ -580,6 +583,11 @@ for (i in 0 until latLngs.size step 5) { newInspectionModel!!.routes.add(latLngs[i]) //上传点位 + routeViewModel.uploadRoutePoint( + newInspectionModel!!.id, + latLngs[i], + System.currentTimeMillis().timestampToCompleteDate() + ) } LatLng(latLngs.first.latitude, latLngs.first.longitude) diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt index 657d132..1ba60fb 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt @@ -10,6 +10,7 @@ import com.casic.birmm.inspect.databinding.FragmentQueryEventBinding import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.model.EventListModel +import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.view.EventDetailActivity import com.casic.birmm.inspect.vm.EventViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter @@ -117,14 +118,16 @@ eventViewModel.loadState.observe(this) { when (it) { is LoadState.Success -> { + LoadingDialogHub.dismiss() dataBeans.remove(dataBeans[deletePosition]) eventListAdapter.notifyItemRemoved(deletePosition) eventListAdapter.notifyItemRangeChanged( deletePosition, dataBeans.size - deletePosition ) + "删除成功".show(requireContext()) } - else -> "删除失败,请重试".show(requireContext()) + else -> LoadingDialogHub.show(requireActivity(), "删除中,请稍后...") } } } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java index f139ba5..64c83ec 100644 --- a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java +++ b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java @@ -60,8 +60,8 @@ private String id; private String images; private String inspectionId; - private Integer lat; - private Integer lng; + private Double lat; + private Double lng; private String name; private String type; private String user; @@ -122,19 +122,19 @@ this.inspectionId = inspectionId; } - public Integer getLat() { + public Double getLat() { return lat; } - public void setLat(Integer lat) { + public void setLat(Double lat) { this.lat = lat; } - public Integer getLng() { + public Double getLng() { return lng; } - public void setLng(Integer lng) { + public void setLng(Double lng) { this.lng = lng; } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java b/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java new file mode 100644 index 0000000..e185410 --- /dev/null +++ b/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java @@ -0,0 +1,103 @@ +package com.casic.birmm.inspect.model; + +import java.util.List; + +public class RoutePointModel { + + private Integer code; + private DataModel data; + private String message; + private Boolean success; + + public Integer getCode() { + return code; + } + + public void setCode(Integer code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public static class DataModel { + private List list; + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } + + public static class ListModel { + private String id; + private String inspectionId; + private String lat; + private String lng; + private String uploadTime; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInspectionId() { + return inspectionId; + } + + public void setInspectionId(String inspectionId) { + this.inspectionId = inspectionId; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getUploadTime() { + return uploadTime; + } + + public void setUploadTime(String uploadTime) { + this.uploadTime = uploadTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt index ee402a7..6aef2d8 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt @@ -34,7 +34,7 @@ * ============================================================================================= * */ const val PERMISSIONS_CODE = 999 - const val PAGE_LIMIT = 15 + const val PAGE_LIMIT = 10 const val BLUETOOTH_ON = 20 const val BLUETOOTH_OFF = 21 const val CONNECT_SUCCESS = 22 diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt index f961ead..0d02f00 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt @@ -161,6 +161,20 @@ ): String /** + * 上传巡检路径点 + * */ + @FormUrlEncoded + @POST("/route/add") + suspend fun uploadRoutePoint( + @Header("token") token: String, + @Field("id") id: String, + @Field("inspectionId") inspectionId: String, + @Field("lat") lat: Double, + @Field("lng") lng: Double, + @Field("uploadTime") uploadTime: String + ): String + + /** * 根据巡检ID获取巡检路径点 */ @GET("/route/searchById") diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 4387e1c..374e12f 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,5 +1,6 @@ package com.casic.birmm.inspect.utils.retrofit +import com.amap.api.maps.model.LatLng import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant import com.pengxh.kt.lite.utils.RetrofitFactory @@ -8,6 +9,7 @@ import okhttp3.MultipartBody import okhttp3.RequestBody import java.io.File +import java.util.UUID object RetrofitServiceManager { private val api by lazy { @@ -168,6 +170,20 @@ } /** + * 上传巡检路径点 + */ + suspend fun uploadRoutePoint(inspectionId: String, latLng: LatLng, uploadTime: String): String { + return api.uploadRoutePoint( + AuthenticationHelper.token!!, + UUID.randomUUID().toString(), + inspectionId, + latLng.latitude, + latLng.longitude, + uploadTime + ) + } + + /** * 根据巡检ID获取巡检路径点 */ suspend fun getRouteByInspectId(inspectionId: String): String { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt index ff1f014..f949d8d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt @@ -1,5 +1,6 @@ package com.casic.birmm.inspect.view +import android.graphics.Color import android.os.Bundle import androidx.lifecycle.ViewModelProvider import com.amap.api.maps.AMap @@ -9,11 +10,13 @@ import com.amap.api.maps.model.CameraPosition import com.amap.api.maps.model.LatLng import com.amap.api.maps.model.MarkerOptions +import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.databinding.ActivityInspectionRouteBinding import com.casic.birmm.inspect.extensions.initLayoutImmersionBar import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.vm.InspectionViewModel +import com.casic.birmm.inspect.vm.RouteViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo @@ -26,6 +29,7 @@ private lateinit var aMap: AMap private lateinit var inspectionId: String private lateinit var viewModel: InspectionViewModel + private lateinit var routeViewModel: RouteViewModel override fun initViewBinding(): ActivityInspectionRouteBinding { return ActivityInspectionRouteBinding.inflate(layoutInflater) @@ -44,6 +48,19 @@ PageNavigationManager.addActivity(this) viewModel = ViewModelProvider(this)[InspectionViewModel::class.java] + routeViewModel = ViewModelProvider(this)[RouteViewModel::class.java] + routeViewModel.routePointResult.observe(this) { + if (it.code == 200) { + val latLngPoints: ArrayList = ArrayList() + it.data.list.forEach { routeModel -> + latLngPoints.add(LatLng(routeModel.lat.toDouble(), routeModel.lng.toDouble())) + } + aMap.addPolyline( + PolylineOptions().addAll(latLngPoints).width(10.toFloat()).color(Color.RED) + ) + } + } + inspectionId = intent.getStringExtra(Constant.INTENT_PARAM)!! binding.mapView.onCreate(savedInstanceState) @@ -77,8 +94,7 @@ addMarker(LatLng(detailData.endLat, detailData.endLng), R.mipmap.zhongdian) } - //TODO 未完,根据巡检ID查询路径点 - viewModel.getRouteByInspectId(inspectionId) + routeViewModel.getRouteByInspectId(inspectionId) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/EventViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/EventViewModel.kt index 730792f..3b38f1b 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/EventViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/EventViewModel.kt @@ -47,7 +47,7 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) fun addEventTask( @@ -77,6 +77,6 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionViewModel.kt index 7906817..e80864d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionViewModel.kt @@ -54,7 +54,7 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) @@ -73,7 +73,7 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) fun addInspection( @@ -118,7 +118,7 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) fun deleteInspectionById(id: String) = launch({ @@ -133,18 +133,6 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) - }) - - fun getRouteByInspectId(inspectionId: String) = launch({ - val response = RetrofitServiceManager.getRouteByInspectId(inspectionId) - val responseCode = response.separateResponseCode() - if (responseCode == 200) { - - } else { - response.toErrorMessage().show(BaseApplication.get()) - } - }, { - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/RouteViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/RouteViewModel.kt new file mode 100644 index 0000000..812bfe5 --- /dev/null +++ b/app/src/main/java/com/casic/birmm/inspect/vm/RouteViewModel.kt @@ -0,0 +1,41 @@ +package com.casic.birmm.inspect.vm + +import androidx.lifecycle.MutableLiveData +import com.amap.api.maps.model.LatLng +import com.casic.birmm.inspect.base.BaseApplication +import com.casic.birmm.inspect.extensions.separateResponseCode +import com.casic.birmm.inspect.extensions.toErrorMessage +import com.casic.birmm.inspect.model.RoutePointModel +import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel + +/** + * 路径点相关 VM + * */ +class RouteViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val routePointResult = MutableLiveData() + + fun uploadRoutePoint(inspectionId: String, latLng: LatLng, uploadTime: String) = launch({ + RetrofitServiceManager.uploadRoutePoint(inspectionId, latLng, uploadTime) + }) + + fun getRouteByInspectId(inspectionId: String) = launch({ + val response = RetrofitServiceManager.getRouteByInspectId(inspectionId) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + routePointResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + it.printStackTrace() + }) +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt index 80555fa..38edc79 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt @@ -42,6 +42,7 @@ import com.casic.birmm.inspect.view.NewEventActivity import com.casic.birmm.inspect.vm.EventViewModel import com.casic.birmm.inspect.vm.InspectionViewModel +import com.casic.birmm.inspect.vm.RouteViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo @@ -76,6 +77,7 @@ private lateinit var vibrator: Vibrator private lateinit var eventViewModel: EventViewModel private lateinit var inspectionViewModel: InspectionViewModel + private lateinit var routeViewModel: RouteViewModel private lateinit var aMap: AMap private var newInspectionModel: NewInspectionModel? = null//新建巡检数据结构模型 private var isBluetoothOn = true @@ -169,6 +171,7 @@ //VM eventViewModel = ViewModelProvider(this)[EventViewModel::class.java] inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java] + routeViewModel = ViewModelProvider(this)[RouteViewModel::class.java] } override fun observeRequestState() { @@ -580,6 +583,11 @@ for (i in 0 until latLngs.size step 5) { newInspectionModel!!.routes.add(latLngs[i]) //上传点位 + routeViewModel.uploadRoutePoint( + newInspectionModel!!.id, + latLngs[i], + System.currentTimeMillis().timestampToCompleteDate() + ) } LatLng(latLngs.first.latitude, latLngs.first.longitude) diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt index 657d132..1ba60fb 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt @@ -10,6 +10,7 @@ import com.casic.birmm.inspect.databinding.FragmentQueryEventBinding import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.model.EventListModel +import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.view.EventDetailActivity import com.casic.birmm.inspect.vm.EventViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter @@ -117,14 +118,16 @@ eventViewModel.loadState.observe(this) { when (it) { is LoadState.Success -> { + LoadingDialogHub.dismiss() dataBeans.remove(dataBeans[deletePosition]) eventListAdapter.notifyItemRemoved(deletePosition) eventListAdapter.notifyItemRangeChanged( deletePosition, dataBeans.size - deletePosition ) + "删除成功".show(requireContext()) } - else -> "删除失败,请重试".show(requireContext()) + else -> LoadingDialogHub.show(requireActivity(), "删除中,请稍后...") } } } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java index f139ba5..64c83ec 100644 --- a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java +++ b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java @@ -60,8 +60,8 @@ private String id; private String images; private String inspectionId; - private Integer lat; - private Integer lng; + private Double lat; + private Double lng; private String name; private String type; private String user; @@ -122,19 +122,19 @@ this.inspectionId = inspectionId; } - public Integer getLat() { + public Double getLat() { return lat; } - public void setLat(Integer lat) { + public void setLat(Double lat) { this.lat = lat; } - public Integer getLng() { + public Double getLng() { return lng; } - public void setLng(Integer lng) { + public void setLng(Double lng) { this.lng = lng; } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java b/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java new file mode 100644 index 0000000..e185410 --- /dev/null +++ b/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java @@ -0,0 +1,103 @@ +package com.casic.birmm.inspect.model; + +import java.util.List; + +public class RoutePointModel { + + private Integer code; + private DataModel data; + private String message; + private Boolean success; + + public Integer getCode() { + return code; + } + + public void setCode(Integer code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public static class DataModel { + private List list; + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } + + public static class ListModel { + private String id; + private String inspectionId; + private String lat; + private String lng; + private String uploadTime; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInspectionId() { + return inspectionId; + } + + public void setInspectionId(String inspectionId) { + this.inspectionId = inspectionId; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getUploadTime() { + return uploadTime; + } + + public void setUploadTime(String uploadTime) { + this.uploadTime = uploadTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt index ee402a7..6aef2d8 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt @@ -34,7 +34,7 @@ * ============================================================================================= * */ const val PERMISSIONS_CODE = 999 - const val PAGE_LIMIT = 15 + const val PAGE_LIMIT = 10 const val BLUETOOTH_ON = 20 const val BLUETOOTH_OFF = 21 const val CONNECT_SUCCESS = 22 diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt index f961ead..0d02f00 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt @@ -161,6 +161,20 @@ ): String /** + * 上传巡检路径点 + * */ + @FormUrlEncoded + @POST("/route/add") + suspend fun uploadRoutePoint( + @Header("token") token: String, + @Field("id") id: String, + @Field("inspectionId") inspectionId: String, + @Field("lat") lat: Double, + @Field("lng") lng: Double, + @Field("uploadTime") uploadTime: String + ): String + + /** * 根据巡检ID获取巡检路径点 */ @GET("/route/searchById") diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 4387e1c..374e12f 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,5 +1,6 @@ package com.casic.birmm.inspect.utils.retrofit +import com.amap.api.maps.model.LatLng import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant import com.pengxh.kt.lite.utils.RetrofitFactory @@ -8,6 +9,7 @@ import okhttp3.MultipartBody import okhttp3.RequestBody import java.io.File +import java.util.UUID object RetrofitServiceManager { private val api by lazy { @@ -168,6 +170,20 @@ } /** + * 上传巡检路径点 + */ + suspend fun uploadRoutePoint(inspectionId: String, latLng: LatLng, uploadTime: String): String { + return api.uploadRoutePoint( + AuthenticationHelper.token!!, + UUID.randomUUID().toString(), + inspectionId, + latLng.latitude, + latLng.longitude, + uploadTime + ) + } + + /** * 根据巡检ID获取巡检路径点 */ suspend fun getRouteByInspectId(inspectionId: String): String { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt index ff1f014..f949d8d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt @@ -1,5 +1,6 @@ package com.casic.birmm.inspect.view +import android.graphics.Color import android.os.Bundle import androidx.lifecycle.ViewModelProvider import com.amap.api.maps.AMap @@ -9,11 +10,13 @@ import com.amap.api.maps.model.CameraPosition import com.amap.api.maps.model.LatLng import com.amap.api.maps.model.MarkerOptions +import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.databinding.ActivityInspectionRouteBinding import com.casic.birmm.inspect.extensions.initLayoutImmersionBar import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.vm.InspectionViewModel +import com.casic.birmm.inspect.vm.RouteViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo @@ -26,6 +29,7 @@ private lateinit var aMap: AMap private lateinit var inspectionId: String private lateinit var viewModel: InspectionViewModel + private lateinit var routeViewModel: RouteViewModel override fun initViewBinding(): ActivityInspectionRouteBinding { return ActivityInspectionRouteBinding.inflate(layoutInflater) @@ -44,6 +48,19 @@ PageNavigationManager.addActivity(this) viewModel = ViewModelProvider(this)[InspectionViewModel::class.java] + routeViewModel = ViewModelProvider(this)[RouteViewModel::class.java] + routeViewModel.routePointResult.observe(this) { + if (it.code == 200) { + val latLngPoints: ArrayList = ArrayList() + it.data.list.forEach { routeModel -> + latLngPoints.add(LatLng(routeModel.lat.toDouble(), routeModel.lng.toDouble())) + } + aMap.addPolyline( + PolylineOptions().addAll(latLngPoints).width(10.toFloat()).color(Color.RED) + ) + } + } + inspectionId = intent.getStringExtra(Constant.INTENT_PARAM)!! binding.mapView.onCreate(savedInstanceState) @@ -77,8 +94,7 @@ addMarker(LatLng(detailData.endLat, detailData.endLng), R.mipmap.zhongdian) } - //TODO 未完,根据巡检ID查询路径点 - viewModel.getRouteByInspectId(inspectionId) + routeViewModel.getRouteByInspectId(inspectionId) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/EventViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/EventViewModel.kt index 730792f..3b38f1b 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/EventViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/EventViewModel.kt @@ -47,7 +47,7 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) fun addEventTask( @@ -77,6 +77,6 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionViewModel.kt index 7906817..e80864d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionViewModel.kt @@ -54,7 +54,7 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) @@ -73,7 +73,7 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) fun addInspection( @@ -118,7 +118,7 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) fun deleteInspectionById(id: String) = launch({ @@ -133,18 +133,6 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) - }) - - fun getRouteByInspectId(inspectionId: String) = launch({ - val response = RetrofitServiceManager.getRouteByInspectId(inspectionId) - val responseCode = response.separateResponseCode() - if (responseCode == 200) { - - } else { - response.toErrorMessage().show(BaseApplication.get()) - } - }, { - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/RouteViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/RouteViewModel.kt new file mode 100644 index 0000000..812bfe5 --- /dev/null +++ b/app/src/main/java/com/casic/birmm/inspect/vm/RouteViewModel.kt @@ -0,0 +1,41 @@ +package com.casic.birmm.inspect.vm + +import androidx.lifecycle.MutableLiveData +import com.amap.api.maps.model.LatLng +import com.casic.birmm.inspect.base.BaseApplication +import com.casic.birmm.inspect.extensions.separateResponseCode +import com.casic.birmm.inspect.extensions.toErrorMessage +import com.casic.birmm.inspect.model.RoutePointModel +import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel + +/** + * 路径点相关 VM + * */ +class RouteViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val routePointResult = MutableLiveData() + + fun uploadRoutePoint(inspectionId: String, latLng: LatLng, uploadTime: String) = launch({ + RetrofitServiceManager.uploadRoutePoint(inspectionId, latLng, uploadTime) + }) + + fun getRouteByInspectId(inspectionId: String) = launch({ + val response = RetrofitServiceManager.getRouteByInspectId(inspectionId) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + routePointResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + it.printStackTrace() + }) +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt index 8e3d256..d3dc633 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt @@ -34,6 +34,6 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt index 80555fa..38edc79 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt @@ -42,6 +42,7 @@ import com.casic.birmm.inspect.view.NewEventActivity import com.casic.birmm.inspect.vm.EventViewModel import com.casic.birmm.inspect.vm.InspectionViewModel +import com.casic.birmm.inspect.vm.RouteViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo @@ -76,6 +77,7 @@ private lateinit var vibrator: Vibrator private lateinit var eventViewModel: EventViewModel private lateinit var inspectionViewModel: InspectionViewModel + private lateinit var routeViewModel: RouteViewModel private lateinit var aMap: AMap private var newInspectionModel: NewInspectionModel? = null//新建巡检数据结构模型 private var isBluetoothOn = true @@ -169,6 +171,7 @@ //VM eventViewModel = ViewModelProvider(this)[EventViewModel::class.java] inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java] + routeViewModel = ViewModelProvider(this)[RouteViewModel::class.java] } override fun observeRequestState() { @@ -580,6 +583,11 @@ for (i in 0 until latLngs.size step 5) { newInspectionModel!!.routes.add(latLngs[i]) //上传点位 + routeViewModel.uploadRoutePoint( + newInspectionModel!!.id, + latLngs[i], + System.currentTimeMillis().timestampToCompleteDate() + ) } LatLng(latLngs.first.latitude, latLngs.first.longitude) diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt index 657d132..1ba60fb 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt @@ -10,6 +10,7 @@ import com.casic.birmm.inspect.databinding.FragmentQueryEventBinding import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.model.EventListModel +import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.view.EventDetailActivity import com.casic.birmm.inspect.vm.EventViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter @@ -117,14 +118,16 @@ eventViewModel.loadState.observe(this) { when (it) { is LoadState.Success -> { + LoadingDialogHub.dismiss() dataBeans.remove(dataBeans[deletePosition]) eventListAdapter.notifyItemRemoved(deletePosition) eventListAdapter.notifyItemRangeChanged( deletePosition, dataBeans.size - deletePosition ) + "删除成功".show(requireContext()) } - else -> "删除失败,请重试".show(requireContext()) + else -> LoadingDialogHub.show(requireActivity(), "删除中,请稍后...") } } } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java index f139ba5..64c83ec 100644 --- a/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java +++ b/app/src/main/java/com/casic/birmm/inspect/model/InspectEventModel.java @@ -60,8 +60,8 @@ private String id; private String images; private String inspectionId; - private Integer lat; - private Integer lng; + private Double lat; + private Double lng; private String name; private String type; private String user; @@ -122,19 +122,19 @@ this.inspectionId = inspectionId; } - public Integer getLat() { + public Double getLat() { return lat; } - public void setLat(Integer lat) { + public void setLat(Double lat) { this.lat = lat; } - public Integer getLng() { + public Double getLng() { return lng; } - public void setLng(Integer lng) { + public void setLng(Double lng) { this.lng = lng; } diff --git a/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java b/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java new file mode 100644 index 0000000..e185410 --- /dev/null +++ b/app/src/main/java/com/casic/birmm/inspect/model/RoutePointModel.java @@ -0,0 +1,103 @@ +package com.casic.birmm.inspect.model; + +import java.util.List; + +public class RoutePointModel { + + private Integer code; + private DataModel data; + private String message; + private Boolean success; + + public Integer getCode() { + return code; + } + + public void setCode(Integer code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public static class DataModel { + private List list; + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } + + public static class ListModel { + private String id; + private String inspectionId; + private String lat; + private String lng; + private String uploadTime; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInspectionId() { + return inspectionId; + } + + public void setInspectionId(String inspectionId) { + this.inspectionId = inspectionId; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getUploadTime() { + return uploadTime; + } + + public void setUploadTime(String uploadTime) { + this.uploadTime = uploadTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt index ee402a7..6aef2d8 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/LocaleConstant.kt @@ -34,7 +34,7 @@ * ============================================================================================= * */ const val PERMISSIONS_CODE = 999 - const val PAGE_LIMIT = 15 + const val PAGE_LIMIT = 10 const val BLUETOOTH_ON = 20 const val BLUETOOTH_OFF = 21 const val CONNECT_SUCCESS = 22 diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt index f961ead..0d02f00 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt @@ -161,6 +161,20 @@ ): String /** + * 上传巡检路径点 + * */ + @FormUrlEncoded + @POST("/route/add") + suspend fun uploadRoutePoint( + @Header("token") token: String, + @Field("id") id: String, + @Field("inspectionId") inspectionId: String, + @Field("lat") lat: Double, + @Field("lng") lng: Double, + @Field("uploadTime") uploadTime: String + ): String + + /** * 根据巡检ID获取巡检路径点 */ @GET("/route/searchById") diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 4387e1c..374e12f 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,5 +1,6 @@ package com.casic.birmm.inspect.utils.retrofit +import com.amap.api.maps.model.LatLng import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant import com.pengxh.kt.lite.utils.RetrofitFactory @@ -8,6 +9,7 @@ import okhttp3.MultipartBody import okhttp3.RequestBody import java.io.File +import java.util.UUID object RetrofitServiceManager { private val api by lazy { @@ -168,6 +170,20 @@ } /** + * 上传巡检路径点 + */ + suspend fun uploadRoutePoint(inspectionId: String, latLng: LatLng, uploadTime: String): String { + return api.uploadRoutePoint( + AuthenticationHelper.token!!, + UUID.randomUUID().toString(), + inspectionId, + latLng.latitude, + latLng.longitude, + uploadTime + ) + } + + /** * 根据巡检ID获取巡检路径点 */ suspend fun getRouteByInspectId(inspectionId: String): String { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt index ff1f014..f949d8d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt @@ -1,5 +1,6 @@ package com.casic.birmm.inspect.view +import android.graphics.Color import android.os.Bundle import androidx.lifecycle.ViewModelProvider import com.amap.api.maps.AMap @@ -9,11 +10,13 @@ import com.amap.api.maps.model.CameraPosition import com.amap.api.maps.model.LatLng import com.amap.api.maps.model.MarkerOptions +import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.databinding.ActivityInspectionRouteBinding import com.casic.birmm.inspect.extensions.initLayoutImmersionBar import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.vm.InspectionViewModel +import com.casic.birmm.inspect.vm.RouteViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo @@ -26,6 +29,7 @@ private lateinit var aMap: AMap private lateinit var inspectionId: String private lateinit var viewModel: InspectionViewModel + private lateinit var routeViewModel: RouteViewModel override fun initViewBinding(): ActivityInspectionRouteBinding { return ActivityInspectionRouteBinding.inflate(layoutInflater) @@ -44,6 +48,19 @@ PageNavigationManager.addActivity(this) viewModel = ViewModelProvider(this)[InspectionViewModel::class.java] + routeViewModel = ViewModelProvider(this)[RouteViewModel::class.java] + routeViewModel.routePointResult.observe(this) { + if (it.code == 200) { + val latLngPoints: ArrayList = ArrayList() + it.data.list.forEach { routeModel -> + latLngPoints.add(LatLng(routeModel.lat.toDouble(), routeModel.lng.toDouble())) + } + aMap.addPolyline( + PolylineOptions().addAll(latLngPoints).width(10.toFloat()).color(Color.RED) + ) + } + } + inspectionId = intent.getStringExtra(Constant.INTENT_PARAM)!! binding.mapView.onCreate(savedInstanceState) @@ -77,8 +94,7 @@ addMarker(LatLng(detailData.endLat, detailData.endLng), R.mipmap.zhongdian) } - //TODO 未完,根据巡检ID查询路径点 - viewModel.getRouteByInspectId(inspectionId) + routeViewModel.getRouteByInspectId(inspectionId) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/EventViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/EventViewModel.kt index 730792f..3b38f1b 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/EventViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/EventViewModel.kt @@ -47,7 +47,7 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) fun addEventTask( @@ -77,6 +77,6 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionViewModel.kt index 7906817..e80864d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionViewModel.kt @@ -54,7 +54,7 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) @@ -73,7 +73,7 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) fun addInspection( @@ -118,7 +118,7 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) fun deleteInspectionById(id: String) = launch({ @@ -133,18 +133,6 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) - }) - - fun getRouteByInspectId(inspectionId: String) = launch({ - val response = RetrofitServiceManager.getRouteByInspectId(inspectionId) - val responseCode = response.separateResponseCode() - if (responseCode == 200) { - - } else { - response.toErrorMessage().show(BaseApplication.get()) - } - }, { - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/RouteViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/RouteViewModel.kt new file mode 100644 index 0000000..812bfe5 --- /dev/null +++ b/app/src/main/java/com/casic/birmm/inspect/vm/RouteViewModel.kt @@ -0,0 +1,41 @@ +package com.casic.birmm.inspect.vm + +import androidx.lifecycle.MutableLiveData +import com.amap.api.maps.model.LatLng +import com.casic.birmm.inspect.base.BaseApplication +import com.casic.birmm.inspect.extensions.separateResponseCode +import com.casic.birmm.inspect.extensions.toErrorMessage +import com.casic.birmm.inspect.model.RoutePointModel +import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel + +/** + * 路径点相关 VM + * */ +class RouteViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val routePointResult = MutableLiveData() + + fun uploadRoutePoint(inspectionId: String, latLng: LatLng, uploadTime: String) = launch({ + RetrofitServiceManager.uploadRoutePoint(inspectionId, latLng, uploadTime) + }) + + fun getRouteByInspectId(inspectionId: String) = launch({ + val response = RetrofitServiceManager.getRouteByInspectId(inspectionId) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + routePointResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + it.printStackTrace() + }) +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt index 8e3d256..d3dc633 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt @@ -34,6 +34,6 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt index 3b4d099..bae4f95 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt @@ -59,7 +59,7 @@ ) } }, { - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) fun loginOut() = launch({ @@ -73,7 +73,7 @@ response.toErrorMessage().show(BaseApplication.get()) } }, { - it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() }) fun updateUserInfo( @@ -101,7 +101,6 @@ } }, { loadState.value = LoadState.Fail - it.cause.toString().show(BaseApplication.get()) it.printStackTrace() }) } \ No newline at end of file