xiexiang 1 سال پیش
والد
کامیت
6fc2e9b36b

+ 82 - 0
src/main/java/cn/cslg/pas/common/dto/business/InvalidStatutesDTO.java

@@ -0,0 +1,82 @@
+package cn.cslg.pas.common.dto.business;
+
+import cn.cslg.pas.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 无效法条
+ * @Author xiexiang
+ * @Date 2023/12/22
+ */
+@Data
+public class InvalidStatutesDTO {
+    /**
+     * 法条id
+     */
+    private Integer statutesId;
+
+    /**
+     * 涉及内容 0 说明书 1 权利要求
+     */
+    private Integer relatedContent;
+
+    /**
+     * 权利要求id
+     */
+    private List<Integer> claimIds;
+
+    /**
+     * 报告id
+     */
+    private Integer projectId;
+
+    /**
+     * 无效理由详情
+     */
+    private String invalidReasonDetail;
+
+    /**
+     * 一审起诉人意见
+     */
+
+    private String prosecutorOpinions1;
+
+    /**
+     * 一审被诉人意见
+     */
+    private String respondentOpinions1;
+
+    /**
+     * 一审第三方意见
+     */
+    private String thirdOpinions1;
+
+    /**
+     * 一审法院意见
+     */
+    private String courtOpinions1;
+
+    /**
+     * 二审起诉人意见
+     */
+    private String prosecutorOpinions2;
+
+    /**
+     * 二审被诉人意见
+     */
+    private String respondentOpinions2;
+
+    /**
+     * 二审第三方意见
+     */
+    private String thirdOpinions2;
+
+    /**
+     * 二审法院意见
+     */
+    private String courtOpinions2;
+}

+ 38 - 0
src/main/java/cn/cslg/pas/controller/InvalidStatutesController.java

@@ -0,0 +1,38 @@
+package cn.cslg.pas.controller;
+
+import cn.cslg.pas.common.core.base.Constants;
+import cn.cslg.pas.common.dto.business.InvalidStatutesDTO;
+import cn.cslg.pas.common.model.cronModel.Records;
+import cn.cslg.pas.common.utils.Response;
+import cn.cslg.pas.service.business.InvalidStatutesService;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 无效法条的Controller层
+ * @Author xiexiang
+ * @Date 2023/12/22
+ */
+@Slf4j
+@RequestMapping(Constants.API_XiaoSHI + "/invalidStatutes")
+@RestController
+public class InvalidStatutesController {
+    @Autowired
+    private InvalidStatutesService invalidStatutesService;
+
+    @Operation(summary = "添加无效法条")
+    @PostMapping("/addInvalidStatutes")
+    public Response addInvalidStatutes(@RequestBody InvalidStatutesDTO invalidStatutesDTO){
+        List<Integer> ids = invalidStatutesService.addInvalidStatutes(invalidStatutesDTO);
+        Records records = new Records();
+        records.setData(ids);
+        return Response.success(records);
+    }
+}

+ 57 - 3
src/main/java/cn/cslg/pas/domain/business/InvalidStatutes.java

