Browse Source

12.25 lrj

liRJ 2 years ago
parent
commit
341eb6d6e0
28 changed files with 533 additions and 122 deletions
  1. 10 0
      .idea/jarRepositories.xml
  2. 25 0
      RMS/src/main/java/cn/cslg/report/common/model/vo/queryVo/QueryCMVO.java
  3. 22 4
      RMS/src/main/java/cn/cslg/report/common/utils/DataUtils.java
  4. 15 11
      RMS/src/main/java/cn/cslg/report/controller/CompareMessageController.java
  5. 10 0
      RMS/src/main/java/cn/cslg/report/controller/TaskController.java
  6. 1 1
      RMS/src/main/java/cn/cslg/report/entity/CompareFiles.java
  7. 9 1
      RMS/src/main/java/cn/cslg/report/entity/CompareMessage.java
  8. 29 0
      RMS/src/main/java/cn/cslg/report/entity/asso/SyneryCode.java
  9. 36 0
      RMS/src/main/java/cn/cslg/report/entity/asso/Synery_CC.java
  10. 5 0
      RMS/src/main/java/cn/cslg/report/mapper/CompareMessageMapper.java
  11. 10 0
      RMS/src/main/java/cn/cslg/report/mapper/SyneryCCMapper.java
  12. 10 0
      RMS/src/main/java/cn/cslg/report/mapper/SyneryCodeMapper.java
  13. 99 19
      RMS/src/main/java/cn/cslg/report/service/business/CompareMessageService.java
  14. 7 6
      RMS/src/main/java/cn/cslg/report/service/business/FeatureService.java
  15. 151 80
      RMS/src/main/java/cn/cslg/report/service/business/TaskService.java
  16. 23 0
      RMS/src/main/java/cn/cslg/report/service/business/asso/SyneryCCService.java
  17. 21 0
      RMS/src/main/java/cn/cslg/report/service/business/asso/SyneryCodeService.java
  18. 25 0
      RMS/src/main/resources/mapper/CompareMessageMapper.xml
  19. BIN
      RMS/target/classes/cn/cslg/report/controller/CompareMessageController.class
  20. BIN
      RMS/target/classes/cn/cslg/report/entity/CompareFiles.class
  21. BIN
      RMS/target/classes/cn/cslg/report/entity/CompareMessage.class
  22. BIN
      RMS/target/classes/cn/cslg/report/mapper/CompareMessageMapper.class
  23. BIN
      RMS/target/classes/cn/cslg/report/service/business/CompareFilesService.class
  24. BIN
      RMS/target/classes/cn/cslg/report/service/business/CompareMessageService.class
  25. BIN
      RMS/target/classes/cn/cslg/report/service/business/FeatureService.class
  26. BIN
      RMS/target/classes/cn/cslg/report/service/business/TaskService.class
  27. BIN
      RMS/target/classes/cn/cslg/report/service/impl/ProductServiceImpl.class
  28. 25 0
      RMS/target/classes/mapper/CompareMessageMapper.xml

+ 10 - 0
.idea/jarRepositories.xml

@@ -4,6 +4,11 @@
     <remote-repository>
       <option name="id" value="central" />
       <option name="name" value="Central Repository" />
+      <option name="url" value="https://repo.maven.apache.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Central Repository" />
       <option name="url" value="https://maven.aliyun.com/repository/public/" />
     </remote-repository>
     <remote-repository>
@@ -21,5 +26,10 @@
       <option name="name" value="JBoss Community repository" />
       <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
     </remote-repository>
+    <remote-repository>
+      <option name="id" value="nexus-aliyun" />
+      <option name="name" value="nexus-aliyun" />
+      <option name="url" value="https://maven.aliyun.com/nexus/content/groups/public/" />
+    </remote-repository>
   </component>
 </project>

+ 25 - 0
RMS/src/main/java/cn/cslg/report/common/model/vo/queryVo/QueryCMVO.java

@@ -0,0 +1,25 @@
+package cn.cslg.report.common.model.vo.queryVo;
+
+
+import cn.cslg.report.common.model.BaseVO;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * @author lrj
+ * @date 2022-12-23
+ * @description 查找FTO对比记录VO类
+ */
+@Data
+@Accessors(chain = true)
+@Schema(description="查找FTO对比记录VO",required = true)
+public class QueryCMVO extends BaseVO {
+    /**
+     * 所属报告
+     */
+    @Schema(description = "报告Id")
+    private Integer reportId;
+    @Schema(description = "对比结果")
+    private Integer compareResult;
+}

+ 22 - 4
RMS/src/main/java/cn/cslg/report/common/utils/DataUtils.java

@@ -5,10 +5,7 @@ import cn.dev33.satoken.secure.SaSecureUtil;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.function.Function;
 import java.util.function.Predicate;
@@ -176,4 +173,25 @@ public class DataUtils {
         return 1 - (float) compare(str, target) / max;
 
     }
+
+
+    public static String[] chars = new String[] { "a", "b", "c", "d", "e", "f",
+            "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
+            "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5",
+            "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I",
+            "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V",
+            "W", "X", "Y", "Z" };
+
+    public static String generateShortUuid() {
+        StringBuffer shortBuffer = new StringBuffer();
+        String uuid = UUID.randomUUID().toString().replace("-", "");
+        for (int i = 0; i < 8; i++) {
+            String str = uuid.substring(i * 4, i * 4 + 4);
+            int x = Integer.parseInt(str, 16);
+            shortBuffer.append(chars[x % 0x3E]);
+        }
+        return shortBuffer.toString();
+    }
+
+
 }

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

@@ -2,25 +2,17 @@ package cn.cslg.report.controller;
 
 import cn.cslg.report.common.core.base.Constants;
 import cn.cslg.report.common.model.vo.CompareMessageVO;
