| | |
| | | */ |
| | | package org.sxkj.fw.device.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import org.springblade.core.mp.base.BaseServiceImpl; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | | import org.springframework.stereotype.Service; |
| | | import org.sxkj.fw.area.service.IFwAreaDivideService; |
| | | import org.sxkj.fw.cockpit.vo.AlarmStatisticsVO; |
| | | import org.sxkj.fw.cockpit.vo.DeviceStatisticsVO; |
| | | import org.sxkj.fw.common.GenericConverter; |
| | | import org.sxkj.fw.device.dto.FwDeviceDTO; |
| | | import org.sxkj.fw.device.dto.FwDevicePolygonQueryDTO; |
| | | import org.sxkj.fw.device.entity.FwDeviceEntity; |
| | | import org.sxkj.fw.device.excel.FwDeviceExcel; |
| | | import org.sxkj.fw.device.mapper.FwDeviceMapper; |
| | | import org.sxkj.fw.device.param.FwDevicePageParam; |
| | | import org.sxkj.fw.device.service.IFwDeviceService; |
| | | import org.sxkj.fw.device.vo.CockpitFwDeviceVO; |
| | | import org.sxkj.fw.device.vo.DeviceTypeStatisticsVO; |
| | | import org.sxkj.fw.device.vo.FwDeviceVO; |
| | | import org.sxkj.fw.device.excel.FwDeviceExcel; |
| | | import org.sxkj.fw.device.mapper.FwDeviceMapper; |
| | | import org.sxkj.fw.device.service.IFwDeviceService; |
| | | import org.sxkj.fw.area.service.IFwAreaDivideService; |
| | | import org.sxkj.fw.device.wrapper.FwDeviceWrapper; |
| | | import org.springframework.stereotype.Service; |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import org.springblade.core.mp.base.BaseServiceImpl; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | | import org.sxkj.system.cache.RegionCache; |
| | | import org.sxkj.system.cache.SysCache; |
| | | import org.sxkj.system.entity.Dept; |
| | | import org.sxkj.system.entity.Region; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | import javax.annotation.Resource; |
| | | |
| | | /** |
| | | * 设备表 服务实现类 |
| | |
| | | public IPage<FwDeviceVO> selectFwDevicePageVo(FwDevicePageParam fwDevice, Query query) { |
| | | FwDeviceDTO fwDeviceDTO = GenericConverter.convert(fwDevice, FwDeviceDTO.class); |
| | | // 按当前部门及下级部门范围过滤数据 |
| | | List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())); |
| | | fwDeviceDTO.setDeptList(deptList); |
| | | if (!AuthUtil.isAdministrator()) { |
| | | List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())); |
| | | fwDeviceDTO.setDeptList(deptList); |
| | | } |
| | | fwDeviceDTO.setCurrentDeptId(AuthUtil.getDeptId()); |
| | | // 按区域范围过滤数据 |
| | | IPage<FwDeviceEntity> pages = selectFwDevicePage(Condition.getPage(query), fwDeviceDTO); |
| | | IPage<FwDeviceVO> result = FwDeviceWrapper.build().pageVO(pages); |
| | | List<FwDeviceVO> records = result.getRecords(); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<FwDeviceEntity> selectFwDeviceList(Integer isAreaSelect, Long areaId, Integer status, Integer isTrack) { |
| | | return baseMapper.selectFwDeviceList(isAreaSelect, areaId, status, isTrack); |
| | | public List<FwDeviceEntity> selectFwDeviceList(Integer isAreaSelect, Long areaId, List<Long> areaIds, Integer status, Integer isTrack) { |
| | | return baseMapper.selectFwDeviceList(isAreaSelect, areaId, areaIds, status, isTrack); |
| | | } |
| | | |
| | | @Override |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<DeviceStatisticsVO> statisticalDeviceType(String regionName, String currentDeptId) { |
| | | return baseMapper.statisticalDeviceType(regionName, currentDeptId); |
| | | public List<DeviceStatisticsVO> statisticalDeviceType(String regionCode, String currentDeptId) { |
| | | return baseMapper.statisticalDeviceType(regionCode, currentDeptId); |
| | | } |
| | | |
| | | /** |
| | |
| | | @Override |
| | | public List<DeviceTypeStatisticsVO> getDeviceTypeStatistics() { |
| | | // 统计范围限定在当前部门及下级部门 |
| | | List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())); |
| | | List<Long> deptList = new ArrayList<>(); |
| | | if (!AuthUtil.isAdministrator()) { |
| | | deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())); |
| | | } |
| | | List<DeviceTypeStatisticsVO> deviceTypeStatistics = baseMapper.getDeviceTypeStatistics(deptList, AuthUtil.getDeptId()); |
| | | return deviceTypeStatistics; |
| | | } |
| | |
| | | @Override |
| | | public List<DeviceStatisticsVO> getDeviceOutStatistics(String effectiveRangeKmIsNotNull) { |
| | | // 统计范围限定在当前部门及下级部门 |
| | | List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())); |
| | | List<Long> deptList = new ArrayList<>(); |
| | | if (!AuthUtil.isAdministrator()) { |
| | | deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())); |
| | | } |
| | | return baseMapper.getDeviceOutStatistics(effectiveRangeKmIsNotNull, deptList, AuthUtil.getDeptId()); |
| | | } |
| | | |
| | | @Override |
| | | public List<DeviceStatisticsVO> getDeviceManufacturerStatistics() { |
| | | // 统计范围限定在当前部门及下级部门 |
| | | List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())); |
| | | return baseMapper.getDeviceManufacturerStatistics(deptList); |
| | | List<Long> deptList = new ArrayList<>(); |
| | | if (!AuthUtil.isAdministrator()) { |
| | | deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())); |
| | | } |
| | | return baseMapper.getDeviceManufacturerStatistics(deptList, AuthUtil.getDeptId()); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public AlarmStatisticsVO statisticalDeviceAtt(String regionName, String currentDeptId) { |
| | | return baseMapper.statisticalDeviceAtt(regionName, currentDeptId); |
| | | public AlarmStatisticsVO statisticalDeviceAtt(String regionCode, String currentDeptId) { |
| | | return baseMapper.statisticalDeviceAtt(regionCode, currentDeptId); |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | |
| | | @Override |
| | | public boolean updateTrackStatusByDeviceId(Long deviceId, Integer trackStatus, String outTarget) { |
| | | return baseMapper.updateTrackStatusByDeviceId(deviceId, trackStatus, outTarget) > 0; |
| | | public boolean updateTrackStatusByDeviceId(Long deviceId, Integer trackStatus, String outTarget, String outTargetCode) { |
| | | return baseMapper.updateTrackStatusByDeviceId(deviceId, trackStatus, outTarget, outTargetCode) > 0; |
| | | } |
| | | |
| | | /** |
| | | * 查询非本部门区域的设备 |
| | | * |
| | | * @param regionCode 区域编码,用于查询不在该区域内的设备 |
| | | * @param deptId 机构ID,用于限定查询范围 |
| | | * @param deptId 机构ID,用于限定查询范围 |
| | | * @return 设备列表 |
| | | */ |
| | | @Override |
| | |
| | | List<FwDeviceVO> deviceList = baseMapper.selectNonDeptAreaDevices(regionName, deptId); |
| | | return deviceList; |
| | | } |
| | | |
| | | @Override |
| | | public List<DeviceStatisticsVO> getDeviceStatistics(FwDeviceDTO fwDeviceDTO) { |
| | | return baseMapper.getDeviceStatistics(fwDeviceDTO); |
| | | } |
| | | } |