From 54867de8e32f6ba2dfcbfb81930f2ee48486463a Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Tue, 2 Nov 2021 22:51:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=20=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E5=B1=85=E6=B0=91=E5=9F=BA=E6=9C=AC=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=AE=8C=E5=96=84=EF=BC=8C=E5=B7=B2=E7=BB=8F=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E8=AF=BB=E5=8F=96=E4=B8=AD=E6=96=87=E5=B9=B6=E4=B8=94=E8=BD=AC?= =?UTF-8?q?=E6=8D=A2=E6=88=90db=E6=89=80=E9=9C=80=E7=9A=84=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=EF=BC=8C=E4=B8=8B=E4=B8=80=E6=AD=A5=EF=BC=8C=E8=BD=AC?= =?UTF-8?q?=E6=8D=A2=E6=88=90sql=EF=BC=8C=E5=B9=B6=E4=B8=94=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E6=95=B0=E6=8D=AE=E7=9A=84=E5=AE=8C=E6=95=B4=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/IcResiUserController.java | 7 ++- .../com/epmet/service/IcResiUserService.java | 2 +- .../service/impl/IcResiUserServiceImpl.java | 58 ++++++++++++------- 3 files changed, 43 insertions(+), 24 deletions(-) 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