lwhhszx hace 2 años
padre
commit
4cbe86e882

+ 1 - 1
RMS/src/main/java/cn/cslg/report/common/model/dto/ProofAddNewDTO.java

@@ -22,7 +22,7 @@ public class ProofAddNewDTO implements Serializable {
     /**
      * 证据名称
      */
-    private String proofName;
+    private String fileName;
     /**
      * 备注
      */

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

@@ -0,0 +1,25 @@
+package cn.cslg.report.common.model.vo.invalidReReport;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ProofVO {
+    /**
+     * 排序
+     */
+    private String sortStr;
+
+    /**
+     * 名称
+     */
+    private String proofName;
+
+    /**
+     * 文件类型
+     */
+    private String proofType;
+
+
+}

+ 14 - 4
RMS/src/main/java/cn/cslg/report/controller/CompareController.java

@@ -1,21 +1,22 @@
 package cn.cslg.report.controller;
 
 import cn.cslg.report.common.core.base.Constants;
+import cn.cslg.report.common.model.dto.ProofAddNewDTO;
 import cn.cslg.report.common.model.vo.CompareFilesVO;
 import cn.cslg.report.common.model.vo.PatentVO;
 import cn.cslg.report.common.utils.Response;
 import cn.cslg.report.service.business.CompareFilesService;
+import com.alibaba.fastjson.JSONObject;
 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.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
 import java.text.ParseException;
+import java.util.List;
 
 
 @SuppressWarnings({"all"})
@@ -82,4 +83,13 @@ public class CompareController {
     public String reTaskStateCount(Integer reportId) throws ParseException, IOException {
         return Response.success(compareFilesService.reTaskStateCount(reportId));
     }
+
+
+    @Operation(summary = "上传非专利文献证据")
+    @PostMapping("/addProofByFile")
+    public String addProofByFile(String proofAddNewDTOStr, List<MultipartFile> files) {
+        ProofAddNewDTO proofAddNewDTO = JSONObject.parseObject(proofAddNewDTOStr, ProofAddNewDTO.class);
+        compareFilesService.addProofByFile(proofAddNewDTO, files);
+        return Response.success();
+    }
 }

+ 5 - 0
RMS/src/main/java/cn/cslg/report/controller/FeatureController.java

@@ -64,4 +64,9 @@ public class FeatureController {
     public String getSplitMessage(Integer taskId,String patentNo,Integer reportId) throws IOException {
         return Response.success(assoTaskPatentSplitService.getSplitMessage(taskId,patentNo,reportId));
     }
+
+
+
+
+
 }

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

@@ -4,12 +4,15 @@ import cn.cslg.report.common.model.PASPatentVO;
 import cn.cslg.report.common.model.dto.CompareOrderDTO;
 import cn.cslg.report.common.model.dto.CustomFieldLabelDTO;
 
+import cn.cslg.report.common.model.dto.ProofAddNewDTO;
 import cn.cslg.report.common.model.vo.CompareFilesVO;
 import cn.cslg.report.common.model.vo.PatentIndexSettingVO;
 
 import cn.cslg.report.common.model.vo.PatentVO;
+import cn.cslg.report.common.model.vo.PersonnelVO;
 import cn.cslg.report.common.utils.JsonUtils;
 import cn.cslg.report.common.utils.Response;
+import cn.cslg.report.common.utils.ThrowException;
 import cn.cslg.report.entity.*;
 import cn.cslg.report.entity.asso.AssoRecordsFeature;
 import cn.cslg.report.entity.asso.AssoTaskPersonel;
@@ -26,9 +29,11 @@ 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.beans.BeanUtils;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
 import java.util.*;
@@ -51,7 +56,7 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
     private final TaskService taskService;
     private final AssoTaskPersonelService assoTaskPersonelService;
     private final CompareRecordsService compareRecordsService;
-
+    private final ReportFileService reportFileService;
     /**
      * @param compareFilesVO
      * @return 是否添加成功
@@ -627,6 +632,43 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
         }
         return compareFiles.getId();
     }
+    //上传非专利文献证据
+    public void addProofByFile(ProofAddNewDTO proofAddNewDTO, List<MultipartFile> files) {
+        log.info("开始处理【上传非专利文献证据】的业务,参数为:{}, {}", proofAddNewDTO, files);
+
+        //检查本次请求合法性(是否有上传非专利文献证据)
+        if (files == null || files.size() == 0) {
+            ThrowException.throwXiaoShiException("未上传文件");
+        }
+
+
+        ArrayList<Proof> proofs = new ArrayList<>();
+        //上传非专利文献证据文件附件,附件信息入报告系统文件表后,返回附件ids
+        List<Integer> fileIds = reportFileService.uploadFiles(files);
+        //查询证据表,取出该报告已有证据最大排序序号
+        List<CompareFiles> proofList = this.list(new LambdaQueryWrapper<CompareFiles>().eq(CompareFiles::getReportId, proofAddNewDTO.getReportId()).orderByDesc(CompareFiles::getSysOrder).last("limit 1"));
+        Integer biggestSort;
+        //若该报告目前没有证据,则最大排序序号设为0;若有则最大排序序号就是当前按序号倒序的第一个证据的排序序号
+        if (proofList == null || proofList.size() == 0) {
+            biggestSort = 0;
+        } else {
+            if (proofList.get(0).getSysOrder() == null) {
+                biggestSort = 0;
+            } else {
+                biggestSort = proofList.get(0).getSysOrder();
+            }
+
+        }
 
+            CompareFiles proof = new CompareFiles();
+            BeanUtils.copyProperties(proofAddNewDTO, proof);  //DTO赋值给实体类(装载报告id、证据名称、备注)
+            proof.setFileType(2);  //装载证据类型
+            proof.setFileId(fileIds.get(0));  //装载文件id
+            proof.setFileType(++biggestSort);
+            proof.insert();
+
+        log.info("上传非专利文献证据完成");
+
+    }
 
 }

+ 3 - 0
RMS/src/main/java/cn/cslg/report/service/business/FeatureService.java

@@ -534,4 +534,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
         return 1;
     }
 
+
+
+
 }

+ 28 - 4
RMS/src/main/java/cn/cslg/report/service/business/InvalidReReport/ArgumentsService.java

@@ -61,7 +61,6 @@ public class ArgumentsService extends ServiceImpl<ArgumentsMapper, Arguments> {
            scratch.insert();
         }
 
-
     }
 
     /**
@@ -148,10 +147,35 @@ public class ArgumentsService extends ServiceImpl<ArgumentsMapper, Arguments> {
         if(argumentsQueryDTO.getReportId()!=null){
             argumentsLambdaQueryWrapper.eq(Arguments::getRightId,argumentsQueryDTO.getRightId());
         }
+    }
 
-
-
+    /**
+     * 添加陈述意见
+     *
+     * @param argumentsDTO
+     */
+    public void updateArgumentsBatch(ArgumentsDTO argumentsDTO) {
+        // 检验参数
+        if (argumentsDTO == null||argumentsDTO.getReportId() == null || argumentsDTO.getFeatureId() == null || argumentsDTO.getRightId() == null||argumentsDTO.getProofId()==null) {
+            return;
+        }
+        Integer  loginId=loginUtils.getId();
+        //装载陈述意见实体类
+        Arguments arguments = new Arguments();
+        BeanUtils.copyProperties(argumentsDTO, arguments);
+        arguments.setCreateId(loginId);
+        arguments.insert();
+        //若划词不为空
+        if(argumentsDTO.getContent()!=null){
+            Scratch scratch =new Scratch();
+            BeanUtils.copyProperties(argumentsDTO,scratch);
+            //根据证据类型获得证据的专利号
+            Proof proof = proofService.getById(arguments.getProofId());
+            String patenNo =proof.getPatentNo();
+            scratch.setPatentNo(patenNo);
+            scratch.setCreateId(loginId);
+            scratch.insert();
+        }
 
     }
-
 }