package cn.flightfeather.supervision.domain.ds1.repository
|
|
import cn.flightfeather.supervision.domain.ds1.entity.Evaluation
|
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): 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 if (res.isNotEmpty()) res[0] else null
|
}
|
|
/**
|
* 查找自动评分结果
|
*/
|
fun findAutoScore(areaVo: AreaVo): List<AutoScoreResultVo?>? {
|
areaVo.scensetypeid ?: return null
|
val task = taskRep.findOneTask(areaVo) ?: return null
|
return evaluationMapper.findEvaluation(task.tguid!!, areaVo.scensetypeid!!)
|
}
|
}
|