UseWeightActivity.kt 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. package com.dlc.chemical.ui.use
  2. import android.annotation.SuppressLint
  3. import android.content.Intent
  4. import android.os.Bundle
  5. import android.view.View
  6. import com.dlc.chemical.databinding.ActivityUseWeightBinding
  7. import com.dlc.chemical.ui.MainActivity
  8. import com.dlc.chemical.ui.common.BaseCountDownActivity
  9. import com.dlc.chemical.ui.common.ExtraParam
  10. import com.dlc.chemical.ui.common.ModuleEnum
  11. import com.dlc.chemical.ui.common.SteelyardVideoActivity
  12. import com.dlc.chemical.ui.msds.MsdsDetailActivity
  13. import com.dlc.chemical.ui.widget.TitleBar
  14. import com.rc.httpcore.client.ApiRepository
  15. import com.rc.httpcore.vo.request.UseReq
  16. import com.rc.httpcore.vo.response.ChemicalBean
  17. import org.greenrobot.eventbus.EventBus
  18. /**
  19. * info
  20. *
  21. * @author ReiChin_
  22. */
  23. class UseWeightActivity : BaseCountDownActivity<ActivityUseWeightBinding>(),
  24. TitleBar.TitleListener {
  25. companion object {
  26. private const val REQ_STEELYARD_VIDEO = 10
  27. }
  28. private lateinit var mChemicalBean: ChemicalBean
  29. override fun beforeSetContentView() {
  30. mChemicalBean = intent.getParcelableExtra("chemicalBean")!!
  31. }
  32. override fun createViewBinding() = ActivityUseWeightBinding.inflate(layoutInflater)
  33. @SuppressLint("SetTextI18n")
  34. override fun initViews(savedInstanceState: Bundle?) {
  35. viewBinding.titleBar.setTitleListener(this)
  36. viewBinding.titleBar.setTitleInfoFromSp()
  37. // MSDS
  38. viewBinding.msds.setOnClickListener {
  39. if (mChemicalBean.hazardId.isNullOrEmpty()) {
  40. showToast("暂无MSDS信息")
  41. return@setOnClickListener
  42. }
  43. MsdsDetailActivity.startAction(this, mChemicalBean.hazardId)
  44. }
  45. // 取消
  46. viewBinding.cancel.setOnClickListener {
  47. finish()
  48. }
  49. // 确定
  50. viewBinding.save.setOnClickListener {
  51. dispatchSaveClicked()
  52. }
  53. }
  54. private fun dispatchSaveClicked() {
  55. val extraParam = ExtraParam(
  56. chemicalName = mChemicalBean.chemicalName, // 化学品名称
  57. tareWeight = mChemicalBean.tare, // 容器重量
  58. outUsages = mChemicalBean.outUsages // 剩余库存量
  59. )
  60. val intent = Intent(this, SteelyardVideoActivity::class.java)
  61. intent.putExtra("moduleEnum", ModuleEnum.USE)
  62. intent.putExtra("extraParam", extraParam)
  63. intent.putExtra("chemicalUnit", mChemicalBean.chemicalUnit)
  64. startActivityForResult(intent, REQ_STEELYARD_VIDEO)
  65. }
  66. private fun callUseApi(weight: String, joinType: String) {
  67. showLoading("保存中...")
  68. val param = UseReq().apply {
  69. stockId = mChemicalBean.id
  70. collectStockNum = weight
  71. outType = joinType
  72. outOneUser = intent.getStringExtra("oneUser")
  73. outTwoUser = intent.getStringExtra("twoUser")
  74. lockLogId = intent.getStringExtra("lockLogId")
  75. }
  76. val disposable = ApiRepository.addUserecord(param)
  77. .subscribe({
  78. dismissLoading()
  79. // 进入领用完成画面
  80. // 无智能锁:MainActivity -> TagScanActivity -> UseActivity -> UseWeightActivity(finish) -> UseActivity
  81. // 有智能锁:MainActivity -> QueryChemicalsActivity -> UseActivity -> UseWeightActivity(finish) -> UseActivity
  82. EventBus.getDefault().post(UseCompletedEvent(weight))
  83. finish()
  84. }, { throwable ->
  85. dismissLoading()
  86. showNetError(throwable)
  87. throwable.printStackTrace()
  88. })
  89. addDisposable(disposable)
  90. }
  91. @SuppressLint("SetTextI18n")
  92. override fun initData() {
  93. // 名称
  94. viewBinding.chemicalName.text = mChemicalBean.chemicalName
  95. // 别名
  96. viewBinding.anotherName.text = mChemicalBean.anotherName
  97. // 分类
  98. viewBinding.classifyName.text = mChemicalBean.classifyName
  99. // 编号
  100. viewBinding.chemicalNum.text = mChemicalBean.chemicalNum
  101. // CAS号
  102. viewBinding.casNum.text = mChemicalBean.casNum
  103. // 形态
  104. viewBinding.chemicalShape.text = mChemicalBean.chemicalShapeName
  105. // 纯度
  106. viewBinding.purity.text = mChemicalBean.purity
  107. // 容量规格
  108. viewBinding.chemicalAmount.text =
  109. "${mChemicalBean.chemicalAmount ?: ""}${mChemicalBean.chemicalAmountUnit ?: ""}"
  110. // 容器规格
  111. viewBinding.tare.text = if ("g" == mChemicalBean.chemicalUnit) "${mChemicalBean.tare ?: "0.0"}g" else "--"
  112. // 所在位置
  113. viewBinding.cabinetName.text = mChemicalBean.cabinetName
  114. // 负责人
  115. viewBinding.safeUserName.text = mChemicalBean.safeUserName
  116. // 过期时间
  117. viewBinding.expirationTime.text = "${mChemicalBean.expirationTime ?: ""} | 30天前提醒"
  118. // 库存净重
  119. viewBinding.suttle.text = "${mChemicalBean.suttle ?: "0.0"}${mChemicalBean.chemicalUnit ?: "g"}"
  120. }
  121. override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
  122. super.onActivityResult(requestCode, resultCode, data)
  123. when (requestCode) {
  124. REQ_STEELYARD_VIDEO -> {
  125. if (RESULT_OK == resultCode) {
  126. data ?: return
  127. val weight = data.getStringExtra("weight")!!
  128. val joinType = data.getStringExtra("joinType")!!
  129. // val remoteFileUrl = data.getStringExtra("remoteFileUrl")!!
  130. callUseApi(weight, joinType)
  131. }
  132. }
  133. }
  134. }
  135. override fun onHomeViewClicked(view: View) {
  136. startActivity(Intent(this, MainActivity::class.java))
  137. }
  138. override fun onBackViewClicked(view: View) {
  139. finish()
  140. }
  141. }