lrj hai 7 meses
pai
achega
55fd8d8280

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

@@ -11,6 +11,7 @@ import java.util.List;
 
 /**
  * 报告
+ *
  * @Author lirj
  * @Date 2023/11/1
  */
@@ -60,7 +61,7 @@ public class ReportProjectDTO {
     @Schema(description = "结论论述")
     private String cronDescription;
     @Schema(description = "事件集合")
-    List<ProjectEventDTO>  events;
+    List<ProjectEventDTO> events;
     @Schema(description = "文件guids")
     private List<String> fileGuids;
     @Schema(description = "核心结论")

+ 57 - 2
src/main/java/cn/cslg/pas/service/business/AssoProjectPersonService.java

@@ -23,6 +23,8 @@ import org.springframework.beans.BeanUtils;
 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 java.util.ArrayList;
 import java.util.List;
@@ -54,7 +56,7 @@ public class AssoProjectPersonService extends ServiceImpl<AssoProjectPersonMappe
      */
     public List<Integer> addProjectShare(AddProjectPersonDTO addProjectPersonDTO) {
         PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        Integer roleType =3;
+        Integer roleType = 3;
         List<Integer> reIds = new ArrayList<>();
         List<String> personIds = addProjectPersonDTO.getPersonIds();
         Integer projectId = addProjectPersonDTO.getProjectId();
@@ -63,7 +65,7 @@ public class AssoProjectPersonService extends ServiceImpl<AssoProjectPersonMappe
         queryWrapper.select(AssoProjectPerson::getPersonId);
         queryWrapper.in(AssoProjectPerson::getPersonId, personIds)
                 .eq(AssoProjectPerson::getProjectId, projectId)
-                .eq(AssoProjectPerson::getRole,roleType);
+                .eq(AssoProjectPerson::getRole, roleType);
         List<AssoProjectPerson> assoProjectPersonList = this.list(queryWrapper);
         List<String> ids = assoProjectPersonList.stream().map(AssoProjectPerson::getPersonId).collect(Collectors.toList());
         if (ids != null) {
@@ -220,4 +222,57 @@ public class AssoProjectPersonService extends ServiceImpl<AssoProjectPersonMappe
         }
         return personIds;
     }
+
+    public List<AssoProjectPerson> queryIfExist(Integer roleType, List<String> personIds, Integer projectId) {
+        List<AssoProjectPerson> assoProjectPersonList = new ArrayList<>();
+        if (personIds == null || personIds.size() == 0) {
+
+        }
+        LambdaQueryWrapper<AssoProjectPerson> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(AssoProjectPerson::getProjectId, projectId)
+                .eq(AssoProjectPerson::getPersonId, personIds)
+                .eq(AssoProjectPerson::getRole, roleType);
+        return assoProjectPersonList;
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public void addProjectPeople(Integer roleType, Integer projectId, List<String> personIds) {
+        if (!CollectionUtils.isEmpty(personIds)) {
+            List<AssoProjectPerson> assoProjectPersonList = new ArrayList<>();
+            personIds.forEach(item -> {
+                AssoProjectPerson assoProjectPerson = new AssoProjectPerson();
+                assoProjectPerson.setPersonId(item);
+                assoProjectPerson.setRole(roleType);
+                assoProjectPerson.setProjectId(projectId);
+                assoProjectPerson.setCreateId(loginUtils.getId().toString());
+                assoProjectPersonList.add(assoProjectPerson);
+            });
+            this.saveBatch(assoProjectPersonList);
+        }
+
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public void updateProjectPeople(Integer roleType, Integer projectId, List<String> personIds) {
+        LambdaQueryWrapper<AssoProjectPerson> assoProjectPersonLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        assoProjectPersonLambdaQueryWrapper.eq(AssoProjectPerson::getProjectId, projectId)
+                .eq(AssoProjectPerson::getRole, roleType);
+        this.remove(assoProjectPersonLambdaQueryWrapper);
+        /**
+         *装载参与人
+         */
+        if (!CollectionUtils.isEmpty(personIds)) {
+            List<AssoProjectPerson> assoProjectPersonList = new ArrayList<>();
+            personIds.forEach(item -> {
+                AssoProjectPerson assoProjectPerson = new AssoProjectPerson();
+                assoProjectPerson.setPersonId(item);
+                assoProjectPerson.setRole(roleType);
+                assoProjectPerson.setProjectId(projectId);
+                assoProjectPerson.setCreateId(loginUtils.getId().toString());
+                assoProjectPersonList.add(assoProjectPerson);
+            });
+            this.saveBatch(assoProjectPersonList);
+        }
+
+    }
 }

+ 0 - 1
src/main/java/cn/cslg/pas/service/business/PatentDigProjectService.java

@@ -468,7 +468,6 @@ public class PatentDigProjectService extends ServiceImpl<PatentDigProjectMapper,
         LambdaQueryWrapper<AssoProjectPerson> assoProjectPersonLambdaQueryWrapper = new LambdaQueryWrapper<>();
         assoProjectPersonLambdaQueryWrapper.eq(AssoProjectPerson::getProjectId, projectUpdateDTO.getId());
         assoProjectPersonService.remove(assoProjectPersonLambdaQueryWrapper);
-
         /**
          *装载参与人
          */

+ 18 - 40
src/main/java/cn/cslg/pas/service/business/ReportProjectService.java

@@ -122,7 +122,8 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
     @Transactional(rollbackFor = Exception.class)
     public Object queryMessage(QueryRequest queryRequest) throws Exception {
         String tableName = "reportProject";
-        Boolean ifInvalidReport =  queryRequest.getIfInvalidReport();;
+        Boolean ifInvalidReport = queryRequest.getIfInvalidReport();
+        ;
         if (ifInvalidReport != null && ifInvalidReport) {
             tableName = "invalidReportProject";
         }
@@ -273,7 +274,7 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
 
-            personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+        personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
 
         String userId = personnelVO.getId();
 
@@ -336,7 +337,6 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
             assoProject.insert();
         }
 
-
         /**
          * 装载reportProject
          */
@@ -421,18 +421,9 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
         }
 
         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);
