|
@@ -212,8 +212,7 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
}
|
|
}
|
|
|
//点击确认的时候需要
|
|
//点击确认的时候需要
|
|
|
itemBinding.stepLayout.setDebouncedClickListener {
|
|
itemBinding.stepLayout.setDebouncedClickListener {
|
|
|
- val workflowStep =
|
|
|
|
|
- viewModel.workflowSteps.find { it.stepId == item.workflowStepId }
|
|
|
|
|
|
|
+ val workflowStep = viewModel.workflowSteps.find { it.stepId == item.workflowStepId }
|
|
|
viewModel.canCheckStep().observe(this@JobExecuteFragment) {
|
|
viewModel.canCheckStep().observe(this@JobExecuteFragment) {
|
|
|
if (it) {
|
|
if (it) {
|
|
|
|
|
|
|
@@ -229,27 +228,18 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
)
|
|
)
|
|
|
return@observe
|
|
return@observe
|
|
|
}
|
|
}
|
|
|
- if (workflowStep?.confirmType != 0 &&
|
|
|
|
|
- (workflowStep?.enableSetLocker == true || workflowStep?.enableSetColocker == true)
|
|
|
|
|
- ) {
|
|
|
|
|
|
|
+ if (workflowStep?.confirmType != 0 && (workflowStep?.enableSetLocker == true || workflowStep?.enableSetColocker == true)) {
|
|
|
stepClickConfirm(adapter, item, workflowStep)
|
|
stepClickConfirm(adapter, item, workflowStep)
|
|
|
- } else if (workflowStep?.confirmType == 0 &&
|
|
|
|
|
- workflowStep.confirmRoleCode == null &&
|
|
|
|
|
- workflowStep.confirmUser == null
|
|
|
|
|
- ) {
|
|
|
|
|
|
|
+ } else if (workflowStep?.confirmType == 0 && workflowStep.confirmRoleCode == null && workflowStep.confirmUser == null) {
|
|
|
stepClickConfirm(adapter, item, workflowStep)
|
|
stepClickConfirm(adapter, item, workflowStep)
|
|
|
- } else if (workflowStep?.confirmType == 0 &&
|
|
|
|
|
- (workflowStep.confirmRoleCode != null && MainDomainData.roleKeys?.contains(
|
|
|
|
|
|
|
+ } else if (workflowStep?.confirmType == 0 && (workflowStep.confirmRoleCode != null && MainDomainData.roleKeys?.contains(
|
|
|
workflowStep.confirmRoleCode!!
|
|
workflowStep.confirmRoleCode!!
|
|
|
- ) == true) &&
|
|
|
|
|
- workflowStep.confirmUser == null
|
|
|
|
|
|
|
+ ) == true) && workflowStep.confirmUser == null
|
|
|
) {
|
|
) {
|
|
|
stepClickConfirm(adapter, item, workflowStep)
|
|
stepClickConfirm(adapter, item, workflowStep)
|
|
|
- } else if (workflowStep?.confirmType == 0 &&
|
|
|
|
|
- (workflowStep.confirmRoleCode != null && MainDomainData.roleKeys?.contains(
|
|
|
|
|
|
|
+ } else if (workflowStep?.confirmType == 0 && (workflowStep.confirmRoleCode != null && MainDomainData.roleKeys?.contains(
|
|
|
workflowStep.confirmRoleCode!!
|
|
workflowStep.confirmRoleCode!!
|
|
|
- ) == true) &&
|
|
|
|
|
- (workflowStep.confirmUser != null && MainDomainData.userInfo?.userId == workflowStep.confirmUser)
|
|
|
|
|
|
|
+ ) == true) && (workflowStep.confirmUser != null && MainDomainData.userInfo?.userId == workflowStep.confirmUser)
|
|
|
) {
|
|
) {
|
|
|
stepClickConfirm(adapter, item, workflowStep)
|
|
stepClickConfirm(adapter, item, workflowStep)
|
|
|
} else {
|
|
} else {
|
|
@@ -265,9 +255,7 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private fun stepClickConfirm(
|
|
private fun stepClickConfirm(
|
|
|
- adapter: BindingAdapter,
|
|
|
|
|
- item: IsJobTicketStepDataVo,
|
|
|
|
|
- workflowStep: WorkflowStep?
|
|
|
|
|
|
|
+ adapter: BindingAdapter, item: IsJobTicketStepDataVo, workflowStep: WorkflowStep?
|
|
|
) {
|
|
) {
|
|
|
if (!checkSelectMember(workflowStep)) {
|
|
if (!checkSelectMember(workflowStep)) {
|
|
|
if (viewModel.stepConditionsComplete(workflowStep)) {
|
|
if (viewModel.stepConditionsComplete(workflowStep)) {
|
|
@@ -287,8 +275,7 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
}
|
|
}
|
|
|
adapter.notifyDataSetChanged()
|
|
adapter.notifyDataSetChanged()
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- )
|
|
|
|
|
|
|
+ })
|
|
|
} else {
|
|
} else {
|
|
|
val errorTipData = viewModel.getStepErrorTip(workflowStep)
|
|
val errorTipData = viewModel.getStepErrorTip(workflowStep)
|
|
|
PopTip.tip(errorTipData.first)
|
|
PopTip.tip(errorTipData.first)
|
|
@@ -303,39 +290,31 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
workflowStep: WorkflowStep?
|
|
workflowStep: WorkflowStep?
|
|
|
): Boolean {
|
|
): Boolean {
|
|
|
val currentWorkflowStep = viewModel.getCurrentWorkflowStep()
|
|
val currentWorkflowStep = viewModel.getCurrentWorkflowStep()
|
|
|
- if (workflowStep?.enableSetLocker == true ||
|
|
|
|
|
- workflowStep?.enableSetColocker == true &&
|
|
|
|
|
- (currentWorkflowStep?.enableAddColocker == true || currentWorkflowStep?.enableReduceColocker == true)
|
|
|
|
|
- ) {
|
|
|
|
|
|
|
+ if (workflowStep?.enableSetLocker == true || workflowStep?.enableSetColocker == true && (currentWorkflowStep?.enableAddColocker == true || currentWorkflowStep?.enableReduceColocker == true)) {
|
|
|
GlobalDataTempStore.getInstance().saveData(
|
|
GlobalDataTempStore.getInstance().saveData(
|
|
|
DataTransferConstants.KEY_CAN_SELECT_COLOCKER,
|
|
DataTransferConstants.KEY_CAN_SELECT_COLOCKER,
|
|
|
viewModel.workflowModes.find { it.modeId == viewModel.ticketData?.modeId }?.isColockSupport == true
|
|
viewModel.workflowModes.find { it.modeId == viewModel.ticketData?.modeId }?.isColockSupport == true
|
|
|
)
|
|
)
|
|
|
- GlobalDataTempStore.getInstance()
|
|
|
|
|
- .saveData(
|
|
|
|
|
- DataTransferConstants.KEY_SELECT_POINT_WORKSTATION_ID,
|
|
|
|
|
- viewModel.ticketData!!.workstationId
|
|
|
|
|
- )
|
|
|
|
|
- GlobalDataTempStore.getInstance()
|
|
|
|
|
- .saveData(
|
|
|
|
|
- DataTransferConstants.KEY_SELECTED_MEMBER_LOCKER_DATA,
|
|
|
|
|
- viewModel.selectedLockerData
|
|
|
|
|
- )
|
|
|
|
|
- GlobalDataTempStore.getInstance()
|
|
|
|
|
- .saveData(
|
|
|
|
|
- DataTransferConstants.KEY_SELECTED_MEMBER_COLOCKER_DATA,
|
|
|
|
|
- viewModel.selecteColockerData
|
|
|
|
|
- )
|
|
|
|
|
- GlobalDataTempStore.getInstance()
|
|
|
|
|
- .saveData(
|
|
|
|
|
- DataTransferConstants.KEY_PREVIEW_STEP_TITLE_DATA,
|
|
|
|
|
- viewModel.ticketData!!.ticketName
|
|
|
|
|
- )
|
|
|
|
|
- GlobalDataTempStore.getInstance()
|
|
|
|
|
- .saveData(
|
|
|
|
|
- DataTransferConstants.KEY_PREVIEW_STEP_ICON_DATA,
|
|
|
|
|
- R.mipmap.icon_data_manage_menu_point_manage
|
|
|
|
|
- )
|
|
|
|
|
|
|
+ GlobalDataTempStore.getInstance().saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_SELECT_POINT_WORKSTATION_ID,
|
|
|
|
|
+ viewModel.ticketData!!.workstationId
|
|
|
|
|
+ )
|
|
|
|
|
+ GlobalDataTempStore.getInstance().saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_SELECTED_MEMBER_LOCKER_DATA,
|
|
|
|
|
+ viewModel.selectedLockerData
|
|
|
|
|
+ )
|
|
|
|
|
+ GlobalDataTempStore.getInstance().saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_SELECTED_MEMBER_COLOCKER_DATA,
|
|
|
|
|
+ viewModel.selecteColockerData
|
|
|
|
|
+ )
|
|
|
|
|
+ GlobalDataTempStore.getInstance().saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_PREVIEW_STEP_TITLE_DATA,
|
|
|
|
|
+ viewModel.ticketData!!.ticketName
|
|
|
|
|
+ )
|
|
|
|
|
+ GlobalDataTempStore.getInstance().saveData(
|
|
|
|
|
+ DataTransferConstants.KEY_PREVIEW_STEP_ICON_DATA,
|
|
|
|
|
+ R.mipmap.icon_data_manage_menu_point_manage
|
|
|
|
|
+ )
|
|
|
GlobalDataTempStore.getInstance()
|
|
GlobalDataTempStore.getInstance()
|
|
|
.saveData(DataTransferConstants.KEY_JOB_TICKET_ID, viewModel.ticketId)
|
|
.saveData(DataTransferConstants.KEY_JOB_TICKET_ID, viewModel.ticketId)
|
|
|
navController.navigate(R.id.action_jobExecuteFragment_to_selectMemberFragment)
|
|
navController.navigate(R.id.action_jobExecuteFragment_to_selectMemberFragment)
|
|
@@ -415,17 +394,14 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
val currentWorkflowStep =
|
|
val currentWorkflowStep =
|
|
|
viewModel.workflowSteps.find { it.stepId == viewModel.currentStepData?.workflowStepId }
|
|
viewModel.workflowSteps.find { it.stepId == viewModel.currentStepData?.workflowStepId }
|
|
|
//当前步骤能加共锁并且锁已经上锁或者当前步骤能解共锁并且锁已经上锁
|
|
//当前步骤能加共锁并且锁已经上锁或者当前步骤能解共锁并且锁已经上锁
|
|
|
- if ((currentWorkflowStep?.enableColock == true || currentWorkflowStep?.enableReleaseColock == true) &&
|
|
|
|
|
- viewModel.ticketPoints.all { it.pointStatus == "1" }
|
|
|
|
|
- ) {
|
|
|
|
|
|
|
+ if ((currentWorkflowStep?.enableColock == true || currentWorkflowStep?.enableReleaseColock == true) && viewModel.ticketPoints.all { it.pointStatus == "1" }) {
|
|
|
viewModel.getUserIdByCardRfid(it.rfidNo).observe(this) { userId ->
|
|
viewModel.getUserIdByCardRfid(it.rfidNo).observe(this) { userId ->
|
|
|
userId?.let {
|
|
userId?.let {
|
|
|
- val isJobCardUser =
|
|
|
|
|
- viewModel.ticketUser.filter {
|
|
|
|
|
- it.userRole?.contains(
|
|
|
|
|
- RoleEnum.JTCOLOCKER.roleKey
|
|
|
|
|
- ) == true
|
|
|
|
|
- }.find { it.userId == userId }
|
|
|
|
|
|
|
+ val isJobCardUser = viewModel.ticketUser.filter {
|
|
|
|
|
+ it.userRole?.contains(
|
|
|
|
|
+ RoleEnum.JTCOLOCKER.roleKey
|
|
|
|
|
+ ) == true
|
|
|
|
|
+ }.find { it.userId == userId }
|
|
|
isJobCardUser?.let { colocker ->
|
|
isJobCardUser?.let { colocker ->
|
|
|
if (colocker.jobStatus == "0" && currentWorkflowStep.enableColock) {
|
|
if (colocker.jobStatus == "0" && currentWorkflowStep.enableColock) {
|
|
|
logger.info("添加共锁")
|
|
logger.info("添加共锁")
|
|
@@ -433,8 +409,7 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
msg = CommonUtils.getStr(
|
|
msg = CommonUtils.getStr(
|
|
|
com.grkj.ui_base.R.string.confirm_to_colock,
|
|
com.grkj.ui_base.R.string.confirm_to_colock,
|
|
|
colocker.nickName
|
|
colocker.nickName
|
|
|
- )
|
|
|
|
|
- .toString(), countDownTime = 10, onConfirmClick = {
|
|
|
|
|
|
|
+ ).toString(), countDownTime = 10, onConfirmClick = {
|
|
|
colocker.jobStatus = "1"
|
|
colocker.jobStatus = "1"
|
|
|
viewModel.colockerStatusChange(colocker)
|
|
viewModel.colockerStatusChange(colocker)
|
|
|
.observe(this) {
|
|
.observe(this) {
|
|
@@ -453,8 +428,7 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
msg = CommonUtils.getStr(
|
|
msg = CommonUtils.getStr(
|
|
|
com.grkj.ui_base.R.string.confirm_to_uncolock,
|
|
com.grkj.ui_base.R.string.confirm_to_uncolock,
|
|
|
colocker.nickName
|
|
colocker.nickName
|
|
|
- )
|
|
|
|
|
- .toString(), countDownTime = 10, onConfirmClick = {
|
|
|
|
|
|
|
+ ).toString(), countDownTime = 10, onConfirmClick = {
|
|
|
colocker.jobStatus = "2"
|
|
colocker.jobStatus = "2"
|
|
|
viewModel.colockerStatusChange(colocker)
|
|
viewModel.colockerStatusChange(colocker)
|
|
|
.observe(this) {
|
|
.observe(this) {
|
|
@@ -492,8 +466,7 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
showCancel = false,
|
|
showCancel = false,
|
|
|
onConfirmClick = {
|
|
onConfirmClick = {
|
|
|
navController.popBackStack()
|
|
navController.popBackStack()
|
|
|
- }
|
|
|
|
|
- )
|
|
|
|
|
|
|
+ })
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -544,29 +517,23 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
} else {
|
|
} else {
|
|
|
val currentStep =
|
|
val currentStep =
|
|
|
viewModel.workflowSteps.find { it.stepId == viewModel.currentStepData?.workflowStepId }
|
|
viewModel.workflowSteps.find { it.stepId == viewModel.currentStepData?.workflowStepId }
|
|
|
- when {
|
|
|
|
|
- //步骤开启取消作业,并且点位还没有上锁,显示取消作业按钮
|
|
|
|
|
- (currentStep?.enableCancelJob == true && viewModel.ticketPoints.any { it.pointStatus != "0" }) -> {
|
|
|
|
|
- binding.cancelJob.isVisible = true
|
|
|
|
|
- }
|
|
|
|
|
- //步骤开启上锁,并且点位都还没有上锁
|
|
|
|
|
- currentStep?.enableLock == true && viewModel.ticketPoints.any { it.pointStatus == "0" } -> {
|
|
|
|
|
- binding.toLock.isVisible = true
|
|
|
|
|
- }
|
|
|
|
|
- //步骤开启共锁,并且点位都不存在没有上锁的
|
|
|
|
|
- currentStep?.enableColock == true && viewModel.ticketPoints.all { it.pointStatus != "0" } -> {
|
|
|
|
|
-
|
|
|
|
|
- }
|
|
|
|
|
- //步骤开启解锁,并且点位都已经上锁,并且如果支持共锁都已经解除
|
|
|
|
|
|
|
+ //步骤开启取消作业,并且点位还没有上锁,显示取消作业按钮
|
|
|
|
|
+ binding.cancelJob.isVisible =
|
|
|
|
|
+ currentStep?.enableCancelJob == true && viewModel.ticketPoints.all { it.pointStatus == "0" }
|
|
|
|
|
+ binding.toLock.isVisible =
|
|
|
|
|
+ //步骤开启上锁,并且点位都还没有上锁
|
|
|
|
|
+ (currentStep?.enableLock == true && viewModel.ticketPoints.any { it.pointStatus == "0" }) ||
|
|
|
|
|
+ //步骤开启共锁,并且点位都不存在没有上锁的
|
|
|
|
|
+ (currentStep?.enableColock == true && viewModel.ticketPoints.all { it.pointStatus != "0" }) ||
|
|
|
|
|
+ (currentStep?.enableLock == true && viewModel.isUnlockFirst && viewModel.ticketPoints.all { it.pointStatus == "2" })
|
|
|
|
|
+ //步骤开启解锁,并且点位都已经上锁,并且如果支持共锁都已经解除
|
|
|
|
|
+ binding.toUnlock.isVisible =
|
|
|
currentStep?.enableUnlock == true &&
|
|
currentStep?.enableUnlock == true &&
|
|
|
viewModel.ticketPoints.all { it.pointStatus == "1" } &&
|
|
viewModel.ticketPoints.all { it.pointStatus == "1" } &&
|
|
|
(viewModel.workflowModes.find { it.modeId == viewModel.ticketData?.modeId }?.isColockSupport == false ||
|
|
(viewModel.workflowModes.find { it.modeId == viewModel.ticketData?.modeId }?.isColockSupport == false ||
|
|
|
(viewModel.workflowModes.find { it.modeId == viewModel.ticketData?.modeId }?.isColockSupport == true &&
|
|
(viewModel.workflowModes.find { it.modeId == viewModel.ticketData?.modeId }?.isColockSupport == true &&
|
|
|
viewModel.ticketUser.filter { it.userRole == RoleEnum.JTCOLOCKER.roleKey }
|
|
viewModel.ticketUser.filter { it.userRole == RoleEnum.JTCOLOCKER.roleKey }
|
|
|
- .all { it.jobStatus == "2" })) -> {
|
|
|
|
|
- binding.toUnlock.isVisible = true
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ .all { it.jobStatus == "2" }))
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -617,22 +584,19 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
|
|
|
viewModel.ticketUser.let {
|
|
viewModel.ticketUser.let {
|
|
|
binding.waitToColockRv.models =
|
|
binding.waitToColockRv.models =
|
|
|
it.filter { it.jobStatus == "0" && it.userRole == RoleEnum.JTCOLOCKER.roleKey }
|
|
it.filter { it.jobStatus == "0" && it.userRole == RoleEnum.JTCOLOCKER.roleKey }
|
|
|
- binding.waitToColock.text =
|
|
|
|
|
- getString(
|
|
|
|
|
- R.string.wait_to_colock,
|
|
|
|
|
- it.count { it.jobStatus == "0" && it.userRole == RoleEnum.JTCOLOCKER.roleKey })
|
|
|
|
|
|
|
+ binding.waitToColock.text = getString(
|
|
|
|
|
+ R.string.wait_to_colock,
|
|
|
|
|
+ it.count { it.jobStatus == "0" && it.userRole == RoleEnum.JTCOLOCKER.roleKey })
|
|
|
binding.alreadyColockRv.models =
|
|
binding.alreadyColockRv.models =
|
|
|
it.filter { it.jobStatus == "1" && it.userRole == RoleEnum.JTCOLOCKER.roleKey }
|
|
it.filter { it.jobStatus == "1" && it.userRole == RoleEnum.JTCOLOCKER.roleKey }
|
|
|
- binding.alreadyColock.text =
|
|
|
|
|
- getString(
|
|
|
|
|
- R.string.already_colock,
|
|
|
|
|
- it.count { it.jobStatus == "1" && it.userRole == RoleEnum.JTCOLOCKER.roleKey })
|
|
|
|
|
|
|
+ binding.alreadyColock.text = getString(
|
|
|
|
|
+ R.string.already_colock,
|
|
|
|
|
+ it.count { it.jobStatus == "1" && it.userRole == RoleEnum.JTCOLOCKER.roleKey })
|
|
|
binding.alreadyUncolockRv.models =
|
|
binding.alreadyUncolockRv.models =
|
|
|
it.filter { it.jobStatus == "2" && it.userRole == RoleEnum.JTCOLOCKER.roleKey }
|
|
it.filter { it.jobStatus == "2" && it.userRole == RoleEnum.JTCOLOCKER.roleKey }
|
|
|
- binding.alreadyUncolock.text =
|
|
|
|
|
- getString(
|
|
|
|
|
- R.string.already_uncolock,
|
|
|
|
|
- it.count { it.jobStatus == "2" && it.userRole == RoleEnum.JTCOLOCKER.roleKey })
|
|
|
|
|
|
|
+ binding.alreadyUncolock.text = getString(
|
|
|
|
|
+ R.string.already_uncolock,
|
|
|
|
|
+ it.count { it.jobStatus == "2" && it.userRole == RoleEnum.JTCOLOCKER.roleKey })
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|