Ver Fonte

7/25 被无效历史文件顺序修改

xiexiang há 1 ano atrás
pai
commit
581279e4b5

+ 11 - 3
src/main/java/cn/cslg/pas/service/business/AsInvalidReasonHistoryService.java

@@ -24,9 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -200,6 +198,16 @@ public class AsInvalidReasonHistoryService extends ServiceImpl<AsInvalidReasonHi
                     systemFiles = JSONObject.parseArray(res, SystemFile.class);
                 }
                 if (!systemFiles.isEmpty()) {
+                    Map<String, SystemFile> fileGuidToSystemFileMap = systemFiles.stream()
+                            .collect(Collectors.toMap(SystemFile::getGuid, sf -> sf));
+
+                    List<SystemFile> sortedSystemFiles = fileGuids.stream()
+                            .map(fileGuid -> fileGuidToSystemFileMap.get(fileGuid))
+                            .filter(Objects::nonNull)
+                            .collect(Collectors.toList());
+
+                    systemFiles = sortedSystemFiles;
+
                     asInvalidReasonHistoryVO.setSystemFileList(systemFiles);
                 }
             }

+ 33 - 6
src/main/java/cn/cslg/pas/service/business/InvalidRecordService.java

@@ -32,6 +32,7 @@ import java.util.stream.Collectors;
 
 /**
  * 被无效历史
+ *
  * @Author xiexiang
  * @Date 2024/1/19
  */
@@ -82,10 +83,11 @@ public class InvalidRecordService extends ServiceImpl<InvalidRecordMapper, Inval
 
     /**
      * 新增or更新
+     *
      * @param invalidRecordDTO
      * @return
      */
-    public Integer saveOrUpdate(InvalidRecordDTO invalidRecordDTO){
+    public Integer saveOrUpdate(InvalidRecordDTO invalidRecordDTO) {
         if (invalidRecordDTO == null) {
             throw new XiaoShiException("入参为空");
         }
@@ -127,6 +129,7 @@ public class InvalidRecordService extends ServiceImpl<InvalidRecordMapper, Inval
 
     /**
      * 查询
+     *
      * @param patentNo
      * @return
      * @throws IOException
@@ -178,6 +181,7 @@ public class InvalidRecordService extends ServiceImpl<InvalidRecordMapper, Inval
 
     /**
      * 装载
+     *
      * @param invalidRecordVOS
      * @throws IOException
      */
@@ -207,8 +211,19 @@ public class InvalidRecordService extends ServiceImpl<InvalidRecordMapper, Inval
             if (fileGuids != null && fileGuids.size() != 0) {
                 String res = fileManagerService.getSystemFileFromFMS(fileGuids);
                 systemFiles = JSONObject.parseArray(res, SystemFile.class);
+                System.out.println("before" + systemFiles);
             }
             if (!systemFiles.isEmpty()) {
+                Map<String, SystemFile> fileGuidToSystemFileMap = systemFiles.stream()
+                        .collect(Collectors.toMap(SystemFile::getGuid, sf -> sf));
+
+                List<SystemFile> sortedSystemFiles = fileGuids.stream()
+                        .map(fileGuid -> fileGuidToSystemFileMap.get(fileGuid))
+                        .filter(Objects::nonNull)
+                        .collect(Collectors.toList());
+
+                systemFiles = sortedSystemFiles;
+                System.out.println("after" + systemFiles);
                 invalidRecordVO.setSystemFileList(systemFiles);
             }
         }
@@ -216,6 +231,7 @@ public class InvalidRecordService extends ServiceImpl<InvalidRecordMapper, Inval
 
     /**
      * 删除
+     *
      * @param ids
      * @return
      */
@@ -231,7 +247,7 @@ public class InvalidRecordService extends ServiceImpl<InvalidRecordMapper, Inval
         return ids;
     }
 
-    public List<InvalidRecordVO> findInvalidRecord(String patentNo, List<InvalidRecordVO> invalidRecordVOS){
+    public List<InvalidRecordVO> findInvalidRecord(String patentNo, List<InvalidRecordVO> invalidRecordVOS) {
         PersonnelVO personnelVO = new PersonnelVO();
         try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
@@ -289,7 +305,7 @@ public class InvalidRecordService extends ServiceImpl<InvalidRecordMapper, Inval
         return finalVOS;
     }
 
-    public Date loadInvalidTime(Integer type, ReportProject reportProject){
+    public Date loadInvalidTime(Integer type, ReportProject reportProject) {
         LambdaQueryWrapper<ReportAffair> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(ReportAffair::getAffairType, type)
                 .eq(ReportAffair::getProjectId, reportProject.getProjectId())
@@ -303,7 +319,7 @@ public class InvalidRecordService extends ServiceImpl<InvalidRecordMapper, Inval
         }
     }
 
-    public ReVO loadResult(Integer type, ReportProject reportProject){
+    public ReVO loadResult(Integer type, ReportProject reportProject) {
         ReVO reVO = new ReVO();
         String result = "";
         LambdaQueryWrapper<ReportAffair> queryWrapper = new LambdaQueryWrapper<>();
@@ -355,10 +371,11 @@ public class InvalidRecordService extends ServiceImpl<InvalidRecordMapper, Inval
 
     /**
      * 根据报告id获取附件集合
+     *
      * @param projectId
      * @return
      */
-    public List<String> loadFileGuids(Integer projectId){
+    public List<String> loadFileGuids(Integer projectId) {
         List<String> fileGuids = new ArrayList<>();
 //        LambdaQueryWrapper<AssoProjectFile> queryWrapper = new LambdaQueryWrapper<>();
 //        queryWrapper.eq(AssoProjectFile::getProjectId, projectId);
@@ -377,7 +394,17 @@ public class InvalidRecordService extends ServiceImpl<InvalidRecordMapper, Inval
             queryWrapper1.in(AssoReportAffairFile::getReportAffairId, reportAffairIds);
             List<AssoReportAffairFile> assoReportAffairFiles = assoReportAffairFileService.list(queryWrapper1);
             if (!assoReportAffairFiles.isEmpty()) {
-                fileGuids = assoReportAffairFiles.stream().map(AssoReportAffairFile::getFileGuid).collect(Collectors.toList());
+                fileGuids = assoReportAffairFiles.stream()
+                        .sorted(Comparator.comparing(file -> {
+                            for (ReportAffair reportAffair : reportAffairs) {
+                                if (reportAffair.getId() == file.getReportAffairId()) {
+                                    return reportAffair.getOccurredTime();
+                                }
+                            }
+                            return null;
+                        }))
+                        .map(AssoReportAffairFile::getFileGuid)
+                        .collect(Collectors.toList());
             }
         }
         return fileGuids;