From 7d55f1aab49342ad3c600dcb4d4d51f7e74d7339 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 23 Jun 2022 16:20:32 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=86=85=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E5=94=AF=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dao/IcEnterpriseDao.java | 2 ++ .../IcEnterpriseExcelImportListener.java | 34 ++++++++++++++----- .../service/impl/IcEnterpriseServiceImpl.java | 8 ++++- .../main/resources/mapper/IcEnterpriseDao.xml | 12 +++++++ 4 files changed, 47 insertions(+), 9 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterpriseDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterpriseDao.java index d2d1d19318..40bdde151e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterpriseDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterpriseDao.java @@ -30,4 +30,6 @@ public interface IcEnterpriseDao extends BaseDao { * @return */ List selectList(EnterprisePageFormDTO formDTO); + + List selectForUniqueName(@Param("gridId") String gridId, @Param("placeOrgName") String placeOrgName, @Param("enterpriseId") String enterpriseId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcEnterpriseExcelImportListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcEnterpriseExcelImportListener.java index 65b5cda5f0..f4174470aa 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcEnterpriseExcelImportListener.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcEnterpriseExcelImportListener.java @@ -2,6 +2,7 @@ package com.epmet.excel.handler; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.read.listener.ReadListener; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.ExceptionUtils; @@ -13,6 +14,7 @@ import com.epmet.entity.IcEnterpriseEntity; import com.epmet.excel.EnterpriseImportExcelDTO; import com.epmet.service.impl.IcEnterpriseServiceImpl; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import java.util.ArrayList; import java.util.List; @@ -31,9 +33,9 @@ public class IcEnterpriseExcelImportListener implements ReadListener placeTypeMap; private Map scaleMap; private Map gridMap; - //数据 - private List datas = new ArrayList<>(); - + //要插入的数据 + private List insertDatas = new ArrayList<>(); + private List updateDatas = new ArrayList<>(); //错误项列表 private List errorRows = new ArrayList<>(); @@ -84,10 +86,25 @@ public class IcEnterpriseExcelImportListener implements ReadListener originList=icEnterpriseServiceImpl.selectForUniqueName(enterpriseEntity.getGridId(),enterpriseEntity.getPlaceOrgName(),null); + if(CollectionUtils.isEmpty(originList)){ + enterpriseEntity.setSourceType("import"); + insertDatas.add(enterpriseEntity); + }else{ + IcEnterpriseEntity origin=originList.get(NumConstant.ZERO); + enterpriseEntity.setId(origin.getId()); + enterpriseEntity.setSourceType(origin.getSourceType()); + updateDatas.add(enterpriseEntity); + } + + + if (insertDatas.size() == MAX_THRESHOLD) { + execPersist(); + } + if (updateDatas.size() == MAX_THRESHOLD) { execPersist(); } } catch (Exception e) { @@ -122,9 +139,10 @@ public class IcEnterpriseExcelImportListener implements ReadListener selectForUniqueName(String gridId, String placeOrgName, String enterpriseId) { + return baseDao.selectForUniqueName(gridId, placeOrgName, enterpriseId); + } } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterpriseDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterpriseDao.xml index 6e55808261..6a315a60db 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterpriseDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterpriseDao.xml @@ -91,4 +91,16 @@ order by ie.CREATED_TIME desc + + \ No newline at end of file