zero 7 달 전
부모
커밋
b402f458a4

+ 2 - 1
src/main/java/cn/cslg/pas/common/dto/business/ReportProjectDTO.java

@@ -91,5 +91,6 @@ public class ReportProjectDTO {
     private String rightHolderAgency;
     @Schema(description = "案件阶段")
     private String caseStage;
-
+    @Schema(description = "参与人id")
+    private List<String> involvedPersonIds;
 }

+ 2 - 0
src/main/java/cn/cslg/pas/common/dto/business/UpdateReportProjectDTO.java

@@ -82,4 +82,6 @@ public class UpdateReportProjectDTO {
     private String rightHolderAgency;
     @Schema(description = "案件阶段")
     private String caseStage;
+    @Schema(description = "参与人id")
+    private List<String> involvedPersonIds;
 }

+ 2 - 0
src/main/java/cn/cslg/pas/common/vo/business/ReportProjectVO.java

@@ -238,4 +238,6 @@ public class ReportProjectVO {
     @Schema(description = "案件阶段")
     private String caseStage;
     private List<String> rightHolder;
+    @Schema(description = "参与人")
+    private List<SimplePersonVO> involvedPersons;
 }

+ 60 - 0
src/main/java/cn/cslg/pas/service/business/ReportProjectService.java

@@ -44,6 +44,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
@@ -80,6 +81,9 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
     private AssoReportCronService assoReportCronService;
 
     @Autowired
+    private AssoProjectPersonService assoProjectPersonService;
+
+    @Autowired
     private CacheUtils cacheUtils;
 
     @Autowired
@@ -416,6 +420,19 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
             assoReportCronService.saveBatch(assoReportCrons);
         }
 
+        List<String> involvedPersonIds = reportProjectDTO.getInvolvedPersonIds();
+        if (!CollectionUtils.isEmpty(involvedPersonIds)) {
+            List<AssoProjectPerson> assoProjectPersonList = new ArrayList<>();
+            involvedPersonIds.forEach(item -> {
+                AssoProjectPerson assoProjectPerson = new AssoProjectPerson();
+                assoProjectPerson.setPersonId(item);
+                assoProjectPerson.setRole(1);
+                assoProjectPerson.setProjectId(project.getId());
+                assoProjectPerson.setCreateId(userId);
+                assoProjectPersonList.add(assoProjectPerson);
+            });
+            assoProjectPersonService.saveBatch(assoProjectPersonList);
+        }
         /**
          * 复制信息
          */
@@ -598,6 +615,27 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
             });
             assoReportCronService.saveBatch(assoReportCrons);
         }
+
+        LambdaQueryWrapper<AssoProjectPerson> assoProjectPersonLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        assoProjectPersonLambdaQueryWrapper.eq(AssoProjectPerson::getProjectId, updateReportProjectDTO.getId());
+        assoProjectPersonService.remove(assoProjectPersonLambdaQueryWrapper);
+        /**
+         *装载参与人
+         */
+        List<String> involvedPersonIds = updateReportProjectDTO.getInvolvedPersonIds();
+        if (!CollectionUtils.isEmpty(involvedPersonIds)) {
+            List<AssoProjectPerson> assoProjectPersonList = new ArrayList<>();
+            involvedPersonIds.forEach(item -> {
+                AssoProjectPerson assoProjectPerson = new AssoProjectPerson();
+                assoProjectPerson.setPersonId(item);
+                assoProjectPerson.setRole(1);
+                assoProjectPerson.setProjectId(project.getId());
+                assoProjectPerson.setCreateId(userId);
+                assoProjectPersonList.add(assoProjectPerson);
+            });
+            assoProjectPersonService.saveBatch(assoProjectPersonList);
+        }
+
         //返回id
         return project.getId();
     }
@@ -624,6 +662,7 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
         List<AssoProject> assoProjects = new ArrayList<>();
         List<String> patentNos = new ArrayList<>();
         List<Patent> patentList = new ArrayList<>();
+        List<AssoProjectPerson> assoProjectPersonList = new ArrayList<>();
         reportProjectVOs.forEach(
                 item -> {
 
@@ -708,6 +747,13 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
             LambdaQueryWrapper<AssoProject> queryWrapper1 = new LambdaQueryWrapper<>();
             queryWrapper1.in(AssoProject::getAssoProjectId, ids);
             assoProjects = assoProjectService.list(queryWrapper1);
+
+            //查询和参与人关联
+            LambdaQueryWrapper<AssoProjectPerson> projectPersonLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            projectPersonLambdaQueryWrapper.in(AssoProjectPerson::getProjectId, ids);
+            assoProjectPersonList = assoProjectPersonService.list(projectPersonLambdaQueryWrapper);
+            List<String> personIds = assoProjectPersonList.stream().map(AssoProjectPerson::getPersonId).collect(Collectors.toList());
+            createIds.addAll(personIds);
         }
 
 
@@ -779,6 +825,20 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
                 }
             }
 
+            //装载参与人
+            List<SimplePersonVO> simplePersonVOS = new ArrayList<>();
+            List<AssoProjectPerson> assoProjectPersonTmps = assoProjectPersonList.stream().filter(item -> item.getProjectId().equals(reportProjectVO.getId())).collect(Collectors.toList());
+            List<String> personIds = assoProjectPersonTmps.stream().map(AssoProjectPerson::getPersonId).collect(Collectors.toList());
+            if (!CollectionUtils.isEmpty(personIds)) {
+                List<Personnel> personneltmps = personnels.stream().filter(item -> personIds.contains(item.getId())).collect(Collectors.toList());
+                personneltmps.forEach(item -> {
+                    SimplePersonVO simplePersonVO = new SimplePersonVO();
+                    simplePersonVO.setPersonId(item.getId());
+                    simplePersonVO.setPersonName(item.getPersonnelName());
+                    simplePersonVOS.add(simplePersonVO);
+                });
+            }
+            reportProjectVO.setInvolvedPersons(simplePersonVOS);
 
             //装载部门
             if (reportProjectVO.getDepartmentId() != null) {