/*******************************************************************************
*	 All Rights reserved,Copyright (c) K-Opticom 
********************************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JSYejbETU0011B018TPDA
*	ソースファイル名：JSYejbETU0011B018TPDA.java
*	作成者			：EK909288
*	日付			：2012年06月29日
*＜機能概要＞
*	番ポ工事一覧照会（番ポ申込書タイプ）テンプレートDBアクセス部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	ｖ1.00.00
*   ｖ4.00.00   2013/01/15  FJ)         SQL改善
*   ｖ29.00.00  2017/05/10  FJ)河邊     【OM-2017-0000292】番ポ情報登録画面に過去に取消された番ポ工事情報が表示される
*
********************************************************************************/

package eo.ejb.cbs.sqlf;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.fujitsu.futurity.model.base.CAANJDBCUtil;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.base.CAANRuntimeException;
import com.fujitsu.futurity.model.base.CAANSQLFacility;
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.AgentDispatchContext;
import com.fujitsu.futurity.model.ejb.common.fw.TemplateDBAccessHandler;

import eo.common.constant.JPCModelConstant;
import eo.ejb.cbm.entity.TU0011ETMsg;
import eo.ejb.cbs.cbsmsg.ETU0011B018CBSMsg;
import eo.ejb.cbs.cbsmsg.ETU0011B018CBSMsg1List;
import eo.ejb.common.JTUModelCommon;

/**
*
*  テンプレートDBアクセス部品　ETU0011B018_SQLF<br>
*  入力された項目からSQL文を動的に組み立て、<br>
*  検索結果をCBSMsgにセットします。<br>
*/
public class JSYejbETU0011B018TPDA extends CAANSQLFacility implements TemplateDBAccessHandler{
	
	/**
	 * コンストラクタ
	 */
	public JSYejbETU0011B018TPDA()	{
	}
	
