update 功能安全中心成员导入校验

This commit is contained in:
lijiarao
2024-07-09 09:52:57 +08:00
parent 9ddcdc1455
commit 8564e3a523
@@ -309,9 +309,7 @@ public class SafetyCenterSubitemService extends ServiceImpl<SafetyCenterSubitemM
SafetyCenterSubitemImport subitemImport = (SafetyCenterSubitemImport) obj;
String companyName = subitemImport.getCompanyName();
List<SafetyCenterSubitemContactsImport> contactsList = subitemImport.getContactsList();
if (errorRowNum != 4){
errorRowNum += contactsList.size() -1;
}
PayCompanyManagement company = null;
if (StringUtils.isBlank(companyName)){
errorMessage.add("" + errorRowNum + "行:成员单位不能为空");
@@ -332,6 +330,35 @@ public class SafetyCenterSubitemService extends ServiceImpl<SafetyCenterSubitemM
}
}
String companyId = company.getId();
LambdaQueryWrapper<SafetyCenterSubitem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SafetyCenterSubitem::getProjectId,projectId);
wrapper.eq(SafetyCenterSubitem::getCompanyId,companyId);
if (this.count(wrapper) > 0){
errorMessage.add("" + errorRowNum + "行:成员单位当前项目中已经存在");
errorRowNum2 += contactsList.size();
continue;
}
Integer projectType = safetyCenter.getProjectType();
List<String> parentContactIdList = new ArrayList<>();
if (SafetyCenterCommon.PROJECT_TYPE_1 != projectType) {
//判断企业
String parentId = safetyCenter.getParentId();
LambdaQueryWrapper<SafetyCenterSubitem> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(SafetyCenterSubitem::getProjectId, parentId);
wrapper1.eq(SafetyCenterSubitem::getCompanyId, companyId);
SafetyCenterSubitem parentCenterSubitem = this.getOne(wrapper1);
if (parentCenterSubitem == null) {
errorMessage.add("" + errorRowNum + "行:成员单位不是当前项目成员");
errorRowNum2 += contactsList.size();
continue;
}
String parentCenterSubitemId = parentCenterSubitem.getId();
List<SafetyCenterSubitemContacts> parentContactList = contactsService.listBySubitemId(parentCenterSubitemId);
parentContactIdList = parentContactList.stream().map(SafetyCenterSubitemContacts::getContactsId).distinct().collect(Collectors.toList());
}
errorRowNum += contactsList.size() -1;
List<String> distinctContactsList = new ArrayList<>();
List<SafetyCenterSubitemContacts> subitemContactsList = new ArrayList<>();
for (SafetyCenterSubitemContactsImport contactsImport : contactsList) {
@@ -347,11 +374,18 @@ public class SafetyCenterSubitemService extends ServiceImpl<SafetyCenterSubitemM
continue;
}
if (distinctContactsList.contains(contacts)){
errorMessage.add("" + errorRowNum + "行:企业联系人重复");
errorMessage.add("" + errorRowNum2 + "行:企业联系人重复");
continue;
}else {
distinctContactsList.add(contacts);
}
if (SafetyCenterCommon.PROJECT_TYPE_1 != projectType) {
//判断联系人
if (!parentContactIdList.contains(payContactsManagement.getId())){
errorMessage.add("" + errorRowNum2 + "行:企业联系人不是当前项目成员");
continue;
}
}
SafetyCenterSubitemContacts contacts1 = new SafetyCenterSubitemContacts();
contacts1.setContactsId(payContactsManagement.getId());
contacts1.setRemarks(contactsImport.getRemarks());