From 196bb14112448857a885e32dc4149e308e00b01a Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期四, 15 八月 2024 11:57:15 +0800 Subject: [PATCH] 2024.8.15 各项修正 --- src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/EvaluationsubruleServiceImpl.kt | 68 ++++++++++++++++++++++++++++++--- 1 files changed, 61 insertions(+), 7 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 d80effc..7abce00 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 @@ -4,13 +4,17 @@ import cn.flightfeather.supervision.domain.entity.Evaluationrule import cn.flightfeather.supervision.domain.entity.Evaluationsubrule import cn.flightfeather.supervision.domain.entity.Itemevaluation +import cn.flightfeather.supervision.domain.enumeration.AssessmentRuleType +import cn.flightfeather.supervision.domain.enumeration.SceneType import cn.flightfeather.supervision.domain.mapper.* +import cn.flightfeather.supervision.infrastructure.utils.DateUtil 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 org.springframework.stereotype.Service import tk.mybatis.mapper.entity.Example +import java.time.LocalDateTime @Service class EvaluationsubruleServiceImpl( @@ -38,9 +42,21 @@ return evaluationsubruleMapper.selectByExample(example) } - override fun getScore(userId: String, time: String): List<EvaluationVo> { + override fun getScore(userId: String, time: String, platform:String?): List<EvaluationVo> { + val list = time.split("-") + var endM = list[1].toInt() + val list2 = list[0].split("/") + val year = list2[0].toInt() + var startM = list2[1].toInt() + var st = LocalDateTime.of(year, startM, 1, 0, 0, 0, 0) + var et = LocalDateTime.of(year, endM, 1, 0, 0, 0, 0).plusMonths(1) + val userinfo = userinfoMapper.selectByPrimaryKey(userId) ?: return emptyList() - val sceneType = userinfo.extension2 + var sceneType = userinfo.extension2 + // FIXME: 2022/11/8 涓存椂娣诲姞杩囧害鍔熻兘锛屾彁渚涘井淇″皬绋嬪簭鍓嶇姹戒慨绫诲瀷鐨勫満鏅崟鐙殑璇勪及娓呭崟 锛屽満鏅被鍨嬩负 -7 + if (platform == "weixin" && sceneType == SceneType.VehicleRepair.value.toString()) { + sceneType = "-7" + } //璇勫垎鎬昏鍒� val rules = evaluationruleMapper.selectByExample(Example(Evaluationrule::class.java).apply { createCriteria().andEqualTo("scensetypeid", sceneType) @@ -51,6 +67,16 @@ val rIdList = mutableListOf<String?>() rules.forEach { + // 鎵惧埌鎬昏鍒� + if (it.ruletype == AssessmentRuleType.Total.value.toString()) { + val rulePeriod = it.scensesubtypeid?.toInt() ?: 1 + DateUtil.getStartMonthByPeriod(startM, rulePeriod)?.let {s -> + startM = s + endM = startM + rulePeriod - 1 + st = LocalDateTime.of(year, startM, 1, 0, 0, 0, 0) + et = LocalDateTime.of(year, endM, 1, 0, 0, 0, 0).plusMonths(1) + } + } rIdList.add(it.guid) } @@ -67,7 +93,11 @@ val ruleScore = evaluationMapper.selectByExample(Example(Evaluation::class.java).apply { createCriteria().andIn("stguid", rIdList)//瑙勫垯id .andEqualTo("evaluatorguid", userId)//鐢ㄦ埛id - .andEqualTo("scensename", time)//璇勪及鍛ㄦ湡锛屼緥锛�2020/6-6 + and( + createCriteria().orEqualTo("scensename", time)//璇勪及鍛ㄦ湡锛屼緥锛�2020/6-6 + .orBetween("createdate", st, et) + ) + orderBy("createdate").desc() }) //瀛愯鍒欓�愭潯寰楀垎 val subRuleScores = if (ruleScore.isEmpty()) { @@ -88,7 +118,14 @@ 2 -> resultList.add(EvaluationVo().apply { id = it.guid title1 = it.itemname - score = it.minscore?.minus(it.maxscore ?: 0) ?: 0 + 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) { @@ -104,7 +141,13 @@ r.sub1.add(SubEvaluationVo().apply { id = it.guid title2 = it.itemname - score = it.minscore?.minus(it.maxscore ?: 0) ?: 0 + 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++ //濡傛灉鏈夊緱鍒嗚褰曪紝鍒欐敼鍙樼姸鎬佷负閫変腑 @@ -121,6 +164,7 @@ } 4 -> { resultList.forEach{ r -> + //4绾х殑璇勪及椤圭洿鎺ラ檮灞炰簬2绾ц瘎浼伴」 if (r.id == it.fatherid) { if (r.sub1.isEmpty()) { r.sub1.add(SubEvaluationVo().apply { @@ -128,13 +172,19 @@ 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 = r.score.plus(it.maxscore ?: 0) + 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) { @@ -149,7 +199,11 @@ sr.sub2.add(ThirdEvaluationVo().apply { id = it.guid content = it.itemname - score = sr.score.plus(it.maxscore ?: 0) + 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) { -- Gitblit v1.9.3