src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/EvaluationRep.kt
@@ -1,6 +1,8 @@
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
@@ -22,15 +24,24 @@
     * @param date 日期,只使用年和月
     * @return
     */
    fun findByScene(sceneId: String?, date: LocalDate): Evaluation? {
    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 if (res.isNotEmpty()) res[0] else null
        return res
    }
    fun findBySubtask(subTaskId: String?): Evaluation? {
        try {
            return evaluationMapper.selectOne(Evaluation().apply { stguid = subTaskId })
        } catch (e: Exception) {
            throw BizException("巡查[${subTaskId}]对应了多条评估总分记录,请检查是否有系统逻辑错误")
        }
    }
    /**
     * 查找自动评分结果
@@ -40,4 +51,13 @@
        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)
        })
    }
}