浏览代码

代码合并

lwhhszx 2 年之前
父节点
当前提交
c9aef230f1

+ 3 - 33
RMS/src/main/java/cn/cslg/report/common/model/vo/ReportDeVO.java

@@ -12,174 +12,151 @@ import java.util.List;
 @Data
 @Accessors(chain = true)
 public class ReportDeVO {
+
+    private Integer id;
     /**
      * 标的专利/产品号
      */
     @Schema(description = "标的专利号", required = true)
-    @TableField(value = "SIGN_PATENT_NO")
     private String signPatentNo;
 
     /**
      * 报告名称
      */
     @Schema(description = "报告名称", required = true)
-    @TableField(value = "NAME")
     private String name;
 
     /**
      * 产品/技术
      */
     @Schema(description = "产品/技术")
-    @TableField(value = "PRO_TEC")
+
     private String proTec;
 
     /**
      * 报告类别
      */
     @Schema(description = "报告类别(0无效分析1第三方意见2稳定性分析3FTO调查4侵权分析5回避设计6图表分析7无效应对)")
-    @TableField(value = "TYPE")
     private Integer type;
 
     /**
      * 报告状态
      */
     @Schema(description = "报告状态")
-    @TableField(value = "STATUS")
     private Integer status;
 
     /**
      * 报告生成时间
      */
     @Schema(description = "报告生成时间")
-    @TableField(value = "CREATE_TIME")
     private Date createTime;
 
     /**
      * 报告生成文件ID
      */
     @Schema(description = "报告生成文件ID")
-    @TableField(value = "REPORT_FILE_ID")
     private Integer reportFileId;
 
     /**
      * 负责人ID
      */
     @Schema(description = "负责人ID")
-    @TableField(value = "PERSON_ID")
     private Integer personId;
     /**
      * 负责人ID
      */
     @Schema(description = "负责人姓名")
-    @TableField(value = "PERSON_NAME")
     private String personName;
 
     /**
      * 委托人ID
      */
     @Schema(description = "委托人ID")
-    @TableField(value = "CLIENT_ID")
     private Integer clientId;
 
     /**
      * 委托人姓名
      */
     @Schema(description = "委托人姓名")
-    @TableField(value = "CLIENT_NAME")
     private String clientName;
 
     /**
      * 承担部门ID
      */
     @Schema(description = "承担部门ID")
-    @TableField(value = "DEPARTMENT_ID")
     private Integer departmentId;
 
     /**
      * 承担部门名称
      */
     @Schema(description = "承担部门名称")
-    @TableField(value = "DEPARTMENT_NAME")
     private String departmentName;
 
     /**
      * 关联报告ID
      */
     @Schema(description = "关联报告ID")
-    @TableField(value = "ASSOCIATE_REPORT_ID")
     private Integer associateReportId;
 
     /**
      * 关联报告名称
      */
     @Schema(description = "关联报告名称")
-    @TableField(value = "ASSOCIATE_REPORT_NAME")
     private String associateReportName;
 
     /**
      * 应用场景
      */
     @Schema(description = "应用场景")
-
-    @TableField("SCENARIO_ID")
     private String scenarioId;
     /**
      * 调查类型
      */
     @Schema(description = "调查类型")
-    @TableField(value = "IT_FLAG")
     private Integer itFlag;
 
     /**
      * 专题库ID
      */
     @Schema(description = "专题库ID")
-    @TableField(value = "PROJECT_ID")
     private Integer projectId;
 
     /**
      * 卷号
      */
     @Schema(description = "卷号")
-    @TableField(value = "VOLUME_NUMBER")
     private String volumeNumber;
     /**
      * 拆分根据
      */
     @Schema(description = "拆分根据")
-    @TableField(value = "SPLIT_BY")
     private Integer splitBy;
     /**
      * 拆分类型
      */
     @Schema(description = "拆分类型")
-    @TableField(value = "SPLIT_TYPE")
     private Integer splitType;
 
     /**
      * 创建人ID
      */
     @Schema(description = "创建人ID")
-    @TableField(value = "CREATE_PERSON_ID")
     private Integer createPersonId;
     /**
      * 创建人姓名
      */
     @Schema(description = "创建人姓名")
-    @TableField(value = "CREATE_PERSON_NAME")
     private String createPersonName;
     /**
      * 备注
      */
     @Schema(description = "REMARK")
-    @TableField(value = "REMARK")
     private String remark;
 
     /**
      * 结论id
      */
     @Schema(description = "结论id")
-    @TableField(value = "CONCLUSION_ID")
     private String conclusionId;
 
 
@@ -187,29 +164,22 @@ public class ReportDeVO {
      * 核心结论
      */
     @Schema(description = "核心结论")
-    @TableField(value = "CRON_CONCLUSION")
     private String cronConclusion;
 
     @Schema(description = "登录人在报告中的角色 0创建人,1负责人,2分享人")
-    @TableField(exist = false)
     private List<Integer> loginRole;
     /**
      * 文件
      */
-    @TableField(exist = false)
     private List<ReportFiles> reportFiles;
     /**
      * 场景列表
      */
-    @TableField(exist = false)
     private List<String> scenarioList;
 
-    @TableField(exist = false)
     private List<String> scenarioNames;
 
-    @TableField(exist = false)
     private List<String> conclusionIds;
-    @TableField(exist = false )
     private List<String> conclusions;
 
     //以下是无效应对报告使用的字段 ↓

+ 6 - 0
RMS/src/main/java/cn/cslg/report/controller/CompareController.java

@@ -92,4 +92,10 @@ public class CompareController {
         compareFilesService.addProofByFile(proofAddNewDTO, files);
         return Response.success();
     }
+
+    @Operation(summary = "删除专利证据文献")
+    @PostMapping("/deleteCompareFile")
+    public String deleteCompareFile(@RequestBody List<Integer> ids) {
+        return compareFilesService.deleteCompareFile(ids);
+    }
 }

+ 1 - 0
RMS/src/main/java/cn/cslg/report/controller/CompareRecordsController.java

@@ -33,6 +33,7 @@ public class CompareRecordsController {
         CompareRecords compareRecords = JSONObject.parseObject(jsons,CompareRecords.class);
         return compareRecordsService.addCompareRecord(compareRecords,files);
     }
+
     @RequestMapping(value = "/deleCompareRecords", method = RequestMethod.GET)
     @Operation(summary = "删除对比记录数据")
     public String deleCompareRecords(Integer id) throws IOException{

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

@@ -82,4 +82,14 @@ public class ArgumentsController {
         return Response.success(proofStrService.queryProofStr(proofId,featureId));
     }
 
+    @Operation(summary = "删除陈述意见")
+    @PostMapping("/deleteArguments")
+    public String deleteArgument(@RequestBody List<Integer> ids) throws IOException {
+       Boolean flag= argumentsService.deleteArguments(ids);
+       if(flag){
+           return Response.success("删除成功");
+       }
+            return Response.error("删除失败");
+
+    }
 }

+ 1 - 0
RMS/src/main/java/cn/cslg/report/controller/InvalidReReport/InvalidReasonController.java

@@ -97,6 +97,7 @@ public class InvalidReasonController {
         }
         return Response.success("添加成功");
     }