	/**
	*   ETU0011B018_SQLF<br>
	*   @param inMsg    入力値の格納されたCBSMsg <br>
	*   @return void
	*/
	public void invoke(CAANMsg inMsg,AgentDispatchContext inContext){

		// コネクション
		Connection con1 = null;

		// プリペアステートメント
		PreparedStatement pstmt = null;

		// リザルトセット
		ResultSet rsltQuery = null;

		/******************** 
		 * SQL文の作成
		 ********************/
// 2013/09/17 OM-2013-0002044
		try{
			boolean isKeySvcKeino         = (null != inMsg.getObject(ETU0011B018CBSMsg.KEY_SVC_KEI_NO));
			boolean isKeySvcKeiUcwkno     = (null != inMsg.getObject(ETU0011B018CBSMsg.KEY_SVC_KEI_UCWK_NO));
			boolean isKeySeiriNo          = (null != inMsg.getObject(ETU0011B018CBSMsg.KEY_SEIRI_NO));
			boolean isKeyNttTelKaisenNo   = (null != inMsg.getObject(ETU0011B018CBSMsg.KEY_NTT_KEI_TEL_KAISEN_NO));
			boolean isKeyBmpKojiStat      = (null != inMsg.getObject(ETU0011B018CBSMsg.KEY_BMP_KOJI_STAT));
			boolean isKeyBmpKojiKiboYmdh1 = (null != inMsg.getObject(ETU0011B018CBSMsg.KEY_BMP_KOJI_KIBO_YMDH_FROM));
			boolean isKeyBmpKojiKiboYmdh2 = (null != inMsg.getObject(ETU0011B018CBSMsg.KEY_BMP_KOJI_KIBO_YMDH_TO));
			boolean isKeyBmpMskmshoTypeCd = (null != inMsg.getObject(ETU0011B018CBSMsg.KEY_BMP_MSKMSHO_TYPE_CD));
// 2013/09/17 OM-2013-0002044
			String[] bmpMskmshoTypeCd = null;

			//コネクション取得
			con1 = JSYejbConnection.getConnection(TU0011ETMsg.getTableName());

			// SQL文_基本部1
			StringBuffer sql_Buff = new StringBuffer();
			sql_Buff.append(" SELECT ")
			.append("     BMP.BMP_KOJI_NO, ")
			.append("     BMP.GENE_ADD_DTM, ")
			.append("     ROW_NUMBER() OVER (ORDER BY BMP.BMP_KOJI_KIBO_YMDH ASC, BMP.BMP_KOJI_STAT ASC, BMP.BMP_MSKMSHO_TYPE_CD ASC, BMP.SVC_KEI_NO_DISP ASC, BMP.NTT_KEI_TEL_KAISEN_NO ASC) AS ROW_NUM, ")
			.append("     BMP.SVC_KEI_NO_DISP, ")
			.append("     BMP.SVC_KEI_NO, ")
			.append("     BMP.SVC_KEI_UCWK_NO, ")
			.append("     BMP.HJIN_EO_YKAE_SVKEI_NO, ")
			.append("     BMP.HOJIN_KOJIN_CD, ")
			.append("     BMP.NTT_KEISHA_NM, ")
			.append("     BMP.NTT_KEI_TEL_KAISEN_NO, ")
			.append("     BMP.BMP_MSKMSHO_TYPE_CD, ")
			.append("     ( ")
			.append("         SELECT CDNM1.CD_DIV_ALI ")
			.append("         FROM   ZM_M_CD_NM_KANRI CDNM1 ")
			.append("         WHERE  CDNM1.CD_SBT_CD = 'CD00524' ")
			.append("         AND    CDNM1.CD_DIV    = BMP.BMP_MSKMSHO_TYPE_CD ")
			.append("         AND    CDNM1.MK_FLG    = '0' ")
			.append("     ) AS BMP_MSKMSHO_TYPE_CD_NM, ")
			.append("     BMP.BMP_KOJI_KIBO_YMDH, ")
			.append("     BMP.TAJGS_RNKI_SEND_DTM, ")
			.append("     BMP.NTT_RNKI_SEND_DTM, ")
			.append("     BMP.BMP_KOJI_STAT, ")
			.append("     ( ")
			.append("         SELECT CDNM2.CD_DIV_ALI ")
			.append("         FROM   ZM_M_CD_NM_KANRI CDNM2 ")
			.append("         WHERE  CDNM2.CD_SBT_CD = 'CD00194' ")
			.append("         AND    CDNM2.CD_DIV    = BMP.BMP_KOJI_STAT ")
			.append("         AND    CDNM2.MK_FLG    = '0' ")
			.append("     ) AS BMP_KOJI_STAT_NM, ")
			.append("     BMP.UPD_DTM ")
			.append(" FROM ( ")
			.append("     SELECT ")
			.append("         TU0011.BMP_KOJI_NO, ")
			.append("         TU0011.GENE_ADD_DTM, ")
			.append("         DECODE(TU0011.HOJIN_KOJIN_CD, 1, KK0161_BASE.SVC_KEI_NO, TU0011.HJIN_EO_YKAE_SVKEI_NO) AS SVC_KEI_NO_DISP, ")
			.append("         KK0161_BASE.SVC_KEI_NO, ")
			.append("         TU0011.SVC_KEI_UCWK_NO, ")
			.append("         KK0161_BASE.SEIRI_NO, ")
			.append("         TU0011.HJIN_EO_YKAE_SVKEI_NO, ")
			.append("         TU0011.HOJIN_KOJIN_CD, ")
			.append("         TU0011.NTT_KEISHA_NM, ")
			.append("         TU0011.NTT_KEI_TEL_KAISEN_NO, ")
			.append("         TU0011.BMP_MSKMSHO_TYPE_CD, ")
			.append("         TU0011.BMP_KOJI_KIBO_YMDH, ")
			.append("         TU0011.TAJGS_RNKI_SEND_DTM, ")
			.append("         TU0011.NTT_RNKI_SEND_DTM, ")
			.append("         TU0011.BMP_KOJI_STAT, ")
			.append("         TU0011.UPD_DTM ")
			.append("     FROM ")
			.append("         TU_T_BMP_KOJI TU0011 ")
			.append("     INNER JOIN ( ")
			.append("         SELECT ")
			.append("             KK0161.SVC_KEI_NO, ")
			.append("             KK0161.SVC_KEI_UCWK_NO, ")
			.append("             KK0081.SEIRI_NO ")
			.append("         FROM ")
			.append("             KK_T_SVC_KEI KK0081 ")
			.append("         INNER JOIN KK_T_SVC_KEI_UCWK KK0161 ")
			.append("             ON  KK0161.SVC_KEI_NO = KK0081.SVC_KEI_NO ")
			.append("         INNER JOIN KK_T_SVKEIUW_EOH_TEL KK0181 ")
			.append("             ON  KK0181.SVC_KEI_UCWK_NO = KK0161.SVC_KEI_UCWK_NO ")
			.append("             AND KK0181.GENE_ADD_DTM    = KK0161.GENE_ADD_DTM ")
			.append("             AND KK0181.RSV_APLY_CD     = '2' ")
			.append("             AND KK0181.MK_FLG          = '0' ")
			.append("         WHERE ")
//↓↓↓2013-03-14追加　巻３IT1-2013-0000479(OT-2013-0000267)（ＳＱＬ実行に４分以上かかる）↓↓↓
			;
			if ( JPCModelConstant.FUNC_CD_1.equals( inMsg.getObject(ETU0011B018CBSMsg.FUNC_CODE).toString() ) ) {
				if (isKeySvcKeino) {
					sql_Buff.append(" KK0081.SVC_KEI_NO = ? AND ");
				}
// 2013/09/17 OM-2013-0002044
				if (isKeySvcKeiUcwkno) {
					sql_Buff.append(" KK0161.SVC_KEI_UCWK_NO = ? AND ");
				}
// 2013/09/17 OM-2013-0002044
				if (isKeySeiriNo) {
					sql_Buff.append(" KK0081.SEIRI_NO = ? AND ");
				}
			}
			sql_Buff
//↑↑↑2013-03-14追加　巻３IT1-2013-0000479(OT-2013-0000267)（ＳＱＬ実行に４分以上かかる）↑↑↑
			.append("             (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("         ) ")
			.append("         AND KK0161.RSV_APLY_YMD || KK0161.GENE_ADD_DTM = ( ")
			.append("                 SELECT MAX(KK0161_GENE.RSV_APLY_YMD || KK0161_GENE.GENE_ADD_DTM) ")
			.append("                 FROM   KK_T_SVC_KEI_UCWK KK0161_GENE ")
			.append("                 WHERE  KK0161_GENE.SVC_KEI_NO      = KK0161.SVC_KEI_NO ")
			.append("                 AND    KK0161_GENE.SVC_KEI_UCWK_NO = KK0161.SVC_KEI_UCWK_NO ")
			.append("                 AND    KK0161_GENE.RSV_APLY_YMD   <= ? ")
			.append("                 AND    KK0161_GENE.RSV_APLY_CD     = '2' ")
			.append("                 AND    KK0161_GENE.MK_FLG          = '0' ")
			.append("             ) ")
			.append("     )  KK0161_BASE ")
			.append("         ON TU0011.SVC_KEI_UCWK_NO = KK0161_BASE.SVC_KEI_UCWK_NO ")
			.append("     WHERE ")
			.append("         TU0011.GENE_ADD_DTM = ( ")
			.append("         SELECT MAX(TU0011_GENE.GENE_ADD_DTM) ")
			.append("         FROM   TU_T_BMP_KOJI TU0011_GENE ")
			.append("         WHERE  TU0011_GENE.BMP_KOJI_NO = TU0011.BMP_KOJI_NO ")
			.append("         AND    TU0011_GENE.MK_FLG = '0' ")
			.append("     ) ")
			.append(" ) BMP ");

			// SQL文_個別部1
			if ( JPCModelConstant.FUNC_CD_1.equals( inMsg.getObject(ETU0011B018CBSMsg.FUNC_CODE).toString() ) ) {
//↓↓↓2013-03-14追加　巻３IT1-2013-0000479(OT-2013-0000267)（ＳＱＬ実行に４分以上かかる）↓↓↓
				if (isKeyNttTelKaisenNo || isKeyBmpKojiStat || isKeyBmpKojiKiboYmdh1 || isKeyBmpKojiKiboYmdh2 || isKeyBmpMskmshoTypeCd) {
//↑↑↑2013-03-14追加　巻３IT1-2013-0000479(OT-2013-0000267)（ＳＱＬ実行に４分以上かかる）↑↑↑
					sql_Buff.append(" WHERE ");
				}	//2013-03-14追加
				boolean andFlg = false;
//↓↓↓2013-03-14削除　巻３IT1-2013-0000479(OT-2013-0000267)（ＳＱＬ実行に４分以上かかる）↓↓↓
//				if (isKeySvcKeino) {
//					sql_Buff.append(setWhereEqual("BMP.SVC_KEI_NO_DISP", andFlg));
//					andFlg = true;
//				}
//				if (isKeySeiriNo) {
//					sql_Buff.append(setWhereEqual("BMP.SEIRI_NO", andFlg));
//					andFlg = true;
//				}
//↑↑↑2013-03-14削除　巻３IT1-2013-0000479(OT-2013-0000267)（ＳＱＬ実行に４分以上かかる）↑↑↑
				if (isKeyNttTelKaisenNo) {
					sql_Buff.append(setWhereEqual("BMP.NTT_KEI_TEL_KAISEN_NO", andFlg));
					andFlg = true;
				}
				if (isKeyBmpKojiStat) {
					sql_Buff.append(setWhereEqual("BMP.BMP_KOJI_STAT", andFlg));
					andFlg = true;
				}
				if (isKeyBmpKojiKiboYmdh1) {
					sql_Buff.append(setWhereFrom("BMP.BMP_KOJI_KIBO_YMDH", andFlg));
					andFlg = true;
				}
				if (isKeyBmpKojiKiboYmdh2) {
					sql_Buff.append(setWhereTo("BMP.BMP_KOJI_KIBO_YMDH", andFlg));
					andFlg = true;
				}
				if (isKeyBmpMskmshoTypeCd) {
					if(andFlg){
						sql_Buff.append(" AND ");
					}
					sql_Buff.append("     BMP.BMP_MSKMSHO_TYPE_CD IN (");

					// ＫＥＹ＿番ポ申込書タイプコードをカンマで分割
					bmpMskmshoTypeCd = inMsg.getString(ETU0011B018CBSMsg.KEY_BMP_MSKMSHO_TYPE_CD).split(",");

					for (int i = 0; i < bmpMskmshoTypeCd.length; i++)
					{
						// 2件目以降はカンマで区切る
						if (i > 0)
						{
							sql_Buff.append(", ");
						}
						sql_Buff.append("?");
					}
					sql_Buff.append(") ");
					andFlg = true;
				}
			}

			sql_Buff.append(" ORDER BY ")
// OM-2017-0000292 2017/05/10 MOD START
//					.append("     BMP.BMP_KOJI_KIBO_YMDH    ASC, ")
//					.append("     BMP.BMP_KOJI_STAT         ASC, ")
//					.append("     BMP.BMP_MSKMSHO_TYPE_CD   ASC, ")
//					.append("     BMP.SVC_KEI_NO_DISP       ASC, ")
//					.append("     BMP.NTT_KEI_TEL_KAISEN_NO ASC ");
					.append("     BMP.BMP_KOJI_STAT         ASC, ")
					.append("     BMP.BMP_KOJI_NO           DESC ");
// OM-2017-0000292 2017/05/10 MOD END


			//prepareStatementにSQL文をセット
			pstmt = con1.prepareStatement(sql_Buff.toString());

			//ログ出力(SQL文の出力)
			JSYejbLog.outlog(inContext, JSYejbLog.DBACCESS, this.getClass(), sql_Buff);

			//運用日付を取得
			String opeDate = JTUModelCommon.getOpeDate(inMsg, null);

			//パラメータ設定用Index 初期化
			int index = 1;

//↓↓↓2013-03-14追加　巻３IT1-2013-0000479(OT-2013-0000267)（ＳＱＬ実行に４分以上かかる）↓↓↓
			if ( JPCModelConstant.FUNC_CD_1.equals( inMsg.getString(ETU0011B018CBSMsg.FUNC_CODE) ) ) {
				if (isKeySvcKeino) {
					// パラメータの設定(ＫＥＹ＿サービス契約番号を指定)
					CAANJDBCUtil.setParam(pstmt, index, inMsg.getObject(ETU0011B018CBSMsg.KEY_SVC_KEI_NO));
					index++;
				}
// 2013/09/17 OM-2013-0002044
				if (isKeySvcKeiUcwkno) {
					// パラメータの設定(ＫＥＹ＿サービス契約内訳番号を指定)
					CAANJDBCUtil.setParam(pstmt, index, inMsg.getObject(ETU0011B018CBSMsg.KEY_SVC_KEI_UCWK_NO));
					index++;
				}
// 2013/09/17 OM-2013-0002044
				if (isKeySeiriNo) {
					// パラメータの設定(ＫＥＹ＿整理番号を指定)
					CAANJDBCUtil.setParam(pstmt, index, inMsg.getObject(ETU0011B018CBSMsg.KEY_SEIRI_NO));
					index++;
				}
			}
//↑↑↑2013-03-14追加　巻３IT1-2013-0000479(OT-2013-0000267)（ＳＱＬ実行に４分以上かかる）↑↑↑
			
			// PreparedStatementの指定されたパラメータカラムに 指定された値を設定
			// パラメータの設定(運用日付を指定)：サービス契約内訳
			CAANJDBCUtil.setParam(pstmt, index, opeDate);
			index++;
			// パラメータの設定(運用日付を指定)：サービス契約内訳
			CAANJDBCUtil.setParam(pstmt, index, opeDate);
			index++;

			if ( JPCModelConstant.FUNC_CD_1.equals( inMsg.getString(ETU0011B018CBSMsg.FUNC_CODE) ) ) {
//↓↓↓2013-03-14削除　巻３IT1-2013-0000479(OT-2013-0000267)（ＳＱＬ実行に４分以上かかる）↓↓↓
//				if (isKeySvcKeino) {
//					// パラメータの設定(ＫＥＹ＿サービス契約番号を指定)
//					CAANJDBCUtil.setParam(pstmt, index, inMsg.getObject(ETU0011B018CBSMsg.KEY_SVC_KEI_NO));
//					index++;
//				}
//				if (isKeySeiriNo) {
//					// パラメータの設定(ＫＥＹ＿整理番号を指定)
//					CAANJDBCUtil.setParam(pstmt, index, inMsg.getObject(ETU0011B018CBSMsg.KEY_SEIRI_NO));
//					index++;
//				}
//↑↑↑2013-03-14削除　巻３IT1-2013-0000479(OT-2013-0000267)（ＳＱＬ実行に４分以上かかる）↑↑↑
				if (isKeyNttTelKaisenNo) {
					// パラメータの設定(ＫＥＹ＿ＮＴＴ契約電話回線番号を指定)
					CAANJDBCUtil.setParam(pstmt, index, inMsg.getObject(ETU0011B018CBSMsg.KEY_NTT_KEI_TEL_KAISEN_NO));
					index++;
				}
				if (isKeyBmpKojiStat) {
					// パラメータの設定(ＫＥＹ＿番ポ工事ステータスを指定)
					CAANJDBCUtil.setParam(pstmt, index, inMsg.getObject(ETU0011B018CBSMsg.KEY_BMP_KOJI_STAT));
					index++;
				}
				if (isKeyBmpKojiKiboYmdh1) {
					// パラメータの設定(ＫＥＹ＿番ポ工事希望年月日時＿ＦＲＯＭを指定)
					CAANJDBCUtil.setParam(pstmt, index, inMsg.getObject(ETU0011B018CBSMsg.KEY_BMP_KOJI_KIBO_YMDH_FROM));
					index++;
				}
				if (isKeyBmpKojiKiboYmdh2) {
					// パラメータの設定(ＫＥＹ＿番ポ工事希望年月日時＿ＴＯを指定)
					CAANJDBCUtil.setParam(pstmt, index, inMsg.getObject(ETU0011B018CBSMsg.KEY_BMP_KOJI_KIBO_YMDH_TO));
					index++;
				}
				if (isKeyBmpMskmshoTypeCd) {
					// パラメータの設定(ＫＥＹ＿番ポ申込書タイプコードを指定)
					for (int i = 0; i < bmpMskmshoTypeCd.length; i++)
					{
						CAANJDBCUtil.setParam(pstmt, index, bmpMskmshoTypeCd[i]);
						index++;
					}
				}
			}
			
			// ResultSetの取得
			rsltQuery = pstmt.executeQuery();
			
			// ETU0011B018CBSMsgの明細にセットする項目
			String[] msgKeyList1 = {
					  ETU0011B018CBSMsg1List.BMP_KOJI_NO
					, ETU0011B018CBSMsg1List.GENE_ADD_DTM
					, ETU0011B018CBSMsg1List.ROW_NUM
					, ETU0011B018CBSMsg1List.SVC_KEI_NO_DISP
					, ETU0011B018CBSMsg1List.SVC_KEI_NO
					, ETU0011B018CBSMsg1List.SVC_KEI_UCWK_NO
					, ETU0011B018CBSMsg1List.HJIN_EO_YKAE_SVKEI_NO
					, ETU0011B018CBSMsg1List.HOJIN_KOJIN_CD
					, ETU0011B018CBSMsg1List.NTT_KEISHA_NM
					, ETU0011B018CBSMsg1List.NTT_KEI_TEL_KAISEN_NO
					, ETU0011B018CBSMsg1List.BMP_MSKMSHO_TYPE_CD
					, ETU0011B018CBSMsg1List.BMP_MSKMSHO_TYPE_CD_NM
					, ETU0011B018CBSMsg1List.BMP_KOJI_KIBO_YMDH
					, ETU0011B018CBSMsg1List.TAJGS_RNKI_SEND_DTM
					, ETU0011B018CBSMsg1List.NTT_RNKI_SEND_DTM
					, ETU0011B018CBSMsg1List.BMP_KOJI_STAT
					, ETU0011B018CBSMsg1List.BMP_KOJI_STAT_NM
					, ETU0011B018CBSMsg1List.UPD_DTM
			};
			
			// 明細に処理結果(ResultSet)をマッピング
			CAANMsg[] outMsg1 = mapMessageList(rsltQuery,msgKeyList1,"eo.ejb.cbs.cbsmsg.ETU0011B018CBSMsg1List",0);
			// inMsg(CBSMsg)に明細をセット
			inMsg.set(ETU0011B018CBSMsg.ETU0011B018CBSMSG1LIST, outMsg1);

		} catch(SQLException e) {
			inMsg.set(ETU0011B018CBSMsg.STATUS, StatusCodes.FIND_DB_ERR);
			throw new CAANRuntimeException(e);
		} finally {
			// 資源の解放
			try{
				if(rsltQuery != null){
					rsltQuery.close();
				}
				if(pstmt != null){
					pstmt.close();
				}
				if(con1 != null){
					closeConnection(con1);
				}
			}catch(SQLException e){
				inMsg.set(ETU0011B018CBSMsg.STATUS, StatusCodes.FIND_DB_ERR);
				throw new CAANRuntimeException(e);
			}
		}
	}

	private String setWhere(String column_Name, boolean andFlg, String operator)
	{
		StringBuffer sql_Work = new StringBuffer();
		if(andFlg){
			sql_Work.append(" AND ");
		}
		sql_Work.append("     " + column_Name + " " + operator + " ? ");

		return sql_Work.toString();
	}

	private String setWhereEqual(String column_Name, boolean andFlg)
	{
		return setWhere(column_Name, andFlg, "=");
	}

	private String setWhereFrom(String column_Name, boolean andFlg)
	{
		return setWhere(column_Name, andFlg, ">=");
	}

	private String setWhereTo(String column_Name, boolean andFlg)
	{
		return setWhere(column_Name, andFlg, "<=");
	}
}
