package cn.flightfeather.supervision.business.autooutput
|
|
import cn.flightfeather.supervision.business.Info
|
import cn.flightfeather.supervision.business.autooutput.datasource.AopDataSource
|
import cn.flightfeather.supervision.domain.ds1.entity.DustDataResult
|
import cn.flightfeather.supervision.domain.ds1.entity.Evaluation
|
import cn.flightfeather.supervision.domain.ds1.entity.Itemevaluation
|
import cn.flightfeather.supervision.domain.ds1.mapper.DustDataResultMapper
|
import cn.flightfeather.supervision.domain.ds1.mapper.EvaluationMapper
|
import cn.flightfeather.supervision.domain.ds1.mapper.ItemevaluationMapper
|
import org.springframework.stereotype.Component
|
import tk.mybatis.mapper.entity.Example
|
|
/**
|
* 自动评估结果输出
|
*/
|
@Component
|
class AopOutput(
|
private val evaluationMapper: EvaluationMapper,
|
private val itemevaluationMapper: ItemevaluationMapper,
|
private val dustDataResultMapper: DustDataResultMapper
|
) {
|
|
/**
|
* 将评分记录输出至数据库
|
*/
|
fun toDbEvaluation(evaluationScene: AopDataSource.EvaluationScene, p: Pair<Evaluation, List<Itemevaluation>>) {
|
//去除已有记录
|
evaluationMapper.deleteByExample(Example(Evaluation::class.java).apply {
|
createCriteria().andEqualTo("stguid", evaluationScene.subTask.value?.stguid)
|
})
|
itemevaluationMapper.deleteByExample(Example(Itemevaluation::class.java).apply {
|
createCriteria().andEqualTo("stguid", evaluationScene.subTask.value?.stguid)
|
})
|
|
//写入数据库
|
evaluationMapper.insert(p.first)
|
p.second.forEach { il -> itemevaluationMapper.insert(il) }
|
}
|
|
/**
|
* 将监测数据统计结果入库
|
*/
|
fun toDbDataResult(dustDataResult: DustDataResult) {
|
val d = dustDataResultMapper.selectOne(DustDataResult().apply {
|
drSceneId = dustDataResult.drSceneId
|
drTime = dustDataResult.drTime
|
})
|
if (d == null) {
|
dustDataResultMapper.insert(dustDataResult)
|
} else {
|
dustDataResult.drId = d.drId
|
dustDataResultMapper.updateByPrimaryKey(dustDataResult)
|
}
|
}
|
}
|