Explorar o código

7/11 xiexiang

xiexiang %!s(int64=2) %!d(string=hai) anos
pai
achega
1fc35b0384

+ 2 - 2
RMS/src/main/java/cn/cslg/report/common/model/dto/invalidReReport/ArgumentsDetailsDTO.java

@@ -44,9 +44,9 @@ public class ArgumentsDetailsDTO {
     private String patentNo ;
 
     /**
-     * 权要id
+     * 权要排序
      */
-    private Integer rightId;
+    private Integer rightSort;
 
     /**
      * 特征id

+ 2 - 1
RMS/src/main/java/cn/cslg/report/common/model/dto/invalidReReport/ArgumentsScenarioDTO.java

@@ -7,13 +7,14 @@ import java.util.List;
 
 @Data
 public class ArgumentsScenarioDTO {
+    private Integer id;
     /**
      * 报告id
      */
     private Integer reportId;
 
     /**
-     * 权要id
+     * 权要排序
      */
     private Integer rightSort;
 

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

@@ -0,0 +1,35 @@
+package cn.cslg.report.common.model.vo.invalidReReport;
+
+import cn.cslg.report.entity.invalidReReport.Arguments;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 查询陈述意见方案VO类
+ * @Author xiexiang
+ * @Date 2023/7/11
+ */
+@Data
+public class ArgumentsScenarioVO {
+    private Integer id;
+    /**
+     * 报告id
+     */
+    private Integer reportId;
+
+    /**
+     * 权要排序
+     */
+    private Integer rightSort;
+
+    /**
+     * 修改方案/理由
+     */
+    private String modifyReason;
+
+    /**
+     * 修改方案/理由
+     */
+    private List<ArgumentsVO> argumentsVOList;
+}

+ 5 - 9
RMS/src/main/java/cn/cslg/report/common/model/vo/invalidReReport/ArgumentsVO.java

@@ -1,5 +1,6 @@
 package cn.cslg.report.common.model.vo.invalidReReport;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 
 /**
@@ -12,23 +13,18 @@ import lombok.Data;
 public class ArgumentsVO {
 
     /**
-     * 权要id
-     */
-    private Integer rightId;
-
-    /**
      * 特征id
      */
     private Integer featureId;
 
     /**
-     * 无效证据
+     * 陈述意见
      */
-    private String proofStr;
+    private String argumentStr;
 
     /**
-     * 陈述意见
+     * 对比文件id
      */
-    private String argumentStr;
+    private Integer compareFileId;
 
 }

+ 1 - 2
RMS/src/main/java/cn/cslg/report/controller/InvalidReReport/ArgumentsScenarioController.java

