Bladeren bron

12.20 陈宇

lwhhszx 2 jaren geleden
bovenliggende
commit
16c9bc76e5

+ 42 - 5
.idea/workspace.xml

@@ -5,14 +5,20 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="e7cd156b-23fc-410f-9ecc-be34a2e87174" name="Default Changelist" comment="12.20 陈宇">
+      <change afterPath="$PROJECT_DIR$/RMS/src/main/java/cn/cslg/report/common/model/vo/AddSyneryVo.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Update_at_2022_12_21_17_18__Default_Changelist_.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Update_at_2022_12_21_17_18__Default_Changelist_.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/RMS/src/main/java/cn/cslg/report/controller/ProductController.java" beforeDir="false" afterPath="$PROJECT_DIR$/RMS/src/main/java/cn/cslg/report/controller/ProductController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/RMS/src/main/java/cn/cslg/report/common/model/vo/CompareMessageVO.java" beforeDir="false" afterPath="$PROJECT_DIR$/RMS/src/main/java/cn/cslg/report/common/model/vo/CompareMessageVO.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/RMS/src/main/java/cn/cslg/report/controller/CompareMessageController.java" beforeDir="false" afterPath="$PROJECT_DIR$/RMS/src/main/java/cn/cslg/report/controller/CompareMessageController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/RMS/src/main/java/cn/cslg/report/service/business/CompareMessageService.java" beforeDir="false" afterPath="$PROJECT_DIR$/RMS/src/main/java/cn/cslg/report/service/business/CompareMessageService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/RMS/src/main/java/cn/cslg/report/service/business/ReportService.java" beforeDir="false" afterPath="$PROJECT_DIR$/RMS/src/main/java/cn/cslg/report/service/business/ReportService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/RMS/target/classes/cn/cslg/report/common/model/vo/CompareMessageVO.class" beforeDir="false" afterPath="$PROJECT_DIR$/RMS/target/classes/cn/cslg/report/common/model/vo/CompareMessageVO.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/RMS/target/classes/cn/cslg/report/controller/CompareMessageController.class" beforeDir="false" afterPath="$PROJECT_DIR$/RMS/target/classes/cn/cslg/report/controller/CompareMessageController.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/RMS/target/classes/cn/cslg/report/controller/ProductController.class" beforeDir="false" afterPath="$PROJECT_DIR$/RMS/target/classes/cn/cslg/report/controller/ProductController.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/logs/rms/rms-debug.2022-12-12.0.log" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/logs/rms/rms-debug.2022-12-13.0.log" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/RMS/target/classes/cn/cslg/report/service/business/CompareMessageService.class" beforeDir="false" afterPath="$PROJECT_DIR$/RMS/target/classes/cn/cslg/report/service/business/CompareMessageService.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/RMS/target/classes/cn/cslg/report/service/business/ReportService.class" beforeDir="false" afterPath="$PROJECT_DIR$/RMS/target/classes/cn/cslg/report/service/business/ReportService.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/logs/rms/rms-debug.log" beforeDir="false" afterPath="$PROJECT_DIR$/logs/rms/rms-debug.log" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/logs/rms/rms-info.2022-12-12.0.log" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/logs/rms/rms-info.2022-12-13.0.log" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/logs/rms/rms-error.log" beforeDir="false" afterPath="$PROJECT_DIR$/logs/rms/rms-error.log" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/logs/rms/rms-info.log" beforeDir="false" afterPath="$PROJECT_DIR$/logs/rms/rms-info.log" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
@@ -29,6 +35,11 @@
     </option>
   </component>
   <component name="Git.Settings">
+    <option name="RECENT_BRANCH_BY_REPOSITORY">
+      <map>
+        <entry key="$PROJECT_DIR$" value="master" />
+      </map>
+    </option>
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
   </component>
   <component name="ProjectId" id="2JADGkpubIwxnMp31DlLxSpGoB3" />
@@ -52,6 +63,10 @@
     <property name="WebServerToolWindowFactoryState" value="false" />
     <property name="aspect.path.notification.shown" value="true" />
     <property name="last_opened_file_path" value="$PROJECT_DIR$/RMS/src/main/java/cn/cslg/report" />
+    <property name="node.js.detected.package.eslint" value="true" />
+    <property name="node.js.detected.package.tslint" value="true" />
+    <property name="node.js.selected.package.eslint" value="(autodetect)" />
+    <property name="node.js.selected.package.tslint" value="(autodetect)" />
     <property name="settings.editor.selected.configurable" value="project.propVCSSupport.Mappings" />
   </component>
   <component name="ReactorSettings">
