Commit a83451ba authored by 王琮's avatar 王琮

回滚修改的邀访记录导入

parent 25c36709
......@@ -553,7 +553,7 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
} catch (Exception e) {
throw new CyServiceException(CyResSvcExcEnum.EXCEL_IMPORT_HEADER_ERROR);
}
if (!flag){
if (!flag) {
throw new CyServiceException(CyResSvcExcEnum.EXCEL_IMPORT_HEADER_ERROR);
}
if (!flag || !CyCompareToolUtils.compareFileName(file, "邀访信息", 0, 0)) {
......@@ -567,69 +567,51 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
return importVistInfoDTO;
}
/** 从excel表中读到数据,有一部分为空值 */
List<VisitInformationErrorDTO> visitInfoDtoList = CyEpExcelUtil.importExcel(file, 2, 1, VisitInformationErrorDTO.class);
List<ExportVisitInfoDto> visitInfoDtoList = CyEpExcelUtil.importExcel(file, 2, 1, ExportVisitInfoDto.class);
/** 校验后没有问题的数据 */
List<VisitInformationErrorDTO> addINfoList = new ArrayList<>();
List<ExportVisitInfoDto> addINfoList = new ArrayList<>();
/** 遍历 从Excel表中读到的数据 抛出不合适的数据 */
try {
visitInfoDtoList = sysUserService.ThrowNull(visitInfoDtoList);
} catch (Exception e) {
throw new CyServiceException(CyResSvcExcEnum.ERROR_NETWORK);
}
//校验 将错误信息放入maps
int index = 3; //从第3行开始
for (VisitInformationErrorDTO visitInfoDto : visitInfoDtoList) {
//判断 是否为空
// ErrorDTO infoNull = CheckUtil.infoNotNull(visitInfoDto, index);
addINfoList.add(visitInfoDto);
index++;
//判断整个Excel是不是为空 计算非空数据有多少条
int information = CyCompareToolUtils.cmpareInformation(visitInfoDtoList);
if (information == 0) {
String errorBefore = "Excel文件不可为空,请检查Excel文件是否填写!";
errorText(errorBefore, importVistInfoDTO, maps, fileName);
try {
errorTxt.exportTxtPaper(maps, fileName);
} catch (Exception e) {
throw new CyServiceException(CyResSvcExcEnum.ERROR_NETWORK);
}
return importVistInfoDTO;
} else if (information > 500) {
String errorMore = "单次导入数据不可超过500,请检查!";
errorText(errorMore, importVistInfoDTO, maps, fileName);
try {
errorTxt.exportTxtPaper(maps, fileName);
} catch (Exception e) {
throw new CyServiceException(CyResSvcExcEnum.ERROR_NETWORK);
}
return importVistInfoDTO;
} else {
//去除空数据
try {
visitInfoDtoList = sysUserService.ThrowNull(visitInfoDtoList);
} catch (Exception e) {
throw new CyServiceException(CyResSvcExcEnum.ERROR_NETWORK);
}
//校验 将错误信息放入maps
int index = 3; //从第3行开始
for (ExportVisitInfoDto visitInfoDto : visitInfoDtoList) {
//判断 是否为空
ErrorDTO infoNull = CheckUtil.infoNotNull(visitInfoDto, index);
if (infoNull.getSuccess() == 1)
maps.add(infoNull.getMap());
else
addINfoList.add(visitInfoDto);
index++;
}
}
List<VisitInfoMation> trueList = new ArrayList<>();
List<VisitInformationErrorDTO> failureList = new ArrayList<>();
if (addINfoList.size() > 0) {
for (VisitInformationErrorDTO visitInfoDto : addINfoList) {
// 非空判断
if (visitInfoDto.getUserName() == null || visitInfoDto.getUserName().equals("")){
visitInfoDto.setError("邀请人姓名为空!");
failureList.add(visitInfoDto);
continue;
}
if (visitInfoDto.getPhone() == null || visitInfoDto.getPhone().equals("")){
visitInfoDto.setError("邀请人手机号为空!");
failureList.add(visitInfoDto);
continue;
}
if (visitInfoDto.getVisitReason() == null || visitInfoDto.getVisitReason().equals("")){
visitInfoDto.setError("访问事由为空!");
failureList.add(visitInfoDto);
continue;
}
if (visitInfoDto.getVisitRegion() == null || visitInfoDto.getVisitRegion().equals("")){
visitInfoDto.setError("访问区域为空!");
failureList.add(visitInfoDto);
continue;
}
if (visitInfoDto.getVisitDate() == null || visitInfoDto.getVisitDate().equals("")){
visitInfoDto.setError("访问日期为空!");
failureList.add(visitInfoDto);
continue;
}
if (visitInfoDto.getVisitTime() == null || visitInfoDto.getVisitTime().equals("")){
visitInfoDto.setError("访问时间为空!");
failureList.add(visitInfoDto);
continue;
}
if (visitInfoDto.getVisitName() == null || visitInfoDto.getVisitName().equals("")){
visitInfoDto.setError("访客姓名为空!");
failureList.add(visitInfoDto);
continue;
}
if (visitInfoDto.getVisitPhone() == null || visitInfoDto.getVisitPhone().equals("")){
visitInfoDto.setError("访客手机号为空!");
failureList.add(visitInfoDto);
continue;
}
for (ExportVisitInfoDto visitInfoDto : addINfoList) {
VisitInfoMation visitInfoMation = new VisitInfoMation();
// 根据姓名查询
......@@ -639,25 +621,19 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
// 校验手机号
Pattern pattern = Pattern.compile("^((13[0-9])|(14[0-9])|(15[0-9])|(16[0-9])|(17[0-9])|(18[0-9]))\\d{8}$+");
if (visitInfoDto.getPhone().length() != 11) {
visitInfoDto.setError("邀请人手机号格式错误!");
failureList.add(visitInfoDto);
continue;
throw new CyServiceException(CyResSvcExcEnum.PHONE_DATA_ERROR);
}
Matcher m = pattern.matcher(visitInfoDto.getPhone());
boolean isMatch = m.matches();
if (!isMatch) {
visitInfoDto.setError("邀请人手机号格式错误!");
failureList.add(visitInfoDto);
continue;
throw new CyServiceException(CyResSvcExcEnum.PHONE_DATA_ERROR);
}
sysUserDTO.setPhone(visitInfoDto.getPhone());
sysUserDTO.setUserType("0");
// 根据姓名查询员工数据
List<SysUser> sysUsers = sysUserRepositorys.querySysUsers(sysUserDTO);
if (sysUsers.size() == 0) {
visitInfoDto.setError("邀请人信息错误!");
failureList.add(visitInfoDto);
continue;
throw new CyServiceException(CyResSvcExcEnum.USER_DATA_ERROR);
}
SysUser mainUser = sysUsers.get(0);
visitInfoMation.setUserId(mainUser.getBusinessId());
......@@ -739,43 +715,25 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
List<String> visitPhone = Arrays.asList(visitInfoDto.getVisitPhone().split(",|,")).stream()
.filter(p -> StringUtils.isNotEmpty(p)).distinct()
.collect(Collectors.toList());
if (visitName.size() != visitPhone.size()){
visitInfoDto.setError("访客姓名和访客手机号数量不对应!");
failureList.add(visitInfoDto);
continue;
}
int isUser = 0;
for (int i = 0; i < visitName.size(); i++) {
// 查询访客是否为员工
SysUser u = new SysUser();
u.setPhone(visitPhone.get(i));
List<SysUser> uList = sysUserService.findAll(u);
if (uList.size() > 0){
isUser = 1;
}
VisitUser visitUser = new VisitUser();
visitUser.setUserName(visitName.get(i));
visitUser.setVisitPhone(visitPhone.get(i));
userList.add(visitUser);
}
if (isUser == 1){
visitInfoDto.setError("员工不能作为访客!");
failureList.add(visitInfoDto);
continue;
}
visitInfoMation.setUserList(userList);
// 新增
trueList.add(visitInfoMation);
persist(visitInfoMation);
}
}
if (trueList.size() > 0){
for (VisitInfoMation v:trueList){
baseMapper.insert(v);
if (null != maps && maps.size() > 0) {
importVistInfoDTO.setFilename(fileName);
try {
errorTxt.exportTxtPaper(maps, fileName);
} catch (Exception e) {
throw new CyServiceException(CyResSvcExcEnum.ERROR_NETWORK);
}
}
if (failureList.size() > 0){
org.rcisoft.core.util.CyEpExcelUtil.exportExcel(failureList, "邀访信息", "邀访信息信息", VisitInformationErrorDTO.class, "错误信息.xls", response);
}
return importVistInfoDTO;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment