ludc
2023-10-31 36fff14de9bb4808d8dbf5c586baf331986e53a3
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/DictBizServiceImpl.java
@@ -120,16 +120,27 @@
   @Override
   public R checkOrInsert(DictBiz dictBiz) {
      LambdaQueryWrapper<DictBiz> lqw = Wrappers.<DictBiz>query().lambda().eq(DictBiz::getCode, dictBiz.getCode()).eq(DictBiz::getDictKey, dictBiz.getDictKey()).eq(DictBiz::getDictValue, dictBiz.getDictValue());
      Long cnt = baseMapper.selectCount((Func.isEmpty(dictBiz.getId())) ? lqw : lqw.notIn(DictBiz::getId, dictBiz.getId()));
      LambdaQueryWrapper<DictBiz> wrapper = Wrappers.<DictBiz>query().lambda().eq(DictBiz::getCode, dictBiz.getCode()).eq(DictBiz::getDictKey, dictBiz.getDictKey()).eq(DictBiz::getDictValue, dictBiz.getDictValue());
      // Long cnt = baseMapper.selectCount((Func.isEmpty(dictBiz.getId())) ? lqw : lqw.notIn(DictBiz::getId, dictBiz.getId()));
      Long cnt = baseMapper.selectCount(wrapper);
      if (cnt > 0L) {
         return R.fail("字典已经存在!");
      }
      // 根据code先查询是否已存在该字典,存在就需要将当前字典添加到该code下面
      LambdaQueryWrapper<DictBiz> wrappers = Wrappers.<DictBiz>query()
         .lambda().eq(DictBiz::getCode, dictBiz.getCode())
         .eq(DictBiz::getParentId,BladeConstant.TOP_PARENT_ID)
         .last("limit 1");
      DictBiz dbDictBiz = baseMapper.selectOne(wrappers);
      // 当前code已存在,作为当前父字典
      if(Func.isNotEmpty(dbDictBiz)){
         dictBiz.setParentId(dbDictBiz.getId());
      }
      // 是否为顶层字典
      if (Func.isEmpty(dictBiz.getParentId())) {
         dictBiz.setParentId(BladeConstant.TOP_PARENT_ID);
      }
      dictBiz.setIsSealed(0);
      dictBiz.setIsDeleted(BladeConstant.DB_NOT_DELETED);
      CacheUtil.clear(DICT_CACHE);
@@ -137,6 +148,6 @@
         return R.success("操作成功!");
      }
      return R.fail("操作失败!");
   }
}