| | |
| | | import cn.flightfeather.supervision.domain.ds2.entity.LedgerSubType |
| | | import cn.flightfeather.supervision.domain.ds2.entity.UserMap |
| | | import cn.flightfeather.supervision.domain.ds2.entity.UserinfoTZ |
| | | import cn.flightfeather.supervision.lightshare.vo.EvaluationSubRuleVo |
| | | import org.springframework.beans.BeanUtils |
| | | import tk.mybatis.mapper.entity.Example |
| | | import java.time.LocalDateTime |
| | | import java.time.ZoneId |
| | |
| | | do { |
| | | callback(i, evaluationScene) |
| | | } while (evaluationScene.gotoNextSubTask()) |
| | | } |
| | | } |
| | | 1 -> { |
| | | userSourceList.forEachIndexed { i, user -> |
| | | evaluationScene.clear() |
| | | evaluationScene.index = i |
| | | evaluationScene.setDefaultUserTZ(user) |
| | | callback(i, evaluationScene) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 根据子任务只轮询一次 |
| | | * 当数据源是通过[setResource]传入[Subtask]时决定时 |
| | | */ |
| | | fun runBySubTask(callback: (index: Int, evaluationScene: EvaluationScene) -> Unit) { |
| | | when (mode) { |
| | | 0 -> { |
| | | sceneSourceList.forEachIndexed { i, scene -> |
| | | evaluationScene.clear() |
| | | evaluationScene.index = i |
| | | evaluationScene.setDefaultScene(scene) |
| | | callback(i, evaluationScene) |
| | | } |
| | | } |
| | | 1 -> { |
| | |
| | | val totalScore = InfoProxy<Int>() |
| | | |
| | | //自动评分规则一级分类 |
| | | val topItems = InfoProxy<MutableList<Evaluationsubrule2>>(config?.sceneType.toString()) { _, cacheMap -> |
| | | val _topItems = mutableListOf<Evaluationsubrule2>() |
| | | val _rules = mutableListOf<Pair<Evaluationsubrule2, MutableList<Evaluationsubrule2>>>() |
| | | val topRules = InfoProxy<MutableList<EvaluationSubRuleVo>>(config?.sceneType.toString()) { _, cacheMap -> |
| | | val _topItems = mutableListOf<EvaluationSubRuleVo>() |
| | | val _rules = mutableListOf<Pair<EvaluationSubRuleVo, MutableList<EvaluationSubRuleVo>>>() |
| | | val rule = aopDbMapper.evaluationruleMapper.selectByExample(Example(Evaluationrule::class.java).apply { |
| | | createCriteria() |
| | | .andEqualTo("tasktypeid", 99) |
| | |
| | | val rules = |
| | | aopDbMapper.evaluationsubruleMapper.selectByExample(Example(Evaluationsubrule2::class.java).apply { |
| | | createCriteria().andEqualTo("erguid", ruleId) |
| | | }) |
| | | }).map { |
| | | val vo = EvaluationSubRuleVo() |
| | | BeanUtils.copyProperties(it, vo) |
| | | vo |
| | | } |
| | | rules.forEach { |
| | | if (it.ertype == 2) { |
| | | _topItems.add(it) |
| | |
| | | var t = 0 |
| | | _topItems.forEach { |
| | | t += it.maxscore ?: 0 |
| | | val tempRules = mutableListOf<Evaluationsubrule2>() |
| | | val tempRules = mutableListOf<EvaluationSubRuleVo>() |
| | | for (i in rules) { |
| | | if (i.fatherid == it.guid && i.ertype == 3) { |
| | | tempRules.add(i) |
| | |
| | | } |
| | | tempRules.sortBy { t -> t.displayid } |
| | | tempRules.forEach { temp -> |
| | | val tempSubRules = mutableListOf<Evaluationsubrule2>() |
| | | val tempSubRules = mutableListOf<EvaluationSubRuleVo>() |
| | | for (i in rules) { |
| | | if (i.fatherid == temp.guid && i.ertype == 4) { |
| | | tempSubRules.add(i) |
| | |
| | | |
| | | // FIXME: 2023/8/9 子规则的获取必须在[topItems]调用之后,否则为空 |
| | | //自动评分规则二级和三级分类 |
| | | val rules = InfoProxy<MutableList<Pair<Evaluationsubrule2, MutableList<Evaluationsubrule2>>>>() |
| | | val rules = InfoProxy<MutableList<Pair<EvaluationSubRuleVo, MutableList<EvaluationSubRuleVo>>>>() |
| | | |
| | | //必填台账数量 |
| | | val ledgerCount = InfoProxy<Int>(config?.sceneType.toString()) {_, cacheMap -> |
| | |
| | | evaluation.clear() |
| | | itemevaluationList.clear() |
| | | totalScore.clear() |
| | | topItems.clear() |
| | | topRules.clear() |
| | | baseRule.clear() |
| | | rules.clear() |
| | | } |