+
     @Operation(summary = "更新无效理由和证据")
     @PostMapping("/updateArgumentStr")
     public String updateArgumentStr(@RequestBody UpdateArgumentStrDTO updateArgumentStrDTO) throws IOException {

+ 2 - 3
RMS/src/main/java/cn/cslg/report/controller/InvalidReReport/ProofGroupController.java

@@ -82,8 +82,7 @@ public class ProofGroupController {
 
     @Operation(summary = "查询证据组合详情")
     @GetMapping("/queryDetailByInvalidId")
-    public String queryDetailByInvalidId(Integer invalidReasonId) throws IOException {
-        return Response.success( proofGroupService.queryDetailByInvalidId(invalidReasonId));
-
+    public String queryDetailByInvalidId(Integer invalidReasonId,Integer proofGroupId) throws IOException {
+        return Response.success( proofGroupService.queryDetailByInvalidId(invalidReasonId,proofGroupId));
     }
 }

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

@@ -352,10 +352,11 @@ public class OutInterfaceService {
     public String getPatentFromPAS(PatentVO patentVO, int type) throws IOException {
         LambdaQueryWrapper<ImportTask> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(ImportTask::getReportId, patentVO.getReportId());
-        List<ImportTask> importTasks = importTaskService.list(queryWrapper);
         Report report = reportService.getById(patentVO.getReportId());
+        patentVO.setReportId(null);
         if (type == 0) {
             patentVO.setProjectId(report.getProjectId());
+            patentVO.setReportId(report.getId());
         }
         String param = new Gson().toJson(patentVO);
         RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), param);

+ 22 - 8
RMS/src/main/java/cn/cslg/report/service/business/CompareFilesService.java

@@ -38,6 +38,7 @@ 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.bind.annotation.RequestBody;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
@@ -220,6 +221,7 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
      * @function 根据PatentVO里的条件(分页)模糊查询标的专利号和数量
      */
     public String getCompareFile(PatentVO patentVO) throws IOException {
+        Integer reportId  =patentVO.getReportId();
         LambdaQueryWrapper<CompareFiles> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(CompareFiles::getReportId, patentVO.getReportId());
         //根据报告id 获取文件对比表的详情
@@ -256,7 +258,7 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
             }
         }
         //根据报告id获取对比文件的数量
-        int i = compareFilesMapper.selectedTotal(patentVO.getReportId());
+        int i = compareFilesMapper.selectedTotal(reportId);
         Map<String, Object> map = new HashMap<>();
         map.put("datas", resData);
         map.put("select", temNos);
@@ -723,7 +725,9 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
                 proofVO.setProofConditions(item.getPatentNo());
             } else if (item.getFileType().equals(2)) {
                 ReportFiles reportFiles1 = reportFile.stream().filter(tem -> tem.getId().equals(item.getFileId())).findFirst().orElse(null);
-                proofVO.setProofConditions(reportFiles1.getUrl());
+              if(reportFiles1!=null) {
+                  proofVO.setProofConditions(reportFiles1.getUrl());
+              }
                 proofVO.setProofType("非专利文献");
             }
             proofVO.setSortStr("D" + item.getSysOrder());
