Browse Source

添加多选

release
jianjun 3 years ago
parent
commit
329d8ac9e1
  1. 3
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormDao.xml
  2. 6
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  3. 31
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java

3
epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormDao.xml

@ -232,7 +232,8 @@
fi.LIST_DISPLAY, fi.LIST_DISPLAY,
fi.DATA_ANALYSE, fi.DATA_ANALYSE,
fi.COLUMN_NAME, fi.COLUMN_NAME,
fi.COLUMN_NUM fi.COLUMN_NUM,
fi.MULTI_SELECT
FROM ic_form_item fi FROM ic_form_item fi
left join ic_form_item_group g on (fi.ITEM_GROUP_ID = g.ID and fi.DEL_FLAG = 0 and g.DEL_FLAG = 0) left join ic_form_item_group g on (fi.ITEM_GROUP_ID = g.ID and fi.DEL_FLAG = 0 and g.DEL_FLAG = 0)
left join ic_form_item pitem on (pitem.DEL_FLAG = 0 and fi.PARENT_ITEM_ID = pitem.ID) left join ic_form_item pitem on (pitem.DEL_FLAG = 0 and fi.PARENT_ITEM_ID = pitem.ID)

6
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

@ -414,10 +414,10 @@ public class IcResiUserController implements ResultDataResolver {
*/ */
@NoRepeatSubmit @NoRepeatSubmit
@RequestMapping(value = "/exportExcelCustom") @RequestMapping(value = "/exportExcelCustom")
public void exportExcelCustom(/*@LoginUser*/ TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response) throws Exception { public void exportExcelCustom(@LoginUser TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response) throws Exception {
//TODO 去掉 //TODO 去掉
tokenDto.setUserId("73ae6280e46a6653a5605d51d5462725"); //tokenDto.setUserId("73ae6280e46a6653a5605d51d5462725");
tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc"); //tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc");
pageFormDTO.setCustomerId(tokenDto.getCustomerId()); pageFormDTO.setCustomerId(tokenDto.getCustomerId());
pageFormDTO.setStaffId(tokenDto.getUserId()); pageFormDTO.setStaffId(tokenDto.getUserId());
ValidatorUtils.validateEntity(pageFormDTO, IcResiUserPageFormDTO.AddUserInternalGroup.class,ExportGroup.class); ValidatorUtils.validateEntity(pageFormDTO, IcResiUserPageFormDTO.AddUserInternalGroup.class,ExportGroup.class);

31
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java

@ -30,6 +30,7 @@ import com.epmet.service.IcResiUserImportService;
import com.epmet.service.IcResiUserService; import com.epmet.service.IcResiUserService;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.google.common.base.Joiner;
import com.google.common.cache.Cache; import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheBuilder;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -111,6 +112,7 @@ 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<>();
log.info("==========居民信息:{}",JSON.toJSONString(o));
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));
@ -130,12 +132,10 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
ExportResiUserItemDTO exportResiUserItemDTO = itemOriginMap.get(tableName); ExportResiUserItemDTO exportResiUserItemDTO = itemOriginMap.get(tableName);
FormItemResult formItemResult = exportResiUserItemDTO.getItemMap().get(columnName); FormItemResult formItemResult = exportResiUserItemDTO.getItemMap().get(columnName);
if (StringUtils.isBlank(vauleStr)){
return;
}
String newValue = vauleStr; String newValue = vauleStr;
if (Constant.OPITON_SOURCE_REMOTE.equals(sqlColumn.getOptionSourceType())) { 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));
} 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);
} }
@ -178,11 +178,14 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
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 {
log.info("========putRemoteValue:formItemResult:{}",e.getLabel());
log.info("========putRemoteValue:columnName:{},vauleStr:{}",columnName,vauleStr);
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) {
Object conditionValue = originalConditionMap.getOrDefault(columnName, map.get(columnName)); String conditionColumnName = o.getColumnNum() == NumConstant.ZERO? o.getColumnName():o.getColumnName().concat(o.getColumnNum().toString());
originalConditionMap.putIfAbsent(columnName,conditionValue.toString()); Object conditionValue = originalConditionMap.getOrDefault(conditionColumnName, map.get(conditionColumnName));
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);
@ -197,6 +200,8 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
String[] parts = icResiUserImportService.splitOptionSourceUrl(e.getOptionSourceValue()); String[] parts = icResiUserImportService.splitOptionSourceUrl(e.getOptionSourceValue());
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");
log.info("========putRemoteValue:条件:{}", JSON.toJSONString(columnWrappers));
log.info("========putRemoteValue:结果:{}", JSON.toJSONString(remoteOptions));
if (FormItemTypeEnum.CHECKBOX.getCode().equals(e.getItemType())) { if (FormItemTypeEnum.CHECKBOX.getCode().equals(e.getItemType())) {
remoteOptions.forEach((label, value) -> map.put(value, vauleStr.contains(value) ? StrConstant.YES : StrConstant.NO)); remoteOptions.forEach((label, value) -> map.put(value, vauleStr.contains(value) ? StrConstant.YES : StrConstant.NO));
} else if (FormItemTypeEnum.SELECT.getCode().equals(e.getItemType())) { } else if (FormItemTypeEnum.SELECT.getCode().equals(e.getItemType())) {
@ -208,7 +213,7 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
}); });
} }
} }
} catch (Exception ex) { } catch (Exception ex) {
log.error("listRemoteOptions url", ex); log.error("listRemoteOptions url", ex);
} }
} }
@ -217,6 +222,16 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
FormItemTypeEnum itemTypeEnum = FormItemTypeEnum.getEnum(e.getItemType()); FormItemTypeEnum itemTypeEnum = FormItemTypeEnum.getEnum(e.getItemType());
switch (itemTypeEnum) { switch (itemTypeEnum) {
case CHECKBOX: case CHECKBOX:
if (e.getMultiSelect()){
List<String> valueList = new ArrayList<>();
e.getOptions().forEach(option->{
if (vauleStr.contains(option.getValue())){
valueList.add(option.getLabel());
}
});
return Joiner.on(",").join(valueList);
}
for (OptionDTO dto : e.getOptions()) { for (OptionDTO dto : e.getOptions()) {
return vauleStr.contains(dto.getValue()) ? StrConstant.YES : StrConstant.NO; return vauleStr.contains(dto.getValue()) ? StrConstant.YES : StrConstant.NO;
} }
@ -246,7 +261,7 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
log.error("获取bean IcResiUserService 失败"); log.error("获取bean IcResiUserService 失败");
return null; return null;
} }
List<FormItemResult> resiFormAllItems = 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->{

Loading…
Cancel
Save