소스 검색

Merge remote-tracking branch 'origin/master'

xiexiang 1 년 전
부모
커밋
a9db9503ac

+ 12 - 0
src/main/java/cn/cslg/pas/common/dto/invalidDTO/UpdateClaimMessageDTO.java

@@ -0,0 +1,12 @@
+package cn.cslg.pas.common.dto.invalidDTO;
+
+import cn.cslg.pas.common.dto.DomainFieldDTO;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class UpdateClaimMessageDTO {
+    private Integer claimId;
+   private List<DomainFieldDTO> domainFieldDTOs;
+}

+ 9 - 0
src/main/java/cn/cslg/pas/common/dto/invalidDTO/UpdateIfSecondInvalidDTO.java

@@ -0,0 +1,9 @@
+package cn.cslg.pas.common.dto.invalidDTO;
+
+import lombok.Data;
+
+@Data
+public class UpdateIfSecondInvalidDTO {
+    private Integer projectId;
+    private Boolean ifSecondInvalid;
+}

+ 12 - 0
src/main/java/cn/cslg/pas/common/vo/invalidReport/PatentClaimVO.java

@@ -1,10 +1,13 @@
 package cn.cslg.pas.common.vo.invalidReport;
 
 import cn.cslg.pas.domain.BaseEntity;
+import cn.cslg.pas.domain.business.PatentClaimHistory;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
+import java.util.List;
+
 
 @Data
 
@@ -22,4 +25,13 @@ public class PatentClaimVO  {
     private String parentOrder;
 
     private Integer projectId;
+
+    private String rbDecision;
+
+    private String courtDecision1;
+
+    private String courtDecision2;
+ private List<PatentClaimHistory> patentClaimHistoryList;
+
+
 }

+ 3 - 2
src/main/java/cn/cslg/pas/common/vo/invalidVO/QueryEvidenceReasonVO.java

@@ -15,8 +15,10 @@ public class QueryEvidenceReasonVO {
     private String featureText;
     private String evidenceText;
     private String evidenceDescription;
+    private Integer evidenceReasonId;
+
     private List<CompareLiterature> literatures;
-   private   List<GroupFeatureHistoryVO> featureHistories;
+    private List<GroupFeatureHistoryVO> featureHistories;
     /**
      * 无效理由详情1
      */
@@ -80,5 +82,4 @@ public class QueryEvidenceReasonVO {
     private String rRbDecisionKey;
 
 
-
 }

+ 14 - 4
src/main/java/cn/cslg/pas/controller/PatentClaimController.java

@@ -1,10 +1,7 @@
 package cn.cslg.pas.controller;
 
 import cn.cslg.pas.common.core.base.Constants;
-import cn.cslg.pas.common.dto.invalidDTO.AddClaimDTO;
-import cn.cslg.pas.common.dto.invalidDTO.AddClaimsDTO;
-import cn.cslg.pas.common.dto.invalidDTO.QueryClaimDTO;
-import cn.cslg.pas.common.dto.invalidDTO.SplitClaimDTO;
+import cn.cslg.pas.common.dto.invalidDTO.*;
 import cn.cslg.pas.common.model.cronModel.Records;
 import cn.cslg.pas.common.utils.Response;
 import cn.cslg.pas.common.vo.invalidReport.PatentClaimVO;
@@ -55,4 +52,17 @@ public class PatentClaimController {
         return Response.error("添加失败");
     }
 
+
+    //更新权要法院意见等信息
+    @Operation(summary = "更新权利要求")
+    @PostMapping("/updateClaimMessage")
+    public Response updateClaimMessage(@RequestBody List<UpdateClaimMessageDTO> updateClaimMessageDTOs) throws Exception {
+        Boolean flag = patentClaimService.updateClaimMessage(updateClaimMessageDTOs);
+        if (!flag) {
+            return Response.error("更新失败");
+
+        }
+        return Response.success("更新成功");
+    }
+    //
 }

+ 19 - 3
src/main/java/cn/cslg/pas/controller/ProofGroupController.java

@@ -54,14 +54,30 @@ public class ProofGroupController {
     }
 
 