@@ -738,14 +742,11 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
 
     //上传非专利文献证据
     public void addProofByFile(ProofAddNewDTO proofAddNewDTO, List<MultipartFile> files) {
-        log.info("开始处理【上传非专利文献证据】的业务,参数为:{}, {}", proofAddNewDTO, files);
         //检查本次请求合法性(是否有上传非专利文献证据)
-        if (files == null || files.size() == 0) {
-            ThrowException.throwXiaoShiException("未上传文件");
+        if (proofAddNewDTO==null||proofAddNewDTO.getFileName()==null||proofAddNewDTO.getFileName()=="") {
+            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;
@@ -763,7 +764,11 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
         CompareFiles proof = new CompareFiles();
         BeanUtils.copyProperties(proofAddNewDTO, proof);  //DTO赋值给实体类(装载报告id、证据名称、备注)
         proof.setFileType(2);  //装载证据类型
-        proof.setFileId(fileIds.get(0));  //装载文件id
+        if(files!=null&&files.size()>0) {
+            //上传非专利文献证据文件附件,附件信息入报告系统文件表后,返回附件ids
+            List<Integer> fileIds = reportFileService.uploadFiles(files);
+            proof.setFileId(fileIds.get(0));  //装载文件id
+        }
         proof.setSysOrder(++biggestSort);
         proof.insert();
 
@@ -771,4 +776,13 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
 
     }
 
+
+    //删除证据文献
+    public String deleteCompareFile(List<Integer> ids) {
+     if(ids==null||ids.size()==0){
+         return Response.error("请至少选择一个证据文献");
+     }
+     this.removeByIds(ids);
+     return Response.success("删除成功");
+    }
 }

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

@@ -138,6 +138,9 @@ public class ExportArgumentsScenariosService {
                     } else if (name == 3) {
                         run.setText("不具备新颖性");
                     }
+                    else if (name == 4) {
+                        run.setText("重复授权");
+                    }
                 } else if (j == 2) {
                     int content = queryInvalidReasonVO.getContent();
                     if (content == -1) {

+ 13 - 10
RMS/src/main/java/cn/cslg/report/service/business/InvalidReReport/ArgumentsService.java

@@ -89,7 +89,7 @@ public class ArgumentsService extends ServiceImpl<ArgumentsMapper, Arguments> {
             proof.setProofStr(argumentsDTO.getProofStr());
             proof.updateById();
         }
-        if (argumentsDTO.getArgumentStr() != null) {
+
             Integer loginId = loginUtils.getId();
             //装载陈述意见实体类
             Arguments arguments = new Arguments();
@@ -122,7 +122,7 @@ public class ArgumentsService extends ServiceImpl<ArgumentsMapper, Arguments> {
                 scratch.setScratchColor(argumentsDTO.getColor());
                 scratch.insertOrUpdate();
             }
-        }
+
         return Response.success("添加成功");
     }
 
@@ -131,17 +131,17 @@ public class ArgumentsService extends ServiceImpl<ArgumentsMapper, Arguments> {
      *
      * @param argumentsIds
      */
-    public void deleteArguments(List<Integer> argumentsIds) {
+    public boolean deleteArguments(List<Integer> argumentsIds) {
         //判断argumentsId是否为空
         if (argumentsIds == null || argumentsIds.size() == 0) {
-            return;
+            return false;
         }
         //判断陈述意见方案中是否有正在使用的陈述意见
         LambdaQueryWrapper<AssoArguments> assoArgumentsWrapper = new LambdaQueryWrapper<>();
         assoArgumentsWrapper.in(AssoArguments::getArgumentId, argumentsIds);
         List<AssoArguments> assoArguments = assoArgumentsService.list(assoArgumentsWrapper);
         if (assoArguments.size() > 0) {
-            return;
+            return false;
         }
         //根据argumentsId查询陈述意见
         LambdaQueryWrapper<Arguments> argumentsWrapper = new LambdaQueryWrapper<>();
@@ -161,7 +161,7 @@ public class ArgumentsService extends ServiceImpl<ArgumentsMapper, Arguments> {
             scratchService.remove(scratchLambdaQueryWrapper);
         }
         this.remove(argumentsWrapper);
-        return;
+        return true;
     }
 
     /**
@@ -185,10 +185,13 @@ public class ArgumentsService extends ServiceImpl<ArgumentsMapper, Arguments> {
         List<Integer> featureIds = features.stream().map(Features::getId).collect(Collectors.toList());
 
         //根据特征和文件id获得证据
-        LambdaQueryWrapper<ProofStr> featureProofWrapper = new LambdaQueryWrapper<>();
-        featureProofWrapper.in(ProofStr::getFeatureId, featureIds)
-                .eq(ProofStr::getCompareFileId, fileId);
-        List<ProofStr> proofStrs = assoFeatureProofService.list(featureProofWrapper);
+        List<ProofStr> proofStrs =new ArrayList<>();
+        if(featureIds.size()!=0) {
+            LambdaQueryWrapper<ProofStr> featureProofWrapper = new LambdaQueryWrapper<>();
+            featureProofWrapper.in(ProofStr::getFeatureId, featureIds)
+                    .eq(ProofStr::getCompareFileId, fileId);
+            proofStrs = assoFeatureProofService.list(featureProofWrapper);
+        }
         //查询划词信息
         LambdaQueryWrapper<Scratch> scratchLambdaQueryWrapper = new LambdaQueryWrapper<>();
         scratchLambdaQueryWrapper.eq(Scratch::getPatentNo, patentNo);

+ 2 - 2
RMS/src/main/java/cn/cslg/report/service/business/InvalidReReport/InvalidReasonService.java

@@ -202,7 +202,7 @@ public class InvalidReasonService extends ServiceImpl<InvalidReasonMapper, Inval
             } else {
                 return Response.error("相关证据不能为空");
             }
-        } else if (invalidName.equals(2) || invalidName.equals(3)) {//若类型为2,3则proofGroups不能为空
+        } else if (invalidName.equals(2) || invalidName.equals(3)||invalidName.equals(4)) {//若类型为2,3则proofGroups不能为空
             if (invalidReasonDTO.getProofGroups() != null) {
                 //复制DTO类字段到InvalidReason实体类并保存入库
                 BeanUtils.copyProperties(invalidReasonDTO, invalidReason);
@@ -338,7 +338,7 @@ public class InvalidReasonService extends ServiceImpl<InvalidReasonMapper, Inval
             } else {
                 return Response.error("相关证据不能为空");
             }
-        } else if (invalidName.equals(2) || invalidName.equals(3)) {//若类型为2,3则proofGroups不能为空
+        } else if (invalidName.equals(2) || invalidName.equals(3)|| invalidName.equals(4)) {//若类型为2,3则proofGroups不能为空
             if (invalidReasonDTO.getProofGroups() != null) {
                 //复制DTO类字段到InvalidReason实体类并保存入库
                 BeanUtils.copyProperties(invalidReasonDTO, invalidReason);

+ 12 - 1
RMS/src/main/java/cn/cslg/report/service/business/InvalidReReport/ProofGroupService.java

@@ -224,11 +224,14 @@ public class ProofGroupService extends ServiceImpl<ProofGroupMapper, ProofGroup>
      * @param invalidReasonId 无效理由id
      * @return
      */
-    public List<ProofGroupDetailVO> queryDetailByInvalidId(Integer invalidReasonId) {
+    public List<ProofGroupDetailVO> queryDetailByInvalidId(Integer invalidReasonId,Integer proofGroupId) {
         List<ProofGroupDetailVO> proofDetailVOS = new ArrayList<>();
         //根据无效理由和证据id查询证据组合
         LambdaQueryWrapper<ProofGroup> lambdaQueryWrapper = new LambdaQueryWrapper<>();
         lambdaQueryWrapper.eq(ProofGroup::getInvalidReasonId, invalidReasonId);
+        if(proofGroupId!=null){
+            lambdaQueryWrapper.eq(ProofGroup::getId, proofGroupId);
+        }
         List<ProofGroup> proofGroups = proofGroupService.list(lambdaQueryWrapper);
         if (proofGroups.size() == 0) {
             return new ArrayList<>();
@@ -289,6 +292,14 @@ public class ProofGroupService extends ServiceImpl<ProofGroupMapper, ProofGroup>
                 proofIn.setPatentNo(compareFile.getPatentNo());
                 proofIns.add(proofIn);
             }
+            if(proofIdsPart.contains(0)){
+                ProofGroupDetailVO.ProofIn proofIn = new ProofGroupDetailVO.ProofIn();
+                proofIn.setId(0);
+                proofIns.add(proofIn);
+                proofIn.setSort(compareFilesPart.size()+1);
+
+
+            }
            //获得证据组合里的无效证据
             List<Integer> proofStrIdsPart =assoProofGroupStrs.stream().filter(item->item.getProofGroupId().equals(proofGroup.getId())).map(AssoProofGroupStr::getProofStrId).collect(Collectors.toList());
             List<ProofStr> proofStrsPart =proofStrs.stream().filter(item->proofStrIdsPart.contains(item.getId())).collect(Collectors.toList());

+ 42 - 111
RMS/src/main/java/cn/cslg/report/service/business/ReportService.java

@@ -16,6 +16,7 @@ import cn.cslg.report.exception.XiaoShiException;
 import cn.cslg.report.mapper.ReportMapper;
 import cn.cslg.report.service.*;
 import cn.cslg.report.service.business.InvalidReReport.InvalidReReportService;
+import cn.cslg.report.service.business.InvalidReReport.InvalidReasonFieldService;
 import cn.cslg.report.service.business.InvalidReReport.InvalidReasonService;
 import cn.cslg.report.service.business.asso.AssoReportPersonService;
 import com.alibaba.fastjson.JSON;
@@ -24,15 +25,9 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.google.gson.Gson;
-import com.google.gson.reflect.TypeToken;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 
-import okhttp3.MediaType;
-import okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.RequestBody;
 import org.springframework.beans.BeanUtils;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
@@ -40,9 +35,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
-import java.lang.reflect.Type;
 import java.util.*;
-import java.util.concurrent.TimeUnit;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
@@ -76,6 +69,7 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
     private final IAssoEventReportService assoEventReportService;
     private final IFollowUpService followUpService;
     private final InvalidReReportService invalidReReportService;
+    private final InvalidReasonFieldService invalidReasonFieldService;
     private final InvalidReasonService invalidReasonService;
 
     private Report loadReport(ReportDTO reportDto) {
@@ -151,7 +145,6 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
             report.setConclusionId(null);
         }
         report.insert();
-        //TODO 当是无效应对报告时,在无效应对报告里插入信息
         if (files != null && files.size() != 0) {
             //当
             if (report.getStatus() != 3) {
@@ -192,7 +185,22 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
                 }
             }
         } else {
-            reportFieldService.addDefaultField(report.getId(), report.getType());
+            if (report.getType() != 7) {
+                reportFieldService.addDefaultField(report.getId(), report.getType());
+            } else {
+                invalidReasonFieldService.addDefault(report.getId());
+// 当是无效应对报告时,在无效应对报告里插入信息
+                InvalidReReport invalidReReport =new InvalidReReport();
+                invalidReReport.setReportId(report.getId());
+                invalidReReport.setCreateId(loginUtils.getId());
+                invalidReReport.setInvalidApplication(reportDto.getInvalidApplication());
+                invalidReReport.setCaseNumber(reportDto.getCaseNumber());
+                invalidReReport.setIssueNumber(reportDto.getIssueNumber());
+                invalidReReport.setInventionName(reportDto.getInventionName());
+                invalidReReport.setCurrentApplication(reportDto.getCurrentApplication());
+                invalidReReport.setInvalidApplication(reportDto.getInvalidApplication());
+                invalidReReport.insert();
+            }
         }
 
         Integer reportId = report.getId();
@@ -445,6 +453,22 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
             List<Integer> fileIdList = reportFileService.uploadFiles(files);
             assoReportFileService.addAsso(reportDto.getId(), fileIdList);
         }
+        if(report.getType()==7){
+            LambdaQueryWrapper<InvalidReReport> wrapper1 =new LambdaQueryWrapper<>();
+            wrapper1.eq(InvalidReReport::getReportId,report.getId());
+            List<InvalidReReport> invalidReReports =invalidReReportService.list(wrapper1);
+            if(invalidReReports.size()>0){
+                InvalidReReport invalidReReport =invalidReReports.get(0);
+                invalidReReport.setInvalidApplication(reportDto.getInvalidApplication());
+                invalidReReport.setCaseNumber(reportDto.getCaseNumber());
+                invalidReReport.setIssueNumber(reportDto.getIssueNumber());
+                invalidReReport.setInventionName(reportDto.getInventionName());
+                invalidReReport.setCurrentApplication(reportDto.getCurrentApplication());
+                invalidReReport.setInvalidApplication(reportDto.getInvalidApplication());
+                invalidReReport.updateById();
+
+            }
+        }
         return report.updateById();
 
     }
@@ -485,6 +509,7 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
         //TODO 当时无效应对报告时
 
         //删除与报告关联的表数据
+        invalidReReportService.remove(new LambdaQueryWrapper<InvalidReReport>().eq(InvalidReReport::getReportId, id));
         //删除无效理由表数据
         invalidReasonService.remove(new LambdaQueryWrapper<InvalidReason>().eq(InvalidReason::getReportId, id));
 
@@ -728,7 +753,7 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
     public ReportDeVO reReportDetail(Integer reportId) {
         ReportDeVO reportDeVO = new ReportDeVO();
         //检测传入参数合法性
-        if (reportId == null || reportId <= 0) {
+        if (reportId == null && reportId <= 0) {
             throw new XiaoShiException("传入参数异常");
         }
         //根据报告id获得报告
@@ -752,115 +777,21 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
                     throw new XiaoShiException("未查询到无效应对报告信息");
                 }
                 //装载报告信息,无效对应报告拓展信息到ReportDeDTO并返回
-                BeanUtils.copyProperties(report1, reportDeVO);
+                BeanUtils.copyProperties(report1,reportDeVO);
                 BeanUtils.copyProperties(invalidReReport, reportDeVO);
             } else {
-                BeanUtils.copyProperties(report1, reportDeVO);
+                BeanUtils.copyProperties(report1,reportDeVO);
             }
+            reportDeVO.setId(report.getId());
         } catch (IOException e) {
             e.printStackTrace();
         }
         return reportDeVO;
     }
 
