lihang
2023-06-06 8ea4c69b64b5088d7821f7bc3dd8f724b78b314d
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java
@@ -1,9 +1,8 @@
package com.vci.ubcs.ddl.service;
import com.vci.starter.word.bo.WordMergeStartTableDataBO;
import com.vci.ubcs.ddl.bo.DdlTableBO;
import com.vci.ubcs.omd.dto.BtmTypeDTO;
import com.vci.ubcs.omd.entity.ModifyAttributeInfoDO;
import com.vci.ubcs.omd.dto.*;
import com.vci.ubcs.omd.entity.ModifyAttributeInfo;
import com.vci.ubcs.omd.vo.BtmTypeAttributeVO;
import com.vci.ubcs.omd.vo.BtmTypeVO;
import com.vci.ubcs.omd.vo.LinkTypeAttributeVO;
@@ -22,37 +21,6 @@
 * @date 2023/4/24
 */
public interface IDdlService {
   /**
    * 校验业务类型的数据库表中是否有数据
    * @param pkBtmType 业务类型的主键
    * @return true表示有数据,false表示没有数据
    * @throws VciBaseException 参数为空或者查询出错的时候会抛出异常
    */
   boolean checkTableHasData(String pkBtmType) throws VciBaseException;
   /**
    * 根据业务类型或者链接类型的主键获取数据库表格的名称
    * @param pkBtmType  业务类型或者链接类型的主键
    * @return 数据库表名称
    */
   String getTableNameByBtmTypeOid(String pkBtmType);
   /**
    * 根据业务类型获取链接类型的英文名称获取数据库表格的名称
    * @param id 业务类型获取链接类型的英文名称
    * @return 数据库表名称
    */
   String getTableNameByBtmTypeId(String id);
   /**
    * 校验业务类型的数据库表中是否有数据
    * @param id 业务类型的英文名称
    * @return true表示有数据,false表示没有数据
    * @throws VciBaseException 参数为空或者查询出错的时候会抛出异常
    */
   boolean checkTableHasDataById(String id) throws VciBaseException;
   /**
    * 批量将业务类型创建数据库表
    * @param pkBtmTypes 业务类型的主键
@@ -66,6 +34,20 @@
    * @throws VciBaseException 参数为空或者创建表出现了错误的时候会抛出异常
    */
   void createDbTablesByOidCollection(Collection<String> oidCollection) throws VciBaseException;
   /**
    * 获取创建的sql语句中属性部分 -- 业务类型
    * @param attributeVOList 属性的立碑
    * @return sql语句
    */
   String getCreateSqlByAttributeForBtm(List<BtmTypeAttributeVO> attributeVOList);
   /**
    * 获取创建的sql语句中属性部分 -- 链接类型
    * @param attributeVOList 属性的立碑
    * @return sql语句
    */
   String getCreateSqlByAttributeForLink(List<LinkTypeAttributeVO> attributeVOList);
   /**
    * 批量将业务类型创建数据库表
@@ -130,12 +112,6 @@
    */
   void dropColumnByName(String tableName, String columnName);
   /**
    * 校验业务类型或者链接类型的对应的表格是否存在
    * @param pkBtmType 业务类型或者链接类型的表格
    * @return true表示存在,false表示不存在
    */
   boolean checkTableExist(String pkBtmType);
   /**
    * 根据表格的名称判断表格是否存在
@@ -144,12 +120,6 @@
    */
   boolean checkTableExistByTableName(String tableName);
   /**
    * 校验业务类型或者链接类型所对应的表格是否存在
    * @param id 业务类型或者链接类型的英文名称
    * @return true表示存在,false表示不存在
    */
   boolean checkTableExistById(String id);
   /**
    * 获取数据库和业务类型中的不同的地方
@@ -157,14 +127,16 @@
    * @param linkTypeVOList 链接类型对象,有属性时需要包含属性
    * @return 不同的地方,每一个业务类型或者链接类型一条数据
    */
   List<ModifyAttributeInfoDO> checkDifferent(List<BtmTypeVO> btmTypeVOList, List<LinkTypeVO> linkTypeVOList) throws VciBaseException;
   List<ModifyAttributeInfo> checkDifferent(List<BtmTypeVO> btmTypeVOList, List<LinkTypeVO> linkTypeVOList) throws VciBaseException;
   /**
    * 清理业务类型中和数据库里不一样的
    * @param differentAttributeList 不同的属性的列表
    * @param btmTypeVOList 业务类型数据
    * @param linkTypeVOList 链接类型数据
    * @throws VciBaseException 参数为空或者执行出错的时候会抛出异常
    */
   void reflexDifferent(List<ModifyAttributeInfoDO> differentAttributeList) throws VciBaseException;
   void reflexDifferent(List<ModifyAttributeInfo> differentAttributeList,List<BtmTypeVO> btmTypeVOList, List<LinkTypeVO> linkTypeVOList) throws VciBaseException;
   /**
    * 获取数据库中所有的表格
@@ -207,8 +179,8 @@
    * 拷贝数据到word模板中
    * @param tableDataBO 要写入的数据
    * @return word 文件路径
    */
   String writeDataToWord(WordMergeStartTableDataBO tableDataBO);
    *//*
   String writeDataToWord(WordMergeStartTableDataBO tableDataBO);*/
   /**
    * 判断是否为兼容性的表,这些表不应该被创建和修改
@@ -220,10 +192,10 @@
   /**
    * 数据库新增或修改表
    * @param dto 业务类型传输对象
    * @param ddlDTO 业务类型传输对象
    * @return 执行结果
    */
   R submitBtmType(BtmTypeDTO dto);
   R submit(BtmAndLinkTypeDdlDTO ddlDTO);
   /**
    * 按表名获取表信息
@@ -236,5 +208,19 @@
    * 获取所有表信息
    * @return 表信息集合
    */
   List<DdlTableBO> getAllTableInfo();
   List<BtmTypeVO> getAllTableInfo();
   /**
    * 检查数据表是否存在数据,不存在则删除
    * @param tableCheckDTOList 需要检查的表集合
    * @return 检查结果
    */
   TableCheckResultDTO checkTableHasDataThenDelete(List<TableCheckDTO> tableCheckDTOList);
   /**
    * 为表添加字段
    * @param addColumnDTO 添加的对象
    * @return 执行结果标识
    */
   Boolean addColumnForTable(TableAddColumnDTO addColumnDTO);
}