src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/EvaluationsubruleServiceImpl.kt
@@ -1,5 +1,6 @@
package cn.flightfeather.supervision.lightshare.service.impl
import cn.flightfeather.supervision.common.exception.BizException
import cn.flightfeather.supervision.domain.ds1.entity.*
import cn.flightfeather.supervision.domain.ds1.mapper.EvaluationruleMapper
import cn.flightfeather.supervision.domain.ds1.mapper.EvaluationsubruleMapper
@@ -58,12 +59,10 @@
    override fun getAutoScore(subTaskId: String): List<EvaluationVo> {
        //子规则逐条得分
        val subRuleScores = evaluationRep.findItemEvaluation(subTaskId)
        //总规则id
        val ruleId = mutableListOf<Evaluation>()
        //评分总规则
        val rule = evaluationRuleRep.findAutoEvaluationRule(subTaskId)
        val rule = evaluationRuleRep.findAutoEvaluationRule(subTaskId) ?: throw BizException("未找到相关自动评估规则")
        //总规则对应的评分子规则
        val subRules = mutableListOf<Evaluationsubrule2>()
        val subRules = evaluationRuleRep.findSubRule(rule.guid)
        //查询结果
        val resultList = mutableListOf<EvaluationVo>()
@@ -72,10 +71,10 @@
            when (it.ertype) {
                2 -> resultList.add(EvaluationVo().apply {
                    id = it.guid
                    title1 = it.itemname
                    title = it.itemname
                    scoreMode = it.extension1
                    gradeMode = it.extension2
                    score = when (gradeMode) {
                    maxScore = when (gradeMode) {
                        "minus_mode" -> it.minscore?.minus(it.maxscore ?: 0) ?: 0
                        "add_mode" -> it.maxscore ?: 0
                        else -> it.minscore?.minus(it.maxscore ?: 0) ?: 0
@@ -93,7 +92,7 @@
                3 -> {
                    for (r in resultList) {
                        if (it.fatherid == r.id) {
                            r.sub1.add(SubEvaluationVo().apply {
                            r.subList.add(SubEvaluationVo().apply {
                                id = it.guid
                                title2 = it.itemname
                                gradeMode = it.extension2
@@ -121,24 +120,24 @@
                    resultList.forEach{ r ->
                        //4级的评估项直接附属于2级评估项
                        if (r.id == it.fatherid) {
                            if (r.sub1.isEmpty()) {
                                r.sub1.add(SubEvaluationVo().apply {
                            if (r.subList.isEmpty()) {
                                r.subList.add(SubEvaluationVo().apply {
                                    placeholder = true
                                    id = it.guid
                                    title2 = r.title1
                                    score = r.score
                                    title2 = r.title
                                    score = r.maxScore
                                    gradeMode = r.gradeMode
                                    selectMode = r.selectMode
                                    group = _group++
                                })
                            }
                            r.sub1[0].sub2.add(ThirdEvaluationVo().apply {
                            r.subList[0].sub2.add(ThirdEvaluationVo().apply {
                                id = it.guid
                                content = it.itemname
                                score = when (r.sub1[0].gradeMode) {
                                    "minus_mode" -> r.score.plus(it.maxscore ?: 0)
                                score = when (r.subList[0].gradeMode) {
                                    "minus_mode" -> r.maxScore.plus(it.maxscore ?: 0)
                                    "add_mode" -> it.maxscore ?: 0
                                    else -> r.score.plus(it.maxscore ?: 0)
                                    else -> r.maxScore.plus(it.maxscore ?: 0)
                                }
                                //如果有得分记录,则改变状态为选中
                                for (s in subRuleScores) {
@@ -149,7 +148,7 @@
                                }
                            })
                        } else {
                            r.sub1.forEach { sr ->
                            r.subList.forEach { sr ->
                                if (sr.id == it.fatherid){
                                    sr.sub2.add(ThirdEvaluationVo().apply {
                                        id = it.guid