package cn.flightfeather.supervision.lightshare.service.impl
|
|
import cn.flightfeather.supervision.domain.ds1.entity.Monitorobjectversion
|
import cn.flightfeather.supervision.domain.ds1.entity.Scense
|
import cn.flightfeather.supervision.domain.ds1.mapper.MonitorobjectversionMapper
|
import cn.flightfeather.supervision.domain.ds1.mapper.TaskMapper
|
import cn.flightfeather.supervision.lightshare.service.MonitorobjectversionService
|
import cn.flightfeather.supervision.lightshare.service.ScenseService
|
import cn.flightfeather.supervision.lightshare.vo.MonitorObjectVersionVo
|
import org.springframework.beans.BeanUtils
|
import org.springframework.beans.factory.annotation.Autowired
|
import org.springframework.stereotype.Service
|
import org.springframework.transaction.annotation.Transactional
|
|
@Service
|
class MonitorobjectversionServiceImpl(val monitorobjectversionMapper: MonitorobjectversionMapper) :
|
MonitorobjectversionService {
|
|
@Autowired
|
lateinit var taskMapper: TaskMapper
|
|
@Autowired
|
lateinit var scenseService: ScenseService
|
|
//批量修改监管版本
|
@Transactional
|
override fun updatelist(monitorobjectversionlist: List<Monitorobjectversion>): Int {
|
monitorobjectversionlist.forEach {
|
monitorobjectversionMapper.updateByPrimaryKeySelective(it)
|
}
|
return monitorobjectversionlist.size
|
}
|
|
//获取可用的监管版本,用于定制子任务
|
override fun findCanuserlist(toptaskid: String): List<Monitorobjectversion> {
|
val monitorobjectversion = Monitorobjectversion()
|
monitorobjectversion.tid = toptaskid
|
val monitorobjectversionlist = monitorobjectversionMapper.select(monitorobjectversion)
|
|
return monitorobjectversionlist.filter {
|
val usedCount = it.extension1 ?: "0";it.monitornum.toString().toInt() - usedCount.toInt() > 0
|
}.sortedBy { it.displayid }
|
}
|
|
//批量保存监管版本
|
@Transactional
|
override fun saveList(monitorobjectversionlist: List<Monitorobjectversion>): Int {
|
monitorobjectversionlist.forEach {
|
monitorobjectversionMapper.insert(it)
|
}
|
return monitorobjectversionlist.size
|
}
|
|
//根据顶层任务ID获取监管版本
|
override fun findByTaskId(id: String): List<MonitorObjectVersionVo> {
|
val task = taskMapper.selectByPrimaryKey(id)
|
val s = Scense().apply {
|
provincecode = task.provincecode
|
citycode = task.citycode
|
districtcode = task.districtcode
|
}
|
val sceneList = scenseService.search(s)
|
|
val monitorobjectversion = Monitorobjectversion()
|
monitorobjectversion.tid = id
|
val monitorobjectversionlist = monitorobjectversionMapper.select(monitorobjectversion).sortedBy { it.displayid }
|
|
val resultList = mutableListOf<MonitorObjectVersionVo>()
|
monitorobjectversionlist.forEach {
|
val vo = MonitorObjectVersionVo()
|
BeanUtils.copyProperties(it, vo)
|
sceneList.forEach f@ {scene ->
|
if (vo.sguid == scene.guid) {
|
vo.sceneTypeId = scene.typeid?.toInt() ?: 0
|
vo.sceneType = scene.type
|
return@f
|
}
|
}
|
resultList.add(vo)
|
}
|
|
return resultList
|
|
}
|
|
override fun findOne(id: String): Monitorobjectversion = monitorobjectversionMapper.selectByPrimaryKey(id)
|
|
override fun findAll(): MutableList<Monitorobjectversion> = monitorobjectversionMapper.selectAll()
|
|
//保存单个监管版本
|
override fun save(monitorobjectversion: Monitorobjectversion): Int =
|
monitorobjectversionMapper.insert(monitorobjectversion)
|
|
//更新单个监管版本
|
override fun update(monitorobjectversion: Monitorobjectversion): Int =
|
monitorobjectversionMapper.updateByPrimaryKey(monitorobjectversion)
|
|
override fun delete(id: String): Int = monitorobjectversionMapper.deleteByPrimaryKey(id)
|
|
@Transactional
|
override fun deleteList(monitorobjectversionlist: List<Monitorobjectversion>): Int {
|
var result = 0
|
monitorobjectversionlist.forEach {
|
result += monitorobjectversionMapper.deleteByPrimaryKey(it.movid)
|
}
|
return result
|
}
|
}
|