/*
|
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
|
*
|
* Redistribution and use in source and binary forms, with or without
|
* modification, are permitted provided that the following conditions are met:
|
*
|
* Redistributions of source code must retain the above copyright notice,
|
* this list of conditions and the following disclaimer.
|
* Redistributions in binary form must reproduce the above copyright
|
* notice, this list of conditions and the following disclaimer in the
|
* documentation and/or other materials provided with the distribution.
|
* Neither the name of the dreamlu.net developer nor the names of its
|
* contributors may be used to endorse or promote products derived from
|
* this software without specific prior written permission.
|
* Author: Chill 庄骞 (smallchill@163.com)
|
*/
|
package com.vci.ubcs.code.service;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.vci.ubcs.code.dto.CodeRuleDTO;
|
import com.vci.ubcs.code.entity.CodeRule;
|
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
|
import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
|
import com.vci.ubcs.com.vci.starter.exception.VciBaseException;
|
import org.springblade.core.tool.api.R;
|
|
import java.util.Collection;
|
|
/**
|
* 编码规则 服务类
|
*
|
* @author ludc
|
* @since 2023-04-03
|
*/
|
public interface ICodeRuleService extends IService<CodeRule> {
|
|
/**
|
* 自定义分页
|
*
|
* @param page
|
* @param codeRule
|
* @return
|
*/
|
IPage<CodeRuleVO> gridCodeRule(IPage<CodeRuleVO> page, CodeRuleVO codeRule);
|
|
/**
|
* 校验编码规则的状态是否可以编辑或删除
|
* @param lcStatus 编码规则
|
* @return true表示可以编辑或删除,false表示不可以
|
*/
|
boolean checkEditDelStatus(String lcStatus);
|
|
/**
|
* 增加主数据编码规则
|
* @param codeRuleDTO 主数据编码规则数据传输对象
|
* @return 执行结果
|
*/
|
Boolean addSave(CodeRuleDTO codeRuleDTO) throws VciBaseException;
|
|
/**
|
* 修改主数据编码规则
|
* @param codeRuleDTO 主数据编码规则数据传输对象
|
* @return 执行结果
|
*/
|
Boolean editSave(CodeRuleDTO codeRuleDTO) throws VciBaseException;
|
|
/**
|
* 删除主数据编码规则
|
* @param codeRuleDTO 主数据编码规则数据传输对象,oid和ts需要传输
|
* @return 删除结果反馈::success:成功,fail:失败
|
* @throws VciBaseException 参数为空,被引用时抛出异常
|
*/
|
R deleteCodeRule(CodeRuleDTO codeRuleDTO) throws VciBaseException;
|
|
/**
|
* 检验编码规则是否已经被使用
|
* @param oid 编码规则主键
|
* @return true表示已经使用,false表示未被使用
|
*/
|
boolean isAlreadyInUse(String oid);
|
|
/**
|
* 查看主数据编码规则的使用范围
|
* @param oid 编码规则主键
|
* @return 主题库分类使用到该编码规则的所有集合
|
*/
|
Collection<CodeClassifyVO> listUseRangeInCodeClassify(String oid);
|
|
/**
|
* 主键获取主数据编码规则
|
* @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 codeRule 查询条件
|
* @param page 分页和排序
|
* @return 主数据编码规则显示对象列表,生效的内容
|
* @throws VciBaseException 查询条件和分页出错的时候会抛出异常
|
*/
|
IPage<CodeRuleVO> refDataGridCodeRule(IPage<CodeRuleVO> page, CodeRuleVO codeRule) throws VciBaseException;
|
|
/**
|
* 停用与启用编码规则
|
* @param oid 编码规则主键
|
* @param update enable:启用 disable:停用 release:发布
|
* @return 执行结果
|
*/
|
R updateStatus(String oid, String update);
|
|
/**
|
* 克隆编码规则
|
* @param codeRuleDTO 主数据编码规则数据传输对象,oid和ts需要传输
|
* @return 主数据编码规则显示对象
|
*/
|
R cloneCodeRule(CodeRuleDTO codeRuleDTO);
|
|
/**
|
* 编码规则清空所有已生成的编码
|
* @param oid 编码规则主键
|
* @return 执行结果
|
*/
|
R clearAllCode(String oid);
|
|
}
|