-        }
+
+        //添加项目的参与人
+        assoProjectPersonService.addProjectPeople(1, project.getId(), involvedPersonIds);
         /**
          * 复制信息
          */
@@ -452,6 +443,7 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
 
 
         }
+
         //返回id
         return project.getId();
     }
@@ -476,7 +468,7 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
 
-            personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+        personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
 
         String userId = personnelVO.getId();
         /**
@@ -616,25 +608,12 @@ 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);
-        }
+        assoProjectPersonService.updateProjectPeople(1,project.getId(),involvedPersonIds);
 
         //返回id
         return project.getId();
@@ -701,13 +680,6 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
         List<AssoProjectFile> assoEventFiles = new ArrayList<>();
 
 
-        //查询创建人名称
-        if (createIds.size() != 0) {
-            String res = permissionService.getPersonnelByIdsFromPCS(createIds);
-            JSONObject jsonObject = JSONObject.parseObject(res);
-            personnels = JSONObject.parseArray(jsonObject.getString("data"), Personnel.class);
-        }
-
         //查询部门名称
         if (departmentIds.size() != 0) {
             String json = permissionService.getDepartmentByIdsFromPCS(departmentIds);
@@ -750,13 +722,19 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
 
             //查询和参与人关联
             LambdaQueryWrapper<AssoProjectPerson> projectPersonLambdaQueryWrapper = new LambdaQueryWrapper<>();
-            projectPersonLambdaQueryWrapper.in(AssoProjectPerson::getProjectId, ids);
+            projectPersonLambdaQueryWrapper.in(AssoProjectPerson::getProjectId, ids)
+                    .eq(AssoProjectPerson::getRole, 1);
             assoProjectPersonList = assoProjectPersonService.list(projectPersonLambdaQueryWrapper);
             List<String> personIds = assoProjectPersonList.stream().map(AssoProjectPerson::getPersonId).collect(Collectors.toList());
             createIds.addAll(personIds);
         }
 
-
+        //查询创建人名称
+        if (createIds.size() != 0) {
+            String res = permissionService.getPersonnelByIdsFromPCS(createIds);
+            JSONObject jsonObject = JSONObject.parseObject(res);
+            personnels = JSONObject.parseArray(jsonObject.getString("data"), Personnel.class);
+        }
         //查询文件
         if (guids.size() != 0) {
             try {