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.DATA_ANALYSE,
fi.COLUMN_NAME,
fi.COLUMN_NUM
fi.COLUMN_NUM,
fi.MULTI_SELECT
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 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
@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 去掉
tokenDto.setUserId("73ae6280e46a6653a5605d51d5462725");
tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc");
//tokenDto.setUserId("73ae6280e46a6653a5605d51d5462725");
//tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc");
pageFormDTO.setCustomerId(tokenDto.getCustomerId());
pageFormDTO.setStaffId(tokenDto.getUserId());
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.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.google.common.base.Joiner;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import lombok.extern.slf4j.Slf4j;
@ -111,6 +112,7 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
result.forEach(o -> {
List<Object> singleResult = new ArrayList<>();
Map<String,Object> originalConditionMap = new ConcurrentHashMap<>();
log.info("==========居民信息:{}",JSON.toJSONString(o));
o.forEach((key,value) -> {
List<IcCustomExportResultDTO.SqlColumn> showSqlColumns = exportConfigData.getShowSqlColumns();
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);
FormItemResult formItemResult = exportResiUserItemDTO.getItemMap().get(columnName);
if (StringUtils.isBlank(vauleStr)){
return;
}
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);
newValue = String.valueOf(o.get(columnName));
} else if (Constant.OPITON_SOURCE_LOCAL.equals(sqlColumn.getOptionSourceType())){
newValue = putOptionValue(formItemResult, vauleStr);
}
@ -178,11 +178,14 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
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) {
try {
log.info("========putRemoteValue:formItemResult:{}",e.getLabel());
log.info("========putRemoteValue:columnName:{},vauleStr:{}",columnName,vauleStr);
Map<String, IcResiUserImportServiceImpl.ColumnWrapper> columnWrappers = new HashMap<>();
if (e.getOptionSourceValue().contains(StrConstant.QUESTION_MARK)){
for (FormItemResult o : conditionItemSet) {
Object conditionValue = originalConditionMap.getOrDefault(columnName, map.get(columnName));
originalConditionMap.putIfAbsent(columnName,conditionValue.toString());
String conditionColumnName = o.getColumnNum() == NumConstant.ZERO? o.getColumnName():o.getColumnName().concat(o.getColumnNum().toString());
Object conditionValue = originalConditionMap.getOrDefault(conditionColumnName, map.get(conditionColumnName));
originalConditionMap.putIfAbsent(conditionColumnName,conditionValue.toString());
IcResiUserImportServiceImpl.ColumnWrapper value = new IcResiUserImportServiceImpl.ColumnWrapper();
value.setColValue(conditionValue.toString());
columnWrappers.put(o.getItemId(), value);
@ -197,6 +200,8 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
String[] parts = icResiUserImportService.splitOptionSourceUrl(e.getOptionSourceValue());
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())) {
remoteOptions.forEach((label, value) -> map.put(value, vauleStr.contains(value) ? StrConstant.YES : StrConstant.NO));
} 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);
}
}
@ -217,6 +222,16 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
FormItemTypeEnum itemTypeEnum = FormItemTypeEnum.getEnum(e.getItemType());
switch (itemTypeEnum) {
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()) {
return vauleStr.contains(dto.getValue()) ? StrConstant.YES : StrConstant.NO;
}
@ -246,7 +261,7 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
log.error("获取bean IcResiUserService 失败");
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, ExportResiUserItemDTO> map = new HashMap<>();
allItemMap.values().forEach(item->{

Loading…
Cancel
Save