|
@@ -35,6 +35,7 @@ import com.sik.sikcore.data.BeanUtils
|
|
|
import com.sik.sikcore.date.TimeUtils
|
|
import com.sik.sikcore.date.TimeUtils
|
|
|
import javax.inject.Inject
|
|
import javax.inject.Inject
|
|
|
import javax.inject.Singleton
|
|
import javax.inject.Singleton
|
|
|
|
|
+import kotlin.math.log
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 作业票实现
|
|
* 作业票实现
|
|
@@ -596,17 +597,18 @@ class JobTicketRepository @Inject constructor(
|
|
|
.filter { it.stepStatus == "1" }
|
|
.filter { it.stepStatus == "1" }
|
|
|
.map { it.workflowStepId }
|
|
.map { it.workflowStepId }
|
|
|
.toSet()
|
|
.toSet()
|
|
|
-
|
|
|
|
|
|
|
+ logger.info("当前已经完成的步骤:${doneStepIds}")
|
|
|
// 5. 判断“上锁”/“解锁”哪一步已执行过
|
|
// 5. 判断“上锁”/“解锁”哪一步已执行过
|
|
|
val hasDoneLock = stepDefs.any { it.enableLock && doneStepIds.contains(it.stepId) }
|
|
val hasDoneLock = stepDefs.any { it.enableLock && doneStepIds.contains(it.stepId) }
|
|
|
val hasDoneUnlock = stepDefs.any { it.enableUnlock && doneStepIds.contains(it.stepId) }
|
|
val hasDoneUnlock = stepDefs.any { it.enableUnlock && doneStepIds.contains(it.stepId) }
|
|
|
|
|
|
|
|
|
|
+ logger.info("是否已经完成上锁:${hasDoneLock}")
|
|
|
|
|
+ logger.info("是否已经完成解锁:${hasDoneUnlock}")
|
|
|
// 6. 根据完成情况决定下一步
|
|
// 6. 根据完成情况决定下一步
|
|
|
return when {
|
|
return when {
|
|
|
- !hasDoneLock && !hasDoneUnlock -> NextJobPrompt.NO_NEW_JOB // 上锁+解锁都没作业,就不做
|
|
|
|
|
- !hasDoneLock -> NextJobPrompt.CREATE_LOCK_JOB // 还没上锁,就先上锁
|
|
|
|
|
- !hasDoneUnlock -> NextJobPrompt.CREATE_UNLOCK_JOB// 上锁做了,但没解锁,就去解锁
|
|
|
|
|
- else -> NextJobPrompt.NO_NEW_JOB // 上锁+解锁都做过了,或已扫尾
|
|
|
|
|
|
|
+ hasDoneLock && !hasDoneUnlock -> NextJobPrompt.CREATE_UNLOCK_JOB // 做了上锁,补解锁
|
|
|
|
|
+ !hasDoneLock && hasDoneUnlock -> NextJobPrompt.CREATE_LOCK_JOB // 做了解锁,补上锁
|
|
|
|
|
+ else -> NextJobPrompt.NO_NEW_JOB // 其它情况:不补单
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|