Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
@@ -3,12 +3,18 @@
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
import com.vci.ubcs.code.entity.CodeClassify;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
import com.vci.ubcs.code.vo.pagemodel.TreeQueryObject;
import com.vci.ubcs.com.vci.starter.web.pagemodel.Tree;
import com.vci.ubcs.omd.vo.BtmTypeAttributeVO;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.revision.model.TreeQueryObject;
import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
import com.vci.ubcs.starter.web.pagemodel.DataGrid;import com.vci.ubcs.starter.web.pagemodel.Tree;
import org.apache.ibatis.annotations.Param;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.api.R;
import java.io.File;
import java.util.Collection;
import java.util.List;
@@ -28,6 +34,13 @@
   List<CodeClassify> selectByWrapper(Wrapper wrapper);
   /**
    * 使用查询封装器来查询
    * @param wrapper 查询封装器
    * @return 数据对象
    */
   List<String> select1(Wrapper wrapper);
   /**
    * 自定义分页
    *
    * @param page
@@ -41,14 +54,15 @@
    * @param codeClassifyEntity 主题库分类数据传输对象
    * @return 执行结果
    */
   R addSave(CodeClassify codeClassifyEntity)  ;
   R addSave(CodeClassify codeClassifyEntity);
   /**
    * 修改主题库分类
    * @param codeClassifyEntity 主题库分类数据传输对象
    * @return 执行结果
    */
   R editSave(CodeClassify codeClassifyEntity) ;
   R editSave(CodeClassify codeClassifyEntity);
   /**
    * 检查 主题库分类是否删除
    * @param codeClassify 主题库分类数据传输对象,必须要有oid和ts属性
@@ -85,9 +99,9 @@
    * @param lcStatus 状态
    * @return 执行结果
    */
    R updateLcStatus(String oid, String lcStatus);
   R updateLcStatus(String oid, String lcStatus);
    /**
   /**
    * 根据主键批量查询对象
    * @param oids 对象主键,使用逗号分隔,但是不能超过1000
    * @return 业务对象
@@ -120,13 +134,14 @@
    * @param treeQueryObject 树形查询对象
    * @return 主题库分类显示树
    */
   List<Tree> referTree(TreeQueryObject treeQueryObject);
   List<Tree> referTree(TreeQueryObject treeQueryObject) throws ServiceException;
   /**
    * 查询主题库分类 树
    * @param treeQueryObject 树查询对象
    * @return 主题库分类 显示树
    */
   List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject);
   List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject) throws ServiceException;
   /**
    * 导出分类
@@ -145,4 +160,168 @@
    * @return 分类的显示对象
    */
   List<CodeClassifyVO> listChildrenClassify(String codeClassifyOid, boolean allLevel, String fieldInPath, boolean enable);
   /**
    * 创建导入模板
    * @return excel文件路径
    */
   String createImportExcel();
   /**
    * 导入分类
    * @param file1 文件的信息
    */
   void importClassify(File file1);
   /**
    * 获取分类关联的属性
    * @param baseQueryObject 查询对象,必须有codeClassifyOid,支持id和name两种查询条件
    * @return 属性的信息,包含默认的属性
    */
   DataGrid<BtmTypeAttributeVO> listClassifyLinkAttr(BaseQueryObject baseQueryObject) throws ServiceException;
   /**
    * 获取当前分类的顶层分类
    *
    * @param codeClassifyOid 分类的主键
    * @return 顶层分类的信息
    */
   CodeClassifyVO getTopClassifyVO(String codeClassifyOid);
   /**
    * 获取当前分类的所有上级分类(含本次查询层级号)
    * @param oid 主键
    * @return 所有的上级
    */
   List<CodeClassify> selectAllLevelParentByOid(String oid);
   /**
    * 使用编号的路径获取对象
    * @param idPath 编号的路径,一定要从最顶层节点开始,格式为xxx/yyy/zz 这样
    * @return 分类的显示对象
    */
   CodeClassifyVO getObjectByIdPath(String idPath);
   /**
    * 主题库的树
    * @param treeQueryObject 树形查询对象
    * @return 主题库显示树
    */
   List<Tree> treeTopCodeClassify(TreeQueryObject treeQueryObject);
   /**
    * 获取这个分类下的业务类型,当前没有就获取上级的第一个业务类型
    * @param oid 当前分类的oid
    * @return oid,id,name,btmtypeid,btmtypename
    */
   CodeClassify selectBtmOrParentBtm(String oid);
   /**
    * 获取所有下级数据
    * @param oid 数据主键
    * @return 查询结果
    */
   List<CodeClassify> selectAllLevelParents(String oid);
   /**
    * 获取所有上级节点的oid
    * @param oid
    * @return
    */
   List<String> selectAllParentOid(String oid);
   /**
    * 主键获取主题库分类
    * @param oid 主键
    * @return 主题库分类显示对象
    */
   CodeClassifyVO getObjectByOid(String oid) throws VciBaseException;
   /**
    * 使用分类主键获取分类相关的所有信息
    * @param codeClassifyOid 分类的主键
    * @return 分类上级,下级的信息
    */
   CodeClassifyFullInfoBO getClassifyFullInfo(String codeClassifyOid);
   /**
    * 使用编号的路径获取对象
    * @param clsfNamePath 分类名称的路径,一定要从最顶层节点开始,格式为xxx/yyy/zz 这样
    * @return 分类的显示对象
    */
   CodeClassifyVO getObjectByClsfNamePath(String clsfNamePath);
   /***
    * 根据上级节点获取下级节点代号路径和名称路径
    * @param classifyId
    * @param enable
    * @return
    */
   public List<CodeClassifyVO> getIdPathToNamePathByParentId(String classifyId,boolean enable);
   /**
    * 根据树形查询对象来查询数据对象
     *
       * @param treeQueryObject 树形查询对象
     * @return 查询结果,数据对象
     */
   List<CodeClassifyVO> selectCodeClassifyDOByTree(TreeQueryObject treeQueryObject);
   /**
    * 统计子节点的个数
    *
    * @param codeClassifyOid 分类的主键
    * @return 个数
    */
   int countChildrenByClassifyOid(String codeClassifyOid);
   /***
    * 根据父节点查询下级叶子节点
    * @param parentId
    * @return
    */
   List<CodeClassifyVO> selectCodeClassifyVOByParentId(String parentId);
   /***
    * 根据库节点名称获取分类
    * @param libName
    * @return
    */
   List<CodeClassifyVO> getRMLibByName(String libName);
   /***
    * 根据分类描述备注和库节点查询分类信息
    * @param desc
    * @param codeLibName
    * @return
    */
   List<CodeClassifyVO> getRMTypeByDescAndLib(String desc,String codeLibName);
   /**
    * 根据分类描述备注和库节点查询分类信息
    * @param oid
    * @param fieldInPath
    * @return
    */
   List<CodeClassifyVO> selectAllClassifyByOid(String oid, String fieldInPath);
   /**
    * 根据顶层节点oid查询所有除当前节点以外所有不参与校验的分类oid
    * @param topOid
    * @param currentOid
    * @return
    */
   String selectLeafByParentClassifyOid(String topOid, String currentOid);
   /**
    * 流水依赖生成
    */
   R flowingDependencyGen(String classifyOid);
   /**
    *  根据顶层节点oid查询所有叶子节点分类oid
    * @param pid
    * @return
    */
   String selectLeafByPid(String pid);
}