[6.6.0]数据闭环-数据库调整
This commit is contained in:
@@ -27,7 +27,7 @@ object RecordManager {
|
||||
*/
|
||||
fun insertRecord(context: Context,takeOverRecordInfo: TakeOverRecordInfo){
|
||||
takeOverRecordInfo.let {
|
||||
val recordInfo = RecordInfo(null,it.address,it.faultStartTime,it.level1Id,
|
||||
val recordInfo = RecordInfo(it.faultStartTime,it.address,it.level1Id,
|
||||
it.level2Id,it.level3Id,it.lineName,it.reportNote,it.reportStatus)
|
||||
if (Thread.currentThread() == Looper.getMainLooper().thread){
|
||||
scope.launch{
|
||||
@@ -59,7 +59,7 @@ object RecordManager {
|
||||
*/
|
||||
fun updateRecord(context: Context,takeOverRecordInfo: TakeOverRecordInfo){
|
||||
takeOverRecordInfo.let{
|
||||
val recordInfo = RecordInfo(null,it.address,it.faultStartTime,it.level1Id,
|
||||
val recordInfo = RecordInfo(it.faultStartTime,it.address,it.level1Id,
|
||||
it.level2Id,it.level3Id,it.lineName,it.reportNote,it.reportStatus)
|
||||
if (Thread.currentThread() == Looper.getMainLooper().thread){
|
||||
scope.launch{
|
||||
@@ -91,7 +91,7 @@ object RecordManager {
|
||||
*/
|
||||
fun deleteRecord(context: Context, takeOverRecordInfo: TakeOverRecordInfo) {
|
||||
takeOverRecordInfo.let{
|
||||
val recordInfo = RecordInfo(null,it.address,it.faultStartTime,it.level1Id,
|
||||
val recordInfo = RecordInfo(it.faultStartTime,it.address,it.level1Id,
|
||||
it.level2Id,it.level3Id,it.lineName,it.reportNote,it.reportStatus)
|
||||
if (Thread.currentThread() == Looper.getMainLooper().thread){
|
||||
scope.launch {
|
||||
|
||||
@@ -9,15 +9,12 @@ import androidx.room.PrimaryKey
|
||||
*/
|
||||
@Entity(tableName = "take_over_record")
|
||||
data class RecordInfo(
|
||||
//自增主键
|
||||
@PrimaryKey(autoGenerate = true)
|
||||
var id: Int ?= null,
|
||||
//故障开始时间 主键
|
||||
@PrimaryKey(autoGenerate = false)
|
||||
val faultStartTime: Long,
|
||||
//故障地点
|
||||
@ColumnInfo
|
||||
val address: String,
|
||||
//故障开始时间 yyyy-MM-dd HH:mm:ss
|
||||
@ColumnInfo
|
||||
val faultStartTime: String,
|
||||
//一级分类ID
|
||||
@ColumnInfo
|
||||
var level1Id: Int,
|
||||
|
||||
@@ -34,8 +34,10 @@ import com.iflytek.cloud.RecognizerResult
|
||||
import com.iflytek.cloud.SpeechError
|
||||
import com.iflytek.cloud.SpeechRecognizer
|
||||
import com.mogo.eagle.core.data.deva.report.CategoryInfo
|
||||
import com.mogo.eagle.core.data.deva.report.TakeOverRecordInfo
|
||||
import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager
|
||||
import com.mogo.eagle.core.function.call.takeover.CallerTakeOverManager
|
||||
import com.mogo.eagle.core.utilcode.util.BarUtils
|
||||
import com.mogo.eagle.core.utilcode.util.JsonParser
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils
|
||||
@@ -84,13 +86,14 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
private lateinit var tbTakeOverReason: ToggleButton
|
||||
private lateinit var etNoteInput: AppCompatEditText
|
||||
private lateinit var ivNoteAudio: ImageView
|
||||
private lateinit var tvTakeOverReport: TextView
|
||||
private lateinit var tvTakeOverSave: TextView
|
||||
private lateinit var tvTakeOverCancel: TextView
|
||||
private lateinit var rvTakeOverList: RecyclerView
|
||||
private lateinit var tvUploadSuccess: AppCompatTextView
|
||||
private lateinit var takeOverReasonGroup: Group
|
||||
|
||||
private lateinit var orderReasonAdapter: OrderReasonAdapter
|
||||
private lateinit var mTakeOverRecordInfo: TakeOverRecordInfo
|
||||
|
||||
init {
|
||||
initFloatWindow()
|
||||
@@ -124,7 +127,7 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
tbTakeOverReason = mFloatLayout.findViewById(R.id.tbTakeOverReason)
|
||||
etNoteInput = mFloatLayout.findViewById(R.id.etNoteInput)
|
||||
ivNoteAudio = mFloatLayout.findViewById(R.id.ivNoteAudio)
|
||||
tvTakeOverReport = mFloatLayout.findViewById(R.id.tvTakeOverReport)
|
||||
tvTakeOverSave = mFloatLayout.findViewById(R.id.tvTakeOverSave)
|
||||
tvTakeOverCancel = mFloatLayout.findViewById(R.id.tvTakeOverCancel)
|
||||
rvTakeOverList = mFloatLayout.findViewById(R.id.rvTakeOverList)
|
||||
tvUploadSuccess = mFloatLayout.findViewById(R.id.tvUploadSuccess)
|
||||
@@ -249,8 +252,10 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
setAudio(audioStatus)
|
||||
}
|
||||
//上报
|
||||
tvTakeOverReport.setOnClickListener{
|
||||
//TODO 保存到数据库‘
|
||||
tvTakeOverSave.setOnClickListener{
|
||||
mTakeOverRecordInfo.reportNote = etNoteInput.text.toString()
|
||||
CallerTakeOverManager.updateRecord(mActivity,mTakeOverRecordInfo)
|
||||
clickListener?.onSaveReason()
|
||||
hideFloatWindow()
|
||||
}
|
||||
//取消
|
||||
@@ -384,7 +389,7 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
return true
|
||||
}
|
||||
|
||||
fun showFloatWindow() {
|
||||
fun showFloatWindow(takeOverRecordInfo: TakeOverRecordInfo) {
|
||||
if (mFloatLayout.parent == null) {
|
||||
val metrics = DisplayMetrics()
|
||||
// 默认固定位置,靠屏幕右边缘的中间
|
||||
@@ -392,9 +397,8 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
mWindowParams!!.x = metrics.widthPixels-890
|
||||
mWindowParams!!.y = metrics.heightPixels - BarUtils.getStatusBarHeight()-1140
|
||||
mWindowManager!!.addView(mFloatLayout, mWindowParams)
|
||||
|
||||
|
||||
}
|
||||
mTakeOverRecordInfo = takeOverRecordInfo
|
||||
}
|
||||
|
||||
fun hideFloatWindow() {
|
||||
@@ -409,7 +413,7 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
}
|
||||
|
||||
interface ClickListener {
|
||||
fun closeWindow()
|
||||
fun onSaveReason()
|
||||
}
|
||||
|
||||
override fun getCategoriesSuccess(list: List<CategoryInfo>) {
|
||||
|
||||
@@ -14,6 +14,7 @@ import com.mogo.eagle.core.utilcode.kotlin.lifeCycleScope
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils.getYMDFormat
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.eagle.core.utilcode.util.Utils
|
||||
import com.zhjt.mogo_core_function_devatools.R
|
||||
import com.zhjt.mogo_core_function_devatools.workorder.adapter.BottomDecoration
|
||||
@@ -72,7 +73,13 @@ class TakeOverRecordView @JvmOverloads constructor(
|
||||
val activity = context as? FragmentActivity
|
||||
?: throw IllegalStateException("please ensure context is FragmentActivity.")
|
||||
val takeOverReasonWindow = TakeOverReasonWindow(activity)
|
||||
takeOverReasonWindow.showFloatWindow()
|
||||
takeOverReasonWindow.setClickListener(object: TakeOverReasonWindow.ClickListener{
|
||||
override fun onSaveReason() {
|
||||
//刷新列表 TODO 应该局部刷新
|
||||
refreshList()
|
||||
}
|
||||
})
|
||||
takeOverReasonWindow.showFloatWindow(takeOverRecordInfo)
|
||||
}
|
||||
|
||||
override fun onSelectRecord(
|
||||
@@ -99,9 +106,22 @@ class TakeOverRecordView @JvmOverloads constructor(
|
||||
}
|
||||
//删除
|
||||
tvDeleteSelect.setOnClickListener {
|
||||
// CallerTakeOverManager.deleteRecord(context,)
|
||||
if(selectedUploadRecord.isEmpty()){
|
||||
ToastUtils.showShort("请选择需要删除的接管记录")
|
||||
}else{
|
||||
selectedUploadRecord.forEach {
|
||||
CallerTakeOverManager.deleteRecord(context,it)
|
||||
}
|
||||
refreshList()
|
||||
}
|
||||
}
|
||||
refreshList()
|
||||
}
|
||||
|
||||
/**
|
||||
* 刷新接管记录列表
|
||||
*/
|
||||
private fun refreshList(){
|
||||
scope.launch(Dispatchers.IO){
|
||||
val recordList= CallerTakeOverManager.getAllRecord(context)
|
||||
ThreadUtils.runOnUiThread {
|
||||
@@ -117,7 +137,6 @@ class TakeOverRecordView @JvmOverloads constructor(
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun setOnClickListener(clickListener: ClickListener) {
|
||||
|
||||
@@ -10,6 +10,7 @@ import android.widget.TextView
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.mogo.eagle.core.data.deva.report.TakeOverRecordInfo
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.zhjt.mogo_core_function_devatools.R
|
||||
|
||||
@@ -38,7 +39,7 @@ class TakeOverListAdapter(private val context: Context): RecyclerView.Adapter<Ta
|
||||
holder.cbRecordSelect.setOnCheckedChangeListener { _, isChecked ->
|
||||
clickListener?.onSelectRecord(recordEntity,isChecked)
|
||||
}
|
||||
holder.tvFaultStartTime.text = recordEntity.faultStartTime
|
||||
holder.tvFaultStartTime.text = TimeUtils.millis2String(recordEntity.faultStartTime)
|
||||
holder.tvLineName.text = recordEntity.lineName
|
||||
holder.tvTakeOverReason.text = recordEntity.reportNote
|
||||
if(recordEntity.reportStatus){
|
||||
|
||||
@@ -201,7 +201,7 @@
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvTakeOverReport"
|
||||
android:id="@+id/tvTakeOverSave"
|
||||
android:layout_width="@dimen/dp_380"
|
||||
android:layout_height="@dimen/dp_80"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
|
||||
@@ -11,6 +11,6 @@ package com.mogo.eagle.core.data.deva.report
|
||||
* @param reportNote 上报描述
|
||||
* @param reportStatus 上传状态 false:未上传,可编辑 true:已上传,不可编辑
|
||||
*/
|
||||
data class TakeOverRecordInfo(var faultStartTime: String, var address:String,
|
||||
data class TakeOverRecordInfo(var faultStartTime: Long, var address:String,
|
||||
var level1Id: Int, var level2Id: Int, var level3Id: Int,
|
||||
var lineName: String, var reportNote: String, var reportStatus: Boolean)
|
||||
Reference in New Issue
Block a user