|
@@ -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 -> {
|