diff --git a/coalMiningApp/app/build.gradle b/coalMiningApp/app/build.gradle
index fb10295..9acea61 100644
--- a/coalMiningApp/app/build.gradle
+++ b/coalMiningApp/app/build.gradle
@@ -26,6 +26,8 @@ android {
arg("room.schemaLocation", "$projectDir/schemas")
}
}
+ // 设置输出APK文件名格式
+ setProperty("archivesBaseName", "煤矿数采终端v${versionName}")
}
signingConfigs{
@@ -105,4 +107,7 @@ dependencies {
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1"
implementation 'com.google.code.gson:gson:2.10.1'
+ implementation("org.apache.poi:poi:5.2.3")
+ implementation("org.apache.poi:poi-ooxml:5.2.3")
+
}
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/AndroidManifest.xml b/coalMiningApp/app/src/main/AndroidManifest.xml
index 371d9d2..fe52274 100644
--- a/coalMiningApp/app/src/main/AndroidManifest.xml
+++ b/coalMiningApp/app/src/main/AndroidManifest.xml
@@ -3,7 +3,11 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.zmkg.coaloperation">
-
+
+
+
+
+
+
+
+
+
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/TunnelWorkingFaceAdapter.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/TunnelWorkingFaceAdapter.kt
index 53bb06e..d0f16f3 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/TunnelWorkingFaceAdapter.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/TunnelWorkingFaceAdapter.kt
@@ -49,6 +49,9 @@ class TunnelWorkingFaceAdapter(var list: MutableList) :
binding.llFaceRecord.let {
if (item.isExpandRecord) it.visible() else it.gone()
}
+ binding.ivFlagEdit.let {
+ if (item.dataState == "1") it.visible() else it.gone()
+ }
binding.ivExpandRecord.setImageResource(
if (item.isExpandRecord) R.drawable.ic_arrow_down_white else R.drawable.ic_arrow_right_gray
)
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/TunnelWorkingFaceRecordAdapter.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/TunnelWorkingFaceRecordAdapter.kt
index cd751cb..50ba583 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/TunnelWorkingFaceRecordAdapter.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/TunnelWorkingFaceRecordAdapter.kt
@@ -10,6 +10,8 @@ import com.zmkg.coaloperation.R
import com.zmkg.coaloperation.db.entiry.tunnel.TunnelWorkingFaceRecordEntity
import androidx.core.graphics.toColorInt
import com.zmkg.coaloperation.databinding.ListItemTunnelWorkingFaceRecordBinding
+import com.zmkg.coaloperation.utils.gone
+import com.zmkg.coaloperation.utils.visible
class TunnelWorkingFaceRecordAdapter(var list: MutableList) :
BaseQuickAdapter(
@@ -50,6 +52,11 @@ class TunnelWorkingFaceRecordAdapter(var list: MutableList?=null,
+ var recordList: MutableList?=null,
+ var lithologyList: MutableList?=null
+)
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/TunnelingBean.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/TunnelingBean.kt
index 04d33c8..990d01f 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/TunnelingBean.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/TunnelingBean.kt
@@ -33,60 +33,60 @@ import java.io.Serializable
// val seamBumpPressure: String?,
// val surfaceSupportForm: String?
//)
-
-class TunnelingHomeItemBean {
- var createBy: String? = null
- var createTime: String? = null
- var updateBy: String? = null
- var updateTime: String? = null
- var remark: String? = null
- var recordId: String? = null
- var surfaceId: String? = null
- var workingDate: String? = null
- var teamShift: String? = null
- var teamId: String? = null
- var teamName: String? = null
- var teamLeader: String? = null
- var workingFootage: String? = null
- var seamDip: String? = null
- var seamHeight: String? = null
- var waterYield: String? = null
- var recordPerson: String? = null
- var mineWorkingLith: String? = null
-}
-
-/**
- * 新增工作面 给接口的数据
- */
-data class TunnelingFaceAddBean(
-
- val surfaceName: String? = null,
- val totalFootage: String? = null,
-
- val areaId: Int? = null,
- val areaName: String? = null,
- val createBy: String? = null,
- val createTime: String? = null,
- val geologicalType: String? = null,
- val hydrogeologicalType: String? = null,
- val params: Params? = null,
- val planEndDate: String? = null,
- val planStartDate: String? = null,
- val remark: String? = null,
- val seamBumpPressure: String? = null,
- val seamGas: String? = null,
- val seamId: Int? = null,
- val seamIgnition: String? = null,
- val seamName: String? = null,
- val surfaceAzimuth: String? = null,
- val surfaceHeight: String? = null,
- val surfaceId: Int? = null,
- val surfaceSupportForm: String? = null,
- val surfaceWidth: String? = null,
- val tunnelNature: String? = null,
- val updateBy: String? = null,
- val updateTime: String? = null
-)
+//
+//class TunnelingHomeItemBean {
+// var createBy: String? = null
+// var createTime: String? = null
+// var updateBy: String? = null
+// var updateTime: String? = null
+// var remark: String? = null
+// var recordId: String? = null
+// var surfaceId: String? = null
+// var workingDate: String? = null
+// var teamShift: String? = null
+// var teamId: String? = null
+// var teamName: String? = null
+// var teamLeader: String? = null
+// var workingFootage: String? = null
+// var seamDip: String? = null
+// var seamHeight: String? = null
+// var waterYield: String? = null
+// var recordPerson: String? = null
+// var mineWorkingLith: String? = null
+//}
+//
+///**
+// * 新增工作面 给接口的数据
+// */
+//data class TunnelingFaceAddBean(
+//
+// val surfaceName: String? = null,
+// val totalFootage: String? = null,
+//
+// val areaId: Int? = null,
+// val areaName: String? = null,
+// val createBy: String? = null,
+// val createTime: String? = null,
+// val geologicalType: String? = null,
+// val hydrogeologicalType: String? = null,
+// val params: Params? = null,
+// val planEndDate: String? = null,
+// val planStartDate: String? = null,
+// val remark: String? = null,
+// val seamBumpPressure: String? = null,
+// val seamGas: String? = null,
+// val seamId: Int? = null,
+// val seamIgnition: String? = null,
+// val seamName: String? = null,
+// val surfaceAzimuth: String? = null,
+// val surfaceHeight: String? = null,
+// val surfaceId: Int? = null,
+// val surfaceSupportForm: String? = null,
+// val surfaceWidth: String? = null,
+// val tunnelNature: String? = null,
+// val updateBy: String? = null,
+// val updateTime: String? = null
+//)
data class Params(
val additionalProp1: String? = null,
@@ -98,73 +98,73 @@ data class Params(
/**
* 工作面详情
*/
-data class FaceWorkDetailBean(
- val accumulativeFootage: Int,
- val areaId: Int,
- val areaName: String,
- val createBy: String,
- val createTime: String,
- val geologicalType: String,
- val hydrogeologicalType: String,
- val latestRecord: LatestRecord,
- val params: Params,
- val planEndDate: String,
- val planStartDate: String,
- val remainingFootage: Int,
- val remark: String,
- val seamBumpPressure: String,
- val seamGas: String,
- val seamId: Int,
- val seamIgnition: String,
- val seamName: String,
- val surfaceAzimuth: String,
- val surfaceHeight: String,
- val surfaceId: Int,
- val surfaceName: String,
- val surfaceSupportForm: String,
- val surfaceWidth: String,
- val totalFootage: Int,
- val tunnelNature: String,
- val updateBy: String,
- val updateTime: String,
- val yesterdayFootage: String,
- val monthFootage: String
-): Serializable
+//data class FaceWorkDetailBean(
+// val accumulativeFootage: Int,
+// val areaId: Int,
+// val areaName: String,
+// val createBy: String,
+// val createTime: String,
+// val geologicalType: String,
+// val hydrogeologicalType: String,
+// val latestRecord: LatestRecord,
+// val params: Params,
+// val planEndDate: String,
+// val planStartDate: String,
+// val remainingFootage: Int,
+// val remark: String,
+// val seamBumpPressure: String,
+// val seamGas: String,
+// val seamId: Int,
+// val seamIgnition: String,
+// val seamName: String,
+// val surfaceAzimuth: String,
+// val surfaceHeight: String,
+// val surfaceId: Int,
+// val surfaceName: String,
+// val surfaceSupportForm: String,
+// val surfaceWidth: String,
+// val totalFootage: Int,
+// val tunnelNature: String,
+// val updateBy: String,
+// val updateTime: String,
+// val yesterdayFootage: String,
+// val monthFootage: String
+//): Serializable
-data class LatestRecord(
- val createBy: String,
- val createTime: String,
- val mineWorkingLithologyList: MutableList,
- val params: Params,
- val recordId: Int,
- val recordPerson: String,
- val remark: String,
- val seamDip: Int,
- val seamHeight: Int,
- val surfaceId: Int,
- val surfaceName: String,
- val teamId: Int,
- val teamLeader: String,
- val teamName: String,
- val teamShift: Int,
- val updateBy: String,
- val updateTime: String,
- val waterYield: Int,
- val workingDate: String,
- val workingFootage: Int
-):Serializable
+//data class LatestRecord(
+// val createBy: String,
+// val createTime: String,
+// val mineWorkingLithologyList: MutableList,
+// val params: Params,
+// val recordId: Int,
+// val recordPerson: String,
+// val remark: String,
+// val seamDip: Int,
+// val seamHeight: Int,
+// val surfaceId: Int,
+// val surfaceName: String,
+// val teamId: Int,
+// val teamLeader: String,
+// val teamName: String,
+// val teamShift: Int,
+// val updateBy: String,
+// val updateTime: String,
+// val waterYield: Int,
+// val workingDate: String,
+// val workingFootage: Int
+//):Serializable
-
-data class MineWorkingLithology(
- val createBy: String,
- val createTime: String,
- val lithologyId: Int,
- val lithologyType: String,
- val params: Params,
- val positionEnd: Int,
- val positionStart: Int,
- val recordId: Int,
- val remark: String,
- val updateBy: String,
- val updateTime: String
-):Serializable
\ No newline at end of file
+//
+//data class MineWorkingLithology(
+// val createBy: String,
+// val createTime: String,
+// val lithologyId: Int,
+// val lithologyType: String,
+// val params: Params,
+// val positionEnd: Int,
+// val positionStart: Int,
+// val recordId: Int,
+// val remark: String,
+// val updateBy: String,
+// val updateTime: String
+//):Serializable
\ 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 2bb3bb8..39f3cbd 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
@@ -3,7 +3,6 @@ package com.zmkg.coaloperation.data.api
import com.zmkg.coaloperation.data.bean.ApiResponse
import com.zmkg.coaloperation.db.entiry.tunnel.TunnelWorkingFaceEntity
import com.zmkg.coaloperation.retorfit.UrlConfig
-import com.zmkg.coaloperation.bean.FaceWorkDetailBean
import com.zmkg.coaloperation.ui.home.bean.WaterLedgerBean
import okhttp3.RequestBody
import retrofit2.http.Body
@@ -35,17 +34,17 @@ interface HomeApi {
// @GET("/api/mine/tunnelling/surface/record/{recordId}")
// suspend fun getTunnelingHomeItemData(@Path("recordId") recordId: String?): ApiResponse>
- /**
- * 掘进-工作面详情
- */
- @GET("/api/mine/tunnelling/surface/detail/{surfaceId}")
- suspend fun getTunnelingSurfaceDetail(@Path("surfaceId") surfaceId: String?): ApiResponse
+// /**
+// * 掘进-工作面详情
+// */
+// @GET("/api/mine/tunnelling/surface/detail/{surfaceId}")
+// suspend fun getTunnelingSurfaceDetail(@Path("surfaceId") surfaceId: String?): ApiResponse
/**
* 掘进-新增工作面
*/
- @POST("/api/mine/tunnelling/surface/add")
- suspend fun postTunnellingSurfaceAdd(@Body requestBody: RequestBody): ApiResponse
+// @POST("/api/mine/tunnelling/surface/add")
+// suspend fun postTunnellingSurfaceAdd(@Body requestBody: RequestBody): ApiResponse
@GET("/api/mine/tunnelling/surface/detailList")
suspend fun getTunnelHomeList(): ApiResponse?>
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/db/dao/TunnelWorkingFaceDao.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/db/dao/TunnelWorkingFaceDao.kt
index 3266ae4..84cb629 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/db/dao/TunnelWorkingFaceDao.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/db/dao/TunnelWorkingFaceDao.kt
@@ -20,10 +20,10 @@ interface TunnelWorkingFaceDao {
@Update
fun update(entity: TunnelWorkingFaceEntity)
- @Query("SELECT * FROM tunnel_working_face ORDER BY createTime ASC")
+ @Query("SELECT * FROM tunnel_working_face ORDER BY createTime DESC")
fun getEntityList(): MutableList?
- @Query("SELECT * FROM tunnel_working_face WHERE dataState = :dataState ORDER BY createTime ASC")
+ @Query("SELECT * FROM tunnel_working_face WHERE dataState = :dataState ORDER BY createTime DESC")
fun getEntityListByState(dataState: String): MutableList?
@Query("SELECT * FROM tunnel_working_face WHERE surfaceId = :surfaceId")
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/db/dao/TunnelWorkingFaceRecordDao.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/db/dao/TunnelWorkingFaceRecordDao.kt
index 2aba4c4..edc19e7 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/db/dao/TunnelWorkingFaceRecordDao.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/db/dao/TunnelWorkingFaceRecordDao.kt
@@ -21,16 +21,16 @@ interface TunnelWorkingFaceRecordDao {
@Update
fun update(entity: TunnelWorkingFaceRecordEntity)
- @Query("SELECT * FROM tunnel_working_face_record WHERE surfaceId = :surfaceId ORDER BY createTime ASC")
+ @Query("SELECT * FROM tunnel_working_face_record WHERE surfaceId = :surfaceId ORDER BY createTime DESC")
fun getEntityList(surfaceId: Long): MutableList?
- @Query("SELECT * FROM tunnel_working_face_record WHERE dataState = :dataState ORDER BY createTime ASC")
+ @Query("SELECT * FROM tunnel_working_face_record WHERE dataState = :dataState ORDER BY createTime DESC")
fun getEntityListByState(dataState: String): MutableList?
@Query("SELECT * FROM tunnel_working_face_record WHERE surfaceId = :recordId")
fun getEntityById(recordId: Long): TunnelWorkingFaceRecordEntity
- @Query("SELECT * FROM tunnel_working_face_record WHERE surfaceId = :surfaceId AND latestRecordState = '1' ORDER BY createTime ASC LIMIT 1")
+ @Query("SELECT * FROM tunnel_working_face_record WHERE surfaceId = :surfaceId AND latestRecordState = '1' ORDER BY createTime DESC LIMIT 1")
fun getLastEntity(surfaceId: Long): TunnelWorkingFaceRecordEntity?
@Query("DELETE FROM tunnel_working_face_record")
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 0c70aed..81ece71 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
@@ -10,17 +10,23 @@ import com.zmkg.coaloperation.R
import com.zmkg.coaloperation.adapter.TunnelRoofLithologyAdapter
import com.zmkg.coaloperation.base.BaseVMBActivity
import com.zmkg.coaloperation.base.viewmodel.TestViewModel
+import com.zmkg.coaloperation.bean.TunnelWorkingItem
import com.zmkg.coaloperation.databinding.ActivityAddWorkingFaceRecordBinding
import com.zmkg.coaloperation.db.entiry.tunnel.TunnelRoofLithologyEntity
import com.zmkg.coaloperation.db.entiry.tunnel.TunnelWorkingFaceRecordEntity
import com.zmkg.coaloperation.db.viewmodel.TunnelRoofLithologyViewModel
import com.zmkg.coaloperation.db.viewmodel.TunnelWorkingFaceRecordViewModel
+import com.zmkg.coaloperation.superfuntion.hideLoading
+import com.zmkg.coaloperation.superfuntion.showLoading
import com.zmkg.coaloperation.superfuntion.toJson
import com.zmkg.coaloperation.utils.DateTimeUtil
import com.zmkg.coaloperation.utils.DictUtils
+import com.zmkg.coaloperation.utils.ExcelExportUtils
+import com.zmkg.coaloperation.utils.FileUtils
import com.zmkg.coaloperation.utils.KeyboardUtil
import com.zmkg.coaloperation.utils.PickerUtil
import com.zmkg.coaloperation.utils.clickWithDebounce
+import com.zmkg.coaloperation.utils.formatDecimalString
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
@@ -115,13 +121,19 @@ class AddWorkingFaceRecordActivity :
mBinding.btnSave.clickWithDebounce {
if (showType == 0) {
- saveFaceRecord()
+ judgeInputParam {
+ saveFaceRecord()
+ }
return@clickWithDebounce
}
- updateFaceRecord()
+ judgeInputParam {
+ updateFaceRecord()
+ }
}
mBinding.btnExport.clickWithDebounce {
- showToast("开发中……")
+ judgeInputParam {
+ exportExcelFile()
+ }
}
mBinding.rvLithology.let {
@@ -169,46 +181,6 @@ class AddWorkingFaceRecordActivity :
}
private fun saveFaceRecord() {
- if (mBinding.tvWorkingDate.text.isBlank()) {
- showToast("请选择施工日期")
- return
- }
- if (mBinding.tvTeamShift.text.isBlank()) {
- showToast("请选择施工班次")
- return
- }
- if (mBinding.tvWorkTeam.text.isBlank()) {
- showToast("请选择施工队伍")
- return
- }
- if (mBinding.etTeamLeader.text.isBlank()) {
- showToast("请输入带班队长")
- return
- }
- if (mBinding.etWorkingFootage.text.isBlank()) {
- showToast("请输入本班进尺")
- return
- }
- if (mBinding.etSeamDip.text.isBlank()) {
- showToast("请输入煤层倾角")
- return
- }
- if (mBinding.etSeamHeight.text.isBlank()) {
- showToast("请输入煤层高")
- return
- }
- if (mBinding.etRecordPerson.text.isBlank()) {
- showToast("请输入填写人")
- return
- }
- val emptyDataList = roofLithologyList.filter {
- it.positionStart.isBlank() || it.positionEnd.isBlank() || it.lithologyType.isBlank()
- }
- if (emptyDataList.isNotEmpty()) {
- showToast("顶板岩性中存在部分编录点数据为空")
- return
- }
-
val faceRecord = TunnelWorkingFaceRecordEntity().also {
it.recordId = recordId
it.surfaceId = surfaceId
@@ -218,9 +190,9 @@ class AddWorkingFaceRecordActivity :
it.teamId = mBinding.tvWorkTeam.tag.toString()
it.teamLeader = mBinding.etTeamLeader.text.toString().trim()
- it.workingFootage = mBinding.etWorkingFootage.text.toString().trim()
- it.seamDip = mBinding.etSeamDip.text.toString().trim()
- it.seamHeight = mBinding.etSeamHeight.text.toString().trim()
+ 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.recordPerson = mBinding.etRecordPerson.text.toString().trim()
it.createTime = DateTimeUtil.formatDateTime(LocalDateTime.now())
@@ -230,8 +202,8 @@ class AddWorkingFaceRecordActivity :
Log.d(TAG, "saveFaceRecord: ${roofLithologyList.toJson()}")
workingFaceRecordViewModel.insert(faceRecord) {
- EventBus.getDefault().post(faceRecord)
roofLithologyViewModel.insertList(roofLithologyList) {
+ EventBus.getDefault().post(faceRecord)
finish()
}
}
@@ -263,18 +235,18 @@ class AddWorkingFaceRecordActivity :
it.teamId = mBinding.tvWorkTeam.tag.toString()
it.teamLeader = mBinding.etTeamLeader.text.toString().trim()
- it.workingFootage = mBinding.etWorkingFootage.text.toString().trim()
- it.seamDip = mBinding.etSeamDip.text.toString().trim()
- it.seamHeight = mBinding.etSeamHeight.text.toString().trim()
+ 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.recordPerson = mBinding.etRecordPerson.text.toString().trim()
it.createTime = DateTimeUtil.formatDateTime(LocalDateTime.now())
it.dataState = "1"
}
workingFaceRecordViewModel.update(faceRecord) {
- EventBus.getDefault().post(faceRecord)
roofLithologyViewModel.deleteList(recordId) {
roofLithologyViewModel.insertList(roofLithologyList) {
+ EventBus.getDefault().post(faceRecord)
finish()
}
}
@@ -286,4 +258,89 @@ class AddWorkingFaceRecordActivity :
}
+ private fun judgeInputParam(acton:()-> Unit) {
+ list.clear()
+ list.add(TunnelWorkingItem(name = "工作面名称", value = faceName))
+
+ val workingDate = mBinding.tvWorkingDate.text.toString().trim()
+ if (workingDate.isBlank()) {
+ showToast("请选择施工日期")
+ return
+ }
+ list.add(TunnelWorkingItem(name = "施工日期", value = workingDate))
+
+ val teamShift = mBinding.tvTeamShift.text.toString().trim()
+ if (teamShift.isBlank()) {
+ showToast("请选择施工班次")
+ return
+ }
+ list.add(TunnelWorkingItem(name = "施工班次", value = teamShift))
+
+ val workTeam = mBinding.tvWorkTeam.text.toString().trim()
+ if (workTeam.isBlank()) {
+ showToast("请选择施工队伍")
+ return
+ }
+ list.add(TunnelWorkingItem(name = "施工队伍", value = workTeam))
+
+ val teamLeader = mBinding.etTeamLeader.text.toString().trim()
+ if (teamLeader.isBlank()) {
+ showToast("请输入带班队长")
+ return
+ }
+ list.add(TunnelWorkingItem(name = "带班队长", value = teamLeader))
+
+ val workingFootage = mBinding.etWorkingFootage.text.toString().trim().formatDecimalString()
+ if (workingFootage.isBlank()) {
+ showToast("请输入本班进尺")
+ return
+ }
+ list.add(TunnelWorkingItem(name = "本班进尺", value = workingFootage))
+
+ val seamDip = mBinding.etSeamDip.text.toString().trim().formatDecimalString()
+ if (seamDip.isBlank()) {
+ showToast("请输入煤层倾角")
+ return
+ }
+ list.add(TunnelWorkingItem(name = "煤层倾角", value = seamDip))
+
+ val seamHeight = mBinding.etSeamHeight.text.toString().trim().formatDecimalString()
+ if (seamHeight.isBlank()) {
+ showToast("请输入煤层高")
+ return
+ }
+ list.add(TunnelWorkingItem(name = "煤层高", value = seamHeight))
+
+ val recordPerson = mBinding.etRecordPerson.text.toString().trim()
+ if (recordPerson.isBlank()) {
+ showToast("请输入填写人")
+ return
+ }
+ list.add(TunnelWorkingItem(name = "记录人", value = recordPerson))
+
+ val emptyDataList = roofLithologyList.filter {
+ it.positionStart.isBlank() || it.positionEnd.isBlank() || it.lithologyType.isBlank()
+ }
+ if (emptyDataList.isNotEmpty()) {
+ showToast("顶板岩性中存在部分编录点数据为空")
+ return
+ }
+ list.add(TunnelWorkingItem(name = "顶板岩性", value = "", items = roofLithologyList))
+
+ acton()
+ }
+
+ private val list: MutableList = mutableListOf()
+ private fun exportExcelFile() {
+ showLoading()
+ val fileName = "${faceName}_${mBinding.tvWorkingDate.text}_${System.currentTimeMillis()}.xlsx"
+ val filePath = FileUtils.getFilePath(fileName)
+ ExcelExportUtils.exportToExcel(list, filePath) {
+ window.decorView.postDelayed({
+ hideLoading()
+ showToast("Excel导出完成")
+ }, 1500)
+ }
+ }
+
}
\ No newline at end of file
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 2076f43..99977b8 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
@@ -143,8 +143,8 @@ class TunnelingActivity :
val index = workingFaceList.indexOfFirst { it.surfaceId == event.surfaceId }
if (index == -1) {
//新增工作面
- val insertIndex = workingFaceList.size
- workingFaceList.add(event)
+ val insertIndex = 0
+ workingFaceList.add(0,event)
workingFaceAdapter.notifyItemInserted(insertIndex)
workingFaceAdapter.notifyItemRangeChanged(insertIndex, insertIndex+1)
return
@@ -166,15 +166,18 @@ class TunnelingActivity :
faceEntity.records?.let { records ->
val index = records.indexOfFirst { it.recordId == event.recordId }
if (index == -1) {
- records.add(event)
+ records.add(0,event)
} else {
records[index] = event
}
}
val recordAdapter = getRecordAdapter(position)
recordAdapter.notifyDataSetChanged()
+
+ workingFaceAdapter.notifyItemChanged(position)
}
+ @SuppressLint("SuspiciousIndentation")
private fun getRecordAdapter(position:Int):TunnelWorkingFaceRecordAdapter {
val viewHolder =
mBinding.rvList.findViewHolderForLayoutPosition(position) as TunnelWorkingFaceAdapter.VH
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 ad925f7..3595138 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
@@ -15,6 +15,7 @@ import com.zmkg.coaloperation.databinding.ActivityWorkingFaceRecordBinding
import com.zmkg.coaloperation.db.entiry.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.toJsonString
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
@@ -65,10 +66,6 @@ class WorkingFaceRecordActivity :
Log.d(TAG, "loadFaceRecord: ${faceRecord.toJsonString()}")
faceRecord?.let {
loadFaceRecord(it)
- roofLithologyViewModel.getEntityList(it.recordId) { lithologyEntities ->
- list[6].items = lithologyEntities
- adapter.notifyItemChanged(6)
- }
}
}
@@ -86,17 +83,23 @@ 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))
+ list.add(TunnelWorkingItem(pageType = 1, name = "本班进尺", value = "${it.workingFootage?.formatDecimalString()}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))
- list.add(TunnelWorkingItem(pageType = 1, name = "煤层高", value = it.seamHeight))
+ 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 = it.recordPerson))
adapter.notifyDataSetChanged()
+
+
+ roofLithologyViewModel.getEntityList(it.recordId) { lithologyEntities ->
+ list[6].items = lithologyEntities
+ adapter.notifyItemChanged(6)
+ }
}
override fun bindEvent() {
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/tunneling/activity/WorkingFaceStatisticsActivity.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/tunneling/activity/WorkingFaceStatisticsActivity.kt
index 605d66c..1d98e18 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/tunneling/activity/WorkingFaceStatisticsActivity.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/tunneling/activity/WorkingFaceStatisticsActivity.kt
@@ -12,7 +12,6 @@ import com.zmkg.coaloperation.db.viewmodel.TunnelRoofLithologyViewModel
import com.zmkg.coaloperation.db.viewmodel.TunnelWorkingFaceRecordViewModel
import com.zmkg.coaloperation.adapter.TunnelingRockNatureAdapter
import com.zmkg.coaloperation.databinding.ActivityWorkingFaceStatisticsBinding
-import com.zmkg.coaloperation.bean.FaceWorkDetailBean
import com.zmkg.coaloperation.ui.tunneling.viewmodel.TunnelingViewModel
import com.zmkg.coaloperation.utils.ScreenUtil
import com.zmkg.coaloperation.utils.formatDecimalString
@@ -91,7 +90,7 @@ class WorkingFaceStatisticsActivity :
workingFaceRecordViewModel.getLastEntity(detail.surfaceId) { record ->
record?.let {
mBinding.tvYesterdayLen.text = "${it.workingFootage?.formatDecimalString()}m"
- mBinding.tvWorkingFaceAngle.text = "${it.seamDip?.formatDecimalString()}"
+ mBinding.tvWorkingFaceAngle.text = "${it.seamDip?.formatDecimalString()}°"
// mBinding.tvMonthAccumulateLen.text = "${it.monthFootage}m"
mBinding.tvWorkingFaceWater.text = "${it.waterYield?.formatDecimalString()}"
@@ -134,9 +133,9 @@ class WorkingFaceStatisticsActivity :
// }
}
- private fun setDataView(bean: FaceWorkDetailBean?) {
- bean ?: return
- }
+// private fun setDataView(bean: FaceWorkDetailBean?) {
+// bean ?: return
+// }
private fun stringToDouble(numText: String?): Double {
if (numText.isNullOrEmpty() || numText.isBlank()) return 0.toDouble()
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 9f2fbc2..4fc71a3 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
@@ -9,6 +9,7 @@ import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
import com.zmkg.coaloperation.R
import com.zmkg.coaloperation.base.BaseVMBFragment
+import com.zmkg.coaloperation.bean.TunnelSubmitData
import com.zmkg.coaloperation.databinding.FragmentUserBinding
import com.zmkg.coaloperation.db.viewmodel.TunnelRoofLithologyViewModel
import com.zmkg.coaloperation.db.viewmodel.TunnelWorkingFaceRecordViewModel
@@ -30,9 +31,9 @@ import kotlinx.coroutines.launch
class UserFragment :
BaseVMBFragment(R.layout.fragment_user) {
- companion object {
- const val TAG = "UserFragment"
- }
+ companion object {
+ const val TAG = "UserFragment"
+ }
private val workingFaceViewModel: TunnelWorkingFaceViewModel by lazy {
ViewModelProvider(this)[TunnelWorkingFaceViewModel::class.java]
@@ -64,12 +65,37 @@ class UserFragment :
override fun initView(root: View?, savedInstanceState: Bundle?) {
mBinding.apply {
- networkConfig.setOrderStateInfo("网络配置", R.mipmap.network)
- dataPull.setOrderStateInfo("数据拉取", R.drawable.ic_data_pull)
- cacheManage.setOrderStateInfo("缓存管理", R.mipmap.buffer)
- checkUpdate.setOrderStateInfo("检查更新", R.mipmap.checkupdate)
- systemExit.setOrderStateInfo("系统退出", R.mipmap.systemexit)
- aboutUs.setOrderStateInfo("关于我们", R.mipmap.about_us)
+ networkConfig.setOrderStateInfo(
+ "网络配置",
+ R.mipmap.network,
+ R.drawable.bg_icon_network_config
+ )
+ dataPull.setOrderStateInfo(
+ "数据拉取",
+ R.drawable.ic_data_pull,
+ R.drawable.bg_icon_data_pull
+ )
+ dataPush.setOrderStateInfo(
+ "数据推送",
+ R.drawable.ic_data_push,
+ R.drawable.bg_icon_data_push
+ )
+ cacheManage.setOrderStateInfo(
+ "缓存管理",
+ R.mipmap.buffer,
+ R.drawable.bg_icon_cache_manage
+ )
+ checkUpdate.setOrderStateInfo(
+ "检查更新",
+ R.mipmap.checkupdate,
+ R.drawable.bg_icon_check_update
+ )
+ systemExit.setOrderStateInfo(
+ "系统退出",
+ R.mipmap.systemexit,
+ R.drawable.bg_icon_system_exit
+ )
+ aboutUs.setOrderStateInfo("关于我们", R.mipmap.about_us, R.drawable.bg_icon_about_us)
}
}
@@ -78,6 +104,7 @@ class UserFragment :
addClickViews(
networkConfig,
dataPull,
+ dataPush,
cacheManage,
checkUpdate,
systemExit,
@@ -94,13 +121,12 @@ class UserFragment :
}
R.id.data_pull -> {
- showLoading("加载中")
checkDataState { state ->
if (state) {
showToast("本地存在待提交的数据")
return@checkDataState
}
-
+ showLoading("加载中")
workingFaceViewModel.deleteAll {
workingFaceRecordViewModel.deleteAll {
roofLithologyViewModel.deleteAll {
@@ -115,6 +141,10 @@ class UserFragment :
}
}
+ R.id.data_push -> {
+ dataPush()
+ }
+
R.id.cache_manage -> {
toActivity(CacheManageActivity::class.java)
}
@@ -156,7 +186,7 @@ class UserFragment :
list.forEach { faceEntity ->
faceEntity.records?.let { recordList ->
val lastRecordId = faceEntity.latestRecord?.recordId
- val record = recordList.firstOrNull {it.recordId == lastRecordId}
+ val record = recordList.firstOrNull { it.recordId == lastRecordId }
record?.latestRecordState = "1"
//保存工作面记录数据
@@ -207,4 +237,27 @@ class UserFragment :
}
}
+ 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()}")
+ }
+ }
+ }
+ }
+
}
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/DateTimeUtil.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/DateTimeUtil.kt
index a07207a..ae6b034 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/DateTimeUtil.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/DateTimeUtil.kt
@@ -9,6 +9,7 @@ import java.util.Date
object DateTimeUtil {
const val YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"
+ const val YYYY_MM_DD = "yyyy-MM-dd"
fun formatDateTime(dateTime: LocalDateTime, pattern: String = YYYY_MM_DD_HH_MM_SS): String {
val formatter = DateTimeFormatter.ofPattern(pattern)
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
new file mode 100644
index 0000000..2ac1576
--- /dev/null
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/ExcelExportUtils.kt
@@ -0,0 +1,71 @@
+package com.zmkg.coaloperation.utils
+
+import android.util.Log
+import com.zmkg.coaloperation.bean.TunnelWorkingItem
+import org.apache.poi.ss.util.CellRangeAddress
+import org.apache.poi.xssf.usermodel.XSSFWorkbook
+import java.io.FileOutputStream
+
+object ExcelExportUtils {
+ fun exportToExcel(list: List, filePath: String, block:()-> Unit) {
+ val workbook = XSSFWorkbook() // 创建XLSX格式工作簿
+ val sheet = workbook.createSheet("Sheet1")
+
+ // 创建表头
+ val mainHeader = sheet.createRow(0)
+
+ list.forEachIndexed { index, item ->
+ mainHeader.createCell(index).setCellValue(item.name)
+ }
+
+ val subHeader = sheet.createRow(1)
+ for (i in 0 until list.size - 1) {
+ subHeader.createCell(i).setCellValue("")
+ }
+ val subTitleList = mutableListOf("起始值", "结束值", "岩性")
+ subTitleList.forEachIndexed { index, subTitle ->
+ subHeader.createCell(list.size - 1 + index).setCellValue(subTitle)
+ }
+ sheet.addMergedRegion(CellRangeAddress(0, 0, 9, 11))
+ for (i in 0 until list.size - 1) {
+ sheet.addMergedRegion(CellRangeAddress(0, 1, i, i))
+ }
+ var rowNum = 2
+ var row = sheet.createRow(rowNum)
+ for (i in 0 until list.size - 1) {
+ row.createCell(i).setCellValue(list[i].value)
+ }
+
+ list[list.size - 1].items?.let {
+ for (i in 0 until it.size) {
+ if (i > 0) {
+ rowNum++
+ row = sheet.createRow(rowNum)
+ }
+ row.createCell(0 + list.size - 1).setCellValue(it[i].positionStart)
+ row.createCell(1 + list.size - 1).setCellValue(it[i].positionEnd)
+ row.createCell(2 + list.size - 1).setCellValue(it[i].lithologyType)
+ }
+ }
+
+ // 填充数据
+// data.forEachIndexed { index, item ->
+// val row = sheet.createRow(index + 1)
+// row.createCell(0).setCellValue(item.id)
+// row.createCell(1).setCellValue(item.name)
+// }
+
+ // 自动调整列宽
+// for (i in 0 until 9) {
+// sheet.autoSizeColumn(i)
+// }
+
+ // 写入文件
+ FileOutputStream(filePath).use { workbook.write(it) }
+ workbook.close()
+ Log.d("ExcelExportUtils", "exportToExcel: $filePath")
+ block()
+ }
+}
+
+data class DataBean(val id: Int, val name: String)
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/FileUtils.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/FileUtils.kt
new file mode 100644
index 0000000..f182234
--- /dev/null
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/FileUtils.kt
@@ -0,0 +1,47 @@
+package com.zmkg.coaloperation.utils
+
+import android.os.Environment
+import java.io.File
+import java.io.FileOutputStream
+import java.io.IOException
+
+object FileUtils {
+
+ fun getFilePath(fileName:String): String {
+ val parentPath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS)
+ val path = File(parentPath, "煤矿数采终端")
+ if (!path.exists()) path.mkdirs()
+ val file = File(path, fileName)
+ if (!file.exists()) file.createNewFile()
+ return file.absolutePath
+ }
+
+ fun saveToPublicDirectory(fileName: String, content: String) {
+ val dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS)
+ val appDir = File(dir, "dcmp")
+ if (!appDir.exists()) appDir.mkdirs()
+
+ val file = File(appDir, fileName)
+ try {
+ FileOutputStream(file).use { it.write(content.toByteArray()) }
+ } catch (e: IOException) {
+ e.printStackTrace()
+ }
+ }
+// private fun requestStoragePermission() {
+// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
+// if (!Environment.isExternalStorageManager()) {
+// val intent = Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION)
+// startActivity(intent)
+// }
+// } else {
+// ActivityCompat.requestPermissions(
+// this,
+// arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE),
+// REQUEST_CODE
+// )
+// }
+// }
+
+
+}
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/view/CustomInfoView.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/view/CustomInfoView.kt
index ef50d4e..f3bbcd6 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/view/CustomInfoView.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/view/CustomInfoView.kt
@@ -8,6 +8,8 @@ import android.widget.RelativeLayout
import androidx.databinding.DataBindingUtil
import com.zmkg.coaloperation.R
import com.zmkg.coaloperation.databinding.CustomMyInfoViewBinding
+import com.zmkg.coaloperation.utils.gone
+import com.zmkg.coaloperation.utils.visible
/**
* 文本和跳转
@@ -21,15 +23,14 @@ class CustomInfoView(context: Context?, attrs: AttributeSet?) : RelativeLayout(c
R.layout.custom_my_info_view, this,true)
- fun setOrderStateInfo(name:String, id:Int){
+ fun setOrderStateInfo(name:String, imgResId:Int, bgResId: Int){
mBinding.apply {
- if (id==0) {
- customInfoMenuIcon.visibility=View.GONE
- }else{
- customInfoMenuIcon.visibility=View.VISIBLE
+ customInfoMenuIcon.run {
+ if (imgResId == 0) gone() else visible()
+ setImageResource(imgResId)
+ setBackgroundResource(bgResId)
}
- customInfoMenuIcon.setImageResource(id)
- customInfoMenuName.setText(name)
+ customInfoMenuName.text = name
}
}
diff --git a/coalMiningApp/app/src/main/res/drawable-xxhdpi/ic_data_push.png b/coalMiningApp/app/src/main/res/drawable-xxhdpi/ic_data_push.png
new file mode 100644
index 0000000..97d08fb
Binary files /dev/null and b/coalMiningApp/app/src/main/res/drawable-xxhdpi/ic_data_push.png differ
diff --git a/coalMiningApp/app/src/main/res/drawable/bg_icon_about_us.xml b/coalMiningApp/app/src/main/res/drawable/bg_icon_about_us.xml
new file mode 100644
index 0000000..4c844ab
--- /dev/null
+++ b/coalMiningApp/app/src/main/res/drawable/bg_icon_about_us.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/drawable/bg_icon_cache_manage.xml b/coalMiningApp/app/src/main/res/drawable/bg_icon_cache_manage.xml
new file mode 100644
index 0000000..e4fce57
--- /dev/null
+++ b/coalMiningApp/app/src/main/res/drawable/bg_icon_cache_manage.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
diff --git a/coalMiningApp/app/src/main/res/drawable/bg_icon_check_update.xml b/coalMiningApp/app/src/main/res/drawable/bg_icon_check_update.xml
new file mode 100644
index 0000000..2f1be6a
--- /dev/null
+++ b/coalMiningApp/app/src/main/res/drawable/bg_icon_check_update.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/drawable/bg_icon_data_pull.xml b/coalMiningApp/app/src/main/res/drawable/bg_icon_data_pull.xml
new file mode 100644
index 0000000..878e3ab
--- /dev/null
+++ b/coalMiningApp/app/src/main/res/drawable/bg_icon_data_pull.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/drawable/bg_icon_data_push.xml b/coalMiningApp/app/src/main/res/drawable/bg_icon_data_push.xml
new file mode 100644
index 0000000..2bd5c88
--- /dev/null
+++ b/coalMiningApp/app/src/main/res/drawable/bg_icon_data_push.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/drawable/bg_icon_network_config.xml b/coalMiningApp/app/src/main/res/drawable/bg_icon_network_config.xml
new file mode 100644
index 0000000..d94bfff
--- /dev/null
+++ b/coalMiningApp/app/src/main/res/drawable/bg_icon_network_config.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/drawable/bg_icon_system_exit.xml b/coalMiningApp/app/src/main/res/drawable/bg_icon_system_exit.xml
new file mode 100644
index 0000000..2bbda2f
--- /dev/null
+++ b/coalMiningApp/app/src/main/res/drawable/bg_icon_system_exit.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/drawable/ic_avatar.png b/coalMiningApp/app/src/main/res/drawable/ic_avatar.png
new file mode 100644
index 0000000..a3ec41d
Binary files /dev/null and b/coalMiningApp/app/src/main/res/drawable/ic_avatar.png differ
diff --git a/coalMiningApp/app/src/main/res/drawable/ic_flag_edit.xml b/coalMiningApp/app/src/main/res/drawable/ic_flag_edit.xml
new file mode 100644
index 0000000..78afdd7
--- /dev/null
+++ b/coalMiningApp/app/src/main/res/drawable/ic_flag_edit.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/layout/custom_my_info_view.xml b/coalMiningApp/app/src/main/res/layout/custom_my_info_view.xml
index 87ee061..8c7ac1a 100644
--- a/coalMiningApp/app/src/main/res/layout/custom_my_info_view.xml
+++ b/coalMiningApp/app/src/main/res/layout/custom_my_info_view.xml
@@ -7,49 +7,44 @@
-
+ android:paddingHorizontal="15dp">
-
-
-
-
-
-
-
+ android:scaleType="fitCenter"
+ android:padding="11dp"
+ tools:src="@mipmap/network"
+ tools:background="@drawable/bg_icon_network_config"/>
+
-
-
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/layout/fragment_home.xml b/coalMiningApp/app/src/main/res/layout/fragment_home.xml
index 49291b7..6b2e962 100644
--- a/coalMiningApp/app/src/main/res/layout/fragment_home.xml
+++ b/coalMiningApp/app/src/main/res/layout/fragment_home.xml
@@ -59,6 +59,10 @@
android:layout_below="@+id/title_sec"
android:layout_marginHorizontal="5dp"
android:layout_marginTop="8dp"
+ tools:itemCount="6"
+ app:spanCount="2"
+ android:overScrollMode="never"
+ app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
tools:listitem="@layout/item_home_menu_left_right" />
+
+
@@ -92,7 +93,8 @@
android:layout_height="68dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="60dp"
- android:background="#e3e3e3" />
+ app:srcCompat="@drawable/ic_avatar"/>
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/layout/item_home_menu_left_right.xml b/coalMiningApp/app/src/main/res/layout/item_home_menu_left_right.xml
index 8bbfe27..e7ac021 100644
--- a/coalMiningApp/app/src/main/res/layout/item_home_menu_left_right.xml
+++ b/coalMiningApp/app/src/main/res/layout/item_home_menu_left_right.xml
@@ -7,34 +7,36 @@
-
+
+
-
-
-
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/layout/item_home_menu_top_bottom.xml b/coalMiningApp/app/src/main/res/layout/item_home_menu_top_bottom.xml
index 88c6509..a6c6022 100644
--- a/coalMiningApp/app/src/main/res/layout/item_home_menu_top_bottom.xml
+++ b/coalMiningApp/app/src/main/res/layout/item_home_menu_top_bottom.xml
@@ -7,9 +7,11 @@
-
-
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/layout/list_item_rock.xml b/coalMiningApp/app/src/main/res/layout/list_item_rock.xml
index 602d7c4..3794596 100644
--- a/coalMiningApp/app/src/main/res/layout/list_item_rock.xml
+++ b/coalMiningApp/app/src/main/res/layout/list_item_rock.xml
@@ -24,7 +24,7 @@
android:maxLines="1"
android:textCursorDrawable="@drawable/cursor_white"
android:minWidth="30dp"
- android:maxWidth="35dp"
+ android:maxWidth="55dp"
android:paddingStart="5dp"
android:paddingEnd="5dp"
android:textColor="@color/white"
@@ -47,7 +47,7 @@
android:maxLines="1"
android:textCursorDrawable="@drawable/cursor_white"
android:minWidth="30dp"
- android:maxWidth="35dp"
+ android:maxWidth="55dp"
android:paddingStart="5dp"
android:paddingEnd="5dp"
android:textColor="@color/white"
@@ -72,7 +72,7 @@
android:maxLines="1"
android:textCursorDrawable="@drawable/cursor_white"
android:minWidth="30dp"
- android:maxWidth="35dp"
+ android:maxWidth="55dp"
android:paddingStart="5dp"
android:paddingEnd="5dp"
android:textColor="@color/white"
diff --git a/coalMiningApp/app/src/main/res/layout/list_item_tunnel_working_face.xml b/coalMiningApp/app/src/main/res/layout/list_item_tunnel_working_face.xml
index cb1e861..923f70c 100644
--- a/coalMiningApp/app/src/main/res/layout/list_item_tunnel_working_face.xml
+++ b/coalMiningApp/app/src/main/res/layout/list_item_tunnel_working_face.xml
@@ -26,10 +26,22 @@
app:shapeStrokeColor="#FF26FFEB"
app:shapeStrokeWidth="0.5dp">
+
+
+
+
+
diff --git a/coalMiningApp/app/src/main/res/layout/list_item_tunnel_working_face_record.xml b/coalMiningApp/app/src/main/res/layout/list_item_tunnel_working_face_record.xml
index 4263451..7117155 100644
--- a/coalMiningApp/app/src/main/res/layout/list_item_tunnel_working_face_record.xml
+++ b/coalMiningApp/app/src/main/res/layout/list_item_tunnel_working_face_record.xml
@@ -8,7 +8,7 @@
-
@@ -68,7 +68,21 @@
android:layout_width="match_parent"
android:layout_height="1dp"
app:dividerColor="#282C38"
+ android:layout_gravity="bottom"
android:visibility="visible"/>
-
+
+
+
+
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/xml/file_paths.xml b/coalMiningApp/app/src/main/res/xml/file_paths.xml
new file mode 100644
index 0000000..ffa74ab
--- /dev/null
+++ b/coalMiningApp/app/src/main/res/xml/file_paths.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file