lrj před 7 měsíci
rodič
revize
bfb7a9bffd

+ 66 - 0
src/main/java/cn/cslg/pas/common/model/novelty/LitigationDTO.java

@@ -0,0 +1,66 @@
+package cn.cslg.pas.common.model.novelty;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class LitigationDTO {
+    private Integer id;
+    /**
+     * 案号
+     */
+    private String caseNumber;
+
+    /**
+     * 立案时间
+     */
+    private Date caseFieldTime;
+
+    /**
+     * 原告
+     */
+    private String plaintiff;
+
+    /**
+     * 被告
+     */
+    private String defendant;
+
+    /**
+     * 第三人
+     */
+    private String thirdPerson;
+
+    /**
+     * 被告代理人
+     */
+    private String plaintiffAgent;
+
+    /**
+     * 第三代理人
+     */
+    private String thirdAgent;
+
+    /**
+     * 合议庭成员
+     */
+    private String panelMember;
+
+    /**
+     * 结果
+     */
+    private String result;
+
+
+    /**
+     * 1一审 2二审
+     */
+    private Integer type;
+
+    /**
+     *
+     */
+    private Integer projectId;
+
+}

+ 9 - 0
src/main/java/cn/cslg/pas/common/model/novelty/LitigationReVO.java

@@ -0,0 +1,9 @@
+package cn.cslg.pas.common.model.novelty;
+
+import lombok.Data;
+
+@Data
+public class LitigationReVO {
+    private LitigationVO litigationVO1;
+    private LitigationVO litigationVO2;
+}

+ 60 - 0
src/main/java/cn/cslg/pas/common/model/novelty/LitigationVO.java

@@ -1,4 +1,64 @@
 package cn.cslg.pas.common.model.novelty;
 
+import lombok.Data;
+
+import java.util.Date;
+@Data
 public class LitigationVO {
+    /**
+     * 案号
+     */
+    private String caseNumber;
+
+    /**
+     * 立案时间
+     */
+    private Date caseFieldTime;
+
+    /**
+     * 原告
+     */
+    private String plaintiff;
+
+    /**
+     * 被告
+     */
+    private String defendant;
+
+    /**
+     * 第三人
+     */
+    private String thirdPerson;
+
+    /**
+     * 被告代理人
+     */
+    private String plaintiffAgent;
+
+    /**
+     * 第三代理人
+     */
+    private Integer thirdAgent;
+
+    /**
+     * 合议庭成员
+     */
+    private String panelMember;
+
+    /**
+     * 结果
+     */
+    private String conclusion;
+
+
+    /**
+     * 1一审 2二审
+     */
+    private Integer type;
+
+    /**
+     *
+     */
+    private Integer projectId;
+
 }

+ 55 - 0
src/main/java/cn/cslg/pas/controller/novelty/LitigationController.java

@@ -0,0 +1,55 @@
+package cn.cslg.pas.controller.novelty;
+
+import cn.cslg.pas.common.core.base.Constants;
+import cn.cslg.pas.common.dto.NoveltyProjectDTO.NoveltyCompareRecordDTO;
+import cn.cslg.pas.common.dto.NoveltyProjectDTO.NoveltyMarkDTO;
+import cn.cslg.pas.common.model.novelty.LitigationDTO;
+import cn.cslg.pas.common.model.novelty.LitigationReVO;
+import cn.cslg.pas.common.utils.Response;
+import cn.cslg.pas.common.vo.NoveltyProjectVO.NoveltyCompareRecordVO;
+import cn.cslg.pas.domain.business.novelty.Litigation;
+import cn.cslg.pas.exception.ExceptionEnum;
+import cn.cslg.pas.exception.XiaoShiException;
+import cn.cslg.pas.service.business.es.EsScratchWordsService;
+import cn.cslg.pas.service.novelty.LitigationService;
+import cn.cslg.pas.service.novelty.NoveltyCompareRecordService;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+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.Arrays;
+import java.util.List;
+
+/**
+ * 作为无效证据使用历史
+ *
+ * @Author xiexiang
+ * @Date 2024/1/19
+ */
+@Slf4j
+@RequestMapping(Constants.API_XiaoSHI + "/litigation")
+@RestController
+public class LitigationController {
+    @Autowired
+    private LitigationService litigationService;
+
+    @Operation(summary = "添加或编辑行政诉讼")
+    @PostMapping("/addOrUpdate")
+    public Response addOrUpdate(@RequestBody LitigationDTO litigationDTO) {
+     Litigation litigation=litigationService.addOrUpdateLitigation(litigationDTO);
+        return Response.success(litigation.getId());
+    }
+
+    @Operation(summary = "查询行政诉讼")
+    @PostMapping("/query")
+    public Response query(@RequestBody LitigationDTO litigationDTO) {
+        LitigationReVO litigationReVO = litigationService.queryLitigation(litigationDTO);
+        return Response.success(litigationReVO);
+    }
+
+}

