[6.6.0]数据闭环
This commit is contained in:
@@ -619,8 +619,8 @@ class DevaToolsProvider : IDevaToolsProvider, IAppStateListener {
|
||||
WorkOrderManager.workOrderManager.problemPadAdd(padAddProblemReq)
|
||||
}
|
||||
|
||||
override fun getCategories(tenantId: Long, level: Int, parentId: Int) {
|
||||
WorkOrderManager.workOrderManager.getCategories(tenantId, level, parentId)
|
||||
override fun getCategories(tenantId: Long, level: Int, parentId: Int,type: Int,upType: Int) {
|
||||
WorkOrderManager.workOrderManager.getCategories(tenantId, level, parentId,type, upType)
|
||||
}
|
||||
|
||||
override fun queryAppUpgrade() {
|
||||
|
||||
@@ -678,4 +678,11 @@ internal object BadCaseManager : LifecycleEventObserver, IMoGoAutopilotRecordLis
|
||||
this.lineName = lineName
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取租户ID
|
||||
*/
|
||||
override fun onTenantIdUpdate(tenantId: Long) {
|
||||
BadCaseConfig.tenantId = tenantId
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -62,6 +62,9 @@ object BadCaseConfig {
|
||||
//本次问题是否已经触发一键上报
|
||||
@JvmField
|
||||
var alreadyShowOneReport: Boolean = false
|
||||
//租户ID
|
||||
@JvmField
|
||||
var tenantId: Long = 0
|
||||
|
||||
private const val resourceInitiative = "RESOURCE_INITIATIVE" //录包来源为主动录包
|
||||
private const val resourceAiData = "RESOURCE_AI_DATA" //录包来源为AI数据采集
|
||||
|
||||
@@ -59,6 +59,7 @@ 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 com.zhjt.mogo_core_function_devatools.workorder.adapter.OrderReasonAdapter
|
||||
import kotlin.math.absoluteValue
|
||||
|
||||
@@ -120,6 +121,8 @@ class FaultReasonWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
private var reportNote: String = "" //上报描述
|
||||
private val reportType: Int = 2 //上报方式:0:小程序 1:司机屏 2:云端上报
|
||||
|
||||
private var source: Int = 0 //操作源,0:类型;1:原因
|
||||
|
||||
init {
|
||||
initFloatWindow()
|
||||
}
|
||||
@@ -166,16 +169,16 @@ class FaultReasonWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
rvFaultList.layoutManager = linearLayoutManager
|
||||
orderReasonAdapter = OrderReasonAdapter()
|
||||
orderReasonAdapter.setListener(object: OrderReasonAdapter.ReasonSelectListener{
|
||||
override fun onSelectReason(reason: String, mSource: Int) {
|
||||
override fun onSelectReason(reason: CategoryInfo, mSource: Int) {
|
||||
if(mSource == 0){
|
||||
//类型
|
||||
tbFaultType.textOn = reason
|
||||
tbFaultType.textOff = reason
|
||||
tbFaultType.textOn = reason.name
|
||||
tbFaultType.textOff = reason.name
|
||||
tbFaultType.performClick()
|
||||
}else{
|
||||
//原因
|
||||
tbFaultReason.textOn = reason
|
||||
tbFaultReason.textOff = reason
|
||||
tbFaultReason.textOn = reason.name
|
||||
tbFaultReason.textOff = reason.name
|
||||
tbFaultReason.performClick()
|
||||
}
|
||||
}
|
||||
@@ -203,21 +206,14 @@ class FaultReasonWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
(rvFaultList.layoutParams as ConstraintLayout.LayoutParams).topToBottom = R.id.tbFaultType
|
||||
tbFaultReason.visibility = View.INVISIBLE
|
||||
|
||||
val list = ArrayList<String>()
|
||||
list.add("一级分类1")
|
||||
list.add("一级分类2")
|
||||
list.add("一级分类3")
|
||||
list.add("一级分类4")
|
||||
list.add("一级分类5")
|
||||
list.add("一级分类6")
|
||||
list.add("一级分类7")
|
||||
list.add("一级分类8")
|
||||
list.add("一级分类9")
|
||||
list.add("一级分类10")
|
||||
list.add("一级分类11")
|
||||
list.add("一级分类12")
|
||||
list.add("一级分类13")
|
||||
orderReasonAdapter.setData(list,0)
|
||||
// val list = ArrayList<String>()
|
||||
// list.add("一级分类1")
|
||||
// orderReasonAdapter.setData(list,0)
|
||||
|
||||
source = 0
|
||||
//获取故障二级分类即故障类型
|
||||
CallerDevaToolsManager.getCategories(BadCaseConfig.tenantId,2,1,1,0)
|
||||
|
||||
} else {
|
||||
buttonView.setCompoundDrawables(null, null, iconDown, null)
|
||||
//隐藏列表
|
||||
@@ -232,21 +228,16 @@ class FaultReasonWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
//展示列表
|
||||
rvFaultList.visibility = View.VISIBLE
|
||||
(rvFaultList.layoutParams as ConstraintLayout.LayoutParams).topToBottom = R.id.tbFaultReason
|
||||
val list = ArrayList<String>()
|
||||
list.add("二级分类1")
|
||||
list.add("二级分类2")
|
||||
list.add("二级分类3")
|
||||
list.add("二级分类4")
|
||||
list.add("二级分类5")
|
||||
list.add("二级分类6")
|
||||
list.add("二级分类7")
|
||||
list.add("二级分类8")
|
||||
list.add("二级分类9")
|
||||
list.add("二级分类10")
|
||||
list.add("二级分类11")
|
||||
list.add("二级分类12")
|
||||
list.add("二级分类13")
|
||||
orderReasonAdapter.setData(list,1)
|
||||
|
||||
// val list = ArrayList<String>()
|
||||
// list.add("二级分类1")
|
||||
// orderReasonAdapter.setData(list,1)
|
||||
|
||||
source = 1
|
||||
//获取故障三级分类即故障原因
|
||||
CallerDevaToolsManager.getCategories(BadCaseConfig.tenantId,3,1,1,0)
|
||||
|
||||
|
||||
} else {
|
||||
buttonView.setCompoundDrawables(null, null, iconDown, null)
|
||||
//隐藏列表
|
||||
@@ -308,6 +299,10 @@ class FaultReasonWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
}
|
||||
//上报
|
||||
tvFaultReport.setOnClickListener{
|
||||
//故障码列表赋值
|
||||
BadCaseConfig.newFMInfoMsg?.fmInfoList?.forEach {
|
||||
faultCodeList.add(it.faultId)
|
||||
}
|
||||
val geocodeSearch = GeocodeSearch(mActivity)
|
||||
geocodeSearch.setOnGeocodeSearchListener(object: GeocodeSearch.OnGeocodeSearchListener {
|
||||
override fun onRegeocodeSearched(regeocodeResult: RegeocodeResult?, p1: Int) {
|
||||
@@ -380,10 +375,6 @@ class FaultReasonWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 听写监听器。
|
||||
*/
|
||||
|
||||
/**
|
||||
* 听写监听器。
|
||||
*/
|
||||
@@ -530,6 +521,11 @@ class FaultReasonWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
|
||||
override fun getCategoriesSuccess(list: List<CategoryInfo>) {
|
||||
super.getCategoriesSuccess(list)
|
||||
ThreadUtils.runOnUiThread {
|
||||
if(list.isNotEmpty()){
|
||||
orderReasonAdapter.setData(list,source)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun getCategoriesError(msg: String) {
|
||||
|
||||
@@ -16,10 +16,23 @@ import android.widget.ImageView
|
||||
import android.widget.TextView
|
||||
import androidx.appcompat.widget.AppCompatTextView
|
||||
import androidx.constraintlayout.widget.Group
|
||||
import com.amap.api.services.core.LatLonPoint
|
||||
import com.amap.api.services.geocoder.GeocodeResult
|
||||
import com.amap.api.services.geocoder.GeocodeSearch
|
||||
import com.amap.api.services.geocoder.RegeocodeQuery
|
||||
import com.amap.api.services.geocoder.RegeocodeResult
|
||||
import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.data.app.AppConfigInfo
|
||||
import com.mogo.eagle.core.data.deva.report.CategoryInfo
|
||||
import com.mogo.eagle.core.data.deva.report.PadAddProblemReq
|
||||
import com.mogo.eagle.core.data.deva.report.PadProblemInfo
|
||||
import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
|
||||
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.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils.millis2String
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.zhjt.mogo_core_function_devatools.R
|
||||
import com.zhjt.mogo_core_function_devatools.badcase.consts.BadCaseConfig
|
||||
@@ -56,6 +69,15 @@ class ReportTypeWindow constructor(activity: Activity): IMoGoDevaToolsListener {
|
||||
|
||||
private var oneClickTimer: CountDownTimer ?= null
|
||||
|
||||
private var address: String = "" //故障地点
|
||||
private var faultCodeList = ArrayList<String>() //故障码列表
|
||||
private var level1Id: Int = 0 //一级分类ID
|
||||
private var level2Id: Int = 0 //二级分类ID
|
||||
private var level3Id: Int = 0 //三级分类ID
|
||||
private var lineName: String = "" //行驶路线
|
||||
private var reportNote: String = "" //上报描述
|
||||
private val reportType: Int = 2 //上报方式:0:小程序 1:司机屏 2:云端上报
|
||||
|
||||
init {
|
||||
initFloatWindow()
|
||||
}
|
||||
@@ -97,8 +119,31 @@ class ReportTypeWindow constructor(activity: Activity): IMoGoDevaToolsListener {
|
||||
//一键上报
|
||||
ivOneClickReport.setOnClickListener {
|
||||
hasReportOperate = true
|
||||
//TODO
|
||||
BadCaseConfig.newFMInfoMsg?.fmInfoList?.forEach {
|
||||
faultCodeList.add(it.faultId)
|
||||
}
|
||||
val geocodeSearch = GeocodeSearch(mActivity)
|
||||
geocodeSearch.setOnGeocodeSearchListener(object: GeocodeSearch.OnGeocodeSearchListener {
|
||||
override fun onRegeocodeSearched(regeocodeResult: RegeocodeResult?, p1: Int) {
|
||||
regeocodeResult?.regeocodeAddress?.formatAddress?.let {
|
||||
address = it
|
||||
}
|
||||
val padProblemList= ArrayList<PadProblemInfo>()
|
||||
val padProblemInfo = PadProblemInfo(address,faultCodeList,millis2String(System.currentTimeMillis()),level1Id,
|
||||
level2Id,level3Id,lineName,reportNote,reportType,
|
||||
SharedPrefsMgr.getInstance().getString("och_account",""))
|
||||
padProblemList.add(padProblemInfo)
|
||||
val padAddProblemReq = PadAddProblemReq(padProblemList, AppConfigInfo.plateNumber)
|
||||
CallerDevaToolsManager.problemPadAdd(padAddProblemReq)
|
||||
}
|
||||
|
||||
override fun onGeocodeSearched(p0: GeocodeResult?, p1: Int) {
|
||||
|
||||
}
|
||||
})
|
||||
val latLon = LatLonPoint(CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().latitude, CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().longitude)
|
||||
val q = RegeocodeQuery(latLon,200f, GeocodeSearch.AMAP)
|
||||
geocodeSearch.getFromLocationAsyn(q)
|
||||
}
|
||||
//故障类
|
||||
tvReportTypeFault.setOnClickListener {
|
||||
@@ -197,6 +242,8 @@ class ReportTypeWindow constructor(activity: Activity): IMoGoDevaToolsListener {
|
||||
mWindowParams!!.y = yPosition
|
||||
mWindowManager!!.addView(mFloatLayout, mWindowParams)
|
||||
showOneCLickReportView()
|
||||
//请求一键上报故障码
|
||||
CallerDevaToolsManager.getCategories(BadCaseConfig.tenantId,1,1,4,1)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -237,4 +284,13 @@ class ReportTypeWindow constructor(activity: Activity): IMoGoDevaToolsListener {
|
||||
ToastUtils.showShort("故障原因上报失败$msg")
|
||||
}
|
||||
|
||||
override fun getCategoriesSuccess(list: List<CategoryInfo>) {
|
||||
super.getCategoriesSuccess(list)
|
||||
//TODO
|
||||
}
|
||||
|
||||
override fun getCategoriesError(msg: String) {
|
||||
super.getCategoriesError(msg)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -37,14 +37,17 @@ 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.devatools.CallerDevaToolsManager
|
||||
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.ThreadUtils
|
||||
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 com.zhjt.mogo_core_function_devatools.workorder.adapter.OrderReasonAdapter
|
||||
import kotlinx.coroutines.DelicateCoroutinesApi
|
||||
import kotlin.math.absoluteValue
|
||||
@@ -95,6 +98,8 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
private lateinit var orderReasonAdapter: OrderReasonAdapter
|
||||
private lateinit var mTakeOverRecordInfo: TakeOverRecordInfo
|
||||
|
||||
private var source: Int = 0 //操作源,0:类型;1:原因
|
||||
|
||||
init {
|
||||
initFloatWindow()
|
||||
}
|
||||
@@ -137,16 +142,16 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
rvTakeOverList.layoutManager = linearLayoutManager
|
||||
orderReasonAdapter = OrderReasonAdapter()
|
||||
orderReasonAdapter.setListener(object: OrderReasonAdapter.ReasonSelectListener{
|
||||
override fun onSelectReason(reason: String, mSource: Int) {
|
||||
override fun onSelectReason(reason: CategoryInfo, mSource: Int) {
|
||||
if(mSource == 0){
|
||||
//类型
|
||||
tbTakeOverType.textOn = reason
|
||||
tbTakeOverType.textOff = reason
|
||||
tbTakeOverType.textOn = reason.name
|
||||
tbTakeOverType.textOff = reason.name
|
||||
tbTakeOverType.performClick()
|
||||
}else{
|
||||
//原因
|
||||
tbTakeOverReason.textOn = reason
|
||||
tbTakeOverReason.textOff = reason
|
||||
tbTakeOverReason.textOn = reason.name
|
||||
tbTakeOverReason.textOff = reason.name
|
||||
tbTakeOverReason.performClick()
|
||||
}
|
||||
}
|
||||
@@ -173,21 +178,9 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
(rvTakeOverList.layoutParams as ConstraintLayout.LayoutParams).topToBottom = R.id.tbTakeOverType
|
||||
tbTakeOverReason.visibility = View.INVISIBLE
|
||||
|
||||
val list = ArrayList<String>()
|
||||
list.add("一级分类1")
|
||||
list.add("一级分类2")
|
||||
list.add("一级分类3")
|
||||
list.add("一级分类4")
|
||||
list.add("一级分类5")
|
||||
list.add("一级分类6")
|
||||
list.add("一级分类7")
|
||||
list.add("一级分类8")
|
||||
list.add("一级分类9")
|
||||
list.add("一级分类10")
|
||||
list.add("一级分类11")
|
||||
list.add("一级分类12")
|
||||
list.add("一级分类13")
|
||||
orderReasonAdapter.setData(list,0)
|
||||
source = 0
|
||||
//获取故障二级分类即故障类型
|
||||
CallerDevaToolsManager.getCategories(BadCaseConfig.tenantId,2,1,1,0)
|
||||
} else {
|
||||
buttonView.setCompoundDrawables(null, null, iconDown, null)
|
||||
//隐藏列表
|
||||
@@ -202,21 +195,10 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
//展示列表
|
||||
rvTakeOverList.visibility = View.VISIBLE
|
||||
(rvTakeOverList.layoutParams as ConstraintLayout.LayoutParams).topToBottom = R.id.tbTakeOverReason
|
||||
val list = ArrayList<String>()
|
||||
list.add("二级分类1")
|
||||
list.add("二级分类2")
|
||||
list.add("二级分类3")
|
||||
list.add("二级分类4")
|
||||
list.add("二级分类5")
|
||||
list.add("二级分类6")
|
||||
list.add("二级分类7")
|
||||
list.add("二级分类8")
|
||||
list.add("二级分类9")
|
||||
list.add("二级分类10")
|
||||
list.add("二级分类11")
|
||||
list.add("二级分类12")
|
||||
list.add("二级分类13")
|
||||
orderReasonAdapter.setData(list,1)
|
||||
|
||||
source = 1
|
||||
//获取故障三级分类即故障原因
|
||||
CallerDevaToolsManager.getCategories(BadCaseConfig.tenantId,3,1,1,0)
|
||||
} else {
|
||||
buttonView.setCompoundDrawables(null, null, iconDown, null)
|
||||
//隐藏列表
|
||||
@@ -430,6 +412,11 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
|
||||
override fun getCategoriesSuccess(list: List<CategoryInfo>) {
|
||||
super.getCategoriesSuccess(list)
|
||||
ThreadUtils.runOnUiThread {
|
||||
if(list.isNotEmpty()){
|
||||
orderReasonAdapter.setData(list,source)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun getCategoriesError(msg: String) {
|
||||
|
||||
@@ -2,18 +2,25 @@ package com.zhjt.mogo_core_function_devatools.workorder
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.data.app.AppConfigInfo
|
||||
import com.mogo.eagle.core.data.deva.report.PadAddProblemReq
|
||||
import com.mogo.eagle.core.data.deva.report.PadProblemInfo
|
||||
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.devatools.CallerDevaToolsManager
|
||||
import com.mogo.eagle.core.function.call.takeover.CallerTakeOverManager
|
||||
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.TimeUtils.millis2String
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.eagle.core.utilcode.util.Utils
|
||||
import com.zhjt.mogo_core_function_devatools.R
|
||||
@@ -27,7 +34,6 @@ import kotlinx.android.synthetic.main.view_take_over_record.view.tvRecordNoData
|
||||
import kotlinx.android.synthetic.main.view_take_over_record.view.tvTakeOverRecordDate
|
||||
import kotlinx.android.synthetic.main.view_take_over_record.view.tvUpload
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.launch
|
||||
import me.jessyan.autosize.utils.AutoSizeUtils
|
||||
|
||||
@@ -38,7 +44,7 @@ class TakeOverRecordView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0
|
||||
) : ConstraintLayout(context, attrs, defStyleAttr) {
|
||||
) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoDevaToolsListener {
|
||||
|
||||
companion object {
|
||||
const val TAG = "TakeOverRecordView"
|
||||
@@ -62,6 +68,7 @@ class TakeOverRecordView @JvmOverloads constructor(
|
||||
//关闭窗口
|
||||
ivTakeOverRecordClose.setOnClickListener {
|
||||
clickListener?.onClose()
|
||||
CallerDevaToolsListenerManager.removeListener(TAG)
|
||||
}
|
||||
//接管记录日期
|
||||
tvTakeOverRecordDate.text = TimeUtils.millis2String(System.currentTimeMillis(), getYMDFormat())
|
||||
@@ -102,7 +109,25 @@ class TakeOverRecordView @JvmOverloads constructor(
|
||||
|
||||
//一键上传
|
||||
tvUpload.setOnClickListener {
|
||||
if(selectedUploadRecord.isEmpty()){
|
||||
ToastUtils.showShort("请选择需要上传的接管记录")
|
||||
}else{
|
||||
val recordIterator = selectedUploadRecord.iterator()
|
||||
val padProblemList= ArrayList<PadProblemInfo>()
|
||||
while(recordIterator.hasNext()){
|
||||
val uploadRecord = recordIterator.next()
|
||||
uploadRecord.let {
|
||||
val padProblemInfo = PadProblemInfo(it.address, emptyList(),
|
||||
millis2String(it.faultStartTime),it.level1Id,it.level2Id,it.level3Id,
|
||||
it.lineName,it.reportNote,1,
|
||||
SharedPrefsMgr.getInstance().getString("och_account",""))
|
||||
padProblemList.add(padProblemInfo)
|
||||
}
|
||||
|
||||
}
|
||||
val padAddProblemReq = PadAddProblemReq(padProblemList, AppConfigInfo.plateNumber)
|
||||
CallerDevaToolsManager.problemPadAdd(padAddProblemReq)
|
||||
}
|
||||
}
|
||||
//删除
|
||||
tvDeleteSelect.setOnClickListener {
|
||||
@@ -120,6 +145,7 @@ class TakeOverRecordView @JvmOverloads constructor(
|
||||
}
|
||||
//获取接管记录列表
|
||||
refreshList()
|
||||
CallerDevaToolsListenerManager.addListener(TAG,this)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -151,4 +177,14 @@ class TakeOverRecordView @JvmOverloads constructor(
|
||||
fun onClose()
|
||||
}
|
||||
|
||||
override fun problemPadAddSuccess() {
|
||||
super.problemPadAddSuccess()
|
||||
|
||||
}
|
||||
|
||||
override fun problemPadAddError(msg: String) {
|
||||
super.problemPadAddError(msg)
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -40,7 +40,9 @@ interface WorkOrderApiService {
|
||||
@Header("appId") appId: String = MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
@Header("tenantId") tenantId: Long,
|
||||
@Query("level") level: Int,
|
||||
@Query("parentId") parentId: Int
|
||||
@Query("parentId") parentId: Int,
|
||||
@Query("type") type: Int,
|
||||
@Query("upType") upType: Int
|
||||
): Response<List<CategoryInfo>>
|
||||
|
||||
}
|
||||
@@ -82,9 +82,13 @@ class WorkOrderManager{
|
||||
|
||||
/**
|
||||
* 获取报障、接管、一键上报配置
|
||||
* @param tenantId 租户ID
|
||||
* @param level 数据层级
|
||||
* @param type 类型
|
||||
* @param upType 一键上报的时候传1,其他分类的时候可以不传
|
||||
*/
|
||||
fun getCategories(tenantId: Long, level: Int, parentId: Int){
|
||||
workOrderNetWorkModel.getCategories(tenantId,level,parentId,
|
||||
fun getCategories(tenantId: Long, level: Int, parentId: Int,type: Int,upType: Int){
|
||||
workOrderNetWorkModel.getCategories(tenantId,level,parentId,type,upType,
|
||||
onSuccess = {
|
||||
CallerDevaToolsListenerManager.invokeGetCategoriesSuccess(it)
|
||||
},
|
||||
|
||||
@@ -61,13 +61,13 @@ class WorkOrderNetWorkModel {
|
||||
/**
|
||||
* 获取报障、接管、一键上报配置
|
||||
*/
|
||||
fun getCategories(tenantId: Long, level: Int, parentId: Int,
|
||||
fun getCategories(tenantId: Long, level: Int, parentId: Int,type: Int,upType: Int,
|
||||
onSuccess: ((List<CategoryInfo>) -> Unit),
|
||||
onError: ((String) -> Unit)){
|
||||
request<Response<List<CategoryInfo>>>{
|
||||
loader{
|
||||
apiResponseCall{
|
||||
getNetWorkApi(getOchUrl()).getCategories(MoGoAiCloudClientConfig.getInstance().serviceAppId,tenantId, level, parentId)
|
||||
getNetWorkApi(getOchUrl()).getCategories(MoGoAiCloudClientConfig.getInstance().serviceAppId,tenantId, level, parentId,type,upType)
|
||||
}
|
||||
}
|
||||
onSuccess {
|
||||
|
||||
@@ -5,6 +5,7 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.TextView
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.mogo.eagle.core.data.deva.report.CategoryInfo
|
||||
import com.zhjt.mogo_core_function_devatools.R
|
||||
|
||||
/**
|
||||
@@ -12,11 +13,11 @@ import com.zhjt.mogo_core_function_devatools.R
|
||||
*/
|
||||
class OrderReasonAdapter: RecyclerView.Adapter<OrderReasonAdapter.ReasonHolder>() {
|
||||
|
||||
private var data: List<String> ?= null
|
||||
private var data: List<CategoryInfo> ?= null
|
||||
private var selectListener: ReasonSelectListener ?= null
|
||||
private var mSource: Int = 0 //适配器数据来源,0:类型,1:原因
|
||||
|
||||
fun setData(data: List<String>,source: Int){
|
||||
fun setData(data: List<CategoryInfo>, source: Int){
|
||||
this.data = data
|
||||
mSource = source
|
||||
notifyDataSetChanged()
|
||||
@@ -31,7 +32,7 @@ class OrderReasonAdapter: RecyclerView.Adapter<OrderReasonAdapter.ReasonHolder>(
|
||||
override fun onBindViewHolder(holder: ReasonHolder, position: Int) {
|
||||
data?.let {
|
||||
val reason = it[position]
|
||||
holder.tvReason.text = reason
|
||||
holder.tvReason.text = reason.name
|
||||
holder.tvReason.setOnClickListener {
|
||||
selectListener?.onSelectReason(reason,mSource)
|
||||
}
|
||||
@@ -50,7 +51,7 @@ class OrderReasonAdapter: RecyclerView.Adapter<OrderReasonAdapter.ReasonHolder>(
|
||||
|
||||
interface ReasonSelectListener{
|
||||
//选择原因
|
||||
fun onSelectReason(reason: String,mSource: Int)
|
||||
fun onSelectReason(reason: CategoryInfo,mSource: Int)
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user