package com.bjca.hp.acupuncture.viewmodel
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.bjca.hp.acupuncture.MyApplication
import com.bjca.hp.acupuncture.model.ItemsItem2
import com.bjca.hp.acupuncture.model.ItemsItem3
import com.bjca.hp.acupuncture.model.ItemsItem5
import com.bjca.hp.acupuncture.model.ItemsItems
import com.bjca.hp.acupuncture.repository.Service
import com.xuqm.base.di.manager.HttpManager
import com.xuqm.base.extensions.showMessage
import com.xuqm.sdhbwfu.core.viewModel.BaseViewModel
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
/***************************************************************************
*
* @文件名称: WelcomeVM
* @包 路 径: com.bjca.hp.acupuncture.viewmodel
* @版权所有:北京数字医信责任有限公司 (C) 2022
*
* @类描述:
* @版本: V1.0
* @创建人: xuqm
* @创建时间:2022/6/17 下午 02:33
* @修改记录:
*/
class MainVM : BaseViewModel() {
private val _status = MutableLiveData()
val status: LiveData = _status
fun getRp(opNo:String = "CF220609004247" ) {
HttpManager.getApi(MyApplication.appComponent1, Service::class.java)
.rp(opNo)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{
_status.postValue(it.items[0])
rpDetail(it.items[0].opNo, it.items[0].no)
reg(it.items[0].opNo)
}, {
_status.postValue(null)
showMessage(it.toString())
}
).adds()
}
private val _rpDetail = MutableLiveData>()
val rpDetail: LiveData> = _rpDetail
fun rpDetail(opNo: String, rpNo: String) {
HttpManager.getApi(MyApplication.appComponent1, Service::class.java)
.rpDetail(opNo, rpNo)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{
_rpDetail.postValue(it.items)
}, {
_rpDetail.postValue(null)
showMessage(it.toString())
}
).adds()
}
private val _regM = MutableLiveData()
val regM: LiveData = _regM
fun reg(opNo: String) {
HttpManager.getApi(MyApplication.appComponent1, Service::class.java)
.reg(opNo)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{
_regM.postValue(it?.items?.get(0))
}, {
_regM.postValue(null)
showMessage(it.toString())
}
).adds()
}
private val _usages = MutableLiveData>()
val usages: LiveData> = _usages
fun drugUsage() {
HttpManager.getApi(MyApplication.appComponent2, Service::class.java)
.drugUsage()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{
_usages.postValue(it.items)
}, {
_usages.postValue(null)
showMessage(it.toString())
}
).adds()
}
}