xiexiang před 1 rokem
rodič
revize
d31788be2c

+ 1 - 0
src/main/java/cn/cslg/pas/controller/ReferencesController.java

@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.*;
 import java.util.List;
 
 /**
+ * 报告文档
  * @Author xiexiang
  * @Date 2023/12/19
  */

+ 83 - 43
src/main/java/cn/cslg/pas/service/business/InvalidRecordService.java

@@ -71,6 +71,12 @@ public class InvalidRecordService extends ServiceImpl<InvalidRecordMapper, Inval
     @Autowired
     private AssoProjectFileService assoProjectFileService;
 
+    @Autowired
+    private InvalidDecisionFileService invalidDecisionFileService;
+
+    @Autowired
+    private AssoReportAffairFileService assoReportAffairFileService;
+
     /**
      * 新增or更新
      * @param invalidRecordDTO
@@ -143,6 +149,16 @@ public class InvalidRecordService extends ServiceImpl<InvalidRecordMapper, Inval
                 InvalidRecordVO invalidRecordVO = new InvalidRecordVO();
                 BeanUtils.copyProperties(item, invalidRecordVO);
                 invalidRecordVO.setIfAdd(true);
+
+                LambdaQueryWrapper<AssoOtherPatentInfoFile> queryWrapper1 = new LambdaQueryWrapper<>();
+                queryWrapper1.eq(AssoOtherPatentInfoFile::getOtherPatentInfoId, invalidRecordVO.getId())
+                        .eq(AssoOtherPatentInfoFile::getType, 6);
+                List<AssoOtherPatentInfoFile> assoOtherPatentInfoFiles = assoOtherPatentInfoFileService.list(queryWrapper1);
+                if (!assoOtherPatentInfoFiles.isEmpty()) {
+                    List<String> fileGuids = assoOtherPatentInfoFiles.stream().map(AssoOtherPatentInfoFile::getFileGuid).collect(Collectors.toList());
+                    invalidRecordVO.setFileGuids(fileGuids);
+                }
+
                 invalidRecordVOS.add(invalidRecordVO);
             });
         }
@@ -179,21 +195,14 @@ public class InvalidRecordService extends ServiceImpl<InvalidRecordMapper, Inval
             if (personnel != null) {
                 invalidRecordVO.setCreateName(personnel.getPersonnelName());
             }
-            LambdaQueryWrapper<AssoOtherPatentInfoFile> queryWrapper = new LambdaQueryWrapper<>();
-            queryWrapper.eq(AssoOtherPatentInfoFile::getOtherPatentInfoId, invalidRecordVO.getId())
-                    .eq(AssoOtherPatentInfoFile::getType, 6);
-            List<AssoOtherPatentInfoFile> assoOtherPatentInfoFiles = assoOtherPatentInfoFileService.list(queryWrapper);
-            if (!assoOtherPatentInfoFiles.isEmpty()) {
-                List<String> fileGuids = assoOtherPatentInfoFiles.stream().map(AssoOtherPatentInfoFile::getFileGuid).collect(Collectors.toList());
-                invalidRecordVO.setFileGuids(fileGuids);
-                List<SystemFile> systemFiles = new ArrayList<>();
-                if (fileGuids.size() != 0) {
-                    String res = fileManagerService.getSystemFileFromFMS(fileGuids);
-                    systemFiles = JSONObject.parseArray(res, SystemFile.class);
-                }
-                if (!systemFiles.isEmpty()) {
-                    invalidRecordVO.setSystemFileList(systemFiles);
-                }
+            List<String> fileGuids = invalidRecordVO.getFileGuids();
+            List<SystemFile> systemFiles = new ArrayList<>();
+            if (fileGuids.size() != 0) {
+                String res = fileManagerService.getSystemFileFromFMS(fileGuids);
+                systemFiles = JSONObject.parseArray(res, SystemFile.class);
+            }
+            if (!systemFiles.isEmpty()) {
+                invalidRecordVO.setSystemFileList(systemFiles);
             }
         }
     }
@@ -225,32 +234,13 @@ public class InvalidRecordService extends ServiceImpl<InvalidRecordMapper, Inval
             reportProjects.forEach(item -> {
                 Project project = projectService.getById(item.getProjectId());
                 Integer type = item.getReportType();
-                //报告类型为稳定性分析和第三方意见  查询无效请求书
-                if (type.equals(1) || type.equals(2)) {
-                    InvalidRecordVO invalidRecordVO = new InvalidRecordVO();
-                    invalidRecordVO.setInvalidCaseNum(item.getCaseNumber());
-                    invalidRecordVO.setPatentNo(patentNo);
-                    Integer affairType = 1;
-                    Date time = this.loadInvalidTime(affairType, item);
-                    invalidRecordVO.setInvalidTime(time);
-                    invalidRecordVO.setCreateId(project.getCreateId());
-                    invalidRecordVO.setCreateTime(project.getCreateTime());
-                    List<String> fileGuids = this.loadFileGuids(item.getProjectId());
-                    invalidRecordVO.setFileGuids(fileGuids);
-                    invalidRecordVO.setIfAdd(false);
-                    //带出报告信息
-                    ReportVO reportVO = new ReportVO();
-                    BeanUtils.copyProperties(item, reportVO);
-                    Integer projectId = item.getProjectId();
-                    Project reportProject = projectService.getById(projectId);
-                    reportVO.setReportName(reportProject.getName());
-                    invalidRecordVO.setReportVO(reportVO);
-                    finalVOS.add(invalidRecordVO);
-                } else if (type.equals(7)) {
-                    //报告类型为官方无效  查询行政判决诉讼书
+                if (type.equals(7)) {
+                    //报告类型为官方无效
                     InvalidRecordVO invalidRecordVO = new InvalidRecordVO();
                     invalidRecordVO.setInvalidCaseNum(item.getCaseNumber());
+                    invalidRecordVO.setInvalidApplicant(item.getInvalidApplication());
                     invalidRecordVO.setPatentNo(patentNo);
+                    //无效请求书
                     Integer affairType = 1;
                     Date invalidTime = this.loadInvalidTime(affairType, item);
                     invalidRecordVO.setInvalidTime(invalidTime);
@@ -262,6 +252,10 @@ public class InvalidRecordService extends ServiceImpl<InvalidRecordMapper, Inval
                     List<String> fileGuids = this.loadFileGuids(item.getProjectId());
                     invalidRecordVO.setFileGuids(fileGuids);
                     invalidRecordVO.setIfAdd(false);
+                    //装载结果  先查询行政判决诉讼书
+                    Integer resultType = 5;
+                    String result = this.loadResult(resultType, item);
+                    invalidRecordVO.setResult(result);
                     //带出报告信息
                     ReportVO reportVO = new ReportVO();
                     BeanUtils.copyProperties(item, reportVO);
@@ -290,13 +284,59 @@ public class InvalidRecordService extends ServiceImpl<InvalidRecordMapper, Inval
         }
     }
 
+    public String loadResult(Integer type, ReportProject reportProject){
+        LambdaQueryWrapper<ReportAffair> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ReportAffair::getAffairType, type)
+                .eq(ReportAffair::getProjectId, reportProject.getProjectId())
+                .orderByDesc(ReportAffair::getCreateTime)
+                .last("LIMIT 1");
+        ReportAffair reportAffair = reportAffairService.getOne(queryWrapper, false);
+        if (reportAffair != null) {
+            return reportAffair.getDescription();
+        } else {
+            Integer affairType = 3;
+            LambdaQueryWrapper<ReportAffair> queryWrapper1 = new LambdaQueryWrapper<>();
+            queryWrapper1.eq(ReportAffair::getAffairType, affairType)
+                    .eq(ReportAffair::getProjectId, reportProject.getProjectId())
+                    .orderByDesc(ReportAffair::getCreateTime)
+                    .last("LIMIT 1");
+            ReportAffair reportAffair1 = reportAffairService.getOne(queryWrapper, false);
+            if (reportAffair1 != null) {
+                Integer reportAffairId2 = reportAffair1.getId();
+                LambdaQueryWrapper<InvalidDecisionFile> queryWrapper2 = new LambdaQueryWrapper<>();
+                queryWrapper2.eq(InvalidDecisionFile::getReportAffairId, reportAffairId2);
+                InvalidDecisionFile invalidDecisionFile = invalidDecisionFileService.getOne(queryWrapper2, false);
+                if (invalidDecisionFile != null) {
+                    return invalidDecisionFile.getDecisionKey();
+                } else {
+                    return null;
+                }
+            } else {
+                return null;
+            }
+        }
+    }
+
+
     public List<String> loadFileGuids(Integer projectId){
         List<String> fileGuids = new ArrayList<>();
-        LambdaQueryWrapper<AssoProjectFile> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(AssoProjectFile::getProjectId, projectId);
-        List<AssoProjectFile> assoProjectFiles = assoProjectFileService.list(queryWrapper);
-        if (!assoProjectFiles.isEmpty()) {
-            fileGuids = assoProjectFiles.stream().map(AssoProjectFile::getFileGuid).collect(Collectors.toList());
+//        LambdaQueryWrapper<AssoProjectFile> queryWrapper = new LambdaQueryWrapper<>();
+//        queryWrapper.eq(AssoProjectFile::getProjectId, projectId);
+//        List<AssoProjectFile> assoProjectFiles = assoProjectFileService.list(queryWrapper);
+//        if (!assoProjectFiles.isEmpty()) {
+//            fileGuids = assoProjectFiles.stream().map(AssoProjectFile::getFileGuid).collect(Collectors.toList());
+//        }
+        LambdaQueryWrapper<ReportAffair> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ReportAffair::getProjectId, projectId);
+        List<ReportAffair> reportAffairs = reportAffairService.list(queryWrapper);
+        if (!reportAffairs.isEmpty()) {
+            List<Integer> reportAffairIds = reportAffairs.stream().map(ReportAffair::getId).collect(Collectors.toList());
+            LambdaQueryWrapper<AssoReportAffairFile> queryWrapper1 = new LambdaQueryWrapper<>();
+            queryWrapper1.in(AssoReportAffairFile::getReportAffairId, reportAffairIds);
+            List<AssoReportAffairFile> assoReportAffairFiles = assoReportAffairFileService.list(queryWrapper1);
+            if (!assoReportAffairFiles.isEmpty()) {
+                fileGuids = assoReportAffairFiles.stream().map(AssoReportAffairFile::getFileGuid).collect(Collectors.toList());
+            }
         }
         return fileGuids;
     }