+ 2 - 6
src/main/java/cn/cslg/pas/domain/business/novelty/Litigation.java

@@ -16,11 +16,7 @@ import lombok.Data;
 @TableName(value ="litigation")
 @Data
 public class Litigation extends BaseEntity<ImportPatentQueen> {
-    /**
-     * 
-     */
-    @TableId(type = IdType.AUTO)
-    private Integer id;
+
 
     /**
      * 案号
@@ -55,7 +51,7 @@ public class Litigation extends BaseEntity<ImportPatentQueen> {
     /**
      * 第三代理人
      */
-    private Integer thirdAgent;
+    private String thirdAgent;
 
     /**
      * 合议庭成员

+ 152 - 0
src/main/java/cn/cslg/pas/service/novelty/LitigationService.java

@@ -0,0 +1,152 @@
+package cn.cslg.pas.service.novelty;
+
+import cn.cslg.pas.common.model.novelty.LitigationDTO;
+import cn.cslg.pas.common.model.novelty.LitigationReVO;
+import cn.cslg.pas.common.model.novelty.LitigationVO;
+import cn.cslg.pas.domain.business.CourtOrder;
+import cn.cslg.pas.domain.business.ReportAffair;
+import cn.cslg.pas.exception.ExceptionEnum;
+import cn.cslg.pas.exception.XiaoShiException;
+import cn.cslg.pas.service.business.CourtOrderService;
+import cn.cslg.pas.service.business.ReportAffairService;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import cn.cslg.pas.domain.business.novelty.Litigation;
+import cn.cslg.pas.mapper.novelty.LitigationMapper;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @author admin
+ * @description 针对表【litigation(行政诉讼表)】的数据库操作Service实现
+ * @createDate 2025-02-27 10:49:21
+ */
+@Service
+@RequiredArgsConstructor
+public class LitigationService extends ServiceImpl<LitigationMapper, Litigation> {
+    private final ReportAffairService reportAffairService;
+    private final CourtOrderService courtOrderService;
+
+    public Litigation addLitigation(LitigationDTO litigationDTO) {
+        Litigation litigation = new Litigation();
+        BeanUtils.copyProperties(litigationDTO, litigation);
+        litigation.insert();
+        return litigation;
+    }
+
+    public Litigation updateLitigation(LitigationDTO litigationDTO, Litigation litigation) {
+        Litigation litigation1 = new Litigation();
+        BeanUtils.copyProperties(litigationDTO, litigation1);
+        litigation1.setCreateId(litigation.getCreateId());
+        litigation1.setCreateTime(litigation.getCreateTime());
+        litigation1.setId(litigation.getId());
+        litigation1.updateById();
+        return litigation;
+    }
+
+
+    public Litigation addOrUpdateLitigation(LitigationDTO litigationDTO) {
+        Integer projectId = litigationDTO.getProjectId();
+        Integer type = litigationDTO.getType();
+        if (projectId == null || type == null) {
+            throw new XiaoShiException(ExceptionEnum.BUSINESS_ERROR, "未传入必要参数");
+        }
+        LambdaQueryWrapper<Litigation> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(Litigation::getProjectId, projectId)
+                .eq(Litigation::getType, type);
+        Litigation litigation = this.getOne(queryWrapper, false);
+        if (litigation == null) {
+            return this.addLitigation(litigationDTO);
+        } else {
+            return this.updateLitigation(litigationDTO, litigation);
+        }
+    }
+
+    public LitigationReVO queryLitigation(LitigationDTO litigationDTO) {
+        LitigationReVO litigationReVO = new LitigationReVO();
+        Integer projectId = litigationDTO.getProjectId();
+        LambdaQueryWrapper<Litigation> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(Litigation::getProjectId, projectId);
+        List<Litigation> list = this.list(queryWrapper);
+        litigationReVO = this.loadLitigation(list, projectId);
+        return litigationReVO;
+    }
+
+    public LitigationReVO loadLitigation(List<Litigation> list, Integer projectId) {
+        LitigationReVO litigationReVO = new LitigationReVO();
+        if (list.size() == 0) {
+            return litigationReVO;
+        }
+        List<LitigationVO> litigationVOS = new ArrayList<>();
+        list.forEach(item -> {
+            LitigationVO litigationVO = new LitigationVO();
+            BeanUtils.copyProperties(item, litigationVO);
+            litigationVOS.add(litigationVO);
+        });
+
+        this.loadResultByAffair(projectId, litigationVOS);
+        litigationVOS.forEach(item -> {
+            if (item.getType().equals(1)) {
+                litigationReVO.setLitigationVO1(item);
+            } else {
+                litigationReVO.setLitigationVO2(item);
+            }
+        });
+        return litigationReVO;
+    }
+
+    public List<LitigationVO> loadResultByAffair(Integer projectId, List<LitigationVO> list) {
+        if (list.size() == 0) {
+            return list;
+        }
+        Integer litigationType1 = 16;
+        Integer litigationType2 = 26;
+        LambdaQueryWrapper<ReportAffair> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ReportAffair::getProjectId, projectId)
+                .in(ReportAffair::getAssoCasePhaseId, Arrays.asList(litigationType1, litigationType2));
+        List<ReportAffair> reportAffairs = reportAffairService.list(queryWrapper);
+        if (reportAffairs == null || reportAffairs.size() == 0) {
+            return list;
+        }
+        List<Integer> reportAffairIds = reportAffairs.stream().map(ReportAffair::getId).collect(Collectors.toList());
+        List<CourtOrder> courtOrders = new ArrayList<>();
+        if (reportAffairIds.size() > 0) {
+            LambdaQueryWrapper<CourtOrder> queryWrapper1 = new LambdaQueryWrapper<>();
+            queryWrapper1.in(CourtOrder::getReportAffairId, reportAffairIds);
+            courtOrders = courtOrderService.list(queryWrapper1);
+        }
+        if (courtOrders.size() == 0) {
+            return list;
+        }
+        List<CourtOrder> finalCourtOrders = courtOrders;
+        list.forEach(item -> {
+            Integer affairType = litigationType1;
+            if (item.getType().equals(1)) {
+                affairType = litigationType1;
+            } else {
+                affairType = litigationType2;
+            }
+            Integer finalType = affairType;
+            ReportAffair reportAffair = reportAffairs.stream().filter(tem -> finalType.equals(tem.getAssoCasePhaseId())).findFirst().orElse(null);
+            if (reportAffair != null) {
+                Integer temAffairId = reportAffair.getId();
+                CourtOrder courtOrder = finalCourtOrders.stream().filter(tem -> tem.getReportAffairId().equals(temAffairId)).findFirst().orElse(null);
+                if (courtOrder != null) {
+                    item.setConclusion(courtOrder.getConclusion());
+                }
+            }
+
+        });
+        return list;
+    }
+}
+
+
+
+