-    /**
-     * 查询租户报告使用报表
-     * @return
-     * @throws IOException
-     */
-    public List<ReportUsedByTenantVO> getReportUsedByTenant(List<Integer> tenantIds) throws IOException {
-        List<ReportUsedByTenantVO> reportUsedByTenantVOS = new ArrayList<>();
-        //调用权限系统接口获取租户下人员ids
-        String reData = this.getReportTenantVOFromPCS(tenantIds);
-        //字符串转对象集合
-        Gson gson = new Gson();
-        Type listType = new TypeToken<List<ReportTenantVO>>(){}.getType();
-        List<ReportTenantVO> reportTenantVOS = gson.fromJson(reData, listType);
-        //遍历
-        for(ReportTenantVO rT : reportTenantVOS){
-            //人员ids
-            List<Integer> personnelIds = rT.getPersonnelIds();
-            if(personnelIds.size() > 0) {
-                //查出所有人员ids名下的报告以及数量
-                LambdaQueryWrapper<Report> queryWrapper = new LambdaQueryWrapper<>();
-                queryWrapper.in(Report::getCreatePersonId, personnelIds);
-                //所有人员ids名下报告的数量
-                Long count = this.count(queryWrapper);
-                //查询出所有人员ids名下的报告集合
-                List<Report> reports = this.list(queryWrapper);
-                if (reports.size() > 0) {
-                    for (Report report : reports) {
-                        ReportUsedByTenantVO reportUsedByTenantVO = new ReportUsedByTenantVO();
-                        //租户名
-                        reportUsedByTenantVO.setTenantName(rT.getTenantName());
-                        //报告名
-                        reportUsedByTenantVO.setReportName(report.getName());
-                        Integer reportNum = Long.valueOf(count).intValue();
-                        //报告数量
-                        reportUsedByTenantVO.setReportNum(reportNum);
-                        reportUsedByTenantVOS.add(reportUsedByTenantVO);
-                    }
-                } else {
-                    ReportUsedByTenantVO reportUsedByTenantVO = new ReportUsedByTenantVO();
-                    //租户名
-                    reportUsedByTenantVO.setTenantName(rT.getTenantName());
-                    //报告数量
-                    reportUsedByTenantVO.setReportNum(0);
-                    reportUsedByTenantVOS.add(reportUsedByTenantVO);
-                }
-            }
-        }
-        return reportUsedByTenantVOS;
-    }
-
-    /**
-     * 调用权限系统查询租户人员ids接口
-     * @return
-     * @throws IOException
-     */
-    public String getReportTenantVOFromPCS(List<Integer> tenantIds) throws IOException {
-        String param = new Gson().toJson(tenantIds);
-        RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), param);
-        OkHttpClient okHttpClient = new OkHttpClient.Builder()
-                .connectTimeout(60, TimeUnit.SECONDS)
-                .writeTimeout(60, TimeUnit.SECONDS)
-                .readTimeout(60, TimeUnit.SECONDS)
-                .build();
-        Request request = new Request.Builder()
-                .url("http://localhost:8871" + "/permission/api/exportExcel/getTenantPerson")
-                .post(requestBody)
-                .build();
-        return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
+    public List<Report> getReportsByReportIds(List<Integer> reportIds) {
+        List<Report> reports = this.list(new LambdaQueryWrapper<Report>().in(Report::getId, reportIds));
+        return reports;
     }
 
