diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index da8c7a99eb..42f32d5d53 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -376,6 +376,11 @@ public class IcResiUserController { } + /** + * excel导入居民基本信息 + * @param loginUser + * @return + */ @PostMapping("import/excel") public Result importExcelByEasyExcel(@LoginUser TokenDto loginUser) { @@ -386,7 +391,7 @@ public class IcResiUserController { Result loginUserDetails = epmetUserOpenFeignClient.getLoginUserDetails(userForm); - Object result = icResiUserService.importExcel(loginUserDetails.getData().getAgencyId()); + Object result = icResiUserService.importIcResiInfoFromExcel(loginUserDetails.getData().getAgencyId()); return new Result().ok(result); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java index 3cb0adcff7..bac64e47b3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java @@ -128,7 +128,7 @@ public interface IcResiUserService extends BaseService { */ Map queryIcResiDetail(IcResiDetailFormDTO pageFormDTO); - Object importExcel(String currUserAgencyId); + Object importIcResiInfoFromExcel(String currUserAgencyId); List> dynamicQuery(String customerId, String formCode, diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 24a3c6f1d7..ec98e3346d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -428,8 +428,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl 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 headerColumnWrapper, List> dataRows, String currUserAgencyId, Map checkBoxOptionColumnIdxAndLabel) { + private void persist(Map headerColumnWrapper, List> dataRows, + String currUserAgencyId, Map checkBoxOptionColumnIdxAndLabel, String tableName) { for (Map row : dataRows) { + // 当前行的列们 +// List columnsOfCurrRow = new ArrayList<>(); + + List columnNames = new ArrayList<>(); + List columnValues = new ArrayList<>(); + for (Map.Entry 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 options = columnWrapper.getOptions(); @@ -529,10 +537,17 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> combineHeaders(Map> headers) { - HashMap> itemAndColIndexs = new HashMap<>(); + HashMap> itemAndColIndexs = new LinkedHashMap<>(); headers.forEach((k, v) -> { String tempKey = String.join(":", v); @@ -561,7 +576,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl 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> datas, Map abandonedHeaders) { // HashMap> tables = new HashMap<>(); - Map columns = new HashMap<>(combinedHeaders.size()); + Map columns = new LinkedHashMap<>(combinedHeaders.size()); for (Map.Entry> entry : combinedHeaders.entrySet()) { String combinedHeader = entry.getKey(); @@ -662,7 +677,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl listRemoteOptions(Map 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