田源
2023-05-09 d2570148ec3884de3af721bd99c4b7acbbdee075
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,213 @@
package com.vci.ubcs.omd.service;
import com.vci.ubcs.omd.dto.BtmTypeDTO;
import com.vci.ubcs.omd.dto.BtmTypeLinkAttributesDTO;
import com.vci.ubcs.omd.entity.BtmType;
import com.vci.ubcs.omd.entity.BtmTypeAttribute;
import com.vci.ubcs.omd.entity.ModifyAttributeInfo;
import com.vci.ubcs.omd.vo.BtmTypeVO;
import com.vci.ubcs.omd.vo.BtmTypeAttributeVO;
import com.vci.ubcs.omd.vo.LinkTypeVO;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * ä¸šåŠ¡ç±»åž‹æœåŠ¡æŽ¥å£
 * @author weidy
 * @date 2019/10/13 2:33 PM
 */
public interface IBtmTypeService extends BaseService<BtmType> {
    /**
     * è®¾ç½®å¹³å°æœ¬èº«çš„业务类型
     * @param platformBtmType å¹³å°æœ¬èº«çš„业务类型
     */
    void setPlatformBtmType(Collection<String> platformBtmType);
    /**
     * æ ¹æ®ä¸»é”®èŽ·å–ä¸šåŠ¡ç±»åž‹
     * @param pkBtmType ä¸šåŠ¡ç±»åž‹ä¸»é”®
     * @return ä¸šåŠ¡ç±»åž‹ï¼Œå¦‚æžœä¸å­˜åœ¨ä¼šè¿”å›žnull
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    BtmTypeVO getBtmTypeByOid(String pkBtmType) throws ServiceException;
    /**
     * æ ¹æ®ä¸»é”®æ‰¹é‡èŽ·å–ä¸šåŠ¡ç±»åž‹
     * @param pkBtmTypes ä¸šåŠ¡ç±»åž‹ä¸»é”®ï¼Œç”¨é€—å·åˆ†éš”
     * @return ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    List<BtmTypeVO> listBtmTypeByOids(String pkBtmTypes) throws ServiceException;
    /**
     * æ‰¹é‡æ ¹æ®ä¸»é”®èŽ·å–ä¸šåŠ¡ç±»åž‹
     * @param pkBtmTypeCollection ä¸šåŠ¡ç±»åž‹ä¸»é”®é›†åˆ
     * @return ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    List<BtmTypeVO> listBtmTypeByOidCollection(Collection<String> pkBtmTypeCollection) throws ServiceException;
    /**
     * æ ¹æ®è‹±æ–‡åç§°èŽ·å–ä¸šåŠ¡ç±»åž‹
     * @param id è‹±æ–‡åç§°
     * @return ä¸šåŠ¡ç±»åž‹ï¼Œå¦‚æžœä¸å­˜åœ¨ä¼šè¿”å›žnull
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    BtmTypeVO getBtmTypeById(String id) throws ServiceException;
    /**
     * æ ¹æ®è‹±æ–‡åç§°æ‰¹é‡èŽ·å–ä¸šåŠ¡ç±»åž‹
     * @param ids è‹±æ–‡åç§°ï¼Œä½¿ç”¨é€—号分隔
     * @return  ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    List<BtmTypeVO> listBtmTypeByIds(String ids) throws ServiceException;
    /**
     * æ ¹æ®è‹±æ–‡åç§°é›†åˆæ‰¹é‡èŽ·å–ä¸šåŠ¡ç±»åž‹
     * @param idCollection è‹±æ–‡åç§°é›†åˆ
     * @return ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    List<BtmTypeVO> listBtmTypeByIdCollection(Collection<String> idCollection) throws ServiceException;
    /**
     * æ ¹æ®è‹±æ–‡åç§°é›†åˆæ‰¹é‡èŽ·å–ä¸šåŠ¡ç±»åž‹çš„æ•°æ®å¯¹è±¡
     * @param idCollection è‹±æ–‡åç§°é›†åˆ
     * @return ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     * @throws ServiceException  å‚数为空或者查询出错时会抛出错误
     */
    List<BtmType> listBtmTypeDOByIdCollection(Collection<String> idCollection) throws ServiceException;
    /**
     * æ ¹æ®ä¸»é”®é›†åˆæ‰¹é‡èŽ·å–ä¸šåŠ¡ç±»åž‹çš„æ•°æ®å¯¹è±¡
     * @param oidCollection ä¸»é”®
     * @return ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     * @throws ServiceException  å‚数为空或者查询出错时会抛出错误
     */
    List<BtmType> listBtmTypeDOByOidCollection(Collection<String> oidCollection) throws ServiceException;
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹ä¸»é”®èŽ·å–ä¸­æ–‡åç§°
     * @param oid ä¸šåŠ¡ç±»åž‹ä¸»é”®ï¼Œå¤šä¸ªä½¿ç”¨é€—å·åˆ†éš”
     * @return ä¸­æ–‡åç§°ï¼Œå¦‚果不存在会返回null;多个会以逗号分隔
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    String getNameByOid(String oid) throws ServiceException;
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°èŽ·å–ä¸­æ–‡åç§°
     * @param id ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°
     * @return ä¸­æ–‡åç§°ï¼Œå¦‚果不存在会返回null;多个会以逗号分隔
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    String getNameById(String id) throws ServiceException;
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹ä¸»é”®èŽ·å–å…³è”çš„æ‰€æœ‰å±žæ€§å¯¹è±¡
     * @param oid ä¸šåŠ¡ç±»åž‹ä¸»é”®
     * @return æ‰€æœ‰çš„属性对象,包括系统属性
     * @throws ServiceException ä¸šåŠ¡ç±»åž‹ä¸å­˜åœ¨ï¼Œå‚æ•°ä¸ºç©ºæˆ–æŸ¥è¯¢å‡ºé”™æ—¶ä¼šæŠ›å‡ºé”™è¯¯
     */
    List<BtmTypeAttributeVO> listHasAttributesByOid(String oid) throws ServiceException;
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°èŽ·å–å…³è”çš„æ‰€æœ‰å±žæ€§å¯¹è±¡
     * @param id ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°
     * @return æ‰€æœ‰çš„属性对象,包括系统内置属性
     * @throws ServiceException ä¸šåŠ¡ç±»åž‹ä¸å­˜åœ¨ï¼Œå‚æ•°ä¸ºç©ºæˆ–è€…æŸ¥è¯¢å‡ºé”™æ—¶ä¼šæŠ›å‡ºå¼‚å¸¸
     */
    List<BtmTypeAttributeVO> listHasAttributeById(String id) throws ServiceException;
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹ä¸»é”®èŽ·å–å…³è”çš„æ‰€æœ‰å±žæ€§å¯¹è±¡
     *
     * @param oidCollection ä¸šåŠ¡ç±»åž‹ä¸»é”®é›†åˆ
     * @return æ‰€æœ‰çš„属性对象,包括系统内置属性,key是业务类型主键,value是包含的属性
     * @throws ServiceException ä¸šåŠ¡ç±»åž‹ä¸å­˜åœ¨ï¼Œå‚æ•°ä¸ºç©ºæˆ–è€…æŸ¥è¯¢å‡ºé”™æ—¶ä¼šæŠ›å‡ºå¼‚å¸¸
     */
    Map<String,List<BtmTypeAttributeVO>> batchListHasAttributesByOidCollection(Collection<String> oidCollection) throws ServiceException;
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°èŽ·å–å…³è”çš„æ‰€æœ‰å±žæ€§å¯¹è±¡
     *
     * @param idCollection ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°é›†åˆ
     * @return æ‰€æœ‰çš„属性对象,包括系统内置属性,key是业务类型主键,value是包含的属性
     * @throws ServiceException ä¸šåŠ¡ç±»åž‹ä¸å­˜åœ¨ï¼Œå‚æ•°ä¸ºç©ºæˆ–è€…æŸ¥è¯¢å‡ºé”™æ—¶ä¼šæŠ›å‡ºå¼‚å¸¸
     */
    Map<String,List<BtmTypeAttributeVO>> batchListHasAttributesByIdCollection(Collection<String> idCollection) throws ServiceException;
    /**
     * èŽ·å–ä½¿ç”¨ä¸šåŠ¡ç±»åž‹çš„é“¾æŽ¥ç±»åž‹
     * @param pkBtmType ä¸šåŠ¡ç±»åž‹ä¸»é”®
     * @return å¼•用的链接类型
     * @throws ServiceException å‚数为空或者查询出错时会抛出异常
     */
    List<LinkTypeVO> listLinkTypeForUsedBtmType(String pkBtmType) throws ServiceException;
    /**
     * æ ¡éªŒä¸šåŠ¡ç±»åž‹æ˜¯å¦è¢«å¼•ç”¨
     * @param pkBtmType ä¸šåŠ¡ç±»åž‹çš„ä¸»é”®
     * @return true表示被引用, false表示没有被引用
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    boolean checkBtmTypeUsed(String pkBtmType) throws ServiceException;
    /**
     * æ ¡éªŒä¸šåŠ¡ç±»åž‹æ˜¯å¦è¢«å¼•ç”¨
     *
     * @param oidCollection ä¸šåŠ¡ç±»åž‹çš„ä¸»é”®é›†åˆ
     * @return true表示被引用, false表示没有被引用
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    boolean checkBtmTypeUseds(Collection<String> oidCollection) throws ServiceException;
    /**
     * åˆ é™¤ä¸šåŠ¡ç±»åž‹
     * @param btmTypeVO ä¸šåŠ¡ç±»åž‹æ˜¾ç¤ºå¯¹è±¡
     * @param autoDeleteTable è‡ªåŠ¨åˆ é™¤è¡¨æ ¼
     * @throws ServiceException å¦‚果业务类型被引用,或者删除出错时会抛出异常
     */
    void delete(BtmTypeVO btmTypeVO, boolean autoDeleteTable) throws ServiceException;
    /**
     * æ‰¹é‡åˆ é™¤ä¸šåŠ¡ç±»åž‹
     * @param btmTypeVOList è¦åˆ é™¤çš„业务类型显示对象列表
     * @param autoDeleteTable è‡ªåŠ¨åˆ é™¤è¡¨æ ¼
     * @throws ServiceException å¦‚果业务类型被引用,或者删除出错时会抛出异常
     */
    void batchDelete(List<BtmTypeVO> btmTypeVOList, boolean autoDeleteTable) throws ServiceException;
    /**
     * æ£€æŸ¥ä¸šåŠ¡ç±»åž‹ä¸Žæ•°æ®åº“è¡¨æ˜¯å¦ä¸€è‡´
     * @param pkBtmType ä¸šåŠ¡ç±»åž‹ä¸»é”®
     * @return ä¸åŒçš„属性信息
     * @throws ServiceException å‚数为空或者查询出错时会抛出异常
     */
    List<ModifyAttributeInfo> checkDbTableSame(String pkBtmType) throws ServiceException;
    /**
     * èŽ·å–æ•°æ®åº“è¡¨ï¼Œæ”¯æŒä¸šåŠ¡ç±»åž‹å’Œè§†å›¾
     * @param id ä¸šåŠ¡ç±»åž‹çš„åç§°
    * @param domain é¢†åŸŸåç§°
     * @return æ•°æ®åº“表的名称
     * @throws ServiceException å‚数为空的时候会抛出异常
     */
    String getTableName(String id,String domain) throws ServiceException;
   /**
    * æ–°å¢žæˆ–修改业务类型
    * @param btmTypeDTO ä¸šåŠ¡ç±»åž‹é¡µé¢ä¼ è¾“å¯¹è±¡
    * @param autoCreateTable è‡ªåŠ¨åˆ›å»ºè¡¨
    * @return æ‰§è¡Œç»“æžœ
    */
   R submit(BtmTypeDTO btmTypeDTO,boolean autoCreateTable);
}