Browse Source

导入未完待续

feature/teamB_zz_wgh
yinzuomei 3 years ago
parent
commit
bf5ef36c9b
  1. 1
      epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java
  2. 81
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseController.java
  3. 106
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/EnterpriseImportExcelDTO.java
  4. 136
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcEnterpriseExcelImportListener.java
  5. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcEnterpriseService.java
  6. 139
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcEnterpriseServiceImpl.java
  7. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcTripReportExcelImportListener.java

1
epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java

@ -20,6 +20,7 @@ public interface ImportTaskConstants {
String BIZ_TYPE_ATTENTION_TRIP_REPORT = "attention_vaccination";
String BIZ_TYPE_IC_PARTY_MEMBER = "ic_party_member";
String BIZ_TYPE_IC_DANGEROUS_CHEMICALS = "ic_dangerous_chemicals";
String BIZ_TYPE_IC_ENTERPRISE="ic_enterprise";
/**
* 核酸检测
*/

81
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseController.java

@ -5,23 +5,28 @@ import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.*;
import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.constants.ImportTaskConstants;
import com.epmet.dto.form.EnterpriseFormDTO;
import com.epmet.dto.form.EnterprisePageFormDTO;
import com.epmet.dto.form.EnterprisePatrolFormDTO;
import com.epmet.dto.form.ImportTaskCommonFormDTO;
import com.epmet.dto.result.EnterpriseDetailDTO;
import com.epmet.dto.result.EnterprisePatrolResultDTO;
import com.epmet.dto.result.ImportTaskCommonResultDTO;
import com.epmet.excel.EnterpriseExportExcelDTO;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.service.IcEnterpriseService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
@ -29,17 +34,17 @@ import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.nio.file.Path;
import java.util.*;
/**
@ -51,11 +56,12 @@ import java.util.Map;
@Slf4j
@RestController
@RequestMapping("enterprise")
public class IcEnterpriseController {
public class IcEnterpriseController implements ResultDataResolver {
@Autowired
private IcEnterpriseService icEnterpriseService;
@Autowired
private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient;
/**
* 企事业单位巡查新增/编辑
*
@ -221,4 +227,59 @@ public class IcEnterpriseController {
public Result<PageData<EnterprisePatrolResultDTO>> patrolList(@PathVariable("enterpriseId") String enterpriseId) {
return new Result<PageData<EnterprisePatrolResultDTO>>().ok(icEnterpriseService.patrolList(enterpriseId));
}
/**
*
* @param tokenDto
* @param file
* @return
*/
@PostMapping("import")
public Result importExcel(@LoginUser TokenDto tokenDto, MultipartFile file) {
String userId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID);
// 1.暂存文件
String originalFilename = file.getOriginalFilename();
String extName = originalFilename.substring(originalFilename.lastIndexOf("."));
Path fileSavePath;
try {
Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_enterprise", "import");
fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName));
} catch (IOException e) {
String errorMsg = ExceptionUtils.getErrorStackTrace(e);
log.error("【企事业单位】创建临时存储文件失败:{}", errorMsg);
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败");
}
InputStream is = null;
FileOutputStream os = null;
try {
is = file.getInputStream();
os = new FileOutputStream(fileSavePath.toString());
IOUtils.copy(is, os);
} catch (Exception e) {
log.error("method exception", e);
} finally {
org.apache.poi.util.IOUtils.closeQuietly(is);
org.apache.poi.util.IOUtils.closeQuietly(os);
}
// 2.生成导入任务记录
ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO();
importTaskForm.setOperatorId(userId);
importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_ENTERPRISE);
importTaskForm.setOriginFileName(originalFilename);
ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(commonServiceOpenFeignClient.createImportTask(importTaskForm),
ServiceConstant.EPMET_COMMON_SERVICE,
EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),
"excel导入企事业单位错误",
"企事业单位导入失败");
// 3.执行导入
icEnterpriseService.execAsyncExcelImport(fileSavePath, rstData.getTaskId(),tokenDto.getCustomerId(),tokenDto.getUserId());
return new Result();
}
}

