修改bug#40674

This commit is contained in:
梁琦涛
2021-10-14 16:57:16 +08:00
parent 0eddd9727b
commit e5795a5a19
5 changed files with 57 additions and 36 deletions
@@ -647,8 +647,14 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
//导入Excel格式校验,看匹配的字段文本概率
Boolean t = ExcelImportCheckUtil.check(file.getInputStream(), PayCompanyManagement.class, params);
if(!t){
throw new JeroBootException("导入Excel校验失败 !");
throw new JeroBootException("文件格式有误,请下载模板后上传 !");
}
}catch (Exception e){
e.printStackTrace();
throw new JeroBootException("文件格式有误,请下载模板后上传 !");
}
StringBuilder msg = new StringBuilder();
try {
List<PayCompanyManagement> list = ExcelImportUtil.importExcel(file.getInputStream(), PayCompanyManagement.class, params);
if(!CollectionUtils.isEmpty(list)){
List<PayCompanyManagement> listSigning = new ArrayList<>();
@@ -661,18 +667,17 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
List<PayCompanyManagement> listDutyCodeAll = payCompanyManagementService.list(queryPayCompanyManagement);
List<String> listCompany = new ArrayList<>();
List<String> listDutyCode = new ArrayList<>();
StringBuilder msg = new StringBuilder();
int finalDataSource = dataSource;
int finalStatus = status;
list.forEach(p->{
int count = list.indexOf(p);
// 校验excel表中是否存在重复企业名称
if(listCompany.contains(p.getCompanyName())){
msg.append("第 ").append(count + 3).append(" 行:企业名称在excel中重复,请修改。<br/>");
msg.append("第").append(count + 3).append("行:企业名称在excel中重复,请修改。<br/>");
}
listCompany.add(p.getCompanyName());
if(listDutyCode.contains(p.getDutyCode())){
msg.append("第 ").append(count + 3).append(" 行:信用代码在excel中重复,请修改。<br/>");
msg.append("第").append(count + 3).append("行:信用代码在excel中重复,请修改。<br/>");
}
listCompany.add(p.getDutyCode());
p.setDataSource(finalDataSource);
@@ -709,6 +714,8 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
}
// 更新数据
payCompanyManagementService.updateCompanyData(listSigning,list);
}else{
msg.append("没有数据可导入!");
}
} catch (Exception e) {
log.error(e.getMessage(),e);
@@ -720,6 +727,9 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
e.printStackTrace();
}
}
if(!StringUtils.isEmpty(msg)){
return Result.error(msg.toString());
}
}
return Result.OK("文件导入成功!");
}
@@ -688,8 +688,14 @@ public class PayContactsManagementController extends JeroController<PayContactsM
//导入Excel格式校验,看匹配的字段文本概率
Boolean t = ExcelImportCheckUtil.check(file.getInputStream(), PayContactsManagement.class, params);
if(!t){
throw new RuntimeException("导入Excel校验失败 !");
throw new JeroBootException("文件格式有误,请下载模板后上传 !");
}
}catch (Exception e){
e.printStackTrace();
throw new JeroBootException("文件格式有误,请下载模板后上传 !");
}
StringBuilder msg = new StringBuilder();
try {
List<PayContactsManagement> list = ExcelImportUtil.importExcel(file.getInputStream(), PayContactsManagement.class, params);
if(!CollectionUtils.isEmpty(list)){
List<PayContactsManagement> listSigning = new ArrayList<>();
@@ -713,7 +719,6 @@ public class PayContactsManagementController extends JeroController<PayContactsM
listCompanyAll = payCompanyManagementService.listPayCompanyManagement(companyList);
}
List<PayContactsManagement> listContacts = new ArrayList<>();
StringBuilder msg = new StringBuilder();
List<PayCompanyManagement> finalListCompanyAll = listCompanyAll;
List<PayContactsManagement> finalListContactsAll = listContactsAll;
list.forEach(p->{
@@ -721,13 +726,13 @@ public class PayContactsManagementController extends JeroController<PayContactsM
// 校验excel表中是否存在重复手机号
List<PayContactsManagement> listContactsPhone = listContacts.stream().filter(p1->Objects.equals(p1.getPhone(),p.getPhone())).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listContactsPhone)){
msg.append("第 ").append(count + 3).append(" 行:手机号在excel中重复,请修改。<br/>");
msg.append("第").append(count + 3).append("行:手机号在excel中重复,请修改。<br/>");
}
// 校验excel表中是否存在重复联系人
List<PayContactsManagement> listContactsName = listContacts.stream().filter(p1->Objects.equals(p1.getName(),p.getName())
&& Objects.equals(p1.getCompanyId(),p.getCompanyId())).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listContactsName)){
msg.append("第 ").append(count + 3).append(" 行:联系人姓名在excel中重复,请修改。<br/>");
msg.append("第").append(count + 3).append("行:联系人姓名在excel中重复,请修改。<br/>");
}
listContacts.add(p);
// 校验字段值
@@ -736,7 +741,7 @@ public class PayContactsManagementController extends JeroController<PayContactsM
msg.append(s);
}
if(StringUtils.isEmpty(p.getCompanyName())){
msg.append("第 ").append(count + 3).append(" 行:企业名称不能为空,请修改。<br/>");
msg.append("第").append(count + 3).append("行:企业名称不能为空,请修改。<br/>");
}else{
// 根据企业名称获取企业id
if(!CollectionUtils.isEmpty(finalListCompanyAll)){
@@ -744,10 +749,10 @@ public class PayContactsManagementController extends JeroController<PayContactsM
if(!CollectionUtils.isEmpty(listCompany)){
p.setCompanyId(listCompany.get(0).getId());
}else{
msg.append("第 ").append(count + 3).append(" 行:企业名称不存在,请修改。<br/>");
msg.append("第").append(count + 3).append("行:企业名称不存在,请修改。<br/>");
}
}else{
msg.append("第 ").append(count + 3).append(" 行:企业名称不存在,请修改。<br/>");
msg.append("第").append(count + 3).append("行:企业名称不存在,请修改。<br/>");
}
}
// 校验 手机号,姓名
@@ -779,6 +784,8 @@ public class PayContactsManagementController extends JeroController<PayContactsM
}
// 更新数据
payContactsManagementService.updateContactsData(listSigning,list);
}else{
msg.append("没有数据可导入!");
}
} catch (Exception e) {
log.error(e.getMessage(),e);
@@ -790,6 +797,9 @@ public class PayContactsManagementController extends JeroController<PayContactsM
e.printStackTrace();
}
}
if(!StringUtils.isEmpty(msg)){
return Result.error(msg.toString());
}
}
return Result.OK("文件导入成功!");
}