package com.vci.web.service; import com.vci.file.dto.VciFileObjectDTO; import com.vci.file.pagemodel.VciFileObjectVO; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.pagemodel.DataGrid; import com.vci.starter.web.pagemodel.PageHelper; import com.vci.web.model.VciFileObjectDO; import java.util.Collection; import java.util.List; import java.util.Map; /** * 文件对象服务接口 * * @author weidy * @date 2020-08-04 */ public interface VciFileObjectServiceI { /** * 查询所有的文件对象 * @param conditionMap 查询条件 * @param pageHelper 分页和排序 * @return 执行结果 * @throws VciBaseException 查询条件和分页出错的时候会抛出异常 */ DataGrid gridVciFileObject(Map conditionMap, PageHelper pageHelper) throws VciBaseException; /** * 批量数据对象转换为显示对象 * @param vciFileObjectDOs 数据对象列表 * @return 显示对象 * @throws VciBaseException 参数为空或者不存在的时候会抛出异常 */ List vciFileObjectDO2VOs(Collection vciFileObjectDOs) throws VciBaseException; /** * 数据对象转换为显示对象 * @param vciFileObjectDO 数据对象 * @return 显示对象 * @throws VciBaseException 拷贝属性出错的时候会抛出异常 */ VciFileObjectVO vciFileObjectDO2VO(VciFileObjectDO vciFileObjectDO) throws VciBaseException; /** * 增加文件对象 * @param vciFileObjectDTO 文件对象数据传输对象 * @return 执行结果 * @throws VciBaseException 参数为空,唯一项,必输项不通过时会抛出异常 */ VciFileObjectVO addSave(VciFileObjectDTO vciFileObjectDTO) throws VciBaseException; /** * 修改文件对象 * @param vciFileObjectDTO 文件对象数据传输对象 * @return 执行结果 * @throws VciBaseException 参数为空,唯一项,必输项不通过时会抛出异常 */ VciFileObjectVO editSave(VciFileObjectDTO vciFileObjectDTO) throws VciBaseException; /** * 删除文件对象 * @param vciFileObjectDTO 文件对象数据传输对象,oid和ts需要传输 * @return 删除结果反馈::success:成功,fail:失败 * @throws VciBaseException 参数为空,被引用时抛出异常 */ BaseResult deleteVciFileObject(VciFileObjectDTO vciFileObjectDTO) throws VciBaseException; /** * 主键获取文件对象 * @param oid 主键 * @return 文件对象显示对象 * @throws VciBaseException 参数为空,数据不存在时会抛出异常 */ VciFileObjectVO getObjectByOid(String oid) throws VciBaseException; /** * 主键批量获取文件对象 * @param oidCollections 主键集合,但是受性能影响,建议一次查询不超过10000个 * @return 文件对象显示对象 * @throws VciBaseException 查询出现异常时会抛出 */ Collection listVciFileObjectByOids(Collection oidCollections) throws VciBaseException; /** * 参照文件对象列表 * @param conditionMap 查询条件 * @param pageHelper 分页和排序 * @return 文件对象显示对象列表,生效的内容 * @throws VciBaseException 查询条件和分页出错的时候会抛出异常 */ DataGrid refDataGridVciFileObject(Map conditionMap, PageHelper pageHelper) throws VciBaseException; /** * 文件生效 * @param fileOidCollection 文件主键集合 * @return 执行结果 * @throws VciBaseException 发布的时候出现错误的时候会抛出异常 */ BaseResult releasedFile(Collection fileOidCollection) throws VciBaseException; /** * 文件生效 * @param btmName 业务类型的名字 * @param businessOid 业务数据的主键 * @param fileOidCollection 文件的主键 * @return 执行的结果 * @throws VciBaseException 发布的时候出现错误会抛出异常 */ BaseResult releasedFile(String btmName,String businessOid,Collection fileOidCollection) throws VciBaseException; /** * 查询业务类型的文件 * @param conditionMap 查询条件 * @param pageHelper 分页和排序对象 * @param ownbizOid 业务类型的主键 * @param ownbizBtm 业务类型名称 * @return 文件显示对象的列表 * @throws VciBaseException 参数为空和查询出错的时候会抛出异常 */ DataGrid gridFilesByOwnbiz(Map conditionMap, PageHelper pageHelper, String ownbizOid, String ownbizBtm) throws VciBaseException; /** * 查询业务类型的文件 * @param conditionMap 查询条件 * @param pageHelper 分页和排序对象 * @param ownbizOid 业务类型的主键 * @param ownbizBtm 业务类型名称 * @param docClassifyId 文档的类型 * @return 文件显示对象的列表 * @throws VciBaseException 参数为空和查询出错的时候会抛出异常 */ DataGrid gridFilesByOwnbiz(Map conditionMap, PageHelper pageHelper, String ownbizOid, String ownbizBtm,String docClassifyId) throws VciBaseException; /** * 读取业务数据的文件 * @param ownbizOid 业务类型主键 * @param ownbizBtm 业务类型名称 * @param docClassifyId 文档类型编号 * @return 文件显示对象的列表 * @throws VciBaseException 参数为空和查询出错的时候会抛出异常 */ List listFilesByOwnbiz(String ownbizOid, String ownbizBtm, String docClassifyId) throws VciBaseException; /** * 批量读取业务类数据的文件 * @param ownbizOidCollection 业务类型主键集合 * @param ownbizBtm 业务类型名称 * @param docClassifyId 文档类型编号 * @return 文件显示对象的列表 * @throws VciBaseException 参数为空和查询出错的时候会抛出异常 */ List batchListFilesByOwnbizs(Collection ownbizOidCollection, String ownbizBtm, String docClassifyId) throws VciBaseException; /** * 根据关键信息获取文件信息 * @param keyInfoCollection 关键信息 * @param docClassifyId 文件分类的编号 * @return 文件显示对象,取data属性 * @throws VciBaseException 参数为空和查询出错的时候会抛出异常 */ BaseResult listFileObjectByKeyInfo(Collection keyInfoCollection, String docClassifyId) throws VciBaseException; /** * 使用关键信息统计个数 * @param keyInfoCollection 关键信息集合 * @param docClassifyId 文档分类编号 * @return 个数 * @throws VciBaseException 参数为空和查询出错的时候会抛出异常 */ Long countByKeyInfo(Collection keyInfoCollection, String docClassifyId) throws VciBaseException; /** * 删除文件 * @param fileOids 文件的主键 * @return 执行结果 * @throws VciBaseException 不能删除,文件不存在等会抛出异常 */ BaseResult deleteFiles(Collection fileOids) throws VciBaseException; /** * 使用文件的路径获取对象 * @param filePathList 文件路径 * @param docClassifyId 文档的类型编号 * @return 文件的显示对象 */ List listFileObjectByPath(Collection filePathList, String docClassifyId) ; }