lwhhszx 2 éve
szülő
commit
e5ecd3a7f5

+ 1 - 0
RMS/src/main/java/cn/cslg/report/common/model/vo/CompareScenariosVO.java

@@ -10,6 +10,7 @@ import java.util.List;
 @Data
 @Accessors(chain = true)
 public class CompareScenariosVO {
+    private Integer id;
 
     private Integer rightId;
 

+ 16 - 3
RMS/src/main/java/cn/cslg/report/controller/CompareScenariosController.java

@@ -2,6 +2,7 @@ package cn.cslg.report.controller;
 
 import cn.cslg.report.common.core.base.Constants;
 import cn.cslg.report.common.model.vo.CompareScenariosVO;
+import cn.cslg.report.common.utils.Response;
 import cn.cslg.report.service.business.CompareScenariosService;
 
 import io.swagger.v3.oas.annotations.Operation;
@@ -11,6 +12,7 @@ import org.springframework.context.annotation.Lazy;
 import org.springframework.web.bind.annotation.*;
 
 import java.io.IOException;
+import java.util.List;
 
 
 @Tag(name = "对比方案")
@@ -22,14 +24,25 @@ public class CompareScenariosController {
 
     @PostMapping("/addCompareScenarios")
     @Operation(summary = "增加对比方案")
-    public String add(@RequestBody CompareScenariosVO compareScenariosVO) throws IOException{
+    public String add(@RequestBody CompareScenariosVO compareScenariosVO) throws IOException {
         return compareScenariosService.add(compareScenariosVO);
     }
+
     @GetMapping("/select")
     @Operation(summary = "查询对比方案")
-    public String select(int reportID)throws IOException{
+    public String select(int reportID) throws IOException {
         return compareScenariosService.select(reportID);
     }
 
+    @PostMapping(value = "/delete", produces = "application/json")
+    @Operation(summary = "删除对比方案")
+    public String delete(@RequestBody List<Integer> scenIds) throws IOException {
+        Boolean flag = compareScenariosService.deleteById(scenIds);
+        if (flag) {
+            return Response.success("删除成功");
+        } else {
+            return Response.error("删除失败");
+        }
 
-}
+    }
+}

+ 27 - 12
RMS/src/main/java/cn/cslg/report/service/business/CompareScenariosService.java

@@ -76,7 +76,6 @@ public class CompareScenariosService extends ServiceImpl<CompareScenariosMapper,
         }
        return Response.success();
     }
