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