-import cn.cslg.report.common.utils.DateUtils;
-import cn.cslg.report.common.utils.FileUtils;
+import cn.cslg.report.common.model.vo.queryVo.QueryCMVO;
 import cn.cslg.report.common.utils.Response;
 import cn.cslg.report.entity.CompareMessage;
 import cn.cslg.report.service.business.CompareMessageService;
-import cn.hutool.core.io.FileUtil;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.RequiredArgsConstructor;
 import org.springframework.context.annotation.Lazy;
-import org.springframework.core.io.FileSystemResource;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
-import java.io.File;
 import java.io.IOException;
-import java.net.URLEncoder;
 import java.util.List;
 
 @Tag(name = "FTO对比记录")
@@ -61,7 +53,19 @@ public class CompareMessageController {
 
     @GetMapping("queryCompareMessage")
     @Operation(summary = "查找FTO对比记录")
-    public String queryCompareMessage(Integer taskId,String patentNo) throws IOException {
-        return Response.success(compareMessageService.queryCompareMessage(taskId,patentNo));
+    public String queryCompareMessage(Integer taskId,String patentNo,Integer reportId) throws IOException {
+        return Response.success(compareMessageService.queryCompareMessage(taskId,patentNo,reportId));
     }
+
+    @GetMapping("querySynery")
+    @Operation(summary = "查找协同对比记录")
+    public String querySynery(Integer taskId,String patentNo,Integer reportId) throws IOException {
+        return Response.success(compareMessageService.querySynery(taskId,patentNo,reportId));
+    }
+    @PostMapping("queryComparedMessage")
+    @Operation(summary = "查找FTO已经对比的专利")
+    public String queryComparedMessage(@RequestBody QueryCMVO queryCMVO) throws IOException {
+        return Response.success(compareMessageService.queryComparedMessage(queryCMVO));
+    }
+
 }

+ 10 - 0
RMS/src/main/java/cn/cslg/report/controller/TaskController.java

@@ -138,5 +138,15 @@ public class TaskController {
         return taskService.look(taskID,patentNo);
     }
 
+//    @RequestMapping(value = "/reTaskPatents", method = RequestMethod.POST)
+//    @Operation(summary = "返回任务专利清单")
+//    public String reTaskPatents(@RequestBody PatentVO patentVO) throws ParseException, IOException {
+//        return taskService.reTaskPatents1(patentVO);
+//    }
 
+        @RequestMapping(value = "/addSyneryTask", method = RequestMethod.POST)
+    @Operation(summary = "添加协同任务")
+    public String addSyneryTask(@RequestBody SyneryVO syneryVO) throws ParseException, IOException {
+        return taskService.addSyneryTask(syneryVO);
+    }
 }

+ 1 - 1
RMS/src/main/java/cn/cslg/report/entity/CompareFiles.java

@@ -36,7 +36,7 @@ public class CompareFiles extends BaseEntity<CompareFiles> {
      * 状态
      */
     @TableField(value = "STATE")
-    private String state;
+    private Integer state;
 
 
 }

+ 9 - 1
RMS/src/main/java/cn/cslg/report/entity/CompareMessage.java

@@ -31,6 +31,14 @@ public class CompareMessage extends BaseEntity<CompareMessage> {
     @Schema(description = "特征ID")
     @TableField(value = "FEATURE_ID")
     private Integer featureId;
+    @Schema(description = "报告ID")
+    @TableField(value = "REPORT_ID")
+    private Integer reportId;
+    @Schema(description = "任务ID")
+    @TableField(value = "TASK_ID")
+    private Integer taskId;
 
-
+    @Schema(description = "任务类型")
+    @TableField(value = "TASK_TYPE")
+    private Integer taskType;
 }

+ 29 - 0
RMS/src/main/java/cn/cslg/report/entity/asso/SyneryCode.java

@@ -0,0 +1,29 @@
+package cn.cslg.report.entity.asso;
+
+import cn.cslg.report.common.model.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * 协同信息表
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+@TableName(value = "SYNERY_CODE")
+public class SyneryCode extends BaseEntity<SyneryCode> {
+    /**
+     * 任务ID
+     */
+    @TableField(value = "TASK_ID")
+    private Integer taskId;
+    /**
+     * 任务识别码
+     */
+    @TableField(value = "CODE")
+    private String code;
+
+}

+ 36 - 0
RMS/src/main/java/cn/cslg/report/entity/asso/Synery_CC.java

@@ -0,0 +1,36 @@
+package cn.cslg.report.entity.asso;
+
+import cn.cslg.report.common.model.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * 协同抄送人
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+@TableName(value = "SYNERY_CC")
+public class Synery_CC extends BaseEntity<Synery_CC> {
+    /**
+     * 任务ID
+     */
+    @TableField(value = "TASK_ID")
+    private Integer taskId;
+
+    @Schema(description = "抄送人Id")
+    @TableField(value = "CC_ID")
+    private Integer ccId;
+
+    @Schema(description = "抄送人邮箱")
+    @TableField(value = "CC_EMAIL")
+    private Integer ccEmail;
+
+    @Schema(description = "抄送人姓名")
+    @TableField(value = "CC_NAME")
+    private Integer ccName;
+}

+ 5 - 0
RMS/src/main/java/cn/cslg/report/mapper/CompareMessageMapper.java

@@ -1,9 +1,12 @@
 package cn.cslg.report.mapper;
 
 import cn.cslg.report.common.model.vo.CompareMessageVO;
