Просмотр исходного кода

修改对比记录接口 2022/11/29

lwhhszx 2 лет назад
Родитель
Сommit
d64a918474

+ 41 - 1
RMS/src/main/java/cn/cslg/report/controller/TaskController.java

@@ -9,17 +9,26 @@ import cn.cslg.report.common.model.vo.*;
 import cn.cslg.report.common.utils.DataUtils;
 import cn.cslg.report.common.utils.DateUtils;
 import cn.cslg.report.common.utils.Response;
+import cn.cslg.report.entity.CompareRecords;
+import cn.cslg.report.entity.CompareScenarios;
+import cn.cslg.report.entity.CompareScenariosAndRecords;
 import cn.cslg.report.entity.Task;
 import cn.cslg.report.service.BaseService;
 import cn.cslg.report.service.OutInterfaceService;
+import cn.cslg.report.service.business.CompareRecordsService;
+import cn.cslg.report.service.business.CompareScenariosAndRecordsService;
+import cn.cslg.report.service.business.CompareScenariosService;
 import cn.cslg.report.service.business.TaskService;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.deepoove.poi.XWPFTemplate;
 import com.deepoove.poi.config.Configure;
 import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.RequiredArgsConstructor;
+import org.apache.poi.hssf.record.Record;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -29,10 +38,12 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.io.File;
 import java.io.IOException;
+import java.lang.reflect.Type;
 import java.text.ParseException;
 import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import java.util.stream.Collectors;
 
 @Tag(name = "任务管理")
 @RestController
