package com.vci.ubcs.code.service;
|
|
|
import com.vci.ubcs.code.model.CodeRuleDO;
|
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.ubcs.code.dto.CodeRuleDTO;
|
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
|
import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
|
|
import java.util.Collection;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 主数据编码规则服务接口
|
*
|
* @author weidy
|
* @date 2022-01-24
|
*/
|
public interface CodeRuleServiceI {
|
/**
|
* 查询所有的主数据编码规则
|
* @param conditionMap 查询条件
|
* @param pageHelper 分页和排序
|
* @return 执行结果
|
* @throws VciBaseException 查询条件和分页出错的时候会抛出异常
|
*/
|
DataGrid<CodeRuleVO> gridCodeRule(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException;
|
|
|
/**
|
* 批量数据对象转换为显示对象
|
* @param codeRuleDOs 数据对象列表
|
* @return 显示对象
|
* @throws VciBaseException 参数为空或者不存在的时候会抛出异常
|
*/
|
List<CodeRuleVO> codeRuleDO2VOs(Collection<CodeRuleDO> codeRuleDOs) throws VciBaseException;
|
|
/**
|
* 批量数据对象转换为显示对象
|
* @param codeRuleDOs 数据对象列表
|
* @param hasSec 是否包含码段
|
* @return 显示对象
|
* @throws VciBaseException 参数为空或者不存在的时候会抛出异常
|
*/
|
List<CodeRuleVO> codeRuleDO2VOs(Collection<CodeRuleDO> codeRuleDOs, boolean hasSec) throws VciBaseException;
|
|
/**
|
* 数据对象转换为显示对象
|
* @param codeRuleDO 数据对象
|
* @return 显示对象
|
* @throws VciBaseException 拷贝属性出错的时候会抛出异常
|
*/
|
CodeRuleVO codeRuleDO2VO(CodeRuleDO codeRuleDO) throws VciBaseException;
|
|
/**
|
* 增加主数据编码规则
|
* @param codeRuleDTO 主数据编码规则数据传输对象
|
* @return 执行结果
|
* @throws VciBaseException 参数为空,唯一项,必输项不通过时会抛出异常
|
*/
|
CodeRuleVO addSave(CodeRuleDTO codeRuleDTO) throws VciBaseException;
|
|
/**
|
* 修改主数据编码规则
|
* @param codeRuleDTO 主数据编码规则数据传输对象
|
* @return 执行结果
|
* @throws VciBaseException 参数为空,唯一项,必输项不通过时会抛出异常
|
*/
|
CodeRuleVO editSave(CodeRuleDTO codeRuleDTO) throws VciBaseException;
|
|
|
/**
|
* 删除主数据编码规则
|
* @param codeRuleDTO 主数据编码规则数据传输对象,oid和ts需要传输
|
* @return 删除结果反馈::success:成功,fail:失败
|
* @throws VciBaseException 参数为空,被引用时抛出异常
|
*/
|
BaseResult deleteCodeRule(CodeRuleDTO codeRuleDTO) throws VciBaseException;
|
|
/**
|
* 校验编码规则的状态是否可以编辑或删除
|
* @param lcStatus 编码规则
|
* @return true表示可以编辑或删除,false表示不可以
|
*/
|
boolean checkEditDelStatus(String lcStatus);
|
|
/**
|
* 主键获取主数据编码规则
|
* @param oid 主键
|
* @return 主数据编码规则显示对象
|
* @throws VciBaseException 参数为空,数据不存在时会抛出异常
|
*/
|
CodeRuleVO getObjectByOid(String oid) throws VciBaseException;
|
|
/**
|
* 主键批量获取主数据编码规则
|
* @param oidCollections 主键集合,但是受性能影响,建议一次查询不超过10000个
|
* @return 主数据编码规则显示对象
|
* @throws VciBaseException 查询出现异常时会抛出
|
*/
|
Collection<CodeRuleVO> listCodeRuleByOids(Collection<String> oidCollections) throws VciBaseException;
|
|
/**
|
* 主键批量获取主数据编码规则
|
* @param oidCollections 主键集合,但是受性能影响,建议一次查询不超过10000个
|
* @param hasSec 是否包含码段
|
* @return 主数据编码规则显示对象
|
* @throws VciBaseException 查询出现异常时会抛出
|
*/
|
Collection<CodeRuleVO> listCodeRuleByOids(Collection<String> oidCollections,boolean hasSec) throws VciBaseException;
|
|
/**
|
* 使用编号的集合获取规则的内容
|
* @param idCollection 编号的集合
|
* @return 规则的内容
|
*/
|
List<CodeRuleVO> listCodeRuleByIds(Collection<String> idCollection);
|
|
/**
|
* 参照主数据编码规则列表
|
* @param conditionMap 查询条件
|
* @param pageHelper 分页和排序
|
* @return 主数据编码规则显示对象列表,生效的内容
|
* @throws VciBaseException 查询条件和分页出错的时候会抛出异常
|
*/
|
DataGrid<CodeRuleVO> refDataGridCodeRule(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException;
|
|
/**
|
* 查看主数据编码规则的使用范围
|
* @param oid 编码规则主键
|
* @return 主题库分类使用到该编码规则的所有集合
|
*/
|
Collection<CodeClassifyVO> listUseRangeInCodeClassify(String oid);
|
|
/**
|
* 检验编码规则是否已经被使用
|
* @param oid 编码规则主键
|
* @return true表示已经使用,false表示未被使用
|
*/
|
boolean isAlreadyInUse(String oid);
|
|
/**
|
* 停用与启用编码规则
|
* @param oid 编码规则主键
|
* @param update enable:启用 disable:停用 release:发布
|
* @return 执行结果
|
*/
|
BaseResult updateStatus(String oid, String update);
|
|
/**
|
* 克隆编码规则
|
* @param codeRuleDTO 主数据编码规则数据传输对象,oid和ts需要传输
|
* @return 主数据编码规则显示对象
|
*/
|
BaseResult cloneCodeRule(CodeRuleDTO codeRuleDTO);
|
|
/**
|
* 使用主键获取编码规则的内容
|
* @param oid 主键
|
* @return 规则的显示对象
|
*/
|
CodeRuleVO getObjectHasSecByOid(String oid);
|
|
/**
|
* 编码规则清空所有已生成的编码
|
* @param oid 编码规则主键
|
* @return 执行结果
|
*/
|
BaseResult clearAllCode(String oid);
|
}
|