Procházet zdrojové kódy

报告归档选择报告组件

lizhenhao před 2 roky
rodič
revize
115b725c3e

+ 26 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReportArchive/service/CwProjectReportArchiveService.java

@@ -146,10 +146,36 @@ public class CwProjectReportArchiveService extends ServiceImpl<CwProjectReportAr
      * @throws Exception
      */
     public IPage<ReportDTO> findReportList(Page<ReportDTO> page, ReportDTO reportDTO) throws Exception{
+        String repId = "";
+        if (ObjectUtil.isNotEmpty(reportDTO)) {
+            if (StringUtils.isNotBlank(reportDTO.getAchiveId())) {
+                CwProjectReportArchive byId = this.getById(reportDTO.getAchiveId());
+                if (ObjectUtil.isNotEmpty(byId)) {
+                    if (StringUtils.isNotBlank(byId.getReportId())) {
+                        repId = byId.getReportId();
+                    }
+                }
+            }
+        }
+        String finalRepId = repId;
+        List<String> reportIds = this.list().stream().filter(item -> {
+            if (StringUtils.isNotBlank(item.getReportId())) {
+                if (StringUtils.isNotBlank(finalRepId)) {
+                    if (item.getReportId().equals(finalRepId)) {
+                        return false;
+                    }
+                }
+                return true;
+            }
+            return false;
+        }).distinct().map(CwProjectReportArchive::getReportId).collect(Collectors.toList());
         QueryWrapper<ReportDTO> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("cw_pr.del_flag","0");
         queryWrapper.orderByDesc("cw_pr.create_date");
         queryWrapper.eq("cw_pr.status", "5");
+        if (CollectionUtil.isNotEmpty(reportIds)) {
+            queryWrapper.notIn("cw_pr.id",reportIds);
+        }
         if (ObjectUtil.isNotEmpty(reportDTO)) {
             if (StringUtils.isNotBlank(reportDTO.getProjectId())) {
                 queryWrapper.eq("cw_pr.project_id",reportDTO.getProjectId());

+ 1 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReportArchive/service/dto/ReportDTO.java

@@ -17,4 +17,5 @@ public class ReportDTO {
     private String createName;// 创建人姓名
     private String createBy;// 创建人id
     private String reportId;// 报告id
+    private String achiveId;// 报告归档id
 }