Bladeren bron

fixed 无效证据

zero 1 jaar geleden
bovenliggende
commit
a47125c987
1 gewijzigde bestanden met toevoegingen van 38 en 14 verwijderingen
  1. 38 14
      src/main/java/cn/cslg/pas/service/business/invalidReport/EvidenceReasonService.java

+ 38 - 14
src/main/java/cn/cslg/pas/service/business/invalidReport/EvidenceReasonService.java

@@ -27,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.RequestBody;
 
 import java.util.ArrayList;
@@ -83,18 +84,27 @@ public class EvidenceReasonService extends ServiceImpl<EvidenceReasonMapper, Evi
             }
         });
 
+        List<AssoGroupFeature> assoGroupFeatures = new ArrayList<>();
         List<Integer> assoIds = new ArrayList<>();
         List<Integer> notInAssoIds = new ArrayList<>();
         LambdaQueryWrapper<AssoGroupFeature> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(AssoGroupFeature::getGroupId, groupId)
                 .eq(AssoGroupFeature::getFeatureGen, gen);
-        List<AssoGroupFeature> assoGroupFeatures = assoGroupFeatureService.list(queryWrapper);
-         if(assoGroupFeatures.size()==0&&gen.equals(1)){
-             queryWrapper =new LambdaQueryWrapper<>();
-             queryWrapper.eq(AssoGroupFeature::getGroupId, groupId)
-                     .eq(AssoGroupFeature::getFeatureGen, 0);
-             assoGroupFeatures = assoGroupFeatureService.list(queryWrapper);
-         }
+        List<AssoGroupFeature> featureList = assoGroupFeatureService.list(queryWrapper);
+        if (!CollectionUtils.isEmpty(featureList)) {
+            assoGroupFeatures.addAll(featureList);
+        }
+        if (assoGroupFeatures.size() != addEvidenceReasonsDTOList.size() && gen.equals(1)) {
+            queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(AssoGroupFeature::getGroupId, groupId)
+                    .eq(AssoGroupFeature::getFeatureGen, 0);
+            if (featureList.size() > 0) {
+                List<Integer> list = featureList.stream().map(AssoGroupFeature::getFeatureOrder).collect(Collectors.toList());
+                queryWrapper.notIn(AssoGroupFeature::getFeatureOrder, list);
+            }
+            List<AssoGroupFeature> features = assoGroupFeatureService.list(queryWrapper);
+            assoGroupFeatures.addAll(features);
+        }
         assoIds = assoGroupFeatures.stream().map(AssoGroupFeature::getId).collect(Collectors.toList());
 
         //根据特征证据组合关联id 删除和无效理由关联
@@ -208,18 +218,32 @@ public class EvidenceReasonService extends ServiceImpl<EvidenceReasonMapper, Evi
         Integer groupId = queryEvidenceReasonDTO.getGroupId();
         Integer gen = queryEvidenceReasonDTO.getGen();
         //根据证据组合id 查询特征
-
+        List<AssoGroupFeature> assoGroupFeatures = new ArrayList<>();
         LambdaQueryWrapper<AssoGroupFeature> assFWrapper = new LambdaQueryWrapper<>();
         assFWrapper.eq(AssoGroupFeature::getGroupId, groupId)
-                .and(wrapper -> wrapper.eq(AssoGroupFeature::getFeatureGen, gen).or().eq(AssoGroupFeature::getOperateMode, 2));
-
-        List<AssoGroupFeature> assoGroupFeatures = assoGroupFeatureService.list(assFWrapper);
-        if(assoGroupFeatures.size()==0&&gen.equals(1)){
+                .and(wrapper -> wrapper.eq(AssoGroupFeature::getFeatureGen, gen)
+                        .or()
+                        .eq(AssoGroupFeature::getOperateMode, 2));
+        List<AssoGroupFeature> featureList = assoGroupFeatureService.list(assFWrapper);
+        if (!CollectionUtils.isEmpty(featureList)) {
+            assoGroupFeatures.addAll(featureList);
+        }
+        if (assoGroupFeatures.size() == 0 && gen.equals(1)) {
+            assFWrapper = new LambdaQueryWrapper<>();
+            assFWrapper.eq(AssoGroupFeature::getGroupId, groupId)
+                    .and(wrapper -> wrapper.eq(AssoGroupFeature::getFeatureGen, 0)
+                            .eq(AssoGroupFeature::getOperateMode, 2));
+            List<AssoGroupFeature> features = assoGroupFeatureService.list(assFWrapper);
+            assoGroupFeatures.addAll(features);
+        } else if (assoGroupFeatures.size() > 0 && gen.equals(1)) {
+            List<Integer> list = featureList.stream().map(AssoGroupFeature::getFeatureOrder).collect(Collectors.toList());
             assFWrapper = new LambdaQueryWrapper<>();
             assFWrapper.eq(AssoGroupFeature::getGroupId, groupId)
-                    .and(wrapper -> wrapper.eq(AssoGroupFeature::getFeatureGen, 0).eq(AssoGroupFeature::getOperateMode, 2));
+                    .eq(AssoGroupFeature::getFeatureGen,0)
+                    .notIn(AssoGroupFeature::getFeatureOrder,list);
+            List<AssoGroupFeature> features = assoGroupFeatureService.list(assFWrapper);
+            assoGroupFeatures.addAll(features);
         }
-        assoGroupFeatures = assoGroupFeatureService.list(assFWrapper);
         List<QueryEvidenceReasonVO> queryEvidenceReasonVOS = new ArrayList<>();
         if (assoGroupFeatures != null && assoGroupFeatures.size() != 0) {
             assoGroupFeatures.forEach(assoGroupFeature -> {