package com.eactive.eai.batch.telegram;

import com.eactive.eai.common.dao.Keys;

/**
* 1. 기능 : EAIServerDAO에서 사용하는 SQL Query를 정의한 Interface
* 2. 처리 개요 :
*     - EAIServerDAO에서 사용하는 SQL Query를 정의한 Interface
* 3. 주의사항
*
* @author  : YCLee 05/12/22
* @version : v 1.0.0
* @see :
* @since   :JDK v1.4.2
*/
public interface TelegramQuery
{
    /**
     * 전문의 갯수를 반환하는 Query
     */
    public static final String GET_TELEGRAM_KEYS_COUNT =
        "SELECT COUNT(DISTINCT B.MsgGroupDstcd) AS count \n"
      + "FROM " + Keys.TABLE_OWNER + "TSEAIBM01 A,           \n"
      +           Keys.TABLE_OWNER + "TSEAIBM02 B            \n"
      + "WHERE A.MsgItemDsticName = B.MsgItemDsticName ";

    /**
     * 전문의 대표 Key 값을 반환하는 Query
     */
    public static final String GET_TELEGRAM_KEYS =
        "SELECT DISTINCT B.MsgGroupDstcd,     \n"
      + "       COUNT(B.MsgItemDsticName)     \n"
      + "FROM " + Keys.TABLE_OWNER + "TSEAIBM01 A,\n"
      +           Keys.TABLE_OWNER + "TSEAIBM02 B \n"
      + "WHERE  A.MsgItemDsticName = B.MsgItemDsticName\n"
      + "GROUP  BY B.MsgGroupDstcd ";

    /**
     * 해당 전문 Key에 해당하는 필드들을 조회하는 Query
     */
    public static final String GET_TELEGRAM_INFO =
        "SELECT A.MsgGroupDstcd     ,\n"
      + "       A.MsgClmnSeq        ,\n"
      + "       B.MsgClmnName       ,\n"
      + "       B.MsgClmnAttriPtrnCd,\n"
      + "       B.MsgClmnVal        ,\n"
      + "       A.MsgItemDsticName   \n"
      + "FROM " + Keys.TABLE_OWNER + "TSEAIBM02 A,\n"
      +           Keys.TABLE_OWNER + "TSEAIBM01 B \n"
      + "WHERE  A.MsgItemDsticName = b.MsgItemDsticName\n"
      + "AND    A.MsgGroupDstcd=? \n"
      + "ORDER BY A.MsgClmnSeq    \n";

    /**
     * 특정 전문의 필드 갯수를 반환하는 Query
     */
    public static final String GET_TELEGRAM_FIELD_COUNT =
        "SELECT COUNT(MsgGroupDstcd)       \n"
      + "FROM " + Keys.TABLE_OWNER + "TSEAIBM02\n"
      + "WHERE  MsgGroupDstcd = ?            ";

}