|
|
@ -428,8 +428,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Object importExcel(String currUserAgencyId) { |
|
|
|
return imporExcel(0, 3, currUserAgencyId); |
|
|
|
public Object importIcResiInfoFromExcel(String currUserAgencyId) { |
|
|
|
return importIcResiInfoFromExcel(0, 3, currUserAgencyId); |
|
|
|
// imporExcel(1, 1);
|
|
|
|
// imporExcel(2, 1);
|
|
|
|
// imporExcel(3, 1);
|
|
|
@ -440,7 +440,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
// imporExcel(8, 1);
|
|
|
|
} |
|
|
|
|
|
|
|
private Object imporExcel(int sheetNo, int headRowNumber, String currUserAgencyId) { |
|
|
|
private Object importIcResiInfoFromExcel(int sheetNo, int headRowNumber, String currUserAgencyId) { |
|
|
|
DynamicEasyExcelListener readListener = new DynamicEasyExcelListener(); |
|
|
|
EasyExcelFactory.read(new File("/opt/test/基础信息表/resi_info.xls")).registerReadListener(readListener).headRowNumber(3).sheet(sheetNo).doRead(); |
|
|
|
|
|
|
@ -476,7 +476,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
Map<String, ColumnWrapper> headerColumnWrapper = integrate(formItemMap, combinedHeaders, dataList, abandonedHeaders); |
|
|
|
|
|
|
|
// 持久化
|
|
|
|
persist(headerColumnWrapper, dataList, currUserAgencyId, abandonedHeaders); |
|
|
|
persist(headerColumnWrapper, dataList, currUserAgencyId, abandonedHeaders, customerItems.get(0).getTableName()); |
|
|
|
|
|
|
|
return headerColumnWrapper; |
|
|
|
} |
|
|
@ -488,12 +488,18 @@ 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, String currUserAgencyId, Map<Integer, String> checkBoxOptionColumnIdxAndLabel) { |
|
|
|
private void persist(Map<String, ColumnWrapper> headerColumnWrapper, List<Map<Integer, String>> dataRows, |
|
|
|
String currUserAgencyId, Map<Integer, String> checkBoxOptionColumnIdxAndLabel, String tableName) { |
|
|
|
for (Map<Integer, String> row : dataRows) { |
|
|
|
|
|
|
|
// 当前行的列们
|
|
|
|
// List<ColumnWrapper> columnsOfCurrRow = new ArrayList<>();
|
|
|
|
|
|
|
|
List<String> columnNames = new ArrayList<>(); |
|
|
|
List<String> columnValues = new ArrayList<>(); |
|
|
|
|
|
|
|
for (Map.Entry<String, ColumnWrapper> columnWrapperEntry : headerColumnWrapper.entrySet()) { |
|
|
|
|
|
|
|
String itemId = columnWrapperEntry.getKey(); |
|
|
|
ColumnWrapper columnWrapper = columnWrapperEntry.getValue(); |
|
|
|
if ("input".equals(columnWrapper.getItemType()) |
|
|
|
|| "textarea".equals(columnWrapper.getItemType()) |
|
|
@ -512,7 +518,9 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
// 取单元格的内容
|
|
|
|
String cellContent = row.get(columnWrapper.getColIndexs().get(0)); |
|
|
|
columnWrapper.setCellContent(cellContent); |
|
|
|
|
|
|
|
if (columnWrapper.combinedLabel.equals("家庭信息:与户主关系")) { |
|
|
|
System.out.println(6); |
|
|
|
} |
|
|
|
if ("local".equals(optionSourceType)) { |
|
|
|
// 根据单元格内容,取到指定的option
|
|
|
|
Map<String, String> options = columnWrapper.getOptions(); |
|
|
@ -529,10 +537,17 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
String checkBoxColValue = getCheckBoxColValue(columnWrapper, row, checkBoxOptionColumnIdxAndLabel); |
|
|
|
columnWrapper.setColValue(checkBoxColValue); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
columnNames.add(columnWrapper.getColumnName()); |
|
|
|
columnValues.add(columnWrapper.getColValue()); |
|
|
|
} |
|
|
|
|
|
|
|
// String columnNamesStr = String.join(",", columnNames);
|
|
|
|
// String columnValuesStr = String.join(",", columnValues);
|
|
|
|
|
|
|
|
// log.info("tableName:{}, columnNamesStr: {}, columnNamesStr: {}", tableName, columnNamesStr, columnValuesStr);
|
|
|
|
System.out.println(columnNames); |
|
|
|
System.out.println(columnValues); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -545,7 +560,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
* @date 2021.10.28 21:27:18 |
|
|
|
*/ |
|
|
|
private HashMap<String, List<Integer>> combineHeaders(Map<Integer, List<String>> headers) { |
|
|
|
HashMap<String, List<Integer>> itemAndColIndexs = new HashMap<>(); |
|
|
|
HashMap<String, List<Integer>> itemAndColIndexs = new LinkedHashMap<>(); |
|
|
|
|
|
|
|
headers.forEach((k, v) -> { |
|
|
|
String tempKey = String.join(":", v); |
|
|
@ -561,7 +576,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @description 清洗headers |
|
|
|
* @description 洗头 |
|
|
|
* |
|
|
|
* @param headers |
|
|
|
* @param items |
|
|
@ -577,7 +592,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
List<String> v = entry.getValue(); |
|
|
|
int lastPartIndex = v.size() - 1; |
|
|
|
String lastValuePart = v.get(lastPartIndex); |
|
|
|
if (itemLabels.indexOf(lastValuePart) == -1) { |
|
|
|
if (!itemLabels.contains(lastValuePart)) { |
|
|
|
// 该部分为options,它的上一级是item,那么去掉options这一级
|
|
|
|
v.remove(lastPartIndex); |
|
|
|
abandonedHeaders.put(colIdx, lastValuePart); |
|
|
@ -598,7 +613,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
List<Map<Integer, String>> datas, Map<Integer, String> abandonedHeaders) { |
|
|
|
|
|
|
|
// HashMap<String, List<ColumnWrapper>> tables = new HashMap<>();
|
|
|
|
Map<String, ColumnWrapper> columns = new HashMap<>(combinedHeaders.size()); |
|
|
|
Map<String, ColumnWrapper> columns = new LinkedHashMap<>(combinedHeaders.size()); |
|
|
|
|
|
|
|
for (Map.Entry<String, List<Integer>> entry : combinedHeaders.entrySet()) { |
|
|
|
String combinedHeader = entry.getKey(); |
|
|
@ -662,7 +677,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
private Map<String, String> listRemoteOptions(Map<String, ColumnWrapper> columnWrappers, String fullUri, String currUserAgencyId) { |
|
|
|
String pureUri = null; |
|
|
|
String cascadeItemId = null; |
|
|
|
String cascadeItemColumnValue = null; |
|
|
|
ColumnWrapper cascadeItemColumnWrapper = null; |
|
|
|
|
|
|
|
if (fullUri.indexOf("?") != -1) { |
|
|
|
String[] uriParts = fullUri.split("\\?"); |
|
|
@ -670,8 +685,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
cascadeItemId = uriParts[1]; |
|
|
|
|
|
|
|
// 根据uri上的id,找到关联的itemid,从而找到关联的item的值
|
|
|
|
ColumnWrapper cascadeItemColumnWrapper = columnWrappers.get(cascadeItemId); |
|
|
|
cascadeItemColumnValue = cascadeItemColumnWrapper.getColValue(); |
|
|
|
cascadeItemColumnWrapper = columnWrappers.get(cascadeItemId); |
|
|
|
} else { |
|
|
|
pureUri = fullUri; |
|
|
|
} |
|
|
@ -691,28 +705,28 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
case "/gov/org/customerpartybranch/branchoption": |
|
|
|
|
|
|
|
CustomerPartyBranchDTO bform = new CustomerPartyBranchDTO(); |
|
|
|
bform.setGridId(cascadeItemColumnValue); |
|
|
|
bform.setGridId(cascadeItemColumnWrapper.getColValue()); |
|
|
|
options = getResultDataOrThrowsException(govOrgOpenFeignClient.getBranchOption(bform), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null); |
|
|
|
break; |
|
|
|
case "/gov/org/icbuilding/buildingoption": |
|
|
|
IcBuildingDTO buildingform = new IcBuildingDTO(); |
|
|
|
buildingform.setNeighborHoodId(cascadeItemColumnValue); |
|
|
|
buildingform.setNeighborHoodId(cascadeItemColumnWrapper.getColValue()); |
|
|
|
options = getResultDataOrThrowsException(govOrgOpenFeignClient.getBuildingOptions(buildingform), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null); |
|
|
|
break; |
|
|
|
case "/gov/org/icbuildingunit/unitoption": |
|
|
|
IcBuildingUnitDTO buForm = new IcBuildingUnitDTO(); |
|
|
|
buForm.setBuildingId(cascadeItemColumnValue); |
|
|
|
buForm.setBuildingId(cascadeItemColumnWrapper.getColValue()); |
|
|
|
options = getResultDataOrThrowsException(govOrgOpenFeignClient.getUnitOptions(buForm), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null); |
|
|
|
break; |
|
|
|
case "/gov/org/ichouse/houseoption": |
|
|
|
HouseFormDTO hform = new HouseFormDTO(); |
|
|
|
hform.setUnitId(cascadeItemColumnValue); |
|
|
|
hform.setUnitId(cascadeItemColumnWrapper.getColValue()); |
|
|
|
options = getResultDataOrThrowsException(govOrgOpenFeignClient.getHouseOption(hform), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null); |
|
|
|
break; |
|
|
|
case "/gov/org/icneighborhood/neighborhoodoption": |
|
|
|
IcNeighborHoodDTO nform = new IcNeighborHoodDTO(); |
|
|
|
nform.setAgencyId(currUserAgencyId); |
|
|
|
nform.setGridId(cascadeItemId); |
|
|
|
nform.setGridId(cascadeItemColumnWrapper.getColValue()); |
|
|
|
options = getResultDataOrThrowsException(govOrgOpenFeignClient.getNeighborHoodOptions(nform), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null); |
|
|
|
break; |
|
|
|
case "/sys/dict/data/education": |
|
|
|