/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JKUejbGetKojiStateHaisohin
*   ソースファイル名：JKUejbGetKojiStateHaisohin.java
*   作成者          ：富士通
*   日付            ：2025年03月05日
*＜機能概要＞
*  配送対象物品の工事案件ステータスを取得する部品です。
*＜修正履歴＞
*   バージョン  修正日          修正者      修正内容
*   v74.0.0		2025/03/05		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.KU0011ETMsg;

public class JKUejbGetKojiStateHaisohin
{
	/**
	 * 配送対象物品_工事案件ステータス取得処理
	 * @param kktk_svc_kei_no 機器提供サービス契約番号
	 * @param kiki_chg_no 機器変更番号
	 * @return 工事案件ステータス
	 * @throws CAANException
	 */
	public static String getHaiso_KojiState(String kktk_svc_kei_no, String kiki_chg_no) throws CAANException
	{
		
		if (JKUCommonUtil.isNull(kktk_svc_kei_no) || JKUCommonUtil.isNull(kiki_chg_no))
		{
			return null;
		}
		
		// コネクション
        Connection con1 = null;
	    
	    // プリペアステートメント
	    PreparedStatement pstmt = null;
	    
	    // リザルトセット
	    ResultSet rsltQuery = null;
	    
	    
	    /******************** 
	     * SQL文の作成
	     ********************/
	    try
	    {
	    	//コネクション取得
	        con1 = JSYejbConnection.getConnection(KU0011ETMsg.getTableName());
	        
	        StringBuffer sql_Buff = new StringBuffer();
	        sql_Buff.append(" SELECT ")
	                .append("    KU0011.KOJIAK_STAT ")
	                .append(" FROM ")
	                .append("    DK_T_HAISO_TG_BPIN DK0021  ")
	                .append("    INNER JOIN KU_T_KOJIAK KU0011 ") 
	                .append("    ON DK0021.KOJIAK_NO = KU0011.KOJIAK_NO ") 
	                .append(" WHERE ")
	                .append("     DK0021.KKTK_SVC_KEI_NO = ? ")
	                .append(" AND DK0021.KIKI_CHG_NO = ? ")
	        		.append(" AND DK0021.MK_FLG = '0' ")
	        		.append(" AND KU0011.MK_FLG = '0' ");
	         
	         
	         //prepareStatementにSQL文をセット
	         pstmt = con1.prepareStatement(sql_Buff.toString());
	         
	         int i = 1;
	         
	         // パラメータの設定(回線使用契約番号を指定)
	         CAANJDBCUtil.setParam(pstmt, i++, kktk_svc_kei_no);
	         CAANJDBCUtil.setParam(pstmt, i++, kiki_chg_no);
	         
	         // ResultSetの取得
	         rsltQuery = pstmt.executeQuery();
	         
	         // 戻り値の判定
	         if (rsltQuery.next())
	         {
	            // 工事案件ステータスを取得する
	            return rsltQuery.getString(KU0011ETMsg.KOJIAK_STAT);
	         }
	         return null;
	      }
	      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;
	         }
	      }
	}
}
