|
@@ -30,12 +30,14 @@ import com.xy.device.EnumQualityMercSets;
|
|
import com.xy.dto.*;
|
|
import com.xy.dto.*;
|
|
import com.xy.dto.api.biz.ContainerAddDTO;
|
|
import com.xy.dto.api.biz.ContainerAddDTO;
|
|
import com.xy.dto.be.MercDto;
|
|
import com.xy.dto.be.MercDto;
|
|
|
|
+import com.xy.dto.common.MercRegionDto;
|
|
import com.xy.entity.*;
|
|
import com.xy.entity.*;
|
|
import com.xy.enums.FileExportType;
|
|
import com.xy.enums.FileExportType;
|
|
import com.xy.error.CommRuntimeException;
|
|
import com.xy.error.CommRuntimeException;
|
|
import com.xy.mapper.DeviceInfoMapper;
|
|
import com.xy.mapper.DeviceInfoMapper;
|
|
import com.xy.mapper.entity.DeviceInfoQueryPage;
|
|
import com.xy.mapper.entity.DeviceInfoQueryPage;
|
|
import com.xy.service.be.MercFeignService;
|
|
import com.xy.service.be.MercFeignService;
|
|
|
|
+import com.xy.service.common.MercRegionService;
|
|
import com.xy.sys.EnumDataClearSize;
|
|
import com.xy.sys.EnumDataClearSize;
|
|
import com.xy.util.ExcelUtils;
|
|
import com.xy.util.ExcelUtils;
|
|
import com.xy.utils.*;
|
|
import com.xy.utils.*;
|
|
@@ -102,6 +104,8 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
|
|
private final AlipayDeviceService alipayDeviceService;
|
|
private final AlipayDeviceService alipayDeviceService;
|
|
private final String keyPrefix = "device:history:";
|
|
private final String keyPrefix = "device:history:";
|
|
|
|
|
|
|
|
+ private final MercRegionService mercRegionService;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
@ApiOperation("设备在线数查询")
|
|
@ApiOperation("设备在线数查询")
|
|
public R<Map<Long, DeviceInfoDto.NetStateCountVo>> netStateCount(DeviceInfoDto.NetStateCountDto dto) {
|
|
public R<Map<Long, DeviceInfoDto.NetStateCountVo>> netStateCount(DeviceInfoDto.NetStateCountDto dto) {
|
|
@@ -591,12 +595,12 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
|
|
String deviceSearch = dto.getDeviceSearch();
|
|
String deviceSearch = dto.getDeviceSearch();
|
|
DeviceInfoDto.Vo vo = dto.getVo();
|
|
DeviceInfoDto.Vo vo = dto.getVo();
|
|
QueryWrapper<DeviceInfo> queryWrapper = new MybatisPlusQuery().eqWrapper(vo == null ? new DeviceInfoDto.Vo() : vo, DeviceInfo.class).buildQW();
|
|
QueryWrapper<DeviceInfo> queryWrapper = new MybatisPlusQuery().eqWrapper(vo == null ? new DeviceInfoDto.Vo() : vo, DeviceInfo.class).buildQW();
|
|
- List<Long> placeLineIds = dto.getPlaceLineIds();
|
|
|
|
|
|
+// List<Long> placeLineIds = dto.getPlaceLineIds();
|
|
List<Long> deviceIds = dto.getDeviceIds();
|
|
List<Long> deviceIds = dto.getDeviceIds();
|
|
List<String> columnList = dto.getColumnList();
|
|
List<String> columnList = dto.getColumnList();
|
|
- if (CollUtil.isNotEmpty(placeLineIds)) {
|
|
|
|
- queryWrapper.in(LambdaUtils.getUnderlineCaseName(DeviceInfo::getPlaceLineId), placeLineIds);
|
|
|
|
- }
|
|
|
|
|
|
+// if (CollUtil.isNotEmpty(placeLineIds)) {
|
|
|
|
+// queryWrapper.in(LambdaUtils.getUnderlineCaseName(DeviceInfo::getPlaceLineId), placeLineIds);
|
|
|
|
+// }
|
|
|
|
|
|
//fixed
|
|
//fixed
|
|
if (StrUtil.isNotEmpty(deviceSearch)) {
|
|
if (StrUtil.isNotEmpty(deviceSearch)) {
|
|
@@ -769,20 +773,24 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
|
|
lqw.in(CollUtil.isNotEmpty(deviceIdList), DeviceInfo::getDeviceId, deviceIdList);
|
|
lqw.in(CollUtil.isNotEmpty(deviceIdList), DeviceInfo::getDeviceId, deviceIdList);
|
|
lqw.like(StrUtil.isNotEmpty(deviceName), DeviceInfo::getDeviceName, deviceName).orderByAsc(true, DeviceInfo::getDeviceName, DeviceInfo::getDeviceId);
|
|
lqw.like(StrUtil.isNotEmpty(deviceName), DeviceInfo::getDeviceName, deviceName).orderByAsc(true, DeviceInfo::getDeviceName, DeviceInfo::getDeviceId);
|
|
List<DeviceInfo> deviceInfoList = this.list(lqw);
|
|
List<DeviceInfo> deviceInfoList = this.list(lqw);
|
|
- //未分配线路的设置默认值
|
|
|
|
- deviceInfoList.stream().filter(s -> s.getPlaceLineId() == null).forEach(s -> s.setPlaceLineId(-1L));
|
|
|
|
- //根据线路id分组
|
|
|
|
- Map<Long, List<DeviceInfo>> deviceMap = deviceInfoList.stream().collect(Collectors.groupingBy(DeviceInfo::getPlaceLineId));
|
|
|
|
|
|
+ //未分区域的设置默认值
|
|
|
|
+ deviceInfoList.stream().filter(s -> s.getDistrictId() == null).forEach(s -> s.setDistrictId(-1L));
|
|
|
|
+ Map<Long, String> districtMap = new HashMap<>();
|
|
|
|
+ List<Long> districtIdList = list.stream().map(DeviceInfoDto.MercHomeCountVO::getDistrictId).filter(i -> i != -1).collect(Collectors.toList());
|
|
|
|
+ districtMap = mercRegionService.getNameList(new MercRegionDto.GetNameListDto().setIds(districtIdList)).getData();
|
|
|
|
+ //根据区域id分组
|
|
|
|
+ Map<Long, List<DeviceInfo>> deviceMap = deviceInfoList.stream().collect(Collectors.groupingBy(DeviceInfo::getDistrictId));
|
|
DateTime date = DateTime.now();
|
|
DateTime date = DateTime.now();
|
|
DateTime start = DateUtil.beginOfDay(date);
|
|
DateTime start = DateUtil.beginOfDay(date);
|
|
DateTime end = DateUtil.endOfDay(date);
|
|
DateTime end = DateUtil.endOfDay(date);
|
|
for (DeviceInfoDto.MercHomeCountVO v : list) {
|
|
for (DeviceInfoDto.MercHomeCountVO v : list) {
|
|
DeviceInfoDto.MercHomeListVO vo = new DeviceInfoDto.MercHomeListVO();
|
|
DeviceInfoDto.MercHomeListVO vo = new DeviceInfoDto.MercHomeListVO();
|
|
- Long placeLineId = v.getPlaceLineId();
|
|
|
|
|
|
+ Long districtId = v.getDistrictId();
|
|
vo.setDeviceNum(v.getDeviceNum());
|
|
vo.setDeviceNum(v.getDeviceNum());
|
|
- vo.setPlaceLineId(v.getPlaceLineId());
|
|
|
|
- //线路下的设备列表
|
|
|
|
- List<DeviceInfoDto.MercHomeDeviceVo> deviceInfos = BeanUtil.copyToList(deviceMap.get(placeLineId), DeviceInfoDto.MercHomeDeviceVo.class);
|
|
|
|
|
|
+ vo.setDistrictId(v.getDistrictId());
|
|
|
|
+ vo.setDistrictName(Emptys.check(districtMap.get(v.getDistrictId())) ? districtMap.get(v.getDistrictId()) : "未分配区域");
|
|
|
|
+ //区域下的设备列表
|
|
|
|
+ List<DeviceInfoDto.MercHomeDeviceVo> deviceInfos = BeanUtil.copyToList(deviceMap.get(districtId), DeviceInfoDto.MercHomeDeviceVo.class);
|
|
if (CollUtil.isEmpty(deviceInfos)) {
|
|
if (CollUtil.isEmpty(deviceInfos)) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|