@@ -70,6 +85,17 @@
     </key>
   </component>
   <component name="RunManager">
+    <configuration default="true" type="ArquillianJUnit" factoryName="" nameIsGenerated="true">
+      <option name="arquillianRunConfiguration">
+        <value>
+          <option name="containerStateName" value="" />
+        </value>
+      </option>
+      <option name="TEST_OBJECT" value="class" />
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
     <configuration name="Application" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
       <module name="RMS" />
       <option name="SPRING_BOOT_MAIN_CLASS" value="cn.cslg.report.Application" />
@@ -133,4 +159,15 @@
     <MESSAGE value="12.20 陈宇" />
     <option name="LAST_COMMIT_MESSAGE" value="12.20 陈宇" />
   </component>
+  <component name="XDebuggerManager">
+    <breakpoint-manager>
+      <breakpoints>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/RMS/src/main/java/cn/cslg/report/service/business/CompareMessageService.java</url>
+          <line>114</line>
+          <option name="timeStamp" value="18" />
+        </line-breakpoint>
+      </breakpoints>
+    </breakpoint-manager>
+  </component>
 </project>

+ 16 - 0
RMS/src/main/java/cn/cslg/report/common/model/vo/AddSyneryVo.java

@@ -0,0 +1,16 @@
+package cn.cslg.report.common.model.vo;
+
+import cn.cslg.report.entity.CompareMessage;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.util.List;
+
+@Data
+@Accessors(chain = true)
+@Schema(description="添加协同结果VO",required = true)
+public class AddSyneryVo {
+    private Integer taskId;
+    private List<CompareMessage> compareMessageList;
+}

+ 3 - 0
RMS/src/main/java/cn/cslg/report/common/model/vo/CompareMessageVO.java

