From 84b48469a1092f69e9296f932ffa631fb8254626 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 21 Jun 2022 13:42:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DangerousChemicalsImportListener.java | 80 +++++++------------ .../epmet/model/DangerousChemicalsModel.java | 5 +- 2 files changed, 31 insertions(+), 54 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsImportListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsImportListener.java index fa635505d9..6dd5fcb893 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsImportListener.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsImportListener.java @@ -3,14 +3,18 @@ package com.epmet.model; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.enums.CoveragePlaceTypeEnum; import com.epmet.commons.tools.enums.DictTypeEnum; import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.exception.ValidateException; import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.result.IcCoverageCategoryDictListResultDTO; import com.epmet.entity.IcDangerousChemicalsEntity; +import com.epmet.excel.IcCityManagementExcel; import com.epmet.feign.EpmetAdminOpenFeignClient; import com.epmet.service.CoverageService; import com.epmet.service.IcDangerousChemicalsService; @@ -54,58 +58,30 @@ public class DangerousChemicalsImportListener extends AnalysisEventListener NumConstant.FIFTY){ - DangerousChemicalsModel.RowRemarkMessage row = ConvertUtils.sourceToTarget(data, DangerousChemicalsModel.RowRemarkMessage.class); - row.setRowNum(rowNum); - row.setErrorInfo("企业名称长度超出50字限制"); - errorRows.add(row); - return; - } - if (data.getPrincipalMobile().trim().length() > NumConstant.FIFTY){ - DangerousChemicalsModel.RowRemarkMessage row = ConvertUtils.sourceToTarget(data, DangerousChemicalsModel.RowRemarkMessage.class); - row.setRowNum(rowNum); - row.setErrorInfo("联系电话长度超出50字限制"); - errorRows.add(row); - return; - } - if (data.getAddress().trim().length() > NumConstant.FIFTY){ - DangerousChemicalsModel.RowRemarkMessage row = ConvertUtils.sourceToTarget(data, DangerousChemicalsModel.RowRemarkMessage.class); - row.setRowNum(rowNum); - row.setErrorInfo("经营地址长度超出50字限制"); - errorRows.add(row); - return; - } - IcDangerousChemicalsEntity e = ConvertUtils.sourceToTarget(data, IcDangerousChemicalsEntity.class); - e.setSourceType("import"); - e.setAgencyId(agencyInfo.getId()); - e.setCustomerId(agencyInfo.getCustomerId()); - e.setAgencyIdPath(agencyInfo.getPids().equals(NumConstant.ZERO_STR) || agencyInfo.getPids().equals("") ? agencyInfo.getId() : agencyInfo.getPids().concat(":").concat(agencyInfo.getId())); - insertList.add(e); - if (insertList.size() == NumConstant.ONE_HUNDRED){ - execPersist(); + try { + ValidatorUtils.validateEntity(data); + IcDangerousChemicalsEntity e = ConvertUtils.sourceToTarget(data, IcDangerousChemicalsEntity.class); + e.setSourceType("import"); + e.setAgencyId(agencyInfo.getId()); + e.setCustomerId(agencyInfo.getCustomerId()); + e.setAgencyIdPath(agencyInfo.getPids().equals(NumConstant.ZERO_STR) || agencyInfo.getPids().equals("") ? agencyInfo.getId() : agencyInfo.getPids().concat(":").concat(agencyInfo.getId())); + insertList.add(e); + if (insertList.size() == NumConstant.ONE_HUNDRED){ + execPersist(); + } + }catch (Exception e){ + String errorMsg = null; + if (e instanceof ValidateException) { + errorMsg = ((ValidateException) e).getMsg(); + } else { + errorMsg = "未知错误"; + log.error("【重点危化品企业导入】出错:{}", ExceptionUtils.getErrorStackTrace(e)); + } + DangerousChemicalsModel.RowRemarkMessage errorRow = ConvertUtils.sourceToTarget(data, DangerousChemicalsModel.RowRemarkMessage.class); + errorRow.setRowNum(rowNum); + errorRow.setErrorInfo(errorMsg); + errorRows.add(errorRow); } - } @Override @@ -126,7 +102,7 @@ public class DangerousChemicalsImportListener extends AnalysisEventListener statusMap = statusRes.success() && MapUtils.isNotEmpty(statusRes.getData()) ? statusRes.getData() : new HashMap<>(16); //企业类别字典数据 - List dictList = coverageService.dictMap(agencyInfo.getCustomerId(), "dangerous_chemicals"); + List dictList = coverageService.dictMap(agencyInfo.getCustomerId(), CoveragePlaceTypeEnum.DANGEROUS_CHEMICALS.getCode()); Map dictMap = dictList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getValue, IcCoverageCategoryDictListResultDTO::getLabel)); insertList.forEach(i -> { statusMap.forEach((k,v) -> { diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsModel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsModel.java index a56c947429..b74ac10121 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsModel.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsModel.java @@ -16,12 +16,12 @@ import javax.validation.constraints.NotBlank; @Data public class DangerousChemicalsModel { - @NotBlank(message = "企业名称为必填项") + @NotBlank(message = "企业名称不能为空") @Length(max = 50,message = "企业名称长度超出50字限制") @ExcelProperty(value = "企业名称") private String name; - @NotBlank(message = "企业类型为必填项") + @NotBlank(message = "企业类型不能为空") @ExcelProperty(value = "企业类型") private String categoryName; @@ -38,6 +38,7 @@ public class DangerousChemicalsModel { @ExcelProperty(value = "联系电话") private String principalMobile; + @NotBlank(message = "经营地址不能为空") @Length(max = 50,message = "经营地址长度超出50字限制") @ExcelProperty(value = "经营地址") private String address;