-    /**
-     * 传入租户id,返回报告数量
-     * @param tenantId
-     * @return
-     * @throws IOException
-     */
-    public Integer getReportNumOfTotal(Integer tenantId) throws IOException {
-        //字符串转对象!
-        List<Integer> tenantIds = new ArrayList<>();
-        tenantIds.add(tenantId);
-        String reData = this.getReportTenantVOFromPCS(tenantIds);
-        //字符串转对象集合
-        Gson gson = new Gson();
-        Type listType = new TypeToken<List<ReportTenantVO>>(){}.getType();
-        List<ReportTenantVO> reportTenantVOS = gson.fromJson(reData, listType);
-        ReportTenantVO reportTenantVO = reportTenantVOS.get(0);
-        //人员ids
-        List<Integer> personnelIds = reportTenantVO.getPersonnelIds();
-        if(personnelIds.size() > 0) {
-            //查出所有人员ids名下的报告以及数量
-            LambdaQueryWrapper<Report> queryWrapper = new LambdaQueryWrapper<>();
-            queryWrapper.in(Report::getCreatePersonId, personnelIds);
-            //所有人员ids名下报告的数量
-            Long count = this.count(queryWrapper);
-            Integer reportNum = Long.valueOf(count).intValue();
-            return reportNum;
-        } else {
-            return 0;
-        }
-    }
 }