lwhhszx пре 2 година
родитељ
комит
3ffc34f488
24 измењених фајлова са 807 додато и 1 уклоњено
  1. 11 0
      RMS/src/main/java/cn/cslg/report/common/model/dto/invalidReReport/GroupDetail.java
  2. 30 0
      RMS/src/main/java/cn/cslg/report/common/model/dto/invalidReReport/InvalidReasonFieldDTO.java
  3. 32 0
      RMS/src/main/java/cn/cslg/report/common/model/dto/invalidReReport/InvalidReasonFieldVO.java
  4. 25 0
      RMS/src/main/java/cn/cslg/report/common/model/dto/invalidReReport/InvalidReasonFieldValueDTO.java
  5. 32 0
      RMS/src/main/java/cn/cslg/report/common/model/dto/invalidReReport/ProofGroupUpdateDTO.java
  6. 35 0
      RMS/src/main/java/cn/cslg/report/common/model/dto/invalidReReport/ProofStrDTO.java
  7. 15 0
      RMS/src/main/java/cn/cslg/report/common/model/dto/invalidReReport/UpdateArgumentStrDTO.java
  8. 57 0
      RMS/src/main/java/cn/cslg/report/controller/InvalidReReport/InvalidReasonFieldController.java
  9. 33 0
      RMS/src/main/java/cn/cslg/report/controller/InvalidReReport/InvalidReasonFieldValueController.java
  10. 2 0
      RMS/src/main/java/cn/cslg/report/entity/invalidReReport/Arguments.java
  11. 34 0
      RMS/src/main/java/cn/cslg/report/entity/invalidReReport/AssoProofGroupStr.java
  12. 38 0
      RMS/src/main/java/cn/cslg/report/entity/invalidReReport/InvalidReasonField.java
  13. 33 0
      RMS/src/main/java/cn/cslg/report/entity/invalidReReport/InvalidReasonFieldValue.java
  14. 38 0
      RMS/src/main/java/cn/cslg/report/entity/invalidReReport/ProofStr.java
  15. 0 1
      RMS/src/main/java/cn/cslg/report/mapper/AssoReportPersonMapper.java
  16. 16 0
      RMS/src/main/java/cn/cslg/report/mapper/InvalidReReport/AssoProofGroupStrMapper.java
  17. 18 0
      RMS/src/main/java/cn/cslg/report/mapper/InvalidReReport/InvalidReasonFiledMapper.java
  18. 22 0
      RMS/src/main/java/cn/cslg/report/mapper/InvalidReReport/InvalidReasonFiledValueMapper.java
  19. 18 0
      RMS/src/main/java/cn/cslg/report/mapper/InvalidReReport/ProofStrMapper.java
  20. 20 0
      RMS/src/main/java/cn/cslg/report/service/business/InvalidReReport/AssoProofGroupStrService.java
  21. 138 0
      RMS/src/main/java/cn/cslg/report/service/business/InvalidReReport/InvalidReasonFieldService.java
  22. 50 0
      RMS/src/main/java/cn/cslg/report/service/business/InvalidReReport/InvalidReasonFieldValueService.java
  23. 95 0
      RMS/src/main/java/cn/cslg/report/service/business/InvalidReReport/ProofStrService.java
  24. 15 0
      RMS/src/main/resources/mapper/InvalidReasonFieldValueMapper.xml

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

@@ -0,0 +1,11 @@
+package cn.cslg.report.common.model.dto.invalidReReport;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class GroupDetail {
+    private Integer compareFileId;
+    private List<Integer> proofStrIds;
+}

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

@@ -0,0 +1,30 @@
+package cn.cslg.report.common.model.dto.invalidReReport;
+
+import cn.cslg.report.common.model.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * 无效理由自定义字段表
+ *
+ * @Author lirenjie
+ * @Date 2023/7/28
+ */
+@Data
+@TableName(value = "ARGUMENTS")
+public class InvalidReasonFieldDTO extends BaseEntity<InvalidReasonFieldDTO> {
+    @Schema(description = "报告id")
+    private Integer reportId;
+
+    @Schema(description = "栏位名称")
+    private String fieldName;
+
+    @Schema(description = "栏位键")
+    private String fieldKey;
+
+    @Schema(description = "栏位状态")
+    private Integer fieldState;
+
+}

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