-    @Operation(summary = "更新信息")
-    @PostMapping("/查询证据组合详情")
+    @Operation(summary = "查询证据组合细信息")
+    @PostMapping("/queryMessage")
     public Response queryProofGroupDetail(@RequestBody GetProofGroupDTO getProofGroupDTO) {
+        Records records =new Records();
+
         try {
-            proofGroupService.queryProofGroupDetail(getProofGroupDTO);
+            ProofGroupVO proofGroupVO=    proofGroupService.queryProofGroupDetail(getProofGroupDTO);
+
+        records.setData(proofGroupVO);
         } catch (Exception e) {
             return Response.error(e.getMessage());
         }
+        return Response.success(records);
+    }
+
+    @Operation(summary = "更新信息")
+    @PostMapping("/updateMessage")
+    public Response updateMessage(@RequestBody UpdateMessageDTO updateMessageDTO) {
+        try {
+            proofGroupService.updateMessage(updateMessageDTO);
+        }
+        catch (Exception e){
+            return  Response.error(e.getMessage());
+        }
         return Response.success("更新成功");
     }
 

+ 18 - 4
src/main/java/cn/cslg/pas/controller/ReportProjectController.java

@@ -5,6 +5,7 @@ import cn.cslg.pas.common.dto.business.EventDTO;
 import cn.cslg.pas.common.dto.business.ReportProjectDTO;
 import cn.cslg.pas.common.dto.business.UpdateEventDTO;
 import cn.cslg.pas.common.dto.business.UpdateReportProjectDTO;
+import cn.cslg.pas.common.dto.invalidDTO.UpdateIfSecondInvalidDTO;
 import cn.cslg.pas.common.model.cronModel.Records;
 import cn.cslg.pas.common.model.request.StringGroupRequest;
 import cn.cslg.pas.common.model.request.StringRequest;
@@ -14,6 +15,7 @@ import cn.cslg.pas.exception.UnLoginException;
 import cn.cslg.pas.exception.XiaoShiException;
 import cn.cslg.pas.factorys.businessFactory.Business;
 import cn.cslg.pas.factorys.businessFactory.BusinessFactory;
+import cn.cslg.pas.service.business.ReportProjectService;
 import com.alibaba.fastjson.JSONObject;
 import io.swagger.v3.oas.annotations.Operation;
 import lombok.extern.slf4j.Slf4j;
