Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsBtmServiceI.java
@@ -1,13 +1,22 @@
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.model.IndexObject;
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 org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.ParseException;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -20,10 +29,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 +158,133 @@
     * @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 conditionMap 根据查询条件传参: typename:业务类型名;indexname:索引名
     * @return
     */
    List<IndexObject> getIndexByCondition(Map<String,String> conditionMap) throws PLException;
    /**
     * 根据业务类型名称和其下的属性名称删除索引
     * @param btmName
     * @param indexName
     * @return
     */
    boolean delIndex(String btmName,String indexName) throws PLException;
    /**
     * 给业务类型下的指定属性新增索引
     * @param indexObjectList
     * @return
     */
    boolean addIndex(List<IndexObject> indexObjectList) throws PLException;
    /**
     * 导出业务类型
     * name 业务类型名称
     * @return 创建结果
     */
    void expData(String oid, HttpServletResponse response) throws PLException, IOException;
    /**
     * 导入业务类型
     * @param file 上传的文件
     * @return
     */
    BaseResult impData(MultipartFile file) throws Exception;
}