From a98bb6e5b965f04bb24d03f742414bb4bc5e4dea Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Thu, 18 Apr 2024 19:52:43 +0800 Subject: [PATCH] =?UTF-8?q?[6.4.0]=E5=B7=A5=E5=8D=95=E4=B8=8A=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DevaToolsProvider.kt | 12 + .../badcase/BadCaseManager.kt | 31 ++ .../binding/BindingCarManager.kt | 11 + .../workorder/WorkOrderApiService.kt | 18 + .../workorder/WorkOrderHostConst.kt | 26 ++ .../workorder/WorkOrderManager.kt | 45 ++ .../workorder/WorkOrderNetWorkModel.kt | 37 ++ .../workorder/WorkOrderWindow.kt | 408 ++++++++++++++++++ .../bg_work_order_des_input.png | Bin 0 -> 2710 bytes .../drawable-xhdpi/icon_work_order_add.png | Bin 0 -> 989 bytes .../drawable-xhdpi/icon_work_order_audio.png | Bin 0 -> 2924 bytes .../drawable-xhdpi/icon_work_order_reduce.png | Bin 0 -> 762 bytes .../drawable-xhdpi/icon_work_order_title.png | Bin 0 -> 112895 bytes .../res/drawable/type_radio_button_select.xml | 10 + .../drawable/type_radio_button_unselect.xml | 17 + .../drawable/work_order_type_radio_button.xml | 11 + .../src/main/res/layout/view_work_order.xml | 269 ++++++++++++ .../src/main/res/values/strings.xml | 16 +- .../src/main/res/values/styles.xml | 10 + .../eagle/core/data/deva/report/FaultInfo.kt | 18 + .../data/deva/report/WorkOrderReportInfo.kt | 17 + .../api/devatools/IDevaToolsProvider.kt | 8 + .../api/devatools/IMoGoDevaToolsListener.kt | 4 + .../CallerDevaToolsListenerManager.kt | 14 + .../call/devatools/CallerDevaToolsManager.kt | 15 + .../src/main/res/values/dimens.xml | 2 + 26 files changed, 998 insertions(+), 1 deletion(-) create mode 100644 core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/WorkOrderApiService.kt create mode 100644 core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/WorkOrderHostConst.kt create mode 100644 core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/WorkOrderManager.kt create mode 100644 core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/WorkOrderNetWorkModel.kt create mode 100644 core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/WorkOrderWindow.kt create mode 100644 core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/bg_work_order_des_input.png create mode 100644 core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_work_order_add.png create mode 100644 core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_work_order_audio.png create mode 100644 core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_work_order_reduce.png create mode 100644 core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_work_order_title.png create mode 100644 core/function-impl/mogo-core-function-devatools/src/main/res/drawable/type_radio_button_select.xml create mode 100644 core/function-impl/mogo-core-function-devatools/src/main/res/drawable/type_radio_button_unselect.xml create mode 100644 core/function-impl/mogo-core-function-devatools/src/main/res/drawable/work_order_type_radio_button.xml create mode 100644 core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_work_order.xml create mode 100644 core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/report/FaultInfo.kt create mode 100644 core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/report/WorkOrderReportInfo.kt diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt index f823bf758a..0545c19350 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt @@ -13,6 +13,7 @@ import com.mogo.eagle.core.data.constants.MogoServicePaths import com.mogo.eagle.core.data.deva.bindingcar.ModifyBindingcarInfo import com.mogo.eagle.core.data.deva.chain.ChainConstant import com.mogo.eagle.core.data.deva.chain.ChainLogParam +import com.mogo.eagle.core.data.deva.report.WorkOrderReportInfo import com.mogo.eagle.core.data.deva.scene.SceneModule import com.mogo.eagle.core.data.deva.scene.SceneTAG import com.mogo.eagle.core.data.msgbox.MsgBoxBean @@ -275,6 +276,10 @@ class DevaToolsProvider : IDevaToolsProvider { sceneManager.updateSceneTAG(sceneTag) } + override fun reportWorkOrder(view: View) { + BadCaseManager.reportWorkOrder(view) + } + override fun initBadCase(view: View) { BadCaseManager.initBadCase(view) } @@ -443,6 +448,13 @@ class DevaToolsProvider : IDevaToolsProvider { BindingCarManager.queryContainers(padSn, dockerVersion) } + /** + * 工单上报接口 + */ + override fun workOrderReport(workOrderReportInfo: WorkOrderReportInfo) { + BindingCarManager.workOrderReport(workOrderReportInfo) + } + override fun queryAppUpgrade() { BindingCarManager.queryAppUpgrade() } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt index 7628a110ae..030e2fe3ce 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt @@ -53,6 +53,7 @@ import com.zhjt.mogo_core_function_devatools.badcase.consts.BadCaseConfig import com.zhjt.mogo_core_function_devatools.badcase.repository.db.entity.AutoPilotRecord import com.zhjt.mogo_core_function_devatools.badcase.util.RecordBitmapUtils import com.zhjt.mogo_core_function_devatools.ext.enqueuePop +import com.zhjt.mogo_core_function_devatools.workorder.WorkOrderWindow import me.jessyan.autosize.utils.AutoSizeUtils import record_cache.RecordPanelOuterClass import java.io.File @@ -179,6 +180,36 @@ internal object BadCaseManager : LifecycleEventObserver, IMoGoAutopilotRecordLis } } + /** + * 开启工单上报弹窗 + */ + fun reportWorkOrder(view: View){ + val activity = view.context as? FragmentActivity + ?: throw IllegalStateException("please ensure context is FragmentActivity.") + view.setOnClickListener{ + if (ClickUtils.isFastClick()){ + if (NetworkUtils.isConnected()){ + if (BadCaseConfig.dockerVersion != null){ + //展示工单上报弹窗 + val workOrderWindow = WorkOrderWindow(activity) + workOrderWindow.setClickListener(object: WorkOrderWindow.ClickListener{ + override fun closeWindow() { + workOrderWindow.hideFloatWindow() + } + }) + workOrderWindow.showFloatWindow() + }else{ + ToastUtils.showShort("工控机连接状态异常") + } + }else{ + ToastUtils.showShort("网络异常,请检查网络") + } + }else{ + ToastUtils.showShort("请勿连续点击,稍后再试") + } + } + } + /** * 主动采集BadCase */ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt index dcaec72654..e448a75ea4 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt @@ -19,10 +19,12 @@ import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils.isPassenger import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA import com.mogo.commons.storage.SharedPrefsMgr +import com.mogo.eagle.core.data.deva.report.WorkOrderReportInfo import com.zhjt.mogo_core_function_devatools.trace.TraceManager import com.zhjt.mogo_core_function_devatools.upgrade.IPCUpgradeManager.Companion.ipcUpgradeManager import com.zhjt.mogo_core_function_devatools.upgrade.ObuUpgradeAppNetWorkManager import com.zhjt.mogo_core_function_devatools.upgrade.UpgradeAppNetWorkManager +import com.zhjt.mogo_core_function_devatools.workorder.WorkOrderManager.Companion.workOrderManager import mogo.telematics.pad.MessagePad /** @@ -58,11 +60,13 @@ object BindingCarManager : IMoGoAutopilotCarConfigListener, IMoGoCloudListener { CallerAutopilotCarConfigListenerManager.addListener(TAG, this) CallerCloudListenerManager.addListener(TraceManager.TAG, this) ipcUpgradeManager.init(context) + workOrderManager.init(context) } fun onDestroy() { CallerAutopilotCarConfigListenerManager.removeListener(TAG) ipcUpgradeManager.destroy() + workOrderManager.destroy() } override fun onAutopilotCarConfig(carConfigResp: MessagePad.CarConfigResp) { @@ -145,6 +149,13 @@ object BindingCarManager : IMoGoAutopilotCarConfigListener, IMoGoCloudListener { ipcUpgradeManager.queryContainers(padSn, dockerVersion) } + /** + * 工单上报接口 + */ + fun workOrderReport(workOrderReportInfo: WorkOrderReportInfo){ + workOrderManager.workOrderReport(workOrderReportInfo) + } + fun modifyCarInfo(callBack: (ModifyBindingcarInfo) -> Unit) { BindingCarNetWorkManager.instance.modifyBindingCar( mAddress, diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/WorkOrderApiService.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/WorkOrderApiService.kt new file mode 100644 index 0000000000..b986614026 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/WorkOrderApiService.kt @@ -0,0 +1,18 @@ +package com.zhjt.mogo_core_function_devatools.workorder + +import com.mogo.eagle.core.data.Response +import com.mogo.eagle.core.data.deva.report.WorkOrderReportInfo +import retrofit2.http.Body +import retrofit2.http.Headers +import retrofit2.http.POST + +/** + * 工单上报接口 + */ +interface WorkOrderApiService { + + @Headers("Content-Type:application/json;charset=UTF-8") + @POST("/api/v1/monitor/yk/manual/callback/?token=eapir6gqq6v9p2m82tzrnj") + suspend fun workOrderReport(@Body workOrderReportInfo: WorkOrderReportInfo): Response + +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/WorkOrderHostConst.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/WorkOrderHostConst.kt new file mode 100644 index 0000000000..62054877a9 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/WorkOrderHostConst.kt @@ -0,0 +1,26 @@ +package com.zhjt.mogo_core_function_devatools.workorder + +import com.mogo.commons.debug.DebugConfig + +/** + * 工单上报域名管理 + */ +class WorkOrderHostConst { + + companion object{ + private const val HOST_DEV = "http://yw-egateway.zhidaoauto.com" + private const val HOST_RELEASE = "http://yw-egateway.zhidaoauto.com" + + fun getWorkOrderBaseUrl(): String{ + return when (DebugConfig.getNetMode()){ + DebugConfig.NET_MODE_DEV -> HOST_DEV + DebugConfig.NET_MODE_QA -> HOST_DEV + DebugConfig.NET_MODE_DEMO -> HOST_RELEASE + DebugConfig.NET_MODE_RELEASE -> HOST_RELEASE + else -> HOST_RELEASE + } + } + + } + +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/WorkOrderManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/WorkOrderManager.kt new file mode 100644 index 0000000000..bd871cbb5e --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/WorkOrderManager.kt @@ -0,0 +1,45 @@ +package com.zhjt.mogo_core_function_devatools.workorder + +import android.content.Context +import com.mogo.eagle.core.data.deva.report.WorkOrderReportInfo +import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager + +/** + * @author XuXinChao + * @description 人工报障及工单建议呈现 + * @since: 2024/4/11 + */ +class WorkOrderManager{ + + companion object{ + const val TAG = "WorkOrderManager" + val workOrderManager: WorkOrderManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED){ + WorkOrderManager() + } + } + + private var mContext: Context? = null + private val workOrderNetWorkModel = WorkOrderNetWorkModel() + + fun init(context: Context){ + mContext = context + } + + /** + * 工单上报 + */ + fun workOrderReport(workOrderReportInfo: WorkOrderReportInfo,){ + workOrderNetWorkModel.workOrderReport(workOrderReportInfo, + onSuccess = { + CallerDevaToolsListenerManager.invokeWorkOrderReportSuccess() + }, + onError = { + CallerDevaToolsListenerManager.invokeWorkOrderReportError() + } + ) + } + + fun destroy(){ + mContext = null + } +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/WorkOrderNetWorkModel.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/WorkOrderNetWorkModel.kt new file mode 100644 index 0000000000..1c7625cc03 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/WorkOrderNetWorkModel.kt @@ -0,0 +1,37 @@ +package com.zhjt.mogo_core_function_devatools.workorder + +import com.mogo.eagle.core.data.Response +import com.mogo.eagle.core.data.deva.report.WorkOrderReportInfo +import com.mogo.eagle.core.network.MoGoRetrofitFactory +import com.mogo.eagle.core.network.apiResponseCall +import com.mogo.eagle.core.network.request +import com.zhjt.mogo_core_function_devatools.workorder.WorkOrderHostConst.Companion.getWorkOrderBaseUrl + +/** + * 工单上报 + */ +class WorkOrderNetWorkModel { + + private fun getNetWorkApi(baseUrl: String =getWorkOrderBaseUrl()): WorkOrderApiService { + return MoGoRetrofitFactory.getInstanceNoCallAdapter(baseUrl) + .create(WorkOrderApiService::class.java) + } + + fun workOrderReport(workOrderReportInfo: WorkOrderReportInfo, + onSuccess: ((String) -> Unit), onError: ((String) -> Unit)){ + request>{ + loader{ + apiResponseCall{ + getNetWorkApi(getWorkOrderBaseUrl()).workOrderReport(workOrderReportInfo) + } + } + onSuccess{ + onSuccess.invoke("") + } + onError{ + onError.invoke("") + } + } + } + +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/WorkOrderWindow.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/WorkOrderWindow.kt new file mode 100644 index 0000000000..2a62a89edc --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/WorkOrderWindow.kt @@ -0,0 +1,408 @@ +package com.zhjt.mogo_core_function_devatools.workorder + +import android.annotation.SuppressLint +import android.app.Activity +import android.graphics.PixelFormat +import android.os.Bundle +import android.text.Editable +import android.text.TextWatcher +import android.util.DisplayMetrics +import android.util.Log +import android.view.Gravity +import android.view.LayoutInflater +import android.view.MotionEvent +import android.view.View +import android.view.WindowManager +import android.view.animation.Animation +import android.view.animation.ScaleAnimation +import android.widget.ImageView +import android.widget.RadioGroup +import android.widget.TextView +import androidx.appcompat.widget.AppCompatEditText +import com.iflytek.cloud.ErrorCode +import com.iflytek.cloud.InitListener +import com.iflytek.cloud.RecognizerListener +import com.iflytek.cloud.RecognizerResult +import com.iflytek.cloud.SpeechError +import com.iflytek.cloud.SpeechRecognizer +import com.mogo.commons.storage.SharedPrefsMgr +import com.mogo.eagle.core.data.app.AppConfigInfo +import com.mogo.eagle.core.data.deva.report.FaultDetailInfo +import com.mogo.eagle.core.data.deva.report.FaultInfo +import com.mogo.eagle.core.data.deva.report.WorkOrderReportInfo +import com.mogo.eagle.core.data.msgbox.FMInfoMsg +import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager +import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager +import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager +import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager +import com.mogo.eagle.core.utilcode.util.BarUtils +import com.mogo.eagle.core.utilcode.util.JsonParser +import com.mogo.eagle.core.utilcode.util.TimeUtils +import com.mogo.eagle.core.utilcode.util.TimeUtils.millis2String +import com.mogo.eagle.core.utilcode.util.ToastUtils +import com.mogo.tts.base.SpeechUtils +import com.zhjt.mogo_core_function_devatools.R +import com.zhjt.mogo_core_function_devatools.badcase.consts.BadCaseConfig +import kotlinx.coroutines.DelicateCoroutinesApi +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.launch +import org.json.JSONException +import org.json.JSONObject +import kotlin.math.absoluteValue + +/** + * 工单上报弹窗 + */ +class WorkOrderWindow constructor(activity: Activity) : View.OnTouchListener, + IMoGoDevaToolsListener { + + companion object{ + const val TAG = "WorkOrderWindow" + } + + private var mActivity: Activity = activity + private var mWindowParams: WindowManager.LayoutParams? = null + private var mWindowManager: WindowManager? = null + + private lateinit var mFloatLayout: View + + private var clickListener: ClickListener? = null + + private var mInViewX = 0f + private var mInViewY = 0f + private var mInScreenX = 0f + private var mInScreenY = 0f + + // 语音听写对象 + private var mIat: SpeechRecognizer? = null + private var reasonDetail: String = "" //语音转写 + // 用HashMap存储听写结果 + private val mIatResults: HashMap = LinkedHashMap() + + private var workOrderType = "" //工单问题类型 + private var workOrderOccurrenceTime = System.currentTimeMillis() //故障发生时间 + var ret = 0 // 函数调用返回值 + private var audioStatus = false + + private lateinit var tvWorkOrderTime: TextView + private lateinit var rgType: RadioGroup + private lateinit var ivTimeReduce: ImageView + private lateinit var tvOccurrenceTime: TextView + private lateinit var ivTimeAdd: ImageView + private lateinit var etDescribeInput: AppCompatEditText + private lateinit var ivDescribeAudio: ImageView + private lateinit var tvWorkOrderReport: TextView + private lateinit var tvWorkOrderCancel: TextView + + init { + initFloatWindow() + } + + @SuppressLint("InflateParams") + private fun initFloatWindow(){ + mFloatLayout = LayoutInflater.from(mActivity).inflate(R.layout.view_work_order, null) as View + mFloatLayout.setOnTouchListener(this) + + // 初始化识别无UI识别对象 + // 使用SpeechRecognizer对象,可根据回调消息自定义界面; + mIat = SpeechRecognizer.createRecognizer(mActivity, mInitListener) + + tvWorkOrderTime = mFloatLayout.findViewById(R.id.tv_work_order_time) + rgType = mFloatLayout.findViewById(R.id.rg_type) + ivTimeReduce = mFloatLayout.findViewById(R.id.iv_time_reduce) + tvOccurrenceTime = mFloatLayout.findViewById(R.id.tv_occurrence_time) + ivTimeAdd = mFloatLayout.findViewById(R.id.iv_time_add) + etDescribeInput = mFloatLayout.findViewById(R.id.et_describe_input) + ivDescribeAudio = mFloatLayout.findViewById(R.id.iv_describe_audio) + tvWorkOrderReport = mFloatLayout.findViewById(R.id.tv_work_order_report) + tvWorkOrderCancel = mFloatLayout.findViewById(R.id.tv_work_order_cancel) + + initEvent() + + mWindowParams = WindowManager.LayoutParams() + mWindowManager = mActivity.windowManager + mWindowParams?.let { + it.format = PixelFormat.RGBA_8888 +// it.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE + it.gravity = Gravity.START or Gravity.TOP + it.width = 844 + it.height = 808 + it.alpha = 1.0f + } + } + + @OptIn(DelicateCoroutinesApi::class) + @SuppressLint("SetTextI18n") + private fun initEvent(){ + CallerDevaToolsListenerManager.addListener(TAG, this) + //弹窗展示时间 + tvWorkOrderTime.text = mActivity.resources.getString(R.string.work_order_time) + + millis2String(System.currentTimeMillis(), TimeUtils.getHourMinSecondFormat()) + + rgType.setOnCheckedChangeListener{_, checkedId -> + when(checkedId){ + R.id.rb_type_perception->{ + workOrderType = "感知" + } + R.id.rb_type_hardware->{ + workOrderType = "硬件" + } + R.id.rb_type_vehicle->{ + workOrderType = "原车" + } + R.id.rb_type_service->{ + workOrderType = "服务" + } + R.id.rb_type_other->{ + workOrderType = "其他" + } + } + } + //发生时间 + tvOccurrenceTime.text = millis2String(workOrderOccurrenceTime, TimeUtils.getHourMinFormat()) + ivTimeReduce.setOnClickListener { + workOrderOccurrenceTime -= 60000 + tvOccurrenceTime.text = millis2String(workOrderOccurrenceTime, TimeUtils.getHourMinFormat()) + } + ivTimeAdd.setOnClickListener { + if(workOrderOccurrenceTime + 60000 > System.currentTimeMillis()){ + ToastUtils.showShort("发生时间应在当前时间之前") + return@setOnClickListener + } + workOrderOccurrenceTime += 60000 + tvOccurrenceTime.text = millis2String(workOrderOccurrenceTime, TimeUtils.getHourMinFormat()) + } + etDescribeInput.requestFocus() +// val inputMethodManager = mActivity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager +// inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED,0) + + etDescribeInput.addTextChangedListener(object: TextWatcher{ + override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) { + + } + + override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { + + } + + override fun afterTextChanged(s: Editable?) { + + } + + }) + + //问题描述录音 + ivDescribeAudio.setOnClickListener { + audioStatus = !audioStatus + setAudio(audioStatus) + } + //上报 + tvWorkOrderReport.setOnClickListener { + //工单问题类型必选,没有选择,进行提示 + if(workOrderType.isEmpty()){ + ToastUtils.showShort("请选择问题类型") + return@setOnClickListener + } + if(etDescribeInput.text.toString().isEmpty()){ + ToastUtils.showShort("请填写问题描述") + return@setOnClickListener + } + GlobalScope.launch(Dispatchers.IO){ + val msgBoxList = CallerMsgBoxManager.queryFMInfoList(mActivity, + workOrderOccurrenceTime-120000,workOrderOccurrenceTime+120000) + val faultList = ArrayList() + 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(), + etDescribeInput.text.toString(),CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().longitude.toString(), + CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().latitude.toString(), + AppConfigInfo.plateNumber, SharedPrefsMgr.getInstance().getString("och_account","") , + BadCaseConfig.dockerVersion ?:"",faultList) + CallerDevaToolsManager.workOrderReport(workOrderReportInfo) + } + + + + + + } + //取消 + tvWorkOrderCancel.setOnClickListener { + clickListener?.closeWindow() + } + + } + + private fun setAudio(status: Boolean){ + if(status){ + //开始录音 + mIat?.let { + //清空之前的内容 + mIatResults.clear() + SpeechUtils.setParam(it) + // 不显示听写对话框 + ret = it.startListening(mRecognizerListener) + if (ret != ErrorCode.SUCCESS) { + ToastUtils.showShort("听写失败,错误码:$ret,请点击网址https://www.xfyun.cn/document/error-code查询解决方案") + } + } + //开始录音,展示放大缩小动效 + val scaleAnimation = ScaleAnimation( + 1.0f, 0.8f, 1.0f, 0.8f, + Animation.RELATIVE_TO_SELF, 0.8f, Animation.RELATIVE_TO_SELF, 0.8f + ) + scaleAnimation.duration = 1000 + scaleAnimation.repeatCount = -1 + ivDescribeAudio.startAnimation(scaleAnimation) + }else{ + //停止语音听写 + mIat?.stopListening() + //结束动画 + ivDescribeAudio.clearAnimation() + } + } + + /** + * 初始化监听器。 + */ + private val mInitListener = InitListener { code -> + if (code != ErrorCode.SUCCESS) { + ToastUtils.showShort("讯飞语音听写初始化失败,错误码:$code") + } + } + + /** + * 听写监听器。 + */ + private val mRecognizerListener: RecognizerListener = object : RecognizerListener{ + override fun onVolumeChanged(p0: Int, p1: ByteArray?) { + //showTip("当前正在说话,音量大小 = " + volume + " 返回音频数据 = " + data.length); + } + + override fun onBeginOfSpeech() { + // 此回调表示:sdk内部录音机已经准备好了,用户可以开始语音输入 + } + + override fun onEndOfSpeech() { + // 此回调表示:检测到了语音的尾端点,已经进入识别过程,不再接受语音输入 + } + + override fun onResult(results: RecognizerResult?, isLast: Boolean) { + results?.let { + printResult(it) + } + } + + override fun onError(p0: SpeechError?) { + // Tips: + // 错误码:10118(您没有说话),可能是录音机权限被禁,需要提示用户打开应用的录音权限。 + } + + override fun onEvent(p0: Int, p1: Int, p2: Int, p3: Bundle?) { + // 以下代码用于获取与云端的会话id,当业务出错时将会话id提供给技术支持人员,可用于查询会话日志,定位出错原因 + // 若使用本地能力,会话id为null + // if (SpeechEvent.EVENT_SESSION_ID == eventType) { + // String sid = obj.getString(SpeechEvent.KEY_EVENT_SESSION_ID); + // Log.d(TAG, "session id =" + sid); + // } + } + + } + + /** + * 显示结果 + */ + private fun printResult(results: RecognizerResult) { + val text: String = JsonParser.parseIatResult(results.resultString) + var sn: String? = null + // 读取json结果中的sn字段 + try { + val resultJson = JSONObject(results.resultString) + sn = resultJson.optString("sn") + } catch (e: JSONException) { + e.printStackTrace() + } + mIatResults[sn!!] = text + val resultBuffer = java.lang.StringBuilder() + for (key in mIatResults.keys) { + resultBuffer.append(mIatResults[key]) + } + Log.i(TAG, "语音内容=$resultBuffer") + reasonDetail = resultBuffer.toString() + if(reasonDetail.isNotEmpty()){ + etDescribeInput.setText(reasonDetail) + } + } + + @SuppressLint("ClickableViewAccessibility") + override fun onTouch(v: View?, motionEvent: MotionEvent?): Boolean { + when (motionEvent?.action) { + MotionEvent.ACTION_DOWN -> { + // 获取相对View的坐标,即以此View左上角为原点 + mInViewX = motionEvent.x + mInViewY = motionEvent.y + // 获取相对屏幕的坐标,即以屏幕左上角为原点 + mInScreenX = motionEvent.rawX + mInScreenY = motionEvent.rawY + } + MotionEvent.ACTION_MOVE -> { + // 更新浮动窗口位置参数 + mInScreenX = motionEvent.rawX + mInScreenY = motionEvent.rawY + if(((mInScreenX - mInViewX)-mWindowParams!!.x).absoluteValue>150 || ((mInScreenY - mInViewY)-mWindowParams!!.y).absoluteValue>150){ + return true + } + mWindowParams!!.x = (mInScreenX - mInViewX).toInt() + mWindowParams!!.y = (mInScreenY - mInViewY).toInt() + // 手指移动的时候更新小悬浮窗的位置 + mWindowManager!!.updateViewLayout(mFloatLayout, mWindowParams) + } + } + return true + } + + fun showFloatWindow() { + if (mFloatLayout.parent == null) { + val metrics = DisplayMetrics() + // 默认固定位置,靠屏幕右边缘的中间 + mWindowManager!!.defaultDisplay.getMetrics(metrics) + mWindowParams!!.x = metrics.widthPixels-890 + mWindowParams!!.y = metrics.heightPixels - BarUtils.getStatusBarHeight()-1140 + mWindowManager!!.addView(mFloatLayout, mWindowParams) + + + } + } + + fun hideFloatWindow() { + if (mFloatLayout.parent != null){ + mWindowManager!!.removeView(mFloatLayout) + } + CallerDevaToolsListenerManager.removeListener(TAG) + } + + override fun workOrderReportSuccess() { + ToastUtils.showShort("工单上报成功") + hideFloatWindow() + } + + override fun workOrderReportError() { + ToastUtils.showShort("工单上报失败") + } + + fun setClickListener(clickListener: ClickListener) { + this.clickListener = clickListener + } + + interface ClickListener { + fun closeWindow() + } +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/bg_work_order_des_input.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/bg_work_order_des_input.png new file mode 100644 index 0000000000000000000000000000000000000000..eee3703f5c6089e8d509a8d81ec1a5b40712326e GIT binary patch literal 2710 zcmeAS@N?(olHy`uVBq!ia0y~yVCDw0i#gbU4tL6qjk9n;iUR_RYB~pW55W+1%S- z5fOh^GJB`pw5o0Ej?aBrEYHFrpy1HJz{teHF^8eiYMRlus)*A+l79Vpc&_5ryR+Hd z>Bqxwdo`@Dmwo>9`}FVOOKakeeSCg%!@lk7Hp_?o{(Zjxzk5F?+zf#q|G9X&kM1op8kB=>#vu;TKqFzlU}|0>iv3|+R61u zMp*1*I$ZGU&nn&b+oR5(iTeHF*wwpdC$p|ye`kK+jg~{Z{sc`s?caLnq%F&AL73YG zEc7<~{8|61;p-LVz1(K|3r%V-tBL(uFZVTFqNEDuOer5-zg_%YW(3 z{-6A;dE1}d2;TV>Zi*)bBPN3b1LPwIg$+NaE=l~FvTt7Pgm?2frk_?-h=!ue=g;{kzcH{7_(6!UE);(uH`@t>sRy-!C@UYxC-R{?E90C1`j9 z)hJAKsQ=w^k8|z*hf%gS{u^I>7p97keW1(qxAt0<`j>d;PmYi{0-M{Y+jx(2eY{m^ z_8Ue}#K9~((j*NJ51`osAI>;2B>TWMD(r5EI8n#=O&xB707pkF!?76%50^1+obZ?F zjXy$Q~5qcaPbXW|IA>6r% zyQB4uctSlwPh&#_M*>o?ricr0-_$?w521&NaihQi31PVZPUtC!ZHjOBi--yqpvxKz z)!?3+5bL0mvY+8MLJtSakS}!cMO3^7HNc4l^Ta0G3OfIlC5IJH1!<7O2tTtl1xy zTWLSHr4>=Y3)~QT5qshHg7QPJr~B>Qu={$JZE)GM_}tp%?1*}T;|aWKUuwRw;B}Dg zjIG}iv!5cp>0-kp&@ckkxUL#J0+$sydT?!Vywocs0n^f&+9{`dL+dyIS8tHfn;qxl+n>(rm^_y&0 zL^ytV)1T*gMc-QxWy`YEUV8I}`*c9EeH$#bn4wd7ip`E zP?w$Rol4y=zZf!T>a24(Rm)H`bH^cxh8QI;jgw3hloqiwT=Jd5(;&iU%P=8tQ3}J7 zf)|VpCBmxA3a!rk3`=HfNHS>3R52*rbveo4@$dpO!%H7p)BBfm~s1L z)|YpZE-t(FN_TUWv3Mr?X#uaRr~Y#Kd;Sz-5jwH`?sNme1_>1g#ty-RQ!f-444Hgx ze&;@VR+`u9s`R2|8-A_cQ!qC-aO*~W`QCs}+rLkJ6ytPha=7NNnP23BfBboR=eumi zhV`AhtWVAUc3~dxn|W4q^jGolsNO7m$`{}ty0bs-_>W^sb2s-bkFNAc-eDB2`95Tw zPWs>Sb#}g&T9p%@t3KPi(Czu&8{2NYdiwdub{^ejd!P5H=j{5Nbg=q>eMk+v)XzB! zFE@8C^1gRJ(!F2bbbXIx#f$~|_vfyU414&&t~WHoM_@UNKyerYi-KE&=Hh0CBOC@# z9m*!W{l#!g)F}Gb{-+L1zJB@_4?X(ydzJiWv$IE57xPY8`t7gN#wnj?*M6@2^v&k0 zg?LZ?@qYnTE2p@Jruir|Zi=2eC-T(akhI%N?Xwl)la}i5|D?=#M1q;ap@$*ZjU6ex zBxR8-PAw5=kYHTa!>7gcq$VYuc?HLW&+8M?7(;kGB$63EF$o>ocCv<3fnUM-RJwfI zqWKJ4%r3aZ9@#TPm+=IvN=t?KDt>tx*_@xO3z%dSGmZ$j#h2&5Zk$-nd-><28&~bG v`$=YHTO>Lus^Rw$8cVGMwRsEm)`ucg_j{Q6$4a!=cu6{1-oD!M<7)O|$ literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_work_order_audio.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_work_order_audio.png new file mode 100644 index 0000000000000000000000000000000000000000..391db11e685a30fd2063a8ea84a728e128950d4a GIT binary patch literal 2924 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 literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_work_order_reduce.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_work_order_reduce.png new file mode 100644 index 0000000000000000000000000000000000000000..b7cc604c26f838704b11ae5f94b291b591366ca1 GIT binary patch literal 762 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!jKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(<^v49!D1}U6i==Pq0fhon)#WAFU z@$IdR-pY<5Y#+=YYiUHd=rmQ`;CK~VSTS|M-s_!LO~bpQB7Vx>xOqDxwN&O%b!RA<*SqaI{)Q0rgq;x7rJaU)4E;aZ~fT5v=qNM!t1InXi+%3FMY1_ zoHiG;z0ZG~TNxY1yZos23+og2C+uWp&H1*4Yg*)nmy74{Br-~Wem}>+d+j9KqgfNH zH5?Q~8hsQP4tmgtj)-+=Z4G-qb*J3SUsqoKe_8kU+w)yYtL^`JZv68rInzCZ`@-~z zF3r zIhJr}q?QRZiZCuc!>2SsX~C46jx0eeQ;e)T9J(5U(%1z(1OraJQDD+!@|r1&sp*aN zi4XmU)jY0AlwV#VSF5>~UDkd51(pNMH{*R@U7Y@=AUw~zXJ=2G5<^1yb>EXx-_Ks} zZnO;KPv76{XZEZANXeNB&U+gc${H;wc~fG%eSV3`;yT?MvkaecJ#&?A&VFpCf0ysx lY?b^amn2vF<>%i&$sF-0y5Z2BATLn5^K|udS?83{1OO#RF-HIZ literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_work_order_title.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_work_order_title.png new file mode 100644 index 0000000000000000000000000000000000000000..de313a3339b1088665ab91032b54ea2740cb6082 GIT binary patch literal 112895 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 literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/type_radio_button_select.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/type_radio_button_select.xml new file mode 100644 index 0000000000..bcb67b7556 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/type_radio_button_select.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/type_radio_button_unselect.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/type_radio_button_unselect.xml new file mode 100644 index 0000000000..cb1fa5e3d6 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/type_radio_button_unselect.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/work_order_type_radio_button.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/work_order_type_radio_button.xml new file mode 100644 index 0000000000..96ae36458b --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/work_order_type_radio_button.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_work_order.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_work_order.xml new file mode 100644 index 0000000000..51f56b5532 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_work_order.xml @@ -0,0 +1,269 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/values/strings.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/values/strings.xml index c29106e01a..4c1d9a6abd 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/res/values/strings.xml +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/values/strings.xml @@ -1,4 +1,18 @@ - + + 问题上报 + 问题类型 + 发生时间 + 问题描述 + 手动输入 + 上报 + 取消 + 时间: + 感知 + 硬件 + 原车 + 服务 + 其他 + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/values/styles.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/values/styles.xml index 9ea5908c93..a64bbda71e 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/res/values/styles.xml +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/values/styles.xml @@ -16,5 +16,15 @@ @drawable/rv_scroll_bar_track + + \ No newline at end of file diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/report/FaultInfo.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/report/FaultInfo.kt new file mode 100644 index 0000000000..472f2777ef --- /dev/null +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/report/FaultInfo.kt @@ -0,0 +1,18 @@ +package com.mogo.eagle.core.data.deva.report + +/** + * 故障内容实体类 + * @param isRecover 恢复逻辑,标记这条报警是恢复还是报警条目 + * @param faultId 故障Id + * @param faultName 故障名称 + * @param startTime 报警时间 + * @param detail 报警内容 + */ +data class FaultInfo(var isRecover: Boolean = false,var faultId: String,var faultName: String, + var startTime:String,var detail: FaultDetailInfo) + +/** + * 报警内容实体类 + * @param info 故障描述 + */ +data class FaultDetailInfo(var info: String) \ No newline at end of file diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/report/WorkOrderReportInfo.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/report/WorkOrderReportInfo.kt new file mode 100644 index 0000000000..b3bbde9100 --- /dev/null +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/report/WorkOrderReportInfo.kt @@ -0,0 +1,17 @@ +package com.mogo.eagle.core.data.deva.report + +/** + * 人工报障上报实体类 + * @param type 问题类型:感知、硬件、原车、服务、其他 + * @param reportTime 上报时间 + * @param describe 上报描述 + * @param longitude 经度 + * @param latitude 纬度 + * @param plateNumber 车牌号实际上 就是cmdb中的sn + * @param phoneNumber 安全员联系方式 + * @param map map版本 + * @param faultList FM上报故障列表 + */ +data class WorkOrderReportInfo(var type: String,var reportTime: String,var describe: String, + var longitude: String,var latitude: String,var plateNumber: String, + var phoneNumber: String,var map: String,var faultList: ArrayList) \ No newline at end of file diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt index d211d737bd..a809c0c69e 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt @@ -8,6 +8,7 @@ import com.alibaba.android.arouter.facade.template.IProvider import com.mogo.eagle.core.data.EnvConfig import com.mogo.eagle.core.data.deva.bindingcar.ModifyBindingcarInfo import com.mogo.eagle.core.data.deva.chain.ChainLogParam +import com.mogo.eagle.core.data.deva.report.WorkOrderReportInfo import com.mogo.eagle.core.data.deva.scene.SceneModule import com.mogo.eagle.core.data.deva.scene.SceneTAG import com.mogo.eagle.core.data.msgbox.MsgBoxBean @@ -96,6 +97,8 @@ interface IDevaToolsProvider : IProvider { */ fun updateSceneTAG(sceneTag: MutableMap) + fun reportWorkOrder(view: View) + /** * 初始化BadCase入口 * @param view: BadCase入口视图 @@ -232,6 +235,11 @@ interface IDevaToolsProvider : IProvider { */ fun queryContainers(padSn: String, dockerVersion: String) + /** + * 工单上报接口 + */ + fun workOrderReport(workOrderReportInfo: WorkOrderReportInfo) + /** * 查询app是否有更新 */ diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IMoGoDevaToolsListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IMoGoDevaToolsListener.kt index 0162e6fcb3..e95e402167 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IMoGoDevaToolsListener.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IMoGoDevaToolsListener.kt @@ -51,6 +51,10 @@ interface IMoGoDevaToolsListener { } + fun workOrderReportSuccess(){} + + fun workOrderReportError(){} + fun mofangStatus(status:Boolean){ } diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsListenerManager.kt index f96fcfffde..9d92707d20 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsListenerManager.kt @@ -64,6 +64,20 @@ object CallerDevaToolsListenerManager : CallerBase() { } } + fun invokeWorkOrderReportSuccess(){ + M_LISTENERS.forEach{ + val listener = it.value + listener.workOrderReportSuccess() + } + } + + fun invokeWorkOrderReportError(){ + M_LISTENERS.forEach{ + val listener = it.value + listener.workOrderReportError() + } + } + fun invokeMoFangStatus(status:Boolean){ M_LISTENERS.forEach { val listener = it.value diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt index b8d30fed0c..0fc365fffd 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt @@ -9,6 +9,7 @@ import com.mogo.eagle.core.data.deva.bindingcar.ModifyBindingcarInfo import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.constants.MogoServicePaths import com.mogo.eagle.core.data.deva.chain.ChainLogParam +import com.mogo.eagle.core.data.deva.report.WorkOrderReportInfo import com.mogo.eagle.core.data.deva.scene.SceneModule import com.mogo.eagle.core.data.deva.scene.SceneTAG import com.mogo.eagle.core.data.msgbox.MsgBoxBean @@ -128,6 +129,13 @@ object CallerDevaToolsManager { devaToolsProviderApi?.updateSceneTAG(sceneTag) } + /** + * 开启上报工单 + */ + fun reportWorkOrder(view: View){ + devaToolsProviderApi?.reportWorkOrder(view) + } + /** * 初始化BadCase相关配置 */ @@ -320,6 +328,13 @@ object CallerDevaToolsManager { devaToolsProviderApi?.queryContainers(padSn, dockerVersion) } + /** + * 工单上报接口 + */ + fun workOrderReport(workOrderReportInfo: WorkOrderReportInfo){ + devaToolsProviderApi?.workOrderReport(workOrderReportInfo) + } + fun dockerVersion(dockerVersion: String?){ devaToolsProviderApi?.dockerVersion(dockerVersion) } diff --git a/core/mogo-core-res/src/main/res/values/dimens.xml b/core/mogo-core-res/src/main/res/values/dimens.xml index eb82271a1e..14db571916 100644 --- a/core/mogo-core-res/src/main/res/values/dimens.xml +++ b/core/mogo-core-res/src/main/res/values/dimens.xml @@ -1057,6 +1057,8 @@ 23dp 24dp 25dp + 26dp + 27dp 28dp 30dp 32dp