Browse Source

处理部分remote

dev_shibei_match
jianjun 5 years ago
parent
commit
b3b9bee282
  1. 12
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  2. 62
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  3. BIN
      epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid.xls

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

@ -329,14 +329,13 @@ public class IcResiUserController {
@RequestMapping(value = "/exportExcel")
public void exportExcel(/*@LoginUser TokenDto tokenDto,*/ @RequestBody IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response) throws IOException {
pageFormDTO.setCustomerId("45687aa479955f9d06204d415238f7cc");
pageFormDTO.setPageFlag(false);
CustomerFormResultDTO resiFormItems = getResiFormItems(pageFormDTO.getCustomerId());
Map<String, FormItem> itemMap = new HashMap<>();
for (FormItem formItem : resiFormItems.getItemList()) {
if (StringUtils.isNotBlank(formItem.getColumnName())){
if (StringUtils.isBlank(formItem.getColumnName())){
continue;
}
if (formItem.getItemType().equals("checkbox") || formItem.getItemType().equals("select")){
@ -344,7 +343,7 @@ public class IcResiUserController {
}
if (formItem.getChildGroup() != null) {
for (FormItem2 item2 : formItem.getChildGroup().getItemList()) {
if (StringUtils.isNotBlank(item2.getColumnName())){
if (StringUtils.isBlank(item2.getColumnName())){
continue;
}
if (item2.getItemType().equals("checkbox") || item2.getItemType().equals("select")){
@ -357,7 +356,7 @@ public class IcResiUserController {
for (FormGroupDTO groupItem : resiFormItems.getGroupList()) {
if (groupItem.getItemList() != null) {
for (FormItem2 item : groupItem.getItemList()) {
if (StringUtils.isNotBlank(item.getColumnName())){
if (StringUtils.isBlank(item.getColumnName())){
continue;
}
if (item.getItemType().equals("checkbox") || item.getItemType().equals("select")){
@ -383,10 +382,6 @@ public class IcResiUserController {
if (item.getChildGroup() != null) {
if (!item.getChildGroup().getTableName().equals(BASE_TABLE_NAME)) {
//itemMap = item.getChildGroup().getItemList().stream().filter(o -> o.getItemType().equals("checkbox")).collect(Collectors.toMap(o -> o.getColumnName().concat(o.getColumnNum() == 0 ? "" : o.getColumnNum().toString()), o -> ConvertUtils.sourceToTarget(o,FormItem.class)));
Map<String,Map<String, Object>> resiChildMap = icResiUserService.getDataForExport(itemMap, pageFormDTO.getCustomerId(), pageFormDTO.getFormCode(), item.getChildGroup().getTableName(), pageFormDTO.getConditions());
resiChildMap.forEach((key,value)->{
value.putAll(resiMainList.get(key));
@ -394,7 +389,6 @@ public class IcResiUserController {
Map<String, Object> mapData2 = new HashMap<>();
mapData2.put("list", resiChildMap.values());
System.out.println("========="+item.getChildGroup().getTableName()+" data:"+resiChildMap.size());
sheetMap.put(n.incrementAndGet(),mapData2);
}
}

62
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

@ -92,10 +92,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
@Autowired
private EpmetAdminOpenFeignClient adminOpenFeignClient;
@Autowired
private LoginUserUtil loginUserUtil;
@Override
public PageData<IcResiUserDTO> page(Map<String, Object> params) {
IPage<IcResiUserEntity> page = baseDao.selectPage(
@ -534,11 +534,11 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
* @param currUserAgencyId 当前用户的组织id
* @param checkBoxOptionColumnIdxAndLabel 复选框的列号&label中文
*/
private void persist(Map<String, ColumnWrapper> headerColumnWrapper, List<Map<Integer, String>> dataRows,
private void persist(Map<String, ColumnWrapper> headerColumnWrapper, List<Map<Integer, String>> dataRows,
String currUserAgencyId, Map<Integer, String> checkBoxOptionColumnIdxAndLabel, String tableName,
String currUserAgencyPids, String currentUserId) {
for (Map<Integer, String> row : dataRows) {
// 当前行的列们
// List<ColumnWrapper> columnsOfCurrRow = new ArrayList<>();
@ -594,7 +594,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
columnAndValues.put("IS_UNITED_FRONT", "0");
columnAndValues.put("IS_VETERANS", "0");
columnAndValues.put("IS_VOLUNTEER", "0");
columnAndValues.put("AGENCY_ID", currUserAgencyId);
columnAndValues.put("PIDS", currUserAgencyPids);
columnAndValues.put("CUSTOMER_ID", loginUserUtil.getCurrentCustomerId());
@ -607,7 +607,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
// });
// System.out.println("-------------------");
baseDao.add(tableName, columnAndValues);
}
}
@ -745,7 +745,9 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
cascadeItemId = uriParts[1];
// 根据uri上的id,找到关联的itemid,从而找到关联的item的值
cascadeItemColumnWrapper = columnWrappers.get(cascadeItemId);
if (columnWrappers != null){
cascadeItemColumnWrapper = columnWrappers.get(cascadeItemId);
}
} else {
pureUri = fullUri;
}
@ -1037,24 +1039,45 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
Map<String, Map<String, Object>> result = new LinkedHashMap<>();
mapList.stream().filter(Objects::nonNull).forEach(map -> {
String resiId = (String) map.getOrDefault(UserConstant.IC_RESI_USER, "");
formItemMap.forEach((k, v)->{
for (Map.Entry<String, FormItem> e : formItemMap.entrySet()) {
String k = e.getKey();
FormItem v = e.getValue();
Object temp = map.get(k);
if (temp != null) {
if (v.getOptionSourceType().equals("remote")) {
//todo 获取 options
}
if (v.getItemType().equals("checkbox")) {
v.getOptions().forEach(optionDTO -> {
map.put(optionDTO.getValue(), temp.toString().contains(optionDTO.getValue()) ? "是" : "否");
});
} else if (v.getItemType().equals("select")) {
v.getOptions().forEach(optionDTO -> {
map.put(optionDTO.getValue(), temp.toString().equals(optionDTO.getValue()) ? optionDTO.getLabel() : "");
});
try {
//todo 获取 options
Map<String, String> stringMap = listRemoteOptions(new HashMap<>(), v.getOptionSourceValue(), null);
System.out.println("======remote:"+v.getLabel()+" "+JSON.toJSONString(stringMap));
if ("checkbox".equals(v.getItemType())) {
stringMap.forEach((label, value) -> map.put(value, temp.toString().contains(value) ? "是" : "否"));
} else if ("select".equals(v.getItemType())) {
stringMap.forEach((label,value)->{
if (temp.toString().equals(value)){
map.put(k, label);
}
});
}
} catch (Exception ex) {
log.warn("listRemoteOptions url:{}",v.getOptionSourceValue());
}
} else {
if ("checkbox".equals(v.getItemType())) {
v.getOptions().forEach(optionDTO -> {
map.put(optionDTO.getValue(), temp.toString().contains(optionDTO.getValue()) ? "是" : "否");
});
} else if ("select".equals(v.getItemType())) {
v.getOptions().forEach(optionDTO -> {
if (optionDTO.getLabel().equals(temp.toString())){
map.put(k, optionDTO.getLabel());
}
});
}
}
}
});
}
if ("ic_resi_user".equals(baseTableName)) {
resiId = (String) map.get("ID");
}
@ -1085,6 +1108,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
map.put("VILLAGE_NAME", houseInfoDTO.getNeighborHoodName());
map.put("BUILD_NAME", houseInfoDTO.getBuildingName());
map.put("HOME_ID", houseInfoDTO.getDoorName());
map.put("UNIT_ID", houseInfoDTO.getUnitName());
}
}

BIN
epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid.xls

Binary file not shown.
Loading…
Cancel
Save