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
|
})
|
}
|
|
}
|