From baf2cc2ce3dfd1235c012a3750132769fcd9ad2f Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期四, 18 九月 2025 17:02:05 +0800 Subject: [PATCH] 2025.9.18 1. 联合前端调试数据产品接口(待完成) --- src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/EvaluationsubruleServiceImpl.kt | 72 ++++++++++++++++++++++++++--------- 1 files changed, 53 insertions(+), 19 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 d104301..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,44 +1,52 @@ package cn.flightfeather.supervision.lightshare.service.impl +import cn.flightfeather.supervision.common.exception.BizException 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.ScoreDetail import org.springframework.stereotype.Service import tk.mybatis.mapper.entity.Example @Service -class EvaluationsubruleServiceImpl ( - val evaluationsubruleMapper: EvaluationsubruleMapper, - val evaluationruleMapper: EvaluationruleMapper -):EvaluationsubruleService { +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 { + .andEqualTo("scensetypeid", sceneTypeId) + }).takeIf { it.isNotEmpty() }?.get(0)?.let { rule -> + evaluationsubruleMapper2.selectByExample(Example(Evaluationsubrule2::class.java).apply { createCriteria().andEqualTo("erguid", rule.guid) }) }?.also { @@ -47,4 +55,30 @@ return result } + + 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 result = ScoreDetail() + result.status = if (scene?.extension1.equals("1")) "鍦ㄥ缓" else "瀹屽伐" + + result.updateTime = evaluation?.updatedate + subRules.forEach { + it.ertype ?: return@forEach + result.addDetail(result.details, it, it.ertype!! - 1, subRuleScores, false) + } + result.calScore() + + return result + } } \ No newline at end of file -- Gitblit v1.9.3