/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JZMejbTelRsvNoParts
*   ソースファイル名：JZMejbTelRsvNoParts.java
*   作成者          ：富士通
*   日付            ：2011年04月21日
*＜機能概要＞
*   電話番号予約番号を取得する部品です。
*＜修正履歴＞
*   バージョン	修正日		修正者		修正内容
*	v1.00		2011/04/21	FJ）日野	新規作成
*	v32.00.00	2017/05/29	FJ) 河邊	【OM-2017-0000488】オープンカーソルエラー
*
**********************************************************************/
package eo.ejb.common.edit;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.fujitsu.futurity.model.base.CAANConnectionMgr;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.ejb.common.JSYejbConnection;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;

import eo.ejb.cbm.entity.ZM0181ETMsg;

/**
 * <p>
 * 電話番号予約番号設定部品クラスです。
 * </p>
 * @author 富士通
 */
public class JZMejbTelRsvNoParts
{
	
	/**
	 * <p>
	 * 電話番号から電話番号予約番号の取得を行います。
	 * </p>
	 * @param inMsg 処理対象のメッセージキャリア
	 * @param inContext Agentから渡されたAgentDispatchContext
	 * @param telno 電話番号
	 * @param telnoRsvNo 電話番号予約番号
	 * @return 電話番号予約番号
	 */
	public static Object getTelnoRsvNo(CAANMsg inMsg, AgentDispatchContext inContext, Object telno, Object telnoRsvNo)
	{
		// コネクション
		Connection con = null;
		
		// プリペアステートメント
		PreparedStatement pstmt = null;
		
		// リザルトセット
		ResultSet rsltQuery = null;
		
		if(telnoRsvNo != null)
		{
			return (String)telnoRsvNo;
		}
		
		if(telno == null)
		{
			return null;
		}
		
// OM-2017-0000488 2017/05/29 MOD START
//		con =  JSYejbConnection.getConnection(ZM0181ETMsg.getTableName());
//		
//		// コネクションチェック
//		if (con == null)
//		{
//			return null;
//		}
//		
//		// SQL文の組み立て
//		StringBuffer sql_Buff = new StringBuffer();
//		sql_Buff.append(" SELECT TELNO_RSV_NO FROM ")
//				.append(ZM0181ETMsg.getTableName())
//				.append(" WHERE ")
//				.append(" TELNO = ? ")
//				.append(" AND MK_FLG = 0 ");
//		
//		try
//		{
//			try
//			{
//				//prepareStatementにSQL文をセット
//				pstmt = con.prepareStatement(sql_Buff.toString());
//				
//				// preparedStatementに指定された値を設定
//				pstmt.setString(1, telno.toString());
//				
//				// SQLを発行
//				rsltQuery = pstmt.executeQuery();
//				
//				if(rsltQuery.next())
//				{
//					// 値の取得
//					return rsltQuery.getString("TELNO_RSV_NO");
//				}
//				else
//				{
//					return null;
//				}
//			}
//			catch(SQLException e)
//			{
//				return null;
//			}
//			finally
//			{
//				// 資源を開放
//				if(rsltQuery != null)
//				{
//					rsltQuery.close();
//				}
//				if(pstmt != null)
//				{
//					pstmt.close();
//				}
//			}
//		}
//		catch(SQLException e)
//		{
//			return null;
//		}
		try
		{
			con =  JSYejbConnection.getConnection(ZM0181ETMsg.getTableName());
			
			// コネクションチェック
			if (con == null)
			{
				return null;
			}
			
			// SQL文の組み立て
			StringBuffer sql_Buff = new StringBuffer();
			sql_Buff.append(" SELECT TELNO_RSV_NO FROM ")
					.append(ZM0181ETMsg.getTableName())
					.append(" WHERE ")
					.append(" TELNO = ? ")
					.append(" AND MK_FLG = 0 ");
			
			try
			{
				try
				{
					//prepareStatementにSQL文をセット
					pstmt = con.prepareStatement(sql_Buff.toString());
					
					// preparedStatementに指定された値を設定
					pstmt.setString(1, telno.toString());
					
					// SQLを発行
					rsltQuery = pstmt.executeQuery();
					
					if(rsltQuery.next())
					{
						// 値の取得
						return rsltQuery.getString("TELNO_RSV_NO");
					}
					else
					{
						return null;
					}
				}
				catch(SQLException e)
				{
					return null;
				}
				finally
				{
					// 資源を開放
					if(rsltQuery != null)
					{
						rsltQuery.close();
					}
					if(pstmt != null)
					{
						pstmt.close();
					}
				}
			}
			catch(SQLException e)
			{
				return null;
			}
		}
		finally
		{
			if (con != null)
			{
				CAANConnectionMgr.getInstance().close(con);
			}
		}
		
// OM-2017-0000488 2017/05/29 MOD END
	}
}
