|
@@ -47,12 +47,16 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
|
|
|
private final AssoReportFileService assoReportFileService;
|
|
|
private final ReportFileService reportFileService;
|
|
|
private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
+ private final TaskService taskService;
|
|
|
+ private final FeatureService featureService;
|
|
|
+ private final CompareScenariosService compareScenariosService;
|
|
|
+
|
|
|
/**
|
|
|
* @param report 报告类
|
|
|
* @author 沈永艺
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public Integer addReport(Report report ,List<MultipartFile> files) {
|
|
|
+ public Integer addReport(Report report, List<MultipartFile> files) {
|
|
|
try {
|
|
|
report.getScenarioList();
|
|
|
report.setScenarioId(StringUtils.join(report.getScenarioList(), ","));
|
|
@@ -71,12 +75,12 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
|
|
|
report.setClientName(clientName);
|
|
|
report.setDepartmentName(map.get("departName").toString());
|
|
|
report.setPersonName(map.get("personName").toString());
|
|
|
- PersonnelVO personnelVO =cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
+ PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
report.setCreatePersonId(personnelVO.getId());
|
|
|
report.setCreatePersonName(personnelVO.getName());
|
|
|
boolean addFlag = this.save(report);
|
|
|
|
|
|
- if (files!=null&&files.size() != 0) {
|
|
|
+ if (files != null && files.size() != 0) {
|
|
|
//将文档上传并返回文件入库的Id
|
|
|
List<Integer> fileIds = reportFileService.uploadFiles(files);
|
|
|
assoReportFileService.addAsso(report.getId(), fileIds);
|
|
@@ -84,7 +88,7 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
|
|
|
}
|
|
|
|
|
|
if (addFlag) {
|
|
|
- reportFieldService.addDefaultField(report.getId(),report.getType());
|
|
|
+ reportFieldService.addDefaultField(report.getId(), report.getType());
|
|
|
return report.getId();
|
|
|
} else {
|
|
|
return 0;
|
|
@@ -126,17 +130,18 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
|
|
|
}
|
|
|
|
|
|
public List<Report> reportData(List<Report> reports) throws IOException {
|
|
|
- List<Integer> reportIds =reports.stream().map(Report::getId).collect(Collectors.toList());
|
|
|
- List<AssoReportFile> assoReportFiles=assoReportFileService.queryFileByReportId(reportIds);
|
|
|
- List<ReportFiles> reportFilesList =new ArrayList<>();
|
|
|
- if(assoReportFiles.size()!=0){
|
|
|
- List<Integer> fileIds =assoReportFiles.stream().map(AssoReportFile::getFileId).collect(Collectors.toList());
|
|
|
- reportFilesList =reportFileService.getFiles(fileIds);}
|
|
|
+ List<Integer> reportIds = reports.stream().map(Report::getId).collect(Collectors.toList());
|
|
|
+ List<AssoReportFile> assoReportFiles = assoReportFileService.queryFileByReportId(reportIds);
|
|
|
+ List<ReportFiles> reportFilesList = new ArrayList<>();
|
|
|
+ if (assoReportFiles.size() != 0) {
|
|
|
+ List<Integer> fileIds = assoReportFiles.stream().map(AssoReportFile::getFileId).collect(Collectors.toList());
|
|
|
+ reportFilesList = reportFileService.getFiles(fileIds);
|
|
|
+ }
|
|
|
|
|
|
String res = outInterfaceService.getDictsFromPAS();
|
|
|
JSONObject jsonObject = JSONObject.parseObject(res);
|
|
|
- List<SystemDictVO> list = JSONArray.parseArray(jsonObject.getString("data"),SystemDictVO.class);
|
|
|
- List<ReportFiles> temList=reportFilesList;
|
|
|
+ List<SystemDictVO> list = JSONArray.parseArray(jsonObject.getString("data"), SystemDictVO.class);
|
|
|
+ List<ReportFiles> temList = reportFilesList;
|
|
|
reports.forEach(
|
|
|
item -> {
|
|
|
if (StringUtils.isNotEmpty(item.getScenarioId())) {
|
|
@@ -144,9 +149,10 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
|
|
|
item.setScenarioNames(list.stream().filter(systemDict -> systemDict.getType().equals(Constants.ENTERPRISE_APPLICATION_SCENARIO) && item.getScenarioList().contains(systemDict.getValue())).map(SystemDictVO::getLabel).collect(Collectors.toList()));
|
|
|
item.setScenarioId(null);
|
|
|
}
|
|
|
- List<AssoReportFile> partReportFiles =assoReportFiles.stream().filter(tem->tem.getReportId().equals(item.getId())).collect(Collectors.toList());
|
|
|
- if(partReportFiles.size()==0){ item.setReportFiles(null);}
|
|
|
- else {
|
|
|
+ List<AssoReportFile> partReportFiles = assoReportFiles.stream().filter(tem -> tem.getReportId().equals(item.getId())).collect(Collectors.toList());
|
|
|
+ if (partReportFiles.size() == 0) {
|
|
|
+ item.setReportFiles(null);
|
|
|
+ } else {
|
|
|
List<Integer> partFileIds = partReportFiles.stream().map(AssoReportFile::getFileId).collect(Collectors.toList());
|
|
|
List<ReportFiles> partFiles = temList.stream().filter(tem -> partFileIds.contains(tem.getId())).collect(Collectors.toList());
|
|
|
item.setReportFiles(partFiles);
|
|
@@ -158,58 +164,65 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
|
|
|
|
|
|
//更新报告
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public Boolean updateReport( Report report, List<MultipartFile> files){
|
|
|
+ public Boolean updateReport(Report report, List<MultipartFile> files) {
|
|
|
// 根据报告Id查询对应的附件Id
|
|
|
- LambdaQueryWrapper<AssoReportFile> wrapper =new LambdaQueryWrapper<>();
|
|
|
- wrapper.eq(AssoReportFile::getReportId,report.getId());
|
|
|
-List<AssoReportFile> assoReportFiles= assoReportFileService.list(wrapper);
|
|
|
-List<Integer> fileIds =assoReportFiles.stream().map(AssoReportFile::getFileId).collect(Collectors.toList());
|
|
|
- // 获得报告更新后的附件Id
|
|
|
- List<Integer> updateFileId =new ArrayList<>();
|
|
|
- if(report.getReportFiles()!=null){
|
|
|
- updateFileId = report.getReportFiles().stream().map(ReportFiles::getId).collect(Collectors.toList());
|
|
|
- fileIds.removeAll(updateFileId);}
|
|
|
+ LambdaQueryWrapper<AssoReportFile> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(AssoReportFile::getReportId, report.getId());
|
|
|
+ List<AssoReportFile> assoReportFiles = assoReportFileService.list(wrapper);
|
|
|
+ List<Integer> fileIds = assoReportFiles.stream().map(AssoReportFile::getFileId).collect(Collectors.toList());
|
|
|
+ // 获得报告更新后的附件Id
|
|
|
+ List<Integer> updateFileId = new ArrayList<>();
|
|
|
+ if (report.getReportFiles() != null) {
|
|
|
+ updateFileId = report.getReportFiles().stream().map(ReportFiles::getId).collect(Collectors.toList());
|
|
|
+ fileIds.removeAll(updateFileId);
|
|
|
+ }
|
|
|
//做差获得被删除的文件Id
|
|
|
|
|
|
-if(fileIds.size()!=0){
|
|
|
- //根据文件Id删除报告文件关联表记录
|
|
|
- LambdaQueryWrapper<AssoReportFile> deleteWrapper = new LambdaQueryWrapper<>();
|
|
|
- deleteWrapper.in(AssoReportFile::getFileId,fileIds);
|
|
|
- assoReportFileService.remove(deleteWrapper);
|
|
|
- //根据文件Id删除文件表记录
|
|
|
- reportFileService.removeByIds(fileIds);
|
|
|
-}
|
|
|
+ if (fileIds.size() != 0) {
|
|
|
+ //根据文件Id删除报告文件关联表记录
|
|
|
+ LambdaQueryWrapper<AssoReportFile> deleteWrapper = new LambdaQueryWrapper<>();
|
|
|
+ deleteWrapper.in(AssoReportFile::getFileId, fileIds);
|
|
|
+ assoReportFileService.remove(deleteWrapper);
|
|
|
+ //根据文件Id删除文件表记录
|
|
|
+ reportFileService.removeByIds(fileIds);
|
|
|
+ }
|
|
|
//添加附件
|
|
|
- if (files!=null&&files.size() != 0) {
|
|
|
+ if (files != null && files.size() != 0) {
|
|
|
//将文档上传并返回文件入库的Id
|
|
|
List<Integer> fileIdList = reportFileService.uploadFiles(files);
|
|
|
assoReportFileService.addAsso(report.getId(), fileIdList);
|
|
|
|
|
|
}
|
|
|
- return report.updateById();
|
|
|
+ return report.updateById();
|
|
|
|
|
|
}
|
|
|
|
|
|
//删除报告
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public String reportDele(int id) throws IOException{
|
|
|
+ public String reportDele(int id) throws IOException {
|
|
|
+ //删除所有和报告有关的任务
|
|
|
+ taskService.deleteTaskByreportId(id);
|
|
|
+ //删除所有和报告有关的特征
|
|
|
+ featureService.delByReportId(id);
|
|
|
+ //删除所有和报告有关的自定义字段
|
|
|
+ reportFieldService.deleteByReportId(id);
|
|
|
+ //删除所有和报告有关的对比方案
|
|
|
+ compareScenariosService.deleteByReportId(id);
|
|
|
assoTaskPersonelService.deleAssoTaskPersonel(id);
|
|
|
-
|
|
|
- int dele = reportMapper.dele(id);
|
|
|
- if(dele>0){
|
|
|
+ int dele = reportMapper.dele(id);
|
|
|
+ if (dele > 0) {
|
|
|
return Response.success();
|
|
|
}
|
|
|
- return Response.error("没有数据");
|
|
|
-
|
|
|
+ return Response.error("没有数据");
|
|
|
}
|
|
|
- public String getName(int id) throws IOException{
|
|
|
+
|
|
|
+ public String getName(int id) throws IOException {
|
|
|
LambdaQueryWrapper<Report> wrapper = new LambdaQueryWrapper<>();
|
|
|
- wrapper.eq(Report::getId,id);
|
|
|
+ wrapper.eq(Report::getId, id);
|
|
|
Report report = this.list(wrapper).get(0);
|
|
|
return report.getName();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
}
|