ludc
2025-01-16 68fd566d21b3efc3a670a5295289b1801f5a4155
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsBtmServiceI.java
@@ -2,15 +2,17 @@
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.dto.OsBtmTypeDTO;
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;
import java.util.List;
@@ -44,6 +46,11 @@
     * @return 业务类型对象
     */
    List<OsBtmTypeVO> selectAllBtm();
    /**
     * 查询所有的业务类型
     * @return 业务类型对象
     */
    List<OsBtmTypeVO> selectAllBtm(Map<String, OsAttributeVO> attributeVOMap);
    /**
     * 获取名字以filter开始的业务类型(for 查询),主要用于属性池的业务类型选择对话框
@@ -55,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);
    /**
     * 使用编号获取业务类型
@@ -82,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);
    /**
     * 获取业务类型的在哪个属性中使用
@@ -109,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;
    /**
     * 参照业务类型
@@ -139,30 +176,147 @@
     * @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;
    /**
     * 获取所有业务类型(树形结构)
     * @return 查询结果
     */
    BaseResult<List<Tree>> getTreeBizTypes() throws PLException;
    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;
    /**
     * 导出业务类型
     * oid 业务类型名称
     * @return
     */
    void expData(String oid, HttpServletResponse response) throws PLException, IOException;
    /**
     * 导入业务类型
     * @param file 上传的文件
     * @return
     */
    BaseResult impData(MultipartFile file) throws Exception;
}