/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JKUejbTaknkikiExistCk
*   ソースファイル名：JKUejbTaknkikiExistCk.java
*   作成者          ：富士通
*   日付            ：2025年03月11日
*＜機能概要＞
*  工事案件対象宅内機器に条件に該当する機器提供サービス契約番号が存在するかを確認し結果を返却する部品です。
*＜修正履歴＞
*   バージョン	修正日       	修正者      修正内容
*   v74.0.0		2025/03/11		FJ)峰村		新規作成【ANK-4657-00-00】【eo】HGW導入対応フォロー６
*
**********************************************************************/
package eo.ejb.common;

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.CAANException;
import com.fujitsu.futurity.model.base.CAANJDBCUtil;
import com.fujitsu.futurity.model.ejb.common.JSYejbConnection;

import eo.common.util.JKUCommonUtil;
import eo.ejb.cbm.entity.KU0141ETMsg;

public class JKUejbTaknkikiExistCk
{
	/**
	 * 工事案件対象宅内機器の機器提供サービス契約番号存在チェック
	 * @param kojiak_no 工事案件番号
	 * @param kktk_svc_kei_no 機器提供サービス契約番号
	 * @return 工事案件対象宅内機器への存在有無（存在する場合：true 存在しない場合：false）
	 * @throws CAANException
	 */
	public static Boolean getTaknkiki_KikitkySvcNoExist(String kojiak_no, String kktk_svc_kei_no) throws CAANException
	{
		
		if (JKUCommonUtil.isNull(kojiak_no) || JKUCommonUtil.isNull(kktk_svc_kei_no))
		{
			return null;
		}
		
		// コネクション
        Connection con1 = null;
	    
	    // プリペアステートメント
	    PreparedStatement pstmt = null;
	    
	    // リザルトセット
	    ResultSet rsltQuery = null;
	    
	    
	    /******************** 
	     * SQL文の作成
	     ********************/
	    try
	    {
	    	//コネクション取得
	        con1 = JSYejbConnection.getConnection(KU0141ETMsg.getTableName());
	        
	        StringBuffer sql_Buff = new StringBuffer();
	        sql_Buff.append(" SELECT ")
	                .append("    KU0141.KKTK_SVC_KEI_NO ")
	                .append(" FROM ")
	                .append("    KU_T_KJAK_TG_TKKIKI KU0141  ")
	                .append(" WHERE ")
	                .append("     KU0141.KOJIAK_NO = ? ")
	                .append(" AND KU0141.KKTK_SVC_KEI_NO = ? ")
	                .append(" AND NOT KU0141.KOJIAK_TRGT_TAKNKIKI_STAT = '110' ")
	        		.append(" AND KU0141.MK_FLG = '0' ");
	         
	         //prepareStatementにSQL文をセット
	         pstmt = con1.prepareStatement(sql_Buff.toString());
	         
	         int i = 1;
	         
	         // パラメータの設定(回線使用契約番号を指定)
	         CAANJDBCUtil.setParam(pstmt, i++, kojiak_no);
	         CAANJDBCUtil.setParam(pstmt, i++, kktk_svc_kei_no);
	         
	         // ResultSetの取得
	         rsltQuery = pstmt.executeQuery();
	         
	         // 戻り値の判定
	         if (rsltQuery.next())
	         {
	        	 return true; //取得できた場合、true
	         }
	         else
	         {
	        	 return false; //取得できない場合、false
	         }
	      }
	      catch (SQLException e)
	      {
	         return null;
	      }
	      finally
	      {
	         // 資源の解放
	         try
	         {
	            if (rsltQuery != null)
	            {
	               rsltQuery.close();
	            }
	            if (pstmt != null)
	            {
	               pstmt.close();
	            }
	            if (con1 != null)
	            {
	               CAANConnectionMgr.getInstance().close(con1);
	            }
	         }
	         catch(SQLException e)
	         {
	            return null;
	         }
	      }
	}
}
