package com.eactive.eai.batch.flowController;

import com.eactive.eai.common.dao.Keys;
/**
* 1. 기능 : FlowControllerDAO에서 사용하는 SQL Query를 정의한 Interface
* 2. 처리 개요 :
*     - FlowControllerDAO에서 사용하는 SQL Query를 정의한 Interface
* 3. 주의사항
*
* @author  : YCLee 05/12/22
* @version : v 1.0.0
* @see :
* @since   :JDK v1.4.2
*/
public interface FlowControllerQuery
{
    /**
     * 업무 기본 정보를 조회하는 Query
     */
    public static final String GET_ALL_TARGETS = "select A.BjobBzwkDstcd, A.BjobBzwkName, LTRIM(RTRIM(B.OsidInstiDstcd))  AS OsidInstiDstcd, B.OsidInstiName \n" +
                                                 "from   " + Keys.TABLE_OWNER + "TSEAIBJ02 A, " + Keys.TABLE_OWNER + "TSEAIBJ06 B \n" +
												 "where  A.BjobBzwkDstcd = B.BjobBzwkDstcd \n" +
												 "and    A.ThisMsgUseYn = '1' \n" +
												 "and    B.ThisMsgUseYn = '1' \n";

	/**
     * 업무 기본 정보를 조회하는 Query
     */
    public static final String GET_BATCH_TARGETS = "select A.BjobBzwkDstcd, A.BjobBzwkName, LTRIM(RTRIM(B.OsidInstiDstcd))  AS OsidInstiDstcd, B.OsidInstiName \n" +
                                                   "from   " + Keys.TABLE_OWNER + "TSEAIBJ02 A, " + Keys.TABLE_OWNER + "TSEAIBJ06 B \n" +
												   "where  A.BjobBzwkDstcd  = B.BjobBzwkDstcd \n" +
												   "and    B.BjobBzwkDstcd  like ?||'%' \n" +
												   "and    LTRIM(RTRIM(B.OsidInstiDstcd)) = ? \n"+
												   "and    A.ThisMsgUseYn   = '1' \n" +
												   "and    B.ThisMsgUseYn   = '1' \n";

    /**
     * 업무별 요구송수신 상세 연결 정보를 조회하는 Query
     */
    public static final String GET_DETAIL_DEMAND_TARGETS =
                        "select SysLnkgDstcd, LnkgIPInfoName, LnkgPortInfoName, LnkgID, LnkgPwd, ToutVal, TCirtLnkgStusCd \n" +
                        "from   " + Keys.TABLE_OWNER + "TSEAIBJ05 \n" +
                        "where  BjobBzwkDstcd like ?||'%' \n" +
						"and    LTRIM(RTRIM(OsidInstiDstcd)) = ? \n"+
                        "and    RqstRspnsDstcd = 'R' \n" +
						"and    ThisMsgUseYn   = '1' ";

    /**
     * 해당 요청의 현재 status를 반환한다.
     */
    public static final String GET_STATUS_CODE = "select MsgPrcssStusCd  "+
                                                 "from   " + Keys.TABLE_OWNER + "TSEAIBS04 \n" +
                                                 "where  BjobDmndMsgID = ? ";

	/**
	 * 응답수신 Flow Controller에서 시스템 장애 통보 및 회복 통보 전문을 받았을때 회선 상태를 update 한다.
     * 해당 대외기관의 요구송수신 연결정보 전체 update
	 */
	public static final String UPDATE_SYSTEM_CONN_LINE_STATUS =
		  "UPDATE " + Keys.TABLE_OWNER + "TSEAIBJ05 \n"
		+ "SET    TCirtLnkgStusCd = ? \n"
		+ "WHERE  BjobBzwkDstcd   LIKE ?||'%' \n"
        + "AND    LTRIM(RTRIM(OsidInstiDstcd))  = ? \n"
        + "AND    RqstRspnsDstcd  = 'R'";


}


