package com.vci.web.service; import com.vci.corba.common.PLException; import com.vci.corba.omd.btm.BizType; import com.vci.pagemodel.OsBtmTypeAttributeVO; import com.vci.pagemodel.OsBtmTypeVO; import com.vci.pagemodel.OsERVO; import com.vci.pagemodel.OsUsedAttributeVO; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.pagemodel.DataGrid; import com.vci.starter.web.pagemodel.PageHelper; import com.vci.starter.web.pagemodel.Tree; import java.util.Collection; import java.util.List; import java.util.Map; /** * 业务类型服务 * @author weidy * @date 2021-2-15 */ public interface OsBtmServiceI extends OsBaseServiceI{ /** * 修改业务类型中对应属性名的属性 * @param apName * @return * @throws PLException */ boolean alterAp(String apName) throws PLException; /** * 判断该属性是否已经在业务类型中产生了数据 * @param abName * @return * @throws PLException */ boolean hasInstance(String abName) throws PLException; /** * 查询所有的业务类型 * @return 业务类型对象 */ List selectAllBtm(); /** * 获取名字以filter开始的业务类型(for 查询),主要用于属性池的业务类型选择对话框 * 获取全部业务类型,传参filter为"" * @param btmName * @return * @throws PLException */ BizType[] getBizTypes(String btmName) throws PLException; /** * 查询所有的业务类型映射 * @return key 是业务的英文名称的小写 */ Map selectAllBtmMap(); /** * 数据对象转换为显示对象 * @param btmItems 数据对象 * @return 显示对象 */ List btmDO2VOs(Collection btmItems); /** * 数据对象转换为显示对象 * @param btmItem 数据对象 * @return 显示对象 */ OsBtmTypeVO btmDO2VO(BizType btmItem); /** * 使用编号获取业务类型 * @param btmIds 编号 * @return 业务类型 */ List listBtmByIds(Collection btmIds); /** * 使用编号获取业务类型 * @param id 编号 * @return 业务类型 */ OsBtmTypeVO getBtmById(String id); /** * 获取业务类型的在哪个属性中使用 * @param btmName 业务类型 * @return 引用的信息 */ List listBtmUsedInfo(String btmName); /** * 获取业务类型的在哪个属性中使用 * * @param btmId 业务类型 * @param hasLink 是否包含链接类型中 * @return 引用的信息 */ List listBtmUsedInfo(String btmId, boolean hasLink); /** * 根据业务类型获取包含的属性--不包含基础属性 * @param btmId 业务类型的编号 * @return 属性的内容 */ List listAttributeByBtmId(String btmId); /** * 根据业务类型获取包含的属性--包含基础属性 * @param btmId 业务类型的编号 * @return 属性的内容 */ List listAttributeByBtmIdHasDefault(String btmId); /** * 参照业务类型 * * @param conditionMap 查询条件 * @param pageHelper 分页的对象 * @return 业务类型的信息 */ DataGrid referDataGrid(Map conditionMap, PageHelper pageHelper); /** * 使用主键查询 * @param oid 主键 * @return 业务类型 */ OsBtmTypeVO selectByOid(String oid); /** * 使用编号获取枚举的名称 * @param id 枚举的英文 * @return 枚举的名称 */ String getNameById(String id); /** * 根据业务类型和链接类型生成ER图 * @param btmId 业务类型主键 */ OsERVO createERDiagram(String btmId); /** * 获取使用这个业务类型的E-R图 * @param btmId 业务类型编号 * @return 执行结果 */ OsERVO createERUsed(String btmId); /** * 获取所有业务类型(树形结构) * @return 查询结果 */ BaseResult> getTreeBizTypes() throws PLException; }