MainVM.kt 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. package com.bjca.hp.acupuncture.viewmodel
  2. import androidx.lifecycle.LiveData
  3. import androidx.lifecycle.MutableLiveData
  4. import com.bjca.hp.acupuncture.MyApplication
  5. import com.bjca.hp.acupuncture.model.ItemsItem2
  6. import com.bjca.hp.acupuncture.model.ItemsItem3
  7. import com.bjca.hp.acupuncture.model.ItemsItem5
  8. import com.bjca.hp.acupuncture.model.ItemsItems
  9. import com.bjca.hp.acupuncture.repository.Service
  10. import com.xuqm.base.di.manager.HttpManager
  11. import com.xuqm.base.extensions.showMessage
  12. import com.xuqm.sdhbwfu.core.viewModel.BaseViewModel
  13. import io.reactivex.android.schedulers.AndroidSchedulers
  14. import io.reactivex.schedulers.Schedulers
  15. /***************************************************************************
  16. * <pre></pre>
  17. * @文件名称: WelcomeVM
  18. * @包 路 径: com.bjca.hp.acupuncture.viewmodel
  19. * @版权所有:北京数字医信责任有限公司 (C) 2022
  20. *
  21. * @类描述:
  22. * @版本: V1.0
  23. * @创建人: xuqm
  24. * @创建时间:2022/6/17 下午 02:33
  25. * @修改记录:
  26. */
  27. class MainVM : BaseViewModel() {
  28. private val _status = MutableLiveData<ItemsItems>()
  29. val status: LiveData<ItemsItems> = _status
  30. fun getRp(opNo:String = "CF220609004247" ) {
  31. HttpManager.getApi(MyApplication.appComponent1, Service::class.java)
  32. .rp(opNo)
  33. .subscribeOn(Schedulers.io())
  34. .observeOn(AndroidSchedulers.mainThread())
  35. .subscribe(
  36. {
  37. _status.postValue(it.items[0])
  38. rpDetail(it.items[0].opNo, it.items[0].no)
  39. reg(it.items[0].opNo)
  40. }, {
  41. _status.postValue(null)
  42. showMessage(it.toString())
  43. }
  44. ).adds()
  45. }
  46. private val _rpDetail = MutableLiveData<List<ItemsItem2>>()
  47. val rpDetail: LiveData<List<ItemsItem2>> = _rpDetail
  48. fun rpDetail(opNo: String, rpNo: String) {
  49. HttpManager.getApi(MyApplication.appComponent1, Service::class.java)
  50. .rpDetail(opNo, rpNo)
  51. .subscribeOn(Schedulers.io())
  52. .observeOn(AndroidSchedulers.mainThread())
  53. .subscribe(
  54. {
  55. _rpDetail.postValue(it.items)
  56. }, {
  57. _rpDetail.postValue(null)
  58. showMessage(it.toString())
  59. }
  60. ).adds()
  61. }
  62. private val _regM = MutableLiveData<ItemsItem3>()
  63. val regM: LiveData<ItemsItem3> = _regM
  64. fun reg(opNo: String) {
  65. HttpManager.getApi(MyApplication.appComponent1, Service::class.java)
  66. .reg(opNo)
  67. .subscribeOn(Schedulers.io())
  68. .observeOn(AndroidSchedulers.mainThread())
  69. .subscribe(
  70. {
  71. _regM.postValue(it?.items?.get(0))
  72. }, {
  73. _regM.postValue(null)
  74. showMessage(it.toString())
  75. }
  76. ).adds()
  77. }
  78. private val _usages = MutableLiveData<List<ItemsItem5>>()
  79. val usages: LiveData<List<ItemsItem5>> = _usages
  80. fun drugUsage() {
  81. HttpManager.getApi(MyApplication.appComponent2, Service::class.java)
  82. .drugUsage()
  83. .subscribeOn(Schedulers.io())
  84. .observeOn(AndroidSchedulers.mainThread())
  85. .subscribe(
  86. {
  87. _usages.postValue(it.items)
  88. }, {
  89. _usages.postValue(null)
  90. showMessage(it.toString())
  91. }
  92. ).adds()
  93. }
  94. }