| | |
| | | package cn.flightfeather.supervision.business.autooutput.datasource |
| | | |
| | | import cn.flightfeather.supervision.common.exception.BizException |
| | | import cn.flightfeather.supervision.common.utils.Constant |
| | | import cn.flightfeather.supervision.domain.ds1.entity.* |
| | | import cn.flightfeather.supervision.domain.ds2.entity.LedgerRecord |
| | |
| | | evaluationScene.clear() |
| | | evaluationScene.index = i |
| | | evaluationScene.setDefaultScene(scene) |
| | | callback(i, evaluationScene) |
| | | do { |
| | | callback(i, evaluationScene) |
| | | } while (evaluationScene.gotoNextSubTask()) |
| | | } |
| | | } |
| | | 1 -> { |
| | |
| | | |
| | | // 从监管系统获取场景 |
| | | private fun initSceneSource(config: AopDataConfig) { |
| | | config.topTaskGuid ?: throw IllegalStateException("顶层任务id不能为null") |
| | | config.topTaskGuid ?: throw BizException("顶层任务id不能为null") |
| | | this.config = config |
| | | this.mode = 0 |
| | | sceneSourceList.clear() |
| | | val taskSceneIdList = |
| | | aopDbMapper.scenseMapper.getSceneByType(config.topTaskGuid, config.sceneType, config.townCode) |
| | | taskSceneIdList.forEach { |
| | | println(it.name) |
| | | } |
| | | sceneSourceList.addAll(taskSceneIdList) |
| | | } |
| | | |
| | |
| | | }) |
| | | } |
| | | //巡查任务信息 |
| | | var subTaskIndex = 0 |
| | | val subTask = InfoProxy<Subtask> {_,_ -> |
| | | return@InfoProxy if (subTaskList.value?.isNotEmpty() == true) { |
| | | subTaskList.value?.get(subTaskIndex) |
| | | } else { |
| | | null |
| | | } |
| | | } |
| | | |
| | | val subTaskList = InfoProxy<List<Subtask>> {_,_ -> |
| | | return@InfoProxy aopDbMapper.subtaskMapper.selectByExample(Example(Subtask::class.java).apply { |
| | | createCriteria().andEqualTo("scenseid", scene.value?.guid) |
| | | // .andBetween("planstarttime", config?.startTime, config?.endTime) |
| | | .andEqualTo("tguid", config?.topTaskGuid) |
| | | })?.takeIf { it.isNotEmpty() }?.get(0) |
| | | }) |
| | | } |
| | | |
| | | //现场巡查信息 |
| | |
| | | */ |
| | | fun clear() { |
| | | scene.clear() |
| | | subTaskIndex = 0 |
| | | subTaskList.clear() |
| | | userInfo.clear() |
| | | userInfoTZ.clear() |
| | | baseScene.clear() |
| | | problemTypes.clear() |
| | | ledgerCount.clear() |
| | | ledgerRecords.clear() |
| | | |
| | | clearSubtask() |
| | | } |
| | | |
| | | fun clearSubtask() { |
| | | subTask.clear() |
| | | inspection.clear() |
| | | baseScene.clear() |
| | | problems.clear() |
| | | evaluation.clear() |
| | | itemevaluationList.clear() |
| | | problemTypes.clear() |
| | | baseRule.clear() |
| | | totalScore.clear() |
| | | topItems.clear() |
| | | baseRule.clear() |
| | | rules.clear() |
| | | ledgerCount.clear() |
| | | ledgerRecords.clear() |
| | | } |
| | | |
| | | /** |
| | | * 切换至下一个巡查任务 |
| | | * 一个场景可能同时存在多个巡查任务[subTaskList],需要对每个巡查任务分别进行评分 |
| | | * @return 是否有下一个巡查任务 |
| | | */ |
| | | fun gotoNextSubTask(): Boolean { |
| | | return if (subTaskIndex + 1 < (subTaskList.value?.size ?: 0)) { |
| | | clearSubtask() |
| | | subTaskIndex++ |
| | | true |
| | | } else { |
| | | false |
| | | } |
| | | } |
| | | |
| | | /** |