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