+import cn.cslg.report.common.model.vo.queryVo.QueryCMVO;
 import cn.cslg.report.entity.CompareMessage;
 import cn.cslg.report.entity.asso.AssoTaskPatentSplit;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -12,4 +15,6 @@ import java.util.List;
 @Mapper
 public interface CompareMessageMapper extends BaseMapper<CompareMessage> {
     List<CompareMessageVO> getCompareMessage(@Param("taskId") Integer taskId,@Param("patentNo") String patentNo);
+   IPage<String> getComparedMessage(Page<String> page,@Param("params") QueryCMVO queryCMVO);
+    List<String> getComparedMessageAll(@Param("params") QueryCMVO queryCMVO);
 }

+ 10 - 0
RMS/src/main/java/cn/cslg/report/mapper/SyneryCCMapper.java

@@ -0,0 +1,10 @@
+package cn.cslg.report.mapper;
+
+import cn.cslg.report.entity.asso.SyneryCode;
+import cn.cslg.report.entity.asso.Synery_CC;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface SyneryCCMapper extends BaseMapper<Synery_CC> {
+}

+ 10 - 0
RMS/src/main/java/cn/cslg/report/mapper/SyneryCodeMapper.java

@@ -0,0 +1,10 @@
+package cn.cslg.report.mapper;
+
+import cn.cslg.report.entity.AssoComapareFiel;
+import cn.cslg.report.entity.asso.SyneryCode;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface SyneryCodeMapper extends BaseMapper<SyneryCode> {
+}

+ 99 - 19
RMS/src/main/java/cn/cslg/report/service/business/CompareMessageService.java

@@ -1,9 +1,7 @@
 package cn.cslg.report.service.business;
 
-import cn.cslg.report.common.model.vo.CompareMessageVO;
-import cn.cslg.report.common.model.vo.PatentRightVo;
-import cn.cslg.report.common.model.vo.PersonnelVO;
-import cn.cslg.report.common.model.vo.SplitVO;
+import cn.cslg.report.common.model.vo.*;
+import cn.cslg.report.common.model.vo.queryVo.QueryCMVO;
 import cn.cslg.report.common.utils.CacheUtils;
 import cn.cslg.report.common.utils.Response;
 import cn.cslg.report.entity.*;
@@ -15,8 +13,11 @@ import cn.cslg.report.service.OutInterfaceService;
 import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.bean.BeanUtil;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -39,13 +40,14 @@ public class CompareMessageService extends ServiceImpl<CompareMessageMapper, Com
     private final OutInterfaceService outInterfaceService;
     private final AssoTaskPatentSplitService assoTaskPatentSplitService;
     private final AssoTaskPersonelService assoTaskPersonelService;
+    private final CompareFilesService compareFilesService;
 
+    /**
+     * @author 李仁杰
+     * @deprecated 保存对比记录
+     */
     @Transactional(rollbackFor = Exception.class)
     public Boolean addCompareMessage(List<CompareMessageVO> vos) {
-        /**
-         * @author 李仁杰
-         * @deprecated 保存特征
-         */
         // 获取登录人信息
         PersonnelVO personnelVO = cacheUtils.getLoginUser(StpUtil.getLoginIdAsInt());
         List<CompareMessage> compareMessages = new ArrayList<>();
@@ -55,6 +57,14 @@ public class CompareMessageService extends ServiceImpl<CompareMessageMapper, Com
             wrapper.eq(Features::getTaskId, vos.get(0).getTaskId())
                     .eq(Features::getSignPatentNo, vos.get(0).getSignPatentNo());
             Features feature = featureService.list(wrapper).get(0);
+            //根据特征Id删除对比记录
+            List<Features> features = featureService.list(wrapper);
+            if (features != null && features.size() > 0) {
+                List<Integer> Ids = featureService.list(wrapper).stream().map(Features::getId).collect(Collectors.toList());
+                LambdaQueryWrapper<CompareMessage> queryWrapper = new LambdaQueryWrapper<CompareMessage>();
+                queryWrapper.in(CompareMessage::getFeatureId, Ids);
+                this.remove(queryWrapper);
+            }
             //根据登录人Id,报告Id,标的专利号删除原有特征
             featureService.remove(wrapper);
             for (int i = 0; i < vos.size(); i++) {
@@ -79,6 +89,9 @@ public class CompareMessageService extends ServiceImpl<CompareMessageMapper, Com
                 compareMessage.setCompareResult(vos.get(i).getCompareResult());
                 compareMessage.setTargetDescription(vos.get(i).getTargetDescription());
                 compareMessage.setCompareDescription(vos.get(i).getCompareDescription());
+                compareMessage.setReportId(feature.getReportId());
+                compareMessage.setTaskId(feature.getTaskId());
+//                compareMessage.setTaskType(1);
                 compareMessages.add(compareMessage);
                 order += 1;
             }
@@ -94,7 +107,7 @@ public class CompareMessageService extends ServiceImpl<CompareMessageMapper, Com
         return this.removeByIds(ids);
     }
 
-    public Map<String, Object> queryCompareMessage(Integer taskId, String patentNo) throws IOException {
+    public Map<String, Object> queryCompareMessage(Integer taskId, String patentNo, Integer reportId) throws IOException {
         List<PatentRightVo> patentRightVos = new ArrayList<>();
         String resBody = outInterfaceService.getPatentRightFromPAS(patentNo);
         JSONObject jsonObject = JSONObject.parseObject(resBody);
@@ -102,25 +115,33 @@ public class CompareMessageService extends ServiceImpl<CompareMessageMapper, Com
         List<PatentRight> patentRightsOrgin = JSON.parseArray(jsonObject.getString("data"), PatentRight.class);
         //处理权要
         List<PatentRight> patentRights = featureService.FormatPatentRights(patentRightsOrgin);
-
         //查询特征
         LambdaQueryWrapper<Features> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(Features::getTaskId, taskId);
+        if (reportId != null && reportId != 0) {
+            queryWrapper.eq(Features::getReportId, reportId);
+        } else 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());
         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(compareMessageVO,item);
-            CompareMessage compareMessage =new CompareMessage();
-            if( compareMessages.size()!=0){
-          compareMessage = compareMessages.stream().filter(tem->tem.getFeatureId().equals(item.getId())).findFirst().get();
+        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());
+              if(compareMessageList.size()!=0){
+                  compareMessage=compareMessageList.get(0);
+              }
+
             }
