/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package com.vci.ubcs.code.mapper; import com.vci.ubcs.code.entity.CodeClassify; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; /** * 主题库定义表 Mapper 接口 * * @author yuxc * @since 2023-04-06 */ public interface CodeClassifyMapper extends BaseMapper { /** * 自定义分页 * * @param page * @param plCodeClassify * @return */ List selectPlCodeClassifyPage(IPage page, CodeClassifyVO plCodeClassify,@Param("tenantId") String tenantId); /** * 查找子类 * * @param oid * @return */ @MapKey("OID") Map selectAllLevelChildOid(@Param("oid") String oid); /** * 校验是否包含子节点 * * @param oid 分类的主键 * @return true 表示包含 */ // @MapKey("oid") Boolean checkHasChild(@Param("oid") String oid); /** * 查找树形结构 * * @param oid 分类的主键 * @return 数据集合 */ List selectCodeClassifyVOByTree(@Param("oid") String oid,@Param("tenantId") String tenantId); /** * 查找树形结构 * * @return 数据集合 */ List selectCodeClassifyDOByTree(@Param("id") String id,@Param("lcstatus") String lcstatus,@Param("parentcodeclassifyoid") String parentcodeclassifyoid,@Param("tenantId") String tenantId/*,@Param("tableName") String tableName*/); /** * 查询数据与PL_CODE_KEYATTRREPEAT、PL_CODE_RESEMBLERULE、PL_CODE_RULE联查 * * @param oids 分类的主键 * @return 数据集合 */ List selectClassifyByKeyAndReseRel(@Param("oids") String oids); /** * 查找树形结构 * * @param oid 分类的主键 * @return 数据集合 */ List selectAllLevelChildHasPath(@Param("oid") String oid,@Param("fieldInPath")String fieldInPath); @MapKey("OID") List> selectAllLevelParentByOid(@Param("oid") String oid); @MapKey("OID") List> selectAllLevelParents(@Param("oid") String oid); @MapKey("OID") List> selectByFieldPath(@Param("fieldPath") String fieldPath); /** * 查根据id层级获取对象 * * @param fieldPath 分类的主键 * @param fieldName 分类的主键 * @return 数据集合 */ List selectByFieldNamePath(@Param("fieldPath") String fieldPath,@Param("fieldName") String fieldName); public List getIdPathToNamePathByParentId(@Param("parentId")String parentId); CodeClassify selectByIdRel(@Param("oid") String oid); /** * 根据父节点id查询当前节点子节点数据 * * @param parentOid 分类的主键 * @return 数据集合 */ List selectCodeClassifyDOByParentId(@Param("parentOid")String parentOid,@Param("tenantId") String tenantId); /*** * 根据库节点名称获取分类 * @param libNames * @param lcstatus * @param tenantId * @return */ List getRMLibByName(List libNames,@Param("lcstatus")String lcstatus,@Param("tenantId") String tenantId); /*** * 根据分类描述备注和库节点查询分类信息 * @param desc * @param codeLibName * @return */ List getRMTypeByDesc(@Param("desc")String desc,@Param("lcstatus")String lcstatus,@Param("tenantId") String tenantId); /*** * 根据当前分类获取上级分类信息 * @param oid * @param tenantId * @return */ List selectAllParenClassifytByOid(@Param("oid")String oid,@Param("tenantId") String tenantId); /** * 主键查询当前节点及其子节点 * @param oid 当前节点主键 * @return 查询结果 */ List selectStartWithCurrentOid(String oid); /** * 批量更新分类状态 * @param classifyList */ void batchUpdateLcStatus(@Param("records") List classifyList); /** * 向上查询树形结构 * * @param oid 分类的主键 * @return 数据集合 */ List selectAllParents(@Param("oid") String oid); /*** * 查询当前分类下所有分类信息 * @param oid * @return */ List selectAllClassifyByOid(@Param("oid") String oid,@Param("tenantId") String tenantId); }