package com.vci.web.service; import com.vci.corba.common.PLException; import com.vci.corba.omd.btm.BizType; import com.vci.pagemodel.OsAttributeVO; import com.vci.pagemodel.OsBtmTypeAttributeVO; import com.vci.pagemodel.OsBtmTypeVO; import com.vci.pagemodel.OsUsedAttributeVO; import java.util.Collection; import java.util.List; import java.util.Map; /** * @Description 业务类型服务接口 * @Author dangsn * @Date 2024/11/28 11:32 */ public interface WebBtmServiceI { /** * TODO:尽量别用这个方法很慢,做了一次全查再转来转去 * 使用编号获取业务类型 * @param id 编号 * @return 业务类型 */ OsBtmTypeVO getBtmById(String id) throws PLException; /** * 数据对象转换为显示对象 * @param btmItem 数据对象 * @return 显示对象 */ OsBtmTypeVO btmDO2VO(BizType btmItem, Map attributeVOMap); /** * 获取业务类型的在哪个属性中使用 * @param btmName 业务类型 * @return 引用的信息 */ List listBtmUsedInfo(String btmName); /** * 获取业务类型的在哪个属性中使用 * * @param btmId 业务类型 * @param hasLink 是否包含链接类型中 * @return 引用的信息 */ List listBtmUsedInfo(String btmId, boolean hasLink); /** * 查询所有的业务类型映射 * @return key 是业务的英文名称的小写 */ Map selectAllBtmMap(); /** * 查询所有的业务类型映射 * @return key 是业务的英文名称的小写 */ Map selectAllBtmMap(Map attributeVOMap); /** * 查询所有的业务类型 * @return 业务类型对象 */ List selectAllBtm(); /** * 查询所有的业务类型 * @return 业务类型对象 */ List selectAllBtm(Map attributeVOMap); /** * 数据对象转换为显示对象 * @param btmItems 数据对象 * @return 显示对象 */ List btmDO2VOs(Collection btmItems, Map attributeVOMap); /** * 使用编号获取业务类型 * @param btmIds 编号 * @return 业务类型 */ List listBtmByIds(Collection btmIds); /** * 根据业务类型获取包含的属性--不包含基础属性 * @param btmId 业务类型的编号 * @return 属性的内容 */ List listAttributeByBtmId(String btmId); }