|
@@ -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
|
|
@@ -118,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";
|
|
|
}
|
|
@@ -269,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();
|
|
|
|
|
@@ -332,7 +337,6 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
|
|
|
assoProject.insert();
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* 装载reportProject
|
|
|
*/
|
|
@@ -416,6 +420,10 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
|
|
|
assoReportCronService.saveBatch(assoReportCrons);
|
|
|
}
|
|
|
|
|
|
+ List<String> involvedPersonIds = reportProjectDTO.getInvolvedPersonIds();
|
|
|
+
|
|
|
+ //添加项目的参与人
|
|
|
+ assoProjectPersonService.addProjectPeople(1, project.getId(), involvedPersonIds);
|
|
|
/**
|
|
|
* 复制信息
|
|
|
*/
|
|
@@ -435,6 +443,7 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
|
|
|
|
|
|
|
|
|
}
|
|
|
+
|
|
|
//返回id
|
|
|
return project.getId();
|
|
|
}
|
|
@@ -459,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();
|
|
|
/**
|
|
@@ -598,6 +607,14 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
|
|
|
});
|
|
|
assoReportCronService.saveBatch(assoReportCrons);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ *装载参与人
|
|
|
+ */
|
|
|
+ List<String> involvedPersonIds = updateReportProjectDTO.getInvolvedPersonIds();
|
|
|
+ assoProjectPersonService.updateProjectPeople(1,project.getId(),involvedPersonIds);
|
|
|
+
|
|
|
//返回id
|
|
|
return project.getId();
|
|
|
}
|
|
@@ -624,6 +641,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 -> {
|
|
|
|
|
@@ -662,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);
|
|
@@ -708,9 +719,22 @@ 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)
|
|
|
+ .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 {
|
|
@@ -779,6 +803,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) {
|