@@ -36,6 +38,8 @@ import java.util.List;
 public class ReportProjectController {
     @Autowired
     private BusinessFactory businessFactory;
+    @Autowired
+    private ReportProjectService reportProjectService;
 
     @Operation(summary = "查询报告")
     @PostMapping("/queryReportProject")
@@ -74,10 +78,9 @@ public class ReportProjectController {
     public Response updatePatentProject(@RequestBody UpdateReportProjectDTO updateReportProjectDTO) throws Exception {
         if (updateReportProjectDTO != null) {
             Business business = businessFactory.getClass("reportProjectService");
-           Integer id =(Integer)business.updateMessage(updateReportProjectDTO);
+            Integer id = (Integer) business.updateMessage(updateReportProjectDTO);
             return Response.success(id);
-        }
-        else {
+        } else {
             return Response.error("网络异常");
         }
     }
@@ -94,8 +97,19 @@ public class ReportProjectController {
     @PostMapping("/groupReportProject")
     public Response groupPatentProject(@RequestBody StringGroupRequest stringGroupRequest) throws Exception {
         Business business = businessFactory.getClass("reportProjectService");
-        Records records = (Records)business.getGroup(stringGroupRequest,"reportProject");
+        Records records = (Records) business.getGroup(stringGroupRequest, "reportProject");
         return Response.success(records);
     }
 
+
+    @Operation(summary = "更新是否第二次无效")
+    @PostMapping("/updateIfSecondInvalid")
+    public Response updateIfSecondInvalid(@RequestBody UpdateIfSecondInvalidDTO updateIfSecondInvalidDTO) throws Exception {
+        try {
+            reportProjectService.updateIfSecondInvalid(updateIfSecondInvalidDTO);
+        } catch (Exception e) {
+            return Response.error(e.getMessage());
+        }
+        return Response.success("更新成功");
+    }
 }

+ 7 - 0
src/main/java/cn/cslg/pas/domain/business/PatentClaim.java

@@ -23,4 +23,11 @@ public class PatentClaim extends BaseEntity<PatentClaim> {
     private Integer projectId;
     @TableField(value = "create_id")
     private String createId;
+    @TableField(value = "rb_decision")
+    private String rbDecision;
+    @TableField(value = "court_decision1")
+    private String courtDecision1;
+    @TableField(value = "court_decision2")
+    private String courtDecision2;
+
 }

+ 23 - 2
src/main/java/cn/cslg/pas/service/business/ReportProjectService.java

@@ -5,6 +5,7 @@ import cn.cslg.pas.common.dto.business.PatentProjectDTO;
 import cn.cslg.pas.common.dto.business.ProjectEventDTO;
 import cn.cslg.pas.common.dto.business.ReportProjectDTO;
 import cn.cslg.pas.common.dto.business.UpdateReportProjectDTO;
+import cn.cslg.pas.common.dto.invalidDTO.UpdateIfSecondInvalidDTO;
 import cn.cslg.pas.common.model.cronModel.*;
 import cn.cslg.pas.common.model.request.GroupRequest;
 import cn.cslg.pas.common.model.request.QueryRequest;
@@ -804,13 +805,13 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
             reportProjectVO.setCronNames(reCronNames);
 
             //装载报告类型
-            SystemDict systemDict = reportTypeList.stream().filter(item -> reportProjectVO.getReportType().equals(Integer.parseInt(item.getValue()))&&item.getType().equals("REPORT_TYPE")).findFirst().orElse(null);
+            SystemDict systemDict = reportTypeList.stream().filter(item -> reportProjectVO.getReportType().equals(Integer.parseInt(item.getValue())) && item.getType().equals("REPORT_TYPE")).findFirst().orElse(null);
             if (systemDict != null) {
                 reportProjectVO.setReportTypeName(systemDict.getLabel());
             }
 
             //装载报告状态
-            SystemDict systemDictStatus = reportTypeList.stream().filter(item -> reportProjectVO.getStatus().equals(Integer.parseInt(item.getValue()))&&item.getType().equals("REPORT_STATE")).findFirst().orElse(null);
+            SystemDict systemDictStatus = reportTypeList.stream().filter(item -> reportProjectVO.getStatus().equals(Integer.parseInt(item.getValue())) && item.getType().equals("REPORT_STATE")).findFirst().orElse(null);
             if (systemDict != null) {
                 if (systemDictStatus != null) {
                     reportProjectVO.setStatusName(systemDictStatus.getLabel());
@@ -821,4 +822,24 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
     }
 
 
+    //更新是否有第二次更新
+    public Boolean updateIfSecondInvalid(UpdateIfSecondInvalidDTO dto) {
+        Integer projectId = dto.getProjectId();
+        Boolean ifSecondInvalid =dto.getIfSecondInvalid();
+        if(ifSecondInvalid==null){
+            throw new XiaoShiException("");
+        }
+        //根据 项目id查询报告
+        LambdaQueryWrapper<ReportProject> queryWrapper =new LambdaQueryWrapper<>();
+        queryWrapper.eq(ReportProject::getProjectId,projectId);
+        ReportProject reportProject =this.getOne(queryWrapper);
+        if(reportProject==null){
+            throw  new XiaoShiException("不存在报告");
+        }
+
+        reportProject.setIfSecondInvalid(dto.getIfSecondInvalid());
+        reportProject.updateById();
+        return true;
+    }
+
 }

+ 8 - 6
src/main/java/cn/cslg/pas/service/business/invalidReport/EvidenceReasonService.java

@@ -187,11 +187,12 @@ public class EvidenceReasonService extends ServiceImpl<EvidenceReasonMapper, Evi
     //查询无效理由
     public List<QueryEvidenceReasonVO> queryEvidenceReason(@RequestBody QueryEvidenceReasonDTO queryEvidenceReasonDTO) {
         Integer groupId = queryEvidenceReasonDTO.getGroupId();
-        Integer gen = queryEvidenceReasonDTO.getGen() - 1;
+        Integer gen = queryEvidenceReasonDTO.getGen();
         //根据证据组合id 查询特征
-
-        List<AssoGroupFeature> assoGroupFeatures = assoGroupFeatureService.getBaseMapper().selectLastGroupFeature(groupId, null, gen);
-
+        LambdaQueryWrapper<AssoGroupFeature> assFWrapper = new LambdaQueryWrapper<>();
+        assFWrapper.eq(AssoGroupFeature::getGroupId, groupId);
+        assFWrapper.eq(AssoGroupFeature::getFeatureGen, 0);
+        List<AssoGroupFeature> assoGroupFeatures = assoGroupFeatureService.list(assFWrapper);
         List<QueryEvidenceReasonVO> queryEvidenceReasonVOS = new ArrayList<>();
         if (assoGroupFeatures != null && assoGroupFeatures.size() != 0) {
             assoGroupFeatures.forEach(assoGroupFeature -> {
@@ -207,13 +208,13 @@ public class EvidenceReasonService extends ServiceImpl<EvidenceReasonMapper, Evi
                 List<GroupFeatureHistoryVO> queryFeatureHistories = assoGroupFeatureService.queryFeatureHistory(queryFeatureHistoryDTO);
 
                 Integer n = gen >= queryFeatureHistories.size() - 1 ? queryFeatureHistories.size() - 1 : gen;
-                GroupFeatureHistoryVO item=queryFeatureHistories.get(n);
+                GroupFeatureHistoryVO item = queryFeatureHistories.get(n);
                 Integer newFeatureGroupId = item.getFeatureGroupId();
 
                 //根据特征id 查询无效理由
                 LambdaQueryWrapper<AssoFeatureReason> queryWrapper1 = new LambdaQueryWrapper<>();
                 queryWrapper1.eq(AssoFeatureReason::getGFeatureId, newFeatureGroupId);
-                queryWrapper1.eq(AssoFeatureReason::getGen,gen);
+                queryWrapper1.eq(AssoFeatureReason::getGen, gen);
                 List<AssoFeatureReason> assoFeatureReasons = assoFeatureReasonService.list(queryWrapper1);
 
                 if (assoFeatureReasons.size() != 0) {
@@ -246,6 +247,7 @@ public class EvidenceReasonService extends ServiceImpl<EvidenceReasonMapper, Evi
                             queryEvidenceReasonVO.setRRbDecisionKey(evidenceReason.getRbDecisionKey());
                             queryEvidenceReasonVO.setRIfPresentOpinions1(evidenceReason.getIfPresentOpinions1());
                             queryEvidenceReasonVO.setRRbOpinions(evidenceReason.getRbOpinions());
+                            queryEvidenceReasonVO.setEvidenceReasonId(evidenceReason.getId());
                         }
                         //根据无效理由id查询对比文献
                         LambdaQueryWrapper<AssoReasonLiterature> queryWrapper2 = new LambdaQueryWrapper<>();

+ 49 - 9
src/main/java/cn/cslg/pas/service/business/invalidReport/PatentClaimService.java

@@ -1,17 +1,17 @@
 package cn.cslg.pas.service.business.invalidReport;
 
 
-import cn.cslg.pas.common.dto.invalidDTO.AddClaimDTO;
-import cn.cslg.pas.common.dto.invalidDTO.AddClaimsDTO;
-import cn.cslg.pas.common.dto.invalidDTO.QueryClaimDTO;
-import cn.cslg.pas.common.dto.invalidDTO.SplitClaimDTO;
+import cn.cslg.pas.common.dto.DomainFieldDTO;
+import cn.cslg.pas.common.dto.invalidDTO.*;
 import cn.cslg.pas.common.model.cronModel.PersonnelVO;
 import cn.cslg.pas.common.utils.CacheUtils;
+import cn.cslg.pas.common.utils.GenerateObjectUtil;
 import cn.cslg.pas.common.utils.LoginUtils;
 import cn.cslg.pas.common.vo.RePatentClaim;
 import cn.cslg.pas.common.vo.invalidReport.PatentClaimVO;
 import cn.cslg.pas.domain.business.AssoEventFile;
 import cn.cslg.pas.domain.business.PatentClaim;
+import cn.cslg.pas.domain.business.PatentClaimHistory;
 import cn.cslg.pas.domain.business.ReportProject;
 import cn.cslg.pas.exception.XiaoShiException;
 import cn.cslg.pas.mapper.AssoEventFileMapper;
@@ -25,6 +25,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -41,6 +42,9 @@ public class PatentClaimService extends ServiceImpl<PatentClaimMapper, PatentCla
     private CacheUtils cacheUtils;
     @Autowired
     private LoginUtils loginUtils;
+    @Autowired
+    @Lazy
+    private PatentClaimHistoryService patentClaimHistoryService;
 
     public List<PatentClaimVO> splitClaim(SplitClaimDTO splitClaimDTO) {
         Integer projectId = splitClaimDTO.getProjectId();
@@ -124,7 +128,13 @@ public class PatentClaimService extends ServiceImpl<PatentClaimMapper, PatentCla
             throw new XiaoShiException("请输入报告id");
         }
         List<PatentClaimVO> patentClaimVOS = this.ifHaveSplit(projectId);
-
+        //装载历史
+        patentClaimVOS.forEach(item -> {
+            LambdaQueryWrapper<PatentClaimHistory> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(PatentClaimHistory::getClaimId, item.getId());
+            List<PatentClaimHistory> histories = patentClaimHistoryService.list(queryWrapper);
+           item.setPatentClaimHistoryList(histories);
+        });
         return patentClaimVOS;
 
     }
@@ -151,7 +161,7 @@ public class PatentClaimService extends ServiceImpl<PatentClaimMapper, PatentCla
         List<AddClaimDTO> addClaimDTOS1 = addClaimDTOS.stream()
                 .filter(item -> item.getOptionType() != null && item.getOptionType().equals(2))
                 .collect(Collectors.toList());
-            this.saveByAddDTOs(addClaimDTOS1);
+        this.saveByAddDTOs(addClaimDTOS1);
         //需要删除的
         List<Integer> saveIds = addClaimDTOS.stream().map(AddClaimDTO::getId).collect(Collectors.toList());
         orgIds.removeAll(saveIds);
@@ -162,7 +172,7 @@ public class PatentClaimService extends ServiceImpl<PatentClaimMapper, PatentCla
         List<AddClaimDTO> updateDTOs = addClaimDTOS.stream()
                 .filter(item -> item.getOptionType() != null && item.getOptionType().equals(1))
                 .collect(Collectors.toList());
-         this.updateByAddVOS(updateDTOs);
+        this.updateByAddVOS(updateDTOs);
 
         return true;
 
@@ -184,7 +194,7 @@ public class PatentClaimService extends ServiceImpl<PatentClaimMapper, PatentCla
             patentClaims.add(patentClaim);
         });
 
-        if(patentClaims!=null&&patentClaims.size()>0) {
+        if (patentClaims != null && patentClaims.size() > 0) {
             this.saveBatch(patentClaims);
         }
     }
@@ -203,9 +213,39 @@ public class PatentClaimService extends ServiceImpl<PatentClaimMapper, PatentCla
             patentClaims.add(patentClaim);
         });
 
-        if(patentClaims!=null&&patentClaims.size()>0) {
+        if (patentClaims != null && patentClaims.size() > 0) {
             this.updateBatchById(patentClaims);
         }
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean updateClaimMessage(List<UpdateClaimMessageDTO> updateClaimMessageDTOs) {
+        for (UpdateClaimMessageDTO updateClaimMessageDTO : updateClaimMessageDTOs) {
+
+            Integer claimId = updateClaimMessageDTO.getClaimId();
+
+            List<DomainFieldDTO> domainFieldDTOS = updateClaimMessageDTO.getDomainFieldDTOs();
+
+            //根据id 查询权要
+            PatentClaim patentClaim = this.getById(claimId);
+
+            if (patentClaim == null) {
+                throw new XiaoShiException("权要不存在");
+            }
+
+            if (domainFieldDTOS != null && domainFieldDTOS.size() != 0) {
+                domainFieldDTOS.forEach(item -> {
+                    try {
+                        if (item.getValue() != null) {
+                            GenerateObjectUtil.setObjectProperty(patentClaim, item.getField(), item.getValue());
+                        }
+                    } catch (Exception e) {
+                        throw new XiaoShiException("装载失败");
+                    }
+                });
+                patentClaim.updateById();
+            }
+        }
+        return true;
+    }
 }