|
|
@@ -328,8 +328,7 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
stepClickConfirm(adapter, item, workflowStep)
|
|
|
} else {
|
|
|
showToast(
|
|
|
- CommonUtils.getStr("no_permission_to_handle")
|
|
|
- .toString()
|
|
|
+ CommonUtils.getStr("no_permission_to_handle").toString()
|
|
|
)
|
|
|
}
|
|
|
} else {
|
|
|
@@ -354,8 +353,7 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
if (viewModel.stepConditionsComplete(workflowStep)) {
|
|
|
TipDialog.showInfo(
|
|
|
msg = CommonUtils.getStr(
|
|
|
- "action_confirm_content",
|
|
|
- workflowStep?.stepTitleShort.toString()
|
|
|
+ "action_confirm_content", workflowStep?.stepTitleShort.toString()
|
|
|
).toString(), onConfirmClick = {
|
|
|
item.stepStatus = "1"
|
|
|
item.updateTime =
|
|
|
@@ -407,8 +405,7 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
DataTransferConstants.KEY_PREVIEW_STEP_TITLE_DATA, viewModel.ticketData!!.ticketName
|
|
|
)
|
|
|
GlobalDataTempStore.getInstance().saveData(
|
|
|
- DataTransferConstants.KEY_PREVIEW_STEP_ICON_DATA,
|
|
|
- "arrow-progress-alt.svg"
|
|
|
+ DataTransferConstants.KEY_PREVIEW_STEP_ICON_DATA, "arrow-progress-alt.svg"
|
|
|
)
|
|
|
GlobalDataTempStore.getInstance()
|
|
|
.saveData(DataTransferConstants.KEY_JOB_TICKET_ID, viewModel.ticketId)
|
|
|
@@ -422,6 +419,25 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
val itemBinding = holder.getBinding<ItemJobExecuteColockBinding>()
|
|
|
val item = holder.getModel<IsJobTicketUserDataVo>()
|
|
|
itemBinding.name.text = item.nickName
|
|
|
+ itemBinding.root.setDebouncedClickListener {
|
|
|
+ if (viewModel.canCoLock()) {
|
|
|
+ viewModel.getFaceByUserId(item.userId).observe(this) {
|
|
|
+ if (it.isEmpty()) {
|
|
|
+ showToast(CommonUtils.getStr(com.grkj.ui_base.R.string.current_user_has_not_face_data))
|
|
|
+ } else {
|
|
|
+ CheckFaceDialog.show(viewLifecycleOwner, viewModel, 0) {
|
|
|
+ if (it == LoginResultEnum.FACE_VERIFY_SUCCESS) {
|
|
|
+ coLockByUserId(item.userId)
|
|
|
+ } else {
|
|
|
+ showToast(CommonUtils.getStr(com.grkj.ui_base.R.string.invalid_user))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ showToast(CommonUtils.getStr("currently_unable_to_lock_together"))
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private fun BindingAdapter.BindingViewHolder.onPointsRVListBinding(holder: BindingAdapter.BindingViewHolder) {
|
|
|
@@ -468,66 +484,17 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
)
|
|
|
) {
|
|
|
showToast(
|
|
|
- CommonUtils.getStr("no_permission_to_handle")
|
|
|
- .toString()
|
|
|
+ CommonUtils.getStr("no_permission_to_handle").toString()
|
|
|
)
|
|
|
return
|
|
|
}
|
|
|
checkLayout(2)
|
|
|
(event.data as RFIDCardReadEvent).let {
|
|
|
- val currentWorkflowStep = viewModel.currentStepData
|
|
|
//当前步骤能加共锁并且锁已经上锁或者当前步骤能解共锁并且锁已经上锁
|
|
|
- if ((currentWorkflowStep?.enableColock == true || currentWorkflowStep?.enableReleaseColock == true) && viewModel.ticketPoints.all { it.pointStatus == "1" }) {
|
|
|
+ if (viewModel.canCoLock()) {
|
|
|
viewModel.getUserIdByCardRfid(it.rfidNo).observe(this) { userId ->
|
|
|
userId?.let {
|
|
|
- val isJobCardUser = viewModel.ticketUser.filter {
|
|
|
- it.userRole?.contains(
|
|
|
- RoleEnum.JTCOLOCKER.roleKey
|
|
|
- ) == true
|
|
|
- }.find { it.userId == userId }
|
|
|
- isJobCardUser?.let { colocker ->
|
|
|
- if (colocker.jobStatus == "0" && currentWorkflowStep.enableColock) {
|
|
|
- logger.info("添加共锁")
|
|
|
- TipDialog.showInfo(
|
|
|
- msg = CommonUtils.getStr(
|
|
|
- "confirm_to_colock",
|
|
|
- colocker.nickName ?: ""
|
|
|
- ).toString(), countDownTime = 10, onConfirmClick = {
|
|
|
- colocker.jobStatus = "1"
|
|
|
- viewModel.colockerStatusChange(colocker)
|
|
|
- .observe(this) {
|
|
|
- if (it) {
|
|
|
- showToast(CommonUtils.getStr("colock_complete"))
|
|
|
- checkStepComplete()
|
|
|
- } else {
|
|
|
- showToast(CommonUtils.getStr("colock_failed"))
|
|
|
- }
|
|
|
- refreshTicketUser()
|
|
|
- }
|
|
|
- })
|
|
|
- } else if (colocker.jobStatus == "1" && currentWorkflowStep.enableReleaseColock) {
|
|
|
- logger.info("解除共锁")
|
|
|
- TipDialog.showInfo(
|
|
|
- msg = CommonUtils.getStr(
|
|
|
- "confirm_to_uncolock",
|
|
|
- colocker.nickName ?: ""
|
|
|
- ).toString(), countDownTime = 10, onConfirmClick = {
|
|
|
- colocker.jobStatus = "2"
|
|
|
- viewModel.colockerStatusChange(colocker)
|
|
|
- .observe(this) {
|
|
|
- if (it) {
|
|
|
- showToast(CommonUtils.getStr("uncolock_complete"))
|
|
|
- checkStepComplete()
|
|
|
- } else {
|
|
|
- showToast(CommonUtils.getStr("uncolock_failed"))
|
|
|
- }
|
|
|
- refreshTicketUser()
|
|
|
- }
|
|
|
- })
|
|
|
- } else {
|
|
|
- showToast(CommonUtils.getStr("currently_unable_to_lock_together"))
|
|
|
- }
|
|
|
- } ?: showToast(CommonUtils.getStr("invalid_user"))
|
|
|
+ coLockByUserId(it)
|
|
|
} ?: showToast(CommonUtils.getStr("invalid_card"))
|
|
|
}
|
|
|
} else {
|
|
|
@@ -554,6 +521,48 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private fun coLockByUserId(userId: Long) {
|
|
|
+ viewModel.coLockByUserId(userId, { colocker ->
|
|
|
+ logger.info("添加共锁")
|
|
|
+ TipDialog.showInfo(
|
|
|
+ msg = CommonUtils.getStr(
|
|
|
+ "confirm_to_colock", colocker.nickName ?: ""
|
|
|
+ ).toString(), countDownTime = 10, onConfirmClick = {
|
|
|
+ colocker.jobStatus = "1"
|
|
|
+ viewModel.colockerStatusChange(colocker).observe(this) {
|
|
|
+ if (it) {
|
|
|
+ showToast(CommonUtils.getStr("colock_complete"))
|
|
|
+ checkStepComplete()
|
|
|
+ } else {
|
|
|
+ showToast(CommonUtils.getStr("colock_failed"))
|
|
|
+ }
|
|
|
+ refreshTicketUser()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }, { colocker ->
|
|
|
+ logger.info("解除共锁")
|
|
|
+ TipDialog.showInfo(
|
|
|
+ msg = CommonUtils.getStr(
|
|
|
+ "confirm_to_uncolock", colocker.nickName ?: ""
|
|
|
+ ).toString(), countDownTime = 10, onConfirmClick = {
|
|
|
+ colocker.jobStatus = "2"
|
|
|
+ viewModel.colockerStatusChange(colocker).observe(this) {
|
|
|
+ if (it) {
|
|
|
+ showToast(CommonUtils.getStr("uncolock_complete"))
|
|
|
+ checkStepComplete()
|
|
|
+ } else {
|
|
|
+ showToast(CommonUtils.getStr("uncolock_failed"))
|
|
|
+ }
|
|
|
+ refreshTicketUser()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }, {
|
|
|
+ showToast(CommonUtils.getStr("currently_unable_to_lock_together"))
|
|
|
+ }, {
|
|
|
+ showToast(CommonUtils.getStr("invalid_user"))
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 检查流程是否完成
|
|
|
*/
|
|
|
@@ -663,8 +672,7 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
}
|
|
|
} else {
|
|
|
TipDialog.showError(
|
|
|
- msg = CommonUtils.getStr("ticket_lost").toString(),
|
|
|
- onConfirmClick = {
|
|
|
+ msg = CommonUtils.getStr("ticket_lost").toString(), onConfirmClick = {
|
|
|
navController.popBackStack()
|
|
|
})
|
|
|
}
|