/* * 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.com.vci.starter.exception.VciBaseException; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; import org.springblade.core.tool.api.R; import java.util.Collection; /** * 编码规则 服务类 * * @author ludc * @since 2023-04-03 */ public interface ICodeRuleService extends IService { /** * 自定义分页 * * @param page * @param plCodeRule * @return */ IPage selectPlCodeRulePage(IPage page, CodeRuleVO plCodeRule); /** * 校验编码规则的状态是否可以编辑或删除 * @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 listUseRangeInCodeClassify(String oid); }