From d2727f231319a48019bc3b87439136ab49b97b9b Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期五, 08 十一月 2024 09:49:57 +0800
Subject: [PATCH] 1. 2024.11.08 修复部分bug

---
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/EvaluationRuleRep.kt |   54 +++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 49 insertions(+), 5 deletions(-)

diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/EvaluationRuleRep.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/EvaluationRuleRep.kt
index 9014743..21704a3 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/EvaluationRuleRep.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/EvaluationRuleRep.kt
@@ -1,7 +1,10 @@
 package cn.flightfeather.supervision.domain.ds1.repository
 
+import cn.flightfeather.supervision.common.utils.Constant
 import cn.flightfeather.supervision.domain.ds1.entity.Evaluationrule
+import cn.flightfeather.supervision.domain.ds1.entity.Evaluationsubrule2
 import cn.flightfeather.supervision.domain.ds1.mapper.EvaluationruleMapper
+import cn.flightfeather.supervision.domain.ds1.mapper.EvaluationsubruleMapper2
 import cn.flightfeather.supervision.lightshare.vo.AreaEvaVo
 import org.springframework.stereotype.Repository
 import tk.mybatis.mapper.entity.Example
@@ -10,21 +13,62 @@
  * 璇勪及瑙勫垯鏁版嵁搴撶浉鍏虫搷浣�
  */
 @Repository
-class EvaluationRuleRep(private val evaluationruleMapper: EvaluationruleMapper) {
+class EvaluationRuleRep(
+    private val evaluationruleMapper: EvaluationruleMapper,
+    private val evaluationsubruleMapper2: EvaluationsubruleMapper2,
+    private val sceneRep: SceneRep,
+) {
 
     /**
      * 鏍规嵁鍙傛暟鏌ヨ鎬昏鍒�
      * @param areaEvaVo 鏌ヨ鍙傛暟
+     * @return
      */
     fun findBaseRule(areaEvaVo: AreaEvaVo): List<Evaluationrule?> {
         return evaluationruleMapper.selectByExample(Example(Evaluationrule::class.java).apply {
             createCriteria().andEqualTo("tasktypeid", areaEvaVo.taskTypeId)
                 .andEqualTo("scensetypeid", areaEvaVo.scensetypeid)
-                .andEqualTo("provincecode", areaEvaVo.provincecode)
-                .andEqualTo("citycode", areaEvaVo.citycode)
-                .andEqualTo("districtcode", areaEvaVo.districtcode)
-                .andEqualTo("towncode", areaEvaVo.towncode)
                 .andEqualTo("isuse", true)
+            and(createCriteria().orEqualTo("provincecode", areaEvaVo.provincecode).orIsNull("provincecode"))
+            and(createCriteria().orEqualTo("citycode", areaEvaVo.citycode).orIsNull("citycode"))
+            and(createCriteria().orEqualTo("districtcode", areaEvaVo.districtcode).orIsNull("districtcode"))
+            and(createCriteria().orEqualTo("towncode", areaEvaVo.towncode).orIsNull("towncode"))
         })
     }
+
+    /**
+     * 鏍规嵁宸℃煡浠诲姟id鎵惧埌瀵瑰簲鑷姩璇勪及瑙勫垯
+     * @param subTaskId
+     * @return
+     */
+    fun findAutoEvaluationRule(subTaskId:String): Evaluationrule? {
+        val scene = sceneRep.findBySubTask(subTaskId)
+        return findAutoEvaluationRule(Constant.SceneType.getByValue(scene?.typeid.toString()))
+    }
+
+    /**
+     * 鏍规嵁鍦烘櫙绫诲瀷鎵惧埌鑷姩璇勪及瑙勫垯
+     * 鑷姩璇勪及瑙勫垯鍙傛暟[Evaluationrule.tasktypeid] = 99
+     * @param sceneType
+     * @return
+     */
+    fun findAutoEvaluationRule(sceneType: Constant.SceneType): Evaluationrule? {
+        return evaluationruleMapper.selectOne(Evaluationrule().apply {
+            scensetypeid = sceneType.value.toByteOrNull()
+            tasktypeid = 99
+        })
+    }
+
+    /**
+     * 鏍规嵁鎬昏鍒檌d鎵惧埌瀛愯鍒�
+     * @param ruleId
+     * @return
+     */
+    fun findSubRule(ruleId: String?): List<Evaluationsubrule2> {
+        return evaluationsubruleMapper2.selectByExample(Example(Evaluationsubrule2::class.java).apply {
+            createCriteria().andEqualTo("erguid", ruleId)
+            orderBy("ertype").orderBy("displayid")
+        })
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.3