Browse Source

处理-项目管理的导入和新增导致客户联系人冲突

huangguoce 1 month ago
parent
commit
ada8e14a66

+ 24 - 20
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/service/CwProjectRecordsService.java

@@ -724,7 +724,7 @@ public class CwProjectRecordsService extends ServiceImpl<CwProjectRecordsMapper,
                                 cwProjectRecordsDTO.getCwProjectClientContactDTOList().stream().forEach(item -> {
                                     //改成如果是选择的联系人,前端会一并带来clientId,如果是手填的,后端就会判断填入clientId
                                     if(StringUtils.isBlank(item.getClientId())){
-                                        item.setClientId(contractInfo.getClientContacts());
+                                            item.setClientId(contractInfo.getClientContacts());
                                     }
                                 });
                             } else {
@@ -1360,27 +1360,31 @@ public class CwProjectRecordsService extends ServiceImpl<CwProjectRecordsMapper,
                 }else{
                     CwProjectRecordsDTO cwCurrentContract = contractResult.get();
                     //通过excel中的姓名,职位,手机号找到对应的联系人
-                    List<CwProjectClientContactDTO> cwProjectClientContactDTOList = cwCurrentContract.getCwProjectClientContactDTOList();
-                    Optional<CwProjectClientContactDTO> result = cwProjectClientContactDTOList.stream()
-                            .filter(dto -> cwProjectRecordsImportDTO.getCwProjectClientName().equals(dto.getName()) &&
-                                    cwProjectRecordsImportDTO.getCwProjectClientPhone().equals(dto.getContactFirst()) &&
-                                    cwProjectRecordsImportDTO.getCwProjectClientOffice().equals(dto.getOfficeId()))
-                            .findFirst();
-                    if (result.isPresent()) {
-                        CwProjectClientContactDTO foundContactDTO = result.get();
+                    //List<CwProjectClientContactDTO> cwProjectClientContactDTOList = cwCurrentContract.getCwProjectClientContactDTOList();
+                    //Optional<CwProjectClientContactDTO> result = cwProjectClientContactDTOList.stream()
+                    //        .filter(dto -> cwProjectRecordsImportDTO.getCwProjectClientName().equals(dto.getName()) &&
+                    //                cwProjectRecordsImportDTO.getCwProjectClientPhone().equals(dto.getContactFirst()) &&
+                    //                cwProjectRecordsImportDTO.getCwProjectClientOffice().equals(dto.getOfficeId()))
+                    //        .findFirst();
+                    CwProjectClientContactDTO cwProjectClientContactDTO1 = new CwProjectClientContactDTO();
+                    cwProjectClientContactDTO1.setContactFirst(cwProjectRecordsImportDTO.getCwProjectClientPhone());
+                    cwProjectClientContactDTO1.setName(cwProjectRecordsImportDTO.getCwProjectClientName());
+                    cwProjectClientContactDTO1.setOfficeId(cwProjectRecordsImportDTO.getCwProjectClientOffice());
+                    CwWorkClientContact foundContactDTO = cwWorkClientContactService.getInfoByData(cwProjectClientContactDTO1);
+                    if (foundContactDTO != null) {
                         //添加已存在的联系人数据
                         //通过id获取到对应联系人的详细数据,并添加到新对象中,在saveForm方法里会对联系人进行校验
-                        CwWorkClientContact contractInfo = cwWorkClientContactMapper.getInfoById(foundContactDTO.getId());
-                        cwProjectClientContactDTO.setName(contractInfo.getName());
-                        cwProjectClientContactDTO.setContactFirst(contractInfo.getContactFirst());
-                        cwProjectClientContactDTO.setOfficeId(contractInfo.getOfficeId());
-                        cwProjectClientContactDTO.setClientId(contractInfo.getClientId());
-                        cwProjectClientContactDTO.setFax(contractInfo.getFax());
-                        cwProjectClientContactDTO.setSex(contractInfo.getSex());
-                        cwProjectClientContactDTO.setPosition(contractInfo.getPosition());
-                        cwProjectClientContactDTO.setEmail(contractInfo.getEmail());
-                        cwProjectClientContactDTO.setRemarks(contractInfo.getRemarks());
-                        cwProjectClientContactDTO.setContactSecond(contractInfo.getContactSecond());
+                        //CwWorkClientContact contractInfo = cwWorkClientContactMapper.getInfoById(foundContactDTO.getId());
+                        cwProjectClientContactDTO.setName(foundContactDTO.getName());
+                        cwProjectClientContactDTO.setContactFirst(foundContactDTO.getContactFirst());
+                        cwProjectClientContactDTO.setOfficeId(foundContactDTO.getOfficeId());
+                        cwProjectClientContactDTO.setClientId(foundContactDTO.getClientId());
+                        cwProjectClientContactDTO.setFax(foundContactDTO.getFax());
+                        cwProjectClientContactDTO.setSex(foundContactDTO.getSex());
+                        cwProjectClientContactDTO.setPosition(foundContactDTO.getPosition());
+                        cwProjectClientContactDTO.setEmail(foundContactDTO.getEmail());
+                        cwProjectClientContactDTO.setRemarks(foundContactDTO.getRemarks());
+                        cwProjectClientContactDTO.setContactSecond(foundContactDTO.getContactSecond());
                     } else {
                         //如果联系人不存在,直接新增联系人数据
                         cwProjectClientContactDTO.setName(cwProjectRecordsImportDTO.getCwProjectClientName());