lihang
2023-05-04 3579af2945dd38d841a23cd340acd474bb63773a
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java
@@ -124,12 +124,8 @@
      if (CollectionUtils.isEmpty(deleteList)){
         return true;
      }
      boolean deletFlag = false;
      // 2、再删除基础码段
      Set<String> basicOids = deleteList.stream().map(CodeBasicSec::getOid).collect(Collectors.toSet());
      if(basicOids.size()>0 || !Func.isEmpty(basicOids)){
         deletFlag = codeBasicSecMapper.deleteBatchIds(basicOids) > 0;
      }
      boolean deletFlag = codeBasicSecMapper.deleteBatchIds(deleteList.stream().map(CodeBasicSec::getOid).collect(Collectors.toSet())) > 0;
      // 3、再根据删除固定码段,丛查询出来的基础码段中过滤出包含固定码段的记录
      List<CodeBasicSec> fixedSecList = deleteList.stream().filter(sec -> {
         return CodeSecTypeEnum.CODE_FIXED_SEC.getValue().equals(sec.getSecType());
@@ -139,11 +135,8 @@
         Set<String> fixedSecOidSet = fixedSecList.stream().map(CodeBasicSec::getOid).collect(Collectors.toSet());
         // 通过外键进行查询
         List<CodeFixedValue> fixedValueS = fixedValueMapper.selectList(Wrappers.<CodeFixedValue>query().lambda().in(CodeFixedValue::getCodeFixedSecOid,fixedSecOidSet));
         Set<String> collectOid = fixedValueS.stream().map(CodeFixedValue::getOid).collect(Collectors.toSet());
         if(collectOid.size()>0 || !Func.isEmpty(collectOid)){
            // 根据查询出来的id执行固定码段执行删除
            fixedValueMapper.deleteBatchIds(collectOid);
         }
         // 根据查询出来的id执行固定码段执行删除
         deletFlag = fixedValueMapper.deleteBatchIds(fixedValueS.stream().map(CodeFixedValue::getOid).collect(Collectors.toSet()))>0;
      }
      // 4、再删除分类码段
      List<CodeBasicSec> classifySecList = deleteList.stream().filter(sec -> {
@@ -153,12 +146,9 @@
         // 将要作为删除条件的值放在一个集合里面
         Set<String> classifySecOidSet = classifySecList.stream().map(CodeBasicSec::getOid).collect(Collectors.toSet());
         // 通过外键进行查询
         List<CodeClassifyValue> classifyValues = codeClassifyValueMapper.selectList(Wrappers.<CodeClassifyValue>query().lambda().in(CodeClassifyValue::getCodeClassifySecOid,classifySecOidSet));
         List<CodeClassifyValue> fixedValueS = codeClassifyValueMapper.selectList(Wrappers.<CodeClassifyValue>query().lambda().in(CodeClassifyValue::getCodeClassifySecOid,classifySecOidSet));
         // 根据查询出来的主键id执行固定码段执行删除
         Set<String> codeclassifyOids = classifyValues.stream().map(CodeClassifyValue::getOid).collect(Collectors.toSet());
         if(codeclassifyOids.size()>0 || !Func.isEmpty(codeclassifyOids)){
            fixedValueMapper.deleteBatchIds(codeclassifyOids);
         }
         deletFlag = fixedValueMapper.deleteBatchIds(fixedValueS.stream().map(CodeClassifyValue::getOid).collect(Collectors.toSet()))>0;
      }
      return deletFlag;
   }