-           BeanUtil.copyProperties(compareMessageVO,compareMessage);
+            BeanUtil.copyProperties(compareMessage, compareMessageVO);
+            compareMessageVOS.add(compareMessageVO);
         });
         //将拆解的权要和特征装载到对象PatentRightVo
         for (int i = 0; i < patentRights.size(); i++) {
@@ -152,4 +173,63 @@ public class CompareMessageService extends ServiceImpl<CompareMessageMapper, Com
         return map;
     }
 
+
+    public IPage<JSONObject> queryComparedMessage(QueryCMVO queryCMVO) throws IOException {
+        IPage<String> patentNos = this.baseMapper.getComparedMessage(new Page<>(queryCMVO.getCurrent(), queryCMVO.getSize()), queryCMVO);
+
+        IPage<JSONObject> ipage = new Page<JSONObject>();
+        if (patentNos.getRecords().size() == 0) {
+            ipage.setRecords(new ArrayList<>());
+            ipage.setSize(0);
+            ipage.setCurrent(queryCMVO.getCurrent());
+            ipage.setTotal(0);
+
+            return ipage;
+        }
+        PatentVO patentVO = new PatentVO();
+        patentVO.setSize(100);
+        patentVO.setCurrent(1);
+        patentVO.setPatentNos(patentNos.getRecords());
+        String res = outInterfaceService.getPatentFromPAS(patentVO, 1);
+        JSONObject jsonObject = JSONObject.parseObject(res);
+        JSONObject resData = JSONObject.parseObject(jsonObject.getString("data"));
+        List<JSONObject> list = JSONArray.parseArray(resData.getString("records"), JSONObject.class);
+        ipage.setRecords(list);
+        ipage.setTotal(patentNos.getTotal());
+        ipage.setSize(patentNos.getSize());
+        ipage.setCurrent(patentNos.getTotal());
+        return ipage;
+    }
+
+    /**
+     * @param taskId
+     * @param patentNo
+     * @param reportId
+     * @return
+     * @Autor lrj
+     * @Deserption 查找协同任务对比记录
+     */
+    public Map<String, Object> querySynery(Integer taskId, String patentNo, Integer reportId) throws IOException {
+        //根据taskId 和专利号查询该协同任务是否有对比历史
+        LambdaQueryWrapper<Features> queryWrapper = new LambdaQueryWrapper<>();
+        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);
+                        }
+                    }
+                }
+
+            }
+
+        }
+        return this.queryCompareMessage(taskId, patentNo, null);
+
+    }
 }

+ 7 - 6
RMS/src/main/java/cn/cslg/report/service/business/FeatureService.java

@@ -85,7 +85,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
      * @throws IOException
      * @function 从PAS系统上获得权要并拆分
      */
