/*******************************************************************************
*	 All Rights reserved,Copyright (c) K-Opticom 
********************************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JSYejbEKK0631B001TPDA
*	ソースファイル名：JSYejbEKK0631B001TPDA.java
*	作成者			：EK908608
*	日付			：2011年10月18日
*＜機能概要＞
*	SQLFacility
*	テンプレートDBアクセス部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00
*	v5.00.00	2013/12/04	FJ）辛	    OM-2013-0001712
*	v9.00.00	2014/06/12	FJ）高田	IT2-2014-0000221
********************************************************************************/

package eo.ejb.cbs.sqlf;

import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.base.CAANSQLFacility;
import com.fujitsu.futurity.model.base.CAANRuntimeException;
import com.fujitsu.futurity.model.base.CAANJDBCUtil;
import com.fujitsu.futurity.model.ejb.common.JSYejbConnection;
import com.fujitsu.futurity.model.ejb.common.JSYejbLog;
import com.fujitsu.futurity.model.ejb.common.StatusCodes;
import com.fujitsu.futurity.model.ejb.common.fw.TemplateDBAccessHandler;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import eo.common.constant.JPCModelConstant;
import eo.ejb.cbs.cbsmsg.EKK0631B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0631B001CBSMsg1List;
import eo.ejb.cbm.entity.KK0631ETMsg;
import eo.ejb.common.JKKModelCommon;
import eo.ejb.common.JKKejbPagingUtil;

/**
*
*  テンプレートDBアクセス部品　EKK0631B001_SQLF<br>
*  入力された項目からSQL文を動的に組み立て、<br>
*  検索結果をCBSMsgにセットします。<br>
*/
public class JSYejbEKK0631B001TPDA extends CAANSQLFacility implements TemplateDBAccessHandler{
	
	/**
	 * コンストラクタ
	 */
	public JSYejbEKK0631B001TPDA()	{
	}
	
