|
@ -76,7 +76,6 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { |
|
|
/** |
|
|
/** |
|
|
* desc: 根据条件查询居民信息并根据配置模板导出 |
|
|
* desc: 根据条件查询居民信息并根据配置模板导出 |
|
|
* |
|
|
* |
|
|
* |
|
|
|
|
|
* @param tokenDto |
|
|
* @param tokenDto |
|
|
* @param exportResiUserFormDTO |
|
|
* @param exportResiUserFormDTO |
|
|
* @param response |
|
|
* @param response |
|
@ -96,15 +95,15 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { |
|
|
ExcelWriter excelWriter = null; |
|
|
ExcelWriter excelWriter = null; |
|
|
try { |
|
|
try { |
|
|
//获取用户配置的导出条件
|
|
|
//获取用户配置的导出条件
|
|
|
Result<IcCustomExportResultDTO> exportConfigResult = getIcCustomExportConfig(searchForm.getCustomerId(),templateId,exportResiUserFormDTO.getExportConfig()); |
|
|
Result<IcCustomExportResultDTO> exportConfigResult = getIcCustomExportConfig(searchForm.getCustomerId(), templateId, exportResiUserFormDTO.getExportConfig()); |
|
|
|
|
|
|
|
|
Map<String, ExportResiUserItemDTO> itemOriginMap = getItemMap(searchForm.getCustomerId()); |
|
|
Map<String, ExportResiUserItemDTO> itemOriginMap = getItemMap(searchForm.getCustomerId()); |
|
|
IcCustomExportResultDTO exportConfigData = exportConfigResult.getData(); |
|
|
IcCustomExportResultDTO exportConfigData = exportConfigResult.getData(); |
|
|
log.info("查询到的模板配置信息:{}", JSON.toJSONString(exportConfigData)); |
|
|
log.info("查询到的模板配置信息:{}", JSON.toJSONString(exportConfigData)); |
|
|
|
|
|
|
|
|
CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(searchForm.getCustomerId(), searchForm.getStaffId()); |
|
|
CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(searchForm.getCustomerId(), searchForm.getStaffId()); |
|
|
if (staffInfoCacheResult == null){ |
|
|
if (staffInfoCacheResult == null) { |
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"获取工作人员信息失败"); |
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取工作人员信息失败"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
List<IcCustomExportResultDTO.SqlColumn> allShowColumns = new ArrayList<>(exportConfigData.getShowSqlColumns()); |
|
|
List<IcCustomExportResultDTO.SqlColumn> allShowColumns = new ArrayList<>(exportConfigData.getShowSqlColumns()); |
|
@ -114,12 +113,12 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { |
|
|
List<Integer> mergeColumnIndexList = new ArrayList<>(); |
|
|
List<Integer> mergeColumnIndexList = new ArrayList<>(); |
|
|
for (int i = 0; i < allShowColumns.size(); i++) { |
|
|
for (int i = 0; i < allShowColumns.size(); i++) { |
|
|
IcCustomExportResultDTO.SqlColumn sqlColumn = allShowColumns.get(i); |
|
|
IcCustomExportResultDTO.SqlColumn sqlColumn = allShowColumns.get(i); |
|
|
if (!sqlColumn.getManyToOne()){ |
|
|
if (!sqlColumn.getManyToOne()) { |
|
|
mergeColumnIndexList.add(i); |
|
|
mergeColumnIndexList.add(i); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
int[] mergeColumnIndex = mergeColumnIndexList.stream().filter(Objects::nonNull).mapToInt(i->i).toArray(); |
|
|
int[] mergeColumnIndex = mergeColumnIndexList.stream().filter(Objects::nonNull).mapToInt(i -> i).toArray(); |
|
|
// 从那一列开始合并
|
|
|
// 从那一列开始合并
|
|
|
int mergeRowIndex = exportConfigData.getHeaderRow(); |
|
|
int mergeRowIndex = exportConfigData.getHeaderRow(); |
|
|
|
|
|
|
|
@ -162,8 +161,8 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { |
|
|
|
|
|
|
|
|
result.forEach(o -> { |
|
|
result.forEach(o -> { |
|
|
List<Object> singleResult = new ArrayList<>(); |
|
|
List<Object> singleResult = new ArrayList<>(); |
|
|
Map<String,Object> originalConditionMap = new ConcurrentHashMap<>(); |
|
|
Map<String, Object> originalConditionMap = new ConcurrentHashMap<>(); |
|
|
o.forEach((key,value) -> { |
|
|
o.forEach((key, value) -> { |
|
|
List<IcCustomExportResultDTO.SqlColumn> showSqlColumns = exportConfigData.getShowSqlColumns(); |
|
|
List<IcCustomExportResultDTO.SqlColumn> showSqlColumns = exportConfigData.getShowSqlColumns(); |
|
|
Map<String, IcCustomExportResultDTO.SqlColumn> itemMap = showSqlColumns.stream().collect(Collectors.toMap(IcCustomExportResultDTO.SqlColumn::getColumnName, item -> item)); |
|
|
Map<String, IcCustomExportResultDTO.SqlColumn> itemMap = showSqlColumns.stream().collect(Collectors.toMap(IcCustomExportResultDTO.SqlColumn::getColumnName, item -> item)); |
|
|
|
|
|
|
|
@ -178,15 +177,15 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { |
|
|
|
|
|
|
|
|
String vauleStr = value == null ? StrConstant.EPMETY_STR : value.toString(); |
|
|
String vauleStr = value == null ? StrConstant.EPMETY_STR : value.toString(); |
|
|
//保留原始值 便于remote条件获取
|
|
|
//保留原始值 便于remote条件获取
|
|
|
originalConditionMap.putIfAbsent(columnName,vauleStr); |
|
|
originalConditionMap.putIfAbsent(columnName, vauleStr); |
|
|
ExportResiUserItemDTO exportResiUserItemDTO = itemOriginMap.get(tableName); |
|
|
ExportResiUserItemDTO exportResiUserItemDTO = itemOriginMap.get(tableName); |
|
|
FormItemResult formItemResult = exportResiUserItemDTO.getItemMap().get(columnName); |
|
|
FormItemResult formItemResult = exportResiUserItemDTO.getItemMap().get(columnName); |
|
|
|
|
|
|
|
|
String newValue = vauleStr; |
|
|
String newValue = vauleStr; |
|
|
if (Constant.OPITON_SOURCE_REMOTE.equals(sqlColumn.getOptionSourceType())&&StringUtils.isNotBlank(vauleStr)) { |
|
|
if (Constant.OPITON_SOURCE_REMOTE.equals(sqlColumn.getOptionSourceType()) && StringUtils.isNotBlank(vauleStr)) { |
|
|
putRemoteValue(exportResiUserItemDTO.getRemoteItemConditionMap().get(itemId), staffInfoCacheResult.getAgencyId(), o,originalConditionMap, formItemResult, columnName, vauleStr); |
|
|
putRemoteValue(exportResiUserItemDTO.getRemoteItemConditionMap().get(itemId), staffInfoCacheResult.getAgencyId(), o, originalConditionMap, formItemResult, columnName, vauleStr); |
|
|
newValue = String.valueOf(o.get(columnName)); |
|
|
newValue = String.valueOf(o.get(columnName)); |
|
|
} else if (Constant.OPITON_SOURCE_LOCAL.equals(sqlColumn.getOptionSourceType())){ |
|
|
} else if (Constant.OPITON_SOURCE_LOCAL.equals(sqlColumn.getOptionSourceType())) { |
|
|
newValue = putOptionValue(formItemResult, vauleStr); |
|
|
newValue = putOptionValue(formItemResult, vauleStr); |
|
|
} |
|
|
} |
|
|
singleResult.add(newValue); |
|
|
singleResult.add(newValue); |
|
@ -209,6 +208,7 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* desc:校验查询表单参数 |
|
|
* desc:校验查询表单参数 |
|
|
|
|
|
* |
|
|
* @param tokenDto |
|
|
* @param tokenDto |
|
|
* @param exportResiUserFormDTO |
|
|
* @param exportResiUserFormDTO |
|
|
*/ |
|
|
*/ |
|
@ -230,12 +230,12 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { |
|
|
Result<IcCustomExportResultDTO> exportConfigResult = operCustomizeOpenFeignClient.getExcelHeaderAndSqlColumnForExport(param); |
|
|
Result<IcCustomExportResultDTO> exportConfigResult = operCustomizeOpenFeignClient.getExcelHeaderAndSqlColumnForExport(param); |
|
|
if (!exportConfigResult.success() || exportConfigResult.getData() == null) { |
|
|
if (!exportConfigResult.success() || exportConfigResult.getData() == null) { |
|
|
log.error("获取模板失败"); |
|
|
log.error("获取模板失败"); |
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"获取模板失败"+exportConfigResult.getInternalMsg()); |
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取模板失败" + exportConfigResult.getInternalMsg()); |
|
|
} |
|
|
} |
|
|
IcCustomExportResultDTO data = exportConfigResult.getData(); |
|
|
IcCustomExportResultDTO data = exportConfigResult.getData(); |
|
|
|
|
|
|
|
|
//添加一个虚拟列Id 用于分组
|
|
|
//添加一个虚拟列Id 用于分组
|
|
|
data.getShowSqlColumns().add(0,new IcCustomExportResultDTO.SqlColumn(null,"ic_resi_user",false,"ID","local")); |
|
|
data.getShowSqlColumns().add(0, new IcCustomExportResultDTO.SqlColumn(null, "ic_resi_user", false, "ID", "local")); |
|
|
List<String> id = new ArrayList<>(); |
|
|
List<String> id = new ArrayList<>(); |
|
|
id.add("ID"); |
|
|
id.add("ID"); |
|
|
data.getHeaders().add(0, id); |
|
|
data.getHeaders().add(0, id); |
|
@ -246,41 +246,44 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { |
|
|
/** |
|
|
/** |
|
|
* key:itemId,value: key:columnName,中文 |
|
|
* key:itemId,value: key:columnName,中文 |
|
|
*/ |
|
|
*/ |
|
|
private static Map<String, Cache<String,String>> remoteOptionCacheMap = new HashMap<>(); |
|
|
private static Map<String, Cache<String, String>> remoteOptionCacheMap = new HashMap<>(); |
|
|
|
|
|
|
|
|
private void putRemoteValue(Set<FormItemResult> conditionItemSet, String currentStaffAgencyId, Map<String, Object> map, Map<String, Object> originalConditionMap, FormItemResult e, String columnName, String vauleStr) { |
|
|
private void putRemoteValue(Set<FormItemResult> conditionItemSet, String currentStaffAgencyId, Map<String, Object> map, Map<String, Object> originalConditionMap, FormItemResult e, String columnName, String vauleStr) { |
|
|
try { |
|
|
try { |
|
|
Map<String, IcResiUserImportServiceImpl.ColumnWrapper> columnWrappers = new HashMap<>(); |
|
|
Map<String, IcResiUserImportServiceImpl.ColumnWrapper> columnWrappers = new HashMap<>(); |
|
|
if (e.getOptionSourceValue().contains(StrConstant.QUESTION_MARK)){ |
|
|
if (e.getOptionSourceValue().contains(StrConstant.QUESTION_MARK)) { |
|
|
for (FormItemResult o : conditionItemSet) { |
|
|
for (FormItemResult o : conditionItemSet) { |
|
|
String conditionColumnName = o.getColumnNum() == NumConstant.ZERO? o.getColumnName():o.getColumnName().concat(o.getColumnNum().toString()); |
|
|
String conditionColumnName = o.getColumnNum() == NumConstant.ZERO ? o.getColumnName() : o.getColumnName().concat(o.getColumnNum().toString()); |
|
|
Object conditionValue = originalConditionMap.getOrDefault(conditionColumnName, map.get(conditionColumnName)); |
|
|
Object conditionValue = originalConditionMap.getOrDefault(conditionColumnName, map.get(conditionColumnName)); |
|
|
originalConditionMap.putIfAbsent(conditionColumnName,conditionValue.toString()); |
|
|
originalConditionMap.putIfAbsent(conditionColumnName, conditionValue.toString()); |
|
|
IcResiUserImportServiceImpl.ColumnWrapper value = new IcResiUserImportServiceImpl.ColumnWrapper(); |
|
|
IcResiUserImportServiceImpl.ColumnWrapper value = new IcResiUserImportServiceImpl.ColumnWrapper(); |
|
|
value.setColValue(conditionValue.toString()); |
|
|
value.setColValue(conditionValue.toString()); |
|
|
columnWrappers.put(o.getItemId(), value); |
|
|
columnWrappers.put(o.getItemId(), value); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
Cache<String, String> cache = remoteOptionCacheMap.getOrDefault(e.getItemId(), CacheBuilder.newBuilder().maximumSize(NumConstant.FIVE_HUNDRED).build()); |
|
|
Cache<String, String> cache = remoteOptionCacheMap.getOrDefault(e.getItemId(), CacheBuilder.newBuilder().maximumSize(NumConstant.FIVE_HUNDRED).build()); |
|
|
remoteOptionCacheMap.putIfAbsent(e.getItemId(),cache); |
|
|
remoteOptionCacheMap.putIfAbsent(e.getItemId(), cache); |
|
|
String cacheValue = cache.getIfPresent(vauleStr); |
|
|
String cacheValue = cache.getIfPresent(vauleStr); |
|
|
if (StringUtils.isNotBlank(cacheValue)){ |
|
|
if (StringUtils.isNotBlank(cacheValue)) { |
|
|
map.put(columnName,cacheValue); |
|
|
map.put(columnName, cacheValue); |
|
|
} else { |
|
|
} else { |
|
|
String[] parts = icResiUserImportService.splitOptionSourceUrl(e.getOptionSourceValue()); |
|
|
String[] parts = icResiUserImportService.splitOptionSourceUrl(e.getOptionSourceValue()); |
|
|
|
|
|
|
|
|
if (FormItemTypeEnum.CASCADER.getCode().equals(e.getItemType())) { |
|
|
if (FormItemTypeEnum.CASCADER.getCode().equals(e.getItemType())) { |
|
|
Map<String, OptionResultDTO> remoteOptions = icResiUserImportService.listRemoteCascadeOptions(parts[0], parts[1], columnWrappers, currentStaffAgencyId, "query"); |
|
|
Map<String, OptionResultDTO> remoteOptionMap = icResiUserImportService.listRemoteCascadeOptions(parts[0], parts[1], columnWrappers, currentStaffAgencyId, "query"); |
|
|
List<String> listOptions = new ArrayList<>(); |
|
|
List<String> listOptions = new ArrayList<>(); |
|
|
remoteOptions.forEach((value,label) -> { |
|
|
String[] split = vauleStr.split(StrConstant.COMMA); |
|
|
|
|
|
Arrays.stream(split).forEach((value) -> { |
|
|
//todo 看看怎么更好的利用本地缓存
|
|
|
//todo 看看怎么更好的利用本地缓存
|
|
|
if (vauleStr.equals(value)) { |
|
|
OptionResultDTO optionResultDTO = remoteOptionMap.get(value); |
|
|
listOptions.add(label.getLabel()); |
|
|
if (optionResultDTO != null) { |
|
|
|
|
|
listOptions.add(optionResultDTO.getLabel()); |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
String join = Joiner.on("-").join(listOptions); |
|
|
String join = Joiner.on("-").join(listOptions); |
|
|
cache.put(vauleStr,join); |
|
|
cache.put(vauleStr, join); |
|
|
map.put(columnName, join); |
|
|
map.put(columnName, join); |
|
|
}else { |
|
|
} else { |
|
|
//todo 不支持多个itemId
|
|
|
//todo 不支持多个itemId
|
|
|
Map<String, String> remoteOptions = icResiUserImportService.listRemoteOptions(parts[0], parts[1], columnWrappers, currentStaffAgencyId, "query"); |
|
|
Map<String, String> remoteOptions = icResiUserImportService.listRemoteOptions(parts[0], parts[1], columnWrappers, currentStaffAgencyId, "query"); |
|
|
if (FormItemTypeEnum.CHECKBOX.getCode().equals(e.getItemType())) { |
|
|
if (FormItemTypeEnum.CHECKBOX.getCode().equals(e.getItemType())) { |
|
@ -291,28 +294,28 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { |
|
|
map.put(columnName, label); |
|
|
map.put(columnName, label); |
|
|
} |
|
|
} |
|
|
//放if外面是为了下次取得时候 可以有值
|
|
|
//放if外面是为了下次取得时候 可以有值
|
|
|
cache.put(value,label); |
|
|
cache.put(value, label); |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} catch (Exception ex) { |
|
|
} catch (Exception ex) { |
|
|
log.warn("listRemoteOptions url", ex); |
|
|
log.warn("listRemoteOptions url", ex); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private String putOptionValue(FormItemResult e, String vauleStr) { |
|
|
private String putOptionValue(FormItemResult e, String vauleStr) { |
|
|
if (e == null){ |
|
|
if (e == null) { |
|
|
return vauleStr; |
|
|
return vauleStr; |
|
|
} |
|
|
} |
|
|
FormItemTypeEnum itemTypeEnum = FormItemTypeEnum.getEnum(e.getItemType()); |
|
|
FormItemTypeEnum itemTypeEnum = FormItemTypeEnum.getEnum(e.getItemType()); |
|
|
switch (itemTypeEnum) { |
|
|
switch (itemTypeEnum) { |
|
|
case CHECKBOX: |
|
|
case CHECKBOX: |
|
|
if (e.getMultiSelect()){ |
|
|
if (e.getMultiSelect()) { |
|
|
List<String> valueList = new ArrayList<>(); |
|
|
List<String> valueList = new ArrayList<>(); |
|
|
e.getOptions().forEach(option->{ |
|
|
e.getOptions().forEach(option -> { |
|
|
if (vauleStr.contains(option.getValue())){ |
|
|
if (vauleStr.contains(option.getValue())) { |
|
|
valueList.add(option.getLabel()); |
|
|
valueList.add(option.getLabel()); |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
@ -338,36 +341,37 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* desc:获取表单配置 |
|
|
* desc:获取表单配置 |
|
|
|
|
|
* |
|
|
* @param customerId |
|
|
* @param customerId |
|
|
* @return map key:tableName ,value:ExportResiUserItemDTO |
|
|
* @return map key:tableName ,value:ExportResiUserItemDTO |
|
|
*/ |
|
|
*/ |
|
|
private Map<String, ExportResiUserItemDTO> getItemMap(String customerId){ |
|
|
private Map<String, ExportResiUserItemDTO> getItemMap(String customerId) { |
|
|
//获取表单项
|
|
|
//获取表单项
|
|
|
IcResiUserService icResiUserService = SpringContextUtils.getBean(IcResiUserService.class); |
|
|
IcResiUserService icResiUserService = SpringContextUtils.getBean(IcResiUserService.class); |
|
|
if (icResiUserService == null){ |
|
|
if (icResiUserService == null) { |
|
|
log.error("获取bean IcResiUserService 失败"); |
|
|
log.error("获取bean IcResiUserService 失败"); |
|
|
return null; |
|
|
return null; |
|
|
} |
|
|
} |
|
|
List<FormItemResult> resiFormAllItems = this.icResiUserService.listFormItems(customerId, IcFormCodeEnum.RESI_BASE_INFO.getCode()); |
|
|
List<FormItemResult> resiFormAllItems = this.icResiUserService.listFormItems(customerId, IcFormCodeEnum.RESI_BASE_INFO.getCode()); |
|
|
Map<String, FormItemResult> allItemMap = resiFormAllItems.stream().collect(Collectors.toMap(FormItemResult::getItemId, o -> o)); |
|
|
Map<String, FormItemResult> allItemMap = resiFormAllItems.stream().collect(Collectors.toMap(FormItemResult::getItemId, o -> o)); |
|
|
Map<String, ExportResiUserItemDTO> map = new HashMap<>(); |
|
|
Map<String, ExportResiUserItemDTO> map = new HashMap<>(); |
|
|
allItemMap.values().forEach(item->{ |
|
|
allItemMap.values().forEach(item -> { |
|
|
String tableName = item.getTableName(); |
|
|
String tableName = item.getTableName(); |
|
|
ExportResiUserItemDTO exportItem = map.getOrDefault(tableName, new ExportResiUserItemDTO()); |
|
|
ExportResiUserItemDTO exportItem = map.getOrDefault(tableName, new ExportResiUserItemDTO()); |
|
|
map.putIfAbsent(tableName,exportItem); |
|
|
map.putIfAbsent(tableName, exportItem); |
|
|
String columnName = item.getColumnName().concat(item.getColumnNum() == NumConstant.ZERO ? StrConstant.EPMETY_STR : item.getColumnNum().toString()); |
|
|
String columnName = item.getColumnName().concat(item.getColumnNum() == NumConstant.ZERO ? StrConstant.EPMETY_STR : item.getColumnNum().toString()); |
|
|
exportItem.getItemMap().put(columnName,item); |
|
|
exportItem.getItemMap().put(columnName, item); |
|
|
if (Constant.OPITON_SOURCE_REMOTE.equals(item.getOptionSourceType())&&item.getOptionSourceValue().contains(StrConstant.QUESTION_MARK)){ |
|
|
if (Constant.OPITON_SOURCE_REMOTE.equals(item.getOptionSourceType()) && item.getOptionSourceValue().contains(StrConstant.QUESTION_MARK)) { |
|
|
//多个参数
|
|
|
//多个参数
|
|
|
String[] paramArr = item.getOptionSourceValue().split(StrConstant.QUESTION_MARK_TRANSFER)[NumConstant.ONE].split(StrConstant.AND_MARK); |
|
|
String[] paramArr = item.getOptionSourceValue().split(StrConstant.QUESTION_MARK_TRANSFER)[NumConstant.ONE].split(StrConstant.AND_MARK); |
|
|
Arrays.stream(paramArr).forEach(o->{ |
|
|
Arrays.stream(paramArr).forEach(o -> { |
|
|
FormItemResult value = allItemMap.get(o); |
|
|
FormItemResult value = allItemMap.get(o); |
|
|
if (value == null){ |
|
|
if (value == null) { |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
Set<FormItemResult> conditionSet = exportItem.getRemoteItemConditionMap().getOrDefault(item.getItemId(),new HashSet<>()); |
|
|
Set<FormItemResult> conditionSet = exportItem.getRemoteItemConditionMap().getOrDefault(item.getItemId(), new HashSet<>()); |
|
|
conditionSet.add(value); |
|
|
conditionSet.add(value); |
|
|
exportItem.getRemoteItemConditionMap().putIfAbsent(item.getItemId(),conditionSet); |
|
|
exportItem.getRemoteItemConditionMap().putIfAbsent(item.getItemId(), conditionSet); |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|