ludc
2024-11-15 600c2ebb55b18d687ff848cb6c9d9a61b8bfa307
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsBtmServiceI.java
@@ -3,15 +3,15 @@
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.model.IndexObject;
import com.vci.pagemodel.*;
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;
@@ -46,6 +46,11 @@
     * @return 业务类型对象
     */
    List<OsBtmTypeVO> selectAllBtm();
    /**
     * 查询所有的业务类型
     * @return 业务类型对象
     */
    List<OsBtmTypeVO> selectAllBtm(Map<String, OsAttributeVO> attributeVOMap);
    /**
     * 获取名字以filter开始的业务类型(for 查询),主要用于属性池的业务类型选择对话框
@@ -57,24 +62,38 @@
    BizType[] getBizTypes(String btmName) throws PLException;
    /**
     * 业务类型列表查询,非树结构:用于UI定义左侧业务类型查询,只返回name和lable
     * @param btmName
     * @return
     * @throws PLException
     */
    Tree getBizTree(String btmName) throws PLException;
    /**
     * 查询所有的业务类型映射
     * @return key 是业务的英文名称的小写
     */
    Map<String,OsBtmTypeVO> selectAllBtmMap();
    /**
     * 查询所有的业务类型映射
     * @return key 是业务的英文名称的小写
     */
    Map<String,OsBtmTypeVO> selectAllBtmMap(Map<String, OsAttributeVO> attributeVOMap);
    /**
     * 数据对象转换为显示对象
     * @param btmItems 数据对象
     * @return 显示对象
     */
    List<OsBtmTypeVO> btmDO2VOs(Collection<BizType> btmItems);
    List<OsBtmTypeVO> btmDO2VOs(Collection<BizType> btmItems,Map<String, OsAttributeVO> attributeVOMap);
    /**
     * 数据对象转换为显示对象
     * @param btmItem 数据对象
     * @return 显示对象
     */
    OsBtmTypeVO btmDO2VO(BizType btmItem);
    OsBtmTypeVO btmDO2VO(BizType btmItem, Map<String, OsAttributeVO> attributeVOMap);
    /**
     * 使用编号获取业务类型
@@ -84,11 +103,27 @@
    List<OsBtmTypeVO> listBtmByIds(Collection<String> btmIds);
    /**
     * TODO:尽量别用这个方法很慢,做了一次全查再转来转去
     * 使用编号获取业务类型
     * @param id 编号
     * @return 业务类型
     */
    OsBtmTypeVO getBtmById(String id);
    OsBtmTypeVO getBtmById(String id) throws PLException;
    /**
     * 使用类型名获取业务类型,查不到直接报错
     * @param btmName 类型名
     * @return 业务类型
     * @throws
     */
    OsBtmTypeVO getBtmByName(String btmName) throws PLException;
    /**
     * 使用编号获取业务类型
     * @param id 编号
     * @return 业务类型
     */
    OsBtmTypeVO getBtmById(String id, Map<String, OsAttributeVO> attributeVOMap);
    /**
     * 获取业务类型的在哪个属性中使用
@@ -111,14 +146,14 @@
     * @param btmId 业务类型的编号
     * @return 属性的内容
     */
    List<OsBtmTypeAttributeVO> listAttributeByBtmId(String btmId);
    List<OsBtmTypeAttributeVO> listAttributeByBtmId(String btmId) throws PLException;
    /**
     * 根据业务类型获取包含的属性--包含基础属性
     * @param btmId 业务类型的编号
     * @return 属性的内容
     */
    List<OsBtmTypeAttributeVO> listAttributeByBtmIdHasDefault(String btmId);
    List<OsBtmTypeAttributeVO> listAttributeByBtmIdHasDefault(String btmId) throws PLException;
    /**
     * 参照业务类型
@@ -141,20 +176,20 @@
     * @param id 枚举的英文
     * @return 枚举的名称
     */
    String getNameById(String id);
    String getNameById(String id) throws PLException;
    /**
     * 根据业务类型和链接类型生成ER图
     * @param btmId 业务类型主键
     */
    OsERVO createERDiagram(String btmId);
    OsERVO createERDiagram(String btmId) throws PLException;
     /**
     * 获取使用这个业务类型的E-R图
     * @param btmId 业务类型编号
     * @return 执行结果
     */
    OsERVO createERUsed(String btmId);
    OsERVO createERUsed(String btmId) throws PLException;
    /**
     * 获取所有业务类型(树形结构)
@@ -187,7 +222,7 @@
     * @param bizTypes
     * @return
     */
    boolean addBtmTypes(List<BizType> bizTypes);
    //boolean addBtmTypes(List<BizType> bizTypes);
    /**
     * 修改业务类型
@@ -249,26 +284,39 @@
    BaseResult deleteAllType() throws PLException;
    /**
     * 根据业务类型名称和其下的属性名称获取也有的索引
     * @param btmName
     * @param attrName
     * 根据业务类型名称和索引名称查询获取已有的索引
     * @param conditionMap 根据查询条件传参: typename:业务类型名;indexname:索引名
     * @return
     */
    List<String> getIndexByBtmAndAttrName(String btmName,String attrName);
    List<IndexObject> getIndexByCondition(Map<String,String> conditionMap) throws PLException;
    /**
     * 根据业务类型名称和其下的属性名称删除索引
     * @param btmName
     * @param attrName
     * @param indexName
     * @return
     */
    boolean delIndexByBtmAndAttrName(String btmName,String attrName);
    boolean delIndex(String btmName,String indexName) throws PLException;
    /**
     * 给业务类型下的指定属性新增索引
     * @param addMap 如:(btmName:part  attrName:name  indexName: PARTNAMEINDEX)
     * @param indexObjectList
     * @return
     */
    boolean addIndex(Map<String,String> addMap);
    boolean addIndex(List<IndexObject> indexObjectList) throws PLException;
    /**
     * 导出业务类型
     * oid 业务类型名称
     * @return
     */
    void expData(String oid, HttpServletResponse response) throws PLException, IOException;
    /**
     * 导入业务类型
     * @param file 上传的文件
     * @return
     */
    BaseResult impData(MultipartFile file) throws Exception;
}