@@ -44,6 +55,9 @@ public class TaskController {
     private final TaskService taskService;
     private final BaseService baseService;
     private final OutInterfaceService outInterfaceService;
+    private final CompareScenariosService compareScenariosService;
+    private final CompareScenariosAndRecordsService scenariosRecordsService;
+    private final CompareRecordsService compareRecordsService;
 
     @RequestMapping(value = "/deleteTask", method = RequestMethod.POST)
     @Operation(summary = "删除任务")
@@ -109,10 +123,36 @@ public class TaskController {
 
     @RequestMapping(value = "/temple", method = RequestMethod.GET)
     @Operation(summary = "测试")
-    public String temple() throws ParseException, IOException {
+    public String temple(Integer reportId) throws ParseException, IOException {
         String filePath= "C:\\Users\\admin\\Desktop\\1.docx";
         // 读取模板后保存生成word的地址
         String outPath = "C:\\Users\\admin\\Desktop\\2.docx";
+        //查询所有的对比方案并获得Id
+        LambdaQueryWrapper<CompareScenarios> queryWrapper=new LambdaQueryWrapper<>();
+        queryWrapper.eq(CompareScenarios::getReportId,reportId);
+        List<CompareScenarios> compareScenarios =compareScenariosService.list(queryWrapper);
+        List<Integer> scenarioIds= compareScenarios.stream().map(CompareScenarios::getId).collect(Collectors.toList());
+        //根据对比方案Id 从关联表里获得对比记录ID
+        LambdaQueryWrapper<CompareScenariosAndRecords> queryRecordsByIDs=new LambdaQueryWrapper<>();
+        queryRecordsByIDs.in(CompareScenariosAndRecords::getScenariosID,scenarioIds);
+        List<CompareScenariosAndRecords> scenariosRecords= scenariosRecordsService.list(queryRecordsByIDs);
+        List<Integer> recordIds = scenariosRecords.stream().map(CompareScenariosAndRecords::getRecordID).collect(Collectors.toList());
+        //根据对比记录ID获得专利号
+        LambdaQueryWrapper<CompareRecords> queryPatentByIDs=new LambdaQueryWrapper<>();
+        queryPatentByIDs.in(CompareRecords::getId,recordIds);
+        List<CompareRecords> compareRecords =compareRecordsService.list(queryPatentByIDs);
+        List<String> PatentNos =compareRecords.stream().map(CompareRecords::getPatentNo).collect(Collectors.toList());
+        PatentVO patentVO =new PatentVO();
+        patentVO.setPatentNos(PatentNos);
+        //根据专利号查询专利详细信息
+    String resBody=   outInterfaceService. getPatentDTOListForRMS(patentVO);
+    JSONObject jsonObject =JSONObject.parseObject(resBody);
+    List<JSONObject> patentDTOS =JSON.parseArray(jsonObject.get("data").toString(),JSONObject.class);
+
+        //获得详情转换为List
+
+        //填充到map
+
         // 为表格的显示绑定行循环
         LoopRowTableRenderPolicy policy = new LoopRowTableRenderPolicy();
         // 将bz设置为行循环绑定的数据源的key,即key是bz的value会在模板中的{{bz}}处进行解析

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

@@ -25,7 +25,7 @@ public class CompareScenarios extends BaseEntity<CompareResults> {
      * 权要ming
      */
     @TableField(value = "RIGHTNAME")
-    private String right;
+    private String rightName;
 
     /**
      * 报告ID

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

@@ -14,7 +14,7 @@ import lombok.experimental.Accessors;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 @TableName(value = "FILE")
-public class File extends BaseEntity<File> {
+public class Files extends BaseEntity<Files> {
     /**
      * 文件名称
      */

+ 32 - 0
RMS/src/main/java/cn/cslg/report/entity/asso/AssoPatentFile.java

@@ -0,0 +1,32 @@
+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 = "ASSO_PATENET_FILE")
+public class AssoPatentFile extends BaseEntity<AssoPatentFile> {
+    @Schema(description = "实体表ID")
+    @TableField(value = "ASSO_ID")
+    private Integer assoID;
+
+
+    @Schema(description = "实体表类型")
+    @TableField(value = "TYPE")
+    private Integer type;
+
+    @Schema(description = "文件ID")
+    @TableField(value = "FILE_ID")
+    private Integer fileId;
+
+}

+ 12 - 0
RMS/src/main/java/cn/cslg/report/mapper/AssoPatentFileMapper.java

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

+ 11 - 0
RMS/src/main/java/cn/cslg/report/mapper/FileMapper.java

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

+ 15 - 1
RMS/src/main/java/cn/cslg/report/service/OutInterfaceService.java

@@ -269,7 +269,6 @@ public class OutInterfaceService {
 //                .addHeader("Cookie", LoginUtils.getToken())
                 .get()
                 .build();
-        String a = Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
         return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
     }
 
@@ -353,6 +352,21 @@ public class OutInterfaceService {
                 .build();
         return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
     }
+    //根据专利号列表获得专利详情
+  public String  getPatentDTOListForRMS(PatentVO patentVO) throws  IOException{
+      Map<String, Object> map = new HashMap<>();
+      map.put("patentNos", patentVO.getPatentNos());
+      JSONObject json = new JSONObject(map);
+      RequestBody requestBody = RequestBody.create(JSON, String.valueOf(json));
+      OkHttpClient okHttpClient = new OkHttpClient();
+      Request request = new Request.Builder()
+              .url(PASUrl + "/api/v2/system/getPatentDTOListForRMS")
+              .post(requestBody)
+              .build();
+      return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
+
+
+  }
 
     public String getComPatentNos(PatentVO patentVO) throws IOException {
         LambdaQueryWrapper<ImportTask> queryWrapper = new LambdaQueryWrapper<>();

+ 24 - 0
RMS/src/main/java/cn/cslg/report/service/business/AssoPatentFileService.java

@@ -0,0 +1,24 @@
+package cn.cslg.report.service.business;
+
+import cn.cslg.report.common.model.dto.UploadFileDTO;
+import cn.cslg.report.common.utils.FileUtils;
+import cn.cslg.report.entity.Files;
+import cn.cslg.report.entity.asso.AssoPatentFile;
+import cn.cslg.report.mapper.AssoPatentFileMapper;
+import cn.cslg.report.mapper.FileMapper;
+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;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+@Service
+@Slf4j
+@RequiredArgsConstructor(onConstructor_ = {@Lazy})
+public class AssoPatentFileService extends ServiceImpl<AssoPatentFileMapper, AssoPatentFile> {
+
+
+}

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

@@ -28,7 +28,7 @@ public class CompareScenariosService extends ServiceImpl<CompareScenariosMapper,
         CompareScenarios compareScenarios = new CompareScenarios();
         compareScenarios.setContrastResult(compareScenariosVO.getContrastResult());
         compareScenarios.setReportId(compareScenariosVO.getReportId());
-        compareScenarios.setRight(compareScenariosVO.getRight());
+        compareScenarios.setRightName(compareScenariosVO.getRight());
         compareScenarios.setPersonId(loginUtils.getId());
         compareScenarios.setRightId(compareScenariosVO.getRightId());
         compareScenarios.setSignPatentNo(compareScenariosVO.getSignPatentNo());

+ 38 - 0
RMS/src/main/java/cn/cslg/report/service/business/FileService.java

@@ -0,0 +1,38 @@
+package cn.cslg.report.service.business;
+
+import cn.cslg.report.common.model.dto.UploadFileDTO;
+import cn.cslg.report.common.utils.FileUtils;
+import cn.cslg.report.entity.Files;
+import cn.cslg.report.entity.asso.AssoRecordsFeature;
+import cn.cslg.report.mapper.AssoRecordsFeatureMapper;
+import cn.cslg.report.mapper.FileMapper;
+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;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+@Service
+@Slf4j
+@RequiredArgsConstructor(onConstructor_ = {@Lazy})
+public class FileService extends ServiceImpl<FileMapper, Files> {
+    private  final FileUtils fileUtils;
+    public Files uploadFiles(MultipartFile file){
+        UploadFileDTO fileDTO = fileUtils.uploadFile(file);
+        String path = fileUtils.getPath(fileDTO.getPath());
+        Files file1=new Files();
+        file1.setFilePath(path);
+        file1.setFileName(fileDTO.getName());
+        file1.insert();
+        return file1;
+    }
+
+    public void deleteFiles(List<Integer> fileIds)
+    {
+        this.removeByIds(fileIds);
+    }
+
+}

+ 2 - 2
RMS/src/main/resources/application.yml

@@ -67,6 +67,6 @@ mybatis-plus:
     map-underscore-to-camel-case: true
     cache-enabled: false
   mapper-locations: classpath:mapper/*.xml
-PCSUrl: http://192.168.1.10:8880
-PASUrl: http://192.168.1.10:8879
+PCSUrl: http://192.168.1.11:8880
+PASUrl: http://192.168.1.11:8879
 

Разница между файлами не показана из-за своего большого размера
+ 17694 - 0
logs/rms/rms-debug.2022-11-28.0.log


Разница между файлами не показана из-за своего большого размера
+ 369 - 0
logs/rms/rms-info.2022-11-28.0.log