@@ -29,6 +29,9 @@ public class CompareMessageVO {
     @Schema(description = "对比结果")
     private Integer compareResult;
 
+    @Schema(description = "对比结果")
+    private Integer compareResult2;
+
     @Schema(description = "专利号")
     private String signPatentNo;
 

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

@@ -1,6 +1,7 @@
 package cn.cslg.report.controller;
 
 import cn.cslg.report.common.core.base.Constants;
+import cn.cslg.report.common.model.vo.AddSyneryVo;
 import cn.cslg.report.common.model.vo.CompareMessageVO;
 import cn.cslg.report.common.model.vo.queryVo.QueryCMVO;
 import cn.cslg.report.common.utils.Response;
@@ -59,8 +60,16 @@ public class CompareMessageController {
 
     @GetMapping("querySynery")
     @Operation(summary = "查找协同对比记录")
-    public String querySynery(Integer taskId,String patentNo,Integer reportId) throws IOException {
-        return Response.success(compareMessageService.querySynery(taskId,patentNo,reportId));
+    public String querySynery(Integer taskId,String patentNo) throws IOException {
+        return Response.success(compareMessageService.querySynery(taskId,patentNo));
+    }
+    @PostMapping("addSynery")
+    @Operation(summary = "添加协同对比记录")
+    public String addSynery(@RequestBody AddSyneryVo addSyneryVo) throws IOException {
+        if(compareMessageService.addSynery(addSyneryVo)) {
+            return Response.success();
+        }
+        return  Response.error();
     }
     @PostMapping("queryComparedMessage")
     @Operation(summary = "查找FTO已经对比的专利")

+ 120 - 23
RMS/src/main/java/cn/cslg/report/service/business/CompareMessageService.java

@@ -91,7 +91,6 @@ public class CompareMessageService extends ServiceImpl<CompareMessageMapper, Com
                 compareMessage.setCompareDescription(vos.get(i).getCompareDescription());
                 compareMessage.setReportId(feature.getReportId());
                 compareMessage.setTaskId(feature.getTaskId());
-//                compareMessage.setTaskType(1);
                 compareMessages.add(compareMessage);
                 order += 1;
             }
@@ -119,32 +118,42 @@ public class CompareMessageService extends ServiceImpl<CompareMessageMapper, Com
         LambdaQueryWrapper<Features> queryWrapper = new LambdaQueryWrapper<>();
         if (reportId != null && reportId != 0) {
             queryWrapper.eq(Features::getReportId, reportId);
-        } else if (taskId != null) {
+        }
+        if (taskId != null) {
             queryWrapper.eq(Features::getTaskId, taskId);
         }
         queryWrapper.eq(Features::getSignPatentNo, patentNo);
         List<Features> features = featureService.list(queryWrapper);
         List<Integer> featureIds = features.stream().map(Features::getId).collect(Collectors.toList());
+        List<CompareMessage> compareMessages=new ArrayList<>();
+        if(featureIds.size()>0){
         LambdaQueryWrapper<CompareMessage> queryWrapper1 = new LambdaQueryWrapper<>();
         queryWrapper1.in(CompareMessage::getFeatureId, featureIds);
-        List<CompareMessage> compareMessages = this.list(queryWrapper1);
+        if (taskId != null) {
+            queryWrapper1.eq(CompareMessage::getTaskId, taskId);
+        }
+        else {
+            queryWrapper1.isNull(CompareMessage::getTaskType);
+        }
+            compareMessages = this.list(queryWrapper1);}
+
         List<CompareMessageVO> compareMessageVOS = new ArrayList<>();
-        features.forEach(item -> {
+        for (Features item: features){
             CompareMessageVO compareMessageVO = new CompareMessageVO();
             BeanUtil.copyProperties(item, compareMessageVO);
             CompareMessage compareMessage = new CompareMessage();
             if (compareMessages.size() != 0) {
-              List<CompareMessage> compareMessageList   = compareMessages.stream().filter(tem -> tem.getFeatureId().equals(item.getId())).collect(Collectors.toList());
-              if(compareMessageList.size()!=0){
-                  compareMessage=compareMessageList.get(0);
-              }
+                List<CompareMessage> compareMessageList = compareMessages.stream().filter(tem -> tem.getFeatureId().equals(item.getId())).collect(Collectors.toList());
+                if (compareMessageList.size() != 0) {
+                    compareMessage = compareMessageList.get(0);
+                }
 
             }
             compareMessageVO.setCompareResult(compareMessage.getCompareResult());
             compareMessageVO.setCompareDescription(compareMessage.getCompareDescription());
             compareMessageVO.setTargetDescription(compareMessage.getTargetDescription());
             compareMessageVOS.add(compareMessageVO);
-        });
+        }
         //将拆解的权要和特征装载到对象PatentRightVo
         for (int i = 0; i < patentRights.size(); i++) {
 
@@ -211,27 +220,115 @@ public class CompareMessageService extends ServiceImpl<CompareMessageMapper, Com
      * @Autor lrj
      * @Deserption 查找协同任务对比记录
      */
-    public Map<String, Object> querySynery(Integer taskId, String patentNo, Integer reportId) throws IOException {
-        //根据taskId 和专利号查询该协同任务是否有对比历史
+    public Map<String, Object> querySynery(Integer taskId, String patentNo) throws IOException {
+        Task task =taskService.getById(taskId);
+        LambdaQueryWrapper<CompareMessage> queryWrapper =new LambdaQueryWrapper<>();
+        queryWrapper.eq(CompareMessage::getTaskId,taskId);
+        List<CompareMessage> compareMessages =this.list(queryWrapper);
+        if(compareMessages.size()==0){
+            Map<String, Object> map = this.queryCompareMessage(null, patentNo, task.getReportId());
+            return map;
+        }
+
+
+        return this.queryCompareMessage(taskId, patentNo, null);
+
+    }
+
+    public Map<String, Object> queryAllCompareMessage( String patentNo, Integer reportId) throws IOException {
+        List<PatentRightVo> patentRightVos = new ArrayList<>();
+        String resBody = outInterfaceService.getPatentRightFromPAS(patentNo);
+        JSONObject jsonObject = JSONObject.parseObject(resBody);
+        //解析jason获得标的专利的权要
+        List<PatentRight> patentRightsOrgin = JSON.parseArray(jsonObject.getString("data"), PatentRight.class);
+        //处理权要
+        List<PatentRight> patentRights = featureService.FormatPatentRights(patentRightsOrgin);
+        //查询特征
         LambdaQueryWrapper<Features> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(Features::getReportId, reportId);
+        queryWrapper.eq(Features::getSignPatentNo, patentNo);
         List<Features> features = featureService.list(queryWrapper);
-        if (features.size() <= 0) {
-            Map<String, Object> map = this.queryCompareMessage(null, patentNo, reportId);
-            List<PatentRightVo> patentRightVos = (List<PatentRightVo>) map.get("patentRightVos");
-            if (patentRightVos != null && patentRightVos.size() != 0) {
-                for (PatentRightVo patentRightVo : patentRightVos) {
-                    List<CompareMessageVO> compareMessageVOS = patentRightVo.getCompareMessageVOS();
-                    if (compareMessageVOS.size() != 0) {
-                        for (CompareMessageVO compareMessageVO : compareMessageVOS) {
-                            compareMessageVO.setTaskId(taskId);
+        List<Integer> featureIds = features.stream().map(Features::getId).collect(Collectors.toList());
+        LambdaQueryWrapper<CompareMessage> queryWrapper1 = new LambdaQueryWrapper<>();
+        queryWrapper1.in(CompareMessage::getFeatureId, featureIds);
+        List<CompareMessage> compareMessages = this.list(queryWrapper1);
+        List<CompareMessageVO> compareMessageVOS = new ArrayList<>();
+        features.forEach(item -> {
+            CompareMessageVO compareMessageVO = new CompareMessageVO();
+            BeanUtil.copyProperties(item, compareMessageVO);
+            CompareMessage compareMessage = new CompareMessage();
+            if (compareMessages.size() != 0) {
+                List<CompareMessage> compareMessageList = compareMessages.stream().filter(tem -> tem.getFeatureId().equals(item.getId())).collect(Collectors.toList());
+                compareMessageList.forEach(
+                        tem->{
+                            if(tem.getTaskType().equals(null)){
+                                compareMessageVO.setCompareResult(tem.getCompareResult());
+                                compareMessageVO.setCompareDescription(tem.getCompareDescription());
+                                compareMessageVO.setTargetDescription(tem.getTargetDescription());
+                            }
+                            else  if(tem.getTaskType().equals(1)){
+                                compareMessageVO.setCompareResult2(tem.getCompareResult());
+                            }
                         }
-                    }
-                }
+                );
 
             }
+            compareMessageVOS.add(compareMessageVO);
+        });
+        //将拆解的权要和特征装载到对象PatentRightVo
+        for (int i = 0; i < patentRights.size(); i++) {
 
+            List<CompareMessageVO> featuresList = new ArrayList<>();
+            //对需要拆解的权要进行拆解
+            if (compareMessageVOS != null && compareMessageVOS.size() != 0) {
+                int rightId = patentRights.get(i).getSort();
+                featuresList = compareMessageVOS.stream().filter(item -> item.getRightId().equals(rightId)).collect(Collectors.toList());
+            }
+            //装载到对象PatentRightVo
+            PatentRightVo patentRightVo = new PatentRightVo();
+            String name = "权要" + (i + 1);
+            patentRightVo.setPatentId(patentRights.get(i).getPatentId());
+            patentRightVo.setCompareMessageVOS(featuresList);
+            patentRightVo.setContent(patentRights.get(i).getContent());
+            patentRightVo.setSort(patentRights.get(i).getSort());
+            patentRightVo.setType(patentRights.get(i).getType());
+            patentRightVo.setContentOut(patentRights.get(i).getContentOut());
+            patentRightVo.setRightName(name);
+            patentRightVo.setSignPatentNo(patentNo);
+            patentRightVos.add(patentRightVo);
         }
-        return this.queryCompareMessage(taskId, patentNo, null);
+        Map<String, Object> map1 = assoTaskPatentSplitService.getSplitMessage(null, patentNo);
+        Map<String, Object> map = new HashMap<String, Object>();
+        map.put("patentRightVos", patentRightVos);
+        map.put("splitBy", map1.get("splitBy"));
+        map.put("splitType", map1.get("splitType"));
+        return map;
+    }
+
+    /**
+     * @autor lrj
+     * @param addSyneryVo
+     * @return
+     * @Descprtion 添加协同记录
+     */
+
+    public Boolean addSynery(AddSyneryVo addSyneryVo){
+        // 根据任务Id获得任务信息
+        Task task = taskService.getById(addSyneryVo.getTaskId());
+        //装载对比结果信息
+        List<CompareMessage> compareMessages =addSyneryVo.getCompareMessageList();
+        compareMessages.forEach(
+                item->{
+                    item.setTaskId(task.getId());
+                    item.setTaskType(1);
+                    item.setId(null);
+                }
+        );
+        //删除对比记录
+        LambdaQueryWrapper<CompareMessage> queryWrapper =new LambdaQueryWrapper<>();
+        queryWrapper.eq(CompareMessage::getTaskId,task.getId());
+        this.remove(queryWrapper);
+   return     this.saveBatch(compareMessages);
 
     }
 }

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

@@ -116,7 +116,6 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
             QueryWrapper.eq(Report::getCreatePersonId, loginUtils.getId())
                     .or().eq(Report::getPersonId, loginUtils.getId());
         });
-
         queryWrapper.orderByDesc(Report::getId);
         //分页
         if (reportVO.getSize() != null && reportVO.getCurrent() != null) {

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


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


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


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


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


File diff suppressed because it is too large
+ 36927 - 18
logs/rms/rms-debug.log


File diff suppressed because it is too large
+ 7597 - 0
logs/rms/rms-error.log


File diff suppressed because it is too large
+ 412 - 101
logs/rms/rms-info.log