|
|
@ -650,56 +650,52 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
Page<Map<String, Object>> mapListPage = PageHelper.startPage(pageFormDTO.getPageNo(), pageFormDTO.getPageSize(), pageFormDTO.getPageFlag()).doSelectPage(() -> { |
|
|
|
this.dynamicQuery(pageFormDTO.getCustomerId(), pageFormDTO.getFormCode(), baseTableName, pageFormDTO.getConditions(), currentStaffAgencyId, staffOrgPath); |
|
|
|
}); |
|
|
|
mapListPage.getResult().stream().filter(Objects::nonNull).forEach(map -> { |
|
|
|
mapListPage.getResult().stream().filter(Objects::nonNull).forEach(resiUser -> { |
|
|
|
String resiId = null; |
|
|
|
//获取用户Id
|
|
|
|
if (IcResiUserConstant.IC_RESI_USER.equals(baseTableName)) { |
|
|
|
resiId = (String) map.get("ID"); |
|
|
|
resiId = (String) resiUser.get("ID"); |
|
|
|
}else { |
|
|
|
resiId = (String) map.get(UserConstant.IC_RESI_USER); |
|
|
|
resiId = (String) resiUser.get(UserConstant.IC_RESI_USER); |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(resiId)){ |
|
|
|
log.error("getDataForExport error,resiId is net exist:{}",map); |
|
|
|
log.error("getDataForExport error,resiId is net exist:{}",resiUser); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
//遍历所有字段 格式化时间字段
|
|
|
|
map.forEach((k,o) -> { |
|
|
|
resiUser.forEach((k,o) -> { |
|
|
|
if (o instanceof java.sql.Date){ |
|
|
|
o = DateUtils.format(((Date) o),DateUtils.DATE_PATTERN); |
|
|
|
}else if (o instanceof java.sql.Timestamp){ |
|
|
|
o = DateUtils.format(new Date(((Timestamp) o).getTime()),DateUtils.DATE_TIME_PATTERN); |
|
|
|
} |
|
|
|
map.put(k,o); |
|
|
|
FormItemResult itemResult = formItemMap.getItemMap().get(k); |
|
|
|
if (itemResult == null){ |
|
|
|
return; |
|
|
|
} |
|
|
|
resiUser.put(k,o); |
|
|
|
}); |
|
|
|
|
|
|
|
//当前条数据原始的id值 map
|
|
|
|
//当前条数据原始的id值 resiUser
|
|
|
|
Map<String,Object> originalConditionMap = new HashMap<>(); |
|
|
|
for (FormItemResult e : formItemMap.getItemMap().values()) { |
|
|
|
String columnName = getColumnName(e); |
|
|
|
Object temp = map.get(columnName); |
|
|
|
Object temp = resiUser.get(columnName); |
|
|
|
String vauleStr = temp == null ? StrConstant.EPMETY_STR : temp.toString(); |
|
|
|
originalConditionMap.putIfAbsent(columnName,vauleStr); |
|
|
|
if ("remote".equals(e.getOptionSourceType()) && StringUtils.isNotBlank(vauleStr)) { |
|
|
|
putRemoteValue(formItemMap.getRemoteItemConditionMap().get(e.getItemId()), currentStaffAgencyId, map,originalConditionMap, e, columnName, vauleStr); |
|
|
|
putRemoteValue(formItemMap.getRemoteItemConditionMap().get(e.getItemId()), currentStaffAgencyId, resiUser,originalConditionMap, e, columnName, vauleStr); |
|
|
|
} else { |
|
|
|
putOptionValue(map, e, columnName, vauleStr); |
|
|
|
putOptionValue(resiUser, e, columnName, vauleStr); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
if (!IcResiUserConstant.IC_RESI_USER.equals(baseTableName)) { |
|
|
|
Map<String,Object> o = redisUtils.hGetAll(RedisKeys.getExportResiBaseInfoKey(resiId)); |
|
|
|
if (o != null){ |
|
|
|
map.putAll(o); |
|
|
|
resiUser.putAll(o); |
|
|
|
} |
|
|
|
return; |
|
|
|
} |
|
|
|
//把人放入redis缓存 便于后面的sheet使用基础信息
|
|
|
|
redisUtils.hMSet(RedisKeys.getExportResiBaseInfoKey(resiId),map,RedisUtils.MINUTE_THIRTY_EXPIRE); |
|
|
|
redisUtils.hMSet(RedisKeys.getExportResiBaseInfoKey(resiId),resiUser,RedisUtils.MINUTE_THIRTY_EXPIRE); |
|
|
|
}); |
|
|
|
remoteOptionCacheMap.clear(); |
|
|
|
return mapListPage.getResult(); |
|
|
@ -730,7 +726,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
continue; |
|
|
|
}*/ |
|
|
|
Cache<String, String> cache = remoteOptionCacheMap.getOrDefault(e.getItemId(), CacheBuilder.newBuilder().maximumSize(NumConstant.FIVE_HUNDRED).build()); |
|
|
|
remoteOptionCacheMap.put(e.getItemId(),cache); |
|
|
|
remoteOptionCacheMap.putIfAbsent(e.getItemId(),cache); |
|
|
|
String cacheValue = cache.getIfPresent(vauleStr); |
|
|
|
if (StringUtils.isNotBlank(cacheValue)){ |
|
|
|
map.put(columnName,cacheValue); |
|
|
|