package cn.flightfeather.supervision.domain.ds1.repository
|
|
import cn.flightfeather.supervision.common.exception.BizException
|
import cn.flightfeather.supervision.domain.ds1.entity.Evaluation
|
import cn.flightfeather.supervision.domain.ds1.entity.Itemevaluation
|
import cn.flightfeather.supervision.domain.ds1.mapper.EvaluationMapper
|
import cn.flightfeather.supervision.domain.ds1.mapper.ItemevaluationMapper
|
import cn.flightfeather.supervision.lightshare.vo.AreaVo
|
import cn.flightfeather.supervision.lightshare.vo.AutoScoreResultVo
|
import org.springframework.stereotype.Repository
|
import tk.mybatis.mapper.entity.Example
|
import java.time.LocalDate
|
|
@Repository
|
class EvaluationRep(
|
private val evaluationMapper: EvaluationMapper,
|
private val itemevaluationMapper: ItemevaluationMapper,
|
private val taskRep: TaskRep,
|
) {
|
|
/**
|
* 查找场景对应的得分
|
* @param sceneId 场景id
|
* @param date 日期,只使用年和月
|
* @return
|
*/
|
fun findByScene(sceneId: String?, date: LocalDate): List<Evaluation?> {
|
val sT = date.withDayOfMonth(1).atStartOfDay()
|
val eT = sT.plusMonths(1).minusSeconds(1)
|
val res = evaluationMapper.selectByExample(Example(Evaluation::class.java).apply {
|
createCriteria().andEqualTo("sguid", sceneId)
|
.andBetween("evaluatetime", sT, eT)
|
})
|
return res
|
}
|
|
fun findBySubtask(subTaskId: String?): Evaluation? {
|
try {
|
return evaluationMapper.selectOne(Evaluation().apply { stguid = subTaskId })
|
} catch (e: Exception) {
|
throw BizException("巡查[${subTaskId}]对应了多条评估总分记录,请检查是否有系统逻辑错误")
|
}
|
}
|
|
|
/**
|
* 查找自动评分结果
|
*/
|
fun findAutoScore(areaVo: AreaVo): List<AutoScoreResultVo?>? {
|
areaVo.scensetypeid ?: return null
|
val task = taskRep.findOneTask(areaVo) ?: return null
|
return evaluationMapper.findEvaluation(task.tguid!!, areaVo.scensetypeid!!)
|
}
|
|
/**
|
* 查找巡查任务的具体评分
|
*/
|
fun findItemEvaluation(subTaskId: String): List<Itemevaluation> {
|
return itemevaluationMapper.selectByExample(Example(Itemevaluation::class.java).apply {
|
createCriteria().andEqualTo("stguid", subTaskId)
|
})
|
}
|
}
|