|
|
@ -29,6 +29,7 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; |
|
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
|
import com.epmet.commons.tools.page.PageData; |
|
|
|
import com.epmet.commons.tools.security.dto.TokenDto; |
|
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
|
import com.epmet.commons.tools.utils.ExcelUtils; |
|
|
|
import com.epmet.commons.tools.utils.Result; |
|
|
|
import com.epmet.commons.tools.validator.ValidatorUtils; |
|
|
@ -327,32 +328,84 @@ 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); |
|
|
|
//PageData<Map<String, Object>> mapPageData = icResiUserService.pageResiMap(pageFormDTO);
|
|
|
|
//List<Map<String, Object>> list = mapPageData.getList();
|
|
|
|
List<Map<String, Object>> list = icResiUserService.getDataForExport(pageFormDTO.getCustomerId(), pageFormDTO.getFormCode(), BASE_TABLE_NAME, pageFormDTO.getConditions()); |
|
|
|
//list = (List<Map<String, Object>>)JSON.parse("[{\"IS_BDHJ\":\"1\",\"IS_SPECIAL\":\"1\",\"IS_XFRY\":\"0\",\"REMARKS\":\"beizhu\",\"IS_PARTY\":\"1\",\"icResiUserId\":\"yzmtest2\",\"HOME_ID\":\"中海国际社区一里城1号楼1单元101\",\"HOUSE_TYPE\":\"平房\",\"UNIT_NAME\":\"1单元\",\"GRID_ID\":\"市北区-市北区第三网格3\",\"IS_DB\":\"0\",\"GENDER\":\"男\",\"BIRTHDAY\":\"2021-10-04\",\"IS_VETERANS\":\"0\",\"IS_MB\":\"0\",\"IS_UNEMPLOYED\":\"0\",\"DEMAND_NAME\":null,\"IS_KC\":\"0\",\"IS_ENSURE_HOUSE\":\"0\",\"IS_SD\":\"0\",\"NAME\":\"尹作梅\",\"RDSJ\":null,\"IS_VOLUNTEER\":\"1\",\"GRID_ID_VALUE\":\"e74829ffc43d5470eba6b5e060c11e63\",\"IS_SZ\":\"0\",\"IS_CJ\":\"0\",\"HOME_ID_VALUE\":\"200\",\"DEMAND_CATEGORY_IDS\":null,\"VILLAGE_NAME\":\"中海国际社区一里城\",\"IS_DBH\":\"0\",\"IS_SN\":\"0\",\"BUILD_NAME\":\"1号楼\",\"IS_YLFN\":\"0\",\"IS_UNITED_FRONT\":\"0\",\"ID_CARD\":\"371325199310260529\",\"MOBILE\":\"15764229697\",\"IS_OLD_PEOPLE\":\"0\",\"DOOR_NAME\":\"101\"},{\"IS_SPECIAL\":\"1\",\"IS_XFRY\":\"0\",\"REMARKS\":\"beizhu\",\"IS_PARTY\":\"1\",\"icResiUserId\":\"yzmtest\",\"HOME_ID\":\"中海国际社区一里城1号楼1单元101\",\"HOUSE_TYPE\":\"平房\",\"UNIT_NAME\":\"1单元\",\"GRID_ID\":\"市北区-市北区第三网格3\",\"IS_DB\":\"0\",\"GENDER\":\"男\",\"BIRTHDAY\":\"2021-10-04\",\"IS_VETERANS\":\"0\",\"IS_MB\":\"0\",\"IS_UNEMPLOYED\":\"0\",\"DEMAND_NAME\":\"心理咨询\",\"IS_KC\":\"0\",\"IS_ENSURE_HOUSE\":\"0\",\"IS_SD\":\"0\",\"NAME\":\"尹作梅\",\"RDSJ\":\"2021-10-28 00:00:00\",\"IS_VOLUNTEER\":\"1\",\"GRID_ID_VALUE\":\"e74829ffc43d5470eba6b5e060c11e63\",\"IS_SZ\":\"0\",\"IS_CJ\":\"0\",\"HOME_ID_VALUE\":\"200\",\"DEMAND_CATEGORY_IDS\":\"10180002\",\"VILLAGE_NAME\":\"中海国际社区一里城\",\"IS_DBH\":\"0\",\"IS_SN\":\"0\",\"BUILD_NAME\":\"1号楼\",\"IS_YLFN\":\"0\",\"IS_UNITED_FRONT\":\"0\",\"ID_CARD\":\"371325199310260529\",\"MOBILE\":\"15764229697\",\"IS_OLD_PEOPLE\":\"0\",\"DOOR_NAME\":\"101\"}]");
|
|
|
|
log.info("list:{}", JSON.toJSONString(list)); |
|
|
|
CustomerFormResultDTO resiFormItems = getResiFormItems(pageFormDTO.getCustomerId()); |
|
|
|
/* Map<String,List<OptionDTO>> checkListMap = new HashMap<>(); |
|
|
|
for (FormItem item : resiFormItems.getItemList()) { |
|
|
|
|
|
|
|
if ("checkbox".equals(item.getItemType())) { |
|
|
|
List<OptionDTO> options = null; |
|
|
|
if ("remote".equals(item.getOptionSourceType())) { |
|
|
|
|
|
|
|
} else if ("local".equals(item.getOptionSourceType())) { |
|
|
|
options = item.getOptions(); |
|
|
|
} |
|
|
|
checkListMap.put(item.getColumnName().concat(item.getColumnNum().equals(0) ? "" : item.getColumnNum().toString()), options); |
|
|
|
} |
|
|
|
}*/ |
|
|
|
|
|
|
|
CustomerFormResultDTO resiFormItems = getResiFormItems(pageFormDTO.getCustomerId()); |
|
|
|
//PageData<Map<String, Object>> mapPageData = icResiUserService.pageResiMap(pageFormDTO);
|
|
|
|
//List<Map<String, Object>> resiMainList = mapPageData.getList();
|
|
|
|
Map<String, FormItem> itemMap = new HashMap<>(); |
|
|
|
for (FormItem formItem : resiFormItems.getItemList()) { |
|
|
|
if (StringUtils.isNotBlank(formItem.getColumnName())){ |
|
|
|
itemMap.put(formItem.getColumnName().concat(formItem.getColumnNum() == 0 ? "" : formItem.getColumnNum().toString()), formItem); |
|
|
|
} |
|
|
|
if (formItem.getChildGroup() != null) { |
|
|
|
for (FormItem2 item2 : formItem.getChildGroup().getItemList()) { |
|
|
|
if (item2.getItemType().equals("checkbox")) { |
|
|
|
itemMap.put(item2.getColumnName().concat(item2.getColumnNum() == 0 ? "" : item2.getColumnNum().toString()), ConvertUtils.sourceToTarget(item2,FormItem.class)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
for (FormGroupDTO groupItem : resiFormItems.getGroupList()) { |
|
|
|
if (groupItem.getItemList() != null) { |
|
|
|
for (FormItem2 item : groupItem.getItemList()) { |
|
|
|
if (StringUtils.isBlank(item.getColumnName())){ |
|
|
|
continue; |
|
|
|
} |
|
|
|
System.out.println(item.getColumnName()+item.getColumnNum()); |
|
|
|
itemMap.put(item.getColumnName().concat(item.getColumnNum() == 0 ? "" : item.getColumnNum().toString()), ConvertUtils.sourceToTarget(item,FormItem.class)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
Map<String,Map<String, Object>> resiMainList = icResiUserService.getDataForExport(itemMap,pageFormDTO.getCustomerId(), pageFormDTO.getFormCode(), BASE_TABLE_NAME, pageFormDTO.getConditions()); |
|
|
|
//resiMainList = (List<Map<String, Object>>)JSON.parse("[{\"IS_BDHJ\":\"1\",\"IS_SPECIAL\":\"1\",\"IS_XFRY\":\"0\",\"REMARKS\":\"beizhu\",\"IS_PARTY\":\"1\",\"icResiUserId\":\"yzmtest2\",\"HOME_ID\":\"中海国际社区一里城1号楼1单元101\",\"HOUSE_TYPE\":\"平房\",\"UNIT_NAME\":\"1单元\",\"GRID_ID\":\"市北区-市北区第三网格3\",\"IS_DB\":\"0\",\"GENDER\":\"男\",\"BIRTHDAY\":\"2021-10-04\",\"IS_VETERANS\":\"0\",\"IS_MB\":\"0\",\"IS_UNEMPLOYED\":\"0\",\"DEMAND_NAME\":null,\"IS_KC\":\"0\",\"IS_ENSURE_HOUSE\":\"0\",\"IS_SD\":\"0\",\"NAME\":\"尹作梅\",\"RDSJ\":null,\"IS_VOLUNTEER\":\"1\",\"GRID_ID_VALUE\":\"e74829ffc43d5470eba6b5e060c11e63\",\"IS_SZ\":\"0\",\"IS_CJ\":\"0\",\"HOME_ID_VALUE\":\"200\",\"DEMAND_CATEGORY_IDS\":null,\"VILLAGE_NAME\":\"中海国际社区一里城\",\"IS_DBH\":\"0\",\"IS_SN\":\"0\",\"BUILD_NAME\":\"1号楼\",\"IS_YLFN\":\"0\",\"IS_UNITED_FRONT\":\"0\",\"ID_CARD\":\"371325199310260529\",\"MOBILE\":\"15764229697\",\"IS_OLD_PEOPLE\":\"0\",\"DOOR_NAME\":\"101\"},{\"IS_SPECIAL\":\"1\",\"IS_XFRY\":\"0\",\"REMARKS\":\"beizhu\",\"IS_PARTY\":\"1\",\"icResiUserId\":\"yzmtest\",\"HOME_ID\":\"中海国际社区一里城1号楼1单元101\",\"HOUSE_TYPE\":\"平房\",\"UNIT_NAME\":\"1单元\",\"GRID_ID\":\"市北区-市北区第三网格3\",\"IS_DB\":\"0\",\"GENDER\":\"男\",\"BIRTHDAY\":\"2021-10-04\",\"IS_VETERANS\":\"0\",\"IS_MB\":\"0\",\"IS_UNEMPLOYED\":\"0\",\"DEMAND_NAME\":\"心理咨询\",\"IS_KC\":\"0\",\"IS_ENSURE_HOUSE\":\"0\",\"IS_SD\":\"0\",\"NAME\":\"尹作梅\",\"RDSJ\":\"2021-10-28 00:00:00\",\"IS_VOLUNTEER\":\"1\",\"GRID_ID_VALUE\":\"e74829ffc43d5470eba6b5e060c11e63\",\"IS_SZ\":\"0\",\"IS_CJ\":\"0\",\"HOME_ID_VALUE\":\"200\",\"DEMAND_CATEGORY_IDS\":\"10180002\",\"VILLAGE_NAME\":\"中海国际社区一里城\",\"IS_DBH\":\"0\",\"IS_SN\":\"0\",\"BUILD_NAME\":\"1号楼\",\"IS_YLFN\":\"0\",\"IS_UNITED_FRONT\":\"0\",\"ID_CARD\":\"371325199310260529\",\"MOBILE\":\"15764229697\",\"IS_OLD_PEOPLE\":\"0\",\"DOOR_NAME\":\"101\"}]");
|
|
|
|
log.info("resiMainList:{}", JSON.toJSONString(resiMainList)); |
|
|
|
String templatePath = "excel/ic_resi_info_cid.xls"; |
|
|
|
TemplateExportParams params = new TemplateExportParams(templatePath,true); |
|
|
|
|
|
|
|
Map<Integer,Map<String,Object>> sheetMap = new HashMap<>(); |
|
|
|
Map<String, Object> mapData = new HashMap<>(); |
|
|
|
mapData.put("list", list); |
|
|
|
mapData.put("list", resiMainList.values()); |
|
|
|
sheetMap.put(0,mapData); |
|
|
|
AtomicInteger n = new AtomicInteger(); |
|
|
|
resiFormItems.getItemList().forEach(item->{ |
|
|
|
if (item.getChildGroup() != null){ |
|
|
|
for (FormItem item : resiFormItems.getItemList()) { |
|
|
|
|
|
|
|
|
|
|
|
if (item.getChildGroup() != null) { |
|
|
|
if (!item.getChildGroup().getTableName().equals(BASE_TABLE_NAME)) { |
|
|
|
sheetMap.put(n.incrementAndGet() ,mapData); |
|
|
|
//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)); |
|
|
|
}); |
|
|
|
|
|
|
|
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); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
Workbook workbook = ExcelExportUtil.exportExcel(sheetMap, params); |
|
|
|
workbook.setActiveSheet(0); |
|
|
@ -392,4 +445,29 @@ public class IcResiUserController { |
|
|
|
formDTO.getResultTableName(), |
|
|
|
formDTO.getConditions())); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Description 查询个人数据 |
|
|
|
* @param formDTO |
|
|
|
* @author zxc |
|
|
|
* @date 2021/11/3 9:21 上午 |
|
|
|
*/ |
|
|
|
@PostMapping("persondata") |
|
|
|
public Result<PersonDataResultDTO> personData(@RequestBody PersonDataFormDTO formDTO){ |
|
|
|
return new Result<PersonDataResultDTO>().ok(icResiUserService.personData(formDTO)); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Description 根据名字搜索 |
|
|
|
* @param formDTO |
|
|
|
* @param tokenDto |
|
|
|
* @author zxc |
|
|
|
* @date 2021/11/3 1:42 下午 |
|
|
|
*/ |
|
|
|
@PostMapping("searchbyname") |
|
|
|
public Result<List<SearchByNameResultDTO>> searchByName(@RequestBody SearchByNameFormDTO formDTO, @LoginUser TokenDto tokenDto){ |
|
|
|
ValidatorUtils.validateEntity(formDTO, SearchByNameFormDTO.SearchByNameForm.class); |
|
|
|
return new Result<List<SearchByNameResultDTO>>().ok(icResiUserService.searchByName(formDTO,tokenDto)); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|