Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsBtmServiceI.java
@@ -1,13 +1,19 @@
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;
@@ -20,10 +26,35 @@
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;
    /**
     * 查询所有的业务类型映射
@@ -124,4 +155,120 @@
     * @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);
}