diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/RunManageParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/RunManageParam.java index 0cbfbdec3..101d0c0c5 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/RunManageParam.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/RunManageParam.java @@ -72,4 +72,6 @@ public class RunManageParam extends BaseParam implements Serializable { @ApiModelProperty(name = "runFlag", value = "终端状态") private List runFlag; + @ApiModelProperty(name = "searchValue", value = "篩選數據") + private String searchValue; } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/RunTimeVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/RunTimeVO.java index adf9ccd1d..99c583483 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/RunTimeVO.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/RunTimeVO.java @@ -42,7 +42,6 @@ public class RunTimeVO implements Serializable { @ApiModelProperty(name = "loginTime",value = "投运时间") private String loginTime; - @ApiModelProperty(name = "devType",value = "终端型号") private String devType; diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/DeviceMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/DeviceMapper.java index 10bd0a7d3..f5f283b7f 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/DeviceMapper.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/DeviceMapper.java @@ -3,6 +3,7 @@ package com.njcn.device.pq.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.njcn.device.pq.pojo.po.Device; +import com.njcn.device.pq.pojo.vo.LineInfluxDbOnlineVO; import com.njcn.device.pq.pojo.vo.RunManageVO; import com.njcn.device.pq.pojo.vo.RunTimeVO; import org.apache.ibatis.annotations.Param; @@ -46,9 +47,15 @@ public interface DeviceMapper extends BaseMapper { * @param list 终端集合 * @param comFlag 状态 * @param runFlag 状态 + * @param manufacturer + * @param searchValue * @return 结果 */ - List getRunManageDevList(@Param("list") List list, @Param("comFlag")List comFlag, @Param("runFlag")List runFlag); + List getRunManageDevList(@Param("list") List list, + @Param("comFlag") List comFlag, + @Param("runFlag") List runFlag, + @Param("manufacturers") List manufacturer, + @Param("searchValue") String searchValue); /** * 获取指定等级的装置 @@ -56,4 +63,8 @@ public interface DeviceMapper extends BaseMapper { * @date 2023/2/10 */ List getDevByGrade(@Param("devId")List devIds,@Param("lineGrade") String lineGrade); + + List getOnlineEvaluate(@Param("list") List devIndexes, + @Param("begin") String searchBeginTime, + @Param("end") String searchEndTime); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/DeviceMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/DeviceMapper.xml index b803a40fe..a019471aa 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/DeviceMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/DeviceMapper.xml @@ -160,19 +160,46 @@ #{item} - + and device.Run_Flag in - + #{item1} - + and device.Com_Flag in - + #{item2} + + and device.Manufacturer in + + #{item3} + + + + + AND sub.NAME LIKE #{searchValueLike} + OR dev.NAME LIKE #{searchValueLike} + OR devT.Name LIKE #{searchValueLike} + OR device.IP LIKE #{searchValueLike} + ORDER BY areaId.NAME + diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/RunManageServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/RunManageServiceImpl.java index d85058e10..a228c5ec8 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/RunManageServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/RunManageServiceImpl.java @@ -93,19 +93,22 @@ public class RunManageServiceImpl implements RunManageService { if (!CollectionUtils.isEmpty(generalDeviceDTOList)) { List devIndexes = generalDeviceDTOList.stream().flatMap(list->list.getDeviceIndexes().stream()).collect(Collectors.toList()); DateFormat bf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - runManageParam.setSearchBeginTime(DateUtil.beginOfMonth(new Date()).toString(bf)); - runManageParam.setSearchEndTime(DateUtil.endOfMonth(new Date()).toString(bf)); + runManageParam.setSearchBeginTime(bf.format(DateUtil.beginOfDay(DateUtil.parse(runManageParam.getSearchBeginTime())))); + runManageParam.setSearchEndTime(bf.format(DateUtil.beginOfDay(DateUtil.parse(runManageParam.getSearchEndTime())))); + List manuList = runManageParam.getManufacturer().stream().map(SimpleDTO::getId).collect(Collectors.toList()); if(CollectionUtil.isNotEmpty(devIndexes)){ - runManageDevList = deviceMapper.getRunManageDevList(devIndexes, runManageParam.getComFlag(), runManageParam.getRunFlag()); + runManageDevList = deviceMapper.getRunManageDevList(devIndexes, runManageParam.getComFlag(), runManageParam.getRunFlag(),manuList,runManageParam.getSearchValue()); - StringBuilder devSql = InfluxDBCommUtils.assToInfluxParamDev(devIndexes); - String stringBuilder = "time >= '" + runManageParam.getSearchBeginTime() + "' and " + "time <= '" + runManageParam.getSearchEndTime()+"' and "+devSql+" group by dev_id"; - //sql语句 - String sql = "SELECT MEAN(online_rate) AS online_rate FROM " + PQS_ONLINERATE + " WHERE " + stringBuilder + TIME_ZONE; - QueryResult queryResult = influxDbUtils.query(sql); + List lineInfluxDbOnlineVOList = deviceMapper.getOnlineEvaluate(devIndexes,runManageParam.getSearchBeginTime(),runManageParam.getSearchEndTime()); - InfluxDBResultMapper inCn = new InfluxDBResultMapper(); - List lineInfluxDbOnlineVOList = inCn.toPOJO(queryResult,LineInfluxDbOnlineVO.class); +// StringBuilder devSql = InfluxDBCommUtils.assToInfluxParamDev(devIndexes); +// String stringBuilder = "time >= '" + runManageParam.getSearchBeginTime() + "' and " + "time <= '" + runManageParam.getSearchEndTime()+"' and "+devSql+" group by dev_id"; +// //sql语句 +// String sql = "SELECT MEAN(online_rate) AS online_rate FROM " + PQS_ONLINERATE + " WHERE " + stringBuilder + TIME_ZONE; +// QueryResult queryResult = influxDbUtils.query(sql); +// +// InfluxDBResultMapper inCn = new InfluxDBResultMapper(); +// List lineInfluxDbOnlineVOList = inCn.toPOJO(queryResult,LineInfluxDbOnlineVO.class); runManageDevList = runManageDevList.stream().peek(item-> lineInfluxDbOnlineVOList.stream().filter(it-> Objects.equals(item.getId(),it.getDevIndex())).findFirst().ifPresent(i->item.setOnlineEvaluate(i.getOnlineRate()))).collect(Collectors.toList()); } }