[6.6.0]数据闭环-数据库调整

This commit is contained in:
xuxinchao
2024-08-23 11:32:26 +08:00
parent af7a388b84
commit 5f49985911
7 changed files with 44 additions and 23 deletions

View File

@@ -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>) {

View File

@@ -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) {

View File

@@ -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){

View File

@@ -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"