首级控制网、专用控制网列表接口替换为一个

main
chenglifeng 20 hours ago
parent cdcc4f63a7
commit e141be5c67
  1. 118
      app/src/main/java/com/project/survey/logic/viewmodel/ControlNetViewModel.kt
  2. 12
      app/src/main/java/com/project/survey/model/ControlNetCGBean.kt
  3. 57
      app/src/main/java/com/project/survey/network/Api.kt
  4. 51
      app/src/main/java/com/project/survey/ui/controlnet/FirstControlNetworkActivity.kt
  5. 48
      app/src/main/java/com/project/survey/ui/controlnet/SpecialControlNetworkActivity.kt
  6. 17
      app/src/main/java/com/project/survey/ui/controlnet/adapter/ControlNetFirstAdapter.kt
  7. 6
      app/src/main/java/com/project/survey/ui/controlnet/adapter/SpecialControlNetworkAdapter.kt

@ -2,47 +2,41 @@ package com.project.survey.logic.viewmodel
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.project.survey.constants.SPConstants
import com.project.survey.logic.bean.ListResult
import com.project.survey.model.ControlNetCGBean
import com.project.survey.model.ControlNetworkBean
import com.project.survey.model.ControlNetworkInfoBean
import com.project.survey.model.FirstControlNetworkBean
import com.project.survey.model.ControlNetworkListData
import com.project.survey.model.FirstControlNetworkVersionBean
import com.project.survey.model.ProjectBean
import com.project.survey.model.SpecialControlNetworkVersionBean
import com.project.survey.network.RetrofitClient
import com.project.survey.util.SPUtils
import retrofit2.http.Query
class ControlNetViewModel : BaseViewModel() {
val api = RetrofitClient.createApiService()
val controlNetworkListResponse: LiveData<ListResult<ControlNetworkBean>>
get() = _controlNetworkListResponse
private val _controlNetworkListResponse = MutableLiveData<ListResult<ControlNetworkBean>>()
// val controlNetworkListResponse: LiveData<ListResult<ControlNetworkBean>>
// get() = _controlNetworkListResponse
// private val _controlNetworkListResponse = MutableLiveData<ListResult<ControlNetworkBean>>()
/**
* 获取专用控制网列表
*/
fun fetchSpecialControlNetworkList(
controlNetWorkName: String?,
version: String?,
pageNum: Int = 1
) {
launch {
val res = api.fetchSpecialControlNetworkList(
controlNetWorkName = controlNetWorkName,
version = version,
pageNum = pageNum
)
if (res.success) {
_controlNetworkListResponse.postValue(res.data)
}
}
}
// /**
// * 获取专用控制网列表
// */
// fun fetchSpecialControlNetworkList(
// controlNetWorkName: String?,
// version: String?,
// pageNum: Int = 1
// ) {
// launch {
// val res = api.fetchSpecialControlNetworkList(
// controlNetWorkName = controlNetWorkName,
// version = version,
// pageNum = pageNum
// )
// if (res.success) {
// _controlNetworkListResponse.postValue(res.data)
// }
// }
// }
val controlNetworkInfoResponse: LiveData<ListResult<ControlNetworkInfoBean>>
@ -69,9 +63,9 @@ class ControlNetViewModel : BaseViewModel() {
}
}
val controlNetCGListResponse: LiveData<ListResult<FirstControlNetworkBean>>
get() = _controlNetCGListResponse
private val _controlNetCGListResponse = MutableLiveData<ListResult<FirstControlNetworkBean>>()
// val controlNetCGListResponse: LiveData<ListResult<FirstControlNetworkBean>>
// get() = _controlNetCGListResponse
// private val _controlNetCGListResponse = MutableLiveData<ListResult<FirstControlNetworkBean>>()
// /**
// * 获取专用控制网成果列表
@ -109,19 +103,19 @@ class ControlNetViewModel : BaseViewModel() {
// }
// }
/**
* 获取首级控制网列表
*/
fun fetchFistControlNetworkList(version: String?, pageNum: Int) {
launch {
val res = api.fetchFistControlNetworkList(version = version, pageNum = pageNum)
if (res.success) {
_controlNetCGListResponse.postValue(res.data)
} else {
errorResponse.postValue(res.message)
}
}
}
// /**
// * 获取首级控制网列表
// */
// fun fetchFistControlNetworkList(version: String?, pageNum: Int) {
// launch {
// val res = api.fetchFistControlNetworkList(version = version, pageNum = pageNum)
// if (res.success) {
// _controlNetCGListResponse.postValue(res.data)
// } else {
// errorResponse.postValue(res.message)
// }
// }
// }
val firstControlNetworkVersionResponse: LiveData<List<FirstControlNetworkVersionBean>>
get() = _firstControlNetworkVersionResponse
@ -151,4 +145,38 @@ class ControlNetViewModel : BaseViewModel() {
}
}
private val _controlNetworkKzwResponse = MutableLiveData<ControlNetworkListData>()
val controlNetworkKzwResponse: LiveData<ControlNetworkListData>
get() = _controlNetworkKzwResponse
/**
*
* @param funcCode BD_KZW_ZY 专用控制网BD_KZW 首级控制网
*/
fun fetchControlNetworkKzwList(
funcCode: String,
page: Int,
controlNetWorkName: String? = null,
version: String? = null
) {
launch {
val nameQuery =
if (controlNetWorkName.isNullOrBlank()) "" else ",{\"code\":\"KZW_NAME\",\"cn\":\"and\",\"type\":\"like\",\"value\":\"${controlNetWorkName}\"}"
val versionQuery =
if (version.isNullOrBlank()) "" else ",{\"code\":\"KZW_VERSION\",\"cn\":\"and\",\"type\":\"like\",\"value\":\"${version}\"}"
val query =
"{\"custom\":[{\"type\":\"and\",\"value\":[{\"code\":\"SY_AUDFLAG\",\"cn\":\"and\",\"type\":\"like\",\"value\":\"ENDED\"}" + nameQuery + versionQuery + "],\"cn\":\"and\"}],\"order\":[],\"_types\":[\"group\"]}"
val res = api.fetchControlNetworkKzwList(
funcCode = funcCode,
j_query = query,
page = page
)
if (res.success) {
_controlNetworkKzwResponse.postValue(res.data)
} else {
errorResponse.postValue(res.message)
}
}
}
}