	/**
	*   EKK0631B001_SQLF<br>
	*   @param inMsg    入力値の格納されたCBSMsg <br>
	*   @return void
	*/
	public void invoke(CAANMsg inMsg,AgentDispatchContext inContext){
		
		// コネクション
		Connection con1 = null;
		
		// プリペアステートメント
		PreparedStatement pstmt_Count = null;
		PreparedStatement pstmt_Page = null;
		
		// リザルトセット
		ResultSet rsltQuery_Count = null;
		ResultSet rsltQuery_Page = null;
		
		//** OM-2013-1712 対応 **/
		boolean etcCondition = false;
		
		/******************** 
		 * SQL文の作成
		 ********************/

		try{
			
			//コネクション取得
			con1 = JSYejbConnection.getConnection(KK0631ETMsg.getTableName());
			
			// SQL文の作成(カウント用)
			// (1)
			StringBuffer sql_Buff1 = new StringBuffer();
			sql_Buff1.append(" SELECT  ")
					.append("     COUNT(*) AS CNT  ");
			
			//**【OM-2013-0001712】対応 START**/
			// SQLベース５(FROM句)
			StringBuffer sql_BuffBase5 = new StringBuffer();
			sql_BuffBase5.append(" FROM KK_T_SUPPORT KK0631 ")
				//**【IT2-2014-0000221】 対応 START**/
						 .append(" LEFT OUTER JOIN KK_T_SUPPORT_UCWK KK0641 ")
						 .append(" ON KK0641.SUPPORT_NO = KK0631.SUPPORT_NO ")
				//**【IT2-2014-0000221】 対応 END**/
						 .append(" WHERE KK0631.SUPPORT_CD = ? ")
				//**【IT2-2014-0000221】 対応 START**/
						 .append("   AND KK0641.MK_FLG = '0' ")
				//**【IT2-2014-0000221】 対応 END**/
						 .append("   AND KK0631.MK_FLG = '0' ");
			//**【OM-2013-0001712】対応 END**/
						 
			// SQL文の作成(ページングヘッダ)
			// (2)
			StringBuffer sql_Buff2 = new StringBuffer();
			sql_Buff2.append(" SELECT * ")
					.append(" FROM ( ")
					.append("     SELECT ALL_SELECT.*, ROWNUM AS LINE ")
					.append("     FROM ( ");
			
			// SQLベース１(SELECT句)
			StringBuffer sql_BuffBase1 = new StringBuffer();
			sql_BuffBase1.append(" SELECT KK0631.SUPPORT_YMD ")
					.append("       ,KK0631.SUPPORT_STAT ")
					.append("       ,KK0631.SUPPORT_NO ")
					.append("       ,CK0011.EOID ")
					.append("       ,KK0631.SVC_KEI_NO ")
					.append("       ,KK0651.VSIT_SUPPORT_COMP_NM ")
					.append("       ,KK0641.VSIT_SUPPORT_WORK_KMK_NM ")
					.append("       ,KK0641.VSIT_SUPPORT_WORK_AMNT ")
					.append("       ,KK0641.RMT_SUPPORT_WORK_KMK_NM ")
					.append("       ,KK0641.RMT_SUPPORT_PRC ")
					.append("       ,KK0631.TAIO_KIROK_NO ")
					.append("       ,KK0631.VSIT_SUPPORT_SBT_CD ")
					.append("       , (SELECT ZM0171_01.CD_DIV_NM ")
					.append("           FROM   ZM_M_CD_NM_KANRI ZM0171_01 ")
					.append("           WHERE  ZM0171_01.CD_SBT_CD = 'CD01587' ")
					.append("           AND    ZM0171_01.CD_DIV = KK0631.VSIT_SUPPORT_SBT_CD ")
					.append("           AND    ZM0171_01.MK_FLG = '0') AS VSIT_SUPPORT_SBT_CD_NM ")
					.append("       ,KK0631.VSIT_SPRT_COMP_RNK_STAT_CD ")
					.append("       , (SELECT ZM0171_02.CD_DIV_NM ")
					.append("           FROM   ZM_M_CD_NM_KANRI ZM0171_02 ")
					.append("           WHERE  ZM0171_02.CD_SBT_CD = 'CD01588' ")
					.append("           AND    ZM0171_02.CD_DIV = KK0631.VSIT_SPRT_COMP_RNK_STAT_CD ")
					.append("           AND    ZM0171_02.MK_FLG = '0') AS VSIT_SPRT_COMP_RNK_STAT_CD_NM ");
			// SQLベース２(FROM句)
			StringBuffer sql_BuffBase2 = new StringBuffer();
			sql_BuffBase2.append(" FROM KK_T_SUPPORT KK0631 ")
					.append("   INNER JOIN KK_T_SVC_KEI KK0081 ")
					.append("           ON KK0081.SVC_KEI_NO = KK0631.SVC_KEI_NO  ")
					.append("   INNER JOIN CK_T_CUST CK0011 ")
					.append("           ON CK0011.SYSID = KK0081.SYSID  ")
					.append("   LEFT OUTER JOIN KK_T_SUPPORT_UCWK KK0641 ")
					.append("           ON KK0641.SUPPORT_NO = KK0631.SUPPORT_NO ")
					.append("          AND KK0641.MK_FLG = '0' ")
					.append("   LEFT OUTER JOIN  ")
					.append("             (SELECT KK0651_01.* ")
					.append("              FROM  KK_M_VSIT_SPRT_COMP KK0651_01  ")
					.append("              WHERE (KK0651_01.VSIT_SUPPORT_COMP_CD, KK0651_01.RSV_APLY_YMD || KK0651_01.GENE_ADD_DTM) = ")
					.append("                    (SELECT KK0651_01_GENE.VSIT_SUPPORT_COMP_CD, MAX(KK0651_01_GENE.RSV_APLY_YMD || KK0651_01_GENE.GENE_ADD_DTM) ")
					.append("                     FROM KK_M_VSIT_SPRT_COMP KK0651_01_GENE ")
					.append("                     WHERE KK0651_01_GENE.VSIT_SUPPORT_COMP_CD = KK0651_01.VSIT_SUPPORT_COMP_CD ")
					.append("                     AND   KK0651_01_GENE.RSV_APLY_YMD <= ? ")
					.append("                     AND   KK0651_01_GENE.MK_FLG = '0' ")
					.append("                     GROUP BY KK0651_01_GENE.VSIT_SUPPORT_COMP_CD ")
					.append("                     )) KK0651 ")
					.append("           ON KK0651.VSIT_SUPPORT_COMP_CD = KK0631.VSIT_SUPPORT_COMP_CD  ")
					.append(" WHERE KK0631.SUPPORT_CD = ? ");
			// 検索条件を追加（KEY_SUPPORT_NO）
			if (!inMsg.isNull(EKK0631B001CBSMsg.KEY_SUPPORT_NO)){
				sql_BuffBase2.append("   AND KK0631.SUPPORT_NO = ? ");
				//**【OM-2013-0001712】対応**/
				etcCondition = true;
			}
			// 検索条件を追加（KEY_EOID）
			if(!inMsg.isNull(EKK0631B001CBSMsg.KEY_EOID)){
				sql_BuffBase2.append("   AND CK0011.EOID = ? ");
				//**【OM-2013-0001712】対応**/
				etcCondition = true;
			}
			// 検索条件を追加（KEY_SVC_KEI_NO）
			if(!inMsg.isNull(EKK0631B001CBSMsg.KEY_SVC_KEI_NO)){
				sql_BuffBase2.append("   AND KK0631.SVC_KEI_NO = ? ");
				//**【OM-2013-0001712】対応**/
				etcCondition = true;
			}
			// 検索条件を追加（KEY_VSIT_SUPPORT_COMP_CD）
			if(!inMsg.isNull(EKK0631B001CBSMsg.KEY_VSIT_SUPPORT_COMP_CD)){
				sql_BuffBase2.append("   AND KK0631.VSIT_SUPPORT_COMP_CD = ? ");
				//**【OM-2013-0001712】対応**/
				etcCondition = true;
			}
			// 検索条件を追加（KEY_SUPPORT_YMD_FROM）
			if(!inMsg.isNull(EKK0631B001CBSMsg.KEY_SUPPORT_YMD_FROM)){
				sql_BuffBase2.append("   AND KK0631.SUPPORT_YMD >= ? ");
				//**【OM-2013-0001712】対応**/
				etcCondition = true;
			}
			// 検索条件を追加（KEY_SUPPORT_YMD_TO）
			if(!inMsg.isNull(EKK0631B001CBSMsg.KEY_SUPPORT_YMD_TO)){
				sql_BuffBase2.append("   AND KK0631.SUPPORT_YMD <= ? ");
				//**【OM-2013-0001712】対応**/
				etcCondition = true;
			}
			// 検索条件を追加（KEY_TAIO_KIROK_NO）
			if(!inMsg.isNull(EKK0631B001CBSMsg.KEY_TAIO_KIROK_NO)){
				sql_BuffBase2.append("   AND KK0631.TAIO_KIROK_NO = ? ");
				//**【OM-2013-0001712】対応**/
				etcCondition = true;
			}
			sql_BuffBase2.append("   AND KK0631.MK_FLG = '0' ")
					.append("   AND (KK0081.SVC_KEI_NO, KK0081.RSV_APLY_YMD || KK0081.GENE_ADD_DTM) = ")
					.append("       (SELECT KK0081_GENE.SVC_KEI_NO, MAX(KK0081_GENE.RSV_APLY_YMD || KK0081_GENE.GENE_ADD_DTM) ")
					.append("        FROM KK_T_SVC_KEI KK0081_GENE ")
					.append("        WHERE KK0081_GENE.SVC_KEI_NO = KK0081.SVC_KEI_NO ")
					.append("          AND KK0081_GENE.RSV_APLY_YMD <= ? ")
					.append("          AND KK0081_GENE.RSV_APLY_CD = '2' ")
					.append("          AND KK0081_GENE.MK_FLG = '0' ")
					.append("        GROUP BY KK0081_GENE.SVC_KEI_NO) ")
					.append("   AND (CK0011.SYSID, CK0011.RSV_APLY_YMD || CK0011.GENE_ADD_DTM) = ")
					.append("       (SELECT CK0011_GENE.SYSID, MAX(CK0011_GENE.RSV_APLY_YMD || CK0011_GENE.GENE_ADD_DTM) ")
					.append("        FROM CK_T_CUST CK0011_GENE ")
					.append("        WHERE CK0011_GENE.SYSID = CK0011.SYSID ")
					.append("          AND CK0011_GENE.RSV_APLY_YMD <= ? ")
					.append("          AND CK0011_GENE.RSV_APLY_CD = '2' ")
					.append("          AND CK0011_GENE.MK_FLG = '0' ")
					.append("        GROUP BY CK0011_GENE.SYSID) ");
				
			// SQLベース３(ORDER BY句)
			StringBuffer sql_BuffBase3 = new StringBuffer();
			sql_BuffBase3.append(" ORDER BY KK0631.SUPPORT_YMD DESC ")
					.append("         ,CK0011.EOID ASC ")
					.append("         ,KK0631.SVC_KEI_NO ASC ");
			
			// SQL文の作成(ページングフッタ)
			// (3)
			StringBuffer sql_Buff3 = new StringBuffer();
			sql_Buff3.append(" ) ALL_SELECT ")
					.append(" ) PAGE_SELECT ")
					.append(" WHERE PAGE_SELECT.LINE BETWEEN ? AND ? ")
					.append(" ORDER BY PAGE_SELECT.LINE ASC ");
			
			//**【OM-2013-0001712】対応 START**/
			// SQL文の組立て(件数取得用) (1) + (ベース２)
			StringBuffer sql_Count = new StringBuffer();
			
			if(etcCondition)
			{
				sql_Count.append(sql_Buff1)
					.append(sql_BuffBase2);
			}
			else
			{
				sql_Count.append(sql_Buff1)
				.append(sql_BuffBase5);
			}
			//**【OM-2013-0001712】対応 END**/
			
			//prepareStatementにSQL文をセット
			pstmt_Count = con1.prepareStatement(sql_Count.toString());
			
			//ログ出力(SQL文の出力_件数取得用)
			JSYejbLog.outlog(inContext, JSYejbLog.DBACCESS, this.getClass(), sql_Count);
			
			// PreparedStatementの指定されたパラメータカラムに 指定された値を設定
			if ( "1".equals( inMsg.getString(EKK0631B001CBSMsg.FUNC_CODE) ) ) {
				
				if(etcCondition)
				{
					// パラメータの設定（共通化メソッド呼び出し）
					setParam(pstmt_Count, inMsg);
				}
				else
				{
					// パラメータの設定（共通化メソッド呼び出し）
					setParam2(pstmt_Count, inMsg);
				}
			}
			
			// ResultSetの取得
			rsltQuery_Count = pstmt_Count.executeQuery();
			
			// 総検索件数を取得する
			Long iDataCnt = 0L;
			if (rsltQuery_Count.next())
			{
				iDataCnt = rsltQuery_Count.getLong("CNT");
			}
			
			// 表示件数
			Long iDispNum = inMsg.getStringAsLong(EKK0631B001CBSMsg.DISPLAY_NUM);
			
			// 表示ページ番号
			Long iDispPage = inMsg.getStringAsLong(EKK0631B001CBSMsg.DISPLAY_PAGE_NUM);
			
			// 総ページ数
			String strMaxPage = JKKejbPagingUtil.calcTotalPage(iDataCnt, iDispNum);
			
			//**【OM-2013-0001712】対応 START**/
			// 最大取得件数
			long lMaxNum = 0;
			boolean cntChk = false;
			if(inMsg.getString(EKK0631B001CBSMsg.MAX_SEARCH_NUM) != "" && inMsg.getString(EKK0631B001CBSMsg.MAX_SEARCH_NUM) != null)
			{
				lMaxNum = inMsg.getStringAsLong(EKK0631B001CBSMsg.MAX_SEARCH_NUM);
				cntChk = true;
			}
			//**【OM-2013-0001712】対応 END**/
			
			// 共通部に値を設定する
			// 総検索件数
			inMsg.set(EKK0631B001CBSMsg.TOTAL_SEARCH_NUM, String.valueOf(iDataCnt));
			// 総ページ数
			inMsg.set(EKK0631B001CBSMsg.TOTAL_PAGE_NUM, strMaxPage);
			
			// 取得結果が0件の場合は表示ページ該当なしエラー
			if (0L == iDataCnt)
			{
				inMsg.set(EKK0631B001CBSMsg.SEARCH_ERR_FLG, JPCModelConstant.SEARCH_ERR_FLG_NODATA);
				return;
			}
			
			//**【OM-2013-0001712】対応 START**/
			if(cntChk)
			{
				// 最大取得件数を超えた場合エラー
				if (iDataCnt > lMaxNum)
				{
					inMsg.set(EKK0631B001CBSMsg.SEARCH_ERR_FLG, JPCModelConstant.SEARCH_ERR_FLG_OVERMAX);
					return;
				}
			}
			//**【OM-2013-0001712】対応 END**/
			
			// SQL文の組立て(項目取得・ページング用)(2) + (ベース１) + (ベース２) + (ベース３) + (3)
			StringBuffer sql_Page = new StringBuffer();
			sql_Page.append(sql_Buff2)
					.append(sql_BuffBase1)
					.append(sql_BuffBase2)
					.append(sql_BuffBase3)
					.append(sql_Buff3);
			
			// prepareStatementにSQL文をセット
			pstmt_Page = con1.prepareStatement(sql_Page.toString());
			
			// ログ出力(SQL文の出力)
			JSYejbLog.outlog(inContext, JSYejbLog.DBACCESS, this.getClass(), sql_Page);
			
			// 検索対象を算出する
			long[] iPages = JKKejbPagingUtil.calcSearchRows(iDispPage, iDispNum);
			long iRowSta = iPages[0];
			long iRowEnd = iPages[1];
			
			// PreparedStatementの指定されたパラメータカラムに 指定された値を設定
			if ( "1".equals( inMsg.getString(EKK0631B001CBSMsg.FUNC_CODE) ) ) {
				
				// パラメータの設定（共通化メソッド呼び出し）
				int iPCnt = setParam(pstmt_Page, inMsg);
				// パラメータの設定(検索開始行を指定)
				CAANJDBCUtil.setParam(pstmt_Page, ++iPCnt, iRowSta);
				// パラメータの設定(検索終了行を指定)
				CAANJDBCUtil.setParam(pstmt_Page, ++iPCnt, iRowEnd);
			}
			
			// ResultSetの取得
			rsltQuery_Page = pstmt_Page.executeQuery();
			
			// EKK0631B001CBSMsgの明細にセットする項目
			String[] msgKeyList1 = {
					  EKK0631B001CBSMsg1List.SUPPORT_YMD
					, EKK0631B001CBSMsg1List.SUPPORT_STAT
					, EKK0631B001CBSMsg1List.SUPPORT_NO
					, EKK0631B001CBSMsg1List.EOID
					, EKK0631B001CBSMsg1List.SVC_KEI_NO
					, EKK0631B001CBSMsg1List.VSIT_SUPPORT_COMP_NM
					, EKK0631B001CBSMsg1List.VSIT_SUPPORT_WORK_KMK_NM
					, EKK0631B001CBSMsg1List.VSIT_SUPPORT_WORK_AMNT
					, EKK0631B001CBSMsg1List.RMT_SUPPORT_WORK_KMK_NM
					, EKK0631B001CBSMsg1List.RMT_SUPPORT_PRC
					, EKK0631B001CBSMsg1List.TAIO_KIROK_NO
					, EKK0631B001CBSMsg1List.VSIT_SUPPORT_SBT_CD
					, EKK0631B001CBSMsg1List.VSIT_SUPPORT_SBT_CD_NM
					, EKK0631B001CBSMsg1List.VSIT_SPRT_COMP_RNK_STAT_CD
					, EKK0631B001CBSMsg1List.VSIT_SPRT_COMP_RNK_STAT_CD_NM
			};
			
			// 明細に処理結果(ResultSet)をマッピング
			CAANMsg[] outMsg1 = mapMessageList(rsltQuery_Page,msgKeyList1,"eo.ejb.cbs.cbsmsg.EKK0631B001CBSMsg1List",0);
			// inMsg(CBSMsg)に明細をセット
			inMsg.set("EKK0631B001CBSMsg1List", outMsg1);
			
			// 取得結果が0件の場合は表示ページ該当なしエラー
			if (0L == outMsg1.length)
			{
				inMsg.set(EKK0631B001CBSMsg.SEARCH_ERR_FLG, JPCModelConstant.SEARCH_ERR_FLG_NODATA);
				return;
			}
			

		} catch(SQLException e) {
			inMsg.set(EKK0631B001CBSMsg.STATUS, StatusCodes.FIND_DB_ERR);
			throw new CAANRuntimeException(e);
		} finally {
			// 資源の解放
			try{
				if(rsltQuery_Count != null){
					rsltQuery_Count.close();
				}
				if(rsltQuery_Page != null){
					rsltQuery_Page.close();
				}
				if(pstmt_Count != null){
					pstmt_Count.close();
				}
				if(pstmt_Page != null){
					pstmt_Page.close();
				}
				if(con1 != null){
					closeConnection(con1);
				}
			}catch(SQLException e){
				inMsg.set(EKK0631B001CBSMsg.STATUS, StatusCodes.FIND_DB_ERR);
				throw new CAANRuntimeException(e);
			}
		}
	}
	