106
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/EnterpriseImportExcelDTO.java

@ -0,0 +1,106 @@
package com.epmet.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* 企事业单位导入
*/
@Data
public class EnterpriseImportExcelDTO {
/**
* 场所类型名称
*/
@NotBlank(message = "场所类型不能为空")
@ExcelProperty(value = "*场所类型")
private String placeTypeName;
@NotBlank(message = "场所区域不能为空")
@ExcelProperty(value = "*场所区域")
private String gridName;
/**
* 场所名称
*/
@NotBlank(message = "场所名称不能为空")
@ExcelProperty(value = "*场所名称")
private String placeOrgName;
/**
* 场所地址
*/
@NotBlank(message = "场所地址不能为空")
@ExcelProperty(value = "*场所地址")
private String address;
/**
* 规模名称 字典value,场所规模
* 0:10人以下
* 1:10-20人
* 2:21-40人
* 3:41-100人
* 4:100人以上
*/
@NotBlank(message = "规模不能为空")
@ExcelProperty(value = "*规模")
private String scaleName;
/**
* 场所负责人
*/
@NotBlank(message = "负责人不能为空")
@ExcelProperty(value = "*负责人")
private String personInCharge;
/**
* 负责人电话
*/
@NotBlank(message = "联系电话不能为空")
@ExcelProperty(value = "*联系电话")
private String mobile;
@Data
public static class ErrorRow {
@ColumnWidth(20)
@ExcelProperty(value = "场所类型")
private String placeTypeName;
@ColumnWidth(20)
@ExcelProperty(value = "场所区域")
private String gridName;
@ColumnWidth(20)
@ExcelProperty(value = "场所名称")
private String placeOrgName;
/**
* 场所地址
*/
@ColumnWidth(30)
@ExcelProperty(value = "场所地址")
private String address;
@ColumnWidth(20)
@ExcelProperty(value = "规模")
private String scaleName;
@ColumnWidth(20)
@ExcelProperty(value = "负责人")
private String personInCharge;
@ColumnWidth(20)
@ExcelProperty(value = "联系电话")
private String mobile;
@ColumnWidth(60)
@ExcelProperty("错误信息")
private String errorInfo;
}
}

136
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcEnterpriseExcelImportListener.java

