yuxc
2023-04-14 f2e6e77dc5a984e2fec4416717baa7c47118fcb1
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
@@ -1,9 +1,19 @@
package com.vci.ubcs.code.service;
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.entity.CodeClassify;
import com.vci.ubcs.code.vo.CodeOsattributeVO;
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.BaseQueryObject;
import com.vci.ubcs.com.vci.starter.web.pagemodel.DataGrid;
import com.vci.ubcs.com.vci.starter.web.pagemodel.Tree;
import org.springblade.core.tool.api.R;
import java.io.File;
import java.util.Collection;
import java.util.List;
/**
@@ -21,5 +31,171 @@
    */
   List<CodeClassify> selectByWrapper(Wrapper wrapper);
   /**
    * 自定义分页
    *
    * @param page
    * @param plCodeClassify
    * @return
    */
   IPage<CodeClassifyVO> selectPlCodeClassifyPage(IPage<CodeClassifyVO> page, CodeClassifyVO plCodeClassify);
   /**
    * 增加主题库分类
    * @param codeClassifyEntity 主题库分类数据传输对象
    * @return 执行结果
    */
   R addSave(CodeClassify codeClassifyEntity)  ;
   /**
    * 修改主题库分类
    * @param codeClassifyEntity 主题库分类数据传输对象
    * @return 执行结果
    */
   R editSave(CodeClassify codeClassifyEntity) ;
   /**
    * 检查 主题库分类是否删除
    * @param codeClassify 主题库分类数据传输对象,必须要有oid和ts属性
    * @return 执行结果
    */
   R checkIsCanDelete(CodeClassify codeClassify);
   /**
    * 检查是否有下级是否关联了数据
    *
    * @param oid 主键
    * @return true 表示有引用,false表示没有引用
    */
   boolean checkChildIsLinked(String oid) ;
   /**
    * 校验是否有下级节点,不校验是否关联了数据
    *
    * @param oid 主键
    * @return true表示有下级,false表示没有下级
    */
   boolean checkHasChild(String oid) ;
   /**
    * 删除主题库分类
    * @param codeClassify 主题库分类数据传输对象,oid和ts需要传输
    * @return 删除结果反馈::success:成功,fail:失败
    */
   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);
}