package com.vci.ubcs.omd.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.vci.ubcs.omd.dto.RevisionRuleDTO; import com.vci.ubcs.omd.entity.RevisionRule; import com.vci.ubcs.omd.vo.BtmTypeVO; import com.vci.ubcs.omd.vo.RevisionRuleVO; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; import org.springblade.core.mp.support.Query; import java.util.Collection; import java.util.List; import java.util.Map; /** * Description: 版本规则服务定义 * * @author LiHang * @date 2023/5/17 */ public interface IRevisionRuleService extends IService { /** * 获取版本规则列表 * @param condition 查询条件 * @param query 分页信息和排序信息,默认使用id排序 * @return 版本规则对象列表 * @throws VciBaseException 查询出错时会抛出异常 */ IPage listRevisionRule(Map condition, Query query) throws VciBaseException; /** * 根据主键获取版本规则 * @param pkRevisionRule 版本规则主键 * @return 版本规则,如果不存在会返回null * @throws VciBaseException 参数为空或者查询出错时会抛出错误 */ RevisionRuleVO getRevisionRuleByOid(String pkRevisionRule) throws VciBaseException; /** * 根据主键批量获取版本规则 * @param pkRevisionRules 版本规则主键,用逗号分隔 * @return 版本规则列表,如果有不存在的不会返回,全部不存在的则返回空列表 * @throws VciBaseException 参数为空或者查询出错时会抛出错误 */ List listRevisionRuleByOids(String pkRevisionRules) throws VciBaseException; /** * 批量根据主键获取版本规则 * @param pkRevisionRuleCollection 版本规则主键集合 * @return 版本规则列表,如果有不存在的不会返回,全部不存在的则返回空列表 * @throws VciBaseException 参数为空或者查询出错时会抛出错误 */ List listRevisionRuleByOidCollection(Collection pkRevisionRuleCollection) throws VciBaseException; /** * 根据英文名称获取版本规则 * @param id 英文名称 * @return 版本规则,如果不存在会返回null * @throws VciBaseException */ RevisionRuleVO getRevisionRuleById(String id) throws VciBaseException; /** * 根据英文名称批量获取版本规则 * @param ids 英文名称,使用逗号分隔 * @return 版本规则列表,如果有不存在的不会返回,全部不存在的则返回空列表 * @throws VciBaseException 参数为空或者查询出错时会抛出错误 */ List listRevisionRuleByIds(String ids) throws VciBaseException; /** * 根据英文名称集合批量获取版本规则 * @param revisionRuleIdCollection 英文名称集合,使用逗号分隔 * @return 版本规则列表,如果有不存在的不会返回,全部不存在的则返回空列表 * @throws VciBaseException 参数为空或者查询出错时会抛出错误 */ List listRevisionRuleByIdCollection(Collection revisionRuleIdCollection) throws VciBaseException; /** * 根据版本规则主键获取中文名称 * @param oid 版本规则主键,多个使用逗号分隔 * @return 中文名称,如果不存在会返回null;多个会以逗号分隔 * @throws VciBaseException 参数为空或者查询出错时会抛出错误 */ String getNameByOid(String oid) throws VciBaseException; /** * 根据版本规则英文名称获取中文名称 * @param id 版本规则英文名称 * @return 中文名称,如果不存在会返回null;多个会以逗号分隔 * @throws VciBaseException 参数为空或者查询出错时会抛出错误 */ String getNameById(String id) throws VciBaseException; /** * 添加版本规则 * @param revisionRuleDTO 版本规则显示对象(和DTO共用) * @return 添加后的版本规则 * @throws VciBaseException 添加出错的时候会抛出异常 */ RevisionRuleVO addSave(RevisionRuleDTO revisionRuleDTO) throws VciBaseException; /** * 批量添加版本规则 * @param revisionRuleDTOList 版本规则显示对象列表(和DTO共用) * @return 批量添加后的版本规则 * @throws VciBaseException 添加出错的时候会抛出异常 */ List batchAddSave(List revisionRuleDTOList) throws VciBaseException; /** * 修改版本规则 * @param revisionRuleDTO 版本规则显示对象(和DTO共用) * @return 修改后的版本规则 * @throws VciBaseException 修改出错的时候会抛出异常 */ RevisionRuleVO editSave(RevisionRuleDTO revisionRuleDTO) throws VciBaseException; /** * 批量修改版本规则 * @param revisionRuleDTOList 版本规则显示对象列表(和DTO共用) * @return 批量修改后的版本规则 * @throws VciBaseException 修改出错的时候会抛出异常 */ List batchEditSave(List revisionRuleDTOList) throws VciBaseException; /** * 删除版本规则 * @param revisionRuleVO 版本规则显示对象 * @throws VciBaseException 如果版本规则被引用,或者删除出错时会抛出异常 */ void delete(RevisionRuleVO revisionRuleVO) throws VciBaseException; /** * 批量删除版本规则 * @param revisionRuleVOList 要删除的版本规则显示对象列表 * @throws VciBaseException 如果版本规则被引用,或者删除出错时会抛出异常 */ void batchDelete(List revisionRuleVOList) throws VciBaseException; /** * 批量校验版本规则是否被使用 * @param oidCollection 主键集合 * @return true表示被引用 */ boolean batchCheckRevisionRuleUsed(Collection oidCollection); /** * 获取使用版本规则的业务类型 * @param pkRevisionRule 版本规则的主键 * @return 引用的业务类型 * @throws VciBaseException 查询出错时会抛出异常 */ List listRevisionRuleUsedInfo(String pkRevisionRule) throws VciBaseException; /** * 校验版本规则是否被引用 * @param pkRevisionRule 版本规则的主键 * @return true表示被引用, false表示没有被引用 * @throws VciBaseException 参数为空或者查询出错时会抛出错误 */ boolean checkRevisionRuleUsed(String pkRevisionRule) throws VciBaseException; /** * 判断版本规则是否存在 * @param revisionRuleId 版本规则的英文名称 * @return true表示都存在,false表示不存在 * @throws VciBaseException 参数错误或者查询出错会抛出异常 */ boolean checkRevisionRuleExist(String revisionRuleId) throws VciBaseException; /** * 获取下一个版本的值 * @param ruleId 版本的规则 * @param currentRevisionValue 当前版本的值,为空的时候,说明是新增 * @return 下一个版本号 * @throws VciBaseException 版本规则不存在的时候会抛出异常 */ String getNextRevisionValue(String ruleId, String currentRevisionValue) throws VciBaseException; /** * 分页查询 * @param query 分页 * @param condition 查询条件 * @return 查询结果 * @throws VciBaseException 查询出错时抛出异常 */ IPage pageQueryVO(Map condition, Query query) throws VciBaseException; /** * 查看应用范围 * @param id id * @return 执行结果 */ List getApplyRange(String id); }