diff --git a/comService/src/main/java/com/njcn/mapper/data/IntegrityMapper.java b/comService/src/main/java/com/njcn/mapper/data/IntegrityMapper.java index 1469c60..cefb66a 100644 --- a/comService/src/main/java/com/njcn/mapper/data/IntegrityMapper.java +++ b/comService/src/main/java/com/njcn/mapper/data/IntegrityMapper.java @@ -25,4 +25,6 @@ public interface IntegrityMapper extends Mapper { //查询监测点时间范围内详细的数据完整性 List selectIntegrityData(@Param("list") List tempIndexs,@Param("startTime")Date startTime,@Param("endTime") Date endTime); + + List selectGWIntegrityData(@Param("list") List tempIndexs,@Param("startTime")Date startTime,@Param("endTime") Date endTime); } diff --git a/comService/src/main/java/com/njcn/serviceimpl/configuration/DeviceServiceImpl.java b/comService/src/main/java/com/njcn/serviceimpl/configuration/DeviceServiceImpl.java index 5e466fd..7fd79d3 100644 --- a/comService/src/main/java/com/njcn/serviceimpl/configuration/DeviceServiceImpl.java +++ b/comService/src/main/java/com/njcn/serviceimpl/configuration/DeviceServiceImpl.java @@ -325,7 +325,7 @@ public class DeviceServiceImpl implements DeviceService { //国网监测点 List countryLineIndexs = getGwLine(lineIndexs); if (!CollectionUtils.isEmpty(countryLineIndexs)) { - intergralityData.setCountryNets(getIntegralityTable(startTime, endTime, countryLineIndexs)); + intergralityData.setCountryNets(getGWIntegralityTable(startTime, endTime, countryLineIndexs)); } return intergralityData; } @@ -359,6 +359,35 @@ public class DeviceServiceImpl implements DeviceService { return intergralityTables; } + /** + * 分片处理获取监测点数据完整性所有数据 + * + * @param startTime 起始时间 + * @param endTime 截止时间 + * @param lineIndexs 监测点索引 + */ + private List getGWIntegralityTable(Date startTime, Date endTime, List lineIndexs) { + List intergralityTables = new ArrayList<>(); + //分片1000个监测点 + if (lineIndexs.size() > 1000) { + int times = lineIndexs.size() / 1000 + 1; + for (int i = 1; i <= times; i++) { + if (lineIndexs.size() > 1000) { + List tempIndexs = lineIndexs.subList(0, 1000); + List tempTables = integrityMapper.selectGWIntegrityData(tempIndexs, startTime, endTime); + intergralityTables.addAll(tempTables); + tempIndexs.clear(); + } else { + List tempTables = integrityMapper.selectGWIntegrityData(lineIndexs, startTime, endTime); + intergralityTables.addAll(tempTables); + } + } + } else { + intergralityTables = integrityMapper.selectGWIntegrityData(lineIndexs, startTime, endTime); + } + return intergralityTables; + } + /** * 根据装置索引,查询出需要展示的数据 */ diff --git a/pqs9000/src/main/resources/mybatis/mappers/data/IntegrityMapper.xml b/pqs9000/src/main/resources/mybatis/mappers/data/IntegrityMapper.xml index e3f960c..71bcc66 100644 --- a/pqs9000/src/main/resources/mybatis/mappers/data/IntegrityMapper.xml +++ b/pqs9000/src/main/resources/mybatis/mappers/data/IntegrityMapper.xml @@ -121,4 +121,57 @@ AND T9.DIC_INDEX = T3.DEVTYPE + +