From 82baf5d28ce79aa4d3b64956207d247596726924 Mon Sep 17 00:00:00 2001
From: hcong <1050828145@qq.com>
Date: 星期二, 10 十二月 2024 11:21:33 +0800
Subject: [PATCH] 1. BgTaskStatus状态属性序列化
---
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/EvaluationsubruleServiceImpl.kt | 165 +++++++++++-------------------------------------------
1 files changed, 34 insertions(+), 131 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 2326646..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,51 +1,52 @@
package cn.flightfeather.supervision.lightshare.service.impl
-import cn.flightfeather.supervision.domain.ds1.entity.*
+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.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 {
@@ -55,127 +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)
- //鎬昏鍒檌d
- val ruleId = mutableListOf<Evaluation>()
+ if (subRuleScores.isEmpty()) throw BizException("鏃犺瘎浼拌褰�")
//璇勫垎鎬昏鍒�
- 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>()
+ 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
- title1 = it.itemname
- scoreMode = it.extension1
- gradeMode = it.extension2
- 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
- }
- 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.sub1.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.sub1.isEmpty()) {
- r.sub1.add(SubEvaluationVo().apply {
- placeholder = true
- id = it.guid
- title2 = r.title1
- score = r.score
- gradeMode = r.gradeMode
- selectMode = r.selectMode
- group = _group++
- })
- }
- r.sub1[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)
- "add_mode" -> it.maxscore ?: 0
- else -> r.score.plus(it.maxscore ?: 0)
- }
- //濡傛灉鏈夊緱鍒嗚褰曪紝鍒欐敼鍙樼姸鎬佷负閫変腑
- for (s in subRuleScores) {
- if (it.guid == s.esrguid) {
- select = s.extension1 == "true"
- break
- }
- }
- })
- } else {
- r.sub1.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