@@ -0,0 +1,32 @@
+package cn.cslg.report.common.model.dto.invalidReReport;
+
+import cn.cslg.report.common.model.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * 无效理由自定义字段表
+ *
+ * @Author lirenjie
+ * @Date 2023/7/28
+ */
+@Data
+@TableName(value = "ARGUMENTS")
+public class InvalidReasonFieldVO extends BaseEntity<InvalidReasonFieldVO> {
+    @Schema(description = "报告id")
+    private Integer reportId;
+
+    @Schema(description = "栏位名称")
+    private String fieldName;
+
+    @Schema(description = "栏位键")
+    private String fieldKey;
+
+    @Schema(description = "是否使用")
+    private Integer fieldState;
+
+    @Schema(description = "自定義排序")
+    private Integer fieldSort;
+}

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

@@ -0,0 +1,25 @@
+package cn.cslg.report.common.model.dto.invalidReReport;
+
+import cn.cslg.report.common.model.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * 无效理由自定义字段表
+ *
+ * @Author lirenjie
+ * @Date 2023/7/28
+ */
+@Data
+@TableName(value = "ARGUMENTS")
+public class InvalidReasonFieldValueDTO  {
+    @Schema(description = "无效理由id")
+    private Integer invalidReasonId;
+
+    @Schema(description = "栏位id")
+    private Integer fieldId;
+
+   @Schema(description ="栏位值")
+    private String fieldValue;
+}

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

@@ -0,0 +1,32 @@
+package cn.cslg.report.common.model.dto.invalidReReport;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ProofGroupUpdateDTO {
+    /**
+     * 自增主键
+     */
+    @Schema(description ="自增主键Id" )
+    private Integer id;
+
+
+    @Schema(description ="无效证据id" )
+    private List<Integer> proofStrIds;
+
+
+    @Schema(description ="描述" )
+    private String description;
+
+
+    @Schema(description ="陈述意见" )
+    private String argumentStr;
+    @Schema(description = "对比文件id")
+    private Integer compareFileId;
+
+
+}

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

@@ -0,0 +1,35 @@
+package cn.cslg.report.common.model.dto.invalidReReport;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class ProofStrDTO {
+
+    @Schema(description ="报告id",required = true)
+    private Integer reportId;
+@Schema(description ="对比文件id",required = true)
+    private Integer compareFileId;
+
+    @Schema(description ="权要排序",required = true)
+    private Integer rightSort;
+
+    @Schema(description ="特征id",required = true)
+    private Integer featureId;
+
+    @Schema(description ="证据文字id",required = false)
+    private Integer proofStrId;
+
+    @Schema(description ="证据文字",required = false)
+    private String proofStr;
+
+    @Schema(description ="陈述意见id",required = false)
+    private Integer argumentId;
+    @Schema(description ="陈述意见",required = false)
+    private String argumentStr;
+
+
+}

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

@@ -0,0 +1,15 @@
+package cn.cslg.report.common.model.dto.invalidReReport;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class UpdateArgumentStrDTO {
+    private Integer id;
+    /**
+     * 陈述意见
+     */
+    private String argumentStr;
+
+}

+ 57 - 0
RMS/src/main/java/cn/cslg/report/controller/InvalidReReport/InvalidReasonFieldController.java

