List<DeviceUserExtEntity> deviceUserExtEntities = deviceUserExtMapper.selectStatusPerson(orgcode, personType, formatter.parse(startTime), formatter.parse(endTime));
Set<String> codes = deviceUserExtEntities.stream().filter(Objects::nonNull).map(DeviceUserExtEntity::getHcode).collect(Collectors.toSet());
List<DeviceUserExtBO> addByHcodeList = orgMapper.findAddByHcode1(new ArrayList<>(codes));
Map<String, String> addressByCodeMap = addByHcodeList.stream().filter(Objects::nonNull).collect(Collectors.toMap(DeviceUserExtBO::getCode, DeviceUserExtBO::getAddress,(address1,address2)->address1));
List<DeviceUserExtEntity> DeviceUserExtEntitys = deviceUserExtEntities.stream()
.filter(Objects::nonNull)
.map(o -> {
o.setAddress(Optional.ofNullable(addressByCodeMap.get(o.getHcode())).orElse("--"));
return o;
}).collect(Collectors.toList());
"<script>" +
"SELECT concat(tbo.NAME,'/',tb.bname,'/',tbu.dname,'/',tbr.hname) as address,\n" +
"tbr.hcode as code " +
"FROM\n" +
"\ttbl_org tbo\n" +
"\tLEFT JOIN tbl_block tb ON tbo.code = tb.orgcode\n" +
"\tLEFT JOIN tbl_blockunit tbu ON tb.bcode = tbu.bcode\n" +
"\tLEFT JOIN tbl_blockroom tbr ON tbu.dcode = tbr.dcode \n" +
"\t<if test=\"bcodes != null and bcodes.size()!=0 \">"+
"\tWHERE \n" +
"\ttbr.hcode IN" +
"\t(<foreach collection ='bcodes' item='bcode' separator =','>" +
"\t#{bcode}" +
"\t</foreach>)" +
"\t</if>"+
"</script>"