代码优化

This commit is contained in:
2025-09-14 11:51:59 +08:00
parent 4867c14581
commit 87278949d1
19 changed files with 213 additions and 215 deletions
@@ -33,7 +33,7 @@
<activity android:name=".ui.home.activity.GeologicalActivity" /> <activity android:name=".ui.home.activity.GeologicalActivity" />
<activity android:name=".ui.tunneling.activity.WorkingFaceStatisticsActivity" /> <activity android:name=".ui.tunneling.activity.WorkingFaceStatisticsActivity" />
<activity android:name=".ui.tunneling.activity.WorkingFaceRecordActivity" /> <activity android:name=".ui.tunneling.activity.WorkingFaceRecordActivity" />
<activity android:name=".ui.tunneling.activity.WorkingFaceDetail2Activity" /> <activity android:name=".ui.tunneling.activity.WorkingFaceDetailActivity" />
<activity android:name=".ui.tunneling.activity.AddWorkingFaceRecordActivity" <activity android:name=".ui.tunneling.activity.AddWorkingFaceRecordActivity"
android:windowSoftInputMode="adjustPan"/> android:windowSoftInputMode="adjustPan"/>
<activity android:name=".ui.tunneling.activity.TunnelingActivity" /> <activity android:name=".ui.tunneling.activity.TunnelingActivity" />
@@ -8,6 +8,7 @@ import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.zmkg.coaloperation.R import com.zmkg.coaloperation.R
import com.zmkg.coaloperation.databinding.ListItemRockBinding import com.zmkg.coaloperation.databinding.ListItemRockBinding
import com.zmkg.coaloperation.db.entiry.tunnel.TunnelRoofLithologyEntity import com.zmkg.coaloperation.db.entiry.tunnel.TunnelRoofLithologyEntity
import com.zmkg.coaloperation.utils.formatDecimalString
class TunnelRoofLithologyAdapter(var list: MutableList<TunnelRoofLithologyEntity>) : class TunnelRoofLithologyAdapter(var list: MutableList<TunnelRoofLithologyEntity>) :
BaseQuickAdapter<TunnelRoofLithologyEntity, TunnelRoofLithologyAdapter.VH>( BaseQuickAdapter<TunnelRoofLithologyEntity, TunnelRoofLithologyAdapter.VH>(
@@ -34,13 +35,13 @@ class TunnelRoofLithologyAdapter(var list: MutableList<TunnelRoofLithologyEntity
addTextChangedListener(onTextChanged = { text, start, before, count -> addTextChangedListener(onTextChanged = { text, start, before, count ->
item.positionStart = text.toString().trim() item.positionStart = text.toString().trim()
}) })
setText(item.positionStart) setText(item.positionStart.formatDecimalString())
} }
it.tvRockEndLen.run { it.tvRockEndLen.run {
addTextChangedListener(onTextChanged = { text, start, before, count -> addTextChangedListener(onTextChanged = { text, start, before, count ->
item.positionEnd = text.toString().trim() item.positionEnd = text.toString().trim()
}) })
setText(item.positionEnd) setText(item.positionEnd.formatDecimalString())
} }
it.tvRockType.run { it.tvRockType.run {
addTextChangedListener(onTextChanged = { text, start, before, count -> addTextChangedListener(onTextChanged = { text, start, before, count ->
@@ -9,21 +9,20 @@ import androidx.core.view.updateLayoutParams
import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.zmkg.coaloperation.R import com.zmkg.coaloperation.R
import com.zmkg.coaloperation.bean.RockItem import com.zmkg.coaloperation.bean.TunnelWorkingRecordItem
import com.zmkg.coaloperation.bean.WorkingFaceItem
import com.zmkg.coaloperation.databinding.ListItemRockBinding import com.zmkg.coaloperation.databinding.ListItemRockBinding
import com.zmkg.coaloperation.databinding.ListItemWorkingFaceBinding import com.zmkg.coaloperation.databinding.ListItemTunnelWorkingRecordItemBinding
import com.zmkg.coaloperation.db.entiry.tunnel.TunnelRoofLithologyEntity import com.zmkg.coaloperation.db.entiry.tunnel.TunnelRoofLithologyEntity
import com.zmkg.coaloperation.utils.ScreenUtil import com.zmkg.coaloperation.utils.ScreenUtil
class WorkingItemAdapter(data: MutableList<WorkingFaceItem>) : class TunnelWorkingRecordItemAdapter(data: MutableList<TunnelWorkingRecordItem>) :
BaseQuickAdapter<WorkingFaceItem, WorkingItemAdapter.VH>( BaseQuickAdapter<TunnelWorkingRecordItem, TunnelWorkingRecordItemAdapter.VH>(
R.layout.list_item_working_face, R.layout.list_item_tunnel_working_record_item,
data data
) { ) {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VH { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VH {
val binding = ListItemWorkingFaceBinding.inflate( val binding = ListItemTunnelWorkingRecordItemBinding.inflate(
LayoutInflater.from(parent.context), LayoutInflater.from(parent.context),
parent, parent,
false false
@@ -35,7 +34,7 @@ class WorkingItemAdapter(data: MutableList<WorkingFaceItem>) :
override fun convert( override fun convert(
holder: VH, holder: VH,
item: WorkingFaceItem item: TunnelWorkingRecordItem
) { ) {
if (item.pageType == 0) { if (item.pageType == 0) {
loadFaceData(holder.binding, item) loadFaceData(holder.binding, item)
@@ -52,7 +51,7 @@ class WorkingItemAdapter(data: MutableList<WorkingFaceItem>) :
} }
} }
private fun loadPointData(binding: ListItemWorkingFaceBinding, item: WorkingFaceItem) { private fun loadPointData(binding: ListItemTunnelWorkingRecordItemBinding, item: TunnelWorkingRecordItem) {
binding.run { binding.run {
tvItemName.text = item.name tvItemName.text = item.name
if (item.items.isNullOrEmpty()) { if (item.items.isNullOrEmpty()) {
@@ -73,7 +72,7 @@ class WorkingItemAdapter(data: MutableList<WorkingFaceItem>) :
} }
} }
} }
private fun loadFaceData(binding: ListItemWorkingFaceBinding, item: WorkingFaceItem) { private fun loadFaceData(binding: ListItemTunnelWorkingRecordItemBinding, item: TunnelWorkingRecordItem) {
binding.tvItemName.let { binding.tvItemName.let {
it.updateLayoutParams { height = ScreenUtil.dp2px(50f) } it.updateLayoutParams { height = ScreenUtil.dp2px(50f) }
it.text = item.name it.text = item.name
@@ -114,5 +113,5 @@ class WorkingItemAdapter(data: MutableList<WorkingFaceItem>) :
} }
inner class VH(var binding: ListItemWorkingFaceBinding) : BaseViewHolder(binding.root) inner class VH(var binding: ListItemTunnelWorkingRecordItemBinding) : BaseViewHolder(binding.root)
} }
@@ -7,6 +7,8 @@ import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.zmkg.coaloperation.R import com.zmkg.coaloperation.R
import com.zmkg.coaloperation.databinding.ItemRockNatureBinding import com.zmkg.coaloperation.databinding.ItemRockNatureBinding
import com.zmkg.coaloperation.db.entiry.tunnel.TunnelRoofLithologyEntity import com.zmkg.coaloperation.db.entiry.tunnel.TunnelRoofLithologyEntity
import com.zmkg.coaloperation.utils.formatDecimalString
/** /**
* 顶板岩性 * 顶板岩性
@@ -15,7 +17,7 @@ import com.zmkg.coaloperation.db.entiry.tunnel.TunnelRoofLithologyEntity
class TunnelingRockNatureAdapter(list: MutableList<TunnelRoofLithologyEntity>) : class TunnelingRockNatureAdapter(list: MutableList<TunnelRoofLithologyEntity>) :
BaseQuickAdapter<TunnelRoofLithologyEntity, TunnelingRockNatureAdapter.VH>(R.layout.item_rock_nature, list) { BaseQuickAdapter<TunnelRoofLithologyEntity, TunnelingRockNatureAdapter.VH>(R.layout.item_rock_nature, list) {
inner class VH(var binding: ItemRockNatureBinding): BaseViewHolder(binding.root) inner class VH(var binding: ItemRockNatureBinding):BaseViewHolder(binding.root)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VH { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VH {
val binding = ItemRockNatureBinding.inflate( val binding = ItemRockNatureBinding.inflate(
@@ -28,8 +30,8 @@ class TunnelingRockNatureAdapter(list: MutableList<TunnelRoofLithologyEntity>) :
override fun convert(holder: VH, item: TunnelRoofLithologyEntity) { override fun convert(holder: VH, item: TunnelRoofLithologyEntity) {
holder.binding.let { holder.binding.let {
it.tvRock1Start.text = item.positionStart it.tvRock1Start.text = item.positionStart.formatDecimalString()
it.tvRock1End.text = item.positionEnd it.tvRock1End.text = item.positionEnd.formatDecimalString()
it.tvRock1Name.text = item.lithologyType it.tvRock1Name.text = item.lithologyType
} }
} }
@@ -1,4 +1,4 @@
package com.zmkg.coaloperation.ui.tunneling.bean package com.zmkg.coaloperation.bean
data class DictBean( data class DictBean(
var seam_list: Map<String, String>?, var seam_list: Map<String, String>?,
@@ -2,7 +2,7 @@ package com.zmkg.coaloperation.bean
import com.zmkg.coaloperation.db.entiry.tunnel.TunnelRoofLithologyEntity import com.zmkg.coaloperation.db.entiry.tunnel.TunnelRoofLithologyEntity
data class WorkingFaceItem( data class TunnelWorkingRecordItem(
var name: String? = "", var name: String? = "",
var value: String? = "", var value: String? = "",
var items: MutableList<TunnelRoofLithologyEntity>? = null, var items: MutableList<TunnelRoofLithologyEntity>? = null,
@@ -1,4 +1,4 @@
package com.zmkg.coaloperation.ui.tunneling.bean package com.zmkg.coaloperation.bean
import java.io.Serializable import java.io.Serializable
@@ -6,33 +6,33 @@ import java.io.Serializable
/** /**
* 掘进 * 掘进
*/ */
data class TunnelingHomeBean( //data class TunnelingHomeBean(
var contentList: MutableList<TunnelingHomeItemBean>?, // var contentList: MutableList<TunnelingHomeItemBean>?,
val createBy: String?, // val createBy: String?,
val createTime: String?, // val createTime: String?,
val updateBy: String?, // val updateBy: String?,
val updateTime: String?, // val updateTime: String?,
val remark: String?, // val remark: String?,
val surfaceId: String?, // val surfaceId: String?,
val totalFootage: String?, // val totalFootage: String?,
val seamId: String?, // val seamId: String?,
val areaId: String?, // val areaId: String?,
val seamName: String?, // val seamName: String?,
val surfaceName: String?, // val surfaceName: String?,
val areaName: String?, // val areaName: String?,
val surfaceAzimuth: String?, // val surfaceAzimuth: String?,
val surfaceHeight: String?, // val surfaceHeight: String?,
val surfaceWidth: String?, // val surfaceWidth: String?,
val tunnelNature: String?, // val tunnelNature: String?,
val planStartDate: String?, // val planStartDate: String?,
val planEndDate: String?, // val planEndDate: String?,
val geologicalType: String?, // val geologicalType: String?,
val hydrogeologicalType: String?, // val hydrogeologicalType: String?,
val seamIgnition: String?, // val seamIgnition: String?,
val seamGas: String?, // val seamGas: String?,
val seamBumpPressure: String?, // val seamBumpPressure: String?,
val surfaceSupportForm: String? // val surfaceSupportForm: String?
) //)
class TunnelingHomeItemBean { class TunnelingHomeItemBean {
var createBy: String? = null var createBy: String? = null
@@ -3,11 +3,8 @@ package com.zmkg.coaloperation.data.api
import com.zmkg.coaloperation.data.bean.ApiResponse import com.zmkg.coaloperation.data.bean.ApiResponse
import com.zmkg.coaloperation.db.entiry.tunnel.TunnelWorkingFaceEntity import com.zmkg.coaloperation.db.entiry.tunnel.TunnelWorkingFaceEntity
import com.zmkg.coaloperation.retorfit.UrlConfig import com.zmkg.coaloperation.retorfit.UrlConfig
import com.zmkg.coaloperation.ui.tunneling.bean.FaceWorkDetailBean import com.zmkg.coaloperation.bean.FaceWorkDetailBean
import com.zmkg.coaloperation.ui.tunneling.bean.TunnelingHomeBean
import com.zmkg.coaloperation.ui.tunneling.bean.TunnelingHomeItemBean
import com.zmkg.coaloperation.ui.home.bean.WaterLedgerBean import com.zmkg.coaloperation.ui.home.bean.WaterLedgerBean
import kotlinx.coroutines.flow.MutableSharedFlow
import okhttp3.RequestBody import okhttp3.RequestBody
import retrofit2.http.Body import retrofit2.http.Body
import retrofit2.http.GET import retrofit2.http.GET
@@ -29,14 +26,14 @@ interface HomeApi {
/** /**
* 掘进-首页-工作面列表 * 掘进-首页-工作面列表
*/ */
@GET("/api/mine/tunnelling/surface/list") // @GET("/api/mine/tunnelling/surface/list")
suspend fun getTunnelingHomeData(): ApiResponse<MutableList<TunnelingHomeBean>> // suspend fun getTunnelingHomeData(): ApiResponse<MutableList<TunnelingHomeBean>>
/** // /**
* 掘进-首页-工作面记录列表 // * 掘进-首页-工作面记录列表
*/ // */
@GET("/api/mine/tunnelling/surface/record/{recordId}") // @GET("/api/mine/tunnelling/surface/record/{recordId}")
suspend fun getTunnelingHomeItemData(@Path("recordId") recordId: String?): ApiResponse<MutableList<TunnelingHomeItemBean>> // suspend fun getTunnelingHomeItemData(@Path("recordId") recordId: String?): ApiResponse<MutableList<TunnelingHomeItemBean>>
/** /**
* 掘进-工作面详情 * 掘进-工作面详情
@@ -5,14 +5,7 @@ import com.zmkg.coaloperation.data.api.HomeApi
import com.zmkg.coaloperation.data.bean.ApiResponse import com.zmkg.coaloperation.data.bean.ApiResponse
import com.zmkg.coaloperation.db.entiry.tunnel.TunnelWorkingFaceEntity import com.zmkg.coaloperation.db.entiry.tunnel.TunnelWorkingFaceEntity
import com.zmkg.coaloperation.retorfit.RetrofitManager import com.zmkg.coaloperation.retorfit.RetrofitManager
import com.zmkg.coaloperation.retorfit.RetrofitManager.toRequestBody
import com.zmkg.coaloperation.superfuntion.toJson
import com.zmkg.coaloperation.ui.tunneling.bean.FaceWorkDetailBean
import com.zmkg.coaloperation.ui.tunneling.bean.TunnelingFaceAddBean
import com.zmkg.coaloperation.ui.tunneling.bean.TunnelingHomeBean
import com.zmkg.coaloperation.ui.tunneling.bean.TunnelingHomeItemBean
import com.zmkg.coaloperation.ui.home.bean.WaterLedgerBean import com.zmkg.coaloperation.ui.home.bean.WaterLedgerBean
import kotlinx.coroutines.flow.MutableSharedFlow
object HomeRepository : BaseRepository(){ object HomeRepository : BaseRepository(){
@@ -30,44 +23,44 @@ object HomeRepository : BaseRepository(){
} }
} }
/** // /**
* 掘进-首页-工作面列表 // * 掘进-首页-工作面列表
*/ // */
suspend fun getTunnelingHomeData(): ApiResponse<MutableList<TunnelingHomeBean>> { // suspend fun getTunnelingHomeData(): ApiResponse<MutableList<TunnelingHomeBean>> {
return apiCall { // return apiCall {
val map = mutableMapOf<String, Any?>() // val map = mutableMapOf<String, Any?>()
service.getTunnelingHomeData() // service.getTunnelingHomeData()
} // }
} // }
/**
* 掘进-首页-工作面记录列表
*/
suspend fun getTunnelingHomeItemData(surfaceId: String?): ApiResponse<MutableList<TunnelingHomeItemBean>> {
return apiCall {
val map = mutableMapOf<String, Any?>()
service.getTunnelingHomeItemData(surfaceId)
}
}
/**
* 掘进-工作面详情
*/
suspend fun getTunnelingSurfaceDetail(surfaceId: String?): ApiResponse<FaceWorkDetailBean> {
return apiCall {
val map = mutableMapOf<String, Any?>()
service.getTunnelingSurfaceDetail(surfaceId)
}
}
/**
* 掘进-新增工作面
*/
suspend fun postTunnellingSurfaceAdd(tunnelingFaceAddBean: TunnelingFaceAddBean): ApiResponse<String> {
return apiCall {
service.postTunnellingSurfaceAdd(tunnelingFaceAddBean.toJson().toRequestBody())
}
}
// /**
// * 掘进-首页-工作面记录列表
// */
// suspend fun getTunnelingHomeItemData(surfaceId: String?): ApiResponse<MutableList<TunnelingHomeItemBean>> {
// return apiCall {
// val map = mutableMapOf<String, Any?>()
// service.getTunnelingHomeItemData(surfaceId)
// }
// }
// /**
// * 掘进-工作面详情
// */
// suspend fun getTunnelingSurfaceDetail(surfaceId: String?): ApiResponse<FaceWorkDetailBean> {
// return apiCall {
// val map = mutableMapOf<String, Any?>()
// service.getTunnelingSurfaceDetail(surfaceId)
// }
// }
//
// /**
// * 掘进-新增工作面
// */
// suspend fun postTunnellingSurfaceAdd(tunnelingFaceAddBean: TunnelingFaceAddBean): ApiResponse<String> {
// return apiCall {
// service.postTunnellingSurfaceAdd(tunnelingFaceAddBean.toJson().toRequestBody())
// }
// }
//
suspend fun getTunnelHomeList() : ApiResponse<MutableList<TunnelWorkingFaceEntity>?> { suspend fun getTunnelHomeList() : ApiResponse<MutableList<TunnelWorkingFaceEntity>?> {
return apiCall { return apiCall {
service.getTunnelHomeList() service.getTunnelHomeList()
@@ -4,29 +4,21 @@ import android.os.Bundle
import android.text.TextUtils import android.text.TextUtils
import android.view.View import android.view.View
import android.widget.TextView import android.widget.TextView
import androidx.lifecycle.Lifecycle import androidx.core.view.isGone
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
import com.zmkg.coaloperation.R import com.zmkg.coaloperation.R
import com.zmkg.coaloperation.base.BaseVMBActivity import com.zmkg.coaloperation.base.BaseVMBActivity
import com.zmkg.coaloperation.databinding.ActivityWorkFaceBinding
import com.zmkg.coaloperation.db.entiry.tunnel.TunnelWorkingFaceEntity
import com.zmkg.coaloperation.db.viewmodel.TunnelWorkingFaceViewModel
import com.zmkg.coaloperation.event.TunnelingWorkFaceRefreshEvent
import com.zmkg.coaloperation.ui.tunneling.viewmodel.TunnelingViewModel
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
import org.greenrobot.eventbus.EventBus
import androidx.core.view.isGone
import com.zmkg.coaloperation.bean.WorkOption import com.zmkg.coaloperation.bean.WorkOption
import com.zmkg.coaloperation.databinding.ActivityAddWorkingFaceBinding import com.zmkg.coaloperation.databinding.ActivityAddWorkingFaceBinding
import com.zmkg.coaloperation.db.entiry.tunnel.TunnelWorkingFaceEntity
import com.zmkg.coaloperation.db.viewmodel.TunnelWorkingFaceViewModel
import com.zmkg.coaloperation.ui.tunneling.viewmodel.TunnelingViewModel
import com.zmkg.coaloperation.utils.DateTimeUtil import com.zmkg.coaloperation.utils.DateTimeUtil
import com.zmkg.coaloperation.utils.DictUtils import com.zmkg.coaloperation.utils.DictUtils
import com.zmkg.coaloperation.utils.PickerUtil import com.zmkg.coaloperation.utils.PickerUtil
import com.zmkg.coaloperation.utils.gone import com.zmkg.coaloperation.utils.gone
import com.zmkg.coaloperation.utils.visible import com.zmkg.coaloperation.utils.visible
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode import org.greenrobot.eventbus.ThreadMode
import java.time.LocalDateTime import java.time.LocalDateTime
@@ -80,7 +72,7 @@ class AddWorkingFaceActivity :
mBinding.expandLayout.visible() mBinding.expandLayout.visible()
mBinding.imgExpand.gone() mBinding.imgExpand.gone()
faceDetail = faceDetail =
intent.getParcelableExtra(WorkingFaceDetail2Activity.FACE_WORK_DETAIL_DATA) as TunnelWorkingFaceEntity? intent.getParcelableExtra(WorkingFaceDetailActivity.FACE_WORK_DETAIL_DATA) as TunnelWorkingFaceEntity?
if (faceDetail == null) { if (faceDetail == null) {
showToast("未查询到工作面数据") showToast("未查询到工作面数据")
return return
@@ -109,7 +101,7 @@ class AddWorkingFaceActivity :
PickerUtil.showOptionPicker(this, "请选择所属煤层", DictUtils.seamList) { option -> PickerUtil.showOptionPicker(this, "请选择所属煤层", DictUtils.seamList) { option ->
mBinding.tvSeamName.text = option.name mBinding.tvSeamName.text = option.name
mBinding.tvSeamName.tag = option.id mBinding.tvSeamName.tag = option.id
seamAreaList = DictUtils.areaMap[option.id]?:mutableListOf() seamAreaList = DictUtils.areaMap[option.id] ?: mutableListOf()
} }
} }
mBinding.tvAreaName.setOnClickListener { v -> mBinding.tvAreaName.setOnClickListener { v ->
@@ -171,16 +163,6 @@ class AddWorkingFaceActivity :
override fun createObserve() { override fun createObserve() {
super.createObserve() super.createObserve()
lifecycleScope.launch {
repeatOnLifecycle(Lifecycle.State.CREATED) {
mViewModel.tunnelingWorkFaceAdd.collectLatest {
showToast("新增成功")
EventBus.getDefault().post(TunnelingWorkFaceRefreshEvent())
delay(200)
finish()
}
}
}
} }
override fun processClick(v: View?) { override fun processClick(v: View?) {
@@ -7,9 +7,9 @@ import com.zmkg.coaloperation.R
import com.zmkg.coaloperation.base.BaseVMBActivity import com.zmkg.coaloperation.base.BaseVMBActivity
import com.zmkg.coaloperation.base.viewmodel.TestViewModel import com.zmkg.coaloperation.base.viewmodel.TestViewModel
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.zmkg.coaloperation.adapter.WorkingItemAdapter import com.zmkg.coaloperation.adapter.TunnelWorkingRecordItemAdapter
import com.zmkg.coaloperation.bean.WorkingFaceItem import com.zmkg.coaloperation.bean.TunnelWorkingRecordItem
import com.zmkg.coaloperation.databinding.ActivityWorkingFaceDetail2Binding import com.zmkg.coaloperation.databinding.ActivityWorkingFaceDetailBinding
import com.zmkg.coaloperation.db.entiry.tunnel.TunnelWorkingFaceEntity import com.zmkg.coaloperation.db.entiry.tunnel.TunnelWorkingFaceEntity
import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode import org.greenrobot.eventbus.ThreadMode
@@ -17,18 +17,18 @@ import org.greenrobot.eventbus.ThreadMode
/** /**
* 工作面详情2 * 工作面详情2
*/ */
class WorkingFaceDetail2Activity : class WorkingFaceDetailActivity :
BaseVMBActivity<TestViewModel, ActivityWorkingFaceDetail2Binding>(R.layout.activity_working_face_detail2) { BaseVMBActivity<TestViewModel, ActivityWorkingFaceDetailBinding>(R.layout.activity_working_face_detail) {
companion object { companion object {
const val FACE_WORK_DETAIL_DATA = "faceWorkDetailData" const val FACE_WORK_DETAIL_DATA = "faceWorkDetailData"
} }
private val list: MutableList<WorkingFaceItem> = mutableListOf() private val list: MutableList<TunnelWorkingRecordItem> = mutableListOf()
// private var detail:FaceWorkDetailBean?=null // private var detail:FaceWorkDetailBean?=null
private var detail: TunnelWorkingFaceEntity? = null private var detail: TunnelWorkingFaceEntity? = null
private val adapter by lazy { private val adapter by lazy {
WorkingItemAdapter(list) TunnelWorkingRecordItemAdapter(list)
} }
override fun initView(savedInstanceState: Bundle?) { override fun initView(savedInstanceState: Bundle?) {
@@ -66,38 +66,38 @@ class WorkingFaceDetail2Activity :
private fun loadFaceDetail(it: TunnelWorkingFaceEntity) { private fun loadFaceDetail(it: TunnelWorkingFaceEntity) {
mBinding.toolbarLay.title = it.surfaceName mBinding.toolbarLay.title = it.surfaceName
list.clear() list.clear()
list.add(WorkingFaceItem(pageType = 0, name = "工作面名称", value = it.surfaceName)) list.add(TunnelWorkingRecordItem(pageType = 0, name = "工作面名称", value = it.surfaceName))
list.add(WorkingFaceItem(pageType = 0, name = "所属煤层", value = it.seamName)) list.add(TunnelWorkingRecordItem(pageType = 0, name = "所属煤层", value = it.seamName))
list.add(WorkingFaceItem(pageType = 0, name = "所属采区域", value = it.areaName)) list.add(TunnelWorkingRecordItem(pageType = 0, name = "所属采区域", value = it.areaName))
list.add(WorkingFaceItem(pageType = 0, name = "工作面方位角", value = it.surfaceAzimuth)) list.add(TunnelWorkingRecordItem(pageType = 0, name = "工作面方位角", value = it.surfaceAzimuth))
list.add(WorkingFaceItem(pageType = 0, name = "工作面巷高", value = it.surfaceHeight)) list.add(TunnelWorkingRecordItem(pageType = 0, name = "工作面巷高", value = it.surfaceHeight))
list.add(WorkingFaceItem(pageType = 0, name = "工作面巷宽", value = it.surfaceWidth)) list.add(TunnelWorkingRecordItem(pageType = 0, name = "工作面巷宽", value = it.surfaceWidth))
list.add(WorkingFaceItem(pageType = 0, name = "巷道性质", value = it.tunnelNature)) list.add(TunnelWorkingRecordItem(pageType = 0, name = "巷道性质", value = it.tunnelNature))
list.add( list.add(
WorkingFaceItem( TunnelWorkingRecordItem(
pageType = 0, pageType = 0,
name = "计划工期", name = "计划工期",
value = "${it.planStartDate} ~ ${it.planEndDate}" value = "${it.planStartDate} ~ ${it.planEndDate}"
) )
) )
list.add(WorkingFaceItem(pageType = 0, name = "地质类型", value = it.geologicalType)) list.add(TunnelWorkingRecordItem(pageType = 0, name = "地质类型", value = it.geologicalType))
list.add( list.add(
WorkingFaceItem( TunnelWorkingRecordItem(
pageType = 0, pageType = 0,
name = "水文地质类型", name = "水文地质类型",
value = it.hydrogeologicalType value = it.hydrogeologicalType
) )
) )
list.add(WorkingFaceItem(pageType = 0, name = "煤层发火性", value = it.seamIgnition)) list.add(TunnelWorkingRecordItem(pageType = 0, name = "煤层发火性", value = it.seamIgnition))
list.add(WorkingFaceItem(pageType = 0, name = "瓦斯含量", value = it.seamGas)) list.add(TunnelWorkingRecordItem(pageType = 0, name = "瓦斯含量", value = it.seamGas))
list.add( list.add(
WorkingFaceItem( TunnelWorkingRecordItem(
pageType = 0, pageType = 0,
name = "冲击地压危险性", name = "冲击地压危险性",
value = it.seamBumpPressure value = it.seamBumpPressure
) )
) )
list.add(WorkingFaceItem(pageType = 0, name = "支护形式", value = it.surfaceSupportForm)) list.add(TunnelWorkingRecordItem(pageType = 0, name = "支护形式", value = it.surfaceSupportForm))
adapter.notifyDataSetChanged() adapter.notifyDataSetChanged()
} }
@@ -7,10 +7,10 @@ import android.view.View
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.zmkg.coaloperation.R import com.zmkg.coaloperation.R
import com.zmkg.coaloperation.adapter.WorkingItemAdapter import com.zmkg.coaloperation.adapter.TunnelWorkingRecordItemAdapter
import com.zmkg.coaloperation.base.BaseVMBActivity import com.zmkg.coaloperation.base.BaseVMBActivity
import com.zmkg.coaloperation.base.viewmodel.TestViewModel import com.zmkg.coaloperation.base.viewmodel.TestViewModel
import com.zmkg.coaloperation.bean.WorkingFaceItem import com.zmkg.coaloperation.bean.TunnelWorkingRecordItem
import com.zmkg.coaloperation.databinding.ActivityWorkingFaceRecordBinding import com.zmkg.coaloperation.databinding.ActivityWorkingFaceRecordBinding
import com.zmkg.coaloperation.db.entiry.tunnel.TunnelWorkingFaceRecordEntity import com.zmkg.coaloperation.db.entiry.tunnel.TunnelWorkingFaceRecordEntity
import com.zmkg.coaloperation.db.viewmodel.TunnelRoofLithologyViewModel import com.zmkg.coaloperation.db.viewmodel.TunnelRoofLithologyViewModel
@@ -33,13 +33,13 @@ class WorkingFaceRecordActivity :
private var faceName: String? = null private var faceName: String? = null
private var faceRecord: TunnelWorkingFaceRecordEntity? = null private var faceRecord: TunnelWorkingFaceRecordEntity? = null
private val list: MutableList<WorkingFaceItem> = mutableListOf() private val list: MutableList<TunnelWorkingRecordItem> = mutableListOf()
private val roofLithologyViewModel: TunnelRoofLithologyViewModel by lazy { private val roofLithologyViewModel: TunnelRoofLithologyViewModel by lazy {
ViewModelProvider(this)[TunnelRoofLithologyViewModel::class.java] ViewModelProvider(this)[TunnelRoofLithologyViewModel::class.java]
} }
private val adapter by lazy { private val adapter by lazy {
WorkingItemAdapter(list) TunnelWorkingRecordItemAdapter(list)
} }
override fun initView(savedInstanceState: Bundle?) { override fun initView(savedInstanceState: Bundle?) {
@@ -75,26 +75,26 @@ class WorkingFaceRecordActivity :
@SuppressLint("NotifyDataSetChanged") @SuppressLint("NotifyDataSetChanged")
private fun loadFaceRecord(it: TunnelWorkingFaceRecordEntity) { private fun loadFaceRecord(it: TunnelWorkingFaceRecordEntity) {
list.clear() list.clear()
list.add(WorkingFaceItem(pageType = 1, name = "工作面名称", value = faceName)) list.add(TunnelWorkingRecordItem(pageType = 1, name = "工作面名称", value = faceName))
list.add(WorkingFaceItem(pageType = 1, name = "施工日期", value = it.workingDate)) list.add(TunnelWorkingRecordItem(pageType = 1, name = "施工日期", value = it.workingDate))
list.add( list.add(
WorkingFaceItem( TunnelWorkingRecordItem(
pageType = 1, pageType = 1,
name = "施工班次", name = "施工班次",
value = DictUtils.getTeamShift(it.teamShift) value = DictUtils.getTeamShift(it.teamShift)
) )
) )
list.add(WorkingFaceItem(pageType = 1, name = "施工队伍", value = it.teamName)) list.add(TunnelWorkingRecordItem(pageType = 1, name = "施工队伍", value = it.teamName))
list.add(WorkingFaceItem(pageType = 1, name = "带班队长", value = it.teamLeader)) list.add(TunnelWorkingRecordItem(pageType = 1, name = "带班队长", value = it.teamLeader))
list.add(WorkingFaceItem(pageType = 1, name = "本班进尺", value = it.workingFootage)) list.add(TunnelWorkingRecordItem(pageType = 1, name = "本班进尺", value = it.workingFootage))
// val rockList = mutableListOf<TunnelRoofLithologyEntity>() // val rockList = mutableListOf<TunnelRoofLithologyEntity>()
// rockList.add(RockItem(startLen = 0, endLen = 1, rockType = "泥")) // rockList.add(RockItem(startLen = 0, endLen = 1, rockType = "泥"))
// rockList.add(RockItem(startLen = 0, endLen = 1, rockType = "砂")) // rockList.add(RockItem(startLen = 0, endLen = 1, rockType = "砂"))
list.add(WorkingFaceItem(pageType = 1, name = "顶板岩性", value = "", items = null)) list.add(TunnelWorkingRecordItem(pageType = 1, name = "顶板岩性", value = "", items = null))
list.add(WorkingFaceItem(pageType = 1, name = "煤层倾角", value = it.seamDip)) list.add(TunnelWorkingRecordItem(pageType = 1, name = "煤层倾角", value = it.seamDip))
list.add(WorkingFaceItem(pageType = 1, name = "煤层高", value = it.seamHeight)) list.add(TunnelWorkingRecordItem(pageType = 1, name = "煤层高", value = it.seamHeight))
list.add(WorkingFaceItem(pageType = 1, name = "记录人", value = it.recordPerson)) list.add(TunnelWorkingRecordItem(pageType = 1, name = "记录人", value = it.recordPerson))
adapter.notifyDataSetChanged() adapter.notifyDataSetChanged()
} }
@@ -12,7 +12,7 @@ import com.zmkg.coaloperation.db.viewmodel.TunnelRoofLithologyViewModel
import com.zmkg.coaloperation.db.viewmodel.TunnelWorkingFaceRecordViewModel import com.zmkg.coaloperation.db.viewmodel.TunnelWorkingFaceRecordViewModel
import com.zmkg.coaloperation.adapter.TunnelingRockNatureAdapter import com.zmkg.coaloperation.adapter.TunnelingRockNatureAdapter
import com.zmkg.coaloperation.databinding.ActivityWorkingFaceStatisticsBinding import com.zmkg.coaloperation.databinding.ActivityWorkingFaceStatisticsBinding
import com.zmkg.coaloperation.ui.tunneling.bean.FaceWorkDetailBean import com.zmkg.coaloperation.bean.FaceWorkDetailBean
import com.zmkg.coaloperation.ui.tunneling.viewmodel.TunnelingViewModel import com.zmkg.coaloperation.ui.tunneling.viewmodel.TunnelingViewModel
import com.zmkg.coaloperation.utils.ScreenUtil import com.zmkg.coaloperation.utils.ScreenUtil
import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.Subscribe
@@ -107,12 +107,12 @@ class WorkingFaceStatisticsActivity :
override fun bindEvent() { override fun bindEvent() {
mBinding.toolbarLay.titleTvRight.setOnClickListener { mBinding.toolbarLay.titleTvRight.setOnClickListener {
toActivity(WorkingFaceDetail2Activity::class.java, Bundle().apply { toActivity(WorkingFaceDetailActivity::class.java, Bundle().apply {
// putSerializable( // putSerializable(
// WorkingFaceDetail2Activity.FACE_WORK_DETAIL_DATA, // WorkingFaceDetail2Activity.FACE_WORK_DETAIL_DATA,
// mViewModel.faceWorkDetailData.value as Serializable // mViewModel.faceWorkDetailData.value as Serializable
// ) // )
putParcelable(WorkingFaceDetail2Activity.FACE_WORK_DETAIL_DATA, faceDetail) putParcelable(WorkingFaceDetailActivity.FACE_WORK_DETAIL_DATA, faceDetail)
}) })
} }
} }
@@ -5,11 +5,7 @@ import com.zmkg.coaloperation.data.repository.HomeRepository
import com.zmkg.coaloperation.db.entiry.tunnel.TunnelWorkingFaceEntity import com.zmkg.coaloperation.db.entiry.tunnel.TunnelWorkingFaceEntity
import com.zmkg.coaloperation.superfuntion.handleRequest import com.zmkg.coaloperation.superfuntion.handleRequest
import com.zmkg.coaloperation.superfuntion.launch import com.zmkg.coaloperation.superfuntion.launch
import com.zmkg.coaloperation.ui.tunneling.bean.FaceWorkDetailBean
import com.zmkg.coaloperation.ui.tunneling.bean.TunnelingFaceAddBean
import com.zmkg.coaloperation.ui.tunneling.bean.TunnelingHomeItemBean
import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.MutableStateFlow
/** /**
@@ -19,11 +15,11 @@ class TunnelingViewModel : BaseViewModel() {
// var tunnelingHomeList = MutableSharedFlow<MutableList<TunnelingHomeBean>?>() // var tunnelingHomeList = MutableSharedFlow<MutableList<TunnelingHomeBean>?>()
var tunnelingHomeItemList = MutableSharedFlow<MutableList<TunnelingHomeItemBean>?>() // var tunnelingHomeItemList = MutableSharedFlow<MutableList<TunnelingHomeItemBean>?>()
var tunnelingWorkFaceAdd = MutableSharedFlow<Boolean>()//新增面 // var tunnelingWorkFaceAdd = MutableSharedFlow<Boolean>()//新增面
var faceWorkDetailData = MutableStateFlow<FaceWorkDetailBean?>(null)//面详情 // var faceWorkDetailData = MutableStateFlow<FaceWorkDetailBean?>(null)//面详情
//
var itemIndex = MutableStateFlow(0)//item的下标 // var itemIndex = MutableStateFlow(0)//item的下标
override fun init() { override fun init() {
} }
@@ -42,44 +38,44 @@ class TunnelingViewModel : BaseViewModel() {
// ) // )
// } // }
fun getTunnelingHomeItemData(index: Int,surfaceId: String?) { // fun getTunnelingHomeItemData(index: Int,surfaceId: String?) {
launch( // launch(
{ // {
itemIndex.emit(index) // itemIndex.emit(index)
handleRequest( // handleRequest(
HomeRepository.getTunnelingHomeItemData(surfaceId), // HomeRepository.getTunnelingHomeItemData(surfaceId),
successBlock = { // successBlock = {
tunnelingHomeItemList.emit(it.data)
})
}
)
}
fun getTunnelingSurfaceDetail(surfaceId: String?) {
launch(
{
handleRequest(
HomeRepository.getTunnelingSurfaceDetail(surfaceId),
successBlock = {
// tunnelingHomeItemList.emit(it.data) // tunnelingHomeItemList.emit(it.data)
faceWorkDetailData.emit(it.data) //
}) // })
} // }
) // )
} // }
//
fun postTunnellingSurfaceAdd(tunnelingFaceAddBean: TunnelingFaceAddBean) { // fun getTunnelingSurfaceDetail(surfaceId: String?) {
launch( // launch(
{ // {
handleRequest( // handleRequest(
HomeRepository.postTunnellingSurfaceAdd(tunnelingFaceAddBean), // HomeRepository.getTunnelingSurfaceDetail(surfaceId),
successBlock = { // successBlock = {
tunnelingWorkFaceAdd.emit(true) //// tunnelingHomeItemList.emit(it.data)
}) // faceWorkDetailData.emit(it.data)
} // })
) // }
} // )
// }
//
// fun postTunnellingSurfaceAdd(tunnelingFaceAddBean: TunnelingFaceAddBean) {
// launch(
// {
// handleRequest(
// HomeRepository.postTunnellingSurfaceAdd(tunnelingFaceAddBean),
// successBlock = {
// tunnelingWorkFaceAdd.emit(true)
// })
// }
// )
// }
var tunnelFaceAndRecordList = MutableSharedFlow<MutableList<TunnelWorkingFaceEntity>?>() var tunnelFaceAndRecordList = MutableSharedFlow<MutableList<TunnelWorkingFaceEntity>?>()
@@ -3,7 +3,7 @@ package com.zmkg.coaloperation.utils
import android.util.Log import android.util.Log
import com.google.gson.internal.LazilyParsedNumber import com.google.gson.internal.LazilyParsedNumber
import com.zmkg.coaloperation.bean.WorkOption import com.zmkg.coaloperation.bean.WorkOption
import com.zmkg.coaloperation.ui.tunneling.bean.DictBean import com.zmkg.coaloperation.bean.DictBean
object DictUtils { object DictUtils {
@@ -54,4 +54,32 @@ fun SharedPreferences.put(vararg pairs: Pair<String, Any>) {
} }
} }
} }
} }
/**
* 格式化小数字符串
* 如果小数点后都是零,则去掉小数点和小数部分,否则返回原始字符串
*
* @return 格式化后的字符串
*/
fun String.formatDecimalString(): String {
// 检查字符串是否包含小数点
if (!this.contains('.')) {
return this
}
// 尝试分割整数和小数部分
val parts = this.split('.')
if (parts.size != 2) {
return this
}
// 检查小数部分是否全部为零
val decimalPart = parts[1]
val isAllZeros = decimalPart.all { it == '0' }
return if (isAllZeros) {
parts[0] // 返回整数部分
} else {
this // 返回原始字符串
}
}
@@ -28,7 +28,7 @@
android:layout_marginBottom="10dp" android:layout_marginBottom="10dp"
tools:itemCount="20" tools:itemCount="20"
android:overScrollMode="never" android:overScrollMode="never"
tools:listitem="@layout/list_item_working_face" tools:listitem="@layout/list_item_tunnel_working_record_item"
android:background="@drawable/bg_stroke_gray"/> android:background="@drawable/bg_stroke_gray"/>
</LinearLayout> </LinearLayout>
@@ -28,7 +28,7 @@
android:layout_marginBottom="10dp" android:layout_marginBottom="10dp"
tools:itemCount="10" tools:itemCount="10"
android:overScrollMode="never" android:overScrollMode="never"
tools:listitem="@layout/list_item_working_face" tools:listitem="@layout/list_item_tunnel_working_record_item"
android:background="@drawable/bg_stroke_gray"/> android:background="@drawable/bg_stroke_gray"/>
</LinearLayout> </LinearLayout>