feiyu02
2024-01-10 30a53b41f09d2eefd33513a409d472c2166ba1ea
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
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!!)
    }
}