diff --git a/app/libs/Jama-1.0.3.jar b/app/libs/Jama-1.0.3.jar new file mode 100644 index 0000000..c800759 Binary files /dev/null and b/app/libs/Jama-1.0.3.jar differ diff --git a/app/libs/libsixents-core-sdk-android.aar b/app/libs/libsixents-core-sdk-android.aar new file mode 100644 index 0000000..c1e58af Binary files /dev/null and b/app/libs/libsixents-core-sdk-android.aar differ diff --git a/app/libs/southGnssSdk-release.aar b/app/libs/southGnssSdk-release.aar new file mode 100644 index 0000000..03cc9b1 Binary files /dev/null and b/app/libs/southGnssSdk-release.aar differ diff --git a/app/src/main/java/com/project/survey/constants/Constants.kt b/app/src/main/java/com/project/survey/constants/Constants.kt index 8c26db4..5d2c91b 100644 --- a/app/src/main/java/com/project/survey/constants/Constants.kt +++ b/app/src/main/java/com/project/survey/constants/Constants.kt @@ -23,4 +23,8 @@ object SPConstants { object EventConstants { const val LOGIN_STATUS = "loginStatus" const val UPDATE_PROJECT = "updateProject" +} + +object AdapterConstants { + const val WORK_STATUS = 100 } \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/logic/viewmodel/ProjectViewModel.kt b/app/src/main/java/com/project/survey/logic/viewmodel/ProjectViewModel.kt index 8e7d38f..e1172b2 100644 --- a/app/src/main/java/com/project/survey/logic/viewmodel/ProjectViewModel.kt +++ b/app/src/main/java/com/project/survey/logic/viewmodel/ProjectViewModel.kt @@ -12,6 +12,7 @@ import com.project.survey.model.LoftingPointBean import com.project.survey.model.LoftingPointListBean import com.project.survey.model.LoftingPointRecordEntry import com.project.survey.model.MeasureBean +import com.project.survey.model.MeasureWorkStatusResult import com.project.survey.model.PointEntry import com.project.survey.model.ProjectBean import com.project.survey.network.RetrofitClient @@ -90,9 +91,9 @@ class ProjectViewModel : BaseViewModel() { } } - val updateMeasureWorkStatusResponse: LiveData + val updateMeasureWorkStatusResponse: LiveData get() = _updateMeasureWorkStatusResponse - private val _updateMeasureWorkStatusResponse = MutableLiveData() + private val _updateMeasureWorkStatusResponse = MutableLiveData() /** * 修改测量工作状态 @@ -106,7 +107,13 @@ class ProjectViewModel : BaseViewModel() { status ) if (res.success) { - _updateMeasureWorkStatusResponse.postValue(res.data) + _updateMeasureWorkStatusResponse.postValue( + MeasureWorkStatusResult( + workId, + status, + res.data + ) + ) } else { errorResponse.postValue(res.message) } diff --git a/app/src/main/java/com/project/survey/model/LoftingPointRecordEntry.kt b/app/src/main/java/com/project/survey/model/LoftingPointRecordEntry.kt index 600e020..76b52a0 100644 --- a/app/src/main/java/com/project/survey/model/LoftingPointRecordEntry.kt +++ b/app/src/main/java/com/project/survey/model/LoftingPointRecordEntry.kt @@ -24,7 +24,7 @@ data class LoftingPointRecordEntry( * 将放样记录对象 转为 上传需要的对象 */ constructor(record: PointStakeRecord) : this( - record.jobId, + record.pointId, if (Device.getInstance().deviceType == DeviceTypeEnum.DEVICE_TYPE_RTK) "${record.deviceInfoData.rtkStatusData?.poleHeight}" else "${record.deviceInfoData.tsStatusData?.hr}", record.remarks ?: "", "${record.measuredX}", diff --git a/app/src/main/java/com/project/survey/model/MeasureBean.kt b/app/src/main/java/com/project/survey/model/MeasureBean.kt index 7ab8438..2265714 100644 --- a/app/src/main/java/com/project/survey/model/MeasureBean.kt +++ b/app/src/main/java/com/project/survey/model/MeasureBean.kt @@ -62,7 +62,11 @@ data class MeasureBean( val BD_FBFXPZ_DYGCMC: String, //单元工程名称 val CLJH_BDLSH: String?, //流程编号 val CLJH_CLLX_NAME: String, //测量类型 + // 无值或“待执行”为未开始测量,“执行中”为点击开始测量后至点击结束测量之间的状态,“已结束”为点击结束测量至点击生成报验单之间的状态,“报验单已生成”为生成报验单后的状态 + var CLJH_WORKSTATUS: String?, //状态 val GCJL_LCMC: String?, //流程名称(工程计量) val GCJL_BDLSH: String?, //流程编号 + val GCJL_JLNR: String?, //计量内容 + val BD_CLGZ_GCJL_ID: String ) diff --git a/app/src/main/java/com/project/survey/model/MeasureWorkStatusResult.kt b/app/src/main/java/com/project/survey/model/MeasureWorkStatusResult.kt new file mode 100644 index 0000000..a46b4d7 --- /dev/null +++ b/app/src/main/java/com/project/survey/model/MeasureWorkStatusResult.kt @@ -0,0 +1,7 @@ +package com.project.survey.model + +data class MeasureWorkStatusResult( + val id: String, + val status: String, + val message: String +) diff --git a/app/src/main/java/com/project/survey/ui/pointmeasure/PointMeasureListActivity.kt b/app/src/main/java/com/project/survey/ui/pointmeasure/PointMeasureListActivity.kt index b49daa3..07bf80f 100644 --- a/app/src/main/java/com/project/survey/ui/pointmeasure/PointMeasureListActivity.kt +++ b/app/src/main/java/com/project/survey/ui/pointmeasure/PointMeasureListActivity.kt @@ -1,16 +1,21 @@ package com.project.survey.ui.pointmeasure import androidx.activity.viewModels +import com.afollestad.materialdialogs.MaterialDialog import com.project.survey.R +import com.project.survey.constants.AdapterConstants import com.project.survey.constants.Constants import com.project.survey.databinding.ActivityPointMeasureListBinding import com.project.survey.extend.smartDismiss import com.project.survey.extend.toast import com.project.survey.logic.viewmodel.ProjectViewModel +import com.project.survey.ui.MainActivity import com.project.survey.ui.base.BaseBindingActivity +import com.project.survey.ui.login.LoginActivity import com.project.survey.ui.pointmeasure.adapter.PointMeasureListAdapter import com.project.survey.ui.pointmeasure.measure.PointSurveyNewActivity import com.project.survey.util.ActivityNavUtil +import com.project.survey.util.LogoutUtil import com.scwang.smart.refresh.layout.api.RefreshLayout import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener @@ -89,6 +94,16 @@ class PointMeasureListActivity : BaseBindingActivity bean.BD_CLJH_ID == it.id } + if (position > -1) { + adapter.getItem(position)?.let { bean -> + bean.CLJH_WORKSTATUS = it.status + adapter.notifyItemChanged(position, AdapterConstants.WORK_STATUS) + } + } + } // 获取列表数据 fetchData() @@ -111,15 +126,27 @@ class PointMeasureListActivity : BaseBindingActivity adapter.getItem(position)?.let { bean -> - viewModel.updateMeasureWorkStatus(bean.BD_CLJH_ID, type, "已结束") + MaterialDialog.Builder(mContext) + .title("确定结束测量吗?") + .negativeText("取消") + .positiveText("确定") + .onPositive { _, _ -> + val workId = + if (type == Constants.TYPE_BD_CLJH) bean.BD_CLJH_ID else bean.BD_CLGZ_GCJL_ID + viewModel.updateMeasureWorkStatus(workId, type, "已结束") + } + .show() } - } // 进入测量 adapter.addOnItemChildClickListener(R.id.tvEnterMeasure) { adapter, _, position -> adapter.getItem(position)?.let { bean -> - PointSurveyNewActivity.start(type, bean.BD_CLJH_ID) - viewModel.updateMeasureWorkStatus(bean.BD_CLJH_ID, type, "执行中") + val workId = + if (type == Constants.TYPE_BD_CLJH) bean.BD_CLJH_ID else bean.BD_CLGZ_GCJL_ID + if ("待执行" == bean.CLJH_WORKSTATUS || bean.CLJH_WORKSTATUS.isNullOrBlank()) { + viewModel.updateMeasureWorkStatus(workId, type, "执行中") + } + PointSurveyNewActivity.start(type, workId) } } } diff --git a/app/src/main/java/com/project/survey/ui/pointmeasure/adapter/PointMeasureListAdapter.kt b/app/src/main/java/com/project/survey/ui/pointmeasure/adapter/PointMeasureListAdapter.kt index ce18d04..f7f4929 100644 --- a/app/src/main/java/com/project/survey/ui/pointmeasure/adapter/PointMeasureListAdapter.kt +++ b/app/src/main/java/com/project/survey/ui/pointmeasure/adapter/PointMeasureListAdapter.kt @@ -2,9 +2,11 @@ package com.project.survey.ui.pointmeasure.adapter import android.content.Context import android.view.ViewGroup +import android.widget.TextView import com.chad.library.adapter4.BaseQuickAdapter import com.chad.library.adapter4.viewholder.QuickViewHolder import com.project.survey.R +import com.project.survey.constants.AdapterConstants import com.project.survey.constants.Constants import com.project.survey.model.MeasureBean @@ -18,10 +20,30 @@ class PointMeasureListAdapter(val type: String) : BaseQuickAdapter + ) { + super.onBindViewHolder(holder, position, item, payloads) + if (payloads.isNotEmpty() && payloads[0] is Int && item != null) { + // true测量计划,false工程计量 + val isCLJH = type == Constants.TYPE_BD_CLJH + val type = payloads[0] as Int + if (type == AdapterConstants.WORK_STATUS) { + holder.setEnabled( + R.id.tvGenerateForm, + "已结束" == item.CLJH_WORKSTATUS || "报验单已生成" == item.CLJH_WORKSTATUS + ) + if (isCLJH) { + holder.setEnabled(R.id.tvStopMeasure, "执行中" == item.CLJH_WORKSTATUS) + .setEnabled( + R.id.tvEnterMeasure, + "执行中" == item.CLJH_WORKSTATUS || "待执行" == item.CLJH_WORKSTATUS || item.CLJH_WORKSTATUS.isNullOrBlank() + ) + } else { + holder.setEnabled(R.id.tvStopMeasure, true) + .setEnabled(R.id.tvEnterMeasure, true) + } + } + } + } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_point_measure_selector.xml b/app/src/main/res/drawable/bg_point_measure_selector.xml index 8e1e9e9..af88cdf 100644 --- a/app/src/main/res/drawable/bg_point_measure_selector.xml +++ b/app/src/main/res/drawable/bg_point_measure_selector.xml @@ -1,6 +1,6 @@ - + @@ -8,11 +8,11 @@ - + - + - +