package cn.flightfeather.supervision.lightshare.service.impl
|
|
import cn.flightfeather.supervision.domain.ds1.entity.Scense
|
import cn.flightfeather.supervision.domain.ds1.entity.Site
|
import cn.flightfeather.supervision.domain.ds1.mapper.SiteMapper
|
import cn.flightfeather.supervision.common.utils.UUIDGenerator
|
import cn.flightfeather.supervision.lightshare.service.ScenseService
|
import cn.flightfeather.supervision.lightshare.service.SiteService
|
import cn.flightfeather.supervision.lightshare.vo.SiteVo
|
import org.springframework.beans.BeanUtils
|
import org.springframework.beans.factory.annotation.Autowired
|
import org.springframework.stereotype.Service
|
import tk.mybatis.mapper.entity.Example
|
import java.util.*
|
|
@Service
|
class SiteServiceImpl(val siteMapper: SiteMapper) : SiteService {
|
|
@Autowired
|
lateinit var scenseService: ScenseService
|
|
//按场景id查询
|
override fun findByScenseID(scenseid: String): SiteVo {
|
val siteVo = SiteVo()
|
val example = Example(Site::class.java)
|
val criteria = example.createCriteria()
|
criteria.andEqualTo("sguid", scenseid)
|
val result = siteMapper.selectByExample(example)
|
if (result.size == 1){
|
BeanUtils.copyProperties(result.get(0), siteVo)
|
}
|
return siteVo
|
}
|
|
//根据site条件查询
|
override fun search(site: Site): List<SiteVo> {
|
val siteVos = mutableListOf<SiteVo>()
|
val name = site.name ?: ""
|
val example = Example(Site::class.java)
|
val criteria = example.createCriteria()
|
criteria.andLike("name", "%$name%")
|
val re = siteMapper.selectByExample(example)
|
if (re.isNotEmpty()) {
|
re.forEach {
|
val siteVo = SiteVo()
|
BeanUtils.copyProperties(it, siteVo)
|
siteVos.add(siteVo)
|
}
|
}
|
return siteVos
|
}
|
|
//根据那么查询
|
override fun findOneByName(name: String): SiteVo {
|
val siteVo = SiteVo()
|
val site = Site()
|
site.name = name
|
val resour = siteMapper.selectOne(site)
|
if (resour != null) {
|
BeanUtils.copyProperties(resour, siteVo)
|
}
|
return siteVo
|
}
|
|
//根据ID查询
|
override fun findOne(id: String): SiteVo {
|
val siteVo = SiteVo()
|
val site = siteMapper.selectByPrimaryKey(id)
|
if (site != null)
|
BeanUtils.copyProperties(site, siteVo)
|
return siteVo
|
}
|
|
//获取全部
|
override fun findAll(): MutableList<SiteVo> {
|
val siteVoList = mutableListOf<SiteVo>()
|
|
val siteList = siteMapper.selectAll()
|
siteList.forEach {
|
val siteVo = SiteVo()
|
BeanUtils.copyProperties(it, siteVo)
|
siteVoList.add(siteVo)
|
}
|
return siteVoList
|
}
|
|
//保存工地信息,tong同时增加场景表
|
override fun save(site: Site): Int {
|
val scense = Scense()
|
BeanUtils.copyProperties(site, scense)
|
//name和ID对应值域表的内容
|
scense.type = "工地"
|
scense.typeid = 1
|
|
scense.createdate = Date()
|
scense.location = site.siteaddress
|
scense.latitude = site.sitelatitude
|
scense.longitude = site.sitelongitude
|
scense.contacts = site.buildcontact1
|
scense.contactst = site.buildcontact1tele
|
val guid = UUIDGenerator.generate16ShortUUID()
|
scense.guid = guid
|
//保存场景
|
scenseService.save(scense)
|
site.sguid = guid
|
//保存工地
|
siteMapper.insert(site)
|
return 2
|
}
|
|
//根据工地,同时更新场景表
|
override fun update(site: Site): Int {
|
val scense = Scense()
|
BeanUtils.copyProperties(site, scense)
|
|
//地址
|
scense.location = site.siteaddress
|
//经度
|
scense.latitude = site.sitelatitude
|
//维度
|
scense.longitude = site.sitelongitude
|
//联系人姓名
|
scense.contacts = site.buildcontact1
|
//联系人手机
|
scense.contactst = site.buildcontact1tele
|
//关联ID
|
scense.guid = site.sguid
|
|
//更新场景
|
scenseService.update(scense)
|
//更新工地
|
siteMapper.updateByPrimaryKeySelective(site)
|
|
return 2
|
}
|
|
override fun delete(id: String): Int = siteMapper.deleteByPrimaryKey(id)
|
}
|