From a3cc1d220f8a1de11874bebceba0130d32157ff1 Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期二, 30 九月 2025 09:26:32 +0800 Subject: [PATCH] 2025.9.30 1. 联合前端调试数据产品接口(待完成) --- src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/EvaluationsubruleServiceImpl.kt | 158 ++++++++++------------------------------------------ 1 files changed, 31 insertions(+), 127 deletions(-) diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/EvaluationsubruleServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/EvaluationsubruleServiceImpl.kt index e9d5732..0d3ba73 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/EvaluationsubruleServiceImpl.kt +++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/EvaluationsubruleServiceImpl.kt @@ -1,52 +1,52 @@ 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.entity.Evaluationrule +import cn.flightfeather.supervision.domain.ds1.entity.Evaluationsubrule +import cn.flightfeather.supervision.domain.ds1.entity.Evaluationsubrule2 import cn.flightfeather.supervision.domain.ds1.mapper.EvaluationruleMapper import cn.flightfeather.supervision.domain.ds1.mapper.EvaluationsubruleMapper +import cn.flightfeather.supervision.domain.ds1.mapper.EvaluationsubruleMapper2 import cn.flightfeather.supervision.domain.ds1.repository.EvaluationRep import cn.flightfeather.supervision.domain.ds1.repository.EvaluationRuleRep +import cn.flightfeather.supervision.domain.ds1.repository.SceneRep import cn.flightfeather.supervision.lightshare.service.EvaluationsubruleService -import cn.flightfeather.supervision.lightshare.vo.EvaluationVo -import cn.flightfeather.supervision.lightshare.vo.SubEvaluationVo -import cn.flightfeather.supervision.lightshare.vo.ThirdEvaluationVo +import cn.flightfeather.supervision.lightshare.vo.ScoreDetail import org.springframework.stereotype.Service import tk.mybatis.mapper.entity.Example @Service class EvaluationsubruleServiceImpl( + val evaluationsubruleMapper2: EvaluationsubruleMapper2, val evaluationsubruleMapper: EvaluationsubruleMapper, val evaluationruleMapper: EvaluationruleMapper, private val evaluationRep: EvaluationRep, private val evaluationRuleRep: EvaluationRuleRep, + private val sceneRep: SceneRep, ) : EvaluationsubruleService { - override fun findOne(id: String): Evaluationsubrule = evaluationsubruleMapper.selectByPrimaryKey(id) + override fun findOne(id: String): Evaluationsubrule2 = evaluationsubruleMapper2.selectByPrimaryKey(id) override fun findAll(): MutableList<Evaluationsubrule> = evaluationsubruleMapper.selectAll() - override fun save(evaluationsubrule: Evaluationsubrule): Int = evaluationsubruleMapper.insert(evaluationsubrule) + override fun save(evaluationsubrule: Evaluationsubrule2): Int = evaluationsubruleMapper2.insert(evaluationsubrule) - override fun update(evaluationsubrule: Evaluationsubrule): Int = - evaluationsubruleMapper.updateByPrimaryKey(evaluationsubrule) + override fun update(evaluationsubrule: Evaluationsubrule2): Int = + evaluationsubruleMapper2.updateByPrimaryKey(evaluationsubrule) - override fun delete(id: String): Int = evaluationsubruleMapper.deleteByPrimaryKey(id) + override fun delete(id: String): Int = evaluationsubruleMapper2.deleteByPrimaryKey(id) - override fun findByRuleId(erguid: String): List<Evaluationsubrule> { - val example = Example(Evaluationsubrule::class.java) - val criteria = example.createCriteria() - criteria.andEqualTo("erguid", erguid) - example.orderBy("extension1").desc() - return evaluationsubruleMapper.selectByExample(example) + override fun findByRuleId(erguid: String): List<Evaluationsubrule2> { + return evaluationRuleRep.findSubRule(erguid) } - override fun search(districtCode: String, sceneTypeId: String, version: String?): List<Evaluationsubrule> { - val result = mutableListOf<Evaluationsubrule>() + override fun search(districtCode: String, sceneTypeId: String, version: String?): List<Evaluationsubrule2> { + val result = mutableListOf<Evaluationsubrule2>() evaluationruleMapper.selectByExample(Example(Evaluationrule::class.java).apply { createCriteria().andEqualTo("districtcode", districtCode) .andEqualTo("scensetypeid", sceneTypeId) }).takeIf { it.isNotEmpty() }?.get(0)?.let { rule -> - evaluationsubruleMapper.selectByExample(Example(Evaluationsubrule::class.java).apply { + evaluationsubruleMapper2.selectByExample(Example(Evaluationsubrule2::class.java).apply { createCriteria().andEqualTo("erguid", rule.guid) }) }?.also { @@ -56,125 +56,29 @@ return result } - override fun getAutoScore(subTaskId: String): List<EvaluationVo> { + override fun getAutoScore(subTaskId: String): ScoreDetail { + //鍦烘櫙淇℃伅 + val scene = sceneRep.findBySubTask(subTaskId) + //鎬诲垎 + val evaluation = evaluationRep.findBySubtask(subTaskId) //瀛愯鍒欓�愭潯寰楀垎 val subRuleScores = evaluationRep.findItemEvaluation(subTaskId) + if (subRuleScores.isEmpty()) throw BizException("鏃犺瘎浼拌褰�") //璇勫垎鎬昏鍒� val rule = evaluationRuleRep.findAutoEvaluationRule(subTaskId) ?: throw BizException("鏈壘鍒扮浉鍏宠嚜鍔ㄨ瘎浼拌鍒�") //鎬昏鍒欏搴旂殑璇勫垎瀛愯鍒� val subRules = evaluationRuleRep.findSubRule(rule.guid) //鏌ヨ缁撴灉 - val resultList = mutableListOf<EvaluationVo>() + val result = ScoreDetail() + result.status = if (scene?.extension1.equals("1")) "鍦ㄥ缓" else "瀹屽伐" - var _group = 0 + result.updateTime = evaluation?.updatedate subRules.forEach { - when (it.ertype) { - 2 -> resultList.add(EvaluationVo().apply { - id = it.guid - title = it.itemname - scoreMode = it.extension1 - gradeMode = it.extension2 - 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 - } - selectMode = it.extension3 - - //濡傛灉鏈夊緱鍒嗚褰曪紝鍒欐敼鍙樼姸鎬佷负閫変腑 - for (s in subRuleScores) { - if (it.guid == s.esrguid) { - select = s.extension1 == "true" - break - } - } - }) - 3 -> { - for (r in resultList) { - if (it.fatherid == r.id) { - r.subList.add(SubEvaluationVo().apply { - id = it.guid - title2 = it.itemname - gradeMode = it.extension2 - selectMode = it.extension3 - score = when (gradeMode) { - "minus_mode" -> it.minscore?.minus(it.maxscore ?: 0) ?: 0 - "add_mode" -> it.maxscore ?: 0 - else -> it.minscore?.minus(it.maxscore ?: 0) ?: 0 - } - group = _group++ - - //濡傛灉鏈夊緱鍒嗚褰曪紝鍒欐敼鍙樼姸鎬佷负閫変腑 - for (s in subRuleScores) { - if (it.guid == s.esrguid) { - select = s.extension1 == "true" - break - } - } - }) - break - } - } - } - 4 -> { - resultList.forEach{ r -> - //4绾х殑璇勪及椤圭洿鎺ラ檮灞炰簬2绾ц瘎浼伴」 - if (r.id == it.fatherid) { - if (r.subList.isEmpty()) { - r.subList.add(SubEvaluationVo().apply { - placeholder = true - id = it.guid - title2 = r.title - score = r.maxScore - gradeMode = r.gradeMode - selectMode = r.selectMode - group = _group++ - }) - } - r.subList[0].sub2.add(ThirdEvaluationVo().apply { - id = it.guid - content = it.itemname - score = when (r.subList[0].gradeMode) { - "minus_mode" -> r.maxScore.plus(it.maxscore ?: 0) - "add_mode" -> it.maxscore ?: 0 - else -> r.maxScore.plus(it.maxscore ?: 0) - } - //濡傛灉鏈夊緱鍒嗚褰曪紝鍒欐敼鍙樼姸鎬佷负閫変腑 - for (s in subRuleScores) { - if (it.guid == s.esrguid) { - select = s.extension1 == "true" - break - } - } - }) - } else { - r.subList.forEach { sr -> - if (sr.id == it.fatherid){ - sr.sub2.add(ThirdEvaluationVo().apply { - id = it.guid - content = it.itemname - score = when (sr.gradeMode) { - "minus_mode" -> sr.score.plus(it.maxscore ?: 0) - "add_mode" -> it.maxscore ?: 0 - else -> sr.score.plus(it.maxscore ?: 0) - } - //濡傛灉鏈夊緱鍒嗚褰曪紝鍒欐敼鍙樼姸鎬佷负閫変腑 - for (s in subRuleScores) { - if (it.guid == s.esrguid) { - select = s.extension1 == "true" - break - } - } - }) - } - } - } - } - } - } + it.ertype ?: return@forEach + result.addDetail(result.details, it, it.ertype!! - 1, subRuleScores, false) } + result.calScore() - return resultList - + return result } } \ No newline at end of file -- Gitblit v1.9.3