123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459 |
- package xn.hxp.ui.uses
- import android.os.Bundle
- import android.view.LayoutInflater
- import android.view.View
- import androidx.recyclerview.widget.GridLayoutManager
- import androidx.recyclerview.widget.LinearLayoutManager
- import androidx.viewbinding.ViewBinding
- import com.bumptech.glide.Glide
- import com.bumptech.glide.load.engine.DiskCacheStrategy
- import com.bumptech.glide.request.RequestOptions
- import xn.hxp.app.ChemicalApp
- import xn.hxp.R
- import xn.hxp.databinding.ActivityProcessedBinding
- import xn.hxp.ui.adapter.*
- import xn.hxp.weidith.ImgDialogs
- import com.blankj.utilcode.util.LogUtils
- import com.rc.core.ui.activity.BaseActivity
- import com.rc.httpcore.HttpConfig
- import com.rc.httpcore.apk.ProcessedBean
- import com.rc.httpcore.client.ApiRepository
- import com.rc.httpcore.client.HttpTool
- import xn.hxp.weidith.TextTool
- import java.util.*
- //已处理 or 未处理 需要处理 // item_timeout
- class ProcessedActivity : BaseActivity() {
- //化学品信息
- private val mAdapter by lazy { TimeoutAdapter() }
- //
- private val mAdapterNotReceived by lazy { NotReceivedAdapter(this) }
- private val mChemicalTimeoutAdapter by lazy { ChemicalTimeoutAdapter() }
- //通知记录
- private val mAdapterLogVoList by lazy { LogVoListAdapter() }
- //报警信息
- private val mImgAdapter by lazy { SnapImgAdapter(this) }
- private var mNoticeId: String? = null
- private var mHandleNotes: String? = null
- lateinit var viewBinding: ActivityProcessedBinding
- override fun setViewBinding(): ViewBinding {
- viewBinding = ActivityProcessedBinding.inflate(layoutInflater)
- return viewBinding
- }
- override fun onInit() {
- viewBinding.tvName.text = ChemicalApp.userData!!.userName
- viewBinding.tvReturn.text = "返回${ChemicalApp.confs!!.backTime}s"
- val imageView = viewBinding.imageName
- // 使用 Glide 加载网络图片
- Glide.with(this)
- .load("${HttpConfig.API_BASE_IMG_URL}${ChemicalApp.userData!!.avatar}")
- .apply(RequestOptions.diskCacheStrategyOf(DiskCacheStrategy.AUTOMATIC))
- .into(imageView)
- // 使用 Glide 加载网络图片
- LogUtils.i("==图片地址${HttpConfig.API_BASE_IMG_URL}${ChemicalApp.userData!!.avatar}")
- viewBinding.titleDeptName.text =
- "${ChemicalApp.confs!!.deptName}-${ChemicalApp.confs!!.roomNum}"
- Glide.with(this)
- .load("${HttpConfig.API_BASE_IMG_URL}${ChemicalApp.confs!!.circularLogo}")
- .apply(RequestOptions.diskCacheStrategyOf(DiskCacheStrategy.AUTOMATIC))
- .into(viewBinding.image)
- viewBinding.tvReturn.setOnClickListener {
- finish()
- }
- //处理预警问题
- viewBinding.revert.setOnClickListener {
- showLoading("加载中...")
- val disposable = ApiRepository.handleMessage(mNoticeId!!, mHandleNotes!!)
- .subscribe({ data ->
- dismissLoading()
- finish()
- }, { throwable ->
- dismissLoading()
- showNetError(throwable)
- })
- addDisposable(disposable)
- }
- //照片显示
- mImgAdapter.setOnItemChildClickListener { adapter, view, position ->
- if (view.id == R.id.img) {
- //弹框变成大窗体
- val mDialogs = ImgDialogs(this, mImgAdapter.data[position])
- if (!mDialogs.isShowing) {
- mDialogs.show()
- }
- }
- }
- viewBinding.tvOutLogin.setOnClickListener {
- HttpTool.logout()
- }
- val noticeId = intent.getStringExtra("noticeId")
- if (noticeId != null) {
- getLists(noticeId)
- }
- }
- override fun cdFinish() {
- finish()
- }
- override fun cdTime(cd: Int) {
- viewBinding.tvReturn.text = "返回${cd}s"
- }
- private fun getLists(noticeId: String) {
- showLoading("加载中...")
- val disposable = ApiRepository.warningNoticeDetail(noticeId)
- .subscribe({ data ->
- dismissLoading()
- upView(data)
- }, { throwable ->
- dismissLoading()
- showNetError(throwable)
- })
- addDisposable(disposable)
- }
- private fun upView(datas: ProcessedBean) {
- when (datas.noticeStatus) {
- 1 -> {
- //已处理
- viewBinding.yStatus.visibility = View.VISIBLE
- }
- 0 -> {
- //待处理
- viewBinding.dStatus.visibility = View.VISIBLE
- if (datas.isHandlePeople) {
- //显示 处理
- mNoticeId = datas.noticeId
- mHandleNotes = datas.handleNotes!!
- viewBinding.revert.visibility = View.VISIBLE
- }
- }
- 2 -> {
- //待处理 详情显示
- viewBinding.dStatus.visibility = View.VISIBLE
- }
- }
- viewBinding.warnTime.text = "${datas.warnTime}"
- viewBinding.deptName.text = "${datas.deptName}"
- viewBinding.subName.text = "${datas.subName}"
- //1化学品违规带离。2超时未归还。3化学品已过期。4化学品即将过期
- LogUtils.i("======当前状态${datas.chemicalWarnType}")
- when (datas.chemicalWarnType) {
- 1 -> { // 化学品信息只显示一条 1-1 已处理
- viewBinding.lin1.visibility = View.VISIBLE
- viewBinding.collectUserName.visibility = View.VISIBLE
- viewBinding.rlBelong.visibility = View.VISIBLE
- viewBinding.belongName.text = "${datas.belongName}" //归属人
- if (datas.snapImg != null && datas.snapImg!!.size > 0) {
- //报警抓拍 照片显示
- viewBinding.tvProc.visibility = View.VISIBLE
- viewBinding.rvProcessed.visibility = View.VISIBLE
- // 创建GridLayoutManager,设置为每行4个item
- val layoutManager =
- GridLayoutManager(this, 4, LinearLayoutManager.HORIZONTAL, false)
- viewBinding.rvProcessed.layoutManager = layoutManager
- mImgAdapter.setNewInstance(datas.snapImg!!.toMutableList())
- }
- viewBinding.normsNum.text = "余量:${datas.normsNum}"
- viewBinding.surplus.text = "规格:${datas.surplus}"
- viewBinding.processing.visibility = View.VISIBLE
- viewBinding.lingVi.visibility = View.VISIBLE
- //handleType 处理方式:1手动处理。2归还操作。3出库操作。4入库操作
- when (datas.handleType) {
- 1 -> {
- viewBinding.typeMsg.text = "手动处理"
- }
- 2 -> {
- viewBinding.typeMsg.text = "归还操作"
- }
- 3 -> {
- viewBinding.typeMsg.text = "出库操作"
- }
- 4 -> {
- viewBinding.typeMsg.text = "入库操作"
- }
- }
- if (datas.chemicalName != null) {
- viewBinding.warnContent.text = "${datas.chemicalName}化学品违规带离"
- } else {
- viewBinding.warnContent.text = "化学品违规带离"
- }
- if (datas.handlePerson != null) {
- viewBinding.handlePerson.text = "${datas.handlePerson}"
- }
- if (datas.handleTime != null) {
- viewBinding.handleTime.text = "${datas.handleTime}"
- }
- if (datas.handleNotes != null) {
- viewBinding.handleNotes.text = "${datas.handleNotes}"
- }
- viewBinding.msg.text = "违规带离的化学品确认已放入化学品柜指定位置后,点击处理"
- }
- 2 -> { //领用超过未归还 1-1
- if (datas.snapImg != null && datas.snapImg!!.size > 0) {
- //报警抓拍 照片显示
- viewBinding.tvProc.visibility = View.VISIBLE
- viewBinding.rvProcessed.visibility = View.VISIBLE
- // 创建GridLayoutManager,设置为每行4个item
- val layoutManager =
- GridLayoutManager(this, 4, LinearLayoutManager.HORIZONTAL, false)
- viewBinding.rvProcessed.layoutManager = layoutManager
- mImgAdapter.setNewInstance(datas.snapImg!!.toMutableList())
- }
- viewBinding.lin1.visibility = View.VISIBLE
- viewBinding.rlBelong.visibility = View.VISIBLE //归属人
- viewBinding.lingOne.visibility = View.VISIBLE
- viewBinding.lingTwo.visibility = View.VISIBLE
- viewBinding.belongName.text = "${datas.belongName}" //归属人
- viewBinding.collectTime.text = "${datas.collectTime}"
- viewBinding.collectTimeAging.text = "${datas.collectTimeAging}小时"
- if (datas.chemicalName != null) {
- viewBinding.chemicalName.text = "${datas.chemicalName}"
- viewBinding.chemicalName.setOnClickListener {
- TextTool.showPop(
- this,
- viewBinding.chemicalName
- )
- }
- }
- viewBinding.position.text = "${datas.position}层"
- viewBinding.collectUserName.text = "领用人:${datas.collectUserName}"
- viewBinding.normsNum.text = "规格:${datas.normsNum}"
- viewBinding.surplus.text = "余量:${datas.surplus}"
- viewBinding.msg.text = "操作归还后报警状态自动恢复正常"
- viewBinding.processing.visibility = View.VISIBLE
- viewBinding.lingVi.visibility = View.VISIBLE
- viewBinding.lint3.visibility = View.GONE
- when (datas.handleType) {
- 1 -> {
- viewBinding.typeMsg.text = "手动处理"
- }
- 2 -> {
- viewBinding.typeMsg.text = "归还操作"
- }
- 3 -> {
- viewBinding.typeMsg.text = "出库操作"
- }
- 4 -> {
- viewBinding.typeMsg.text = "入库操作"
- }
- }
- if (datas.handlePerson != null) {
- viewBinding.handlePerson.text = "${datas.handlePerson}"
- }
- if (datas.handleTime != null) {
- viewBinding.handleTime.text = "${datas.handleTime}"
- }
- if (datas.chemicalName != null) {
- viewBinding.warnContent.text = "${datas.chemicalName}超时未归还"
- } else {
- viewBinding.warnContent.text = "超时未归还"
- }
- viewBinding.warnContent.setOnClickListener {
- TextTool.showPop(
- this,
- viewBinding.warnContent
- )
- }
- if (datas.rfidCode != null) {
- viewBinding.chemicalCode.visibility = View.VISIBLE
- viewBinding.chemicalCode.text = "-${datas.rfidCode}"
- }
- }
- 3 -> { //化学品已过期 多个
- viewBinding.lin2.visibility = View.VISIBLE
- viewBinding.rvView?.layoutManager = LinearLayoutManager(this)
- viewBinding.rvView?.adapter = mAdapter
- mAdapter.setNewInstance(datas.chemicalExpireList.toMutableList())
- viewBinding.msg.text = "出库后报警状态自动恢复正常"
- if (datas.chemicalName != null) {
- viewBinding.warnContent.text = "有${datas.chemicalExpireList.size}个化学品过期"
- } else {
- viewBinding.warnContent.text = "化学品过期"
- }
- viewBinding.lingVi.visibility = View.VISIBLE
- viewBinding.lint3.visibility = View.GONE
- when (datas.handleType) {
- 1 -> {
- viewBinding.typeMsg.text = "手动处理"
- }
- 2 -> {
- viewBinding.typeMsg.text = "归还操作"
- }
- 3 -> {
- viewBinding.typeMsg.text = "出库操作"
- }
- 4 -> {
- viewBinding.typeMsg.text = "入库操作"
- }
- }
- if (datas.handlePerson != null) {
- viewBinding.handlePerson.text = "${datas.handlePerson}"
- }
- if (datas.handleTime != null) {
- viewBinding.handleTime.text = "${datas.handleTime}"
- }
- }
- 4 -> { //化学品即将过期 多个
- viewBinding.lin2.visibility = View.VISIBLE
- viewBinding.rvView?.layoutManager = LinearLayoutManager(this)
- viewBinding.rvView?.adapter = mAdapter
- mAdapter.setNewInstance(datas.chemicalExpireList.toMutableList())
- viewBinding.msg.text = "出库后报警状态自动恢复正常"
- viewBinding.warnContent.text = "有${datas.chemicalExpireList.size}个化学品即将过期"
- viewBinding.lingVi.visibility = View.VISIBLE
- viewBinding.lint3.visibility = View.GONE
- when (datas.handleType) {
- 1 -> {
- viewBinding.typeMsg.text = "手动处理"
- }
- 2 -> {
- viewBinding.typeMsg.text = "归还操作"
- }
- 3 -> {
- viewBinding.typeMsg.text = "出库操作"
- }
- 4 -> {
- viewBinding.typeMsg.text = "入库操作"
- }
- }
- if (datas.handlePerson != null) {
- viewBinding.handlePerson.text = "${datas.handlePerson}"
- }
- if (datas.handleTime != null) {
- viewBinding.handleTime.text = "${datas.handleTime}"
- }
- }
- 5 -> {//超期未入库
- viewBinding.lin2.visibility = View.VISIBLE
- viewBinding.rvView?.layoutManager = LinearLayoutManager(this)
- viewBinding.rvView?.adapter = mAdapterNotReceived
- mAdapterNotReceived.setNewInstance(datas.chemicalOverdueStockList!!.toMutableList())
- viewBinding.msg.text = "入库后报警状态自动恢复正常"
- if (datas.chemicalOverdueStockList != null && datas.chemicalOverdueStockList!!.size > 0) {
- viewBinding.warnContent.text =
- "有${datas.chemicalOverdueStockList!!.size}个化学品超期未入库"
- }
- viewBinding.lingVi.visibility = View.VISIBLE
- viewBinding.lint3.visibility = View.GONE
- when (datas.handleType) {
- 1 -> {
- viewBinding.typeMsg.text = "手动处理"
- }
- 2 -> {
- viewBinding.typeMsg.text = "归还操作"
- }
- 3 -> {
- viewBinding.typeMsg.text = "出库操作"
- }
- 4 -> {
- viewBinding.typeMsg.text = "入库操作"
- }
- }
- if (datas.handlePerson != null) {
- viewBinding.handlePerson.text = "${datas.handlePerson}"
- }
- if (datas.handleTime != null) {
- viewBinding.handleTime.text = "${datas.handleTime}"
- }
- }
- 6 -> {//业务超时
- // viewBinding.lin2.visibility = View.VISIBLE
- // viewBinding.rvView?.layoutManager = LinearLayoutManager(this)
- // viewBinding.rvView?.adapter = mChemicalTimeoutAdapter
- // mChemicalTimeoutAdapter.setNewInstance(datas.chemicalTimeoutList!!.toMutableList())
- viewBinding.msg.text = "打开柜门后未完成业务操作,系统自动报警"
- viewBinding.warnContent.text = "业务操作超时,请尽快处理。"
- // viewBinding.lingVi.visibility = View.VISIBLE
- // viewBinding.lint3.visibility = View.GONE
- //
- // when (datas.handleType) {
- // 1 -> {
- // viewBinding.typeMsg.text = "手动处理"
- // }
- // 2 -> {
- // viewBinding.typeMsg.text = "归还操作"
- // }
- // 3 -> {
- // viewBinding.typeMsg.text = "出库操作"
- // }
- // 4 -> {
- // viewBinding.typeMsg.text = "入库操作"
- // }
- // }
- // viewBinding.handlePerson.text = "${datas.handlePerson}"
- // viewBinding.handleTime.text = "${datas.handleTime}"
- viewBinding.rlBelongTow.visibility = View.VISIBLE
- viewBinding.operationPerson.text = "${datas.operationPerson}"
- viewBinding.alarmType.text = "${datas.alarmType}"
- //柜子信息
- if (datas.position != null) {
- viewBinding.cabinetName.text = "${datas.position}"
- }
- }
- }
- //通知记录
- viewBinding.rvUse?.layoutManager = LinearLayoutManager(this)
- viewBinding.rvUse?.adapter = mAdapterLogVoList
- mAdapterLogVoList.setNewInstance(datas.warningNoticeLogVoList.toMutableList())
- }
- }
|