|
@@ -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) {
|