diff --git a/coalMiningApp/app/src/main/AndroidManifest.xml b/coalMiningApp/app/src/main/AndroidManifest.xml index 1c35726..bf707e3 100644 --- a/coalMiningApp/app/src/main/AndroidManifest.xml +++ b/coalMiningApp/app/src/main/AndroidManifest.xml @@ -59,6 +59,9 @@ + + \ No newline at end of file diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/DataSyncAdapter.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/DataSyncAdapter.kt new file mode 100644 index 0000000..a55faa0 --- /dev/null +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/DataSyncAdapter.kt @@ -0,0 +1,39 @@ +package com.zmkg.coaloperation.adapter + +import android.view.LayoutInflater +import android.view.ViewGroup +import com.chad.library.adapter.base.BaseQuickAdapter +import com.chad.library.adapter.base.viewholder.BaseViewHolder +import com.zmkg.coaloperation.R +import com.zmkg.coaloperation.bean.DataSyncItem +import com.zmkg.coaloperation.databinding.ListItemDataSyncBinding +import com.zmkg.coaloperation.utils.gone +import com.zmkg.coaloperation.utils.visible + +class DataSyncAdapter(list: MutableList): + BaseQuickAdapter(R.layout.list_item_data_sync, list) { + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VH { + val binding = ListItemDataSyncBinding.inflate( + LayoutInflater.from(context), parent, false + ) + return VH(binding).also { + bindViewClickListener(it, viewType) + } + } + + override fun convert( + holder: VH, + item: DataSyncItem + ) { + holder.binding.let { + it.tvItemUnit.text = item.funcName +// it.divider.run { +// if (holder.layoutPosition == data.size - 1) gone() else visible() +// } + } + } + + inner class VH(var binding: ListItemDataSyncBinding): BaseViewHolder(binding.root) + +} \ No newline at end of file diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/MiningRecordBaseDataAdapter.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/MiningRecordBaseDataAdapter.kt new file mode 100644 index 0000000..db7ecf7 --- /dev/null +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/MiningRecordBaseDataAdapter.kt @@ -0,0 +1,50 @@ +package com.zmkg.coaloperation.adapter + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.core.widget.addTextChangedListener +import com.chad.library.adapter.base.BaseQuickAdapter +import com.chad.library.adapter.base.viewholder.BaseViewHolder +import com.zmkg.coaloperation.R +import com.zmkg.coaloperation.bean.AddMiningFaceItem +import com.zmkg.coaloperation.databinding.ListItemMiningRecordBaseDataBinding + +class MiningRecordBaseDataAdapter(list: MutableList) : + BaseQuickAdapter( + R.layout.list_item_mining_record_base_data, + list + ) { + + override fun onCreateViewHolder( + parent: ViewGroup, + viewType: Int + ): VH { + val binding = ListItemMiningRecordBaseDataBinding.inflate( + LayoutInflater.from(context), parent, false + ) + return VH(binding).also { + bindViewClickListener(it, viewType) + } + } + + override fun convert( + holder: VH, + item: AddMiningFaceItem + ) { + val binding = holder.binding + binding.tvItemName.run { + addTextChangedListener(onTextChanged = { text, start, before, count -> + item.funcName = text.toString().trim() + }) + text = item.funcName + } + binding.etItemValue.run { + addTextChangedListener(onTextChanged = { text, start, before, count -> + item.funcValue = text.toString().trim() + }) + setText(item.funcValue) + } + } + + inner class VH(var binding: ListItemMiningRecordBaseDataBinding) : BaseViewHolder(binding.root) +} \ No newline at end of file diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/MiningRecordCoalThicknessAdapter.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/MiningRecordCoalThicknessAdapter.kt new file mode 100644 index 0000000..1d0406d --- /dev/null +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/MiningRecordCoalThicknessAdapter.kt @@ -0,0 +1,52 @@ +package com.zmkg.coaloperation.adapter + +import android.text.Html +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.core.widget.addTextChangedListener +import com.chad.library.adapter.base.BaseQuickAdapter +import com.chad.library.adapter.base.viewholder.BaseViewHolder +import com.zmkg.coaloperation.R +import com.zmkg.coaloperation.bean.CoalThicknessItem +import com.zmkg.coaloperation.databinding.ListItemMiningRecordCoalThicknessBinding +import com.zmkg.coaloperation.utils.gone +import com.zmkg.coaloperation.utils.visible + +class MiningRecordCoalThicknessAdapter(list: MutableList): +BaseQuickAdapter(R.layout.list_item_mining_record_coal_thickness,list){ + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VH { + val binding = ListItemMiningRecordCoalThicknessBinding.inflate( + LayoutInflater.from(context), parent, false + ) + return VH(binding).also { + bindViewClickListener(it, viewType) + } + } + + override fun convert(holder: VH, item: CoalThicknessItem) { + val position = holder.layoutPosition + val binding = holder.binding + binding.divider.run { + if (position == data.size - 1) gone() else visible() + } + binding.btnAddPoint.run { + if (position == data.size - 1) visible() else gone() + } + binding.tvNameUnit.text = Html.fromHtml("#架", Html.FROM_HTML_MODE_LEGACY) + binding.etItemName.run { + addTextChangedListener(onTextChanged = { text, start, before, count -> + item.supportNo = text.toString().trim() + }) + setText(item.supportNo) + } + binding.etItemValue.run { + addTextChangedListener(onTextChanged = { text, start, before, count -> + item.thicknessValue = text.toString().trim() + }) + setText(item.thicknessValue) + } + } + + inner class VH(var binding: ListItemMiningRecordCoalThicknessBinding): BaseViewHolder(binding.root) +} \ No newline at end of file diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/MiningWorkingFaceAdapter.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/MiningWorkingFaceAdapter.kt index cc3d02a..0da033a 100644 --- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/MiningWorkingFaceAdapter.kt +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/MiningWorkingFaceAdapter.kt @@ -15,6 +15,7 @@ import com.zmkg.coaloperation.R import com.zmkg.coaloperation.databinding.ListItemTunnelWorkingFaceBinding import com.zmkg.coaloperation.db.entity.mining.MiningWorkingFaceEntity import com.zmkg.coaloperation.ui.mining.activity.MiningActivity +import com.zmkg.coaloperation.ui.mining.activity.MiningFaceRecordActivity import com.zmkg.coaloperation.utils.ScreenUtil import com.zmkg.coaloperation.utils.gone import com.zmkg.coaloperation.utils.toJsonString @@ -81,17 +82,18 @@ class MiningWorkingFaceAdapter(var list: MutableList) : // return@setOnItemClickListener // } Log.d(TAG, "convert: ${item.records!![recordPosition].toJsonString()}") -// context.let { ctx -> -// if (ctx is MiningActivity) { -// ctx.toActivity(WorkingFaceRecordActivity::class.java, Bundle().apply { -// putString(WorkingFaceRecordActivity.FACE_NAME, item.surfaceName) -// putParcelable( -// WorkingFaceRecordActivity.FACE_RECORD, -// item.records!![recordPosition] -// ) -// }) -// } -// } + context.let { ctx -> + if (ctx is MiningActivity) { + ctx.toActivity(MiningFaceRecordActivity::class.java, Bundle().apply { + putString(MiningFaceRecordActivity.WORK_RECORD_TYPE, MiningFaceRecordActivity.WorkRecordType.SEE.name) + putString(MiningFaceRecordActivity.FACE_NAME, item.surfaceName) + putParcelable( + MiningFaceRecordActivity.FACE_RECORD, + item.records!![recordPosition] + ) + }) + } + } } } } diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/base/BaseVMBActivity.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/base/BaseVMBActivity.kt index 1d158b8..669ba93 100644 --- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/base/BaseVMBActivity.kt +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/base/BaseVMBActivity.kt @@ -34,6 +34,8 @@ import com.zmkg.coaloperation.base.viewmodel.BaseViewModel.Companion.LOADING_STA import com.zmkg.coaloperation.superfuntion.hideLoading import com.zmkg.coaloperation.superfuntion.showLoading import com.zmkg.coaloperation.utils.StatusbarUtil +import com.zmkg.coaloperation.utils.formatDecimalString +import com.zmkg.coaloperation.utils.roundedOneDecimalPlace import com.zmkg.coaloperation.view.CustomToast import com.zmkg.coaloperation.view.LoadingDialog import kotlinx.coroutines.launch @@ -432,4 +434,17 @@ abstract class BaseVMBActivity(private configuration.fontScale = 1f return context.createConfigurationContext(configuration) } + + fun getShowNum2(num:String?):String { + return num?.formatDecimalString()?:"" + } + fun getShowNum(num:String?):String { + if (num.isNullOrBlank()) return "0" + try { + val showNum = num.toDouble().roundedOneDecimalPlace() + return "$showNum" + } catch (e: Exception) { + return "0" + } + } } \ No newline at end of file diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/OtherData.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/OtherData.kt index b3de357..ef24f88 100644 --- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/OtherData.kt +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/OtherData.kt @@ -8,11 +8,22 @@ data class UserMenuBean( ) data class AddMiningFaceItem( - //0-输入框,1-选择弹窗 + //0-输入框,1-选择弹窗, 2-显示文本TextView var funcType: Int = 0, var funcName: String = "", var funcValue: String = "", var funcId: String = "", var isShowArrowDown: Boolean = false, var onClick: () -> Unit = {} +) + +data class CoalThicknessItem( + var supportNo: String = "", + var thicknessValue: String = "", +) + +data class DataSyncItem( + var funcName:String, + var onDataPull: () -> Unit = {}, + var onDataPush: () -> Unit = {}, ) \ No newline at end of file diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/data/api/HomeApi.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/data/api/HomeApi.kt index 78457d9..6540b6c 100644 --- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/data/api/HomeApi.kt +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/data/api/HomeApi.kt @@ -1,10 +1,13 @@ package com.zmkg.coaloperation.data.api +import com.zmkg.coaloperation.bean.TunnelSubmitData import com.zmkg.coaloperation.data.bean.ApiResponse import com.zmkg.coaloperation.db.entity.tunnel.TunnelWorkingFaceEntity import com.zmkg.coaloperation.retorfit.UrlConfig import com.zmkg.coaloperation.ui.home.bean.WaterLedgerBean +import retrofit2.http.Body import retrofit2.http.GET +import retrofit2.http.POST /** * 首页 @@ -48,4 +51,7 @@ interface HomeApi { @GET("/api/mine/tunnelling/dictionaries") suspend fun getTunnelAllDict(): ApiResponse + @POST("/api/mine/tunnelling/data/push") + suspend fun tunnelDataPush(@Body data: TunnelSubmitData): ApiResponse + } \ No newline at end of file diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/data/repository/HomeRepository.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/data/repository/HomeRepository.kt index fa827f5..92aca5e 100644 --- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/data/repository/HomeRepository.kt +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/data/repository/HomeRepository.kt @@ -1,6 +1,7 @@ package com.zmkg.coaloperation.data.repository import com.zmkg.coaloperation.base.repository.BaseRepository +import com.zmkg.coaloperation.bean.TunnelSubmitData import com.zmkg.coaloperation.data.api.HomeApi import com.zmkg.coaloperation.data.bean.ApiResponse import com.zmkg.coaloperation.db.entity.tunnel.TunnelWorkingFaceEntity @@ -8,7 +9,7 @@ import com.zmkg.coaloperation.retorfit.RetrofitManager import com.zmkg.coaloperation.ui.home.bean.WaterLedgerBean -object HomeRepository : BaseRepository(){ +object HomeRepository : BaseRepository() { private val service by lazy { RetrofitManager.getService(HomeApi::class.java) } @@ -33,7 +34,7 @@ object HomeRepository : BaseRepository(){ // } // } -// /** + // /** // * 掘进-首页-工作面记录列表 // */ // suspend fun getTunnelingHomeItemData(surfaceId: String?): ApiResponse> { @@ -61,16 +62,22 @@ object HomeRepository : BaseRepository(){ // } // } // - suspend fun getTunnelHomeList() : ApiResponse?> { + suspend fun getTunnelHomeList(): ApiResponse?> { return apiCall { service.getTunnelHomeList() } } - suspend fun getTunnelAllDict() : ApiResponse { + suspend fun getTunnelAllDict(): ApiResponse { return apiCall { service.getTunnelAllDict() } } + suspend fun tunnelDataPush(data: TunnelSubmitData): ApiResponse { + return apiCall { + service.tunnelDataPush(data) + } + } + } \ No newline at end of file diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/home/fragment/HomeFragment.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/home/fragment/HomeFragment.kt index 26e42e9..6f91def 100644 --- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/home/fragment/HomeFragment.kt +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/home/fragment/HomeFragment.kt @@ -25,6 +25,7 @@ import com.zmkg.coaloperation.superfuntion.toJson import com.zmkg.coaloperation.ui.home.adapter.HomeMenuAdapter import com.zmkg.coaloperation.ui.home.bean.HomeMenuBean import com.zmkg.coaloperation.ui.home.viewmodel.HomeViewModel +import com.zmkg.coaloperation.utils.DictUtils import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.launch @@ -80,6 +81,7 @@ class HomeFragment : } override fun initData() { + DictUtils.initData() // mViewModel.getWaterLedgerData() val titleNameList = mutableListOf( diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/MiningActivity.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/MiningActivity.kt index de7dc56..fe4f751 100644 --- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/MiningActivity.kt +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/MiningActivity.kt @@ -51,17 +51,18 @@ class MiningActivity : return@setOnItemChildClickListener } if (view.id == R.id.start_record) { -// toActivity(AddWorkingFaceRecordActivity::class.java, Bundle().apply { -// putLong( -// AddWorkingFaceRecordActivity.FACE_ID, -// workingFaceList[position].surfaceId -// ) -// putString( -// AddWorkingFaceRecordActivity.FACE_NAME, -// workingFaceList[position].surfaceName -// ) -// putInt(AddWorkingFaceRecordActivity.SHOW_TYPE, 0) -// }) + toActivity(MiningFaceRecordActivity::class.java, Bundle().apply { + putString(MiningFaceRecordActivity.WORK_RECORD_TYPE, MiningFaceRecordActivity.WorkRecordType.ADD.name) + putLong( + MiningFaceRecordActivity.FACE_ID, + workingFaceList[position].surfaceId + ) + putString( + MiningFaceRecordActivity.FACE_NAME, + workingFaceList[position].surfaceName + ) + putInt(AddWorkingFaceRecordActivity.SHOW_TYPE, 0) + }) } } } diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/MiningFaceRecordActivity.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/MiningFaceRecordActivity.kt new file mode 100644 index 0000000..2b74a88 --- /dev/null +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/mining/activity/MiningFaceRecordActivity.kt @@ -0,0 +1,184 @@ +package com.zmkg.coaloperation.ui.mining.activity + +import android.annotation.SuppressLint +import android.os.Bundle +import android.text.TextUtils +import android.view.View +import androidx.recyclerview.widget.LinearLayoutManager +import com.zmkg.coaloperation.R +import com.zmkg.coaloperation.adapter.MiningRecordBaseDataAdapter +import com.zmkg.coaloperation.adapter.MiningRecordCoalThicknessAdapter +import com.zmkg.coaloperation.base.BaseVMBActivity +import com.zmkg.coaloperation.base.viewmodel.TestViewModel +import com.zmkg.coaloperation.bean.AddMiningFaceItem +import com.zmkg.coaloperation.bean.CoalThicknessItem +import com.zmkg.coaloperation.bean.WorkOption +import com.zmkg.coaloperation.databinding.ActivityMiningFaceRecordBinding +import com.zmkg.coaloperation.utils.PickerUtil +import com.zmkg.coaloperation.utils.gone +import com.zmkg.coaloperation.utils.visible + +@SuppressLint("NotifyDataSetChanged") +class MiningFaceRecordActivity : + BaseVMBActivity(R.layout.activity_mining_face_record) { + companion object { + const val TAG = "MiningFaceRecordActivity" + const val SHOW_TYPE = "showType" + const val WORK_RECORD_TYPE = "workRecordType" + const val FACE_NAME = "faceName" + const val FACE_ID = "faceId" + const val FACE_RECORD = "faceRecord" + } + + enum class WorkRecordType { + ADD,//新增 + + EDIT,//修改 + + SEE//查看 + } + + private var currentRecordType = WorkRecordType.ADD + private val baseDataList: MutableList = mutableListOf() + private val coalThicknessList: MutableList = mutableListOf() + + private val baseDataAdapter by lazy { + MiningRecordBaseDataAdapter(baseDataList) + } + + private val coalThicknessAdapter by lazy { + MiningRecordCoalThicknessAdapter(coalThicknessList).apply { + addChildClickViewIds(R.id.btnAddPoint) + setOnItemChildClickListener { adapter, view, position -> + if (view.id == R.id.btnAddPoint) { + coalThicknessList.add(CoalThicknessItem()) + notifyDataSetChanged() + } + } + } + } + + override fun initView(savedInstanceState: Bundle?) { + mBinding.rvBaseData.let { + it.layoutManager = LinearLayoutManager(this) + it.adapter = baseDataAdapter + } + mBinding.rvCoalThickness.let { + it.layoutManager = LinearLayoutManager(this) + it.adapter = coalThicknessAdapter + } + val stringExtra = intent.getStringExtra(WORK_RECORD_TYPE) + if (TextUtils.isEmpty(stringExtra)) { + stringExtra == AddMiningFaceActivity.WorkFaceType.ADD.name + } + when (stringExtra) { + WorkRecordType.ADD.name -> { + currentRecordType = WorkRecordType.ADD + mBinding.toolbarLay.title = "开始记录" + mBinding.btnSaveRecord.text = "保存" + mBinding.btnSaveRecord.visible() + initAddRecord() + } + + WorkRecordType.EDIT.name -> { + currentRecordType = WorkRecordType.EDIT + mBinding.toolbarLay.title = "修改记录" + mBinding.btnSaveRecord.text = "修改" + mBinding.btnSaveRecord.visible() +// detail = +// intent.getParcelableExtra(WorkingFaceDetailActivity.Companion.FACE_WORK_DETAIL_DATA) as MiningWorkingFaceEntity? +// if (faceDetail == null) { +// showToast("未查询到记录数据") +// return +// } + initEditRecord() + } + + WorkRecordType.SEE.name -> { + currentRecordType = WorkRecordType.SEE + mBinding.toolbarLay.title = "查看详情" + mBinding.toolbarLay.rightText = "修改" + mBinding.toolbarLay.titleTvRight.setOnClickListener { + toActivity(MiningFaceRecordActivity::class.java, Bundle().apply { + putString(WORK_RECORD_TYPE, WorkRecordType.EDIT.name) +// putParcelable(FACE_RECORD, faceRecord) + }) + } + mBinding.btnSaveRecord.gone() + initRecordDetail() + } + } + } + + override fun initData() { + + } + + override fun bindEvent() { + val waterOutflowList: MutableList = mutableListOf() + waterOutflowList.add(WorkOption(id = "0", name = "是")) + waterOutflowList.add(WorkOption(id = "1", name = "否")) + val tvWaterOutflow = mBinding.tvWaterOutflow + tvWaterOutflow.setOnClickListener { v -> + PickerUtil.showOptionPicker(this, "请选择是否出水", waterOutflowList) { option -> + tvWaterOutflow.text = option.name + tvWaterOutflow.tag = option.id + } + } + } + + override fun processClick(v: View?) { + + } + + private fun initAddRecord() { + baseDataList.run { + add(AddMiningFaceItem(funcName = "当班进尺")) + add(AddMiningFaceItem(funcName = "胶运巷回采位置")) + add(AddMiningFaceItem(funcName = "回风巷回采位置")) + add(AddMiningFaceItem(funcName = "出煤量")) + } + baseDataAdapter.notifyDataSetChanged() + + coalThicknessList.run { + add(CoalThicknessItem()) + add(CoalThicknessItem()) + add(CoalThicknessItem()) + } + coalThicknessAdapter.notifyDataSetChanged() + } + + private fun initEditRecord() { + baseDataList.run { + add(AddMiningFaceItem(funcName = "当班进尺")) + add(AddMiningFaceItem(funcName = "胶运巷回采位置")) + add(AddMiningFaceItem(funcName = "回风巷回采位置")) + add(AddMiningFaceItem(funcName = "出煤量")) + } + baseDataAdapter.notifyDataSetChanged() + + coalThicknessList.run { + add(CoalThicknessItem()) + add(CoalThicknessItem()) + add(CoalThicknessItem()) + } + coalThicknessAdapter.notifyDataSetChanged() + } + + private fun initRecordDetail() { + baseDataList.run { + add(AddMiningFaceItem(funcName = "当班进尺")) + add(AddMiningFaceItem(funcName = "胶运巷回采位置")) + add(AddMiningFaceItem(funcName = "回风巷回采位置")) + add(AddMiningFaceItem(funcName = "出煤量")) + } + baseDataAdapter.notifyDataSetChanged() + + coalThicknessList.run { + add(CoalThicknessItem()) + add(CoalThicknessItem()) + add(CoalThicknessItem()) + } + coalThicknessAdapter.notifyDataSetChanged() + } +} \ No newline at end of file diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/tunneling/activity/AddWorkingFaceRecordActivity.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/tunneling/activity/AddWorkingFaceRecordActivity.kt index e8e02f3..6287b6c 100644 --- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/tunneling/activity/AddWorkingFaceRecordActivity.kt +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/tunneling/activity/AddWorkingFaceRecordActivity.kt @@ -193,6 +193,7 @@ class AddWorkingFaceRecordActivity : it.workingFootage = mBinding.etWorkingFootage.text.toString().trim().formatDecimalString() it.seamDip = mBinding.etSeamDip.text.toString().trim().formatDecimalString() it.seamHeight = mBinding.etSeamHeight.text.toString().trim().formatDecimalString() + it.waterYield = mBinding.etWaterYield.text.toString().trim().formatDecimalString() it.recordPerson = mBinding.etRecordPerson.text.toString().trim() it.createTime = DateTimeUtil.formatDateTime(LocalDateTime.now()) @@ -218,9 +219,10 @@ class AddWorkingFaceRecordActivity : mBinding.tvWorkTeam.tag = it.teamId mBinding.etTeamLeader.setText(it.teamLeader) - mBinding.etWorkingFootage.setText(it.workingFootage) - mBinding.etSeamDip.setText(it.seamDip) - mBinding.etSeamHeight.setText(it.seamHeight) + mBinding.etWorkingFootage.setText(getShowNum2(it.workingFootage)) + mBinding.etSeamDip.setText(getShowNum2(it.seamDip)) + mBinding.etSeamHeight.setText(getShowNum2(it.seamHeight)) + mBinding.etWaterYield.setText(getShowNum2(it.waterYield)) mBinding.etRecordPerson.setText(it.recordPerson) } } @@ -238,6 +240,7 @@ class AddWorkingFaceRecordActivity : it.workingFootage = mBinding.etWorkingFootage.text.toString().trim().formatDecimalString() it.seamDip = mBinding.etSeamDip.text.toString().trim().formatDecimalString() it.seamHeight = mBinding.etSeamHeight.text.toString().trim().formatDecimalString() + it.waterYield = mBinding.etWaterYield.text.toString().trim().formatDecimalString() it.recordPerson = mBinding.etRecordPerson.text.toString().trim() it.createTime = DateTimeUtil.formatDateTime(LocalDateTime.now()) @@ -311,6 +314,13 @@ class AddWorkingFaceRecordActivity : } list.add(TunnelWorkingItem(name = "煤层高", value = seamHeight)) + val waterYield = mBinding.etWaterYield.text.toString().trim().formatDecimalString() + if (waterYield.isBlank()) { + showToast("请输入涌水量") + return + } + list.add(TunnelWorkingItem(name = "涌水量", value = waterYield)) + val recordPerson = mBinding.etRecordPerson.text.toString().trim() if (recordPerson.isBlank()) { showToast("请输入填写人") diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/tunneling/activity/TunnelingActivity.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/tunneling/activity/TunnelingActivity.kt index f8439ce..fb071bc 100644 --- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/tunneling/activity/TunnelingActivity.kt +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/tunneling/activity/TunnelingActivity.kt @@ -86,7 +86,6 @@ class TunnelingActivity : @SuppressLint("NotifyDataSetChanged") override fun initData() { - DictUtils.initData() val userId = SpTool.getString(SpTool.USER_ID) workingFaceViewModel.getEntityListByUserId(userId) { it -> if (it.isNullOrEmpty()) { diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/tunneling/activity/WorkingFaceRecordActivity.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/tunneling/activity/WorkingFaceRecordActivity.kt index 9098692..6d9ae32 100644 --- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/tunneling/activity/WorkingFaceRecordActivity.kt +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/tunneling/activity/WorkingFaceRecordActivity.kt @@ -16,6 +16,7 @@ import com.zmkg.coaloperation.db.entity.tunnel.TunnelWorkingFaceRecordEntity import com.zmkg.coaloperation.db.viewmodel.TunnelRoofLithologyViewModel import com.zmkg.coaloperation.utils.DictUtils import com.zmkg.coaloperation.utils.formatDecimalString +import com.zmkg.coaloperation.utils.roundedOneDecimalPlace import com.zmkg.coaloperation.utils.toJsonString import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode @@ -83,14 +84,15 @@ class WorkingFaceRecordActivity : ) list.add(TunnelWorkingItem(pageType = 1, name = "施工队伍", value = it.teamName)) list.add(TunnelWorkingItem(pageType = 1, name = "带班队长", value = it.teamLeader)) - list.add(TunnelWorkingItem(pageType = 1, name = "本班进尺", value = "${it.workingFootage?.formatDecimalString()}m")) + list.add(TunnelWorkingItem(pageType = 1, name = "本班进尺", value = "${getShowNum2(it.workingFootage)}m")) // val rockList = mutableListOf() // rockList.add(RockItem(startLen = 0, endLen = 1, rockType = "泥")) // rockList.add(RockItem(startLen = 0, endLen = 1, rockType = "砂")) list.add(TunnelWorkingItem(pageType = 1, name = "顶板岩性", value = "", items = null)) - list.add(TunnelWorkingItem(pageType = 1, name = "煤层倾角", value = "${it.seamDip?.formatDecimalString()}°")) - list.add(TunnelWorkingItem(pageType = 1, name = "煤层高", value = "${it.seamHeight?.formatDecimalString()}m")) + list.add(TunnelWorkingItem(pageType = 1, name = "煤层倾角", value = "${getShowNum2(it.seamDip)}°")) + list.add(TunnelWorkingItem(pageType = 1, name = "煤层高", value = "${getShowNum2(it.seamHeight)}m")) + list.add(TunnelWorkingItem(pageType = 1, name = "涌水量", value = "${getShowNum2(it.waterYield)}m³/h")) list.add(TunnelWorkingItem(pageType = 1, name = "记录人", value = it.recordPerson)) adapter.notifyDataSetChanged() @@ -102,6 +104,7 @@ class WorkingFaceRecordActivity : } } + override fun bindEvent() { } diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/tunneling/viewmodel/TunnelingViewModel.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/tunneling/viewmodel/TunnelingViewModel.kt index fd94f68..fdb6792 100644 --- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/tunneling/viewmodel/TunnelingViewModel.kt +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/tunneling/viewmodel/TunnelingViewModel.kt @@ -1,6 +1,7 @@ package com.zmkg.coaloperation.ui.tunneling.viewmodel import com.zmkg.coaloperation.base.viewmodel.BaseViewModel +import com.zmkg.coaloperation.bean.TunnelSubmitData import com.zmkg.coaloperation.data.repository.HomeRepository import com.zmkg.coaloperation.db.entity.tunnel.TunnelWorkingFaceEntity import com.zmkg.coaloperation.superfuntion.handleRequest @@ -104,4 +105,18 @@ class TunnelingViewModel : BaseViewModel() { ) } + var tunnelDataPush = MutableSharedFlow() + + fun tunnelDataPush(data:TunnelSubmitData) { + launch( + { + handleRequest( + HomeRepository.tunnelDataPush(data), + successBlock = { + tunnelDataPush.emit(it.data) + }) + } + ) + } + } \ No newline at end of file diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/user/activity/AboutUsActivity.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/user/activity/AboutUsActivity.kt index d3782f5..2c524f4 100644 --- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/user/activity/AboutUsActivity.kt +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/user/activity/AboutUsActivity.kt @@ -23,5 +23,4 @@ class AboutUsActivity : BaseVMBActivity(R. override fun processClick(v: View?) { } - } \ No newline at end of file diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/user/activity/DataSyncActivity.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/user/activity/DataSyncActivity.kt new file mode 100644 index 0000000..17782ab --- /dev/null +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/user/activity/DataSyncActivity.kt @@ -0,0 +1,221 @@ +package com.zmkg.coaloperation.ui.user.activity + +import android.os.Bundle +import android.util.Log +import android.view.View +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.lifecycleScope +import androidx.lifecycle.repeatOnLifecycle +import androidx.recyclerview.widget.LinearLayoutManager +import com.zmkg.coaloperation.R +import com.zmkg.coaloperation.adapter.DataSyncAdapter +import com.zmkg.coaloperation.base.BaseVMBActivity +import com.zmkg.coaloperation.bean.DataSyncItem +import com.zmkg.coaloperation.bean.TunnelSubmitData +import com.zmkg.coaloperation.databinding.ActivityDataSyncBinding +import com.zmkg.coaloperation.db.viewmodel.TunnelRoofLithologyViewModel +import com.zmkg.coaloperation.db.viewmodel.TunnelWorkingFaceRecordViewModel +import com.zmkg.coaloperation.db.viewmodel.TunnelWorkingFaceViewModel +import com.zmkg.coaloperation.superfuntion.hideLoading +import com.zmkg.coaloperation.superfuntion.showLoading +import com.zmkg.coaloperation.ui.tunneling.viewmodel.TunnelingViewModel +import com.zmkg.coaloperation.utils.DictUtils +import com.zmkg.coaloperation.utils.SpTool +import com.zmkg.coaloperation.utils.toJsonString +import kotlinx.coroutines.flow.collectLatest +import kotlinx.coroutines.launch +import kotlin.collections.isNotEmpty + +/** + * 关于我们 + */ +class DataSyncActivity : + BaseVMBActivity(R.layout.activity_data_sync) { + + private val TAG = "DataSyncActivity" + + private val workingFaceViewModel: TunnelWorkingFaceViewModel by lazy { + ViewModelProvider(this)[TunnelWorkingFaceViewModel::class.java] + } + + private val workingFaceRecordViewModel: TunnelWorkingFaceRecordViewModel by lazy { + ViewModelProvider(this)[TunnelWorkingFaceRecordViewModel::class.java] + } + + private val roofLithologyViewModel: TunnelRoofLithologyViewModel by lazy { + ViewModelProvider(this)[TunnelRoofLithologyViewModel::class.java] + } + private val list = mutableListOf( + DataSyncItem("涌水量观测"), + DataSyncItem("导线测量"), + DataSyncItem("瓦斯巡检"), + DataSyncItem("防灭火检查"), + DataSyncItem("通风巡检"), + DataSyncItem("地质编录"), + DataSyncItem("水文地质编录"), + DataSyncItem("隐蔽致灾"), + DataSyncItem("地物查询"), + DataSyncItem("回采"), + DataSyncItem(funcName = "掘进", onDataPull = { tunnelDataPull() }, onDataPush = { tunnelDataPush() }) + ) + private val adapter by lazy { + DataSyncAdapter(list).apply { + setOnItemClickListener { _, _, position -> + + } + } + } + + override fun initView(savedInstanceState: Bundle?) { + mBinding.toolbarLay.title = "数据同步" + mBinding.rvFuncList.let { + it.layoutManager = LinearLayoutManager(this) + it.adapter = adapter + } + } + + override fun initData() { + } + + override fun bindEvent() { + } + + override fun processClick(v: View?) { + } + + override fun createObserve() { + super.createObserve() + lifecycleScope.launch { + repeatOnLifecycle(Lifecycle.State.CREATED) { + launch { + getFaceAndRecordList() + } + launch { + getTunnelAllDict() + } + launch { + dataPushSuccess() + } + } + } + } + + private suspend fun dataPushSuccess() { + mViewModel.tunnelDataPush.collectLatest { + showToast("数据推送成功") + // TODO: 清除本地所有数据,并从接口拉取最新数据 + } + } + + private suspend fun getFaceAndRecordList() { + mViewModel.tunnelFaceAndRecordList.collectLatest { dataList -> + Log.d(TAG, "getFaceAndRecordList: ${dataList.toJsonString()}") + dataList?.let { list -> + //保存工作面数据 + list.forEach { it.userId = SpTool.getString(SpTool.USER_ID) } + workingFaceViewModel.insertList(list) {} + list.forEach { faceEntity -> + faceEntity.records?.let { recordList -> + val lastRecordId = faceEntity.latestRecord?.recordId + val record = recordList.firstOrNull { it.recordId == lastRecordId } + record?.latestRecordState = "1" + + //保存工作面记录数据 + workingFaceRecordViewModel.insertList(recordList) + recordList.forEach { recordEntity -> + recordEntity.mineWorkingLithologyList?.let { lithologyList -> + //保存工作面记录顶板岩性数据 + roofLithologyViewModel.insertList(lithologyList) + } + } + } + } + } + } + } + + private suspend fun getTunnelAllDict() { + mViewModel.tunnelAllDict.collectLatest { + val dictJson = it.toJsonString() + Log.d(TAG, "getTunnelAllDict: $dictJson") + SpTool.put(SpTool.DICT_JSON, dictJson) + } + } + + /** + * 检查数据状态 + * @param block 入参true-有待提交数据,false-无待提交数据 + */ + private fun checkDataState(block: (Boolean) -> Unit) { + workingFaceViewModel.getEntityListByState("1") { faceList -> + if (faceList != null && faceList.isNotEmpty()) { + block(true) + return@getEntityListByState + } + workingFaceRecordViewModel.getEntityListByState("1") { recordList -> + if (recordList != null && recordList.isNotEmpty()) { + block(true) + return@getEntityListByState + } + roofLithologyViewModel.getEntityListByState("1") { lithologyList -> + if (lithologyList != null && lithologyList.isNotEmpty()) { + block(true) + return@getEntityListByState + } + block(false) + } + } + } + } + + private fun tunnelDataPull() { + checkDataState { state -> + if (state) { + showToast("本地存在待提交的数据") + return@checkDataState + } + showLoading("加载中") + workingFaceViewModel.deleteAll { + workingFaceRecordViewModel.deleteAll { + roofLithologyViewModel.deleteAll { + mViewModel.getTunnelFaceAndRecordList() + mViewModel.getTunnelAllDict() + mBinding.root.postDelayed({ + hideLoading() + }, 3000) + } + } + } + } + } + + private fun tunnelDataPush() { + showLoading() + val submitData = TunnelSubmitData() + workingFaceViewModel.getEntityListByState("1") { faceList -> + submitData.faceList = faceList + workingFaceRecordViewModel.getEntityListByState("1") { recordList -> + submitData.recordList = recordList + roofLithologyViewModel.getEntityListByState("1") { lithologyList -> + hideLoading() + submitData.lithologyList = lithologyList + if (submitData.faceList.isNullOrEmpty() || + submitData.recordList.isNullOrEmpty() || + submitData.lithologyList.isNullOrEmpty() + ) { + showToast("暂无推送数据") + return@getEntityListByState + } + submitData.recordList?.forEach { entity -> + entity.teamShift = DictUtils.getTeamShiftId(entity.teamShift) + } + Log.d(TAG, "dataPush: ${submitData.toJsonString()}") + mViewModel.tunnelDataPush(submitData) + } + } + } + } + + +} \ No newline at end of file diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/user/fragment/UserFragment.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/user/fragment/UserFragment.kt index 37beab8..e74a44b 100644 --- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/user/fragment/UserFragment.kt +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/user/fragment/UserFragment.kt @@ -24,7 +24,9 @@ import com.zmkg.coaloperation.superfuntion.startLoginActivity import com.zmkg.coaloperation.ui.tunneling.viewmodel.TunnelingViewModel import com.zmkg.coaloperation.ui.user.activity.AboutUsActivity import com.zmkg.coaloperation.ui.user.activity.CacheManageActivity +import com.zmkg.coaloperation.ui.user.activity.DataSyncActivity import com.zmkg.coaloperation.ui.user.activity.NetworkConfigActivity +import com.zmkg.coaloperation.utils.DictUtils import com.zmkg.coaloperation.utils.SpTool import com.zmkg.coaloperation.utils.toJsonString import com.zmkg.coaloperation.view.CommonDialog @@ -38,18 +40,6 @@ class UserFragment : const val TAG = "UserFragment" } - private val workingFaceViewModel: TunnelWorkingFaceViewModel by lazy { - ViewModelProvider(this)[TunnelWorkingFaceViewModel::class.java] - } - - private val workingFaceRecordViewModel: TunnelWorkingFaceRecordViewModel by lazy { - ViewModelProvider(this)[TunnelWorkingFaceRecordViewModel::class.java] - } - - private val roofLithologyViewModel: TunnelRoofLithologyViewModel by lazy { - ViewModelProvider(this)[TunnelRoofLithologyViewModel::class.java] - } - private val updateDialog: CommonDialog by lazy { CommonDialog(requireContext(), R.layout.dialog_common_view) { @@ -92,100 +82,6 @@ class UserFragment : override fun createObserve() { super.createObserve() - lifecycleScope.launch { - repeatOnLifecycle(Lifecycle.State.CREATED) { - launch { - getFaceAndRecordList() - } - launch { - getTunnelAllDict() - } - } - } - } - - private suspend fun getFaceAndRecordList() { - mViewModel.tunnelFaceAndRecordList.collectLatest { dataList -> - Log.d(TAG, "getFaceAndRecordList: ${dataList.toJsonString()}") - dataList?.let { list -> - //保存工作面数据 - list.forEach { it.userId = SpTool.getString(SpTool.USER_ID) } - workingFaceViewModel.insertList(list) {} - list.forEach { faceEntity -> - faceEntity.records?.let { recordList -> - val lastRecordId = faceEntity.latestRecord?.recordId - val record = recordList.firstOrNull { it.recordId == lastRecordId } - record?.latestRecordState = "1" - - //保存工作面记录数据 - workingFaceRecordViewModel.insertList(recordList) - recordList.forEach { recordEntity -> - recordEntity.mineWorkingLithologyList?.let { lithologyList -> - //保存工作面记录顶板岩性数据 - roofLithologyViewModel.insertList(lithologyList) - } - } - } - } - } - } - } - - private suspend fun getTunnelAllDict() { - mViewModel.tunnelAllDict.collectLatest { - val dictJson = it.toJsonString() - Log.d(TAG, "getTunnelAllDict: $dictJson") - SpTool.put(SpTool.DICT_JSON, dictJson) - } - } - - /** - * 检查数据状态 - * @param block 入参true-有待提交数据,false-无待提交数据 - */ - private fun checkDataState(block: (Boolean) -> Unit) { - workingFaceViewModel.getEntityListByState("1") { faceList -> - if (faceList != null && faceList.isNotEmpty()) { - block(true) - return@getEntityListByState - } - workingFaceRecordViewModel.getEntityListByState("1") { recordList -> - if (recordList != null && recordList.isNotEmpty()) { - block(true) - return@getEntityListByState - } - roofLithologyViewModel.getEntityListByState("1") { lithologyList -> - if (lithologyList != null && lithologyList.isNotEmpty()) { - block(true) - return@getEntityListByState - } - block(false) - } - } - } - } - - private fun dataPush() { - showLoading() - val submitData = TunnelSubmitData() - workingFaceViewModel.getEntityListByState("1") { faceList -> - submitData.faceList = faceList - workingFaceRecordViewModel.getEntityListByState("1") { recordList -> - submitData.recordList = recordList - roofLithologyViewModel.getEntityListByState("1") { lithologyList -> - hideLoading() - submitData.lithologyList = lithologyList - if (submitData.faceList.isNullOrEmpty() || - submitData.recordList.isNullOrEmpty() || - submitData.lithologyList.isNullOrEmpty() - ) { - showToast("暂无推送数据") - return@getEntityListByState - } - Log.d(TAG, "dataPush: ${submitData.toJsonString()}") - } - } - } } private fun initMenuList() { @@ -202,18 +98,12 @@ class UserFragment : ) userMenuList.add( UserMenuBean( - menuName = "数据拉取", - iconResId = R.drawable.ic_data_pull, + menuName = "数据同步", + iconResId = R.drawable.ic_data_sync, iconBgResId = R.drawable.bg_icon_data_pull, - click = { dataPull() } - ) - ) - userMenuList.add( - UserMenuBean( - menuName = "数据推送", - iconResId = R.drawable.ic_data_push, - iconBgResId = R.drawable.bg_icon_data_push, - click = { dataPush() } + click = { + toActivity(DataSyncActivity::class.java) + } ) ) userMenuList.add( @@ -258,25 +148,4 @@ class UserFragment : ) } - private fun dataPull() { - checkDataState { state -> - if (state) { - showToast("本地存在待提交的数据") - return@checkDataState - } - showLoading("加载中") - workingFaceViewModel.deleteAll { - workingFaceRecordViewModel.deleteAll { - roofLithologyViewModel.deleteAll { - mViewModel.getTunnelFaceAndRecordList() - mViewModel.getTunnelAllDict() - mBinding.root.postDelayed({ - hideLoading() - }, 3000) - } - } - } - } - } - } diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/DictUtils.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/DictUtils.kt index 9c23c25..22704e5 100644 --- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/DictUtils.kt +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/DictUtils.kt @@ -46,7 +46,7 @@ object DictUtils { areaMap.put(it.key, tempList) } val seamId: LazilyParsedNumber = it.value?.get("seamId") as LazilyParsedNumber - //Log.d("DictUtils", "initData: idType= ${seamId?.javaClass?.name}, id=${seamId.toInt()},name=${it.value?.get("areaName")}") + //Log.d("DictUtils", "initData: idType= ${seamId?.javaClass?.name}, id=${seamId.toInt(aa)},name=${it.value?.get("areaName")}") tempList?.add(WorkOption(id = ""+ seamId.toInt(), ""+ it.value?.get("areaName"))) } } @@ -55,5 +55,8 @@ object DictUtils { if (shift == null) return "" return workShiftList.firstOrNull { it.id == shift }?.name ?: shift } - + fun getTeamShiftId(shift: String?): String { + if (shift == null) return "" + return workShiftList.firstOrNull { it.name == shift }?.id ?: shift + } } \ No newline at end of file diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/ExcelExportUtils.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/ExcelExportUtils.kt index 2ac1576..a0807e2 100644 --- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/ExcelExportUtils.kt +++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/ExcelExportUtils.kt @@ -26,7 +26,8 @@ object ExcelExportUtils { subTitleList.forEachIndexed { index, subTitle -> subHeader.createCell(list.size - 1 + index).setCellValue(subTitle) } - sheet.addMergedRegion(CellRangeAddress(0, 0, 9, 11)) +// sheet.addMergedRegion(CellRangeAddress(0, 0, 9, 11)) + sheet.addMergedRegion(CellRangeAddress(0, 0, 10, 12)) for (i in 0 until list.size - 1) { sheet.addMergedRegion(CellRangeAddress(0, 1, i, i)) } diff --git a/coalMiningApp/app/src/main/res/drawable-xxhdpi/ic_data_sync.png b/coalMiningApp/app/src/main/res/drawable-xxhdpi/ic_data_sync.png new file mode 100644 index 0000000..d076ce5 Binary files /dev/null and b/coalMiningApp/app/src/main/res/drawable-xxhdpi/ic_data_sync.png differ diff --git a/coalMiningApp/app/src/main/res/layout/activity_add_mining_face.xml b/coalMiningApp/app/src/main/res/layout/activity_add_mining_face.xml index 5369250..f55cfea 100644 --- a/coalMiningApp/app/src/main/res/layout/activity_add_mining_face.xml +++ b/coalMiningApp/app/src/main/res/layout/activity_add_mining_face.xml @@ -11,7 +11,7 @@ + tools:itemCount="6" + tools:listitem="@layout/list_item_add_mining_face" /> @@ -382,12 +383,61 @@ android:textSize="16sp" /> + + + + + + + + + diff --git a/coalMiningApp/app/src/main/res/layout/activity_cache_manage.xml b/coalMiningApp/app/src/main/res/layout/activity_cache_manage.xml index 8f5b8e7..64935a0 100644 --- a/coalMiningApp/app/src/main/res/layout/activity_cache_manage.xml +++ b/coalMiningApp/app/src/main/res/layout/activity_cache_manage.xml @@ -21,7 +21,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@+id/toolbar_lay" - android:background="@color/black" + android:background="@color/black_bg" android:orientation="vertical"> + + + + + + + + + + + + + + \ No newline at end of file diff --git a/coalMiningApp/app/src/main/res/layout/activity_geological.xml b/coalMiningApp/app/src/main/res/layout/activity_geological.xml index 0764d3c..e14e074 100644 --- a/coalMiningApp/app/src/main/res/layout/activity_geological.xml +++ b/coalMiningApp/app/src/main/res/layout/activity_geological.xml @@ -10,7 +10,7 @@ + android:background="@color/black_bg"> diff --git a/coalMiningApp/app/src/main/res/layout/activity_mining_face_record.xml b/coalMiningApp/app/src/main/res/layout/activity_mining_face_record.xml new file mode 100644 index 0000000..3807cc7 --- /dev/null +++ b/coalMiningApp/app/src/main/res/layout/activity_mining_face_record.xml @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/coalMiningApp/app/src/main/res/layout/activity_network_config.xml b/coalMiningApp/app/src/main/res/layout/activity_network_config.xml index e829a8d..3e4bbab 100644 --- a/coalMiningApp/app/src/main/res/layout/activity_network_config.xml +++ b/coalMiningApp/app/src/main/res/layout/activity_network_config.xml @@ -21,7 +21,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@+id/toolbar_lay" - android:background="@color/black" + android:background="@color/black_bg" android:orientation="vertical"> + android:background="@color/black_bg"> + tools:background="@color/black_bg"> - + + + + + + + + + + + + + + \ No newline at end of file diff --git a/coalMiningApp/app/src/main/res/layout/list_item_mining_record_base_data.xml b/coalMiningApp/app/src/main/res/layout/list_item_mining_record_base_data.xml new file mode 100644 index 0000000..a7e151d --- /dev/null +++ b/coalMiningApp/app/src/main/res/layout/list_item_mining_record_base_data.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/coalMiningApp/app/src/main/res/layout/list_item_mining_record_coal_thickness.xml b/coalMiningApp/app/src/main/res/layout/list_item_mining_record_coal_thickness.xml new file mode 100644 index 0000000..e5c9b54 --- /dev/null +++ b/coalMiningApp/app/src/main/res/layout/list_item_mining_record_coal_thickness.xml @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file