xiexiang 2 gadi atpakaļ
vecāks
revīzija
e1d8fa302f

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

@@ -25,5 +25,18 @@ public class CheckReFeaturesDTO {
     /**
      * 特征内容和位置集合
      */
-    private List<InvalidReasonDTO.featuresIn> features;
+    private List<featuresIn> features;
+
+
+    @Data
+    public static class featuresIn{
+        /**
+         * 特征内容
+         */
+        private String featureStr;
+        /**
+         * 内容起始位置
+         */
+        private Integer position;
+    }
 }

+ 1 - 1
RMS/src/main/java/cn/cslg/report/common/model/vo/invalidReReport/QueryInvalidReasonVO.java

@@ -50,7 +50,7 @@ public class QueryInvalidReasonVO {
     /**
      * 证据组合
      */
-    private List<QueryInvalidReasonVO.proofGroupIn> proofGroups;
+    private List<proofGroupIn> proofGroups;
 
 
     @Data

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

@@ -57,7 +57,7 @@ public class InvalidReasonService extends ServiceImpl<InvalidReasonMapper, Inval
          List<QueryAllFeaturesVO> queryAllFeaturesVOS = featureMapper.queryAllFeatures(checkReFeaturesDTO.getReportId(), checkReFeaturesDTO.getRightSort());
         //List<QueryAllFeaturesVO> list = queryAllFeaturesVOS.stream().sorted(Comparator.comparing(QueryAllFeaturesVO::getPosition)).collect(Collectors.toList());
         //取出需要插入的特征内容和位置
-        List<InvalidReasonDTO.featuresIn> features = checkReFeaturesDTO.getFeatures();
+        List<CheckReFeaturesDTO.featuresIn> features = checkReFeaturesDTO.getFeatures();
         //定义一个map装载所有的特征内容和位置
         Map<Integer, Integer> map = new HashMap<>();
         //遍历装载查询出来的全部特征内容和位置
@@ -78,7 +78,7 @@ public class InvalidReasonService extends ServiceImpl<InvalidReasonMapper, Inval
             }
         }
         //遍历装载需要插入的特征内容和位置
-        for(InvalidReasonDTO.featuresIn featuresIn:features){
+        for(CheckReFeaturesDTO.featuresIn featuresIn:features){
             //如果map中已经有了初始位置,无论长度如何都重复
             if(map.containsKey(featuresIn.getPosition())) {
                 return false;
@@ -92,7 +92,7 @@ public class InvalidReasonService extends ServiceImpl<InvalidReasonMapper, Inval
         List<Integer> positions = new ArrayList<>(keySet);
         Collections.sort(positions);
         //遍历需要插入的特征内容和位置
-        for(InvalidReasonDTO.featuresIn featuresIn:features) {
+        for(CheckReFeaturesDTO.featuresIn featuresIn:features) {
             //需检查是否重复的特征内容的初始位置 在集合中的位置
             Integer index = positions.indexOf(featuresIn.getPosition());
             //需检查是否重复的特征内容的末尾位置
@@ -150,7 +150,13 @@ public class InvalidReasonService extends ServiceImpl<InvalidReasonMapper, Inval
                     CheckReFeaturesDTO checkReFeaturesDTO = new CheckReFeaturesDTO();
                     checkReFeaturesDTO.setReportId(invalidReasonDTO.getReportId());
                     checkReFeaturesDTO.setRightSort(invalidReasonDTO.getContent());
-                    checkReFeaturesDTO.setFeatures(featuresIns);
+                    List<CheckReFeaturesDTO.featuresIn> checkFeatureIns = new ArrayList<>();
+                    for(InvalidReasonDTO.featuresIn featuresIn : featuresIns){
+                        CheckReFeaturesDTO.featuresIn featuresIn1 = new CheckReFeaturesDTO.featuresIn();
+                        BeanUtils.copyProperties(featuresIn,featuresIn1);
+                        checkFeatureIns.add(featuresIn1);
+                    }
+                    checkReFeaturesDTO.setFeatures(checkFeatureIns);
                     Boolean isFlag = this.checkReFeatures(checkReFeaturesDTO);
                     if (isFlag == false) {
                         return Response.error("特征内容重复");
@@ -292,7 +298,9 @@ public class InvalidReasonService extends ServiceImpl<InvalidReasonMapper, Inval
         //由于查出来的proofGroups中没有proofIds这个字段,于是采用下面的方法装载成proofGroupVOS
         List<QueryInvalidReasonVO.proofGroupIn> proofGroupIns = this.loadProofGroupVO(proofGroups);
         for(QueryInvalidReasonVO queryInvalidReasonVO:queryInvalidReasonVOS){
-
+            List<QueryInvalidReasonVO.proofGroupIn> proofGroupIn= proofGroupIns.stream().filter(item -> item.getInvalidReasonId().equals(queryInvalidReasonVO.getId())).collect(Collectors.toList());
+            queryInvalidReasonVO.setProofGroups(proofGroupIn);
+            queryInvalidReasonVOS.add(queryInvalidReasonVO);
         }
         return queryInvalidReasonVOS;
     }