xiexiang vor 2 Jahren
Ursprung
Commit
123268bb35

+ 5 - 0
RMS/src/main/java/cn/cslg/report/common/model/dto/invalidReReport/ProofGroupDTO.java

@@ -8,6 +8,11 @@ import java.util.List;
 @Data
 public class ProofGroupDTO {
     /**
+     * 自增主键
+     */
+    private Integer id;
+
+    /**
      * 无效理由id
      */
     private Integer invalidReasonId;

+ 31 - 9
RMS/src/main/java/cn/cslg/report/controller/InvalidReReport/ProofGroupController.java

@@ -3,7 +3,9 @@ package cn.cslg.report.controller.InvalidReReport;
 import cn.cslg.report.common.core.base.Constants;
 import cn.cslg.report.common.model.dto.ShareReportDTO;
 import cn.cslg.report.common.model.dto.invalidReReport.ProofGroupDTO;
+import cn.cslg.report.common.model.vo.invalidReReport.ProofGroupVO;
 import cn.cslg.report.common.utils.Response;
+import cn.cslg.report.exception.XiaoShiException;
 import cn.cslg.report.service.business.InvalidReReport.ProofGroupService;
 import cn.cslg.report.service.business.asso.AssoReportPersonService;
 import io.swagger.v3.oas.annotations.Operation;
@@ -35,28 +37,48 @@ public class ProofGroupController {
     @Operation(summary = "添加证据组合")
     @PostMapping("/add")
     public String add(@RequestBody ProofGroupDTO proofGroupDTO) {
-        proofGroupService.addProofGroup(proofGroupDTO);
-        return Response.success();
+        if (proofGroupDTO != null) {
+            proofGroupService.addProofGroup(proofGroupDTO);
+            return Response.success("添加证据组合成功");
+        } else {
+            return Response.error("添加证据组合错误");
+        }
     }
 
     @Operation(summary = "删除证据组合")
     @PostMapping("/delete")
     public String delete(@RequestBody List<Integer> ids) {
-        proofGroupService.deleteProofGroup(ids);
-        return Response.success();
+        if (ids != null && ids.size() != 0) {
+            proofGroupService.deleteProofGroup(ids);
+            return Response.success("删除成功");
+        } else {
+            return Response.error("删除失败");
+        }
     }
 
     @Operation(summary = "修改证据组合")
     @PostMapping("/update")
     public String addPatentFile(@RequestBody ProofGroupDTO proofGroupDTO) throws IOException {
-        proofGroupService.updateProofGroup(proofGroupDTO);
-        return Response.success();
+        if (proofGroupDTO != null) {
+            proofGroupService.updateProofGroup(proofGroupDTO);
+            return Response.success("更新成功");
+        } else {
+            return Response.error("更新失败");
+        }
     }
 
     @Operation(summary = "查询证据组合")
     @PostMapping("/query")
-    public String query(int id) throws IOException {
-        proofGroupService.queryProofGroupDetail(id);
-        return Response.success();
+    public String query(Integer id) throws IOException {
+        if (id != null && id > 0) {
+            try {
+                ProofGroupVO proofGroupVO = proofGroupService.queryProofGroupDetail(id);
+                return Response.success(proofGroupVO);
+            } catch (XiaoShiException e) {
+                return Response.error(e.getMessage());
+            }
+        } else {
+            return Response.error("查询失败");
+        }
     }
 }

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

@@ -14,7 +14,7 @@ import java.util.Date;
  * @Date 2023/6/28
  */
 @Data
-@TableName
+@TableName(value = "ARGUMENTS")
 public class Arguments extends BaseEntity<Arguments> {
     /**
      * 报告id

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

@@ -4,6 +4,7 @@ import cn.cslg.report.common.model.BaseEntity;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
+import lombok.Value;
 
 import java.util.Date;
 
@@ -14,7 +15,7 @@ import java.util.Date;
  * @Date 2023/6/28
  */
 @Data
-@TableName
+@TableName(value = "ARGUMENTS_SCENARIOS")
 public class ArgumentsScenarios extends BaseEntity<ArgumentsScenarios> {
 
     /**

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

@@ -14,7 +14,7 @@ import java.util.Date;
  * @Date 2023/6/28
  */
 @Data
-@TableName
+@TableName(value = "ASSO_ARGUMENTS")
 public class AssoArguments extends BaseEntity<AssoArguments> {
 
     /**

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

@@ -14,7 +14,7 @@ import java.util.Date;
  * @Date 2023/6/28
  */
 @Data
-@TableName
+@TableName(value = "ASSO_SCRATCH_ARGUMENTS")
 public class AssoScratchArguments extends BaseEntity<AssoScratchArguments> {
     /**
      * 划词id

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

@@ -12,7 +12,7 @@ import java.util.Date;
  * @Date 2023/6/28
  */
 @Data
-@TableName
+@TableName(value = "ASSO_SCRATCH_PATENT")
 public class AssoScratchPatent extends BaseEntity<AssoScratchArguments> {
     /**
      * 划词id

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

@@ -14,7 +14,7 @@ import java.util.Date;
  * @Date 2023/6/28
  */
 @Data
-@TableName
+@TableName(value = "INVALID_RE_REPORT")
 public class InvalidReReport extends BaseEntity<InvalidReReport> {
     /**
      * 报告id

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

@@ -14,7 +14,7 @@ import java.util.Date;
  * @Date 2023/6/28
  */
 @Data
-@TableName
+@TableName(value = "INVALID_REASON")
 public class InvalidReason extends BaseEntity<InvalidReason> {
     /**
      * 无效理由

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

@@ -13,7 +13,7 @@ import java.util.Date;
  * @Date 2023/6/28
  */
 @Data
-@TableName
+@TableName(value = "PROOF")
 public class Proof extends BaseEntity<Proof> {
     /**
      * 报告id

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

@@ -13,7 +13,7 @@ import java.util.Date;
  * @Date 2023/6/28
  */
 @Data
-@TableName(value="")
+@TableName(value = "PROOF_DETAIL")
 public class ProofDetail extends BaseEntity<ProofDetail> {
     /**
      * 证据id

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

@@ -14,7 +14,7 @@ import java.util.Date;
  * @Date 2023/6/28
  */
 @Data
-@TableName
+@TableName(value = "PROOF_GROUP")
 public class ProofGroup extends BaseEntity<ProofGroup> {
 
     /**

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

@@ -14,7 +14,7 @@ import java.util.Date;
  * @Date 2023/6/28
  */
 @Data
-@TableName
+@TableName(value = "SCRATCH")
 public class Scratch extends BaseEntity<Scratch> {
     /**
      * 划词内容

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

@@ -2,31 +2,70 @@ package cn.cslg.report.service.business.InvalidReReport;
 
 import cn.cslg.report.common.model.dto.invalidReReport.ProofDetailDTO;
 import cn.cslg.report.common.model.dto.invalidReReport.ProofGroupDTO;
+import cn.cslg.report.common.model.vo.PersonnelVO;
+import cn.cslg.report.common.model.vo.invalidReReport.ProofGroupVO;
+import cn.cslg.report.common.utils.CacheUtils;
 import cn.cslg.report.common.utils.Response;
+import cn.cslg.report.common.utils.SecurityUtils.LoginUtils;
+import cn.cslg.report.entity.Personnel;
+import cn.cslg.report.entity.invalidReReport.AssoProofGroup;
 import cn.cslg.report.entity.invalidReReport.ProofDetail;
 import cn.cslg.report.entity.invalidReReport.ProofGroup;
+import cn.cslg.report.exception.XiaoShiException;
 import cn.cslg.report.mapper.InvalidReReport.ProofDetailMapper;
 import cn.cslg.report.mapper.InvalidReReport.ProofGroupMapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 @Service
 @Slf4j
 @RequiredArgsConstructor(onConstructor_ = {@Lazy})
 public class ProofGroupService extends ServiceImpl<ProofGroupMapper,ProofGroup> {
-   //添加证据组合
-    public String addProofGroup(ProofGroupDTO ProofGroupDTO) {
-      //判断proofIds是否为空,若为空则返回
-        // 添加证据组合
-        //添加证据组合和证据关联
+    private final CacheUtils cacheUtils;
+    private final LoginUtils loginUtils;
+    private final AssoProofGroupService assoProofGroupService;
 
-    return "";
+    /**
+     * 添加证据组合
+     * @param proofGroupDTO
+     */
+    public void addProofGroup(ProofGroupDTO proofGroupDTO) {
+        //判断proofIds是否为空,若为空则返回
+        if (proofGroupDTO.getProofIds() != null && proofGroupDTO.getProofIds().size() != 0){
+            //添加证据组合
+            ProofGroup proofGroup = new ProofGroup();
+            BeanUtils.copyProperties(proofGroupDTO, proofGroup);
+            //获取当前登录人信息
+            PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+            proofGroup.setCreateId(personnelVO.getId());
+//            proofGroup.setCreateId(1);
+            proofGroup.insert();
+            //添加证据组合和证据关联
+            //批量插入
+            List<AssoProofGroup> assoProofGroups = new ArrayList<>();
+            for(int i = 0; i < proofGroupDTO.getProofIds().size(); i++) {
+                AssoProofGroup assoProofGroup = new AssoProofGroup();
+                assoProofGroup.setGroupId(proofGroup.getId());
+                assoProofGroup.setProofId(proofGroupDTO.getProofIds().get(i));
+                assoProofGroup.setCreateId(personnelVO.getId());
+//                assoProofGroup.setCreateId(1);
+                assoProofGroups.add(assoProofGroup);
+            }
+            assoProofGroupService.saveBatch(assoProofGroups);
+        } else {
+            throw new XiaoShiException("传入数据不能为空");
+        }
     }
 
 
@@ -35,23 +74,69 @@ public class ProofGroupService extends ServiceImpl<ProofGroupMapper,ProofGroup>
      * @param ids 证据组合ids
      * @return
      */
-    public String deleteProofGroup(List<Integer> ids) {
-          //检测ids是否为null或size=0
-        //根据ids批量删除证据组合
-        //根据证据组合id批量删除证据组合-证据关联
-
-        return  "";
+    public void deleteProofGroup(List<Integer> ids) {
+        if(ids != null && ids.size() != 0) {
+            //根据证据组合id批量删除证据组合-证据关联
+            LambdaQueryWrapper<AssoProofGroup> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.in(AssoProofGroup::getGroupId, ids);
+            assoProofGroupService.remove(queryWrapper);
+            //根据ids批量删除证据组合
+            this.removeByIds(ids);
+        } else {
+            throw new XiaoShiException("删除错误");
+        }
     }
 
-    //更新证据组合
-    public String updateProofGroup(ProofGroupDTO proofGroupDTO) {
-          //判断proofIds是否为空,若为空则返回
-        // 更新证据组合信息
-        // 根据证据组合id查找 证据组合和证据关联ids
-        // 寻找proofIds比关联ids多的id并插入到证据组合和证据关联表中
-        //寻找proofIds比关联ids少的id并从证据组合和证据关联表中删除
-        return Response.success();
-
+    /**
+     * 更新证据组合
+     * @param proofGroupDTO
+     * @return
+     */
+    public void updateProofGroup(ProofGroupDTO proofGroupDTO) {
+        //判断proofIds是否为空,若为空则返回
+        if (proofGroupDTO.getProofIds() != null && proofGroupDTO.getProofIds().size() != 0){
+            //查出证据组合数据
+            ProofGroup proofGroup = this.getById(proofGroupDTO.getId());
+            BeanUtils.copyProperties(proofGroupDTO, proofGroup);
+            //获取当前登录人信息
+            PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+            proofGroup.setCreateId(personnelVO.getId());
+//            proofGroup.setCreateId(1);
+            //更新证据组合信息
+            proofGroup.updateById();
+            //证据组合id
+            Integer groupId = proofGroup.getId();
+            //根据证据组合id查找 证据组合和证据关联ids
+            LambdaQueryWrapper<AssoProofGroup> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.select(AssoProofGroup::getProofId);
+            queryWrapper.eq(AssoProofGroup::getGroupId, groupId);
+            List<AssoProofGroup> assoProofGroups = assoProofGroupService.list(queryWrapper);
+            List<Integer> oldProofIds = assoProofGroups.stream().map(AssoProofGroup::getProofId).collect(Collectors.toList());
+            List<Integer> newProofIds = proofGroupDTO.getProofIds();
+            //寻找proofIds比关联ids少的id并从证据组合和证据关联表中删除
+            List<Integer> needDelIds = new ArrayList<>(oldProofIds);
+            needDelIds.removeAll(newProofIds);
+            LambdaQueryWrapper<AssoProofGroup> queryWrapper1 = new LambdaQueryWrapper<>();
+            queryWrapper1.in(AssoProofGroup::getProofId, needDelIds);
+            List<AssoProofGroup> needDelete = assoProofGroupService.list(queryWrapper1);
+            List<Integer> ids = needDelete.stream().map(AssoProofGroup::getId).collect(Collectors.toList());
+            assoProofGroupService.removeByIds(ids);
+            //寻找proofIds比关联ids多的id并插入到证据组合和证据关联表中
+            newProofIds.removeAll(oldProofIds);
+            //批量插入
+            List<AssoProofGroup> needInsert = new ArrayList<>();
+            for(int i = 0; i < newProofIds.size(); i++) {
+                AssoProofGroup assoProofGroup = new AssoProofGroup();
+                assoProofGroup.setGroupId(groupId);
+                assoProofGroup.setProofId(newProofIds.get(i));
+                assoProofGroup.setCreateId(personnelVO.getId());
+//                assoProofGroup.setCreateId(1);
+                needInsert.add(assoProofGroup);
+            }
+            assoProofGroupService.saveBatch(needInsert);
+        } else {
+            throw new XiaoShiException("传入证据id不能为空");
+        }
     }
 
     /**
@@ -59,24 +144,35 @@ public class ProofGroupService extends ServiceImpl<ProofGroupMapper,ProofGroup>
      * @param id 证据组合id
      * @return
      */
-    public String queryProofGroupDetail(int id) {
-        //若proofId 为null 或<=0,返回
-    //根据证据组合id查询证据组合并装载到ProofGroupVO类里
-
-        return Response.success();
-
+    public ProofGroupVO queryProofGroupDetail(Integer id) {
+        //根据证据组合id查询证据组合并装载到ProofGroupVO类里
+        ProofGroupVO proofGroupVO = new ProofGroupVO();
+        ProofGroup proofGroup = this.getById(id);
+        if(proofGroup == null){
+            throw new XiaoShiException("没有这一条数据");
+        }
+        proofGroupVO.setInvalidReasonId(proofGroup.getInvalidReasonId());
+        proofGroupVO.setArgument_str(proofGroup.getArgument_str());
+        proofGroupVO.setDescription(proofGroup.getDescription());
+        LambdaQueryWrapper<AssoProofGroup> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.select(AssoProofGroup::getProofId);
+        queryWrapper.eq(AssoProofGroup::getGroupId, id);
+        List<AssoProofGroup> AssoProofGroups = assoProofGroupService.list(queryWrapper);
+        List<Integer> proofIds = AssoProofGroups.stream().map(AssoProofGroup::getProofId).collect(Collectors.toList());
+        proofGroupVO.setProofIds(proofIds);
+        return proofGroupVO;
     }
 
     /**
      * 查询证据组合
      * @param invalidId 无效理由Id
-     * @return
+     * @return proofGroups
      */
-    public String queryProofGroup(int invalidId) {
-     //根据无效理由Id查询证据组合列表,并返回
-
-        return Response.success();
-
+    public List<ProofGroup> queryProofGroup(Integer invalidId) {
+        //根据无效理由Id查询证据组合列表,并返回
+        LambdaQueryWrapper<ProofGroup> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ProofGroup::getInvalidReasonId, invalidId);
+        List<ProofGroup> proofGroups = this.list(queryWrapper);
+        return proofGroups;
     }
-
 }