feiyu02
2024-04-25 0392c333ed3d987cb2ab3dac4e1a972cff405f21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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.mapper.EvaluationruleMapper
import cn.flightfeather.supervision.lightshare.vo.AreaEvaVo
import org.springframework.stereotype.Repository
import tk.mybatis.mapper.entity.Example
 
/**
 * 评估规则数据库相关操作
 */
@Repository
class EvaluationRuleRep(
    private val evaluationruleMapper: EvaluationruleMapper,
    private val sceneRep: SceneRep,
) {
 
    /**
     * 根据参数查询总规则
     * @param areaEvaVo 查询参数
     */
    fun findBaseRule(areaEvaVo: AreaEvaVo): List<Evaluationrule?> {
        return evaluationruleMapper.selectByExample(Example(Evaluationrule::class.java).apply {
            createCriteria().andEqualTo("tasktypeid", areaEvaVo.taskTypeId)
                .andEqualTo("scensetypeid", areaEvaVo.scensetypeid)
                .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"))
        })
    }
 
    fun findAutoEvaluationRule(subTaskId:String): Evaluationrule? {
        val scene = sceneRep.findBySubTask(subTaskId)
        return findAutoEvaluationRule(Constant.SceneType.getByValue(scene?.typeid.toString()))
    }
 
    fun findAutoEvaluationRule(sceneType: Constant.SceneType): Evaluationrule? {
        return evaluationruleMapper.selectOne(Evaluationrule().apply {
            scensetypeid = sceneType.value.toByteOrNull()
            tasktypeid = 99
        })
    }
 
}