chenyi před 2 roky
rodič
revize
ecf8f150c6

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

@@ -24,7 +24,8 @@ public class AssoTaskPersonelController {
     @Operation(summary = "分页获取对比专利")
     public String getPagination( int  state, int taskId,int location)throws IOException{
         Integer id = loginUtils.getId();
-        return assoTaskPersonelService.pagination(id,state,taskId,location);
+        String res =assoTaskPersonelService.pagination(id,state,taskId,location);
+        return res;
     }
 
 

+ 0 - 3
RMS/src/main/java/cn/cslg/report/entity/AssoComapareFiel.java

@@ -7,9 +7,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
-
-import java.util.List;
-
 @Data
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)

+ 3 - 2
RMS/src/main/java/cn/cslg/report/entity/CompareRecords.java

@@ -55,7 +55,7 @@ public class CompareRecords extends BaseEntity<CompareRecords> {
 
 
     @TableField(exist = false)
-    private List<Features> features;
+    private List<Features> assoRecordsFeatures;
 
 
     /**
@@ -96,7 +96,8 @@ public class CompareRecords extends BaseEntity<CompareRecords> {
      */
     @Schema(description = "0公开1部分公开")
     @TableField(exist = false)
-    private List<AssoRecordsFeature> assoRecordsFeatures;
+    private List<AssoRecordsFeature> list;
+
 
 
 }

+ 24 - 14
RMS/src/main/java/cn/cslg/report/service/business/AssoTaskPersonelService.java

@@ -25,10 +25,8 @@ import org.springframework.stereotype.Service;
 
 import java.io.IOException;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 @Slf4j
@@ -57,20 +55,32 @@ public class AssoTaskPersonelService extends ServiceImpl<AssoTaskPersonelMapper,
     }
 
     /**
-     *
-     * @param personelId
-     * @param state
-     * @param taskId
-     * @param location
-     * @return
+     * @function:当前登陆人的id状态 任务id 状态 该条专利位置分页处理拿到专利号
+     * @param personelId当前登录人的id
+     * @param state 状态 1已读 0 未读 3 全部
+     * @param taskId 任务id
+     * @param location 该条专利位置
+     * @return  专利号
      * @throws IOException
      */
     public String pagination(int personelId , int  state, int taskId,int location)throws IOException{
+        Map<String,Object> map =new HashMap<>();
+        List<String> patentNumber =new ArrayList<>();
+        if(state==3){
+        LambdaQueryWrapper<AssoTaskPersonel> wrappers =new LambdaQueryWrapper();
+        wrappers.eq(AssoTaskPersonel::getPersonelId,personelId)
+        .eq(AssoTaskPersonel::getTaskId,taskId);
+            List<AssoTaskPersonel> list = this.list(wrappers);
+            patentNumber=list.stream().map(AssoTaskPersonel ::getPatentNo).collect(Collectors.toList());
+
+        }else {
+            //拿到专利号
+            patentNumber = assoTaskPersonelMapper.getPatentNumber(personelId, state, taskId);
+        }
+
 
-        List<String> patentNumber = assoTaskPersonelMapper.getPatentNumber(personelId, state, taskId);
-   Map<String,Object> map =new HashMap<>();
-   map.put("patentNos",patentNumber);
-   map.put("startNumber",location);
+         map.put("patentNos",patentNumber);
+         map.put("startNumber",location);
         JSONObject json = new JSONObject(map);
            RequestBody requestBody =RequestBody.create(JSON,String.valueOf(json));
            //网络通信协议调  分析系统api/v2/patent/getPagination

+ 20 - 2
RMS/src/main/java/cn/cslg/report/service/business/CompareFilesService.java

@@ -40,6 +40,12 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
     private final  SysDictItemService sysDictItemService;
     private final AssoTaskPersonelService assoTaskPersonelService;
 
+    /**
+     * @function 添加对比文件
+     * @param compareFilesVO
+     * @return 是否添加成功
+     * @throws IOException
+     */
     @Transactional(rollbackFor = Exception.class)
     public String addCompareFile(CompareFilesVO compareFilesVO) throws IOException {
         //查询标的专利信息
@@ -100,6 +106,12 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
         return Response.success();
     }
 
+    /**
+     * @function 根据PatentVO里的条件(分页)模糊查询标的专利号和数量
+     * @param patentVO
+     * @return 标的专利号和数量 map
+     * @throws IOException
+     */
     public String getCompareFile(PatentVO patentVO) throws IOException {
         LambdaQueryWrapper<CompareFiles> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(CompareFiles::getReportId, patentVO.getReportId());
@@ -150,8 +162,13 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
         return Response.success(map);
     }
 
-
-    //获得已经确定的对比专利详情
+    /**
+     * @function 根据PatentVO里的条件模糊查询获得已经确定的对比专利详情
+     * @param patentVO
+     * @return
+     * @throws IOException
+     */
+    //
     public String getSureCompareFile(PatentVO patentVO) throws IOException {
         List<String> patentNos= new ArrayList<>();
         //根据任务Id和类型获得任务的清单
@@ -188,6 +205,7 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
             patentVO.setPatentNos(jiaoList);
         }
         patentVO.setPatentNos(patentNos);
+        //详情见outInterfaceService.getPatentFromPAS 接口
         String res = outInterfaceService.getPatentFromPAS(patentVO, 1);
         return res;
     }

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

