|
@@ -0,0 +1,442 @@
|
|
|
|
|
+package com.grkj.iscs.features.main.fragment.job_manage
|
|
|
|
|
+
|
|
|
|
|
+import android.widget.LinearLayout
|
|
|
|
|
+import androidx.core.view.isVisible
|
|
|
|
|
+import androidx.lifecycle.ViewModelProvider
|
|
|
|
|
+import com.drake.brv.BindingAdapter
|
|
|
|
|
+import com.drake.brv.utils.grid
|
|
|
|
|
+import com.drake.brv.utils.linear
|
|
|
|
|
+import com.drake.brv.utils.models
|
|
|
|
|
+import com.drake.brv.utils.setup
|
|
|
|
|
+import com.grkj.data.enums.LockModeEnum
|
|
|
|
|
+import com.grkj.data.enums.LockStepEnum
|
|
|
|
|
+import com.grkj.data.model.vo.PointManageVo
|
|
|
|
|
+import com.grkj.data.model.vo.UserManageVo
|
|
|
|
|
+import com.grkj.iscs.R
|
|
|
|
|
+import com.grkj.iscs.common.DataTransferConstants
|
|
|
|
|
+import com.grkj.iscs.databinding.FragmentCreateJobBinding
|
|
|
|
|
+import com.grkj.iscs.databinding.ItemSelectMemberBinding
|
|
|
|
|
+import com.grkj.iscs.databinding.ItemSelectPointBinding
|
|
|
|
|
+import com.grkj.iscs.features.main.dialog.TextDropDownDialog
|
|
|
|
|
+import com.grkj.iscs.features.main.viewmodel.job_manage.JobViewModel
|
|
|
|
|
+import com.grkj.iscs.utils.getLockModeStr
|
|
|
|
|
+import com.grkj.iscs.utils.getLockModeType
|
|
|
|
|
+import com.grkj.ui_base.base.BaseFragment
|
|
|
|
|
+import com.grkj.ui_base.dialog.TipDialog
|
|
|
|
|
+import com.grkj.ui_base.utils.CommonUtils
|
|
|
|
|
+import com.kongzue.dialogx.dialogs.PopTip
|
|
|
|
|
+import com.sik.sikcore.data.GlobalDataTempStore
|
|
|
|
|
+import com.sik.sikcore.extension.setDebouncedClickListener
|
|
|
|
|
+import com.sik.sikcore.thread.ThreadUtils
|
|
|
|
|
+import kotlinx.coroutines.Dispatchers
|
|
|
|
|
+import kotlinx.coroutines.async
|
|
|
|
|
+import kotlinx.coroutines.withContext
|
|
|
|
|
+import kotlin.coroutines.resume
|
|
|
|
|
+import kotlin.coroutines.suspendCoroutine
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * 编辑作业
|
|
|
|
|
+ */
|
|
|
|
|
+class EditJobFragment : BaseFragment<FragmentCreateJobBinding>() {
|
|
|
|
|
+ private val viewModel: JobViewModel by lazy { ViewModelProvider(this)[JobViewModel::class] }
|
|
|
|
|
+ private var selectedLockMode: String? = null
|
|
|
|
|
+ private var selectedWorkstationId: Long? = null
|
|
|
|
|
+ private var selectedPointData: List<PointManageVo> = mutableListOf()
|
|
|
|
|
+ private var selectedLockerData: List<UserManageVo> = mutableListOf()
|
|
|
|
|
+ private var selectedColockerData: List<UserManageVo> = mutableListOf()
|
|
|
|
|
+ private lateinit var textDropDownDialog: TextDropDownDialog
|
|
|
|
|
+ override fun getLayoutId(): Int {
|
|
|
|
|
+ return R.layout.fragment_create_job
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ override fun initView() {
|
|
|
|
|
+ textDropDownDialog = TextDropDownDialog(requireContext())
|
|
|
|
|
+ textDropDownDialog.setWidthAsAnchorView(true)
|
|
|
|
|
+ binding.back.setDebouncedClickListener {
|
|
|
|
|
+ TipDialog.show(
|
|
|
|
|
+ title = CommonUtils.getStr(com.grkj.ui_base.R.string.action_hint).toString(),
|
|
|
|
|
+ msg = CommonUtils.getStr(R.string.not_save_tip).toString(),
|
|
|
|
|
+ dialogType = TipDialog.DialogType.ERROR,
|
|
|
|
|
+ countDownTime = 10,
|
|
|
|
|
+ onConfirmClick = {
|
|
|
|
|
+ navController.popBackStack()
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ binding.cancel.setDebouncedClickListener {
|
|
|
|
|
+ TipDialog.show(
|
|
|
|
|
+ title = CommonUtils.getStr(com.grkj.ui_base.R.string.action_hint).toString(),
|
|
|
|
|
+ msg = CommonUtils.getStr(R.string.not_save_tip).toString(),
|
|
|
|
|
+ dialogType = TipDialog.DialogType.ERROR,
|
|
|
|
|
+ countDownTime = 10,
|
|
|
|
|
+ onConfirmClick = {
|
|
|
|
|
+ navController.popBackStack()
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ binding.confirm.setDebouncedClickListener {
|
|
|
|
|
+ if (checkData()) {
|
|
|
|
|
+ TipDialog.show(
|
|
|
|
|
+ title = CommonUtils.getStr(com.grkj.ui_base.R.string.action_confirm).toString(),
|
|
|
|
|
+ msg = CommonUtils.getStr(
|
|
|
|
|
+ R.string.job_save_tip,
|
|
|
|
|
+ args = listOf<String>(binding.jobNameEt.text.toString()).toTypedArray()
|
|
|
|
|
+ ).toString(),
|
|
|
|
|
+ dialogType = TipDialog.DialogType.INFO,
|
|
|
|
|
+ countDownTime = 10,
|
|
|
|
|
+ onConfirmClick = {
|
|
|
|
|
+ ThreadUtils.runOnIO {
|
|
|
|
|
+ val sopId = if (binding.saveSop.isChecked) {
|
|
|
|
|
+ async { saveSop() }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ null
|
|
|
|
|
+ }
|
|
|
|
|
+ withContext(Dispatchers.Main) {
|
|
|
|
|
+ saveJob(sopId?.await())
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ binding.workstationTv.setOnClickListener {
|
|
|
|
|
+ setWorkstationData()
|
|
|
|
|
+ }
|
|
|
|
|
+ binding.lockModeTv.setOnClickListener {
|
|
|
|
|
+ setLockModeData()
|
|
|
|
|
+ }
|
|
|
|
|
+ binding.noSelectedPointLayout.setDebouncedClickListener {
|
|
|
|
|
+ if (selectedWorkstationId == null) {
|
|
|
|
|
+ PopTip.tip(R.string.please_select_job_workstation)
|
|
|
|
|
+ return@setDebouncedClickListener
|
|
|
|
|
+ }
|
|
|
|
|
+ GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_SELECT_POINT_WORKSTATION_ID,
|
|
|
|
|
+ selectedWorkstationId!!
|
|
|
|
|
+ )
|
|
|
|
|
+ GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .saveData(DataTransferConstants.KEY_SELECTED_POINT_DATA, selectedPointData)
|
|
|
|
|
+ GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_PREVIEW_STEP_TITLE_DATA,
|
|
|
|
|
+ CommonUtils.getStr(R.string.create_job_title).toString()
|
|
|
|
|
+ )
|
|
|
|
|
+ GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_PREVIEW_STEP_ICON_DATA,
|
|
|
|
|
+ R.mipmap.icon_data_manage_menu_point_manage
|
|
|
|
|
+ )
|
|
|
|
|
+ navController.navigate(R.id.action_createJobFragment_to_selectPointFragment)
|
|
|
|
|
+ }
|
|
|
|
|
+ binding.noSelectedMemberLayout.setDebouncedClickListener {
|
|
|
|
|
+ if (selectedWorkstationId == null) {
|
|
|
|
|
+ PopTip.tip(R.string.please_select_job_workstation)
|
|
|
|
|
+ return@setDebouncedClickListener
|
|
|
|
|
+ }
|
|
|
|
|
+ if (selectedLockMode == null) {
|
|
|
|
|
+ PopTip.tip(R.string.please_select_lock_mode)
|
|
|
|
|
+ return@setDebouncedClickListener
|
|
|
|
|
+ }
|
|
|
|
|
+ GlobalDataTempStore.getInstance().saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_CAN_SELECT_COLOCKER, selectedLockMode?.contains(
|
|
|
|
|
+ LockStepEnum.COLOCK.type.toString()
|
|
|
|
|
+ ) == true
|
|
|
|
|
+ )
|
|
|
|
|
+ GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_SELECT_POINT_WORKSTATION_ID,
|
|
|
|
|
+ selectedWorkstationId!!
|
|
|
|
|
+ )
|
|
|
|
|
+ GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .saveData(DataTransferConstants.KEY_SELECTED_MEMBER_LOCKER_DATA, selectedLockerData)
|
|
|
|
|
+ GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_SELECTED_MEMBER_COLOCKER_DATA,
|
|
|
|
|
+ selectedColockerData
|
|
|
|
|
+ )
|
|
|
|
|
+ GlobalDataTempStore.getInstance().saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_SELECTED_MEMBER_COLOCKER_DATA,
|
|
|
|
|
+ selectedColockerData
|
|
|
|
|
+ )
|
|
|
|
|
+ GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_PREVIEW_STEP_TITLE_DATA,
|
|
|
|
|
+ CommonUtils.getStr(R.string.create_job_title).toString()
|
|
|
|
|
+ )
|
|
|
|
|
+ GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_PREVIEW_STEP_ICON_DATA,
|
|
|
|
|
+ R.mipmap.icon_data_manage_menu_point_manage
|
|
|
|
|
+ )
|
|
|
|
|
+ navController.navigate(R.id.action_createJobFragment_to_selectMemberFragment)
|
|
|
|
|
+ }
|
|
|
|
|
+ binding.selectPointTv.setDebouncedClickListener {
|
|
|
|
|
+ if (selectedWorkstationId == null) {
|
|
|
|
|
+ PopTip.tip(R.string.please_select_job_workstation)
|
|
|
|
|
+ return@setDebouncedClickListener
|
|
|
|
|
+ }
|
|
|
|
|
+ GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_SELECT_POINT_WORKSTATION_ID,
|
|
|
|
|
+ selectedWorkstationId!!
|
|
|
|
|
+ )
|
|
|
|
|
+ GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .saveData(DataTransferConstants.KEY_SELECTED_POINT_DATA, selectedPointData)
|
|
|
|
|
+ GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_PREVIEW_STEP_TITLE_DATA,
|
|
|
|
|
+ CommonUtils.getStr(R.string.create_job_title).toString()
|
|
|
|
|
+ )
|
|
|
|
|
+ GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_PREVIEW_STEP_ICON_DATA,
|
|
|
|
|
+ R.mipmap.icon_data_manage_menu_point_manage
|
|
|
|
|
+ )
|
|
|
|
|
+ navController.navigate(R.id.action_createJobFragment_to_selectPointFragment)
|
|
|
|
|
+ }
|
|
|
|
|
+ binding.selectMemberTv.setDebouncedClickListener {
|
|
|
|
|
+ if (selectedWorkstationId == null) {
|
|
|
|
|
+ PopTip.tip(R.string.please_select_job_workstation)
|
|
|
|
|
+ return@setDebouncedClickListener
|
|
|
|
|
+ }
|
|
|
|
|
+ if (selectedLockMode == null) {
|
|
|
|
|
+ PopTip.tip(R.string.please_select_lock_mode)
|
|
|
|
|
+ return@setDebouncedClickListener
|
|
|
|
|
+ }
|
|
|
|
|
+ GlobalDataTempStore.getInstance().saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_CAN_SELECT_COLOCKER, selectedLockMode?.contains(
|
|
|
|
|
+ LockStepEnum.COLOCK.type.toString()
|
|
|
|
|
+ ) == true
|
|
|
|
|
+ )
|
|
|
|
|
+ GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_SELECT_POINT_WORKSTATION_ID,
|
|
|
|
|
+ selectedWorkstationId!!
|
|
|
|
|
+ )
|
|
|
|
|
+ GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .saveData(DataTransferConstants.KEY_SELECTED_MEMBER_LOCKER_DATA, selectedLockerData)
|
|
|
|
|
+ GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_SELECTED_MEMBER_COLOCKER_DATA,
|
|
|
|
|
+ selectedColockerData
|
|
|
|
|
+ )
|
|
|
|
|
+ GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_PREVIEW_STEP_TITLE_DATA,
|
|
|
|
|
+ CommonUtils.getStr(R.string.create_job_title).toString()
|
|
|
|
|
+ )
|
|
|
|
|
+ GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_PREVIEW_STEP_ICON_DATA,
|
|
|
|
|
+ R.mipmap.icon_data_manage_menu_point_manage
|
|
|
|
|
+ )
|
|
|
|
|
+ navController.navigate(R.id.action_createJobFragment_to_selectMemberFragment)
|
|
|
|
|
+ }
|
|
|
|
|
+ binding.pointRv.grid(6).setup {
|
|
|
|
|
+ addType<PointManageVo>(R.layout.item_select_point)
|
|
|
|
|
+ onBind {
|
|
|
|
|
+ onSelectedPointRVBinding(this)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ binding.colockerRv.linear(orientation = LinearLayout.HORIZONTAL).setup {
|
|
|
|
|
+ addType<UserManageVo>(R.layout.item_select_member)
|
|
|
|
|
+ onBind {
|
|
|
|
|
+ onSelectedMemberRVBinding(this)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 保存sop
|
|
|
|
|
+ */
|
|
|
|
|
+ private suspend fun saveSop(): Long {
|
|
|
|
|
+ val sopId = suspendCoroutine<Long> { cont ->
|
|
|
|
|
+ ThreadUtils.runOnMain {
|
|
|
|
|
+ viewModel.saveSop(
|
|
|
|
|
+ selectedPointData,
|
|
|
|
|
+ selectedLockerData,
|
|
|
|
|
+ selectedColockerData,
|
|
|
|
|
+ selectedLockMode,
|
|
|
|
|
+ selectedWorkstationId!!,
|
|
|
|
|
+ binding.jobNameEt.text.toString()
|
|
|
|
|
+ ).observe(this@EditJobFragment) {
|
|
|
|
|
+ cont.resume(it)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return sopId
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 保存作业
|
|
|
|
|
+ */
|
|
|
|
|
+ private fun saveJob(sopId: Long?) {
|
|
|
|
|
+ viewModel.createJob(
|
|
|
|
|
+ selectedPointData,
|
|
|
|
|
+ selectedLockerData,
|
|
|
|
|
+ selectedColockerData,
|
|
|
|
|
+ selectedLockMode,
|
|
|
|
|
+ sopId,
|
|
|
|
|
+ selectedWorkstationId!!,
|
|
|
|
|
+ binding.jobNameEt.text.toString()
|
|
|
|
|
+ ).observe(this) {
|
|
|
|
|
+ if (it) {
|
|
|
|
|
+ TipDialog.show(
|
|
|
|
|
+ title = CommonUtils.getStr(com.grkj.ui_base.R.string.action_succeed).toString(),
|
|
|
|
|
+ msg = CommonUtils.getStr(R.string.job_create_succeed).toString(),
|
|
|
|
|
+ dialogType = TipDialog.DialogType.SUCCESS,
|
|
|
|
|
+ countDownTime = 10,
|
|
|
|
|
+ onConfirmClick = {
|
|
|
|
|
+ clearData()
|
|
|
|
|
+ },
|
|
|
|
|
+ onCancelClick = {
|
|
|
|
|
+ clearData()
|
|
|
|
|
+ }
|
|
|
|
|
+ )
|
|
|
|
|
+ } else {
|
|
|
|
|
+ TipDialog.show(
|
|
|
|
|
+ title = CommonUtils.getStr(com.grkj.ui_base.R.string.action_failed).toString(),
|
|
|
|
|
+ msg = CommonUtils.getStr(R.string.job_create_failed).toString(),
|
|
|
|
|
+ dialogType = TipDialog.DialogType.ERROR,
|
|
|
|
|
+ showConfirm = false,
|
|
|
|
|
+ countDownTime = 10
|
|
|
|
|
+ )
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private fun clearData() {
|
|
|
|
|
+ binding.jobNameEt.setText("")
|
|
|
|
|
+ selectedLockerData = listOf()
|
|
|
|
|
+ selectedColockerData = listOf()
|
|
|
|
|
+ selectedPointData = listOf()
|
|
|
|
|
+ selectedLockMode = null
|
|
|
|
|
+ selectedWorkstationId = null
|
|
|
|
|
+ binding.saveSop.isChecked = false
|
|
|
|
|
+ binding.lockModeTv.text = ""
|
|
|
|
|
+ binding.workstationTv.text = ""
|
|
|
|
|
+ binding.noSelectedMemberLayout.isVisible = true
|
|
|
|
|
+ binding.noSelectedPointLayout.isVisible = true
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 检查数据
|
|
|
|
|
+ */
|
|
|
|
|
+ private fun checkData(): Boolean {
|
|
|
|
|
+ if (selectedWorkstationId == null) {
|
|
|
|
|
+ PopTip.tip(R.string.please_select_job_workstation)
|
|
|
|
|
+ return false
|
|
|
|
|
+ }
|
|
|
|
|
+ if (selectedLockMode == null) {
|
|
|
|
|
+ PopTip.tip(R.string.please_select_lock_mode)
|
|
|
|
|
+ return false
|
|
|
|
|
+ }
|
|
|
|
|
+ if (binding.jobNameEt.text.isEmpty()) {
|
|
|
|
|
+ PopTip.tip(R.string.please_input_job_name)
|
|
|
|
|
+ return false
|
|
|
|
|
+ }
|
|
|
|
|
+ if (selectedPointData.isEmpty()) {
|
|
|
|
|
+ PopTip.tip(R.string.please_must_select_at_least_one_point)
|
|
|
|
|
+ return false
|
|
|
|
|
+ }
|
|
|
|
|
+ if (selectedLockerData.isEmpty()) {
|
|
|
|
|
+ PopTip.tip(com.grkj.ui_base.R.string.select_locker)
|
|
|
|
|
+ return false
|
|
|
|
|
+ }
|
|
|
|
|
+ if (selectedLockMode?.contains(
|
|
|
|
|
+ LockStepEnum.COLOCK.type.toString()
|
|
|
|
|
+ ) == true && selectedColockerData.isEmpty()
|
|
|
|
|
+ ) {
|
|
|
|
|
+ PopTip.tip(com.grkj.ui_base.R.string.select_coloker)
|
|
|
|
|
+ return false
|
|
|
|
|
+ }
|
|
|
|
|
+ return true
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private fun BindingAdapter.BindingViewHolder.onSelectedMemberRVBinding(holder: BindingAdapter.BindingViewHolder) {
|
|
|
|
|
+ val itemBinding = holder.getBinding<ItemSelectMemberBinding>()
|
|
|
|
|
+ val item = holder.getModel<UserManageVo>()
|
|
|
|
|
+ itemBinding.lockerName.text = item.nickName
|
|
|
|
|
+ itemBinding.lockerIcon.isSelected = true
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private fun BindingAdapter.BindingViewHolder.onSelectedPointRVBinding(holder: BindingAdapter.BindingViewHolder) {
|
|
|
|
|
+ val itemBinding = holder.getBinding<ItemSelectPointBinding>()
|
|
|
|
|
+ val item = holder.getModel<PointManageVo>()
|
|
|
|
|
+ itemBinding.pointName.text = item.pointName.toString()
|
|
|
|
|
+ itemBinding.pointIcon.setImageResource(R.mipmap.icon_data_manage_menu_point_manage)
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ override fun onResume() {
|
|
|
|
|
+ super.onResume()
|
|
|
|
|
+ if (GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .hasData(DataTransferConstants.KEY_SELECTED_MEMBER_LOCKER_DATA)
|
|
|
|
|
+ ) {
|
|
|
|
|
+ selectedLockerData = GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .getData(DataTransferConstants.KEY_SELECTED_MEMBER_LOCKER_DATA)
|
|
|
|
|
+ ?.let { return@let it as List<UserManageVo> } ?: listOf()
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .hasData(DataTransferConstants.KEY_SELECTED_MEMBER_COLOCKER_DATA)
|
|
|
|
|
+ ) {
|
|
|
|
|
+ selectedColockerData = GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .getData(DataTransferConstants.KEY_SELECTED_MEMBER_COLOCKER_DATA)
|
|
|
|
|
+ ?.let { return@let it as List<UserManageVo> } ?: listOf()
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .hasData(DataTransferConstants.KEY_SELECTED_POINT_DATA)
|
|
|
|
|
+ ) {
|
|
|
|
|
+ selectedPointData = GlobalDataTempStore.getInstance()
|
|
|
|
|
+ .getData(DataTransferConstants.KEY_SELECTED_POINT_DATA)
|
|
|
|
|
+ ?.let { return@let it as List<PointManageVo> } ?: listOf()
|
|
|
|
|
+ }
|
|
|
|
|
+ binding.noSelectedMemberLayout.isVisible =
|
|
|
|
|
+ selectedColockerData.isEmpty() && selectedLockerData.isEmpty()
|
|
|
|
|
+ binding.noSelectedPointLayout.isVisible = selectedPointData.isEmpty()
|
|
|
|
|
+ if (selectedColockerData.isNotEmpty()) {
|
|
|
|
|
+ binding.colockerRv.models = selectedColockerData
|
|
|
|
|
+ }
|
|
|
|
|
+ if (selectedLockerData.isNotEmpty()) {
|
|
|
|
|
+ val userData = selectedLockerData.first()
|
|
|
|
|
+ binding.lockerName.text = userData.nickName
|
|
|
|
|
+ }
|
|
|
|
|
+ if (selectedPointData.isNotEmpty()) {
|
|
|
|
|
+ binding.pointRv.models = selectedPointData
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private fun setWorkstationData() {
|
|
|
|
|
+ viewModel.getWorkstationData().observe(this) {
|
|
|
|
|
+ textDropDownDialog.setData(
|
|
|
|
|
+ viewModel.workstationData.map {
|
|
|
|
|
+ TextDropDownDialog.SimpleTextDropDownEntity(
|
|
|
|
|
+ dataId = it.workstationId,
|
|
|
|
|
+ dataText = it.workstationName
|
|
|
|
|
+ )
|
|
|
|
|
+ })
|
|
|
|
|
+ textDropDownDialog.setOnItemSelectListener {
|
|
|
|
|
+ binding.workstationTv.text = it.getShowText()
|
|
|
|
|
+ selectedWorkstationId = it.getId()
|
|
|
|
|
+ }
|
|
|
|
|
+ textDropDownDialog.showPopupWindow(binding.workstationTv)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private fun setLockModeData() {
|
|
|
|
|
+ textDropDownDialog.setData(
|
|
|
|
|
+ LockModeEnum.values().map {
|
|
|
|
|
+ TextDropDownDialog.SimpleTextDropDownEntity(
|
|
|
|
|
+ dataTag = it.getLockModeType(),
|
|
|
|
|
+ dataText = it.getLockModeStr()
|
|
|
|
|
+ )
|
|
|
|
|
+ })
|
|
|
|
|
+ textDropDownDialog.setOnItemSelectListener {
|
|
|
|
|
+ binding.lockModeTv.text = it.getShowText()
|
|
|
|
|
+ selectedLockMode = it.getTag()
|
|
|
|
|
+ binding.selectColockerLayout.isVisible = selectedLockMode?.contains(
|
|
|
|
|
+ LockStepEnum.COLOCK.type.toString()
|
|
|
|
|
+ ) == true
|
|
|
|
|
+ }
|
|
|
|
|
+ textDropDownDialog.showPopupWindow(binding.lockModeTv)
|
|
|
|
|
+ }
|
|
|
|
|
+}
|