-
     /**
      * @function:根据报告id查询对比方案
      * @param reportID
@@ -89,6 +88,10 @@ public class CompareScenariosService extends ServiceImpl<CompareScenariosMapper,
         LambdaQueryWrapper<CompareScenarios> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(CompareScenarios::getReportId, reportID);
         List<CompareScenarios> CompareScenarios = this.list(wrapper);
+        //根据报告ID和权要id获得特征
+        LambdaQueryWrapper<Features> featuresWrapper =new LambdaQueryWrapper<>();
+        featuresWrapper.eq(Features::getReportId,reportID);
+        List<Features> allFeatures =featureService.list(featuresWrapper);
         //遍历对比方案
         for (CompareScenarios a:CompareScenarios){
             CompareScenariosVO compareScenariosVO=new CompareScenariosVO();
@@ -97,12 +100,17 @@ public class CompareScenariosService extends ServiceImpl<CompareScenariosMapper,
             compareScenariosVO.setReportId(a.getReportId());
             compareScenariosVO.setSignPatentNo(  a.getSignPatentNo());
             compareScenariosVO.setRight(a.getRightName());
+            compareScenariosVO.setId(a.getId());
+            //获得对比方案的特征列表
+            List<Features> featuresLists =allFeatures.stream().filter(item->item.getRightId().equals(a.getRightId())).collect(Collectors.toList());
+
             //根据对比方案ID获得所有对比方案和对比记录关联信息
             List<AssoScenarIOS> select = assoScenarIOSService.select(a.getId());
             //获得Id不为0的对比记录和特征关联Id
             List<Integer> featureRecordIds = select.stream().filter(item->item.getFeatureRecordID()!=0).map(AssoScenarIOS::getFeatureRecordID).collect(Collectors.toList());
             //根据关联Id获得特征Id和对比记录ID
             List<AssoRecordsFeature> assoRecordsFeatures =new ArrayList<>();
+            List<AssoRecordsFeature> assoRecordsFeatures1 =new ArrayList<>();
             if(featureRecordIds.size()!=0) {
                 LambdaQueryWrapper<AssoRecordsFeature> wrapper1 = new LambdaQueryWrapper<>();
                 wrapper1.in(AssoRecordsFeature::getId, featureRecordIds);
@@ -120,17 +128,15 @@ public class CompareScenariosService extends ServiceImpl<CompareScenariosMapper,
             LambdaQueryWrapper<CompareRecords> wrapper3 =new LambdaQueryWrapper<>();
             wrapper3.in(CompareRecords::getId,recordId);
             List<CompareRecords> compareRecords =compareRecordsService.list(wrapper3);
-            assoRecordsFeatures.forEach(
-                 item->{
-                     //过滤特征
-                  Features features1 =features.stream().filter(tem->tem.getId().equals(item.getFeatureId())).findFirst().orElse(new Features());
-                    //筛选对比文件
-                  CompareRecords compareRecords1 =compareRecords.stream().filter(tem->tem.getId().equals(item.getRecordsId())).findFirst().orElse(new CompareRecords());
-                     item.setCompareRecords(compareRecords1);
-                     item.setFeatures(features1);
-                 }
 
-            );
+            for(Features item : featuresLists) {
+                AssoRecordsFeature assoRecordsFeature = assoRecordsFeatures.stream().filter(te->te.getFeatureId().equals(item.getId())).findFirst().orElse(new AssoRecordsFeature());
+                //筛选对比文件
+                CompareRecords compareRecords1 = compareRecords.stream().filter(tem -> tem.getId().equals(assoRecordsFeature.getRecordsId())).findFirst().orElse(new CompareRecords());
+                assoRecordsFeature.setCompareRecords(compareRecords1);
+                assoRecordsFeature.setFeatures(item);
+                assoRecordsFeatures1.add(assoRecordsFeature);
+            }
             }
             //过滤拿到特征id
            List<Integer> featuresIds =select.stream().filter(item->item.getFeatureRecordID().equals(0)).map(AssoScenarIOS::getFeaturesID).collect(Collectors.toList());
@@ -143,7 +149,7 @@ public class CompareScenariosService extends ServiceImpl<CompareScenariosMapper,
             }
             compareScenariosVO.setFeaturesList(featuresList);
             compareScenariosVO.setFeaturesIDList(featuresIds);
-            compareScenariosVO.setAssoRecordsFeatures(assoRecordsFeatures);
+            compareScenariosVO.setAssoRecordsFeatures(assoRecordsFeatures1);
          list.add(compareScenariosVO);
         }
         return Response.success(list);
@@ -161,6 +167,15 @@ public class CompareScenariosService extends ServiceImpl<CompareScenariosMapper,
          queryWrapper.eq(CompareScenarios::getReportId,reportId);
         return  this.remove(queryWrapper);
     }
+    public Boolean deleteById(List<Integer> scenIds)throws IOException{
+        List<CompareScenariosVO> list=new ArrayList<>();
+        //根据报告ID查询对比方案
+        LambdaQueryWrapper<AssoScenarIOS> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(AssoScenarIOS::getScenariosID, scenIds);
+  assoScenarIOSService.remove(wrapper);
+  Boolean flag =this.removeByIds(scenIds);
+        return flag;
 
+    }
 
 }

+ 37 - 26
RMS/src/main/java/cn/cslg/report/service/business/ReportDocumentService.java

@@ -291,7 +291,7 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
             }
             //存放对比方案每一个特征记录
             List<Map<String, Object>> maps = new ArrayList<>();
-            partFeatures.forEach(tem -> {
+            allRightFeatures.forEach(tem -> {
 
                List<AssoRecordsFeature>  assoRecordsFeatures2 = assoRecordsFeatures1.stream().filter(item -> item.getFeatureId().equals(tem.getId())).collect(Collectors.toList());
                if(comFetIds.contains(tem.getId())){
@@ -301,34 +301,45 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
                    map.put("compareContent", "");
                    maps.add(map);
                }
-               for(AssoRecordsFeature assoRecordsFeature :assoRecordsFeatures2){
+               else if(assoRecordsFeatures2.size()!=0) {
                    Map<String, Object> map = new LinkedHashMap<>();
                    map.put("featureContent", tem.getContent());
-                   map.put("compareResult", assoRecordsFeature.getComResult() != null ? assoRecordsFeature.getComResult() : "不公开");
-                   CompareRecords record = records.stream().filter(item -> item.getId().equals(assoRecordsFeature.getRecordsId())).findFirst().orElse(new CompareRecords());
-                   String compareContent = "";
-                   //获取对比内容
-                   String content = record.getContent() != null ? record.getContent() : "";
-                   //获得对比专利号
-                   String patentNo = record.getPatentNo() != null ? record.getPatentNo() : "";
-                   if (OtherName.containsKey(patentNo)) {
-                       patentNo = OtherName.get(patentNo).toString()+":";
-                   }
-                   else if(!patentNo.equals("")){
-                       patentNo+=":";
-                   }
-
-                   //获得解析过程
-                   String paresingProcess = record.getParesingProcess() != null ? "(" + record.getParesingProcess() + ")" : "";
-                   compareContent = patentNo + content + paresingProcess;
-                   //获取对比专利号
-                   map.put("compareContent", compareContent);
-                   map.put("figure", fileUtils.getSystemPath() + record.getFilePath());
-                   if (record.getFields() == null && record.getPosition() == null) {
-                       map.put("position", "");
-                   } else {
-                       map.put("position", "\r" + "(" + record.getFields() + "[" + record.getPosition() + "]" + ")");
+                   List<Map<String,Object>>  temMap1=new ArrayList<>();
+                   for (AssoRecordsFeature assoRecordsFeature : assoRecordsFeatures2) {
+                       Map<String,Object> map1 =new LinkedHashMap<>();
+                       map.put("compareResult", assoRecordsFeature.getComResult() != null ? assoRecordsFeature.getComResult() : "不公开");
+                       CompareRecords record = records.stream().filter(item -> item.getId().equals(assoRecordsFeature.getRecordsId())).findFirst().orElse(new CompareRecords());
+                       String compareContent = "";
+                       //获取对比内容
+                       String content = record.getContent() != null ? record.getContent() : "";
+                       //获得对比专利号
+                       String patentNo = record.getPatentNo() != null ? record.getPatentNo() : "";
+                       if (OtherName.containsKey(patentNo)) {
+                           patentNo = OtherName.get(patentNo).toString() + ":";
+                       } else if (!patentNo.equals("")) {
+                           patentNo += ":";
+                       }
+                       //获得解析过程
+                       String paresingProcess = record.getParesingProcess() != null ? "(" + record.getParesingProcess() + ")" : "";
+                       compareContent = patentNo + content + paresingProcess;
+                       //获取对比专利号
+                       map.put("compareContent", compareContent);
+                       map.put("figure", fileUtils.getSystemPath() + record.getFilePath());
+                       if (record.getFields() == null && record.getPosition() == null) {
+                           map.put("position", "");
+                       } else {
+                           map.put("position", "\r" + "(" + record.getFields() + "[" + record.getPosition() + "]" + ")");
+                       }
+                       temMap1.add(map);
                    }
+                   map.put("crs",temMap1);
+                   maps.add(map);
+               }
+               else{
+                   Map<String, Object> map = new LinkedHashMap<>();
+                   map.put("featureContent", tem.getContent());
+                   map.put("compareResult","未公开");
+                   map.put("compareContent", "");
                    maps.add(map);
                }
 

+ 1 - 0
RMS/src/main/java/cn/cslg/report/service/business/ReportService.java

@@ -130,6 +130,7 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
 //        String orderBy ="";
 //        String orderType="";
 //        queryWrapper.last(" order by "+orderBy+" "+orderType);
+        queryWrapper.orderByDesc(Report::getCreateTime);
         //分页
         if (reportVO.getSize() != null && reportVO.getCurrent() != null) {
             SecurityUtils.startDataScope("/pcs/report/query");

+ 0 - 28
RMS/src/test/java/cn/cslg/report/mapper/ProductMapperTests.java

@@ -1,28 +0,0 @@
-package cn.cslg.report.mapper;
-
-import lombok.extern.slf4j.Slf4j;
-import org.junit.jupiter.api.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-
-/**
- * 产品表的Mapper层接口测试类
- *
- * @Author chenyu
- * @Data 2023/2/1
- */
-@Slf4j
-@SpringBootTest
-public class ProductMapperTests {
-
-    @Autowired
-    private ProductMapper productMapper;
-
-    @Test
-    void countByReportId() {
-        Integer reportId = 482;
-        int count = productMapper.countByReportId(reportId);
-        log.info("根据报告id统计产品数量完成,数量为{}", count);
-    }
-
-}

BIN
RMS/target/classes/cn/cslg/report/common/model/vo/CompareScenariosVO.class


BIN
RMS/target/classes/cn/cslg/report/controller/CompareScenariosController.class


BIN
RMS/target/classes/cn/cslg/report/service/business/CompareScenariosService.class


BIN
RMS/target/classes/cn/cslg/report/service/business/ReportDocumentService.class


BIN
RMS/target/classes/cn/cslg/report/service/business/ReportService.class