@ -28,6 +28,7 @@ import androidx.annotation.Keep
data class ControlNetCGBean(
val BD_KZWZBCG_ID: String, //主键
val KZW_NAME: String, //控制网名称
val KZW_TYPE_NAME: String,
val BD_XMXX_ID: String, //项目ID
val KZWZBCG_BZ: String, //备注
val KZWZBCG_POINTNAME: String, //点坐标
@ -38,7 +39,14 @@ data class ControlNetCGBean(
val KZW_MEASUREMENTTIME: String //施测时间
)
//@Keep
//data class FirstControlNetworkBean(
// val values: ControlNetCGBean
//)
@Keep
data class FirstControlNetworkBean(
val values: ControlNetCGBean
data class ControlNetworkListData(
val total: Int,
val records: List<ControlNetCGBean>
)

@ -3,25 +3,21 @@ package com.project.survey.network
import com.project.survey.constants.SPConstants
import com.project.survey.logic.bean.ListResult
import com.project.survey.model.ApprovalResponse
import com.project.survey.model.ControlNetworkBean
import com.project.survey.model.ControlNetCGBean
import com.project.survey.model.ControlNetworkInfoBean
import com.project.survey.model.ControlNetworkListData
import com.project.survey.model.CoordinateSystemData
import com.project.survey.model.FirstControlNetworkBean
import com.project.survey.model.FirstControlNetworkVersionBean
import com.project.survey.model.InspectionReportBean
import com.project.survey.model.LoftingBean
import com.project.survey.model.LoftingPointListBean
import com.project.survey.model.LoftingPointRecordEntry
import com.project.survey.model.LoginBean
import com.project.survey.model.MeasureBean
import com.project.survey.model.PointEntry
import com.project.survey.model.ProjectBean
import com.project.survey.model.ProjectData
import com.project.survey.model.ProjectListData
import com.project.survey.model.SpecialControlNetworkVersionBean
import com.project.survey.util.SPUtils
import okhttp3.RequestBody
import retrofit2.http.Body
import retrofit2.http.Field
import retrofit2.http.FormUrlEncoded
@ -133,17 +129,17 @@ interface Api {
@Header("projectId") projectId: String = SPUtils.getString(SPConstants.PROJECT_ID)
): HttpResult<List<FirstControlNetworkVersionBean>>
/**
* 获取专用控制网列表
*/
@GET("je/controlnetwork/queryControlNetwork")
suspend fun fetchSpecialControlNetworkList(
@Header("projectId") projectId: String = SPUtils.getString(SPConstants.PROJECT_ID),
@Query("controlNetWorkName") controlNetWorkName: String?,
@Query("version") version: String?,
@Query("pageNum") pageNum: Int,
@Query("pageSize") pageSize: Int = 30
): HttpResult<ListResult<ControlNetworkBean>>
// /**
// * 获取专用控制网列表
// */
// @GET("je/controlnetwork/queryControlNetwork")
// suspend fun fetchSpecialControlNetworkList(
// @Header("projectId") projectId: String = SPUtils.getString(SPConstants.PROJECT_ID),
// @Query("controlNetWorkName") controlNetWorkName: String?,
// @Query("version") version: String?,
// @Query("pageNum") pageNum: Int,
// @Query("pageSize") pageSize: Int = 30
// ): HttpResult<ListResult<ControlNetworkBean>>
// @FormUrlEncoded
// @POST("je/cloud/beiDou/load")
// suspend fun fetchSpecialControlNetList(
@ -168,16 +164,31 @@ interface Api {
@Query("pageSize") pageSize: Int = 30
): HttpResult<ListResult<ControlNetworkInfoBean>>
// /**
// * 获取首级控制网列表
// */
// @GET("je/controlnetwork/queryPrimaryControlNetworkInfo")
// suspend fun fetchFistControlNetworkList(
// @Header("projectId") projectId: String = SPUtils.getString(SPConstants.PROJECT_ID),
// @Query("version") version: String?,
// @Query("pageNum") pageNum: Int,
// @Query("pageSize") pageSize: Int = 30
// ): HttpResult<ListResult<FirstControlNetworkBean>>
/**
* 获取首级控制网列表
* 获取控制网列表
*/
@GET("je/controlnetwork/queryPrimaryControlNetworkInfo")
suspend fun fetchFistControlNetworkList(
@FormUrlEncoded
@POST("je/controlnetwork/load")
suspend fun fetchControlNetworkKzwList(
@Header("projectId") projectId: String = SPUtils.getString(SPConstants.PROJECT_ID),
@Query("version") version: String?,
@Query("pageNum") pageNum: Int,
@Query("pageSize") pageSize: Int = 30
): HttpResult<ListResult<FirstControlNetworkBean>>
@Field("tableCode") tableCode: String = "BD_KZW",
@Field("funcCode") funcCode: String,
@Field("j_query") j_query: String,
@Field("page") page: Int,
@Field("limit") limit: Int = 30,
@Field("start") start: Int = 0
): HttpResult<ControlNetworkListData>
/**
* 获取首级控制网列表

@ -1,19 +1,13 @@
package com.project.survey.ui.controlnet
import android.graphics.drawable.BitmapDrawable
import android.view.View
import android.widget.AdapterView
import android.widget.AdapterView.OnItemClickListener
import android.widget.ArrayAdapter
import androidx.activity.viewModels
import androidx.appcompat.widget.ListPopupWindow
import com.bingce.utils.ThreadPoolUtil
import com.project.survey.R
import com.project.survey.databinding.ActivityFirstControlNetworkBinding
import com.project.survey.extend.setOnClickNoRepeatListener
import com.project.survey.extend.smartDismiss
import com.project.survey.logic.viewmodel.ControlNetViewModel
import com.project.survey.model.ControlNetVersionBean
import com.project.survey.model.FirstControlNetworkVersionBean
import com.project.survey.ui.base.BaseBindingActivity
import com.project.survey.ui.controlnet.adapter.ControlNetFirstAdapter
@ -70,15 +64,43 @@ class FirstControlNetworkActivity : BaseBindingActivity<ActivityFirstControlNetw
mBinding.tvSpinner.text = versionList[0].KZWZBCG_VERSION
}
viewModel.controlNetCGListResponse.observe(this) {
// viewModel.controlNetCGListResponse.observe(this) {
// mBinding.smartRefreshLayout.smartDismiss()
// if (currentPage == 1) {
// adapter.submitList(it.rows)
// if (it.rows.isEmpty()) {
// mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData()
// adapter.setStateViewLayout(this, R.layout.layout_no_data)
// } else {
// if (adapter.itemCount < it.totalCount) {
// currentPage++
// } else {
// mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData()
// }
// }
//
// } else {
// if (it.rows.isEmpty()) {
// mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData()
// } else {
// if (adapter.itemCount < it.totalCount) {
// adapter.addAll(it.rows)
// currentPage++
// } else {
// mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData()
// }
// }
// }
// }
viewModel.controlNetworkKzwResponse.observe(this){
mBinding.smartRefreshLayout.smartDismiss()
if (currentPage == 1) {
adapter.submitList(it.rows)
if (it.rows.isEmpty()) {
adapter.submitList(it.records)
if (it.records.isEmpty()) {
mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData()
adapter.setStateViewLayout(this, R.layout.layout_no_data)
} else {
if (adapter.itemCount < it.totalCount) {
if (adapter.itemCount < it.total) {
currentPage++
} else {
mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData()
@ -86,11 +108,11 @@ class FirstControlNetworkActivity : BaseBindingActivity<ActivityFirstControlNetw
}
} else {
if (it.rows.isEmpty()) {
if (it.records.isEmpty()) {
mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData()
} else {
if (adapter.itemCount < it.totalCount) {
adapter.addAll(it.rows)
if (adapter.itemCount < it.total) {
adapter.addAll(it.records)
currentPage++
} else {
mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData()
@ -129,7 +151,8 @@ class FirstControlNetworkActivity : BaseBindingActivity<ActivityFirstControlNetw
}
private fun fetchData() {
viewModel.fetchFistControlNetworkList(currentVersion, currentPage)
// viewModel.fetchFistControlNetworkList(currentVersion, currentPage)
viewModel.fetchControlNetworkKzwList("BD_KZW", currentPage, version = currentVersion)
}
override fun onRefresh(refreshLayout: RefreshLayout) {

@ -3,14 +3,11 @@ package com.project.survey.ui.controlnet
import android.widget.ArrayAdapter
import androidx.activity.viewModels
import androidx.appcompat.widget.ListPopupWindow
import com.bingce.utils.ThreadPoolUtil
import com.project.survey.R
import com.project.survey.databinding.ActivitySpecialControlNetworkBinding
import com.project.survey.extend.setOnClickNoRepeatListener
import com.project.survey.extend.smartDismiss
import com.project.survey.logic.viewmodel.ControlNetViewModel
import com.project.survey.model.ControlNetVersionBean
import com.project.survey.model.FirstControlNetworkVersionBean
import com.project.survey.model.SpecialControlNetworkVersionBean
import com.project.survey.ui.base.BaseBindingActivity
import com.project.survey.ui.controlnet.adapter.SpecialControlNetworkAdapter
@ -85,26 +82,54 @@ class SpecialControlNetworkActivity :
mBinding.tvSpinnerVersion.text = versionList[0]
// mBinding.spinnerVersion.setItems(versionList)
}
viewModel.controlNetworkListResponse.observe(this) {
// viewModel.controlNetworkListResponse.observe(this) {
// mBinding.smartRefreshLayout.smartDismiss()
// if (currentPage == 1) {
// adapter.submitList(it.rows)
// if (it.rows.isEmpty()) {
// mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData()
// adapter.setStateViewLayout(this, R.layout.layout_no_data)
// } else {
// if (adapter.itemCount < it.totalCount) {
// currentPage++
// } else {
// mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData()
// }
// }
// } else {
// if (it.rows.isEmpty()) {
// mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData()
// } else {
// if (adapter.itemCount < it.totalCount) {
// adapter.addAll(it.rows)
// currentPage++
// } else {
// mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData()
// }
// }
// }
// }
viewModel.controlNetworkKzwResponse.observe(this){
mBinding.smartRefreshLayout.smartDismiss()
if (currentPage == 1) {
adapter.submitList(it.rows)
if (it.rows.isEmpty()) {
adapter.submitList(it.records)
if (it.records.isEmpty()) {
mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData()
adapter.setStateViewLayout(this, R.layout.layout_no_data)
} else {
if (adapter.itemCount < it.totalCount) {
if (adapter.itemCount < it.total) {
currentPage++
} else {
mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData()
}
}
} else {
if (it.rows.isEmpty()) {
if (it.records.isEmpty()) {
mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData()
} else {
if (adapter.itemCount < it.totalCount) {
adapter.addAll(it.rows)
if (adapter.itemCount < it.total) {
adapter.addAll(it.records)
currentPage++
} else {
mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData()
@ -188,7 +213,8 @@ class SpecialControlNetworkActivity :
}
private fun fetchData() {
viewModel.fetchSpecialControlNetworkList(currentName, currentVersion, currentPage)
// viewModel.fetchSpecialControlNetworkList(currentName, currentVersion, currentPage)
viewModel.fetchControlNetworkKzwList("BD_KZW_ZY", currentPage, currentName, currentVersion)
}
override fun onRefresh(refreshLayout: RefreshLayout) {

@ -6,22 +6,21 @@ import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.project.survey.R
import com.project.survey.model.ControlNetCGBean
import com.project.survey.model.FirstControlNetworkBean
class ControlNetFirstAdapter : BaseQuickAdapter<FirstControlNetworkBean, QuickViewHolder>() {
class ControlNetFirstAdapter : BaseQuickAdapter<ControlNetCGBean, QuickViewHolder>() {
override fun onBindViewHolder(
holder: QuickViewHolder,
position: Int,
item: FirstControlNetworkBean?
item: ControlNetCGBean?
) {
if (item == null) return
holder.setText(R.id.tvPointName, item.values.KZWZBCG_POINTNAME)
.setText(R.id.tvX, item.values.KZWZBCG_XCOORDINATE)
.setText(R.id.tvY, item.values.KZWZBCG_YCOORDINATE)
.setText(R.id.tvZ, item.values.KZWZBCG_HCOORDINATE)
.setText(R.id.tvTime, item.values.KZW_MEASUREMENTTIME)
.setText(R.id.tvRemark, item.values.KZWZBCG_BZ)
holder.setText(R.id.tvPointName, item.KZWZBCG_POINTNAME)
.setText(R.id.tvX, item.KZWZBCG_XCOORDINATE)
.setText(R.id.tvY, item.KZWZBCG_YCOORDINATE)
.setText(R.id.tvZ, item.KZWZBCG_HCOORDINATE)
.setText(R.id.tvTime, item.KZW_MEASUREMENTTIME)
.setText(R.id.tvRemark, item.KZWZBCG_BZ)
}
override fun onCreateViewHolder(

@ -5,14 +5,14 @@ import android.view.ViewGroup
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.project.survey.R
import com.project.survey.model.ControlNetworkBean
import com.project.survey.model.ControlNetCGBean
class SpecialControlNetworkAdapter : BaseQuickAdapter<ControlNetworkBean, QuickViewHolder>() {
class SpecialControlNetworkAdapter : BaseQuickAdapter<ControlNetCGBean, QuickViewHolder>() {
override fun onBindViewHolder(
holder: QuickViewHolder,
position: Int,
item: ControlNetworkBean?
item: ControlNetCGBean?
) {
if (item == null) return

Loading…
Cancel
Save