xiejun
2023-10-12 111330b2dd0bccc176ab9c6324a6ed01d5bc0e93
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java
@@ -101,7 +101,7 @@
      treeWrapperOptions.copyFromTreeQuery(treeQueryObject);
      return revisionModelUtil.doList2Trees(voList,treeWrapperOptions,(CodeClassifyValueVO s) ->{
         //可以在这里处理树节点的显示
         return s.getId() + " " + s.getName() + (FrameworkDataLCStatus.DISABLED.getValue().equalsIgnoreCase(s
         return s.getId() + " " + (Func.isNotEmpty(s.getName()) ? s.getName():"") + (FrameworkDataLCStatus.DISABLED.getValue().equalsIgnoreCase(s
            .getLcStatus()) ? (" 【停用】 ") : "");
      });
   }
@@ -130,11 +130,15 @@
      BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyValueDTO,codeClassifyValueDO);
      //填充一些默认值
      DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyValueDO, MdmBtmTypeConstant.CODE_CLASSIFY_VALUE);
      LambdaQueryWrapper<CodeClassifyValue> wrapper = Wrappers.<CodeClassifyValue>query()
         .lambda().eq(CodeClassifyValue::getCodeClassifySecOid, codeClassifyValueDO.getCodeClassifySecOid());
      if(Func.isEmpty(codeClassifyValueDO.getParentClassifyValueOid())){
         wrapper.isNull(CodeClassifyValue::getParentClassifyValueOid);
      }else{
         wrapper.eq(CodeClassifyValue::getParentClassifyValueOid, codeClassifyValueDO.getParentClassifyValueOid());
      }
      //查询
      List<CodeClassifyValue> existList = codeClassifyValueMapper.selectList(Wrappers.<CodeClassifyValue>query()
         .lambda().eq(CodeClassifyValue::getCodeClassifySecOid, codeClassifyValueDO.getCodeClassifySecOid())
         .eq(CodeClassifyValue::getParentClassifyValueOid, codeClassifyValueDO.getParentClassifyValueOid())
      );
      List<CodeClassifyValue> existList = codeClassifyValueMapper.selectList(wrapper);
      codeClassifyValueDO.setOrderNum(existList.size() + 1);
      boolean resBoolean = codeClassifyValueMapper.insert(codeClassifyValueDO) > 0;
      return resBoolean;
@@ -244,19 +248,17 @@
      VciBaseUtil.alertNotNull(codeClassifyValueDTO,"分类码段的码值数据对象",codeClassifyValueDTO.getOid(),"分类码段的码值的主键");
      CodeClassifyValue codeClassifyValueDO = selectByOid(codeClassifyValueDTO.getOid());
      R baseResult = checkIsCanDeleteForDO(codeClassifyValueDTO,codeClassifyValueDO);
      if(!baseResult.isSuccess()) {
         //找下级的,这个是可以删除的时候R
         List<String> childrenOids = codeClassifyValueMapper.selectAllLevelChildOid(codeClassifyValueDO.getOid().trim());
      if(baseResult.isSuccess()) {
         //先删除下级码值,找下级的,这个是可以删除的时候
         List<String> childrenOids = codeClassifyValueMapper.selectChildOid(codeClassifyValueDO.getOid().trim());
         if (!CollectionUtils.isEmpty(childrenOids)) {
            Collection<Collection<String>> childrenCollections = VciBaseUtil.switchCollectionForOracleIn(childrenOids);
            for(Collection<String> s : childrenCollections){
               codeClassifyValueMapper.delete(Wrappers.<CodeClassifyValue>query().lambda().eq(CodeClassifyValue::getOid,s));
               codeClassifyValueMapper.deleteBatchIds(s);
            }
         }
      }else{
         return baseResult;
      }
      //执行删除操作
      //执行删除操作,再删除父的码值
      boolean resBoolean = codeClassifyValueMapper.deleteById(codeClassifyValueDO.getOid()) > 0;
      return R.status(resBoolean);
   }