diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/constant/DataParam.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/constant/DataParam.java index 0781c3b..06c85e5 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/constant/DataParam.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/constant/DataParam.java @@ -58,7 +58,7 @@ public interface DataParam { String GOVERNANCE_SYSTEM = "治理系统"; - String cldDev = "在线设备"; + String cldDev = "监测设备"; String EvtParamPhase = "Evt_Param_Phase"; diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java index 3808722..1172e46 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java @@ -596,7 +596,6 @@ public class CsLedgerServiceImpl extends ServiceImpl i return device; } - @Override public List getztProjectTree() { List engineeringList; @@ -604,72 +603,260 @@ public class CsLedgerServiceImpl extends ServiceImpl i /*获取用户工程,设备信息过滤*/ List roleengineer = roleEngineerDevService.getRoleengineer(); List device = roleEngineerDevService.getDevice(); + + List zhiLianDevice = new ArrayList<>(); + List cldDevice = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(device)) { + List csEquipmentDeliveryPOS = csEquipmentDeliveryMapper.selectBatchIds(device); + DictTreeVO vo1 = dictTreeFeignClient.queryByCode(DicDataEnum.DEV_CLD.getCode()).getData(); + Optional.ofNullable(vo1) + .map(DictTreeVO::getId) + .ifPresent(id -> csEquipmentDeliveryPOS.stream() + .filter(item -> Objects.equals(item.getDevType(), id)) + .map(CsEquipmentDeliveryPO::getId) + .forEach(cldDevice::add) + ); + DictTreeVO vo2 = dictTreeFeignClient.queryByCode(DicDataEnum.CONNECT_DEV.getCode()).getData(); + Optional.ofNullable(vo2) + .map(DictTreeVO::getId) + .ifPresent(id -> csEquipmentDeliveryPOS.stream() + .filter(item -> Objects.equals(item.getDevType(), id)) + .map(CsEquipmentDeliveryPO::getId) + .forEach(zhiLianDevice::add) + ); + } + engineeringList = allList.stream().filter(item -> roleengineer.contains(item.getId())).collect(Collectors.toList()); List projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode())).sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList()); - List deviceList = allList.stream().filter(item -> device.contains(item.getId()) && !Objects.equals(item.getPid(), "0")). - peek( - temp -> { - CsEquipmentDeliveryPO po = csEquipmentDeliveryMapper.selectById(temp.getId()); - temp.setComFlag(po.getRunStatus()); - temp.setNDId(po.getNdid()); - temp.setType("device"); - } - ). - sorted(Comparator.comparing(CsLedgerVO::getSort)) - .collect(Collectors.toList()); - checkDevSetData(deviceList); - projectList.forEach(pro -> pro.setChildren(getChildren(pro, deviceList))); - engineeringList.forEach(eng -> eng.setChildren(getChildren(eng, projectList))); + Map poMap = allList.stream() + .filter(item -> device.contains(item.getId()) && !Objects.equals(item.getPid(), "0")) + .map(CsLedgerVO::getId) + .distinct() + .collect(Collectors.toMap( + Function.identity(), + csEquipmentDeliveryMapper::selectById + )); - //获取便携式项目数 + //获取治理设备 + List deviceList = allList.stream() + .filter(item -> zhiLianDevice.contains(item.getId()) && !Objects.equals(item.getPid(), "0")) + .peek(item -> { + CsEquipmentDeliveryPO po = poMap.get(item.getId()); + item.setComFlag(po.getRunStatus()); + item.setNDId(po.getNdid()); + item.setType("device"); + item.setProcess(po.getProcess()); + }) + .filter(item -> Objects.equals(poMap.get(item.getId()).getUsageStatus(), 1)) + .sorted(Comparator.comparing(CsLedgerVO::getSort)) + .collect(Collectors.toList()); + + List engineeringList1 = new ArrayList<>(); + List projectList1 = new ArrayList<>(); + checkDevSetData(deviceList); + List dev = deviceList.stream().map(CsLedgerVO::getId).collect(Collectors.toList()); + List ledger1 = getProAndEngineer(dev); + if (CollectionUtil.isNotEmpty(ledger1)) { + engineeringList1 = ledger1.stream().filter(item -> item.getLevel().equals(LineBaseEnum.ENGINEERING_LEVEL.getCode())).sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList()); + projectList1 = ledger1.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode())).sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList()); + projectList1.forEach(pro -> pro.setChildren(getChildren(pro, deviceList))); + List finalProjectList = projectList1; + engineeringList1.forEach(eng -> eng.setChildren(getChildren(eng, finalProjectList))); + } + + //获取云前置设备 + List cldDevList = allList.stream() + .filter(item -> cldDevice.contains(item.getId()) && !Objects.equals(item.getPid(), "0")) + .peek(item -> { + CsEquipmentDeliveryPO po = poMap.get(item.getId()); + item.setComFlag(po.getRunStatus()); + item.setNDId(po.getNdid()); + item.setType("device"); + item.setProcess(po.getProcess()); + }) + .filter(item -> Objects.equals(poMap.get(item.getId()).getUsageStatus(), 1)) + .sorted(Comparator.comparing(CsLedgerVO::getSort)) + .collect(Collectors.toList()); + checkDevSetData(cldDevList); + List engineeringList2 = new ArrayList<>(); + List projectList2 = new ArrayList<>(); + + List dev2 = cldDevList.stream().map(CsLedgerVO::getId).collect(Collectors.toList()); + List ledger2 = getProAndEngineer(dev2); + if (CollectionUtil.isNotEmpty(ledger2)) { + engineeringList2 = ledger2.stream().filter(item -> item.getLevel().equals(LineBaseEnum.ENGINEERING_LEVEL.getCode())).sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList()); + projectList2 = ledger2.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode())).sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList()); + projectList2.forEach(pro -> pro.setChildren(getChildren(pro, cldDevList))); + List finalProjectList = projectList2; + engineeringList2.forEach(eng -> eng.setChildren(getChildren(eng, finalProjectList))); + } + + //获取便携式设备树 CsLedgerVO portable = new CsLedgerVO(); portable.setLevel(0); - portable.setName(DataParam.PORTABLE_SYSTEM); + portable.setName(DataParam.portableDev); portable.setPid("0"); portable.setId(IdUtil.simpleUUID()); - CsLedgerVO project = new CsLedgerVO(); - project.setLevel(1); - project.setName(DataParam.WIRELESS_PROJECT); - project.setPid("0"); - project.setId(DataParam.WIRELESS_PROJECT_ID); - - List portables = allList.stream().filter(item -> Objects.equals(item.getLevel(), 2) && Objects.equals(item.getPid(), "0")).collect(Collectors.toList()); - checkDevSetData(portables); - for (CsLedgerVO c : portables) { - c.setPid(project.getId()); - CsEquipmentDeliveryPO po = csEquipmentDeliveryMapper.selectById(c.getId()); - c.setComFlag(po.getRunStatus()); - c.setNDId(po.getNdid()); - c.setType("device"); + List ledger; + String role = RequestUtil.getUserRole(); + List roles = JSONArray.parseArray(role, String.class); + if(roles.contains(AppRoleEnum.ROOT.getCode()) || roles.contains(AppRoleEnum.OPERATION_MANAGER.getCode()) || roles.contains(AppRoleEnum.REGULAR_USER.getCode())){ + ledger = allList.stream() + .filter(item -> Objects.equals(item.getLevel(), 2) && Objects.equals(item.getPid(), "0")) + .collect(Collectors.toList()); + } else { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CsDeviceUserPO::getPrimaryUserId, RequestUtil.getUserIndex()); + List list1 = csDeviceUserPOMapper.selectList(queryWrapper); + List result = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list1)) { + result = list1.stream().map(CsDeviceUserPO::getDeviceId).collect(Collectors.toList()); + } + //针对未启用的装置判断 + List finalResult = result; + ledger = allList.stream() + .filter(item -> Objects.equals(item.getLevel(), 2) && Objects.equals(item.getPid(), "0") && finalResult.contains(item.getId())) + .collect(Collectors.toList()); } - project.setChildren(portables); - List wxProjectList = new ArrayList<>(); - wxProjectList.add(project); - - portable.setChildren(wxProjectList); + Map poMap2 = ledger.stream() + .collect(Collectors.toMap( + CsLedgerVO::getId, + csEquipmentDeliveryMapper::selectById, + (existing, replacement) -> existing + )); + List portables = ledger.stream() + .peek(c -> { + CsEquipmentDeliveryPO po = poMap2.get(c.getId()); + c.setPid(portable.getId()); + c.setComFlag(po.getRunStatus()); + c.setNDId(po.getNdid()); + c.setType("device"); + c.setName(po.getName()); + c.setSort(po.getSort()); + }) + .filter(c -> poMap2.get(c.getId()).getUsageStatus() == 1) + .collect(Collectors.toList()); + portables = portables.stream().sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList()); + portable.setChildren(portables); CsLedgerVO government = new CsLedgerVO(); government.setLevel(0); - government.setName(DataParam.GOVERNANCE_SYSTEM); + government.setName(DataParam.governmentDev); government.setPid("0"); government.setId(IdUtil.simpleUUID()); - government.setChildren(engineeringList); - List tree = new ArrayList<>(); + government.setChildren(engineeringList1); + //获取云前置设备树 + CsLedgerVO cld = new CsLedgerVO(); + cld.setLevel(0); + cld.setName(DataParam.cldDev); + cld.setPid("0"); + cld.setId(IdUtil.simpleUUID()); + cld.setChildren(engineeringList2); + + List tree = new ArrayList<>(); if (CollUtil.isNotEmpty(portables)) { - tree.add(portable); + CsLedgerVO vo1 = new CsLedgerVO(); + vo1.setLevel(0); + vo1.setName(DataParam.PORTABLE_SYSTEM); + vo1.setPid("0"); + vo1.setId(IdUtil.simpleUUID()); + + CsLedgerVO vo2 = new CsLedgerVO(); + vo2.setLevel(1); + vo2.setName(DataParam.WIRELESS_PROJECT); + vo2.setPid("0"); + vo2.setId(DataParam.WIRELESS_PROJECT_ID); + vo2.setChildren(portables); + vo1.setChildren(Collections.singletonList(vo2)); + tree.add(vo1); } if (CollUtil.isNotEmpty(deviceList)) { tree.add(government); } - + if (CollUtil.isNotEmpty(cldDevList)) { + tree.add(cld); + } return tree; } +// @Override +// public List getztProjectTree() { +// List engineeringList; +// List allList = this.baseMapper.getAll(); +// /*获取用户工程,设备信息过滤*/ +// List roleengineer = roleEngineerDevService.getRoleengineer(); +// List device = roleEngineerDevService.getDevice(); +// engineeringList = allList.stream().filter(item -> roleengineer.contains(item.getId())).collect(Collectors.toList()); +// List projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode())).sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList()); +// +// List deviceList = allList.stream().filter(item -> device.contains(item.getId()) && !Objects.equals(item.getPid(), "0")). +// peek( +// temp -> { +// CsEquipmentDeliveryPO po = csEquipmentDeliveryMapper.selectById(temp.getId()); +// temp.setComFlag(po.getRunStatus()); +// temp.setNDId(po.getNdid()); +// temp.setType("device"); +// } +// ). +// sorted(Comparator.comparing(CsLedgerVO::getSort)) +// .collect(Collectors.toList()); +// checkDevSetData(deviceList); +// projectList.forEach(pro -> pro.setChildren(getChildren(pro, deviceList))); +// engineeringList.forEach(eng -> eng.setChildren(getChildren(eng, projectList))); +// +// //获取便携式项目数 +// CsLedgerVO portable = new CsLedgerVO(); +// portable.setLevel(0); +// portable.setName(DataParam.PORTABLE_SYSTEM); +// portable.setPid("0"); +// portable.setId(IdUtil.simpleUUID()); +// +// CsLedgerVO project = new CsLedgerVO(); +// project.setLevel(1); +// project.setName(DataParam.WIRELESS_PROJECT); +// project.setPid("0"); +// project.setId(DataParam.WIRELESS_PROJECT_ID); +// +// List portables = allList.stream().filter(item -> Objects.equals(item.getLevel(), 2) && Objects.equals(item.getPid(), "0")).collect(Collectors.toList()); +// checkDevSetData(portables); +// for (CsLedgerVO c : portables) { +// c.setPid(project.getId()); +// CsEquipmentDeliveryPO po = csEquipmentDeliveryMapper.selectById(c.getId()); +// c.setComFlag(po.getRunStatus()); +// c.setNDId(po.getNdid()); +// c.setType("device"); +// } +// project.setChildren(portables); +// +// List wxProjectList = new ArrayList<>(); +// wxProjectList.add(project); +// +// portable.setChildren(wxProjectList); +// +// +// CsLedgerVO government = new CsLedgerVO(); +// government.setLevel(0); +// government.setName(DataParam.GOVERNANCE_SYSTEM); +// government.setPid("0"); +// government.setId(IdUtil.simpleUUID()); +// government.setChildren(engineeringList); +// List tree = new ArrayList<>(); +// +// if (CollUtil.isNotEmpty(portables)) { +// tree.add(portable); +// } +// if (CollUtil.isNotEmpty(deviceList)) { +// tree.add(government); +// } +// +// return tree; +// } + @Override public List objTree() { List result = new ArrayList<>(); @@ -698,6 +885,9 @@ public class CsLedgerServiceImpl extends ServiceImpl i List lineIds = poList.stream().map(CsLinePO::getLineId).distinct().collect(Collectors.toList()); List pqSensitiveUserList = pqSensitiveUserFeignClient.getListByIds(objIds).getData(); + if (CollUtil.isEmpty(pqSensitiveUserList)) { + return result; + } Map objMap = pqSensitiveUserList.stream().collect(Collectors.toMap(PqSensitiveUser::getId, PqSensitiveUser::getName)); List csLineList = this.baseMapper.selectList(new LambdaQueryWrapper().in(CsLedger::getId, lineIds)); diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java index 06ace49..737cf34 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java @@ -43,10 +43,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -332,11 +329,15 @@ public class CsLinePOServiceImpl extends ServiceImpl i if (CollUtil.isEmpty(records)) { return result; } + List list = new ArrayList<>(); List sensitiveUserIds = list.stream().map(PqSensitiveUserLineVO::getSensitiveUser).distinct().collect(Collectors.toList()); - Map sensitiveUserNameMap = pqSensitiveUserFeignClient.getListByIds(sensitiveUserIds).getData() - .stream().collect(Collectors.toMap(PqSensitiveUser::getId, PqSensitiveUser::getName)); + Map sensitiveUserNameMap = new HashMap<>(); + List pqSensitiveUserList = pqSensitiveUserFeignClient.getListByIds(sensitiveUserIds).getData(); + if (CollUtil.isNotEmpty(pqSensitiveUserList)) { + sensitiveUserNameMap = pqSensitiveUserList.stream().collect(Collectors.toMap(PqSensitiveUser::getId, PqSensitiveUser::getName)); + } PqSensitiveUserLineVO sensitiveUserLineVO; for (CsLinePO record : records) { sensitiveUserLineVO = new PqSensitiveUserLineVO(); diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/CldWarnParam.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/CldWarnParam.java new file mode 100644 index 0000000..861f10a --- /dev/null +++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/CldWarnParam.java @@ -0,0 +1,20 @@ +package com.njcn.csharmonic.param; + +import com.njcn.web.pojo.param.BaseParam; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * @author xy + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class CldWarnParam extends BaseParam implements Serializable { + + @ApiModelProperty("告警等级") + private String level; + +} diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/EventUserController.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/EventUserController.java index 0cede52..199b646 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/EventUserController.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/EventUserController.java @@ -6,13 +6,13 @@ import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; +import com.njcn.csharmonic.param.CldWarnParam; import com.njcn.csharmonic.param.CsEventUserQueryPage; import com.njcn.csharmonic.param.CsEventUserQueryParam; import com.njcn.csharmonic.pojo.po.CsEventPO; import com.njcn.csharmonic.pojo.vo.EventDetailVO; import com.njcn.csharmonic.service.CsEventUserPOService; import com.njcn.web.controller.BaseController; -import com.njcn.web.pojo.param.BaseParam; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; @@ -82,7 +82,7 @@ public class EventUserController extends BaseController { @PostMapping("/frontWarnInfo") @ApiOperation("前置告警信息") @ApiImplicitParam(name = "baseParam", value = "基础查询数据", required = true) - public HttpResult> frontWarnInfo(@RequestBody BaseParam baseParam) { + public HttpResult> frontWarnInfo(@RequestBody CldWarnParam baseParam) { String methodDescribe = getMethodDescribe("frontWarnInfo"); Page list = csEventUserPOService.getFrontWarnInfo(baseParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/CsEventUserPOService.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/CsEventUserPOService.java index 3463698..a5ec51f 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/CsEventUserPOService.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/CsEventUserPOService.java @@ -2,6 +2,7 @@ package com.njcn.csharmonic.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.csharmonic.param.CldWarnParam; import com.njcn.csharmonic.param.CsEventUserQueryPage; import com.njcn.csharmonic.param.CsEventUserQueryParam; import com.njcn.csharmonic.pojo.po.CsEventPO; @@ -32,5 +33,5 @@ public interface CsEventUserPOService extends IService{ Page queryEventPageWeb(CsEventUserQueryPage csEventUserQueryPage); - Page getFrontWarnInfo(BaseParam baseParam); + Page getFrontWarnInfo(CldWarnParam baseParam); } diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsEventUserPOServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsEventUserPOServiceImpl.java index 0a50585..0b51bcc 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsEventUserPOServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsEventUserPOServiceImpl.java @@ -18,6 +18,7 @@ import com.njcn.csdevice.pojo.po.Node; import com.njcn.csdevice.pojo.vo.CsLedgerVO; import com.njcn.csharmonic.mapper.CsEventPOMapper; import com.njcn.csharmonic.mapper.CsEventUserPOMapper; +import com.njcn.csharmonic.param.CldWarnParam; import com.njcn.csharmonic.param.CsEventUserQueryPage; import com.njcn.csharmonic.param.CsEventUserQueryParam; import com.njcn.csharmonic.pojo.po.CsEventPO; @@ -32,7 +33,6 @@ import com.njcn.system.api.EpdFeignClient; import com.njcn.system.pojo.po.EleEpdPqd; import com.njcn.system.pojo.po.EleEvtParm; import com.njcn.user.enums.AppRoleEnum; -import com.njcn.web.pojo.param.BaseParam; import com.njcn.web.utils.RequestUtil; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; @@ -392,40 +392,43 @@ public class CsEventUserPOServiceImpl extends ServiceImpl portableDevIds = portableDevTree.stream().filter( + temp -> StringUtils.isEmpty(csEventUserQueryPage.getDeviceId()) || + Objects.equals(temp.getId(), csEventUserQueryPage.getDeviceId()) + ).map(CsLedgerVO::getId).collect(Collectors.toList()); + List governmentDevIds = governmentDevTree.stream().filter(temp->StringUtils.isEmpty(csEventUserQueryPage.getEngineeringid())|| + Objects.equals(temp.getId(), csEventUserQueryPage.getEngineeringid())) + .map(CsLedgerVO::getChildren).flatMap(Collection::stream).filter( + temp->StringUtils.isEmpty(csEventUserQueryPage.getProjectId())|| + Objects.equals(temp.getId(), csEventUserQueryPage.getProjectId()) + ). + map(CsLedgerVO::getChildren).flatMap(Collection::stream).filter( + temp->StringUtils.isEmpty(csEventUserQueryPage.getDeviceId())|| + Objects.equals(temp.getId(), csEventUserQueryPage.getDeviceId()) + ). + map(CsLedgerVO::getId). + collect(Collectors.toList()); + List cldDevIds = cldDevTree.stream().filter(temp->StringUtils.isEmpty(csEventUserQueryPage.getEngineeringid())|| + Objects.equals(temp.getId(), csEventUserQueryPage.getEngineeringid())) + .map(CsLedgerVO::getChildren).flatMap(Collection::stream).filter( + temp->StringUtils.isEmpty(csEventUserQueryPage.getProjectId())|| + Objects.equals(temp.getId(), csEventUserQueryPage.getProjectId()) + ). + map(CsLedgerVO::getChildren).flatMap(Collection::stream).filter( + temp->StringUtils.isEmpty(csEventUserQueryPage.getDeviceId())|| + Objects.equals(temp.getId(), csEventUserQueryPage.getDeviceId()) + ). + map(CsLedgerVO::getId). + collect(Collectors.toList()); - //便携式就1层下边就是设备 - List portableDevIds = portableDevTree.stream().filter( - temp -> StringUtils.isEmpty(csEventUserQueryPage.getDeviceId()) || - Objects.equals(temp.getId(), csEventUserQueryPage.getDeviceId()) - ).map(CsLedgerVO::getId).collect(Collectors.toList()); - List governmentDevIds = governmentDevTree.stream().filter(temp->StringUtils.isEmpty(csEventUserQueryPage.getEngineeringid())|| - Objects.equals(temp.getId(), csEventUserQueryPage.getEngineeringid())) - .map(CsLedgerVO::getChildren).flatMap(Collection::stream).filter( - temp->StringUtils.isEmpty(csEventUserQueryPage.getProjectId())|| - Objects.equals(temp.getId(), csEventUserQueryPage.getProjectId()) - ). - map(CsLedgerVO::getChildren).flatMap(Collection::stream).filter( - temp->StringUtils.isEmpty(csEventUserQueryPage.getDeviceId())|| - Objects.equals(temp.getId(), csEventUserQueryPage.getDeviceId()) - ). - map(CsLedgerVO::getId). - collect(Collectors.toList()); - List cldDevIds = cldDevTree.stream().filter(temp->StringUtils.isEmpty(csEventUserQueryPage.getEngineeringid())|| - Objects.equals(temp.getId(), csEventUserQueryPage.getEngineeringid())) - .map(CsLedgerVO::getChildren).flatMap(Collection::stream).filter( - temp->StringUtils.isEmpty(csEventUserQueryPage.getProjectId())|| - Objects.equals(temp.getId(), csEventUserQueryPage.getProjectId()) - ). - map(CsLedgerVO::getChildren).flatMap(Collection::stream).filter( - temp->StringUtils.isEmpty(csEventUserQueryPage.getDeviceId())|| - Objects.equals(temp.getId(), csEventUserQueryPage.getDeviceId()) - ). - map(CsLedgerVO::getId). - collect(Collectors.toList()); - - devIds.addAll(portableDevIds); - devIds.addAll(governmentDevIds); - devIds.addAll(cldDevIds); + devIds.addAll(portableDevIds); + devIds.addAll(governmentDevIds); + devIds.addAll(cldDevIds); + } else { + devIds.add(csEventUserQueryPage.getDeviceId()); + } if (CollectionUtils.isEmpty(devIds)){ return returnpage; @@ -515,7 +518,7 @@ public class CsEventUserPOServiceImpl extends ServiceImpl getFrontWarnInfo(BaseParam baseParam) { + public Page getFrontWarnInfo(CldWarnParam baseParam) { Page page = new Page<>(baseParam.getPageNum(), baseParam.getPageSize()); List nodeList = nodeFeignClient.nodeAllList().getData(); Map nodeMap = nodeList.stream().collect(Collectors.toMap(Node::getId, Function.identity())); @@ -533,6 +536,9 @@ public class CsEventUserPOServiceImpl extends ServiceImpl