| | |
| | | import cn.flightfeather.supervision.domain.ds3.repository.JSDustSiteRep |
| | | import cn.flightfeather.supervision.domain.ds3.repository.XHFumeSiteMapRep |
| | | import cn.flightfeather.supervision.lightshare.vo.* |
| | | import com.github.pagehelper.PageHelper |
| | | import org.apache.poi.hssf.usermodel.HSSFWorkbook |
| | | import org.springframework.stereotype.Component |
| | | import java.io.FileOutputStream |
| | |
| | | } |
| | | } |
| | | |
| | | fun insertOrUpdate(areaVo: AreaVo, mapSet: List<DeviceMapVo>):Int { |
| | | return when (areaVo.sourceType) { |
| | | //以飞羽环境系统中的用户为主体 |
| | | 1 -> { |
| | | insertOrUpdate1(areaVo,mapSet) |
| | | } |
| | | //以飞羽监管系统中的用户为主体 |
| | | 2 -> { |
| | | insertOrUpdate2(areaVo,mapSet) |
| | | } |
| | | else -> 0 |
| | | } |
| | | } |
| | | |
| | | private fun insertOrUpdate1(areaVo: AreaVo, mapSet: List<DeviceMapVo>):Int { |
| | | return when (areaVo.districtcode) { |
| | | //徐汇区 |
| | | "310104" -> { |
| | | when (areaVo.scensetypeid) { |
| | | //汽修 |
| | | Constant.SceneTypeTZ.VehicleRepair.value.toString() -> 0 |
| | | else -> 0 |
| | | } |
| | | } |
| | | else -> 0 |
| | | } |
| | | } |
| | | |
| | | private fun insertOrUpdate2(areaVo: AreaVo, mapSet: List<DeviceMapVo>):Int { |
| | | return when (areaVo.districtcode) { |
| | | //静安区 |
| | | "310106" -> { |
| | | val mapSet1 = mapSet.map { DeviceMapVo.toJADustSiteMap(it) } |
| | | when (areaVo.scensetypeid) { |
| | | //工地 |
| | | Constant.SceneType.TYPE1.value -> { |
| | | var rc = 0 |
| | | mapSet1.forEach { |
| | | rc += if(jaDustSiteRep.findByPrimaryKey(it.id) == null) { |
| | | jaDustSiteRep.insert(it) |
| | | } else { |
| | | jaDustSiteRep.update(it) |
| | | } |
| | | } |
| | | rc |
| | | } |
| | | else -> 0 |
| | | } |
| | | } |
| | | //金山区 |
| | | "310116" -> { |
| | | val mapSet1 = mapSet.map { DeviceMapVo.toJSDustSiteMap(it) } |
| | | when (areaVo.scensetypeid) { |
| | | //工地,码头水泥搅拌站 |
| | | Constant.SceneType.TYPE1.value, |
| | | Constant.SceneType.TYPE2.value, |
| | | Constant.SceneType.TYPE3.value, |
| | | -> { |
| | | var rc = 0 |
| | | mapSet1.forEach { |
| | | rc += if(jsDustSiteRep.findByPrimaryKey(it.id) == null) { |
| | | jsDustSiteRep.insert(it) |
| | | } else { |
| | | jsDustSiteRep.update(it) |
| | | } |
| | | } |
| | | rc |
| | | } |
| | | |
| | | else -> 0 |
| | | } |
| | | } |
| | | //徐汇区 |
| | | "310104" -> { |
| | | val mapSet1 = mapSet.map { DeviceMapVo.toXHFumeSiteMap(it) } |
| | | when (areaVo.scensetypeid) { |
| | | //餐饮 |
| | | Constant.SceneType.TYPE5.value -> { |
| | | var rc = 0 |
| | | mapSet1.forEach { |
| | | rc += if(xhFumeSiteMapRep.findByPrimaryKey(it.id) == null) { |
| | | xhFumeSiteMapRep.insert(it) |
| | | } else { |
| | | xhFumeSiteMapRep.update(it) |
| | | } |
| | | } |
| | | rc |
| | | } |
| | | else -> 0 |
| | | } |
| | | } |
| | | else -> 0 |
| | | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 搜索设备 |
| | | * @param areaVo 区域条件 |
| | | * @param keyword 搜索关键词 |
| | | * @param page 页码 |
| | | * @param perPage 每页数量 |
| | | * @return 设备列表 |
| | | */ |
| | | fun searchDevice(areaVo: AreaVo, keyword: String, page: Int, perPage: Int): Pair<DataHead, List<DeviceSiteVo>> { |
| | | return when (areaVo.districtcode) { |
| | | //静安区 |
| | | "310106" -> when (areaVo.scensetypeid) { |
| | | //工地 |
| | | Constant.SceneType.TYPE1.value -> { |
| | | val pageInfo = PageHelper.startPage<DeviceSiteVo>(page, perPage) |
| | | val list = jaDustSiteRep.searchSiteInfo(keyword) |
| | | DataHead(pageInfo.pageNum, pageInfo.pages, pageInfo.total) to list |
| | | } |
| | | |
| | | else -> DataHead() to emptyList() |
| | | } |
| | | //金山区 |
| | | "310116" -> when (areaVo.scensetypeid) { |
| | | //工地,码头水泥搅拌站 |
| | | Constant.SceneType.TYPE1.value, |
| | | Constant.SceneType.TYPE2.value, |
| | | Constant.SceneType.TYPE3.value, |
| | | -> { |
| | | val pageInfo = PageHelper.startPage<DeviceSiteVo>(page, perPage) |
| | | val list = jsDustSiteRep.searchSiteInfo(keyword) |
| | | DataHead(pageInfo.pageNum, pageInfo.pages, pageInfo.total) to list |
| | | } |
| | | |
| | | else -> DataHead() to emptyList() |
| | | } |
| | | //徐汇区 |
| | | "310104" -> when (areaVo.scensetypeid) { |
| | | //餐饮 |
| | | Constant.SceneType.TYPE5.value -> { |
| | | // val pageInfo = PageHelper.startPage<DeviceSiteVo>(page, perPage) |
| | | // val list = xhFumeSiteRep.searchSiteInfo(keyword) |
| | | // DataHead(pageInfo.pageNum, pageInfo.pages, pageInfo.total) to list |
| | | DataHead() to emptyList() |
| | | } |
| | | else -> DataHead() to emptyList() |
| | | } |
| | | |
| | | else -> DataHead() to emptyList() |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 输出监测点位和监测设备的对应匹配关系 |
| | | * @param areaVo 区域条件 |