@@ -40,7 +40,7 @@ public class CompareRecordsService extends ServiceImpl<CompareRecordsMapper, Com
     public String addCompareRecord(CompareRecords compareRecord) throws IOException {
         compareRecord.insert();
         //对比方案与对比记录关联表对比文件添加
-        List<AssoRecordsFeature> assoRecordsFeatures = compareRecord.getAssoRecordsFeatures();
+        List<AssoRecordsFeature> assoRecordsFeatures = compareRecord.getList();
         assoRecordsFeatures.forEach(item -> item.setRecordsId(compareRecord.getId()));
         assoRecordsFeatureService.saveBatch(assoRecordsFeatures);
         return Response.success();
@@ -54,18 +54,32 @@ public class CompareRecordsService extends ServiceImpl<CompareRecordsMapper, Com
 
     @Transactional(rollbackFor = Exception.class)
     public String updateCompareRecords(CompareRecords compareRecord) throws IOException {
+
         //根据对比文件的id 获取对比方案与对比记录关联表的内容
-        LambdaQueryWrapper<AssoRecordsFeature> queryWrapper =new LambdaQueryWrapper<>();
-        queryWrapper.eq(AssoRecordsFeature::getRecordsId,compareRecord.getId());
-        //删除获取的内容
+
+        LambdaQueryWrapper<AssoRecordsFeature> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(AssoRecordsFeature::getRecordsId, compareRecord.getId());
+           //删除获取的内容
+        List<AssoRecordsFeature> list = assoRecordsFeatureService.list(queryWrapper);
         assoRecordsFeatureService.remove(queryWrapper);
-        List<AssoRecordsFeature> assoRecordsFeatures = compareRecord.getAssoRecordsFeatures();
-        assoRecordsFeatures.forEach(item -> item.setRecordsId(compareRecord.getId()));
-        //重新插入对比方案与对比记录关联表的内容
-        assoRecordsFeatureService.saveBatch(assoRecordsFeatures);
-        return Response.success();
-    }
+        List<Integer> collect = list.stream().map(AssoRecordsFeature::getFeatureId).collect(Collectors.toList());
+        List<Features> features = compareRecord.getAssoRecordsFeatures();
+        LambdaQueryWrapper<Features> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(Features::getId,collect);
+        featureService.remove(wrapper);
+        featureService.saveBatch(features);
+        List<AssoRecordsFeature> list1 =new ArrayList<>();
+        for(Features f :features){
+            AssoRecordsFeature a=new AssoRecordsFeature();
+            a.setRecordsId(compareRecord.getId());
+            a.setFeatureId(f.getId());
+            list1.add(a);
+
+        }
+        assoRecordsFeatureService.saveBatch(list1);
+            return Response.success();
 
+    }
     /**
      * @function: 根据对比记录的报告id,任务
      * @param compareRecord
@@ -114,11 +128,11 @@ public class CompareRecordsService extends ServiceImpl<CompareRecordsMapper, Com
             List<AssoRecordsFeature> assoRecordsFeatures1 = assoRecordsFeatures.stream().filter(item -> item.getRecordsId().equals(records.getId())).collect(Collectors.toList());
             //获取特征id
             List<Integer> featureId = assoRecordsFeatures1.stream().map(AssoRecordsFeature::getFeatureId).collect(Collectors.toList());
-            records.setAssoRecordsFeatures(assoRecordsFeatures1);
+            records.setList(assoRecordsFeatures1);
             //根据获取的过滤
             List<Features> featuresList = features.stream().filter(item -> featureId.contains(item.getId())).collect(Collectors.toList());
             records.setFeaturesIdList(featureId);
-            records.setFeatures(featuresList);
+            records.setAssoRecordsFeatures(featuresList);
             if(!headerPatentNos.contains(records.getPatentNo())){
             headerPatentNos.add(records.getPatentNo());}
 }