@@ -20,6 +20,12 @@ public class InvalidStatutes extends BaseEntity<InvalidStatutes> {
     private Integer statutesId;
 
     /**
+     * 涉及内容 0 说明书 1 权利要求
+     */
+    @TableField(value = "related_content")
+    private Integer relatedContent;
+
+    /**
      * 权利要求id
      */
     @TableField(value = "claim_id")
@@ -32,8 +38,56 @@ public class InvalidStatutes extends BaseEntity<InvalidStatutes> {
     private Integer projectId;
 
     /**
-     * 陈述意见
+     * 无效理由详情
+     */
+    @TableField(value = "invalid_reason_detail")
+    private String invalidReasonDetail;
+
+    /**
+     * 一审起诉人意见
+     */
+    @TableField(value = "prosecutor_opinions1")
+    private String prosecutorOpinions1;
+
+    /**
+     * 一审被诉人意见
+     */
+    @TableField(value = "respondent_opinions1")
+    private String respondentOpinions1;
+
+    /**
+     * 一审第三方意见
+     */
+    @TableField(value = "third_opinions1")
+    private String thirdOpinions1;
+
+    /**
+     * 一审法院意见
+     */
+    @TableField(value = "court_opinions1")
+    private String courtOpinions1;
+
+    /**
+     * 二审起诉人意见
+     */
+    @TableField(value = "prosecutor_opinions2")
+    private String prosecutorOpinions2;
+
+    /**
+     * 二审被诉人意见
+     */
+    @TableField(value = "respondent_opinions2")
+    private String respondentOpinions2;
+
+    /**
+     * 二审第三方意见
+     */
+    @TableField(value = "third_opinions2")
+    private String thirdOpinions2;
+
+    /**
+     * 二审法院意见
      */
-    @TableField(value = "present_opinions")
-    private String presentOpinions;
+    @TableField(value = "court_opinions2")
+    private String courtOpinions2;
 }

+ 50 - 0
src/main/java/cn/cslg/pas/service/business/InvalidStatutesService.java

@@ -1,16 +1,66 @@
 package cn.cslg.pas.service.business;
 
+import cn.cslg.pas.common.dto.business.InvalidStatutesDTO;
 import cn.cslg.pas.domain.business.InvalidStatutes;
+import cn.cslg.pas.exception.XiaoShiException;
 import cn.cslg.pas.mapper.InvalidStatutesMapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
 /**
+ * 无效发条Service
  * @Author xiexiang
  * @Date 2023/12/22
  */
 @Slf4j
 @Service
 public class InvalidStatutesService extends ServiceImpl<InvalidStatutesMapper, InvalidStatutes> {
+
+
+    /**
+     * 添加无效法条
+     * @param invalidStatutesDTO
+     * @return
+     */
+    public List<Integer> addInvalidStatutes(InvalidStatutesDTO invalidStatutesDTO) {
+        List<Integer> ids = new ArrayList<>();
+        if (invalidStatutesDTO != null) {
+            if (invalidStatutesDTO.getProjectId() != null) {
+                //涉及内容为权利要求的时候
+                if (invalidStatutesDTO.getRelatedContent() != null && invalidStatutesDTO.getRelatedContent() == 1) {
+                    List<InvalidStatutes> invalidStatutesList = new ArrayList<>();
+                    if (invalidStatutesDTO.getClaimIds() != null && !invalidStatutesDTO.getClaimIds().isEmpty()) {
+                        List<Integer> claimIds = invalidStatutesDTO.getClaimIds();
+                        claimIds.forEach(item -> {
+                            InvalidStatutes invalidStatutes = new InvalidStatutes();
+                            BeanUtils.copyProperties(invalidStatutesDTO, invalidStatutes);
+                            invalidStatutes.setClaimId(item);
+                            invalidStatutesList.add(invalidStatutes);
+                        });
+                        this.saveBatch(invalidStatutesList);
+                        ids = invalidStatutesList.stream().map(InvalidStatutes::getId).collect(Collectors.toList());
+                    }
+                } else if (invalidStatutesDTO.getRelatedContent() != null && invalidStatutesDTO.getRelatedContent() == 0) {
+                    //涉及内容为说明书
+                    InvalidStatutes invalidStatutes = new InvalidStatutes();
+                    BeanUtils.copyProperties(invalidStatutesDTO, invalidStatutes);
+                    invalidStatutes.insert();
+                    Integer id = invalidStatutes.getId();
+                    ids.add(id);
+                } else {
+                    throw new XiaoShiException("涉及内容不能为空");
+                }
+                return ids;
+            } else {
+                throw new XiaoShiException("报告id不能为空");
+            }
+        }
+        return ids;
+    }
 }