@@ -0,0 +1,57 @@
+package cn.cslg.report.controller.InvalidReReport;
+
+import cn.cslg.report.common.core.base.Constants;
+import cn.cslg.report.common.model.dto.invalidReReport.InvalidReasonFieldDTO;
+import cn.cslg.report.common.model.dto.invalidReReport.InvalidReasonFieldSortDTO;
+import cn.cslg.report.entity.invalidReReport.InvalidReasonField;
+import cn.cslg.report.service.business.InvalidReReport.InvalidReasonFieldService;
+import cn.cslg.report.service.business.InvalidReReport.InvalidReasonFieldValueService;
+import cn.cslg.report.service.business.InvalidReReport.ProofStrService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 无效理由自定义栏位的Controller层
+ *
+ * @Author lrj
+ * @Data 2023/4/1
+ */
+@Tag(name = "无效理由自定义栏位值管理")
+@Slf4j
+@RequiredArgsConstructor
+@RestController
+@RequestMapping(Constants.REPORT_API + "/invalidReasonField")
+public class InvalidReasonFieldController {
+    private final InvalidReasonFieldService invalidReasonFieldService;
+
+    @Operation(summary = "添加自定义栏位")
+    @PostMapping("/addOrUpdateFields")
+    public String addOrUpdate(@RequestBody InvalidReasonFieldDTO invalidReasonFieldDTO){
+        return   invalidReasonFieldService.addOrUpdate(invalidReasonFieldDTO);
+    }
+
+    @Operation(summary = "查询自定义栏位")
+    @GetMapping("/queryFields")
+    public String queryFields(Integer reportId){
+        return  invalidReasonFieldService.queryFields(reportId);
+    }
+
+    @Operation(summary = "删除自定义栏位")
+    @PostMapping("/deleteFields")
+    public String deleteFields(@RequestBody List<Integer> fieldIds){
+        return  invalidReasonFieldService.deleteFields(fieldIds);
+    }
+
+    @Operation(summary = "批量变更自定义字段排序")
+    @PostMapping("/updateSort")
+    public String updateSort(@RequestBody List<InvalidReasonFieldSortDTO> invalidReasonFieldSortDTOS){
+        return  invalidReasonFieldService.updateSort(invalidReasonFieldSortDTOS);
+    }
+
+
+}

+ 33 - 0
RMS/src/main/java/cn/cslg/report/controller/InvalidReReport/InvalidReasonFieldValueController.java

@@ -0,0 +1,33 @@
+package cn.cslg.report.controller.InvalidReReport;
+
+import cn.cslg.report.common.core.base.Constants;
+import cn.cslg.report.common.model.dto.invalidReReport.InvalidReasonFieldDTO;
+import cn.cslg.report.common.model.dto.invalidReReport.InvalidReasonFieldValueDTO;
+import cn.cslg.report.entity.invalidReReport.InvalidReasonFieldValue;
+import cn.cslg.report.service.business.InvalidReReport.InvalidReasonFieldService;
+import cn.cslg.report.service.business.InvalidReReport.InvalidReasonFieldValueService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 无效理由自定义栏位的Controller层
+ *
+ * @Author lrj
+ * @Data 2023/4/1
+ */
+@Tag(name = "无效理由自定义栏位管理")
+@Slf4j
+@RequiredArgsConstructor
+@RestController
+@RequestMapping(Constants.REPORT_API + "/invalidReasonFieldValue")
+public class InvalidReasonFieldValueController {
+    private final InvalidReasonFieldValueService invalidReasonFieldValueService;
+
+
+
+}

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

