Ver código fonte

替换报告系统涉及文件代码

chenyu 2 anos atrás
pai
commit
d742789eb9

+ 2 - 2
RMS/src/main/java/cn/cslg/report/controller/CompareController.java

@@ -87,7 +87,7 @@ public class CompareController {
 
     @Operation(summary = "上传非专利文献证据")
     @PostMapping("/addProofByFile")
-    public String addProofByFile(String proofAddNewDTOStr, List<MultipartFile> files) {
+    public String addProofByFile(String proofAddNewDTOStr, List<MultipartFile> files) throws IOException {
         ProofAddNewDTO proofAddNewDTO = JSONObject.parseObject(proofAddNewDTOStr, ProofAddNewDTO.class);
         compareFilesService.addProofByFile(proofAddNewDTO, files);
         return Response.success();
@@ -95,7 +95,7 @@ public class CompareController {
 
     @Operation(summary = "删除专利证据文献")
     @PostMapping("/deleteCompareFile")
-    public String deleteCompareFile(@RequestBody List<Integer> ids) {
+    public String deleteCompareFile(@RequestBody List<Integer> ids) throws IOException {
         return compareFilesService.deleteCompareFile(ids);
     }
 }

+ 2 - 2
RMS/src/main/java/cn/cslg/report/controller/CompareFilesController.java

@@ -76,13 +76,13 @@ public class CompareFilesController {
 
     @Operation(summary = "查询专利文献列表")
     @PostMapping("/queryProof")
-    public String queryProof(@RequestBody ProofQueryDTO proofAddNewDTO) {
+    public String queryProof(@RequestBody ProofQueryDTO proofAddNewDTO) throws IOException {
         return compareFilesService.queryProof(proofAddNewDTO);
     }
 
     @Operation(summary = "上传非专利文献证据")
     @PostMapping("/addProofByFile")
-    public String addProofByFile(String proofAddNewDTOStr, List<MultipartFile> files) {
+    public String addProofByFile(String proofAddNewDTOStr, List<MultipartFile> files) throws IOException {
         ProofAddNewDTO proofAddNewDTO = JSONObject.parseObject(proofAddNewDTOStr, ProofAddNewDTO.class);
         compareFilesService.addProofByFile(proofAddNewDTO, files);
         return Response.success();

+ 26 - 12
RMS/src/main/java/cn/cslg/report/service/business/CompareFilesService.java

@@ -13,16 +13,14 @@ import cn.cslg.report.common.model.vo.PatentIndexSettingVO;
 import cn.cslg.report.common.model.vo.PatentVO;
 import cn.cslg.report.common.model.vo.PersonnelVO;
 import cn.cslg.report.common.model.vo.invalidReReport.ProofVO;
-import cn.cslg.report.common.utils.DataUtils;
-import cn.cslg.report.common.utils.JsonUtils;
-import cn.cslg.report.common.utils.Response;
-import cn.cslg.report.common.utils.ThrowException;
+import cn.cslg.report.common.utils.*;
 import cn.cslg.report.entity.*;
 import cn.cslg.report.entity.asso.AssoRecordsFeature;
 import cn.cslg.report.entity.asso.AssoTaskPersonel;
 import cn.cslg.report.entity.invalidReReport.Proof;
 import cn.cslg.report.mapper.CompareFilesMapper;
 import cn.cslg.report.service.OutInterfaceService;
+import cn.cslg.report.service.file.FileManagerService;
 import cn.hutool.core.lang.func.Func;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -63,6 +61,7 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
     private final AssoTaskPersonelService assoTaskPersonelService;
     private final CompareRecordsService compareRecordsService;
     private final ReportFileService reportFileService;
+    private final FileManagerService fileManagerService;
 
     /**
      * @param compareFilesVO
@@ -650,7 +649,7 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
      * @param proofAddNewDTO
      * @return
      */
-    public String queryProof(ProofQueryDTO proofAddNewDTO) {
+    public String queryProof(ProofQueryDTO proofAddNewDTO) throws IOException {
         Integer reportId = proofAddNewDTO.getReportId();
         Integer current = proofAddNewDTO.getCurrent();
         Integer size = proofAddNewDTO.getSize();
@@ -671,16 +670,23 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
         return Response.success(proofVOS, DataUtils.setPageColumn(size, current, Math.toIntExact(count)));
     }
 
-    private List<ProofVO> loadProof(List<CompareFiles> proofs) {
+    private List<ProofVO> loadProof(List<CompareFiles> proofs) throws IOException {
         List<ProofVO> proofVOS = new ArrayList<>();
         //筛选出文件id
         List<Integer> fileId = proofs.stream().filter(item -> item.getFileType().equals(2)).map(CompareFiles::getFileId).collect(Collectors.toList());
         //根据文件id获得所有的文件
         List<ReportFiles> reportFiles = new ArrayList<>();
         if (fileId.size() != 0) {
-            LambdaQueryWrapper<ReportFiles> reportFilesLambdaQueryWrapper = new LambdaQueryWrapper<>();
-            reportFilesLambdaQueryWrapper.in(ReportFiles::getId, fileId);
-            reportFiles = reportFileService.list(reportFilesLambdaQueryWrapper);
+//            LambdaQueryWrapper<ReportFiles> reportFilesLambdaQueryWrapper = new LambdaQueryWrapper<>();
+//            reportFilesLambdaQueryWrapper.in(ReportFiles::getId, fileId);
+//            reportFiles = reportFileService.list(reportFilesLambdaQueryWrapper);
+            String res = fileManagerService.getSystemFileFromFMS(fileId);
+            List<SystemFile> systemFiles = JSONArray.parseArray(res, SystemFile.class);
+            systemFiles.forEach(systemFile -> {
+                ReportFiles reportFile = new ReportFiles();
+                SystemFileToReportFile.systemFileToReportFile(systemFile, reportFile);
+                reportFiles.add(reportFile);
+            });
         }
         List<ReportFiles> reportFile = reportFiles;
         proofs.forEach(item -> {
@@ -706,7 +712,7 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
     }
 
     //上传非专利文献证据
-    public void addProofByFile(ProofAddNewDTO proofAddNewDTO, List<MultipartFile> files) {
+    public void addProofByFile(ProofAddNewDTO proofAddNewDTO, List<MultipartFile> files) throws IOException {
         //检查本次请求合法性(是否有上传非专利文献证据)
         if (proofAddNewDTO == null || proofAddNewDTO.getFileName() == null || proofAddNewDTO.getFileName() == "") {
             ThrowException.throwXiaoShiException("请填写文件名");
@@ -731,7 +737,10 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
         proof.setFileType(2);  //装载证据类型
         if (files != null && files.size() > 0) {
             //上传非专利文献证据文件附件,附件信息入报告系统文件表后,返回附件ids
-            List<Integer> fileIds = reportFileService.uploadFiles(files);
+            //List<Integer> fileIds = reportFileService.uploadFiles(files);
+            String res = fileManagerService.uploadFile(files);
+            JSONObject jsonObject = JSONObject.parseObject(res);
+            List<Integer> fileIds = JSONArray.parseArray(jsonObject.getString("data").toString(), Integer.class);
             proof.setFileId(fileIds.get(0));  //装载文件id
         }
         proof.setSysOrder(++biggestSort);
@@ -743,10 +752,15 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
 
 
     //删除证据文献
-    public String deleteCompareFile(List<Integer> ids) {
+    public String deleteCompareFile(List<Integer> ids) throws IOException {
         if (ids == null || ids.size() == 0) {
             return Response.error("请至少选择一个证据文献");
         }
+        List<CompareFiles> proofs = this.list(new LambdaQueryWrapper<CompareFiles>().in(CompareFiles::getId, ids));
+        if (proofs != null && proofs.size() > 0) {
+            List<Integer> fileIds = proofs.stream().filter(item -> item.getFileType().equals(2)).map(CompareFiles::getFileId).collect(Collectors.toList());
+            fileManagerService.deleteFileFromFMS(fileIds);
+        }
         this.removeByIds(ids);
         return Response.success("删除成功");
     }