diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/service/SafetyCenterSubitemService.java b/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/service/SafetyCenterSubitemService.java index 350c4c07..2ce912df 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/service/SafetyCenterSubitemService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/service/SafetyCenterSubitemService.java @@ -309,9 +309,7 @@ public class SafetyCenterSubitemService extends ServiceImpl 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 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 parentContactIdList = new ArrayList<>(); + if (SafetyCenterCommon.PROJECT_TYPE_1 != projectType) { + //判断企业 + String parentId = safetyCenter.getParentId(); + LambdaQueryWrapper 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 parentContactList = contactsService.listBySubitemId(parentCenterSubitemId); + parentContactIdList = parentContactList.stream().map(SafetyCenterSubitemContacts::getContactsId).distinct().collect(Collectors.toList()); + } + errorRowNum += contactsList.size() -1; + List distinctContactsList = new ArrayList<>(); List subitemContactsList = new ArrayList<>(); for (SafetyCenterSubitemContactsImport contactsImport : contactsList) { @@ -347,11 +374,18 @@ public class SafetyCenterSubitemService extends ServiceImpl