@@ -47,6 +47,8 @@ public class Arguments extends BaseEntity<Arguments> {
     @TableField("COMPARE_FILE_ID")
     private Integer proofId;
 
+    @TableField("PROOF_STR_ID")
+    private Integer proofStrId;
     /**
      * 创建人
      */

+ 34 - 0
RMS/src/main/java/cn/cslg/report/entity/invalidReReport/AssoProofGroupStr.java

@@ -0,0 +1,34 @@
+package cn.cslg.report.entity.invalidReReport;
+
+import cn.cslg.report.common.model.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 陈述意见表
+ *
+ * @Author xiexiang
+ * @Date 2023/6/28
+ */
+@Data
+@TableName(value = "ASSO_PROOF_GROUP_STR")
+public class AssoProofGroupStr extends BaseEntity<AssoProofGroupStr> {
+    /**
+     * 证据组合id
+     */
+    @TableField("PROOF_GROUP_ID")
+    private Integer proofGroupId;
+
+    /**
+     * 无效证据id
+     */
+    @TableField("PROOF_STR_ID")
+    private Integer proofStrId;
+
+    @TableField("COMPARE_FILE_ID")
+    private Integer compareFileId;
+
+}

+ 38 - 0
RMS/src/main/java/cn/cslg/report/entity/invalidReReport/InvalidReasonField.java

@@ -0,0 +1,38 @@
+package cn.cslg.report.entity.invalidReReport;
+
+import cn.cslg.report.common.model.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 无效理由自定义字段表
+ *
+ * @Author lirenjie
+ * @Date 2023/7/28
+ */
+@Data
+@TableName(value = "INVALID_REASON_FIELD")
+public class InvalidReasonField extends BaseEntity<InvalidReasonField> {
+    @TableField("REPORT_ID")
+    private Integer reportId;
+
+
+    @TableField("FIELD_NAME")
+    private String fieldName;
+
+    @TableField("FIELD_KEY")
+    private String fieldKey;
+
+    @TableField("CREATE_ID")
+    private Integer createId;
+
+    @TableField("FIELD_STATE")
+    private Integer fieldState;
+
+    @TableField("FIELD_SORT")
+    private Integer fieldSort;
+}

+ 33 - 0
RMS/src/main/java/cn/cslg/report/entity/invalidReReport/InvalidReasonFieldValue.java

@@ -0,0 +1,33 @@
+package cn.cslg.report.entity.invalidReReport;
+
+import cn.cslg.report.common.model.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 无效理由自定义字段值表
+ *
+ * @Author 李仁杰
+ * @Date 2023/7/28
+ */
+@Data
+@TableName(value = "INVALID_REASON_FIELD_VALUE")
+public class InvalidReasonFieldValue extends BaseEntity<InvalidReasonFieldValue> {
+    /**
+     * 无效理由自定义字段id
+     */
+    @TableField("INVALID_REASON_FIELD_ID")
+    private Integer invalidReasonFieldId;
+    /**
+     * 无效理由id
+     */
+    @TableField("INVALID_REASON_ID")
+    private Integer invalidReasonId;
+
+    @TableField("FIELD_VALUE")
+    private String fieldValue;
+
+}

+ 38 - 0
RMS/src/main/java/cn/cslg/report/entity/invalidReReport/ProofStr.java

@@ -0,0 +1,38 @@
+package cn.cslg.report.entity.invalidReReport;
+
+import cn.cslg.report.common.model.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+/**
+ * 划词表
+ *
+ * @Author xiexiang
+ * @Date 2023/6/28
+ */
+@Data
+@TableName(value = "PROOF_STR")
+public class ProofStr extends BaseEntity<ProofStr> {
+
+    @TableField("FEATURE_ID")
+    private Integer featureId;
+
+    /**
+     * 划词内容
+     */
+    @TableField("PROOF_STR")
+    private String proofStr ;
+
+    /**
+     * 文件id
+     */
+    @TableField("COMPARE_FILE_ID")
+    private Integer compareFileId ;
+
+    @TableField("RIGHT_SORT")
+    private Integer rightSort ;
+
+    @TableField("REPORT_ID")
+    private Integer reportId ;
+}

+ 0 - 1
RMS/src/main/java/cn/cslg/report/mapper/AssoReportPersonMapper.java

@@ -1,7 +1,6 @@
 package cn.cslg.report.mapper;
 
 
-import cn.cslg.report.entity.asso.AssoInvalidRecordFile;
 import cn.cslg.report.entity.asso.AssoReportPerson;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;

+ 16 - 0
RMS/src/main/java/cn/cslg/report/mapper/InvalidReReport/AssoProofGroupStrMapper.java

@@ -0,0 +1,16 @@
+package cn.cslg.report.mapper.InvalidReReport;
+
+import cn.cslg.report.entity.invalidReReport.AssoProofGroup;
+import cn.cslg.report.entity.invalidReReport.AssoProofGroupStr;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ *证据和证据组合关联Mapper层
+ * @Author 李仁杰
+ * @Date 2023/6/29
+ */
+@Repository
+public interface AssoProofGroupStrMapper extends BaseMapper<AssoProofGroupStr> {
+}

+ 18 - 0
RMS/src/main/java/cn/cslg/report/mapper/InvalidReReport/InvalidReasonFiledMapper.java

@@ -0,0 +1,18 @@
+package cn.cslg.report.mapper.InvalidReReport;
+
+import cn.cslg.report.entity.invalidReReport.InvalidReasonField;
+import cn.cslg.report.entity.invalidReReport.InvalidReasonFieldValue;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ *陈述意见Mapper层
+ * @Author 李仁杰
+ * @Date 2023/6/30
+ */
+@Repository
+public interface InvalidReasonFiledMapper extends BaseMapper<InvalidReasonField> {
+
+}
+

+ 22 - 0
RMS/src/main/java/cn/cslg/report/mapper/InvalidReReport/InvalidReasonFiledValueMapper.java

@@ -0,0 +1,22 @@
+package cn.cslg.report.mapper.InvalidReReport;
+
+import cn.cslg.report.common.model.dto.invalidReReport.InvalidReasonFieldValueDTO;
+import cn.cslg.report.common.model.vo.invalidReReport.ArgumentsListVO;
+import cn.cslg.report.entity.invalidReReport.Arguments;
+import cn.cslg.report.entity.invalidReReport.InvalidReasonFieldValue;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ *
+ *陈述意见Mapper层
+ * @Author 李仁杰
+ * @Date 2023/6/30
+ */
+@Repository
+public interface InvalidReasonFiledValueMapper extends BaseMapper<InvalidReasonFieldValue> {
+    public List<InvalidReasonFieldValue> getValues(List<InvalidReasonFieldValueDTO> values);
+}
+

+ 18 - 0
RMS/src/main/java/cn/cslg/report/mapper/InvalidReReport/ProofStrMapper.java

@@ -0,0 +1,18 @@
+package cn.cslg.report.mapper.InvalidReReport;
+
+import cn.cslg.report.entity.invalidReReport.ProofStr;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ *陈述意见Mapper层
+ * @Author 李仁杰
+ * @Date 2023/6/30
+ */
+@Repository
+public interface ProofStrMapper extends BaseMapper<ProofStr> {
+
+
+}
+

+ 20 - 0
RMS/src/main/java/cn/cslg/report/service/business/InvalidReReport/AssoProofGroupStrService.java

@@ -0,0 +1,20 @@
+package cn.cslg.report.service.business.InvalidReReport;
+
+import cn.cslg.report.entity.invalidReReport.AssoProofGroup;
+import cn.cslg.report.entity.invalidReReport.AssoProofGroupStr;
+import cn.cslg.report.mapper.InvalidReReport.AssoProofGroupMapper;
+import cn.cslg.report.mapper.InvalidReReport.AssoProofGroupStrMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Service;
+
+
+@Service
+@Slf4j
+@RequiredArgsConstructor(onConstructor_ = {@Lazy})
+public class AssoProofGroupStrService extends ServiceImpl<AssoProofGroupStrMapper, AssoProofGroupStr> {
+
+
+}

+ 138 - 0
RMS/src/main/java/cn/cslg/report/service/business/InvalidReReport/InvalidReasonFieldService.java

@@ -0,0 +1,138 @@
+package cn.cslg.report.service.business.InvalidReReport;
+
+import cn.cslg.report.common.model.dto.invalidReReport.InvalidReasonFieldDTO;
+import cn.cslg.report.common.model.dto.invalidReReport.InvalidReasonFieldSortDTO;
+import cn.cslg.report.common.model.dto.invalidReReport.InvalidReasonFieldVO;
+import cn.cslg.report.common.utils.Response;
+import cn.cslg.report.common.utils.SecurityUtils.LoginUtils;
+import cn.cslg.report.entity.invalidReReport.*;
+import cn.cslg.report.mapper.InvalidReReport.InvalidReasonFiledMapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+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 InvalidReasonFieldService extends ServiceImpl<InvalidReasonFiledMapper, InvalidReasonField> {
+    private final LoginUtils loginUtils;
+    private final InvalidReasonFieldValueService invalidReasonFieldValueService;
+
+    public String addOrUpdate(InvalidReasonFieldDTO invalidReasonFieldDTO) {
+        //根据字段名或字段键查询
+        LambdaQueryWrapper<InvalidReasonField> wrapper = new LambdaQueryWrapper<>();
+        wrapper.and(w->w.eq(InvalidReasonField::getFieldKey, invalidReasonFieldDTO.getFieldKey())
+                .or()
+                .eq(InvalidReasonField::getFieldName, invalidReasonFieldDTO.getFieldName()))
+                .eq(InvalidReasonField::getReportId,invalidReasonFieldDTO.getReportId());
+        if (invalidReasonFieldDTO.getId() != null) {
+            wrapper.ne(InvalidReasonField::getId,invalidReasonFieldDTO.getId());
+        }
+        List<InvalidReasonField> invalidReasonFields = this.list(wrapper);
+        if (invalidReasonFields.size() > 0) {
+            return Response.error("自定义字段名或键值已存在");
+        }
+        InvalidReasonField invalidReasonField = new InvalidReasonField();
+        if (invalidReasonFieldDTO.getId() != null) {
+            invalidReasonField = this.getById(invalidReasonFieldDTO.getId());
+            invalidReasonField.setFieldKey(invalidReasonFieldDTO.getFieldKey());
+            invalidReasonField.setFieldName(invalidReasonFieldDTO.getFieldName());
+            invalidReasonField.updateById();
+            return Response.success("修改自定义字段成功");
+        } else {
+            LambdaQueryWrapper<InvalidReasonField> wrapper1 =new LambdaQueryWrapper<>();
+            wrapper1.eq(InvalidReasonField::getReportId,invalidReasonFieldDTO.getReportId());
+            int sort= Long.valueOf(this.count(wrapper1)).intValue()+1;
+            BeanUtils.copyProperties(invalidReasonFieldDTO, invalidReasonField);
+            invalidReasonField.setCreateId(loginUtils.getId());
+            invalidReasonField.setFieldState(invalidReasonFieldDTO.getFieldState());
+            invalidReasonField.setFieldSort(sort);
+            invalidReasonField.insert();
+            return Response.success("添加自定义字段成功");
+        }
+
+    }
+
+
+    public String updateSort(List<InvalidReasonFieldSortDTO> invalidReasonFieldDTOs) {
+      //过滤获得所有自定义字段的id
+        List<Integer> ids =invalidReasonFieldDTOs.stream().map(InvalidReasonFieldSortDTO::getId).collect(Collectors.toList());
+           if(ids.size()==0){
+               return Response.error("无自定义字段");
+           }
+           //根据自定义字段id批量查询自定义字段
+        LambdaQueryWrapper<InvalidReasonField> wrapper =new LambdaQueryWrapper<>();
+           wrapper.in(InvalidReasonField::getId,ids);
+           List<InvalidReasonField> invalidReasonFields =this.list(wrapper);
+           invalidReasonFields.forEach(item->{
+
+               InvalidReasonFieldSortDTO   invalidReasonFieldDTO=invalidReasonFieldDTOs.stream()
+                       .filter(tem->item.getId().equals(tem.getId())).findFirst().orElse(new InvalidReasonFieldSortDTO());
+               if(invalidReasonFieldDTO.getFieldSort()!=null){
+                   item.setFieldSort(invalidReasonFieldDTO.getFieldSort());
+               }
+               if(invalidReasonFieldDTO.getFieldState()!=null){
+                   item.setFieldState(invalidReasonFieldDTO.getFieldState());
+               }
+           });
+           this.updateBatchById(invalidReasonFields);
+           return  Response.success("变更顺序成功");
+    }
+
+
+
+
+
+    public String queryFields(Integer reportId) {
+        //根据报告id查询
+        LambdaQueryWrapper<InvalidReasonField> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(InvalidReasonField::getReportId, reportId);
+        List<InvalidReasonField> invalidReasonFields = this.list(wrapper);
+        List<InvalidReasonFieldVO> invalidReasonFieldVOS = new ArrayList<>();
+        invalidReasonFields.forEach(item -> {
+            InvalidReasonFieldVO invalidReasonFieldVO = new InvalidReasonFieldVO();
+            BeanUtils.copyProperties(item, invalidReasonFieldVO);
+            invalidReasonFieldVOS.add(invalidReasonFieldVO);
+        });
+        return Response.success(invalidReasonFieldVOS);
+    }
+
+    public String deleteFields(List<Integer> fieldIds) {
+        if(fieldIds==null||fieldIds.size()<=0){
+            return Response.error("请选择自定义栏位");
+        }
+        //先删除自定义字段值关联
+        LambdaQueryWrapper<InvalidReasonFieldValue> wrapper =new LambdaQueryWrapper<>();
+        wrapper.in(InvalidReasonFieldValue::getInvalidReasonFieldId,fieldIds);
+        invalidReasonFieldValueService.remove(wrapper);
+        this.removeByIds(fieldIds);
+        return Response.success("删除成功");
+
+    }
+
+    //添加默认自定义栏位
+    public void addDefault(Integer reportId) {
+        //查询默认自定义栏位
+        LambdaQueryWrapper<InvalidReasonField> wrapper =new LambdaQueryWrapper<>();
+        wrapper.isNull(InvalidReasonField::getReportId);
+        List<InvalidReasonField> invalidReasonFields=this.list(wrapper);
+
+      for(int i=0;i<invalidReasonFields.size();i++){
+          InvalidReasonField item=invalidReasonFields.get(i);
+            item.setReportId(reportId);
+            item.setId(null);
+            item.setFieldSort(i+1);
+        };
+        this.saveBatch(invalidReasonFields);
+
+    }
+}

+ 50 - 0
RMS/src/main/java/cn/cslg/report/service/business/InvalidReReport/InvalidReasonFieldValueService.java

@@ -0,0 +1,50 @@
+package cn.cslg.report.service.business.InvalidReReport;
+
+import cn.cslg.report.common.model.dto.invalidReReport.InvalidReasonFieldDTO;
+import cn.cslg.report.common.model.dto.invalidReReport.InvalidReasonFieldValueDTO;
+import cn.cslg.report.common.utils.Response;
+import cn.cslg.report.entity.invalidReReport.InvalidReasonField;
+import cn.cslg.report.entity.invalidReReport.InvalidReasonFieldValue;
+import cn.cslg.report.mapper.InvalidReReport.InvalidReasonFiledMapper;
+import cn.cslg.report.mapper.InvalidReReport.InvalidReasonFiledValueMapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+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;
+
+
+@Service
+@Slf4j
+@RequiredArgsConstructor(onConstructor_ = {@Lazy})
+public class InvalidReasonFieldValueService extends ServiceImpl<InvalidReasonFiledValueMapper,InvalidReasonFieldValue> {
+
+    public Boolean addOrUpdate(List<InvalidReasonFieldValueDTO> invalidReasonFieldValueDTOs) {
+          //根据无效理由id和栏位id查询
+        if(invalidReasonFieldValueDTOs==null&&invalidReasonFieldValueDTOs.size()==0){
+            return false;
+
+        }
+List<InvalidReasonFieldValue> invalidReasonFieldValues =this.baseMapper.getValues(invalidReasonFieldValueDTOs);
+        List<InvalidReasonFieldValue> addValues =new ArrayList<>();
+for (InvalidReasonFieldValueDTO fieldDTO:invalidReasonFieldValueDTOs){
+   InvalidReasonFieldValue invalidReasonFieldValue= invalidReasonFieldValues.stream()
+            .filter(item->item.getInvalidReasonId().equals(fieldDTO.getInvalidReasonId())&&item.getInvalidReasonFieldId().equals(fieldDTO.getFieldId()))
+            .findFirst().orElse(new InvalidReasonFieldValue());
+    if(invalidReasonFieldValue.getId()==null){
+        invalidReasonFieldValue.setFieldValue(fieldDTO.getFieldValue());
+        invalidReasonFieldValue.setInvalidReasonId(fieldDTO.getInvalidReasonId());
+        invalidReasonFieldValue.setInvalidReasonFieldId(fieldDTO.getFieldId());
+    }
+    addValues.add(invalidReasonFieldValue);
+}
+this.saveOrUpdateBatch(addValues);
+        return  true;
+    }
+
+}

+ 95 - 0
RMS/src/main/java/cn/cslg/report/service/business/InvalidReReport/ProofStrService.java

@@ -0,0 +1,95 @@
+package cn.cslg.report.service.business.InvalidReReport;
+
+import cn.cslg.report.common.model.dto.invalidReReport.ProofStrDTO;
+import cn.cslg.report.common.model.vo.invalidReReport.ArgumentsListVO;
+import cn.cslg.report.common.utils.Response;
+import cn.cslg.report.entity.invalidReReport.Arguments;
+import cn.cslg.report.entity.invalidReReport.ProofStr;
+import cn.cslg.report.mapper.InvalidReReport.ProofStrMapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+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 ProofStrService extends ServiceImpl<ProofStrMapper, ProofStr> {
+    private final ArgumentsService argumentsService;
+    public ArgumentsListVO queryProofStr(Integer proofId, Integer featureId) {
+        ArgumentsListVO argumentsListVO =new ArgumentsListVO();
+        LambdaQueryWrapper<ProofStr> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ProofStr::getCompareFileId, proofId)
+                .eq(ProofStr::getFeatureId, featureId);
+        List<ProofStr> proofStrs = this.list(queryWrapper);
+        ProofStr proofStr = new ProofStr();
+        if (proofStrs.size() > 0) {
+            proofStr = proofStrs.get(0);
+            //根据无效理由id查询陈述意见
+            LambdaQueryWrapper<Arguments> argumentsWrapper =new LambdaQueryWrapper<>();
+            argumentsWrapper.eq(Arguments::getProofStrId,proofStr.getId());
+            argumentsListVO.setProofStrId(proofStr.getId());
+            argumentsListVO.setProofStr(proofStr.getProofStr());
+            List<Arguments> arguments = argumentsService.list(argumentsWrapper);
+            List<ArgumentsListVO.ArgumentIn> argumentIns =new ArrayList<>();
+            arguments.forEach(item->{
+                ArgumentsListVO.ArgumentIn argumentIn =new ArgumentsListVO.ArgumentIn();
+                argumentIn.setArgumentStr(item.getArgumentStr());
+                argumentIn.setId(item.getId());
+                argumentIns.add(argumentIn);
+            });
+            argumentsListVO.setArguments(argumentIns);
+
+        }
+        return argumentsListVO;
+    }
+
+    public String addOrUpdateProofStr(ProofStrDTO proofStrDTO) {
+        try {
+            this.addOrUpdate(proofStrDTO);
+            return Response.success("添加或更新成功");
+        }
+        catch (Exception e){
+            return Response.error("添加或更新失败");
+        }
+    }
+
+    /**
+     * 添加或更新证据文字
+     * @param proofStrDTO
+     * @return
+     */
+    public ProofStr addOrUpdate(ProofStrDTO proofStrDTO) {
+        ProofStr proofStr = new ProofStr();
+        proofStr.setProofStr(proofStrDTO.getProofStr());
+        proofStr.setFeatureId(proofStrDTO.getFeatureId());
+        proofStr.setRightSort(proofStrDTO.getRightSort());
+        proofStr.setReportId(proofStrDTO.getReportId());
+        proofStr.setId(proofStrDTO.getProofStrId());
+        proofStr.setCompareFileId(proofStrDTO.getCompareFileId());
+        proofStr.insertOrUpdate();
+        return proofStr;
+    }
+
+    public String deleteProofStr(List<Integer> ids) {
+        try {
+            if(ids==null||ids.size()==0){
+                return Response.error("请选择无效证据");
+            }
+          this.removeByIds(ids);
+            LambdaQueryWrapper<Arguments> argumentsWrapper=new LambdaQueryWrapper<>();
+            argumentsWrapper.in(Arguments::getProofStrId,ids);
+            argumentsService.remove(argumentsWrapper);
+            return Response.success("删除无效证据成功");
+        }
+        catch (Exception e){
+            return Response.error("删除无效证据失败");
+        }
+    }
+}

+ 15 - 0
RMS/src/main/resources/mapper/InvalidReasonFieldValueMapper.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.cslg.report.mapper.InvalidReReport.InvalidReasonFiledValueMapper">
+<select id="getValues" resultType="cn.cslg.report.entity.invalidReReport.InvalidReasonFieldValue">
+    select * from INVALID_REASON_FIELD_VALUE
+ <where>
+     <foreach collection="values" index="item" separator=" or ">
+         (INVALID_REASON_FIELD_ID=#{item.} and INVALID_REASON_ID=#{item})
+     </foreach>
+ </where>
+
+
+</select>
+
+</mapper>