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 a79bd62..316164b 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 @@ -287,14 +287,25 @@ public class CsLedgerServiceImpl extends ServiceImpl i public DevDetailDTO queryDevDetail(String devId) { DevDetailDTO device = new DevDetailDTO(); CsLedger dev = this.findDataById(devId); - device.setEquipmentName(dev.getName()); - device.setEquipmentId(devId); - CsLedger project = this.findDataById(dev.getPid()); - device.setProjectId(project.getId()); - device.setProjectName(project.getName()); - CsLedger engineer = this.findDataById(project.getPid()); - device.setEngineeringid(engineer.getId()); - device.setEngineeringName(engineer.getName()); + //如果是便携式设备,pid为0,项目,工程都设置为/ + if(Objects.equals(dev.getPid(),"0")){ + device.setEquipmentName(dev.getName()); + device.setEquipmentId(devId); + device.setProjectId("/"); + device.setProjectName("/"); + device.setEngineeringid("/"); + device.setEngineeringName("/"); + }else { + device.setEquipmentName(dev.getName()); + device.setEquipmentId(devId); + CsLedger project = this.findDataById(dev.getPid()); + device.setProjectId(project.getId()); + device.setProjectName(project.getName()); + CsLedger engineer = this.findDataById(project.getPid()); + device.setEngineeringid(engineer.getId()); + device.setEngineeringName(engineer.getName()); + } + return device; } diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/CsEventUserQueryPage.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/CsEventUserQueryPage.java index 9304a6e..3ff9a97 100644 --- a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/CsEventUserQueryPage.java +++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/CsEventUserQueryPage.java @@ -29,6 +29,10 @@ public class CsEventUserQueryPage extends CsEventUserQueryParam{ @ApiModelProperty(value = "显示条数",name = "pageSize",dataType ="Integer",required = true) private Integer pageSize; + + @ApiModelProperty(value = "设备类型名称(便携式,治理)") + private String deviceTypeName; + @ApiModelProperty(value = "工程id") private String engineeringid; 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 40fca9c..9981807 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 @@ -59,13 +59,22 @@ public class EventUserController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/queryEventpage") - @ApiOperation("事件消息") + @ApiOperation("事件消息(app)") @ApiImplicitParam(name = "csEventUserQueryPage", value = "暂降事件查询参数", required = true) public HttpResult> queryEventpage(@RequestBody CsEventUserQueryPage csEventUserQueryPage) { String methodDescribe = getMethodDescribe("queryEventpage"); Page list = csEventUserPOService.queryEventpage(csEventUserQueryPage); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/queryEventpageWeb") + @ApiOperation("事件消息(web)") + @ApiImplicitParam(name = "csEventUserQueryPage", value = "暂降事件查询参数", required = true) + public HttpResult> queryEventpageWeb(@RequestBody CsEventUserQueryPage csEventUserQueryPage) { + String methodDescribe = getMethodDescribe("queryEventpageWeb"); + Page list = csEventUserPOService.queryEventPageWeb(csEventUserQueryPage); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/updateStatus") diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/CsEventUserPOMapper.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/CsEventUserPOMapper.java index 9d075e1..de72aeb 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/CsEventUserPOMapper.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/CsEventUserPOMapper.java @@ -24,4 +24,6 @@ public interface CsEventUserPOMapper extends BaseMapper { List queryUserEventList(@Param("csEventUserQueryParam") CsEventUserQueryParam csEventUserQueryParam, @Param("devIds") List devIds, @Param("flag") Boolean flag); Page queryEventpage(Page returnpage, @Param("csEventUserQueryPage") CsEventUserQueryPage csEventUserQueryPage, @Param("devIds") List devIds, @Param("flag") Boolean flag); + + Page queryEventPageWeb(Page returnpage,@Param("csEventUserQueryPage") CsEventUserQueryPage csEventUserQueryPage,@Param("devIds") List collect); } \ No newline at end of file diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/mapping/CsEventUserPOMapper.xml b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/mapping/CsEventUserPOMapper.xml index 7684710..5af8d70 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/mapping/CsEventUserPOMapper.xml +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/mapping/CsEventUserPOMapper.xml @@ -117,4 +117,36 @@ order by b.start_time desc + + \ No newline at end of file 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 5252298..007c519 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 @@ -27,4 +27,6 @@ public interface CsEventUserPOService extends IService{ void updateStatus(CsEventUserQueryParam csEventUserQueryParam); Page queryEventpage(CsEventUserQueryPage csEventUserQueryPage); + + Page queryEventPageWeb(CsEventUserQueryPage csEventUserQueryPage); } 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 6316a8a..c75d366 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 @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.constant.LogInfo; import com.njcn.csdevice.api.CsLedgerFeignClient; +import com.njcn.csdevice.constant.DataParam; import com.njcn.csdevice.pojo.dto.DevDetailDTO; import com.njcn.csdevice.pojo.vo.CsLedgerVO; @@ -362,6 +363,146 @@ public class CsEventUserPOServiceImpl extends ServiceImpl queryEventPageWeb(CsEventUserQueryPage csEventUserQueryPage) { + Page returnpage = new Page<> (csEventUserQueryPage.getPageNum ( ), csEventUserQueryPage.getPageSize ( )); + + + List data = csLedgerFeignClient.getDeviceTree().getData(); + List devIds = new ArrayList<>(); + data = data.stream().filter(temp -> StringUtils.isEmpty(csEventUserQueryPage.getDeviceTypeName() )|| + Objects.equals(temp.getName(), csEventUserQueryPage.getDeviceTypeName())).collect(Collectors.toList()); + //便携式设备和治理设备拆分 + List portableDevTree = data.stream().filter(temp -> Objects.equals(temp.getName(), DataParam.portableDev)).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(portableDevTree)){ + portableDevTree = portableDevTree.get(0).getChildren(); + } + List governmentDevTree = data.stream().filter(temp -> Objects.equals(temp.getName(), DataParam.governmentDev)).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(governmentDevTree)){ + governmentDevTree = governmentDevTree.get(0).getChildren(); + } + //便携式就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()); + + devIds.addAll(portableDevIds); + devIds.addAll(governmentDevIds); + + if (CollectionUtils.isEmpty(devIds)){ + return returnpage; + } + + returnpage = this.getBaseMapper().queryEventPageWeb(returnpage,csEventUserQueryPage,devIds); + + returnpage.getRecords().forEach(temp->{ + DevDetailDTO devDetail = csLedgerFeignClient.queryDevDetail(temp.getDeviceId()).getData(); + temp.setEquipmentName(devDetail.getEquipmentName()); + temp.setProjectId(devDetail.getProjectId()); + temp.setProjectName(devDetail.getProjectName()); + temp.setEngineeringid(devDetail.getEngineeringid()); + temp.setEngineeringName(devDetail.getEngineeringName()); + EleEpdPqd ele = epdFeignClient.findByName(temp.getTag()).getData(); + temp.setShowName(ele.getShowName()); + temp.setCode(ele.getDefaultValue()); + if(Objects.equals(csEventUserQueryPage.getType(),"0")){ + + List data1 = eleEvtFeignClient.queryByPid(ele.getId()).getData(); + List eventDataSetDTOS = new ArrayList<>(); + for (EleEvtParm eleEvtParm : data1) { + EventDataSetDTO eventDataSetDTO = new EventDataSetDTO(); + BeanUtils.copyProperties(eleEvtParm,eventDataSetDTO); + if (Objects.equals(eventDataSetDTO.getName(),"Evt_Param_Position")) { + continue; +// eventDataSetDTO.setValue(Objects.equals(temp.getLocation(),"grid")?"电网侧":"负载侧"); + } + EventDataSetDTO evtData = evtDataService.getEventDataSet("evt_data", temp.getId(), eleEvtParm.getName()); + if (evtData == null) { + eventDataSetDTO.setValue("-"); + }else { + eventDataSetDTO.setValue(Optional.ofNullable(evtData.getValue()).orElse("-")); + + } +// if (Objects.equals(eventDataSetDTO.getName(),"Evt_Param_Position")) { +// eventDataSetDTO.setValue(Objects.equals(temp.getLocation(),"grid")?"电网侧":"负载侧"); +// } + eventDataSetDTOS.add(eventDataSetDTO); + } + temp.setDataSet(eventDataSetDTOS); + + List evtParamVVaDepth = eventDataSetDTOS.stream(). + filter(dataSetDTO -> Objects.equals(dataSetDTO.getName(), "Evt_Param_VVaDepth")). + collect(Collectors.toList()); + + if(CollectionUtil.isEmpty(evtParamVVaDepth)){ + temp.setEvtParamVVaDepth("-"); + + }else { + temp.setEvtParamVVaDepth(evtParamVVaDepth.get(0).getValue()+(Objects.isNull(evtParamVVaDepth.get(0).getUnit())?"":evtParamVVaDepth.get(0).getUnit())); + + } + + List evtParamPosition = eventDataSetDTOS.stream(). + filter(dataSetDTO -> Objects.equals(dataSetDTO.getName(), "Evt_Param_Position")). + collect(Collectors.toList()); + if(CollectionUtil.isEmpty(evtParamPosition)){ + temp.setEvtParamPosition("-"); + + }else { + //temp.setEvtParamPosition(evtParamPosition.get(0).getValue()+(Objects.isNull(evtParamPosition.get(0).getUnit())?"":evtParamPosition.get(0).getUnit())); + temp.setEvtParamPosition(evtParamPosition.get(0).getValue()); + } + if (Objects.equals(temp.getEvtParamPosition(),"-")) { + if (!Objects.isNull(temp.getLocation())) { + temp.setEvtParamPosition(Objects.equals(temp.getLocation(),"grid")?"电网侧":"负载侧"); + } + } + + List evtParamTm = eventDataSetDTOS.stream(). + filter(dataSetDTO -> Objects.equals(dataSetDTO.getName(), "Evt_Param_Tm")). + collect(Collectors.toList()); + if(CollectionUtil.isEmpty(evtParamTm)){ + temp.setEvtParamTm("-"); + + }else { + temp.setEvtParamTm(evtParamTm.get(0).getValue()+(Objects.isNull(evtParamTm.get(0).getUnit())?"":evtParamTm.get(0).getUnit())); + + } + + List evtParamPhase = eventDataSetDTOS.stream(). + filter(dataSetDTO -> Objects.equals(dataSetDTO.getName(), "Evt_Param_Phase")). + collect(Collectors.toList()); + if(CollectionUtil.isEmpty(evtParamPhase)){ + temp.setEvtParamPhase("-"); + + }else { + temp.setEvtParamPhase(evtParamPhase.get(0).getValue()+(Objects.isNull(evtParamPhase.get(0).getUnit())?"":evtParamPhase.get(0).getUnit())); + + } + + } + + }); + + + return returnpage; }