@ -0,0 +1,136 @@
package com.epmet.excel.handler;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.ValidateException;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.entity.IcEnterpriseEntity;
import com.epmet.excel.EnterpriseImportExcelDTO;
import com.epmet.service.impl.IcEnterpriseServiceImpl;
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Slf4j
public class IcEnterpriseExcelImportListener implements ReadListener<EnterpriseImportExcelDTO> {
//最大条数阈值
public static final int MAX_THRESHOLD = 200;
private String currentCustomerId;
/**
* 当前操作用户
*/
private CustomerStaffInfoCacheResult staffInfo;
private IcEnterpriseServiceImpl icEnterpriseServiceImpl;
private Map<String, String> placeTypeMap;
private Map<String, String> scaleMap;
private Map<String,String> gridMap;
//数据
private List<IcEnterpriseEntity> datas = new ArrayList<>();
//错误项列表
private List<EnterpriseImportExcelDTO.ErrorRow> errorRows = new ArrayList<>();
public IcEnterpriseExcelImportListener(String currentCustomerId,
CustomerStaffInfoCacheResult staffInfoCacheResult,
IcEnterpriseServiceImpl icEnterpriseService,
Map<String, String> placeTypeMap,
Map<String, String> scaleMap,
Map<String,String> gridMap) {
this.currentCustomerId = currentCustomerId;
this.staffInfo = staffInfoCacheResult;
this.icEnterpriseServiceImpl = icEnterpriseService;
this.placeTypeMap=placeTypeMap;
this.scaleMap=scaleMap;
this.gridMap=gridMap;
}
@Override
public void invoke(EnterpriseImportExcelDTO data, AnalysisContext context) {
try {
// 不能为空先校验数据
ValidatorUtils.validateEntity(data);
// 去除前后空格
// todo
// 根据网格名是否能找到网格id
// todo
if(!placeTypeMap.containsKey(data.getPlaceTypeName())){
throw new ValidateException(String.format("%s场所类型不存在",data.getPlaceTypeName()));
}
if(!scaleMap.containsKey(data.getScaleName())){
throw new ValidateException(String.format("%s规模不存在",data.getScaleName()));
}
IcEnterpriseEntity enterpriseEntity = ConvertUtils.sourceToTarget(data, IcEnterpriseEntity.class);
enterpriseEntity.setCustomerId(currentCustomerId);
//网格id
enterpriseEntity.setGridId("todo");
enterpriseEntity.setAgencyId(staffInfo.getAgencyId());
enterpriseEntity.setAgencyPids(staffInfo.getAgencyPIds());
//场所类型
enterpriseEntity.setPlaceType(placeTypeMap.get(data.getPlaceTypeName()));
enterpriseEntity.setLongitude(StrConstant.EPMETY_STR);
enterpriseEntity.setLatitude(StrConstant.EPMETY_STR);
//规模
enterpriseEntity.setScale(scaleMap.get(data.getScaleName()));
enterpriseEntity.setSourceType("import");
datas.add(enterpriseEntity);
if (datas.size() == MAX_THRESHOLD) {
execPersist();
}
} catch (Exception e) {
String errorMsg = null;
if (e instanceof ValidateException) {
errorMsg = ((ValidateException) e).getMsg();
} else {
errorMsg = "未知错误";
log.error("【公共服务管理导入】出错:{}", ExceptionUtils.getErrorStackTrace(e));
}
EnterpriseImportExcelDTO.ErrorRow errorRow = new EnterpriseImportExcelDTO.ErrorRow();
errorRow.setPlaceTypeName(data.getPlaceTypeName());
errorRow.setGridName(data.getGridName());
errorRow.setPlaceOrgName(data.getPlaceOrgName());
errorRow.setAddress(data.getAddress());
errorRow.setScaleName(data.getScaleName());
errorRow.setPersonInCharge(data.getPersonInCharge());
errorRow.setMobile(data.getMobile());
errorRow.setErrorInfo(errorMsg);
errorRows.add(errorRow);
}
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
// 最后几条达不到阈值,这里必须再调用一次
execPersist();
}
/**
* 执行持久化
*/
private void execPersist() {
try {
icEnterpriseServiceImpl.insertBatch(datas);
} finally {
datas.clear();
}
}
/**
* 获取错误行
*
* @return
*/
public List<EnterpriseImportExcelDTO.ErrorRow> getErrorRows() {
return errorRows;
}
}

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcEnterpriseService.java

@ -9,6 +9,8 @@ import com.epmet.dto.result.EnterpriseDetailDTO;
import com.epmet.dto.result.EnterprisePatrolResultDTO;
import com.epmet.entity.IcEnterpriseEntity;
import java.nio.file.Path;
/**
* 企事业单位表
*
@ -64,4 +66,6 @@ public interface IcEnterpriseService extends BaseService<IcEnterpriseEntity> {
* @return
*/
PageData<EnterpriseDetailDTO> list(EnterprisePageFormDTO formDTO);
void execAsyncExcelImport(Path fileSavePath, String taskId, String customerId, String userId);
}

139
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcEnterpriseServiceImpl.java

