Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
@@ -3,10 +3,19 @@
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.CodeOsattributeVO;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
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.springblade.core.tool.api.R;
import java.io.File;
import java.util.Collection;
import java.util.List;
/**
@@ -76,4 +85,147 @@
    */
   R deleteCodeClassify(CodeClassify codeClassify) ;
   /**
    * 启用、停用
    * @param oid 主键
    * @param lcStatus 状态
    * @return 执行结果
    */
   R updateLcStatus(String oid, String lcStatus);
   /**
    * 根据主键批量查询对象
    * @param oids 对象主键,使用逗号分隔,但是不能超过1000
    * @return 业务对象
    */
//   List<CodeClassify> selectByPrimaryKeyCollection(Collection<String> oids);
   /**
    * 主键批量获取主题库分类
    * @param oidCollections 主键集合,但是受性能影响,建议一次查询不超过10000个
    * @return 主题库分类显示对象
    */
   Collection<CodeClassifyVO> listCodeClassifyByOids(Collection<String> oidCollections) ;
   /**
    * 批量数据对象转换为显示对象
    * @param codeClassifys 数据对象列表
    * @return 显示对象
    */
   List<CodeClassifyVO> codeClassifyDO2VOs(Collection<CodeClassify>  codeClassifys);
   /**
    * 数据对象转换为显示对象
    * @param  codeClassify 数据对象
    * @return 显示对象
    */
   CodeClassifyVO codeClassifyDO2VO(CodeClassify codeClassify);
   /**
    * 参照树 主题库分类
    * @param treeQueryObject 树形查询对象
    * @return 主题库分类显示树
    */
   List<Tree> referTree(TreeQueryObject treeQueryObject);
   /**
    * 查询主题库分类 树
    * @param treeQueryObject 树查询对象
    * @return 主题库分类 显示树
    */
   List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject);
   /**
    * 导出分类
    * @param oid 分类主键
    * @return excel文件路径
    */
   String exportClassify(String oid);
   /**
    * 获取子级的主题库分类
    *
    * @param codeClassifyOid 分类的主键
    * @param allLevel        是否所有的层级
    * @param fieldInPath 在路径中的字段
    * @param enable 是否只显示启用
    * @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<CodeOsattributeVO> listClassifyLinkAttr(BaseQueryObject baseQueryObject);
   /**
    * 获取当前分类的顶层分类
    *
    * @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);
   /**
    * 主键获取主题库分类
    * @param oid 主键
    * @return 主题库分类显示对象
    */
   CodeClassifyVO getObjectByOid(String oid) throws VciBaseException;
   /**
    * 使用分类主键获取分类相关的所有信息
    * @param codeClassifyOid 分类的主键
    * @return 分类上级,下级的信息
    */
   CodeClassifyFullInfoBO getClassifyFullInfo(String codeClassifyOid);
}