[6.7.0]工单上报修改

This commit is contained in:
xuxinchao
2024-10-09 16:39:09 +08:00
parent d0a614cb55
commit d11151f3c6
2 changed files with 76 additions and 32 deletions

View File

@@ -13,6 +13,7 @@ import android.view.animation.Animation
import android.view.animation.ScaleAnimation
import android.widget.EditText
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.content.ContextCompat
import com.iflytek.cloud.ErrorCode
import com.iflytek.cloud.InitListener
import com.iflytek.cloud.RecognizerListener
@@ -31,6 +32,7 @@ import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManage
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.util.ClickUtils
import com.mogo.eagle.core.utilcode.util.JsonParser
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.eagle.core.utilcode.util.TimeUtils
@@ -159,41 +161,59 @@ class WorkOrderView @JvmOverloads constructor(
//问题描述录音
iv_describe_audio.setOnClickListener {
audioStatus = !audioStatus
if (audioStatus) {
iv_describe_audio.setImageDrawable(
ContextCompat.getDrawable(
context,
R.drawable.icon_reason_audio_pressed
)
)
} else {
iv_describe_audio.setImageDrawable(
ContextCompat.getDrawable(
context,
R.drawable.icon_reason_audio_normal
)
)
}
setAudio(audioStatus)
}
//上报
tv_work_order_report.setOnClickListener {
//工单问题类型必选,没有选择,进行提示
if(workOrderType.isEmpty()){
ToastUtils.showShort("请选择问题类型")
return@setOnClickListener
}
if(et_describe_input.text.toString().isEmpty()){
ToastUtils.showShort("请填写问题描述")
return@setOnClickListener
}
GlobalScope.launch(Dispatchers.IO){
val msgBoxList = CallerMsgBoxManager.queryFMInfoList(context,
workOrderOccurrenceTime-120000,workOrderOccurrenceTime+120000)
val faultList = ArrayList<FaultInfo>()
msgBoxList?.forEach { msgBoxBean ->
val fmInfoMsg = msgBoxBean.bean as FMInfoMsg
fmInfoMsg.fmInfoList?.forEach { fault ->
val faultBean = FaultInfo(false,fault.faultId,fault.faultName,
fault.faultTime.toString(), FaultDetailInfo(fault.faultDesc)
)
faultList.add(faultBean)
}
if(ClickUtils.isFastClick()){
//工单问题类型必选,没有选择,进行提示
if(workOrderType.isEmpty()){
ToastUtils.showShort("请选择问题类型")
return@setOnClickListener
}
val workOrderReportInfo = WorkOrderReportInfo(workOrderType,workOrderOccurrenceTime.toString(),
et_describe_input.text.toString(), CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().longitude.toString(),
CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().latitude.toString(),
AppConfigInfo.plateNumber, SharedPrefsMgr.getInstance().getString("och_account","") ,
BadCaseConfig.dockerVersion ?:"",faultList)
CallerDevaToolsManager.workOrderReport(workOrderReportInfo)
if(et_describe_input.text.toString().isEmpty()){
ToastUtils.showShort("请填写问题描述")
return@setOnClickListener
}
GlobalScope.launch(Dispatchers.IO){
val msgBoxList = CallerMsgBoxManager.queryFMInfoList(context,
workOrderOccurrenceTime-120000,workOrderOccurrenceTime+120000)
val faultList = ArrayList<FaultInfo>()
msgBoxList?.forEach { msgBoxBean ->
val fmInfoMsg = msgBoxBean.bean as FMInfoMsg
fmInfoMsg.fmInfoList?.forEach { fault ->
val faultBean = FaultInfo(false,fault.faultId,fault.faultName,
fault.faultTime.toString(), FaultDetailInfo(fault.faultDesc)
)
faultList.add(faultBean)
}
}
val workOrderReportInfo = WorkOrderReportInfo(workOrderType,workOrderOccurrenceTime.toString(),
et_describe_input.text.toString(), CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().longitude.toString(),
CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().latitude.toString(),
AppConfigInfo.plateNumber, SharedPrefsMgr.getInstance().getString("och_account","") ,
BadCaseConfig.dockerVersion ?:"",faultList)
CallerDevaToolsManager.workOrderReport(workOrderReportInfo)
}
}else{
ToastUtils.showShort("请勿连续上报,稍后再试")
}
}
//取消
@@ -321,4 +341,28 @@ class WorkOrderView @JvmOverloads constructor(
this.clickListener = clickListener
}
override fun onVisibilityChanged(changedView: View, visibility: Int) {
super.onVisibilityChanged(changedView, visibility)
if(visibility == View.VISIBLE){
//弹窗展示时间
tv_work_order_time.text =
millis2String(System.currentTimeMillis(), TimeUtils.getHourMinSecondFormat())
//问题类型
wrap_radio_group.clearCheck()
//发生时间
workOrderOccurrenceTime = System.currentTimeMillis()
tv_occurrence_time.text = millis2String(workOrderOccurrenceTime, TimeUtils.getHourMinFormat())
et_describe_input.setText("")
//问题描述录音
iv_describe_audio.setImageDrawable(
ContextCompat.getDrawable(
context,
R.drawable.icon_reason_audio_normal
)
)
setAudio(false)
}
}
}

View File

@@ -254,13 +254,13 @@
<ImageView
android:id="@+id/iv_describe_audio"
android:layout_width="@dimen/dp_45"
android:layout_height="@dimen/dp_59"
android:src="@drawable/icon_work_order_audio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_reason_audio_normal"
app:layout_constraintTop_toTopOf="@id/et_describe_input"
app:layout_constraintBottom_toBottomOf="@id/et_describe_input"
app:layout_constraintEnd_toEndOf="@id/et_describe_input"
android:layout_marginEnd="@dimen/dp_30"
android:padding="@dimen/dp_30"
android:contentDescription="@string/take_over_note_audio"
/>