@@ -41,8 +41,7 @@ public class ArgumentsScenarioController {
     @Operation(summary = "删除陈述意见方案")
     @PostMapping("/delete")
     public String delete(@RequestBody List<Integer> scenarioIds) {
-        argumentsScenarioService.deleteArgumentsScenario(scenarioIds);
-        return Response.success();
+        return argumentsScenarioService.deleteArgumentsScenario(scenarioIds);
     }
 
     @Operation(summary = "修改陈述意见方案")

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

@@ -26,7 +26,7 @@ public class Arguments extends BaseEntity<Arguments> {
      * 权要id
      */
     @TableField("RIGHT_SORT")
-    private Integer rightId;
+    private Integer rightSort;
 
     /**
      * 特征id

+ 126 - 19
RMS/src/main/java/cn/cslg/report/service/business/InvalidReReport/ArgumentsScenarioService.java

@@ -1,6 +1,8 @@
 package cn.cslg.report.service.business.InvalidReReport;
 
 import cn.cslg.report.common.model.dto.invalidReReport.ArgumentsScenarioDTO;
+import cn.cslg.report.common.model.vo.invalidReReport.ArgumentsScenarioVO;
+import cn.cslg.report.common.model.vo.invalidReReport.ArgumentsVO;
 import cn.cslg.report.common.utils.Response;
 import cn.cslg.report.common.utils.SecurityUtils.LoginUtils;
 import cn.cslg.report.entity.Template;
@@ -22,6 +24,7 @@ import org.springframework.stereotype.Service;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 @Service
@@ -30,52 +33,156 @@ import java.util.List;
 public class ArgumentsScenarioService extends ServiceImpl<ArgumentsScenarioMapper, ArgumentsScenarios> {
     private final LoginUtils loginUtils;
     private final AssoArgumentsService assoArgumentsService;
-    //添加陈述意见方案
+    private final ArgumentsService argumentsService;
+
+    /**
+     * 添加陈述意见方案
+     * @param argumentsScenarioDTO
+     * @return
+     */
     public String addArgumentsScenario(ArgumentsScenarioDTO argumentsScenarioDTO) {
         Integer loginId = loginUtils.getId();
-        List<Integer> argumentIds =argumentsScenarioDTO.getArgumentIds();
-        Integer reportId =argumentsScenarioDTO.getReportId();
-        Integer rightSort =argumentsScenarioDTO.getRightSort();
-        if(argumentIds==null||argumentIds.size()==0||reportId==null||rightSort==null){
+        //修改方案/理由
+        List<Integer> argumentIds = argumentsScenarioDTO.getArgumentIds();
+        //报告id
+        Integer reportId = argumentsScenarioDTO.getReportId();
+        //权要排序
+        Integer rightSort = argumentsScenarioDTO.getRightSort();
+        if(argumentIds == null || argumentIds.size() == 0 || reportId == null || rightSort == null){
             return Response.error("请按要求输入参数");
         }
-        ArgumentsScenarios argumentsScenarios =new ArgumentsScenarios();
+        ArgumentsScenarios argumentsScenarios = new ArgumentsScenarios();
         BeanUtils.copyProperties(argumentsScenarioDTO,argumentsScenarios);
         argumentsScenarios.setCreateId(loginId);
         argumentsScenarios.insert();
         //添加陈述意见方案和陈述意见关联关系
-        List<AssoArguments> assoArguments=new ArrayList<>();
+        List<AssoArguments> assoArguments = new ArrayList<>();
         argumentIds.forEach(item->{
-            AssoArguments assoArgument =new AssoArguments();
+            AssoArguments assoArgument = new AssoArguments();
             assoArgument.setArgumentId(item);
             assoArgument.setCreateId(loginId);
             assoArgument.setScenarioId(argumentsScenarios.getId());
             assoArguments.add(assoArgument);
         });
         assoArgumentsService.saveBatch(assoArguments);
-return Response.success();
+        return Response.success("添加陈述意见方案成功");
     }
 
-    //删除陈述意见方案
+    /**
+     * 删除陈述意见方案
+     * @param scenarioIds
+     * @return
+     */
     public String deleteArgumentsScenario(List<Integer> scenarioIds) {
         //若ids为空或者size=0则返回请至少选择一个方案进行删除
-        if(scenarioIds==null||scenarioIds.size()==0){
-            Response.error("请至少选择一个方案");
+        if(scenarioIds == null || scenarioIds.size() == 0){
+            return Response.error("请至少选择一个方案");
         }
-        //根据陈述意见方案id批量删除陈述意见方案
         //根据陈述意见方案id批量删除陈述意见方案和陈述意见关联关系
-          return  "";
+        LambdaQueryWrapper<AssoArguments> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(AssoArguments::getScenarioId,scenarioIds);
+        assoArgumentsService.remove(wrapper);
+        //根据陈述意见方案id批量删除陈述意见方案
+        this.removeByIds(scenarioIds);
+        return Response.success("删除成功");
     }
 
     //查询陈述意见方案
-    public String queryArgumentsScenario(Template template) {
+    public List<ArgumentsScenarioVO> queryArgumentsScenario(Integer reportId) {
+        //新建需要返回的陈述意见方案集合
+        List<ArgumentsScenarioVO> argumentsScenarioVOS = new ArrayList<>();
+        //判断传入报告id是否为空
+        if(reportId != null && reportId > 0){
+            //根据报告id查询表中多个陈述意见方案实体类的集合
+            LambdaQueryWrapper<ArgumentsScenarios> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(ArgumentsScenarios::getReportId,reportId);
+            List<ArgumentsScenarios> argumentsScenariosList = this.list(wrapper);
+            //判断查出来的集合是否为空,不为空则遍历查询陈述意见和装载
+            if(argumentsScenariosList != null && argumentsScenariosList.size() > 0){
+                for(ArgumentsScenarios argumentsScenarios:argumentsScenariosList){
+                    //新建陈述意见方案返回VO类
+                    ArgumentsScenarioVO argumentsScenarioVO = new ArgumentsScenarioVO();
+                    //复制,装载陈述意见方案基本信息
+                    BeanUtils.copyProperties(argumentsScenarios, argumentsScenarioVO);
+                    //调用查询装载陈述意见信息接口
+                    List<ArgumentsVO> argumentsVOList = this.loadArguments(argumentsScenarios.getId());
+                    argumentsScenarioVO.setArgumentsVOList(argumentsVOList);
+                    argumentsScenarioVOS.add(argumentsScenarioVO);
+                }
+            }
+        }
+        return argumentsScenarioVOS;
+    }
 
-        return "";
+    public List<ArgumentsVO> loadArguments(Integer scenariosId){
+        //新建需要返回的陈述意见返回VO类
+        List<ArgumentsVO> argumentsVOList = new ArrayList<>();
+        //判断传入陈述意见方案id是否为空
+        if(scenariosId != null && scenariosId > 0) {
+            //根据陈述意见方案id查询关联关系
+            LambdaQueryWrapper<AssoArguments> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(AssoArguments::getScenarioId, scenariosId);
+            List<AssoArguments> assoArgumentsList = assoArgumentsService.list(wrapper);
+            //获取关联表中陈述意见方案对应的陈述意见ids
+            List<Integer> argumentsIds = assoArgumentsList.stream().map(AssoArguments::getArgumentId).collect(Collectors.toList());
+            //根据陈述意见ids查询出所有的陈述意见对象的集合
+            LambdaQueryWrapper<Arguments> wrapper1 = new LambdaQueryWrapper<>();
+            wrapper1.in(Arguments::getId, argumentsIds);
+            List<Arguments> argumentsList = argumentsService.list(wrapper1);
+            //遍历陈述意见对象集合,装载到VO类集合
+            for(Arguments arguments:argumentsList){
+                ArgumentsVO argumentsVO = new ArgumentsVO();
+                BeanUtils.copyProperties(arguments, argumentsVO);
+                argumentsVOList.add(argumentsVO);
+            }
+        }
+        return argumentsVOList;
     }
-    //更新陈述意见方案
-    public String updateArgumentsScenario(ArgumentsScenarioDTO argumentsScenarioDTO) {
 
-        return "";
+    /**
+     * 更新陈述意见方案
+     * @param argumentsScenarioDTO
+     * @return
+     */
+    public String updateArgumentsScenario(ArgumentsScenarioDTO argumentsScenarioDTO) {
+        if(argumentsScenarioDTO.getId() == null){
+            return Response.error("请选择陈述意见方案");
+        }
+        ArgumentsScenarios argumentsScenarios = this.getById(argumentsScenarioDTO.getId());
+        BeanUtils.copyProperties(argumentsScenarioDTO, argumentsScenarios);
+        argumentsScenarios.updateById();
+        //需要更新入关联表的陈述意见ids
+        List<Integer> argumentIds = argumentsScenarioDTO.getArgumentIds();
+        //关联表中所有的陈述意见ids
+        LambdaQueryWrapper<AssoArguments> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(AssoArguments::getScenarioId, argumentsScenarioDTO.getId());
+        List<AssoArguments> assoArguments = assoArgumentsService.list(wrapper);
+        List<Integer> oldArgumentIds = assoArguments.stream().map(AssoArguments::getArgumentId).collect(Collectors.toList());
+        //需要删除的陈述意见ids在关联表中
+        List<Integer> needDeleteIds = new ArrayList<>();
+        for(Integer id:oldArgumentIds){
+            if(!argumentIds.contains(id)){
+                needDeleteIds.add(id);
+            }
+        }
+        if(needDeleteIds != null && needDeleteIds.size() > 0){
+            //删除
+            LambdaQueryWrapper<AssoArguments> wrapper1 = new LambdaQueryWrapper<>();
+            wrapper1.in(AssoArguments::getArgumentId, needDeleteIds);
+            assoArgumentsService.remove(wrapper1);
+        }
+        //需要新增的陈述意见ids
+        List<Integer> needInsertIds = new ArrayList<>();
+        for(Integer insertId:argumentIds){
+            if(!oldArgumentIds.contains(insertId)){
+                needInsertIds.add(insertId);
+            }
+        }
+        if(needInsertIds != null && needDeleteIds.size() > 0){
+            //新增
+            assoArgumentsService.add(argumentsScenarioDTO.getId(), needInsertIds);
+        }
+        return Response.success("更新成功");
     }
 }
 

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

@@ -216,7 +216,7 @@ public class ArgumentsService extends ServiceImpl<ArgumentsMapper, Arguments> {
      */
     public String updateArgument(ArgumentsDetailsDTO argumentsDTO) {
         // 检验参数
-        if (argumentsDTO == null || argumentsDTO.getReportId() == null || argumentsDTO.getFeatureId() == null || argumentsDTO.getRightId() == null || argumentsDTO.getProofId() == null) {
+        if (argumentsDTO == null || argumentsDTO.getReportId() == null || argumentsDTO.getFeatureId() == null || argumentsDTO.getRightSort() == null || argumentsDTO.getProofId() == null) {
             return Response.error("参数不正确");
         }
         //根据划词id查询划词信息
@@ -230,7 +230,7 @@ public class ArgumentsService extends ServiceImpl<ArgumentsMapper, Arguments> {
         //根据陈述意见id更新陈述意见
         Arguments arguments = this.getById(scratch.getArgumentId());
         arguments.setArgumentStr(argumentsDTO.getArgumentStr());
-        arguments.setRightId(argumentsDTO.getRightId());
+        arguments.setRightSort(argumentsDTO.getRightSort());
         arguments.setFeatureId(argumentsDTO.getFeatureId());
         arguments.updateById();
         //装载并更新证据
@@ -372,7 +372,7 @@ public class ArgumentsService extends ServiceImpl<ArgumentsMapper, Arguments> {
                 argument.setArgumentStr(tem.getArgumentStr());
                 argument.setId(tem.getId());
                 argument.setProofId(item.getProofId());
-                argument.setRightId(item.getRightSort());
+                argument.setRightSort(item.getRightSort());
                 argument.setReportId(item.getReportId());
                 arguments.add(argument);
             });

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

@@ -1,5 +1,6 @@
 package cn.cslg.report.service.business.InvalidReReport;
 
+import cn.cslg.report.common.utils.SecurityUtils.LoginUtils;
 import cn.cslg.report.entity.invalidReReport.AssoArguments;
 import cn.cslg.report.entity.invalidReReport.AssoProofGroup;
 import cn.cslg.report.mapper.InvalidReReport.AssoArgumentsMapper;
@@ -10,10 +11,33 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+
 
 @Service
 @Slf4j
 @RequiredArgsConstructor(onConstructor_ = {@Lazy})
 public class AssoArgumentsService extends ServiceImpl<AssoArgumentsMapper, AssoArguments> {
+    private final LoginUtils loginUtils;
 
+    /**
+     * 批量新增关联关系
+     * @param scenarioId
+     * @param argumentIds
+     */
+    public void add(Integer scenarioId, List<Integer> argumentIds){
+        List<AssoArguments> assoArgumentsList = new ArrayList<>();
+        Integer loginId = loginUtils.getId();
+        if(argumentIds != null && argumentIds.size() > 0){
+            for(Integer argumentId:argumentIds){
+                AssoArguments assoArguments = new AssoArguments();
+                assoArguments.setScenarioId(scenarioId);
+                assoArguments.setArgumentId(argumentId);
+                assoArguments.setCreateId(loginId);
+                assoArgumentsList.add(assoArguments);
+            }
+            this.saveBatch(assoArgumentsList);
+        }
+    }
 }

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

@@ -252,10 +252,9 @@ public class InvalidReasonService extends ServiceImpl<InvalidReasonMapper, Inval
      * @return
      */
     @Transactional(rollbackFor = Exception.class)
-    public  String updateInvalidReason(@RequestBody InvalidReasonDTO invalidReasonDTO) {
-        if(invalidReasonDTO.getId()==null){
+    public  String updateInvalidReason(InvalidReasonDTO invalidReasonDTO) {
+        if(invalidReasonDTO.getId() == null){
             return  Response.error("请选择无效理由");
-
         }
         Integer invalidName =invalidReasonDTO.getInvalidName();
         InvalidReason invalidReason = this.getById(invalidReasonDTO.getId());
@@ -265,7 +264,7 @@ public class InvalidReasonService extends ServiceImpl<InvalidReasonMapper, Inval
             invalidReason.updateById();
         } else if(invalidName.equals(0)){//若类型为0,则为“权利要求不清楚”,需要选择涉及内容(content)并输入相关证据(proofStr)
             if(invalidReasonDTO.getProofStr() != null && invalidReasonDTO.getProofStr() != ""){
-                if(invalidReasonDTO.getInvalidName()==1){
+                if(invalidReasonDTO.getInvalidName() == 1){
                     invalidReasonDTO.setContent(-1);
                 }
                 //复制DTO类字段到InvalidReason实体类并保存入库
@@ -282,7 +281,7 @@ public class InvalidReasonService extends ServiceImpl<InvalidReasonMapper, Inval
                     //特征内容
                     List<InvalidReasonDTO.featuresIn> featuresIns = invalidReasonDTO.getFeatures();
                     //过滤带有不带有特征id的特征
-                    featuresIns=featuresIns.stream().filter(item->item.getId()==null).collect(Collectors.toList());
+                    featuresIns = featuresIns.stream().filter(item->item.getId() == null).collect(Collectors.toList());
                     //检查特征内容是否有交集(根据位置和字符串长度判断)若有则返回
                     //装载检查重复需要的类
                     CheckReFeaturesDTO checkReFeaturesDTO = new CheckReFeaturesDTO();

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

@@ -91,15 +91,15 @@ public class ProofGroupService extends ServiceImpl<ProofGroupMapper,ProofGroup>
 
     /**
      *批量删除证据组合
-     * @param  证据组合ids
+     * @param  invalidId
      * @return
      */
     public void deleteProofGroupByInvalid(Integer invalidId) {
         //根据无效理由id获得证据组合
         LambdaQueryWrapper<ProofGroup> wrapper =new LambdaQueryWrapper<>();
         wrapper.eq(ProofGroup::getInvalidReasonId,invalidId);
-        List<ProofGroup> proofGroups =this.list(wrapper);
-        List<Integer> ids =proofGroups.stream().map(ProofGroup::getId).collect(Collectors.toList());;
+        List<ProofGroup> proofGroups = this.list(wrapper);
+        List<Integer> ids =  proofGroups.stream().map(ProofGroup::getId).collect(Collectors.toList());
         if(ids != null && ids.size() != 0) {
             //根据证据组合id批量删除证据组合-证据关联
             LambdaQueryWrapper<AssoProofGroup> queryWrapper = new LambdaQueryWrapper<>();