Commit 25c36709 authored by 陈明豪's avatar 陈明豪

bug修改

parent 2d7a254b
......@@ -296,6 +296,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserRepositorys, SysUser>
String dictLabel = sysDictData1.get(0).getDictLabel();
sysUserIPage.getRecords().get(i).setDictLabelBynltBz(dictLabel);
}
//查询园区id
String address = sysUserIPage.getRecords().get(i).getAddress();
}
return sysUserIPage;
}
......@@ -572,9 +575,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserRepositorys, SysUser>
//性别
if (sysUser.getSex() != null) {
if (sysUser.getSex().equals("男")) {
sysUser.setSex("0");
} else if (sysUser.getSex().equals("女")) {
sysUser.setSex("1");
} else if (sysUser.getSex().equals("女")) {
sysUser.setSex("0");
} else {
throw new CyServiceException(500, "用户性别数据错误");
}
......@@ -582,6 +585,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserRepositorys, SysUser>
throw new CyServiceException(500, "用户性别不能为空");
}
//所属部门
SysDept sysDept = sysDeptRepositorys.querySysDeptByName(sysUser.getDeptId());
if (sysDept == null || sysDept.equals(' ')) {
......@@ -594,29 +598,24 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserRepositorys, SysUser>
if (sysDictData1 == null || sysDictData1.equals(' ')) {
throw new CyServiceException(500, "职位信息数据错误");
} else {
sysUser.setPosition(sysDictData1.getBusinessId().toString());
sysUser.setPosition(sysDictData1.getDictValue());
}
//字典班次
SysDictData sysDictData2 = sysDictDataRepositorys.queryDataByDeptIdC(sysUser.getNltBz());
if (sysDictData2 == null || sysDictData2.equals(' ')) {
throw new CyServiceException(500, "班次信息数据错误");
} else {
sysUser.setNltBz(sysDictData2.getBusinessId().toString());
sysUser.setNltBz(sysDictData2.getDictValue());
}
//工作状态
if (sysUser.getFlag() != null) {
if (sysUser.getFlag().equals("停用")) {
sysUser.setFlag("0");
} else if (sysUser.getFlag().equals("正常") || sysUser.getFlag().equals("在职")) {
sysUser.setFlag("1");
} else if (sysUser.getFlag().equals("离职")) {
sysUser.setFlag("2");
} else {
throw new CyServiceException(500, "工作状态数据错误");
}
//字典园区
SysDictData sysDictData3 = sysDictDataRepositorys.queryDataByDeptIdC(sysUser.getAddress());
if (sysDictData3 == null || sysDictData3.equals(' ')) {
throw new CyServiceException(500, "园区信息数据错误");
} else {
throw new CyServiceException(500, "工作状态不能为空");
sysUser.setAddress(sysDictData3.getDictValue());
}
//工作状态
sysUser.setFlag("1");
//用户类型
sysUser.setUserType("0");
......
......@@ -171,6 +171,8 @@ public class VisitPersonController extends CyPaginationController<SysUser> {
visitPerson.setName(u.getName());
visitPerson.setPhone(u.getPhone());
visitPerson.setBlacklistFlag(u.getBlacklistFlag());
visitPerson.setFirstDate(u.getFirstDate());
visitPerson.setLastDate(u.getLastDate());
visitPersonList.add(visitPerson);
}
CyEpExcelUtil.exportExcel(visitPersonList, "访客表信息", "访客表信息", VisitPerson.class, excelName, response);
......
......@@ -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,51 +567,69 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
return importVistInfoDTO;
}
/** 从excel表中读到数据,有一部分为空值 */
List<ExportVisitInfoDto> visitInfoDtoList = CyEpExcelUtil.importExcel(file, 2, 1, ExportVisitInfoDto.class);
List<VisitInformationErrorDTO> visitInfoDtoList = CyEpExcelUtil.importExcel(file, 2, 1, VisitInformationErrorDTO.class);
/** 校验后没有问题的数据 */
List<ExportVisitInfoDto> addINfoList = new ArrayList<>();
List<VisitInformationErrorDTO> addINfoList = new ArrayList<>();
/** 遍历 从Excel表中读到的数据 抛出不合适的数据 */
//判断整个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++;
}
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++;
}
List<VisitInfoMation> trueList = new ArrayList<>();
List<VisitInformationErrorDTO> failureList = new ArrayList<>();
if (addINfoList.size() > 0) {
for (ExportVisitInfoDto visitInfoDto : addINfoList) {
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;
}
VisitInfoMation visitInfoMation = new VisitInfoMation();
// 根据姓名查询
......@@ -621,19 +639,25 @@ 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) {
throw new CyServiceException(CyResSvcExcEnum.PHONE_DATA_ERROR);
visitInfoDto.setError("邀请人手机号格式错误!");
failureList.add(visitInfoDto);
continue;
}
Matcher m = pattern.matcher(visitInfoDto.getPhone());
boolean isMatch = m.matches();
if (!isMatch) {
throw new CyServiceException(CyResSvcExcEnum.PHONE_DATA_ERROR);
visitInfoDto.setError("邀请人手机号格式错误!");
failureList.add(visitInfoDto);
continue;
}
sysUserDTO.setPhone(visitInfoDto.getPhone());
sysUserDTO.setUserType("0");
// 根据姓名查询员工数据
List<SysUser> sysUsers = sysUserRepositorys.querySysUsers(sysUserDTO);
if (sysUsers.size() == 0) {
throw new CyServiceException(CyResSvcExcEnum.USER_DATA_ERROR);
visitInfoDto.setError("邀请人信息错误!");
failureList.add(visitInfoDto);
continue;
}
SysUser mainUser = sysUsers.get(0);
visitInfoMation.setUserId(mainUser.getBusinessId());
......@@ -715,25 +739,43 @@ 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);
// 新增
persist(visitInfoMation);
trueList.add(visitInfoMation);
}
}
if (null != maps && maps.size() > 0) {
importVistInfoDTO.setFilename(fileName);
try {
errorTxt.exportTxtPaper(maps, fileName);
} catch (Exception e) {
throw new CyServiceException(CyResSvcExcEnum.ERROR_NETWORK);
if (trueList.size() > 0){
for (VisitInfoMation v:trueList){
baseMapper.insert(v);
}
}
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