-    @Transactional(rollbackFor = Exception.class)
+    @Transactional(rollbackFor = Exception.class,timeout = 10)
     public String splitPatentRight(SplitVO splitVO) throws IOException {
         String patentNo =splitVO.getPatentNo();
         Integer reportId =splitVO.getReportId();
@@ -104,7 +104,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
         if(taskId!=null){
             //根据taskId获得报告ID
         Task task = taskService.getById(taskId);
-            reportId =task.getId();
+            reportId =task.getReportId();
                 //根据taskId 和专利号找到关联Id
                 LambdaQueryWrapper<AssoTaskPersonel> queryWrapper1 =new LambdaQueryWrapper<>();
                 queryWrapper1.eq(AssoTaskPersonel::getTaskId,taskId)
@@ -208,9 +208,11 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
         if(taskId!=null){
             List<Features> features =this.list(wrapper);
             List<Integer> Ids =features.stream().map(Features::getId).collect(Collectors.toList());
-            LambdaQueryWrapper<CompareMessage> queryWrapper =new LambdaQueryWrapper<>();
-            queryWrapper.in(CompareMessage::getFeatureId,Ids);
-            compareMessageService.remove(queryWrapper);
+            if(Ids.size()!=0) {
+                LambdaQueryWrapper<CompareMessage> queryWrapper = new LambdaQueryWrapper<>();
+                queryWrapper.in(CompareMessage::getFeatureId, Ids);
+                compareMessageService.remove(queryWrapper);
+            }
         }
         this.remove(wrapper);
         //将拆解的权要和特征装载到对象PatentRightVo
@@ -288,7 +290,6 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
      * @throws IOException
      * @function 根据报告id 和专利号查询专利特征表
      */
-
     public String getFeatures(String patentNos, Integer reportId) throws IOException {
 
         LambdaQueryWrapper<Report> queryWrapper = new LambdaQueryWrapper();

+ 151 - 80
RMS/src/main/java/cn/cslg/report/service/business/TaskService.java

@@ -3,15 +3,20 @@ package cn.cslg.report.service.business;
 
 import cn.cslg.report.common.model.dto.TaskTDO;
 import cn.cslg.report.common.model.vo.*;
+import cn.cslg.report.common.model.vo.queryVo.QueryCMVO;
 import cn.cslg.report.common.utils.CacheUtils;
 import cn.cslg.report.common.utils.DataUtils;
 import cn.cslg.report.common.utils.LogExceptionUtil;
 import cn.cslg.report.common.utils.Response;
+import cn.cslg.report.common.utils.SecurityUtils.LoginUtils;
 import cn.cslg.report.common.utils.message.MessageUtils;
 import cn.cslg.report.entity.*;
 import cn.cslg.report.entity.asso.AssoTaskPersonel;
+import cn.cslg.report.entity.asso.SyneryCode;
+import cn.cslg.report.entity.asso.Synery_CC;
 import cn.cslg.report.mapper.TaskMapper;
 import cn.cslg.report.service.OutInterfaceService;
+import cn.cslg.report.service.business.asso.SyneryCCService;
 import cn.dev33.satoken.stp.StpUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
@@ -24,6 +29,7 @@ import io.swagger.v3.oas.models.security.SecurityScheme;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Isolation;
@@ -49,6 +55,10 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
     private final AssoTaskPersonelService assoTaskPersonelService;
     private final ReportFieldService reportFieldService;
     private final MessageUtils mailUtils;
+    private final LoginUtils loginUtils;
+    private final SyneryCCService syneryCCService;
+
+    private final CompareMessageService compareMessageService;
 
     /**
      * @param id(Task 任务id)
@@ -116,8 +126,8 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
      */
     public IPage<TaskReportVO> queryPageList(TaskVO taskVO) {
         taskVO.setLoginId(StpUtil.getLoginIdAsInt());
-        IPage<TaskReportVO> dataPage =   baseMapper.queryTasks(new Page<>(taskVO.getCurrent(),taskVO.getSize()),taskVO);
-return dataPage;
+        IPage<TaskReportVO> dataPage = baseMapper.queryTasks(new Page<>(taskVO.getCurrent(), taskVO.getSize()), taskVO);
+        return dataPage;
     }
 
     /**
@@ -162,25 +172,26 @@ return dataPage;
                 task.setCreateID(personnelVO.getId());
                 task.setCreateName(personnelVO.getName());
                 task.setTaskStatus(0);
-               task.setPersonEmail(personnel.getPersonnelEmail());
+                task.setPersonEmail(personnel.getPersonnelEmail());
                 tasks.add(task);
             }
-            if(this.saveBatch(tasks)){
-               for(Task tem :tasks){
-                   Map<String, Object> map = new HashMap<>();
-                   map.put("title", "任务通知");
-                   map.put("template", "mail/eTask.html");
-                   map.put("value1", tem.getHandlePersonName());
-                   map.put("img", "\\src\\main\\resources\\mail\\logo.png");
-                   map.put("email", tem.getPersonEmail());
-                   map.put("value2", tem.getCreateName());
-                   map.put("value3","审核任务");
-                   map.put("value4",tem.getEndTime());
-                   map.put("value5","http://139.224.24.90:8086/");
-                   mailUtils.sendEmailMessage(map);
-
-               }
-            };
+            if (this.saveBatch(tasks)) {
+                for (Task tem : tasks) {
+                    Map<String, Object> map = new HashMap<>();
+                    map.put("title", "任务通知");
+                    map.put("template", "mail/eTask.html");
+                    map.put("value1", tem.getHandlePersonName());
+                    map.put("img", "\\src\\main\\resources\\mail\\logo.png");
+                    map.put("email", tem.getPersonEmail());
+                    map.put("value2", tem.getCreateName());
+                    map.put("value3", "审核任务");
+                    map.put("value4", tem.getEndTime());
+                    map.put("value5", "http://139.224.24.90:8086/");
+                    mailUtils.sendEmailMessage(map);
+
+                }
+            }
+            ;
         }
         return Response.success();
     }
@@ -262,7 +273,7 @@ return dataPage;
         }
         //有查询条件时,自定义字段的专利号和任务的专利号取交集
         else {
-            List<String> temPatentNos = reportFieldService.getPatentNo1(patentVO.getFiledOptions(),patentVO.getReportId(),patentVO.getTaskId(),patentVO.getTaskStatus());
+            List<String> temPatentNos = reportFieldService.getPatentNo1(patentVO.getFiledOptions(), patentVO.getReportId(), patentVO.getTaskId(), patentVO.getTaskStatus());
             patentVO.setPatentNos(temPatentNos);
         }
         String res = outInterfaceService.getConPantentNos(patentVO, 1);
@@ -294,7 +305,7 @@ return dataPage;
             task.setCreateName(personnelVO.getName());
             task.setSignPatentNo(signPatentNO);
             //发送邮件
-            if(task.insert()) {
+            if (task.insert()) {
                 Map<String, Object> map = new HashMap<>();
                 map.put("title", "任务通知");
                 map.put("template", "mail/eTask.html");
@@ -361,7 +372,7 @@ return dataPage;
         }
         //有查询条件时,自定义字段的专利号和任务的专利号取交集
         else {
-            List<String> patentNos = reportFieldService.getPatentNo(patentVO.getFiledOptions(),taskPatentNos);
+            List<String> patentNos = reportFieldService.getPatentNo(patentVO.getFiledOptions(), taskPatentNos);
             List<String> jiaoList = new ArrayList<>(taskPatentNos);
             jiaoList.retainAll(patentNos);
             patentVO.setPatentNos(jiaoList);
@@ -384,29 +395,29 @@ return dataPage;
     @Transactional(rollbackFor = Exception.class)
     public String reTaskPatents1(PatentVO patentVO) throws ParseException, IOException {
         List<String> taskPatentNos = new ArrayList<>();
-       //无自定义字段查询条件
+        //无自定义字段查询条件
         if (patentVO.getFiledOptions().size() == 0 || patentVO.getFiledOptions() == null) {
             //当有任务Id时
-            if(patentVO.getTaskId() != null) {
+            if (patentVO.getTaskId() != null) {
                 LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
                 queryWrapper.eq(AssoTaskPersonel::getTaskId, patentVO.getTaskId());
-                if(patentVO.getTaskStatus()!=3){
+                if (patentVO.getTaskStatus() != 3) {
                     queryWrapper.eq(AssoTaskPersonel::getState, patentVO.getTaskStatus());
                 }
                 List<AssoTaskPersonel> assoTaskPersonels = assoTaskPersonelService.list(queryWrapper);
                 taskPatentNos = assoTaskPersonels.stream().map(AssoTaskPersonel::getPatentNo).collect(Collectors.toList());
             }
             // 当无任务Id时
-            else{
+            else {
                 LambdaQueryWrapper<CompareFiles> queryWrapper = new LambdaQueryWrapper<>();
                 queryWrapper.eq(CompareFiles::getReportId, patentVO.getReportId());
-                    List<CompareFiles> assoTaskPersonels = compareFilesService.list(queryWrapper);
-                    taskPatentNos = assoTaskPersonels.stream().map(CompareFiles::getPatentNo).collect(Collectors.toList());
+                List<CompareFiles> assoTaskPersonels = compareFilesService.list(queryWrapper);
+                taskPatentNos = assoTaskPersonels.stream().map(CompareFiles::getPatentNo).collect(Collectors.toList());
             }
         }
         //有自定义查询条件
         else {
-            taskPatentNos=reportFieldService.getPatentNo1(patentVO.getFiledOptions(),patentVO.getReportId(),patentVO.getTaskId(),patentVO.getTaskStatus());
+            taskPatentNos = reportFieldService.getPatentNo1(patentVO.getFiledOptions(), patentVO.getReportId(), patentVO.getTaskId(), patentVO.getTaskStatus());
 
         }
         patentVO.setPatentNos(taskPatentNos);
@@ -425,7 +436,6 @@ return dataPage;
     }
 
 
-
     public Map<String, Object> reTaskStateCount(Integer reportId, Integer taskId) {
         //根据任务Id和类型获得任务的清单
         LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
@@ -451,12 +461,12 @@ return dataPage;
     }
 
     /**
-     * @function 任务完成的进度,
      * @param taskId
      * @return
+     * @function 任务完成的进度,
      * @author :cj
      */
-    public Map<String, Object> reCount( Integer taskId) {
+    public Map<String, Object> reCount(Integer taskId) {
         //根据任务Id和类型获得任务的清单
         LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(AssoTaskPersonel::getTaskId, taskId);
@@ -466,21 +476,22 @@ return dataPage;
         //已完成
         List<AssoTaskPersonel> finish = assoTaskPersonels.stream().filter(item -> item.getState().equals(1)).collect(Collectors.toList());
         Map<String, Object> reMap = new HashMap<>();
-        reMap.put("total",assoTaskPersonels.size());
-        reMap.put("finish",finish.size());
-        reMap.put("nofinish",nofinish.size());
+        reMap.put("total", assoTaskPersonels.size());
+        reMap.put("finish", finish.size());
+        reMap.put("nofinish", nofinish.size());
         return reMap;
     }
+
     /**
-     * @function :改变任务的状态
      * @param : 任务的id
+     * @function :改变任务的状态
      * @return: 是否改变成功
      * @author :cj
      */
     @Transactional
-    public String finishTask(Integer id){
+    public String finishTask(Integer id) {
         LambdaQueryWrapper<Task> queryWrapper = new LambdaQueryWrapper<>();
-            queryWrapper.eq(Task::getId,id);
+        queryWrapper.eq(Task::getId, id);
         List<Task> list = this.list(queryWrapper);
         Task task = list.get(0);
         //1为已完成
@@ -497,13 +508,13 @@ return dataPage;
     }
 
     /**
-     * @function 根据报告查看任务
      * @param taskVO
      * @return
+     * @function 根据报告查看任务
      * @author :cj
      */
     public String ReviewTheTasks(TaskTDO taskVO) {
-            PersonnelVO personnelVO = cacheUtils.getLoginUser(StpUtil.getLoginIdAsInt());
+        PersonnelVO personnelVO = cacheUtils.getLoginUser(StpUtil.getLoginIdAsInt());
         LambdaQueryWrapper<Task> lambdaQueryWrapper = new LambdaQueryWrapper<>();
         lambdaQueryWrapper.eq(Task::getReportId, taskVO.getReportId());
         List<Task> list = this.list(lambdaQueryWrapper);
@@ -511,21 +522,21 @@ return dataPage;
         List<Integer> collect = list.stream().map(Task::getCreateID).collect(Collectors.toList());
         if (collect.get(0).equals(personnelVO.getId())) {
             //负责人可以查看所有的
-                LambdaQueryWrapper<Task> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
-                //分页
-                lambdaQueryWrapper1.eq(Task::getCreateID, personnelVO.getId())
-                        .eq(Task::getReportId, taskVO.getReportId());
-                if(taskVO.getTaskName()!=null){
-                    lambdaQueryWrapper1.like(Task::getTaskName,taskVO.getTaskName());
-                }
-            if(taskVO.getHandlePersonName()!=null){
-                lambdaQueryWrapper1.like(Task::getHandlePersonName,taskVO.getHandlePersonName());
+            LambdaQueryWrapper<Task> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
+            //分页
+            lambdaQueryWrapper1.eq(Task::getCreateID, personnelVO.getId())
+                    .eq(Task::getReportId, taskVO.getReportId());
+            if (taskVO.getTaskName() != null) {
+                lambdaQueryWrapper1.like(Task::getTaskName, taskVO.getTaskName());
             }
-            if(taskVO.getTaskStatus()!=null){
-                lambdaQueryWrapper1.eq(Task::getTaskStatus,taskVO.getTaskStatus());
+            if (taskVO.getHandlePersonName() != null) {
+                lambdaQueryWrapper1.like(Task::getHandlePersonName, taskVO.getHandlePersonName());
             }
-            if(taskVO.getType()!=null){
-                lambdaQueryWrapper1.eq(Task::getType,taskVO.getType());
+            if (taskVO.getTaskStatus() != null) {
+                lambdaQueryWrapper1.eq(Task::getTaskStatus, taskVO.getTaskStatus());
+            }
+            if (taskVO.getType() != null) {
+                lambdaQueryWrapper1.eq(Task::getType, taskVO.getType());
             }
 
             if (taskVO.getCurrent() != null && taskVO.getSize() != null) {
@@ -536,48 +547,108 @@ return dataPage;
             return Response.success(lambdaQueryWrapper1);
         } else {
             //被分配人可以查看自己的任务
-                LambdaQueryWrapper<Task> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
-                lambdaQueryWrapper1.eq(Task::getHandlePersonId, personnelVO.getId())
-                        .eq(Task::getReportId, taskVO.getReportId());
-            if (taskVO.getCurrent()!= null && taskVO.getSize()!= null) {
+            LambdaQueryWrapper<Task> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
+            lambdaQueryWrapper1.eq(Task::getHandlePersonId, personnelVO.getId())
+                    .eq(Task::getReportId, taskVO.getReportId());
+            if (taskVO.getCurrent() != null && taskVO.getSize() != null) {
                 //分页
                 List<Task> records = this.page(new Page<>(taskVO.getCurrent(), taskVO.getSize()), lambdaQueryWrapper1).getRecords();
                 Long count = this.count(lambdaQueryWrapper1);
                 return Response.success(records, DataUtils.setPageColumn(taskVO.getSize(), taskVO.getCurrent(), Math.toIntExact(count)));
 
             }
-                return Response.success(this.list(lambdaQueryWrapper1));
-            }
-
+            return Response.success(this.list(lambdaQueryWrapper1));
         }
+
+    }
+
     /**
-     * @function :点击自定义字段变成已读
      * @param : 任务的id 专利号
+     * @function :点击自定义字段变成已读
      * @return: 是否改变成功
      * @author :cj
      */
-        @Transactional
-        public String read(int taskID, String patentNo ){
-            LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
-            queryWrapper.eq(AssoTaskPersonel::getTaskId,taskID).eq(AssoTaskPersonel::getPatentNo,patentNo);
-            AssoTaskPersonel assoTaskPersonel = assoTaskPersonelService.list(queryWrapper).get(0);
-            if(assoTaskPersonel.getState().equals(1)){
-                assoTaskPersonel.setState(0);
-            }
-            else  {
-                 assoTaskPersonel.setState(1);
-            }
-            assoTaskPersonel.updateById();
-            return Response.success();
-        }
-        public String look(int taskID,String patentNo){
-            LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
-            queryWrapper.eq(AssoTaskPersonel::getTaskId,taskID).eq(AssoTaskPersonel::getPatentNo,patentNo);
-            AssoTaskPersonel assoTaskPersonel = assoTaskPersonelService.list(queryWrapper).get(0);
-            return Response.success(assoTaskPersonel.getState());
+    @Transactional
+    public String read(int taskID, String patentNo) {
+        LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(AssoTaskPersonel::getTaskId, taskID).eq(AssoTaskPersonel::getPatentNo, patentNo);
+        AssoTaskPersonel assoTaskPersonel = assoTaskPersonelService.list(queryWrapper).get(0);
+        if (assoTaskPersonel.getState().equals(1)) {
+            assoTaskPersonel.setState(0);
+        } else {
+            assoTaskPersonel.setState(1);
         }
+        assoTaskPersonel.updateById();
+        return Response.success();
+    }
 
+    public String look(int taskID, String patentNo) {
+        LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(AssoTaskPersonel::getTaskId, taskID).eq(AssoTaskPersonel::getPatentNo, patentNo);
+        AssoTaskPersonel assoTaskPersonel = assoTaskPersonelService.list(queryWrapper).get(0);
+        return Response.success(assoTaskPersonel.getState());
+    }
 
+    @Transactional(rollbackFor = Exception.class)
+    public String addSyneryTask(SyneryVO syneryVO) throws ParseException, IOException {
+        PatentVO patentVO = new PatentVO();
+      List<Synery_CC> synery_ccs= syneryVO.getSyneryCCList();
+        if (syneryVO.getPatentVO() != null) {
+            patentVO = syneryVO.getPatentVO();
+        }
+        Task task = new Task();
+        task.setTaskName(syneryVO.getTaskName());
+        task.setReportId(syneryVO.getReportId());
+        task.setType(1);
+        task.setTaskStatus(0);
+        task.setProgress(0.0);
+        task.setEndTime(syneryVO.getEndTime());
+        task.setRemark(syneryVO.getRemark());
+        task.setHandlePersonId(syneryVO.getHandlePersonId());
+        task.setCreateID(loginUtils.getId());
+        task.insert();
+        QueryCMVO queryCMVO = new QueryCMVO();
+        queryCMVO.setReportId(syneryVO.getReportId());
+        List<String> AllpatentNos = compareMessageService.getBaseMapper().getComparedMessageAll(queryCMVO);
+        //无查询条件
+        if (patentVO == null || patentVO.getFiledOptions() == null || patentVO.getFiledOptions().size() == 0) {
+            patentVO.setPatentNos(AllpatentNos);
+        }
+        //有查询条件时,自定义字段的专利号和任务的专利号取交集
+        else {
+            List<String> temPatentNos = reportFieldService.getPatentNo1(patentVO.getFiledOptions(), patentVO.getReportId(), patentVO.getTaskId(), patentVO.getTaskStatus());
+            List<String> strings1 = new ArrayList<>(CollectionUtils.intersection(temPatentNos, AllpatentNos));
+            patentVO.setPatentNos(temPatentNos);
+        }
+        List<String> patentNos = new ArrayList<>();
+        if (patentVO.getPatentNos().size() != 0) {
+            String res = outInterfaceService.getConPantentNos(patentVO, 1);
+            JSONObject jsonObject1 = JSONObject.parseObject(res);
+            patentNos = JSONArray.parseArray(jsonObject1.get("data").toString(), String.class);
+        }
+        List<AssoTaskPersonel> assoTaskPersonels = new ArrayList<>();
+        patentNos.forEach(item -> {
+            AssoTaskPersonel assoTaskPersonel = new AssoTaskPersonel();
+            assoTaskPersonel.setTaskId(task.getId());
+            assoTaskPersonel.setPatentNo(item);
+            assoTaskPersonel.setTaskType(task.getType());
+            assoTaskPersonels.add(assoTaskPersonel);
+        });
+        // 分配信息入库
+        assoTaskPersonelService.saveBatch(assoTaskPersonels);
+
+        if(synery_ccs!=null&&synery_ccs.size()!=0){
+            synery_ccs.forEach(item->{
+                item.setTaskId(task.getId());
+            });
+            syneryCCService.saveBatch(synery_ccs);
+        }
+        String code =DataUtils.generateShortUuid();
+        SyneryCode syneryCode =new SyneryCode();
+        syneryCode.setCode(code);
+        syneryCode.setTaskId(task.getId());
+        return Response.success();
+    }
 
 
 }

+ 23 - 0
RMS/src/main/java/cn/cslg/report/service/business/asso/SyneryCCService.java

@@ -0,0 +1,23 @@
+package cn.cslg.report.service.business.asso;
+
+import cn.cslg.report.entity.AssoComapareFiel;
+import cn.cslg.report.entity.asso.Synery_CC;
+import cn.cslg.report.mapper.AssoComapareFielMapper;
+import cn.cslg.report.mapper.SyneryCCMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Service;
+
+@SuppressWarnings({"all"})
+@Service
+@Slf4j
+@RequiredArgsConstructor(onConstructor_ = {@Lazy})
+public class SyneryCCService extends ServiceImpl<SyneryCCMapper, Synery_CC> {
+
+
+
+
+
+}

+ 21 - 0
RMS/src/main/java/cn/cslg/report/service/business/asso/SyneryCodeService.java

@@ -0,0 +1,21 @@
+package cn.cslg.report.service.business.asso;
+
+import cn.cslg.report.entity.asso.SyneryCode;
+import cn.cslg.report.entity.asso.Synery_CC;
+import cn.cslg.report.mapper.SyneryCCMapper;
+import cn.cslg.report.mapper.SyneryCodeMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Service;
+
+@SuppressWarnings({"all"})
+@Service
+@Slf4j
+@RequiredArgsConstructor(onConstructor_ = {@Lazy})
+public class SyneryCodeService extends ServiceImpl<SyneryCodeMapper, SyneryCode> {
+
+
+
+}

+ 25 - 0
RMS/src/main/resources/mapper/CompareMessageMapper.xml

@@ -6,5 +6,30 @@
         where a.SIGN_PATENT_NO=#{patentNo} and a.TASK_ID=#{taskId};
     </select>
 
+    <select id="getComparedMessage" resultType="java.lang.String">
+        select DISTINCT f.SIGN_PATENT_NO from RMS_TEST.FEATURES f left join RMS_TEST.COMPARE_MESSAGE cm on f.ID =cm.FEATURE_ID
+        <where>
+            and f.REPORT_ID=#{params.reportId}
+            and cm.ID is not null
+            <if test="params.compareResult !=null">
+             and   cm.COMPARE_RESULT=#{params.compareResult}
 
+            </if>
+        </where>
+
+
+    </select>
+    <select id="getComparedMessageAll" resultType="java.lang.String">
+        select DISTINCT f.SIGN_PATENT_NO from RMS_TEST.FEATURES f left join RMS_TEST.COMPARE_MESSAGE cm on f.ID =cm.FEATURE_ID
+        <where>
+            and f.REPORT_ID=#{params.reportId}
+            and cm.ID is not null
+            <if test="params.compareResult !=null">
+                and   cm.COMPARE_RESULT=#{params.compareResult}
+
+            </if>
+        </where>
+
+
+    </select>
 </mapper>

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


BIN
RMS/target/classes/cn/cslg/report/entity/CompareFiles.class


BIN
RMS/target/classes/cn/cslg/report/entity/CompareMessage.class


BIN
RMS/target/classes/cn/cslg/report/mapper/CompareMessageMapper.class


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


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


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


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


BIN
RMS/target/classes/cn/cslg/report/service/impl/ProductServiceImpl.class


+ 25 - 0
RMS/target/classes/mapper/CompareMessageMapper.xml

@@ -6,5 +6,30 @@
         where a.SIGN_PATENT_NO=#{patentNo} and a.TASK_ID=#{taskId};
     </select>
 
+    <select id="getComparedMessage" resultType="java.lang.String">
+        select DISTINCT f.SIGN_PATENT_NO from RMS_TEST.FEATURES f left join RMS_TEST.COMPARE_MESSAGE cm on f.ID =cm.FEATURE_ID
+        <where>
+            and f.REPORT_ID=#{params.reportId}
+            and cm.ID is not null
+            <if test="params.compareResult !=null">
+             and   cm.COMPARE_RESULT=#{params.compareResult}
 
+            </if>
+        </where>
+
+
+    </select>
+    <select id="getComparedMessageAll" resultType="java.lang.String">
+        select DISTINCT f.SIGN_PATENT_NO from RMS_TEST.FEATURES f left join RMS_TEST.COMPARE_MESSAGE cm on f.ID =cm.FEATURE_ID
+        <where>
+            and f.REPORT_ID=#{params.reportId}
+            and cm.ID is not null
+            <if test="params.compareResult !=null">
+                and   cm.COMPARE_RESULT=#{params.compareResult}
+
+            </if>
+        </where>
+
+
+    </select>
 </mapper>