	/**
	 * 入力値および運用日付をパラメータに設定します。
	 * 
	 * @param pstmt プリペアステートメント
	 * @param inMsg 入力値の格納されたCBSMsg
	 * @return パラメータの設定数
	 * @throws SQLException
	 */
	private static int setParam(PreparedStatement pstmt, CAANMsg inMsg) throws SQLException{
		
		int iPCnt = 0;

		// パラメータの設定(運用日付を指定)
		CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
		// パラメータの設定(ＫＥＹ＿サポートコードを指定)
		CAANJDBCUtil.setParam(pstmt, ++iPCnt, inMsg.getObject(EKK0631B001CBSMsg.KEY_SUPPORT_CD));
		// パラメータの設定(ＫＥＹ＿サポート番号を指定)
		if (!inMsg.isNull(EKK0631B001CBSMsg.KEY_SUPPORT_NO)){
			CAANJDBCUtil.setParam(pstmt, ++iPCnt, inMsg.getObject(EKK0631B001CBSMsg.KEY_SUPPORT_NO));
		}
		// パラメータの設定(ＫＥＹ＿ｅｏＩＤを指定)
		if (!inMsg.isNull(EKK0631B001CBSMsg.KEY_EOID)){
			CAANJDBCUtil.setParam(pstmt, ++iPCnt, inMsg.getObject(EKK0631B001CBSMsg.KEY_EOID));
		}
		// パラメータの設定(ＫＥＹ＿サービス契約番号を指定)
		if (!inMsg.isNull(EKK0631B001CBSMsg.KEY_SVC_KEI_NO)){
			CAANJDBCUtil.setParam(pstmt, ++iPCnt, inMsg.getObject(EKK0631B001CBSMsg.KEY_SVC_KEI_NO));
		}
		// パラメータの設定(ＫＥＹ＿訪問サポート会社コードを指定)
		if (!inMsg.isNull(EKK0631B001CBSMsg.KEY_VSIT_SUPPORT_COMP_CD)){
			CAANJDBCUtil.setParam(pstmt, ++iPCnt, inMsg.getObject(EKK0631B001CBSMsg.KEY_VSIT_SUPPORT_COMP_CD));
		}
		// パラメータの設定(ＫＥＹ＿サポート年月日（ＦＲＯＭ）を指定)
		if (!inMsg.isNull(EKK0631B001CBSMsg.KEY_SUPPORT_YMD_FROM)){
			CAANJDBCUtil.setParam(pstmt, ++iPCnt, inMsg.getObject(EKK0631B001CBSMsg.KEY_SUPPORT_YMD_FROM));
		}
		// パラメータの設定(ＫＥＹ＿サポート年月日（ＴＯ）を指定)
		if (!inMsg.isNull(EKK0631B001CBSMsg.KEY_SUPPORT_YMD_TO)){
			CAANJDBCUtil.setParam(pstmt, ++iPCnt, inMsg.getObject(EKK0631B001CBSMsg.KEY_SUPPORT_YMD_TO));
		}
		// パラメータの設定(ＫＥＹ＿対応記録番号を指定)
		if (!inMsg.isNull(EKK0631B001CBSMsg.KEY_TAIO_KIROK_NO)){
			CAANJDBCUtil.setParam(pstmt, ++iPCnt, inMsg.getObject(EKK0631B001CBSMsg.KEY_TAIO_KIROK_NO));
		}
		// パラメータの設定(運用日付を指定)
		CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
		// パラメータの設定(運用日付を指定)
		CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
		
		return iPCnt;
		
	}
	/**
	 * 入力値および運用日付をパラメータに設定します。
	 * 
	 * @param pstmt プリペアステートメント
	 * @param inMsg 入力値の格納されたCBSMsg
	 * @return パラメータの設定数
	 * @throws SQLException
	 */
	private static int setParam2(PreparedStatement pstmt, CAANMsg inMsg) throws SQLException{
		
		int iPCnt = 0;
		
		// パラメータの設定(ＫＥＹ＿サポートコードを指定)
		CAANJDBCUtil.setParam(pstmt, ++iPCnt, inMsg.getObject(EKK0631B001CBSMsg.KEY_SUPPORT_CD));
		
		return iPCnt;
		
	}
}
