diff --git a/app/src/main/java/com/project/survey/logic/viewmodel/ControlNetViewModel.kt b/app/src/main/java/com/project/survey/logic/viewmodel/ControlNetViewModel.kt index 5426078..6480163 100644 --- a/app/src/main/java/com/project/survey/logic/viewmodel/ControlNetViewModel.kt +++ b/app/src/main/java/com/project/survey/logic/viewmodel/ControlNetViewModel.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> - get() = _controlNetworkListResponse - private val _controlNetworkListResponse = MutableLiveData>() +// val controlNetworkListResponse: LiveData> +// get() = _controlNetworkListResponse +// private val _controlNetworkListResponse = MutableLiveData>() - /** - * 获取专用控制网列表 - */ - 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> @@ -69,9 +63,9 @@ class ControlNetViewModel : BaseViewModel() { } } - val controlNetCGListResponse: LiveData> - get() = _controlNetCGListResponse - private val _controlNetCGListResponse = MutableLiveData>() +// val controlNetCGListResponse: LiveData> +// get() = _controlNetCGListResponse +// private val _controlNetCGListResponse = MutableLiveData>() // /** // * 获取专用控制网成果列表 @@ -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> get() = _firstControlNetworkVersionResponse @@ -151,4 +145,38 @@ class ControlNetViewModel : BaseViewModel() { } } + + private val _controlNetworkKzwResponse = MutableLiveData() + val controlNetworkKzwResponse: LiveData + 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) + } + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/model/ControlNetCGBean.kt b/app/src/main/java/com/project/survey/model/ControlNetCGBean.kt index b1a5348..aa4c6a5 100644 --- a/app/src/main/java/com/project/survey/model/ControlNetCGBean.kt +++ b/app/src/main/java/com/project/survey/model/ControlNetCGBean.kt @@ -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 ) diff --git a/app/src/main/java/com/project/survey/network/Api.kt b/app/src/main/java/com/project/survey/network/Api.kt index 98855c3..415aa72 100644 --- a/app/src/main/java/com/project/survey/network/Api.kt +++ b/app/src/main/java/com/project/survey/network/Api.kt @@ -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> - /** - * 获取专用控制网列表 - */ - @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> +// /** +// * 获取专用控制网列表 +// */ +// @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> // @FormUrlEncoded // @POST("je/cloud/beiDou/load") // suspend fun fetchSpecialControlNetList( @@ -168,16 +164,31 @@ interface Api { @Query("pageSize") pageSize: Int = 30 ): HttpResult> +// /** +// * 获取首级控制网列表 +// */ +// @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> + /** - * 获取首级控制网列表 + * 获取控制网列表 */ - @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> + @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 /** * 获取首级控制网列表 diff --git a/app/src/main/java/com/project/survey/ui/controlnet/FirstControlNetworkActivity.kt b/app/src/main/java/com/project/survey/ui/controlnet/FirstControlNetworkActivity.kt index 3fb2595..01b8999 100644 --- a/app/src/main/java/com/project/survey/ui/controlnet/FirstControlNetworkActivity.kt +++ b/app/src/main/java/com/project/survey/ui/controlnet/FirstControlNetworkActivity.kt @@ -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() { +class ControlNetFirstAdapter : BaseQuickAdapter() { 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( diff --git a/app/src/main/java/com/project/survey/ui/controlnet/adapter/SpecialControlNetworkAdapter.kt b/app/src/main/java/com/project/survey/ui/controlnet/adapter/SpecialControlNetworkAdapter.kt index 3a8946e..511b9c4 100644 --- a/app/src/main/java/com/project/survey/ui/controlnet/adapter/SpecialControlNetworkAdapter.kt +++ b/app/src/main/java/com/project/survey/ui/controlnet/adapter/SpecialControlNetworkAdapter.kt @@ -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() { +class SpecialControlNetworkAdapter : BaseQuickAdapter() { override fun onBindViewHolder( holder: QuickViewHolder, position: Int, - item: ControlNetworkBean? + item: ControlNetCGBean? ) { if (item == null) return