Browse Source

导入微调

feature/teamB_zz_wgh
zxc 3 years ago
parent
commit
84b48469a1
  1. 80
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsImportListener.java
  2. 5
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsModel.java

80
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<Dang
@Override
public void invoke(DangerousChemicalsModel data, AnalysisContext context) {
Integer rowNum = context.readRowHolder().getRowIndex() + NumConstant.ONE;
if (StringUtils.isBlank(data.getName())){
DangerousChemicalsModel.RowRemarkMessage row = ConvertUtils.sourceToTarget(data, DangerousChemicalsModel.RowRemarkMessage.class);
row.setRowNum(rowNum);
row.setErrorInfo("企业名称不能为空");
errorRows.add(row);
return;
}
if (StringUtils.isBlank(data.getCategoryName())){
DangerousChemicalsModel.RowRemarkMessage row = ConvertUtils.sourceToTarget(data, DangerousChemicalsModel.RowRemarkMessage.class);
row.setRowNum(rowNum);
row.setErrorInfo("企业类型不能为空");
errorRows.add(row);
return;
}
if (StringUtils.isBlank(data.getAddress())){
DangerousChemicalsModel.RowRemarkMessage row = ConvertUtils.sourceToTarget(data, DangerousChemicalsModel.RowRemarkMessage.class);
row.setRowNum(rowNum);
row.setErrorInfo("经营地址不能为空");
errorRows.add(row);
return;
}
if (data.getName().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.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<Dang
}
Map<String, String> statusMap = statusRes.success() && MapUtils.isNotEmpty(statusRes.getData()) ? statusRes.getData() : new HashMap<>(16);
//企业类别字典数据
List<IcCoverageCategoryDictListResultDTO> dictList = coverageService.dictMap(agencyInfo.getCustomerId(), "dangerous_chemicals");
List<IcCoverageCategoryDictListResultDTO> dictList = coverageService.dictMap(agencyInfo.getCustomerId(), CoveragePlaceTypeEnum.DANGEROUS_CHEMICALS.getCode());
Map<String, String> dictMap = dictList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getValue, IcCoverageCategoryDictListResultDTO::getLabel));
insertList.forEach(i -> {
statusMap.forEach((k,v) -> {

5
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;

Loading…
Cancel
Save