lwhhszx 2 роки тому
батько
коміт
f629696506

+ 5 - 1
RMS/src/main/java/cn/cslg/report/service/business/FeatureService.java

@@ -213,13 +213,17 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
 
     }
 
-    public String getFeatures(String patentNo, Integer reportId) throws IOException {
+    public String getFeatures(String patentNos, Integer reportId) throws IOException {
         LambdaQueryWrapper<Report> queryWrapper = new LambdaQueryWrapper();
         queryWrapper.eq(Report::getId, reportId);
         Report report = reportService.list(queryWrapper).get(0);
         //权要(带拆分的特征)列表
         List<PatentRightVo> patentRightVos = new ArrayList<>();
+        String patentNo =report.getSignPatentNo();
         //从pas获得权要信息
+        if(patentNos!=null){
+            patentNo=patentNos;
+        }
         String resBody = outInterfaceService.getPatentRightFromPAS(patentNo);
         JSONObject jsonObject = JSONObject.parseObject(resBody);
         //解析jason获得标的专利的权要

+ 14 - 2
RMS/src/main/java/cn/cslg/report/service/business/ReportFieldService.java

@@ -12,6 +12,7 @@ import cn.cslg.report.common.utils.Response;
 import cn.cslg.report.common.utils.SecurityUtils.LoginUtils;
 
 import cn.cslg.report.entity.*;
+import cn.cslg.report.entity.asso.AssoTaskPersonel;
 import cn.cslg.report.mapper.ReportFieldMapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -45,7 +46,7 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
  private  final ReportFieldOptionService reportFieldOptionService;
  private  final ReportFieldTreeService reportFieldTreeService;
  private  final ReportFieldPatentLinkService reportFieldPatentLinkService;
-
+private  final  AssoTaskPersonelService assoTaskPersonelService;
 
     public String add(ReportField reportField) {
         ReportField temp = this.getProjectFieldByName(reportField.getName(), reportField.getReportId());
@@ -289,7 +290,18 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
         list.forEach(tem->{
          List<ReportFieldPatentLink> part =reportFieldPatentLinks.stream().filter(tm->tm.getFieldId().equals(params.getFieldId())&&tm.getOptionId().equals(tem.getKey()
             )).collect(Collectors.toList());
-         tem.setCount(part.size());
+             if(params.getTaskId()!=null){
+                 LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
+                 queryWrapper.eq(AssoTaskPersonel::getTaskId, params.getTaskId());
+                 List<AssoTaskPersonel> assoTaskPersonels = assoTaskPersonelService.list(queryWrapper);
+                 List<String>  taskPatentNos = assoTaskPersonels.stream().map(AssoTaskPersonel::getPatentNo).collect(Collectors.toList());
+                 List<String> partPatentNos = part.stream().map(ReportFieldPatentLink::getPatentNo).collect(Collectors.toList());
+                 List<String>  jiaoList = new ArrayList<>(taskPatentNos);
+                 jiaoList.retainAll(partPatentNos);
+                 tem.setCount(jiaoList.size());
+             }
+     else{
+         tem.setCount(part.size());}
             tem.setType(type1);
         });
         //根据值id从ReportFieldPatentLink表中获得信息

+ 10 - 2
RMS/src/main/java/cn/cslg/report/service/business/TaskService.java

@@ -263,20 +263,28 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
     //返回任务专利清单
     @Transactional(rollbackFor = Exception.class)
     public String  reTaskPatents(PatentVO patentVO) throws ParseException, IOException {
-
+        List<String> taskPatentNos =new ArrayList<>();
         //根据任务Id和类型获得任务的清单
         LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(AssoTaskPersonel::getReportId,patentVO.getReportId());
+        //当taskID存在时
+        if(patentVO.getTaskId()!=null){
         queryWrapper.eq(AssoTaskPersonel::getTaskId, patentVO.getTaskId());
         if(patentVO.getTaskStatus()!=3){
             queryWrapper.eq(AssoTaskPersonel::getState, patentVO.getTaskStatus());}
         List<AssoTaskPersonel> assoTaskPersonels = assoTaskPersonelService.list(queryWrapper);
-        List<String> taskPatentNos =new ArrayList<>();
         if(patentVO.getTaskStatus()!=3){
             taskPatentNos = assoTaskPersonels.stream().filter(item -> item.getState() == patentVO.getTaskStatus()).map(AssoTaskPersonel::getPatentNo).collect(Collectors.toList());
         }
         else {
             taskPatentNos = assoTaskPersonels.stream().map(AssoTaskPersonel::getPatentNo).collect(Collectors.toList());
         }
+        }
+        //当taskId不存在时
+        else{
+            List<AssoTaskPersonel> assoTaskPersonels = assoTaskPersonelService.list(queryWrapper);
+            taskPatentNos = assoTaskPersonels.stream().map(AssoTaskPersonel::getPatentNo).collect(Collectors.toList());
+        }
         //无查询条件
         if(patentVO.getFiledOptions().size()==0|| patentVO.getFiledOptions()==null) {
             patentVO.setPatentNos(taskPatentNos);