@ -1,6 +1,8 @@
package com.epmet.service.impl;
import com.alibaba.excel.EasyExcel;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
@ -9,13 +11,16 @@ import com.epmet.commons.tools.enums.CoveragePlaceTypeEnum;
import com.epmet.commons.tools.enums.DictTypeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.FileUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constants.ImportTaskConstants;
import com.epmet.dao.IcCoverageCategoryDictDao;
import com.epmet.dao.IcEnterpriseDao;
import com.epmet.dao.IcEnterprisePatrolAttachmentDao;
@ -23,25 +28,46 @@ import com.epmet.dao.IcEnterprisePatrolRecordDao;
import com.epmet.dto.form.EnterpriseFormDTO;
import com.epmet.dto.form.EnterprisePageFormDTO;
import com.epmet.dto.form.EnterprisePatrolFormDTO;
import com.epmet.dto.form.ImportTaskCommonFormDTO;
import com.epmet.dto.result.EnterpriseDetailDTO;
import com.epmet.dto.result.EnterprisePatrolResultDTO;
import com.epmet.dto.result.IcCoverageCategoryDictListResultDTO;
import com.epmet.dto.result.UploadImgResultDTO;
import com.epmet.entity.IcEnterpriseEntity;
import com.epmet.entity.IcEnterprisePatrolAttachmentEntity;
import com.epmet.entity.IcEnterprisePatrolRecordEntity;
import com.epmet.excel.EnterpriseImportExcelDTO;
import com.epmet.excel.handler.IcEnterpriseExcelImportListener;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.feign.OssFeignClient;
import com.epmet.service.CoverageService;
import com.epmet.service.IcEnterpriseService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.entity.ContentType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.stream.Collectors;
/**
* 企事业单位表
@ -49,6 +75,7 @@ import java.util.Map;
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-17
*/
@Slf4j
@Service
public class IcEnterpriseServiceImpl extends BaseServiceImpl<IcEnterpriseDao, IcEnterpriseEntity> implements IcEnterpriseService {
@Autowired
@ -59,6 +86,13 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl<IcEnterpriseDao, Ic
private EpmetAdminOpenFeignClient adminOpenFeignClient;
@Autowired
private IcCoverageCategoryDictDao coverageCategoryDictDao;
@Autowired
private OssFeignClient ossFeignClient;
@Autowired
private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient;
@Autowired
private CoverageService coverageService;
/**
* 企事业单位巡查新增/编辑
*
@ -178,7 +212,11 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl<IcEnterpriseDao, Ic
resultDto.setAgencyName(gridInfoCache.getAgencyName());
}
String placeTypeName = coverageCategoryDictDao.selectCategoryName(customerId, CoveragePlaceTypeEnum.ENTERPRISE_PATROL.getCode(), resultDto.getPlaceType());
resultDto.setPlaceTypeName(placeTypeName);
if(StringUtils.isNotBlank(placeTypeName)){
resultDto.setPlaceTypeName(placeTypeName);
}else{
resultDto.setPlaceTypeName(coverageCategoryDictDao.selectCategoryName(Constant.DEFAULT_CUSTOMER, CoveragePlaceTypeEnum.ENTERPRISE_PATROL.getCode(), resultDto.getPlaceType()));
}
//规模名称
Result<Map<String, String>> dictMapRes = adminOpenFeignClient.dictMap(DictTypeEnum.SCALE.getCode());
Map<String, String> dictMap = dictMapRes.success() && MapUtils.isNotEmpty(dictMapRes.getData()) ? dictMapRes.getData() : new HashMap<>();
@ -234,12 +272,109 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl<IcEnterpriseDao, Ic
detailDTO.setAgencyName(gridInfoCache.getAgencyName());
}
String placeTypeName = coverageCategoryDictDao.selectCategoryName(formDTO.getCustomerId(), CoveragePlaceTypeEnum.ENTERPRISE_PATROL.getCode(), detailDTO.getPlaceType());
detailDTO.setPlaceTypeName(placeTypeName);
if(StringUtils.isNotBlank(placeTypeName)){
detailDTO.setPlaceTypeName(placeTypeName);
}else{
detailDTO.setPlaceTypeName(coverageCategoryDictDao.selectCategoryName(Constant.DEFAULT_CUSTOMER, CoveragePlaceTypeEnum.ENTERPRISE_PATROL.getCode(), detailDTO.getPlaceType()));
}
detailDTO.setScaleName(dictMap.containsKey(detailDTO.getScale()) ? dictMap.get(detailDTO.getScale()) : StrConstant.EPMETY_STR);
}
}
return new PageData<>(list, pageInfo.getTotal());
}
@Async
@Override
public void execAsyncExcelImport(Path filePath, String importTaskId,String customerId,String userId) {
try {
//获取当前登录用户所属组织id
CustomerStaffInfoCacheResult staffInfo= queryCurrentStaff(customerId,userId);
List<IcCoverageCategoryDictListResultDTO> dictList = coverageService.dictMap(customerId, CoveragePlaceTypeEnum.ENTERPRISE_PATROL.getCode());
Map<String, String> placeTypeMap = dictList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getLabel, IcCoverageCategoryDictListResultDTO::getValue));
//todo
Map<String, String> scaleMap=new HashMap<>();
Map<String,String> gridMap=new HashMap<>();
IcEnterpriseExcelImportListener listener = new IcEnterpriseExcelImportListener(customerId,staffInfo, this,placeTypeMap,scaleMap,gridMap);
EasyExcel.read(filePath.toFile(), EnterpriseImportExcelDTO.class, listener).headRowNumber(2).sheet(0).doRead();
Path errorDescFile = null;
String errorDesFileUrl = null;
List<EnterpriseImportExcelDTO.ErrorRow> errorRows = listener.getErrorRows();
boolean failed = errorRows.size() > 0;
if (failed) {
// 生成并上传错误文件
try {
// 文件生成
Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_trip_preport", "import", "error_des");
String fileName = UUID.randomUUID().toString().concat(".xlsx");
errorDescFile = errorDescDir.resolve(fileName);
FileItemFactory factory = new DiskFileItemFactory(16, errorDescDir.toFile());
FileItem fileItem = factory.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), true, fileName);
OutputStream os = fileItem.getOutputStream();
EasyExcel.write(os, EnterpriseImportExcelDTO.ErrorRow.class).sheet("导入失败列表").doWrite(errorRows);
// 文件上传oss
Result<UploadImgResultDTO> errorDesFileUploadResult = ossFeignClient.uploadImportTaskDescFile(new CommonsMultipartFile(fileItem));
if (errorDesFileUploadResult.success()) {
errorDesFileUrl = errorDesFileUploadResult.getData().getUrl();
}
} finally {
if (Files.exists(errorDescFile)) {
Files.delete(errorDescFile);
}
}
}
ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO();
importFinishTaskForm.setTaskId(importTaskId);
importFinishTaskForm.setProcessStatus(failed ? ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL : ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS);
importFinishTaskForm.setOperatorId(userId);
importFinishTaskForm.setResultDesc("");
importFinishTaskForm.setResultDescFilePath(errorDesFileUrl);
Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm);
if (!result.success()) {
log.error("【企事业单位导入】finishImportTask失败");
}
} catch (Exception e) {
String errorMsg = ExceptionUtils.getErrorStackTrace(e);
log.error("【企事业单位导入】出错:{}", errorMsg);
ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO();
importFinishTaskForm.setTaskId(importTaskId);
importFinishTaskForm.setProcessStatus(ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL);
importFinishTaskForm.setOperatorId(userId);
importFinishTaskForm.setResultDesc("导入失败");
Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm);
if (!result.success()) {
log.error("【企事业单位导入】导入记录状态修改为'完成'失败");
}
} finally {
// 删除临时文件
if (Files.exists(filePath)) {
try {
Files.delete(filePath);
} catch (IOException e) {
log.error("method exception", e);
}
}
}
}
private CustomerStaffInfoCacheResult queryCurrentStaff(String customerId, String userId) {
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, userId);
if (null == staffInfo) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询工作人员缓存信息异常", EpmetErrorCode.SERVER_ERROR.getMsg());
}
return staffInfo;
}
}

2
epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcTripReportExcelImportListener.java

@ -27,7 +27,7 @@ public class IcTripReportExcelImportListener implements ReadListener<IcTripRepor
/**
* 最大条数阈值
*/
public static final int MAX_THRESHOLD = 2;
public static final int MAX_THRESHOLD = 200;
/**
* 当前操作用户
*/

Loading…
Cancel
Save