package com.vci.web.service;
|
|
import com.vci.corba.common.PLException;
|
import com.vci.corba.omd.btm.BizType;
|
import com.vci.dto.OsBtmTypeDTO;
|
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.io.IOException;
|
import java.text.ParseException;
|
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<OsBtmTypeVO> selectAllBtm();
|
|
/**
|
* 获取名字以filter开始的业务类型(for 查询),主要用于属性池的业务类型选择对话框
|
* 获取全部业务类型,传参filter为""
|
* @param btmName
|
* @return
|
* @throws PLException
|
*/
|
BizType[] getBizTypes(String btmName) throws PLException;
|
|
/**
|
* 查询所有的业务类型映射
|
* @return key 是业务的英文名称的小写
|
*/
|
Map<String,OsBtmTypeVO> selectAllBtmMap();
|
|
/**
|
* 数据对象转换为显示对象
|
* @param btmItems 数据对象
|
* @return 显示对象
|
*/
|
List<OsBtmTypeVO> btmDO2VOs(Collection<BizType> btmItems);
|
|
/**
|
* 数据对象转换为显示对象
|
* @param btmItem 数据对象
|
* @return 显示对象
|
*/
|
OsBtmTypeVO btmDO2VO(BizType btmItem);
|
|
/**
|
* 使用编号获取业务类型
|
* @param btmIds 编号
|
* @return 业务类型
|
*/
|
List<OsBtmTypeVO> listBtmByIds(Collection<String> btmIds);
|
|
/**
|
* 使用编号获取业务类型
|
* @param id 编号
|
* @return 业务类型
|
*/
|
OsBtmTypeVO getBtmById(String id);
|
|
/**
|
* 获取业务类型的在哪个属性中使用
|
* @param btmName 业务类型
|
* @return 引用的信息
|
*/
|
List<OsUsedAttributeVO> listBtmUsedInfo(String btmName);
|
|
/**
|
* 获取业务类型的在哪个属性中使用
|
*
|
* @param btmId 业务类型
|
* @param hasLink 是否包含链接类型中
|
* @return 引用的信息
|
*/
|
List<OsUsedAttributeVO> listBtmUsedInfo(String btmId, boolean hasLink);
|
|
/**
|
* 根据业务类型获取包含的属性--不包含基础属性
|
* @param btmId 业务类型的编号
|
* @return 属性的内容
|
*/
|
List<OsBtmTypeAttributeVO> listAttributeByBtmId(String btmId);
|
|
/**
|
* 根据业务类型获取包含的属性--包含基础属性
|
* @param btmId 业务类型的编号
|
* @return 属性的内容
|
*/
|
List<OsBtmTypeAttributeVO> listAttributeByBtmIdHasDefault(String btmId);
|
|
/**
|
* 参照业务类型
|
*
|
* @param conditionMap 查询条件
|
* @param pageHelper 分页的对象
|
* @return 业务类型的信息
|
*/
|
DataGrid<OsBtmTypeVO> referDataGrid(Map<String, String> 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 查询结果
|
*/
|
List<Tree> getTreeBizTypes() throws PLException;
|
|
/**
|
* 获取所有业务类型名称集合
|
* @return
|
*/
|
List<String> getAllBtmName() throws PLException;
|
|
/**
|
* 获取业务全部属性类型
|
* @param btmName 业务类型名称
|
* @return 属性的信息
|
*/
|
List<OsBtmTypeAttributeVO> getBizTypeQTDs(String btmName) throws PLException, ParseException;
|
|
/**
|
* 创建新的业务类型
|
* @return
|
* @throws PLException
|
*/
|
boolean addBtmType(OsBtmTypeDTO btmTypeDTO) throws PLException;
|
|
/**
|
* 批量新增业务类型
|
* @param bizTypes
|
* @return
|
*/
|
boolean addBtmTypes(List<BizType> bizTypes);
|
|
/**
|
* 修改业务类型
|
* @param btmTypeDTO
|
* @return
|
* @throws PLException
|
*/
|
boolean updateBtmType(OsBtmTypeDTO btmTypeDTO) throws PLException;
|
|
/**
|
* 删除业务类型
|
* @param btmTypeDTO
|
* @return
|
* @throws PLException
|
*/
|
boolean deleteBtmType(OsBtmTypeDTO btmTypeDTO) throws PLException;
|
|
/**
|
* 一致性检查
|
* @return
|
* @throws PLException
|
*/
|
BaseResult checkBtmConsistency() throws PLException;
|
|
/**
|
* 一致性检查修复功能
|
* @param repairData
|
* @return
|
*/
|
BaseResult executeRepair(String repairData) throws Exception;
|
|
/**
|
* 创建视图
|
* @return
|
* @throws PLException
|
*/
|
boolean createView() throws PLException;
|
|
/**
|
* 删除数据界面的查询
|
* @return 业务类型,链接类型
|
*/
|
BaseResult getObjectData() throws PLException;
|
|
/**
|
* 删除数据
|
* @param btmNames 业务类型名
|
* @param linkNames 链接类型名
|
* @return
|
* @throws PLException
|
*/
|
List<Map> truncateTable(String[] btmNames,String[] linkNames) throws PLException;
|
|
/**
|
* 删除全部类型
|
* @return
|
* @throws PLException
|
*/
|
BaseResult deleteAllType() throws PLException;
|
|
/**
|
* 根据业务类型名称和其下的属性名称获取也有的索引
|
* @param btmName
|
* @param attrName
|
* @return
|
*/
|
List<String> getIndexByBtmAndAttrName(String btmName,String attrName);
|
|
/**
|
* 根据业务类型名称和其下的属性名称删除索引
|
* @param btmName
|
* @param attrName
|
* @return
|
*/
|
boolean delIndexByBtmAndAttrName(String btmName,String attrName);
|
|
/**
|
* 给业务类型下的指定属性新增索引
|
* @param addMap 如:(btmName:part attrName:name indexName: PARTNAMEINDEX)
|
* @return
|
*/
|
boolean addIndex(Map<String,String> addMap);
|
|
}
|