feiyu02
2024-07-08 b212ef0208cb094f63ea8a239a1361f8e859c839
src/main/kotlin/cn/flightfeather/supervision/business/autooutput/datasource/AopDataSource.kt
@@ -70,7 +70,9 @@
                    evaluationScene.clear()
                    evaluationScene.index = i
                    evaluationScene.setDefaultScene(scene)
                    callback(i, evaluationScene)
                    do {
                        callback(i, evaluationScene)
                    } while (evaluationScene.gotoNextSubTask())
                }
            }
            1 -> {
@@ -92,6 +94,9 @@
        sceneSourceList.clear()
        val taskSceneIdList =
            aopDbMapper.scenseMapper.getSceneByType(config.topTaskGuid, config.sceneType, config.townCode)
        taskSceneIdList.forEach {
            println(it.name)
        }
        sceneSourceList.addAll(taskSceneIdList)
    }
@@ -150,12 +155,21 @@
            })
        }
        //巡查任务信息
        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)
            })
        }
        //现场巡查信息
@@ -341,21 +355,43 @@
         */
        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
            }
        }
        /**