+ 107 - 0
src/test/java/cn/cslg/pas/novelty/LitigationServiceTest.java

@@ -0,0 +1,107 @@
+package cn.cslg.pas.novelty;
+
+import cn.cslg.pas.common.model.novelty.LitigationDTO;
+import cn.cslg.pas.common.model.novelty.LitigationReVO;
+import cn.cslg.pas.common.vo.GetReportInfoFromWDVO;
+import cn.cslg.pas.domain.business.CourtOrder;
+import cn.cslg.pas.domain.business.ReportAffair;
+import cn.cslg.pas.domain.business.novelty.Litigation;
+import cn.cslg.pas.service.business.CourtOrderService;
+import cn.cslg.pas.service.business.ReportAffairService;
+import cn.cslg.pas.service.novelty.LitigationService;
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.checkerframework.checker.units.qual.A;
+import org.junit.Assert;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+@SpringBootTest
+public class LitigationServiceTest {
+    @Autowired
+    private LitigationService litigationService;
+
+    @Autowired
+    private ReportAffairService reportAffairService;
+    @Autowired
+    private CourtOrderService courtOrderService;
+
+    @Test
+    public void testAdd() throws IOException {
+        String caseNumber = "caseNumber";
+        Date caseFieldTime = new Date();
+        String plaintiff = "plaintiff";
+        String defendant = "defendant";
+        String thirdPerson = "thirdPerson";
+        String plaintiffAgent = "plaintiffAgent";
+        String thirdAgent = "thirdAgent";
+        String panelMember = "panelMember";
+        Integer type = 2;
+        Integer projectId = 2;
+        LitigationDTO litigationDTO = new LitigationDTO();
+        litigationDTO.setCaseNumber(caseNumber);
+        litigationDTO.setCaseFieldTime(caseFieldTime);
+        litigationDTO.setPlaintiff(plaintiff);
+        litigationDTO.setDefendant(defendant);
+        litigationDTO.setThirdPerson(thirdPerson);
+        litigationDTO.setPlaintiffAgent(plaintiffAgent);
+        litigationDTO.setThirdAgent(thirdAgent);
+        litigationDTO.setPanelMember(panelMember);
+        litigationDTO.setType(type);
+        litigationDTO.setProjectId(projectId);
+        Litigation litigation = litigationService.addOrUpdateLitigation(litigationDTO);
+        Litigation litigation1 = litigationService.getById(litigation);
+        LitigationDTO litigationDTO1 = new LitigationDTO();
+        BeanUtils.copyProperties(litigation1, litigationDTO1);
+        litigationDTO1.setId(null);
+        Assert.assertEquals(litigationDTO1, litigationDTO);
+    }
+
+    @Test
+    public void testQuery() {
+       List<Integer> ids = this.addReportAffair();
+        LitigationDTO litigationDTO = new LitigationDTO();
+        litigationDTO.setProjectId(2);
+        LitigationReVO litigationReVO = litigationService.queryLitigation(litigationDTO);
+        System.out.println(litigationReVO);
+        this.removeAffairById(ids);
+    }
+
+    public List<Integer> addReportAffair() {
+        ReportAffair reportAffair = new ReportAffair();
+        reportAffair.setProjectId(2);
+        reportAffair.setAssoCasePhaseId(16);
+        reportAffair.setCreateId("1");
+        reportAffair.insert();
+        ReportAffair reportAffair2 = new ReportAffair();
+        reportAffair2.setProjectId(2);
+        reportAffair2.setAssoCasePhaseId(26);
+        reportAffair2.setCreateId("1");
+        reportAffair2.insert();
+
+        Integer id1 =reportAffair.getId();
+        Integer id2 =reportAffair2.getId();
+        CourtOrder courtOrder =new CourtOrder();
+        courtOrder.setReportAffairId(id1);
+        courtOrder.setConclusion("结论3");
+        courtOrder.insert();
+        CourtOrder courtOrder2 =new CourtOrder();
+        courtOrder2.setReportAffairId(id2);
+        courtOrder2.setConclusion("结论4");
+        courtOrder2.insert();
+        return Arrays.asList(id1, id2);
+    }
+    public void  removeAffairById(List<Integer> ids ){
+         reportAffairService.removeBatchByIds(ids);
+        LambdaQueryWrapper<CourtOrder> queryWrapper =new LambdaQueryWrapper<>();
+        courtOrderService.remove(queryWrapper);
+
+    }
+}