/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：eo顧客基幹システム
 *   モジュール名    ：JCRejbCreateQueryCondition
 *   ソースファイル名：JCRejbCreateQueryCondition.java
 *   作成者          ：富士通
 *   日付            ：2011年09月22日
 *＜機能概要＞
 *   問合せクエリ条件作成部品です。
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	v1.00.00	2011/09/22	FJ			新規作成
 *	v4.00.00	2013/03/25	FJ）伊藤	OT-2013-0000311
 *	v6.00.00	2013/09/14	FJ）伊藤	OT-2013-0002064 回線対象サービス契約の取得条件を変更。
 *	v6.00.01	2013/12/07	FJ）伊藤	OM-2013-0004056 受付番号の検索条件を変更
 *	v14.00.00	2015/07/09	FJ）藤本	【OM-2015-0001308】リソース最適化_統合ＤＢ１月度ＳＱＬ指摘（ECR0011B050_対応記録一覧照会(クエリ実行問合せ)）
 *	v47.00.00	2019/08/01	FJ) 大島	ANK-3656-00-00_問い合わせクエリの検索条件追加
 *
 **********************************************************************/

package eo.ejb.common;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;

/**
 *  問合せクエリ条件作成部品です。
 * @author 富士通
 */
public class JCRejbCreateQueryCondition 
{
	/**
	 * スキーマID：CK0011 お客様
	 */
	private static final String CK0011_CK_T_CUST = "CK0011";
	/**
	 * スキーマID：CK0021 お客様 個人
	 */
	private static final String CK0021_CK_T_CUST_KOJIN = "CK0021";
	/**
	 * スキーマID：CK0041 法人連絡先
	 */
	private static final String CK0041_CK_T_HOJIN_RRKS = "CK0041";
	/**
	 * スキーマID：CK0051 問合せ客
	 */
	private static final String CK0051_CK_T_PROSCST = "CK0051";
	/**
	 * スキーマID：CK0181 マンションオーナー
	 */
	private static final String CK0181_CK_T_MANSION_OWNR = "CK0181";
	/**
	 * スキーマID：CK0201 連絡先
	 */
	private static final String CK0201_CK_T_RRKS = "CK0201";
	/**
	 * スキーマID：CK0201 連絡先（電話番号）
	 */
	private static final String CK0201_CK_T_RRKS_TEL_NO = "CK0201_TEL_NO";
	/**
	 * スキーマID：CK0201 連絡先（携帯番号）
	 */
	private static final String CK0201_CK_T_RRKS_KTAI_TELNO = "CK0201_KTAI_TELNO";
	/**
	 * スキーマID：CK0201 連絡先（その他）
	 */
	private static final String CK0201_CK_T_RRKS_MLAD = "CK0201_MLAD";
	/**
	 * スキーマID：CR0011 対応記録
	 */
	private static final String CR0011_CR_T_TAIO_KIROK = "CR0011";
	/**
	 * スキーマID：CR0021 対応記録明細
	 */
	private static final String CR0021_CR_T_TAIOKRK_DTL = "CR0021";
	/**
	 * スキーマID：CR0031 対応記録内訳
	 */
	private static final String CR0031_CR_T_TAIOKRK_UCWK = "CR0031";
	/**
	 * スキーマID：CR0041 資料送付
	 */
	private static final String CR0041_CR_T_ATICLE_SOHU = "CR0041";
	/**
	 * スキーマID：CR0051 資料
	 */
	private static final String CR0051_CR_M_ATICLE = "CR0051";
	/**
	 * スキーマID：CR0111 キューBOX
	 */
	private static final String CR0111_CR_T_QUE_BOX = "CR0111";
	/**
	 * スキーマID：CR0201 対応記録内訳カテゴリー
	 */
	private static final String CR0201_CR_T_TAIOKRK_UW_CTGR = "CR0201";
	/**
	 * スキーマID：CR0201 対応記録内訳カテゴリー（問合せのカテゴリー（ワークグループ））
	 */
	private static final String CR0201_CR_T_TAIOKRK_UW_CTGR_001 = "CR0201_001";
	/**
	 * スキーマID：CR0201 対応記録内訳カテゴリー（問合せの第1カテゴリー）
	 */
	private static final String CR0201_CR_T_TAIOKRK_UW_CTGR_002 = "CR0201_002";
	/**
	 * スキーマID：CR0201 対応記録内訳カテゴリー（問合せの第2カテゴリー）
	 */
	private static final String CR0201_CR_T_TAIOKRK_UW_CTGR_003 = "CR0201_003";
	/**
	 * スキーマID：CR0201 対応記録内訳カテゴリー（問合せの第3カテゴリー）
	 */
	private static final String CR0201_CR_T_TAIOKRK_UW_CTGR_004 = "CR0201_004";
	/**
	 * スキーマID：CR0201 対応記録内訳カテゴリー（問合せの第4カテゴリー）
	 */
	private static final String CR0201_CR_T_TAIOKRK_UW_CTGR_005 = "CR0201_005";
	/**
	 * スキーマID：CR0201 対応記録内訳カテゴリー（問合せの第5カテゴリー）
	 */
	private static final String CR0201_CR_T_TAIOKRK_UW_CTGR_006 = "CR0201_006";
	/**
	 * スキーマID：CR0201 対応記録内訳カテゴリー（問合せの第6カテゴリー）
	 */
	private static final String CR0201_CR_T_TAIOKRK_UW_CTGR_007 = "CR0201_007";
	/**
	 * スキーマID：CR0201 対応記録内訳カテゴリー（問合せの第7カテゴリー）
	 */
	private static final String CR0201_CR_T_TAIOKRK_UW_CTGR_008 = "CR0201_008";
	/**
	 * スキーマID：CR0201 対応記録内訳カテゴリー（問合せの第8カテゴリー）
	 */
	private static final String CR0201_CR_T_TAIOKRK_UW_CTGR_009 = "CR0201_009";
	/**
	 * スキーマID：CR0201 対応記録内訳カテゴリー（問合せの第9カテゴリー）
	 */
	private static final String CR0201_CR_T_TAIOKRK_UW_CTGR_010 = "CR0201_010";
	/**
	 * スキーマID：CR0201 対応記録内訳カテゴリー（問合せの第10カテゴリー）
	 */
	private static final String CR0201_CR_T_TAIOKRK_UW_CTGR_011 = "CR0201_011";
	/**
	 * スキーマID：CR0431 資料送付記録
	 */
	private static final String CR0431_CR_T_ATICLE_SOHU_KRK = "CR0431";
	/**
	 * スキーマID：KK0021 申込明細
	 */
	private static final String KK0021_KK_T_MSKM_DTL = "KK0021";
	/**
	 * スキーマID：KK0081 サービス契約
	 */
	private static final String KK0081_KK_T_SVC_KEI = "KK0081";
	/**
	 * スキーマID：KK0111 サービス契約 eo光電話
	 */
	private static final String KK0111_KK_T_SVC_KEI_EOH_TEL = "KK0111";
	/**
	 * スキーマID：KK0161 サービス契約内訳
	 */
	private static final String KK0161_KK_T_SVC_KEI_UCWK = "KK0161";
	/**
	 * スキーマID：KK0171 サービス契約内訳 eo光ネット
	 */
	private static final String KK0171_KK_T_SVKEIUW_EOH_NET = "KK0171";
	/**
	 * スキーマID：KK0191 サービス契約内訳 eo光電話
	 */
	private static final String KK0191_KK_T_SVKEIUW_EOH_TEL = "KK0191";
	/**
	 * スキーマID：KK0201 サービス契約内訳 eoモバイル
	 */
	private static final String KK0201_KK_T_SVKEIUW_EOMOBA = "KK0201";
	/**
	 * スキーマID：KK0221 サービス契約内訳 eoADSL
	 */
	private static final String KK0221_KK_T_SVKEIUW_EOADSL = "KK0221";
	/**
	 * スキーマID：KK0241 回線対象サービス契約
	 */
	private static final String KK0241_KK_T_KAISEN_TG_SVKEI = "KK0241";
	/**
	 * スキーマID：KK0251 サービス契約回線内訳
	 */
	private static final String KK0251_KK_T_SVKEI_KAISEN_UW = "KK0251";
	/**
	 * スキーマID：KK0321 課金先
	 */
	private static final String KK0321_KK_T_KAKINS = "KK0321";
	/**
	 * スキーマID：KK0351 オプションサービス契約
	 */
	private static final String KK0351_KK_T_OP_SVC_KEI = "KK0351";
	/**
	 * スキーマID：KK0361 オプションサービス契約<ISP>
	 */
	private static final String KK0361_KK_T_OPSVKEI_ISP = "KK0361";
	/**
	 * スキーマID：KK0411 サブオプションサービス契約 ISP
	 */
	private static final String KK0411_KK_T_SBOPSVKEI_ISP = "KK0411";
	/**
	 * スキーマID：KK0401 サブオプションサービス契約
	 */
	private static final String KK0401_KK_T_SBOP_SVC_KEI = "KK0401";
	/**
	 * スキーマID：KK0491 請求契約
	 */
	private static final String KK0491_KK_T_SEIKY_KEI = "KK0491";
	/**
	 * スキーマID：KK0591 料金プラン
	 */
	private static final String KK0591_KK_M_PPLAN = "KK0591";
	/**
	 * スキーマID：KK0751 サービス
	 */
	private static final String KK0751_KK_M_SVC = "KK0751";
	/**
	 * スキーマID：KK0781 料金グループ
	 */
	private static final String KK0781_KK_M_PRC_GRP = "KK0781";
	/**
	 * スキーマID：KK0861 マンション物件
	 */
	private static final String KK0861_KK_T_MANSION_BUKKEN = "KK0861";
	/**
	 * スキーマID：KK0871 オーナー契約
	 */
	private static final String KK0871_KK_T_OWNR_KEI = "KK0871";
	/**
	 * スキーマID：KK0881 回線使用契約
	 */
	private static final String KK0881_KK_T_KAISEN_USE_KEI = "KK0881";
	/**
	 * スキーマID：ZM0051 ユーザー
	 */
	private static final String ZM0051_ZM_M_USER = "ZM0051";
	/**
	 * スキーマID：ZM0051 ユーザー（作成者）
	 */
	private static final String ZM0051_ZM_M_USER_INS_OPT = "ZM0051_INS_OPT";
	/**
	 * スキーマID：ZM0051 ユーザー（担当者）
	 */
	private static final String ZM0051_ZM_M_USER_TAIO = "ZM0051_TAIO";
	/**
	 * スキーマID：ZM0051 ユーザー（送信者ユーザー）
	 */
	private static final String ZM0051_ZM_M_USER_SEND = "ZM0051_SEND";
	/**
	 * スキーマID：ZM0151 業務個別設定組織
	 */
	private static final String ZM0151_ZM_M_WKKBT_ORG = "ZM0151";
	/**
	 * スキーマID：ZM0151 業務個別設定組織（受付ワークグループ）
	 */
	private static final String ZM0151_ZM_M_WKKBT_ORG_UK = "ZM0151_UK";
	/**
	 * スキーマID：ZM0151 業務個別設定組織（担当ワークグループ）
	 */
	private static final String ZM0151_ZM_M_WKKBT_ORG_TANTO = "ZM0151_TANTO";
	/**
	 * 結合するスキーマIDのリスト
	 */
	private static HashMap<String , String[]> join_list = new HashMap<String , String[]>();
	/**
	 * No.1 Staticイニシャライズ
	 */
	static
	{
		// --------------------------------------------------------------------------------------------------------
		// 条件作成情報セット
		// --------------------------------------------------------------------------------------------------------
		//(1)対応記録スキーマから回線使用契約スキーマまでの結合
		join_list.put(KK0881_KK_T_KAISEN_USE_KEI , new String[]{KK0081_KK_T_SVC_KEI , KK0321_KK_T_KAKINS , 
				KK0491_KK_T_SEIKY_KEI , CK0181_CK_T_MANSION_OWNR , KK0871_KK_T_OWNR_KEI , KK0881_KK_T_KAISEN_USE_KEI });
		//(2)対応記録スキーマからマンション物件スキーマまでの結合
		join_list.put(KK0861_KK_T_MANSION_BUKKEN , new String[]{KK0081_KK_T_SVC_KEI , KK0321_KK_T_KAKINS , 
				KK0491_KK_T_SEIKY_KEI , CK0181_CK_T_MANSION_OWNR , KK0871_KK_T_OWNR_KEI , KK0861_KK_T_MANSION_BUKKEN });
		//(3)対応記録スキーマから課金先スキーマまでの結合
		join_list.put(KK0321_KK_T_KAKINS , new String[]{KK0081_KK_T_SVC_KEI , KK0321_KK_T_KAKINS });
		//(4)対応記録スキーマから請求契約スキーマまでの結合
		join_list.put(KK0491_KK_T_SEIKY_KEI , new String[]{KK0081_KK_T_SVC_KEI , KK0321_KK_T_KAKINS , KK0491_KK_T_SEIKY_KEI });
		//(5)対応記録スキーマから連絡先スキーマまでの結合
		join_list.put(CK0201_CK_T_RRKS_TEL_NO , new String[]{KK0081_KK_T_SVC_KEI , CK0011_CK_T_CUST , CK0201_CK_T_RRKS });
		join_list.put(CK0201_CK_T_RRKS_KTAI_TELNO , new String[]{KK0081_KK_T_SVC_KEI , CK0011_CK_T_CUST , CK0201_CK_T_RRKS });
		join_list.put(CK0201_CK_T_RRKS_MLAD , new String[]{KK0081_KK_T_SVC_KEI , CK0011_CK_T_CUST , CK0201_CK_T_RRKS });
		//(6)対応記録スキーマから法人連絡先スキーマまでの結合
		join_list.put(CK0041_CK_T_HOJIN_RRKS , new String[]{KK0081_KK_T_SVC_KEI , CK0011_CK_T_CUST , CK0041_CK_T_HOJIN_RRKS });
		//(7)対応記録スキーマからお客様<個人>スキーマまでの結合
		join_list.put(CK0021_CK_T_CUST_KOJIN , new String[]{KK0081_KK_T_SVC_KEI , CK0011_CK_T_CUST , CK0021_CK_T_CUST_KOJIN });
		//(8)対応記録スキーマからサービス契約内訳<eoADSL>スキーマまでの結合
		join_list.put(KK0221_KK_T_SVKEIUW_EOADSL , new String[]{KK0081_KK_T_SVC_KEI , KK0161_KK_T_SVC_KEI_UCWK , KK0221_KK_T_SVKEIUW_EOADSL });
		//(9)対応記録スキーマからサービス契約内訳<eoモバイル>スキーマまでの結合
		join_list.put(KK0201_KK_T_SVKEIUW_EOMOBA , new String[]{KK0081_KK_T_SVC_KEI , KK0161_KK_T_SVC_KEI_UCWK , KK0201_KK_T_SVKEIUW_EOMOBA });
		//(10)対応記録スキーマからサービス契約内訳<eo光電話>スキーマまでの結合
		join_list.put(KK0191_KK_T_SVKEIUW_EOH_TEL , new String[]{KK0081_KK_T_SVC_KEI , KK0161_KK_T_SVC_KEI_UCWK , KK0191_KK_T_SVKEIUW_EOH_TEL });
		//(11)対応記録スキーマからサービス契約内訳<eo光ネット>スキーマまでの結合
		join_list.put(KK0171_KK_T_SVKEIUW_EOH_NET , new String[]{KK0081_KK_T_SVC_KEI , KK0161_KK_T_SVC_KEI_UCWK , KK0171_KK_T_SVKEIUW_EOH_NET });
		//(12)対応記録スキーマからオプションサービス契約<ISP>スキーマまでの結合
		join_list.put(KK0361_KK_T_OPSVKEI_ISP , new String[]{KK0081_KK_T_SVC_KEI , KK0351_KK_T_OP_SVC_KEI , KK0361_KK_T_OPSVKEI_ISP });
		//(13)対応記録スキーマからサブオプションサービス契約<ISP>スキーマまでの結合
		join_list.put(KK0411_KK_T_SBOPSVKEI_ISP , new String[]{KK0081_KK_T_SVC_KEI , KK0351_KK_T_OP_SVC_KEI , KK0401_KK_T_SBOP_SVC_KEI , 
				KK0411_KK_T_SBOPSVKEI_ISP });
		//(14)対応記録スキーマからサービス契約回線内訳スキーマまでの結合
		join_list.put(KK0251_KK_T_SVKEI_KAISEN_UW , new String[]{KK0081_KK_T_SVC_KEI , KK0241_KK_T_KAISEN_TG_SVKEI , KK0251_KK_T_SVKEI_KAISEN_UW });
		//(15)対応記録スキーマからサービススキーマまでの結合
		join_list.put(KK0751_KK_M_SVC , new String[]{KK0081_KK_T_SVC_KEI , KK0751_KK_M_SVC });
		//(16)対応記録スキーマから料金プランスキーマまでの結合
		join_list.put(KK0591_KK_M_PPLAN , new String[]{KK0081_KK_T_SVC_KEI , KK0591_KK_M_PPLAN });
		//(17)対応記録スキーマからサービス契約<eo光電話>スキーマまでの結合
		join_list.put(KK0111_KK_T_SVC_KEI_EOH_TEL , new String[]{KK0081_KK_T_SVC_KEI , KK0111_KK_T_SVC_KEI_EOH_TEL });
		//(18)対応記録スキーマから申込明細スキーマまでの結合
		join_list.put(KK0021_KK_T_MSKM_DTL , new String[]{KK0081_KK_T_SVC_KEI , KK0021_KK_T_MSKM_DTL });
		//(19)対応記録スキーマからお客様スキーマまでの結合
		join_list.put(CK0011_CK_T_CUST , new String[]{KK0081_KK_T_SVC_KEI , CK0011_CK_T_CUST });
		//(20)対応記録スキーマからサービス契約スキーマまでの結合
		join_list.put(KK0081_KK_T_SVC_KEI , new String[]{KK0081_KK_T_SVC_KEI });
		//(21)対応記録スキーマからキューBOXスキーマまでの結合
		join_list.put(CR0111_CR_T_QUE_BOX , new String[]{CR0111_CR_T_QUE_BOX });
		//(22)対応記録スキーマから資料スキーマまでの結合
		join_list.put(CR0051_CR_M_ATICLE , new String[]{CR0041_CR_T_ATICLE_SOHU , CR0431_CR_T_ATICLE_SOHU_KRK , CR0051_CR_M_ATICLE });
		//(23)対応記録スキーマから資料送付スキーマまでの結合
		join_list.put(CR0041_CR_T_ATICLE_SOHU , new String[]{CR0041_CR_T_ATICLE_SOHU });
		//(24)対応記録スキーマから対応記録内訳カテゴリースキーマまでの結合
		join_list.put(CR0201_CR_T_TAIOKRK_UW_CTGR_001 , new String[]{CR0031_CR_T_TAIOKRK_UCWK , CR0201_CR_T_TAIOKRK_UW_CTGR });
		join_list.put(CR0201_CR_T_TAIOKRK_UW_CTGR_002 , new String[]{CR0031_CR_T_TAIOKRK_UCWK , CR0201_CR_T_TAIOKRK_UW_CTGR });
		join_list.put(CR0201_CR_T_TAIOKRK_UW_CTGR_003 , new String[]{CR0031_CR_T_TAIOKRK_UCWK , CR0201_CR_T_TAIOKRK_UW_CTGR });
		join_list.put(CR0201_CR_T_TAIOKRK_UW_CTGR_004 , new String[]{CR0031_CR_T_TAIOKRK_UCWK , CR0201_CR_T_TAIOKRK_UW_CTGR });
		join_list.put(CR0201_CR_T_TAIOKRK_UW_CTGR_005 , new String[]{CR0031_CR_T_TAIOKRK_UCWK , CR0201_CR_T_TAIOKRK_UW_CTGR });
		join_list.put(CR0201_CR_T_TAIOKRK_UW_CTGR_006 , new String[]{CR0031_CR_T_TAIOKRK_UCWK , CR0201_CR_T_TAIOKRK_UW_CTGR });
		join_list.put(CR0201_CR_T_TAIOKRK_UW_CTGR_007 , new String[]{CR0031_CR_T_TAIOKRK_UCWK , CR0201_CR_T_TAIOKRK_UW_CTGR });
		join_list.put(CR0201_CR_T_TAIOKRK_UW_CTGR_008 , new String[]{CR0031_CR_T_TAIOKRK_UCWK , CR0201_CR_T_TAIOKRK_UW_CTGR });
		join_list.put(CR0201_CR_T_TAIOKRK_UW_CTGR_009 , new String[]{CR0031_CR_T_TAIOKRK_UCWK , CR0201_CR_T_TAIOKRK_UW_CTGR });
		join_list.put(CR0201_CR_T_TAIOKRK_UW_CTGR_010 , new String[]{CR0031_CR_T_TAIOKRK_UCWK , CR0201_CR_T_TAIOKRK_UW_CTGR });
		join_list.put(CR0201_CR_T_TAIOKRK_UW_CTGR_011 , new String[]{CR0031_CR_T_TAIOKRK_UCWK , CR0201_CR_T_TAIOKRK_UW_CTGR });
		//(25)対応記録スキーマから対応記録内訳スキーマまでの結合
		join_list.put(CR0031_CR_T_TAIOKRK_UCWK , new String[]{CR0031_CR_T_TAIOKRK_UCWK });
		//(26)対応記録スキーマから対応記録明細スキーマまでの結合
		join_list.put(CR0021_CR_T_TAIOKRK_DTL , new String[]{CR0021_CR_T_TAIOKRK_DTL });
		//(27)対応記録スキーマから問合せ客スキーマまでの結合
		join_list.put(CK0051_CK_T_PROSCST , new String[]{CK0051_CK_T_PROSCST });
		//(28)対応記録スキーマから業務個別設定組織スキーマまでの結合
		join_list.put(ZM0151_ZM_M_WKKBT_ORG_UK , new String[]{ZM0151_ZM_M_WKKBT_ORG });
		join_list.put(ZM0151_ZM_M_WKKBT_ORG_TANTO , new String[]{ZM0151_ZM_M_WKKBT_ORG });
		//(29)対応記録スキーマからユーザースキーマまでの結合
		join_list.put(ZM0051_ZM_M_USER_INS_OPT , new String[]{ZM0051_ZM_M_USER });
		join_list.put(ZM0051_ZM_M_USER_TAIO , new String[]{ZM0051_ZM_M_USER });
		join_list.put(ZM0051_ZM_M_USER_SEND , new String[]{ZM0051_ZM_M_USER });
		//(30)対応記録スキーマから料金グループスキーマまでの結合
		join_list.put(KK0781_KK_M_PRC_GRP , new String[]{KK0081_KK_T_SVC_KEI , KK0781_KK_M_PRC_GRP });
	}
	//------------------------------------------------------------------------------------------------------
	// クエリ条件コード
	//------------------------------------------------------------------------------------------------------
	/**
	 * クエリ条件コード：A1
	 */
	private static final String A1_JOKEN_CODE = "A1";
	/**
	 * クエリ条件コード：A2
	 */
	private static final String A2_JOKEN_CODE = "A2";
	/**
	 * クエリ条件コード：A3
	 */
	private static final String A3_JOKEN_CODE = "A3";
	/**
	 * クエリ条件コード：A4
	 */
	private static final String A4_JOKEN_CODE = "A4";
	/**
	 * クエリ条件コード：A5
	 */
	private static final String A5_JOKEN_CODE = "A5";
	/**
	 * クエリ条件コード：A6
	 */
	private static final String A6_JOKEN_CODE = "A6";
	/**
	 * クエリ条件コード：B1
	 */
	private static final String B1_JOKEN_CODE = "B1";
	/**
	 * クエリ条件コード：B2
	 */
	private static final String B2_JOKEN_CODE = "B2";
	/**
	 * クエリ条件コード：B3
	 */
	private static final String B3_JOKEN_CODE = "B3";
	/**
	 * クエリ条件コード：B4
	 */
	private static final String B4_JOKEN_CODE = "B4";
	/**
	 * クエリ条件コード：B5
	 */
	private static final String B5_JOKEN_CODE = "B5";
// ANK-3656-00-00 ADD START
	/**
	 * クエリ条件コード：B6
	 */
	private static final String B6_JOKEN_CODE = "B6";
// ANK-3656-00-00 ADD END
	/**
	 * クエリ条件コード：C1
	 */
	private static final String C1_JOKEN_CODE = "C1";
	/**
	 * クエリ条件コード：C2
	 */
	private static final String C2_JOKEN_CODE = "C2";
	/**
	 * クエリ条件コード：D1
	 */
	private static final String D1_JOKEN_CODE = "D1";
	/**
	 * クエリ条件コード：D2
	 */
	private static final String D2_JOKEN_CODE = "D2";

	/**
	 * クエリ条件コード：IS_NULL
	 * 顧客タイプ未加入用の項目。（個別設定）
	 */
	private static final String IS_NULL_JOKEN_CODE = "IS_NULL";

	/**
	 * クエリ条件コード：IS_NOT_NULL
	 * 顧客タイプ未加入用の項目。（個別設定）
	 */
	private static final String IS_NOT_NULL_JOKEN_CODE = "IS_NOT_NULL";

	/**
	 * クエリ条件コード：ANY_NOT_EQUAL
	 * 複数項目等しくない用の項目。（個別設定）
	 */
	private static final String ANY_NOT_EQUAL_JOKEN_CODE = "ANY_NOT_EQUAL";

	//------------------------------------------------------------------------------------------------------
	// フィールドタイプコード
	//------------------------------------------------------------------------------------------------------
	/**
	 * フィールドタイプコード：D
	 */
	private static final String D_FIELD_TYPE_CODE = "D";
	/**
	 * フィールドタイプコード：V
	 */
	private static final String V_FIELD_TYPE_CODE = "V";
	/**
	 * フィールドタイプコード：I
	 */
	private static final String I_FIELD_TYPE_CODE = "I";
	//------------------------------------------------------------------------------------------------------
	// クエリ項目名
	//------------------------------------------------------------------------------------------------------
	/**
	 * クエリ対象項目管理番号 項目名：問合せのカテゴリー（ワークグループ）
	 */
	private static final String CTGR_LV_001_QUERY_TRGT_KMK_KANRI_NO = "0000000003";
	/**
	 * クエリ対象項目管理番号 項目名：問合せの第1カテゴリー
	 */
	private static final String CTGR_LV_002_QUERY_TRGT_KMK_KANRI_NO = "0000000004";
	/**
	 * クエリ対象項目管理番号 項目名：問合せの第2カテゴリー
	 */
	private static final String CTGR_LV_003_QUERY_TRGT_KMK_KANRI_NO = "0000000005";
	/**
	 * クエリ対象項目管理番号 項目名：問合せの第3カテゴリー
	 */
	private static final String CTGR_LV_004_QUERY_TRGT_KMK_KANRI_NO = "0000000006";
	/**
	 * クエリ対象項目管理番号 項目名：問合せの第4カテゴリー
	 */
	private static final String CTGR_LV_005_QUERY_TRGT_KMK_KANRI_NO = "0000000007";
	/**
	 * クエリ対象項目管理番号 項目名：問合せの第5カテゴリー
	 */
	private static final String CTGR_LV_006_QUERY_TRGT_KMK_KANRI_NO = "0000000008";
	/**
	 * クエリ対象項目管理番号 項目名：問合せの第6カテゴリー
	 */
	private static final String CTGR_LV_007_QUERY_TRGT_KMK_KANRI_NO = "0000000009";
	/**
	 * クエリ対象項目管理番号 項目名：問合せの第7カテゴリー
	 */
	private static final String CTGR_LV_008_QUERY_TRGT_KMK_KANRI_NO = "0000000010";
	/**
	 * クエリ対象項目管理番号 項目名：問合せの第8カテゴリー
	 */
	private static final String CTGR_LV_009_QUERY_TRGT_KMK_KANRI_NO = "0000000011";
	/**
	 * クエリ対象項目管理番号 項目名：問合せの第9カテゴリー
	 */
	private static final String CTGR_LV_010_QUERY_TRGT_KMK_KANRI_NO = "0000000012";
	/**
	 * クエリ対象項目管理番号 項目名：問合せの第10カテゴリー
	 */
	private static final String CTGR_LV_011_QUERY_TRGT_KMK_KANRI_NO = "0000000013";
	/**
	 * クエリ対象項目管理番号 項目名：作成日時
	 */
	private static final String ADD_YMD_QUERY_TRGT_KMK_KANRI_NO = "0000000016";
	/**
	 * クエリ対象項目管理番号 項目名：最終終了日
	 */
	private static final String LAST_END_YMD_QUERY_TRGT_KMK_KANRI_NO = "0000000017";
	/**
	 * クエリ対象項目管理番号 項目名：作成者
	 */
	private static final String USER_INS_OPT_QUERY_TRGT_KMK_KANRI_NO = "0000000018";
	/**
	 * クエリ対象項目管理番号 項目名：担当者
	 */
	private static final String USER_TAIO_QUERY_TRGT_KMK_KANRI_NO = "0000000019";
	/**
	 * クエリ対象項目管理番号 項目名：受付ワークグループ
	 */
	private static final String WKGRP_UK_QUERY_TRGT_KMK_KANRI_NO = "0000000020";
	/**
	 * クエリ対象項目管理番号 項目名：担当ワークグループ
	 */
	private static final String WKGRP_TANTO_QUERY_TRGT_KMK_KANRI_NO = "0000000021";
	/**
	 * クエリ対象項目管理番号 項目名：氏名カナ
	 */
	private static final String CUST_KANA_QUERY_TRGT_KMK_KANRI_NO = "0000000029";
	/**
	 * クエリ対象項目管理番号 項目名：氏名漢字
	 */
	private static final String CUST_NM_QUERY_TRGT_KMK_KANRI_NO = "0000000030";
	/**
	 * クエリ対象項目管理番号 項目名：電話番号
	 */
	private static final String TEL_NO_QUERY_TRGT_KMK_KANRI_NO = "0000000031";
	/**
	 * クエリ対象項目管理番号 項目名：携帯番号
	 */
	private static final String KTAI_TELNO_QUERY_TRGT_KMK_KANRI_NO = "0000000032";
	/**
	 * クエリ対象項目管理番号 項目名：メールアドレス
	 */
	private static final String MLAD_QUERY_TRGT_KMK_KANRI_NO = "0000000033";
	/**
	 * クエリ対象項目管理番号 項目名：郵便番号
	 */
	private static final String PCD_QUERY_TRGT_KMK_KANRI_NO = "0000000034";
	/**
	 * クエリ対象項目管理番号 項目名：住所
	 */
	private static final String AD_QUERY_TRGT_KMK_KANRI_NO = "0000000035";
	/**
	 * クエリ対象項目管理番号 項目名：備考
	 */
	private static final String BIKO_QUERY_TRGT_KMK_KANRI_NO = "0000000036";
	/**
	 * クエリ対象項目管理番号 項目名：申込書番号
	 */
	private static final String MSKMSHO_NO_QUERY_TRGT_KMK_KANRI_NO = "0000000041";
	/**
	 * クエリ対象項目管理番号 項目名：顧客タイプ
	 */
	private static final String CUST_TYPE_QUERY_TRGT_KMK_KANRI_NO = "0000000042";
	/**
	 * クエリ対象項目管理番号 項目名：認証ID
	 */
	private static final String NINSHO_ID_QUERY_TRGT_KMK_KANRI_NO = "0000000046";
	/**
	 * クエリ対象項目管理番号 項目名：送信者ユーザー
	 */
	private static final String USER_SEND_QUERY_TRGT_KMK_KANRI_NO = "0000000052";
	//------------------------------------------------------------------------------------------------------
	// エラーメッセージ
	//------------------------------------------------------------------------------------------------------
	/**
	 * クエリ条件の項目数が不正 引数不正時のメッセージ
	 */
	private static final String ERR_MSG_QUERY_KMK_COUNT = "指定したクエリ条件の項目数が不正です。各項目同じ数だけ指定してください。";
	/**
	 * 引数不正 引数にNULLがセットされている
	 */
	private static final String ERR_MSG_NULL_ARGUMENT = "引数にNULLが指定されています。";
	/**
	 * 引数不正 引数に空文字（""）がセットされている
	 */
	private static final String ERR_MSG_0_SIZE_STRING = "引数に空文字がセットされています。";
	/**
	 * 指定されたクエリ条件コードが不正です。
	 */
	private static final String ERR_MSG_ILLEGAL_QUERY_CODE = "クエリ条件コードが不正です。";
	/**
	 * 指定されたフィールドタイプコードが不正です。
	 */
	private static final String ERR_MSG_ILLEGAL_FIELD_TYPE = "フィールドタイプコードが不正です。";
	/**
	 * 指定されたスキーマに関する情報がありません。
	 */
	private static final String ERR_MSG_NON_SCHMA_ID = "指定されたスキーマに関する情報がありません。";
	/**
	 * 個別条件作成用リストが指定されていません。
	 */
	private static final String ERR_MSG_NON_ARRAY_LIST = "個別条件作成用リストが指定されていません。";
	/**
	 * 出力項目の指定がありません。
	 */
	private static final String ERR_MSG_NON_OUTPUT_ITEMS = "出力項目の指定がありません。";
	//------------------------------------------------------------------------------------------------------
	// クエリ条件作成用 HashMap Key
	//------------------------------------------------------------------------------------------------------
	/**
	 * クエリ条件作成用HashMap Key：outputItems
	 */
	private static final String KEY_OUTPUT_ITMES = "outputItems";
	/**
	 * クエリ条件作成用HashMap Key：conditions
	 */
	private static final String KEY_CONDITIONS = "conditions";
	/**
	 * クエリ条件作成用HashMap Key：select
	 */
	private static final String KEY_SELECT = "select";
	/**
	 * クエリ条件作成用HashMap Key：from
	 */
	private static final String KEY_FROM = "from";
	/**
	 * クエリ条件作成用HashMap Key：where
	 */
	private static final String KEY_WHERE = "where";
	/**
	 * クエリ条件作成用HashMap Key：alias
	 */
	private static final String KEY_ALIAS = "alias";
	/**
	 * クエリ条件作成用HashMap Key：join_schma_id
	 */
	private static final String KEY_JOIN_SCHMA_ID = "join_schma_id";
	//------------------------------------------------------------------------------------------------------
	// 区切り文字
	//------------------------------------------------------------------------------------------------------
	/**
	 * 出力項目区切り文字
	 */
	private static final String REGEX_SELECT_ITEMS_01 = ":";
	/**
	 * 出力項目区切り文字
	 */
	private static final String REGEX_SELECT_ITEMS_02 = "\\.";
	//------------------------------------------------------------------------------------------------------
	// 配列サイズ、Index
	//------------------------------------------------------------------------------------------------------
	/**
	 * 出力項目用配列サイズ
	 */
	private static final int MAX_SELECT_ITEMS_INDEX = 4;
	/**
	 * 条件作成用 配列サイズ
	 */
	private static final int MAX_QUERY_CONDITION_INDEX = 8;
	/**
	 * スキーマID 条件作成用 配列 Index 0
	 */
	private static final int INDEX_QUERY_CONDITION_SCHMA_ID = 0;
	/**
	 * クエリ対象項目管理番号 条件作成用 配列 Index 1
	 */
	private static final int INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO = 1;
	/**
	 * フィールド名 条件作成用 配列 Index 2
	 */
	private static final int INDEX_QUERY_CONDITION_FIELD_NM = 2;
	/**
	 * フィールドタイプコード 条件作成用 配列 Index 3
	 */
	private static final int INDEX_QUERY_CND_FIELD_TYPE_CD = 3;
	/**
	 * クエリ条件コード 条件作成用 配列 Index 4
	 */
	private static final int INDEX_QUERY_CND_QUERY_JOKEN_CD = 4;
	/**
	 * クエリ値 条件作成用 配列 Index 5
	 */
	private static final int INDEX_QUERY_CND_QUERY_VALUE = 5;
	/**
	 * AND条件フラグ 条件作成用 配列 Index 6
	 */
	private static final int INDEX_QUERY_CND_AND_JOKEN_FLG = 6;
	/**
	 * 検索グループ 条件作成用 配列 Index 7
	 */
	private static final int INDEX_QUERY_CND_JOKEN_GRP = 7;
	/**
	 * SELECT句作成用 配列 スキーマID
	 */
	private static final int INDEX_SELECT_SCHMA = 0;
	/**
	 * SELECT句作成用 配列 フィールド名
	 */
	private static final int INDEX_SELECT_FIELD = 1;
	/**
	 * SELECT句作成用 配列 コード種別コード
	 */
	private static final int INDEX_SELECT_CODE = 2;
	/**
	 * SELECT句作成用 配列 別名
	 */
	private static final int INDEX_SELECT_ALIAS = 3;
	//------------------------------------------------------------------------------------------------------
	// 桁数
	//------------------------------------------------------------------------------------------------------
	/**
	 * 項目桁数 スキーマID 6桁
	 */
	private static final int LENGTH_SCHMA_ID = 6;
	/**
	 * 項目桁数 クエリ対象項目管理番号 10桁
	 */
	private static final int LENGTH_QUERY_TRGT_KMK_KANRI_NO = 10;
	/**
	 * 項目桁数 クエリ項目番号 10桁
	 */
	private static final int LENGTH_QUERY_KMK_NO = 10;
	/**
	 * 項目桁数 クエリ項目名 50桁
	 */
	private static final int LENGTH_QUERY_KMK_NM = 50;
	/**
	 * 項目桁数 フィールド名 26桁
	 */
	private static final int LENGTH_FIELD_NM = 26;
	/**
	 * 項目桁数 フィールドタイプコード 1桁
	 */
	private static final int LENGTH_FIELD_TYPE_CD = 1;
	/**
	 * 項目桁数 クエリ条件コード 2桁
	 */
	private static final int LENGTH_QUERY_JOKEN_CD = 2;
	/**
	 * 項目桁数 クエリ値 40桁
	 */
	private static final int LENGTH_QUERY_VALUE = 40;
	/**
	 * 項目桁数 OR条件有無 1桁
	 */
	private static final int LENGTH_OR_JOKEN_UM = 1;
	//------------------------------------------------------------------------------------------------------
	// その他
	//------------------------------------------------------------------------------------------------------
	/**
	 * 顧客タイプ クエリ値 未加入
	 */
	private static final String MIKANYU_QUERY_VALUE = "00";
	/**
	 * 顧客タイプ クエリ値が未加入または既加入の場合のフィールド名、フィールドタイプコード、クエリ条件コード
	 * クエリ値、OR条件有無
	 */
	private static final String NON_JOKEN_FOR_CUST_TYPE = "NON";
	
	/**
	 * AND条件フラグ AND条件
	 */
	private static final String AND_JOKEN = "1";
	/**
	 * 検索グループ グループ項目
	 */
	private static final String JOKEN_GRP_ITEM = "1";

	/**
	 *  契約者情報リスト
	 */
	private static final ArrayList<String> KEISHA_INF_LIST = new ArrayList<String>();
	static {
		Collections.addAll(KEISHA_INF_LIST
						, "CUST_NM"
						, "CUST_KANA"
						, "CUST_SEX_CD"
						, "CUST_BIRTHD"
						, "KEISHA_AD_CD"
						, "KEISHA_PCD"
						, "KEISHA_STATE_NM"
						, "KEISHA_CITY_NM"
						, "KEISHA_OAZTSU_NM"
						, "KEISHA_AZCHO_NM"
						, "KEISHA_BNCHIGO"
						, "KEISHA_ADRTTM"
						, "KEISHA_ADRRM");
	}
	/**
	 *  コンテンツ情報リスト
	 */
	private static final ArrayList<String> CONT_INF_LIST = new ArrayList<String>();
	static {
		CONT_INF_LIST.add("CONT_CUST_NM");
		CONT_INF_LIST.add("CONT_CUST_KANA");
		CONT_INF_LIST.add("CONT_CUST_SEX_CD");
		CONT_INF_LIST.add("CONT_CUST_BIRTHD");
		CONT_INF_LIST.add("CONT_AD_CD");
		CONT_INF_LIST.add("CONT_PCD");
		CONT_INF_LIST.add("CONT_STATE_NM");
		CONT_INF_LIST.add("CONT_CITY_NM");
		CONT_INF_LIST.add("CONT_OAZTSU_NM");
		CONT_INF_LIST.add("CONT_AZCHO_NM");
		CONT_INF_LIST.add("CONT_BNCHIGO");
		CONT_INF_LIST.add("CONT_ADRTTM");
		CONT_INF_LIST.add("CONT_ADRRM");
	}

	/**
	 * No.2 問合せクエリ条件作成
	 * <BR>
	 * 引数で渡された、条件作成情報から出力項目（SELECT句）、テーブル結合条件（FROM句）、
	 * 個別条件（WHERE句）を作成します。
	 * <BR>
	 * @param select_items [スキーマID].[フィールド名].[コード種別コード]: ･･･
	 * @param schma_id スキーマID 6桁（固定長）×100（最大）
	 * @param query_kmk_no クエリ項目番号 10桁（固定長）×100（最大）
	 * @param query_kmk_nm クエリ項目名 50桁（固定長 桁数が満たない場合はスペースで埋める）×100（最大）
	 * @param field_nm フィールド名 26桁（固定長 桁数が満たない場合はスペースで埋める）×100（最大）
	 * @param field_type_cd フィールドタイプコード 1桁（固定長）×100（最大）
	 * @param query_joken_cd クエリ条件コード 2桁（固定長）×100（最大）
	 * @param query_value クエリ値 40桁（固定長 桁数が満たない場合はスペースで埋める）×100（最大）
	 * @param or_joken_um OR条件有無 1桁（固定長）×100（最大）
	 * @param base_ymd 基準年月日
	 * @return HashMap<String , Object>
	 * @throws IllegalArgumentException
	 */
	
	public static HashMap<String , Object> createCondtionInfo(String select_items, String schma_id, 
												String query_trgt_kmk_kanri_no , String query_kmk_no , String query_kmk_nm, 
												String field_nm, String field_type_cd, 
												String query_joken_cd, String query_value, 
												String or_joken_um , String base_ymd) throws IllegalArgumentException
	{
		//-----------------------------------------------------------------------------------------------------
		//(1)引数チェック
		//-----------------------------------------------------------------------------------------------------
		if(select_items == null || schma_id == null || query_kmk_no == null || query_kmk_nm == null ||
				field_nm == null || field_type_cd == null || query_joken_cd == null || query_value == null ||
				or_joken_um == null || base_ymd == null)
		{
			throw new IllegalArgumentException(ERR_MSG_NULL_ARGUMENT);
		}
		//空文字チェック
		if("".equals(select_items) || "".equals(schma_id) || "".equals(query_kmk_no) || "".equals(query_kmk_nm) ||
				"".equals(field_nm) || "".equals(field_type_cd) || "".equals(query_joken_cd) || "".equals(query_value) ||
				"".equals(or_joken_um) || "".equals(base_ymd))
		{
			throw new IllegalArgumentException(ERR_MSG_0_SIZE_STRING);
		}
		//-----------------------------------------------------------------------------------------------------
		//(2)No.6 問合せクエリ条件作成用情報取得を呼び出し、条件作成情報を取得する
		//-----------------------------------------------------------------------------------------------------
		HashMap<String , Object> queryConditionInfo = getCounditionInfoForMap(select_items , schma_id , query_trgt_kmk_kanri_no , query_kmk_no , query_kmk_nm , 
														field_nm , field_type_cd , query_joken_cd , query_value , or_joken_um);
		//-----------------------------------------------------------------------------------------------------
		//(3) No.7 SQL文作成処理を呼び出す。
		//    (2)で作成したHashMapを元に、SELECT句、FROM句、WHERE句を作成し、それぞれHashMapへセットする。
		//   
		//-----------------------------------------------------------------------------------------------------
		createCondtion(queryConditionInfo , base_ymd);
		
		
		return queryConditionInfo;
	}

	
	/**
	 * No.3 出力項目取得
	 * <BR>
	 * 作成した出力項目（SELECT句）を返却します。
	 * <BR>
	 * @param condition_info_map
	 * @return String
	 */
	public static String getSelectItems(HashMap<String , Object> condition_info_map)
	{
		//-----------------------------------------------------------------------------------------------------
		//(1)引数チェック
		//-----------------------------------------------------------------------------------------------------
		if(condition_info_map == null)
		{
			throw new IllegalArgumentException(ERR_MSG_NULL_ARGUMENT);
		}
		//-----------------------------------------------------------------------------------------------------
		//(2)条件作成情報にセットされているテーブル結合条件（FROM句）を返却する。
		//-----------------------------------------------------------------------------------------------------
		return condition_info_map.get(KEY_SELECT).toString();
	}
	
	/**
	 * No.4 テーブル結合条件取得
	 * <BR>
	 * 作成したテーブル結合条件（FROM句）を返却します。
	 * <BR>
	 * @param condition_info_map
	 * @return String
	 */
	public static String getJoinCondtion(HashMap<String , Object> condition_info_map)
	{
		//-----------------------------------------------------------------------------------------------------
		//(1)引数チェック
		//-----------------------------------------------------------------------------------------------------
		if(condition_info_map == null)
		{
			throw new IllegalArgumentException(ERR_MSG_NULL_ARGUMENT);
		}
		//-----------------------------------------------------------------------------------------------------
		//(2)条件作成情報にセットされているテーブル結合条件（FROM句）を返却する。
		//-----------------------------------------------------------------------------------------------------
		return condition_info_map.get(KEY_FROM).toString();
	}
	
	/**
	 * No.5 個別条件取得
	 * 作成した個別条件（alias）を返却する。
	 * <BR>
	 * @param condition_info_map
	 * @return ArrayList<String>
	 */
	public static ArrayList<String> getAlias(HashMap<String , Object> condition_info_map)
	{
		//-----------------------------------------------------------------------------------------------------
		//(1)引数チェック
		//-----------------------------------------------------------------------------------------------------
		if(condition_info_map == null)
		{
			throw new IllegalArgumentException(ERR_MSG_NULL_ARGUMENT);
		}
		//-----------------------------------------------------------------------------------------------------
		//(2)条件作成情報にセットされている個別条件（WHERE句）を返却する。
		//-----------------------------------------------------------------------------------------------------
		return (ArrayList<String>) condition_info_map.get(KEY_ALIAS);
	}
	
	/**
	 * No.6 個別条件取得
	 * 作成した個別条件（WHERE句）を返却する。
	 * <BR>
	 * @param condition_info_map
	 * @return String
	 */
	public static String getCondtion(HashMap<String , Object> condition_info_map)
	{
		//-----------------------------------------------------------------------------------------------------
		//(1)引数チェック
		//-----------------------------------------------------------------------------------------------------
		if(condition_info_map == null)
		{
			throw new IllegalArgumentException(ERR_MSG_NULL_ARGUMENT);
		}
		//-----------------------------------------------------------------------------------------------------
		//(2)条件作成情報にセットされている個別条件（WHERE句）を返却する。
		//-----------------------------------------------------------------------------------------------------
		return condition_info_map.get(KEY_WHERE).toString();
	}
	
	/**
	 * No.7 問合せクエリ条件作成用情報取得
	 * <BR>
	 * 引数で渡された、条件作成情報をHashMapへセットし、そのHashMapを返します。
	 * <BR>
	 * @param select_items [スキーマID].[フィールド名].[コード種別コード]: ･･･
	 * @param schma_id スキーマID 6桁（固定長）×100（最大）
	 * @param query_kmk_no クエリ項目番号 10桁（固定長）×100（最大）
	 * @param query_kmk_nm クエリ項目名 50桁（固定長 桁数が満たない場合はスペースで埋める）×100（最大）
	 * @param field_nm フィールド名 26桁（固定長 桁数が満たない場合はスペースで埋める）×100（最大）
	 * @param field_type_cd フィールドタイプコード 1桁（固定長）×100（最大）
	 * @param query_joken_cd クエリ条件コード 2桁（固定長）×100（最大）
	 * @param query_value クエリ値 40桁（固定長 桁数が満たない場合はスペースで埋める）×100（最大）
	 * @param or_joken_um OR条件有無 1桁（固定長）×100（最大）
	 * @return HashMap<String , Object>
	 * @throws IllegalArgumentException
	 */
	private static HashMap<String , Object> getCounditionInfoForMap(String select_items , String schma_id , 
													String query_trgt_kmk_kanri_no , String query_kmk_no , 
													String query_kmk_nm , String field_nm , String field_type_cd , 
													String query_joken_cd , String query_value , 
													String or_joken_um) throws IllegalArgumentException
	{
		//条件作成情報 HashMap
		HashMap<String, Object> queryCndInf = new HashMap<String, Object>();
		
		//--------------------------------------------------------------------------------------------------------
		// (1)条件作成情報 HashMap Key：outputItems のValueを作成する
		//  文字列 [スキーマID].[フィールド名].[コード種別コード]:[スキーマID].[フィールド名].[コード種別コード]: ・・・
		//  から2次元配列へ格納
		//--------------------------------------------------------------------------------------------------------
		//「：」で区切られた文字列を1次元配列へ分解する
		String[] selectItemsArraySchmas = select_items.split(REGEX_SELECT_ITEMS_01);
		
		if(selectItemsArraySchmas.length == 0)
		{
			//正しく分解できなかった場合、引数不正とし、例外を発生させる。
			throw new IllegalArgumentException(ERR_MSG_NON_OUTPUT_ITEMS);
		}
		
		//「．」で区切られた文字列を配列へ分解し、2次元配列を作成する
		String[][] selectItemsArray = new String[selectItemsArraySchmas.length][MAX_SELECT_ITEMS_INDEX];
		List<String> aliasArray = new ArrayList<String>();
		for(int iCntSchmas = 0 ; iCntSchmas < selectItemsArraySchmas.length ; iCntSchmas++)
		{
			String[] selectItemsArrayFields = selectItemsArraySchmas[iCntSchmas].split(REGEX_SELECT_ITEMS_02);
			if(selectItemsArrayFields.length == 0)
			{
				//正しく分解できなかった場合、引数不正とし、例外を発生させる。
				throw new IllegalArgumentException(ERR_MSG_NON_OUTPUT_ITEMS);
			}
			for(int iCntFields = 0 ; iCntFields < selectItemsArrayFields.length ; iCntFields++)
			{
				selectItemsArray[iCntSchmas][iCntFields] = selectItemsArrayFields[iCntFields];
			}

			String alias = "";
			// ALIASが指定されている場合
			if (selectItemsArray[iCntSchmas][INDEX_SELECT_ALIAS] != null && !"".equals(selectItemsArray[iCntSchmas][INDEX_SELECT_ALIAS]))
			{
				alias = selectItemsArray[iCntSchmas][INDEX_SELECT_ALIAS];
			}
			else
			{
				alias = selectItemsArray[iCntSchmas][INDEX_SELECT_FIELD];
			}
			aliasArray.add(alias);

			//
			if(selectItemsArray[iCntSchmas][INDEX_SELECT_CODE] != null && !("".equals(selectItemsArray[iCntSchmas][INDEX_SELECT_CODE])))
			{
				aliasArray.add(alias + "_NM");
			}

		}
		//条件作成情報 HashMap Key：outputItems に2次元配列をセットする
		queryCndInf.put(KEY_OUTPUT_ITMES , selectItemsArray);

		//条件作成情報 HashMap Key：alias にArrayListをセットする
		queryCndInf.put(KEY_ALIAS, aliasArray);

		//--------------------------------------------------------------------------------------------------------
		// (2)条件作成情報 HashMap Key：conditions のValueを作成する
		//--------------------------------------------------------------------------------------------------------
		//固定長で結合された文字列を分割して配列へ
		//スキーマID
		String[] condSchmas = JCRModelCommon.splitQueryCondition(schma_id , LENGTH_SCHMA_ID);
		//クエリ項目番号
		String[] condQueryTrgtKmkKanriNo = JCRModelCommon.splitQueryCondition(query_trgt_kmk_kanri_no , LENGTH_QUERY_TRGT_KMK_KANRI_NO);
		//クエリ項目番号
		String[] condQueryKmkNo = JCRModelCommon.splitQueryCondition(query_kmk_no , LENGTH_QUERY_KMK_NO);
		//クエリ項目名
		String[] condQueryKmkNm = JCRModelCommon.splitQueryCondition(query_kmk_nm , LENGTH_QUERY_KMK_NM);
		//フィールド名
		String[] condFieldNm = JCRModelCommon.splitQueryCondition(field_nm , LENGTH_FIELD_NM);
		//フィールドタイプコード
		String[] condFieldTypeCd = JCRModelCommon.splitQueryCondition(field_type_cd , LENGTH_FIELD_TYPE_CD);
		//クエリ条件コード
		String[] condQueryJokenCd = JCRModelCommon.splitQueryCondition(query_joken_cd , LENGTH_QUERY_JOKEN_CD);
		//クエリ値
		String[] condQueryValue = JCRModelCommon.splitQueryCondition(query_value , LENGTH_QUERY_VALUE);
		//OR条件有無
		String[] condOrJokenUm = JCRModelCommon.splitQueryCondition(or_joken_um , LENGTH_OR_JOKEN_UM);
		
		//配列サイズチェック基準 クエリ項目番号
		int condQueryKmkNoSize = condQueryKmkNo.length;
		//--------------------------------------------------------------------------------------------------------
		// (3)各配列のサイズチェック
		//    配列すべてのサイズが同じである事
		//--------------------------------------------------------------------------------------------------------
		if((condQueryKmkNoSize != condQueryTrgtKmkKanriNo.length) || (condQueryKmkNoSize != condSchmas.length) ||
				(condQueryKmkNoSize != condQueryKmkNm.length) ||(condQueryKmkNoSize != condFieldNm.length) || 
				(condQueryKmkNoSize != condFieldTypeCd.length) || (condQueryKmkNoSize != condQueryJokenCd.length) || 
				(condQueryKmkNoSize != condQueryValue.length) ||(condQueryKmkNoSize != condOrJokenUm.length))
		{
			//配列サイズが異なるため、指定された引数が不正
			throw new IllegalArgumentException(ERR_MSG_QUERY_KMK_COUNT);
		}
		
		//--------------------------------------------------------------------------------------------------------
		// (4)条件作成情報 HashMap Key：conditions への設定する クエリ項目情報 HashMapを作成する
		//--------------------------------------------------------------------------------------------------------
		//[クエリ項目番号] + "-" + [クエリ項目名]ごとのHashMap
		HashMap<String , ArrayList<String[]>> schmaMap = new HashMap<String , ArrayList<String[]>>();
		//条件を格納するArrayList
		ArrayList<String[]> queryKmkMapValues = null;

		// クエリ条件コードマップ
		HashMap<String, ArrayList<String>> mapQueryJokenCd = new HashMap<String, ArrayList<String>>();
		// クエリ値マップ
		HashMap<String, ArrayList<String>> mapQueryValue = new HashMap<String, ArrayList<String>>();

		for(int iCnt = 0 ; iCnt < condQueryKmkNoSize ; iCnt++)
		{

			if (CUST_TYPE_QUERY_TRGT_KMK_KANRI_NO.equals(condQueryTrgtKmkKanriNo[iCnt]))
			{
				// クエリ条件コードリスト
				ArrayList<String> arrayQueryJokenCd;
				// クエリ値リスト
				ArrayList<String> arrayQueryValue;

				//----------------------------------------------------------------------------------------------------
				// (a)[クエリ項目番号] + "-" + [クエリ項目名]ごとにArrayListを作成する。
				//----------------------------------------------------------------------------------------------------
				String queryKmkNo_Nm = condQueryKmkNo[iCnt] + "-" + condQueryKmkNm[iCnt];

				if (mapQueryJokenCd.containsKey(queryKmkNo_Nm))
				{
					arrayQueryJokenCd = mapQueryJokenCd.get(queryKmkNo_Nm);
				}
				else
				{
					arrayQueryJokenCd = new ArrayList<String>();
					mapQueryJokenCd.put(queryKmkNo_Nm, arrayQueryJokenCd);
				}

				if (mapQueryValue.containsKey(queryKmkNo_Nm))
				{
					arrayQueryValue = mapQueryValue.get(queryKmkNo_Nm);
				}
				else
				{
					arrayQueryValue = new ArrayList<String>();
					mapQueryValue.put(queryKmkNo_Nm, arrayQueryValue);
				}

				arrayQueryJokenCd.add(condQueryJokenCd[iCnt]);
				arrayQueryValue.add(condQueryValue[iCnt]);

				continue;
			}

			//----------------------------------------------------------------------------------------------------
			// (a)[クエリ項目番号] + "-" + [クエリ項目名]ごとにArrayListを作成する。
			//----------------------------------------------------------------------------------------------------
			String queryKmkNo_Nm = condQueryKmkNo[iCnt] + "-" + condQueryKmkNm[iCnt];
			
			if(!(schmaMap.containsKey(queryKmkNo_Nm)))
			{
				//------------------------------------------------------------------------------------------------
				// ・新たな[クエリ項目番号] + "-" + [クエリ項目名]が出現した場合、ArrayListを生成する。
				//   （スキーマID、フィールド名などを格納したString[]をセットするため）
				//------------------------------------------------------------------------------------------------
				queryKmkMapValues = new ArrayList<String[]>();
				schmaMap.put(queryKmkNo_Nm , queryKmkMapValues);
			}
			else
			{
				//------------------------------------------------------------------------------------------------
				// ・既に[クエリ項目番号] + "-" + [クエリ項目名]に関連付けられたArrayListが存在するため、
				//   それを取得する
				//------------------------------------------------------------------------------------------------
				queryKmkMapValues = schmaMap.get(queryKmkNo_Nm);
			}
			//----------------------------------------------------------------------------------------------------
			// (b)(a)で作成したArrayListに、[クエリ項目番号] + "-" + [クエリ項目名]に関連するスキーマID、
			//    フィールド名、フィールドタイプコード、クエリ条件コード、クエリ値、OR条件有無、をStirng[]
			//    としてセットする。
			//----------------------------------------------------------------------------------------------------
			createPrepareCndArray(condSchmas[iCnt] , condQueryTrgtKmkKanriNo[iCnt] , condFieldNm[iCnt] ,
									condFieldTypeCd[iCnt] , condQueryJokenCd[iCnt] , condQueryValue[iCnt] , 
									condOrJokenUm[iCnt] , queryKmkMapValues);
		}

		Iterator<String> itrQueryCustType = mapQueryJokenCd.keySet().iterator();
		while (itrQueryCustType.hasNext())
		{
			String queryKmkNo_Nm = itrQueryCustType.next();
			
			// クエリ条件コードリスト
			ArrayList<String> arrayQueryJokenCd = mapQueryJokenCd.get(queryKmkNo_Nm);
			String[] queryJokenCd = arrayQueryJokenCd.toArray(new String[arrayQueryJokenCd.size()]);

			// クエリ値リスト
			ArrayList<String> arrayQueryValue = mapQueryValue.get(queryKmkNo_Nm);
			String[] queryValue = arrayQueryValue.toArray(new String[arrayQueryValue.size()]);

			if(!(schmaMap.containsKey(queryKmkNo_Nm)))
			{
				//------------------------------------------------------------------------------------------------
				// ・新たな[クエリ項目番号] + "-" + [クエリ項目名]が出現した場合、ArrayListを生成する。
				//   （スキーマID、フィールド名などを格納したString[]をセットするため）
				//------------------------------------------------------------------------------------------------
				queryKmkMapValues = new ArrayList<String[]>();
				schmaMap.put(queryKmkNo_Nm , queryKmkMapValues);
			}
			else
			{
				//------------------------------------------------------------------------------------------------
				// ・既に[クエリ項目番号] + "-" + [クエリ項目名]に関連付けられたArrayListが存在するため、
				//   それを取得する
				//------------------------------------------------------------------------------------------------
				queryKmkMapValues = schmaMap.get(queryKmkNo_Nm);
			}

			createPrepareCndArrayCustType(queryJokenCd , queryValue , queryKmkMapValues);
		}

		//クエリ項目情報 HashMapをセットする
		queryCndInf.put(KEY_CONDITIONS, schmaMap);
		
		return queryCndInf;
	}

	/**
	 * No.8 SQL文作成処理
	 * <BR>
	 * 引数で渡された、条件作成情報から出力項目（SELECT句）、テーブル結合条件（FROM句）、
	 * 個別条件（WHERE句）を作成し、条件作成情報へセットします。
	 * <BR>
	 * @param condition_info_map
	 * @param base_ymd 
	 * @throws IllegalArgumentException
	 */
	private static void createCondtion(HashMap<String , Object> condition_info_map , String base_ymd) throws IllegalArgumentException
	{
		//--------------------------------------------------------------------------------------------------------
		// (1)引数チェック
		//--------------------------------------------------------------------------------------------------------
		if(condition_info_map == null)
		{
			throw new IllegalArgumentException(ERR_MSG_NULL_ARGUMENT);
		}
		//--------------------------------------------------------------------------------------------------------
		// (2)条件作成情報からテーブル結合条件（FROM句）および個別条件を作成する。
		//--------------------------------------------------------------------------------------------------------

		//--------------------------------------------------------------------------------------------------------
		// (a)SELECT句に含まれる項目に関する結合条件（FROM句）作成する。
		//--------------------------------------------------------------------------------------------------------
		
		//スキーマ結合用 SQL文の From句
		StringBuilder schmaJoinForFROM = new StringBuilder();
		//既にスキーマ結合されているリスト
		ArrayList<String> tableJoinList = (ArrayList<String>)condition_info_map.get(KEY_JOIN_SCHMA_ID);
		if(tableJoinList == null)
		{
			tableJoinList = new ArrayList<String>();
			//対応記録スキーマは既に結合済みとしておく。
			tableJoinList.add(CR0011_CR_T_TAIO_KIROK);
		}
		//SELECT句、スキーマ結合 作成用
		String[][] outputItems = (String[][])condition_info_map.get(KEY_OUTPUT_ITMES);
		//スキーマ結合作成
		schmaJoinForFROM.append(" CR_T_TAIO_KIROK CR0011 ");
		for(int iCnt = 0 ; iCnt < outputItems.length ; iCnt++)
		{
			//スキーマ結合条件を作成
			schmaJoinForFROM.append(getConditionForJoin(outputItems[iCnt][INDEX_SELECT_SCHMA] , tableJoinList ,  ""  , "" , base_ymd));
		}
		
		//--------------------------------------------------------------------------------------------------------
		// (b)WHERE句に含まれる項目（個別条件）に関する結合条件（FROM句）および個別条件（WHERE句）を作成する。
		//--------------------------------------------------------------------------------------------------------
		StringBuilder queryConditionForWHERE = new StringBuilder();
		//個別条件、スキーマ結合 作成用
		HashMap<String , ArrayList<String[]>> conditionValue = 
									(HashMap<String , ArrayList<String[]>>)condition_info_map.get(KEY_CONDITIONS);
		//キーセット
		Iterator<String> it = conditionValue.keySet().iterator();
		//AND条件
		String andJoken = "";
		while(it.hasNext())
		{
			//[クエリ項目番号]-[クエリ項目名]
			String queryKmkNm_No = it.next();
			//クエリ項目名
			String queryKmk =  queryKmkNm_No.substring(queryKmkNm_No.indexOf("-") + 1);
			//[クエリ項目番号]-[クエリ項目名]に関連するリスト
			ArrayList<String[]> queryKmkMapValues = conditionValue.get(queryKmkNm_No);
			//--------------------------------------------------------------------------------------------------------
			// 結合条件（FROM句）を作成する。
			//--------------------------------------------------------------------------------------------------------
			for(int iCnt = 0 ; iCnt < queryKmkMapValues.size() ; iCnt++)
			{
				//スキーマID、フィールド名などを格納したString[]を取得
				String[] queryConditionInfo = queryKmkMapValues.get(iCnt);
				//スキーマ結合条件を作成
				schmaJoinForFROM.append(getConditionForJoin(queryConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] , 
						tableJoinList , queryConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO], queryKmk  , base_ymd));
			}
			//--------------------------------------------------------------------------------------------------------
			// 個別条件（WHERE句）を作成する。
			//--------------------------------------------------------------------------------------------------------
			//スキーマID、フィールド名などを格納したString[]を取得
			String[] queryConditionInfo = queryKmkMapValues.get(0);
			queryConditionForWHERE.append(andJoken + getConditionForWhere(
					queryConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] , queryKmkMapValues));
			if("".equals(andJoken))
			{
				andJoken = " AND ";
			}
		}

		//--------------------------------------------------------------------------------------------------------
		// (3)作成した結合条件を条件作成情報に格納する。
		//--------------------------------------------------------------------------------------------------------
		condition_info_map.put(KEY_FROM, schmaJoinForFROM);
		
		//--------------------------------------------------------------------------------------------------------
		// (4)作成した個別条件（WHERE句）を条件作成情報へ格納する。
		//--------------------------------------------------------------------------------------------------------
		condition_info_map.put(KEY_WHERE, queryConditionForWHERE);
		
		//--------------------------------------------------------------------------------------------------------
		// (5)条件作成情報から出力項目を取得し、出力情報（SELECT句）を作成し、条件作成情報へ格納する。
		//--------------------------------------------------------------------------------------------------------
		StringBuilder queryForSELECT = new StringBuilder();
		String delim = "";
		for(int iCnt = 0 ; iCnt < outputItems.length ; iCnt++)
		{

			String alias = "";
			if (outputItems[iCnt][INDEX_SELECT_ALIAS] != null && !"".equals(outputItems[iCnt][INDEX_SELECT_ALIAS]))
			{
				alias = outputItems[iCnt][INDEX_SELECT_ALIAS];
			}
			else
			{
				alias = outputItems[iCnt][INDEX_SELECT_FIELD];
			}

			int custIdx = -1;

			// お客様スキーマで契約者情報とコンテンツ情報に関する項目の場合
			if (CK0011_CK_T_CUST.equals(outputItems[iCnt][INDEX_SELECT_SCHMA]) 
				&& (KEISHA_INF_LIST.contains(outputItems[iCnt][INDEX_SELECT_FIELD]) || CONT_INF_LIST.contains(outputItems[iCnt][INDEX_SELECT_FIELD])))
			{
	
				if (KEISHA_INF_LIST.contains(outputItems[iCnt][INDEX_SELECT_FIELD]))
				{
					custIdx = KEISHA_INF_LIST.indexOf(outputItems[iCnt][INDEX_SELECT_FIELD]);
				}
				if (CONT_INF_LIST.contains(outputItems[iCnt][INDEX_SELECT_FIELD]))
				{
					custIdx = CONT_INF_LIST.indexOf(outputItems[iCnt][INDEX_SELECT_FIELD]);
				}

				queryForSELECT.append(delim)
							  .append("    CASE WHEN CK0011.MEMBER_SBT_CD IN ('11', '21', '30') THEN CK0011." + CONT_INF_LIST.get(custIdx))
							  .append("    ELSE")
							  .append("      CASE WHEN (CK0011.MMB_SBT_TOKUT_FLG = '0' AND CK0011.EONETID_MI_IKO_FLG = '1') THEN CK0011." + CONT_INF_LIST.get(custIdx))
							  .append("      ELSE CK0011." + KEISHA_INF_LIST.get(custIdx))
							  .append("      END")
							  .append("    END AS " + alias);
			}
			else
			{
				//・[スキーマID].[フィールド名]
				queryForSELECT.append("    " + delim + outputItems[iCnt][INDEX_SELECT_SCHMA] + "." + outputItems[iCnt][INDEX_SELECT_FIELD] + " AS " + alias);
			}

			if("".equals(delim))
			{
				delim = ",";
			}

			//・コード種別が指定されている場合、名称取得の副問合せのSQL文を追加する。
			if(outputItems[iCnt][INDEX_SELECT_CODE] != null && !("".equals(outputItems[iCnt][INDEX_SELECT_CODE])))
			{
				// お客様スキーマで契約者情報とコンテンツ情報に関する項目の場合
				if (custIdx != -1)
				{
					queryForSELECT.append(delim)
								  .append("    CASE WHEN CK0011.MEMBER_SBT_CD IN ('11', '21', '30') THEN ")
								  .append("    (SELECT ZM0171.CD_DIV_NM")
								  .append("     FROM   ZM_M_CD_NM_KANRI ZM0171")
								  .append("     WHERE  ZM0171.CD_SBT_CD = '" + outputItems[iCnt][INDEX_SELECT_CODE] + "'")
								  .append("        AND ZM0171.CD_DIV = CK0011." + CONT_INF_LIST.get(custIdx))
								  .append("        AND ZM0171.MK_FLG = '0')")
								  .append("    ELSE")
								  .append("      CASE WHEN (CK0011.MMB_SBT_TOKUT_FLG = '0' AND CK0011.EONETID_MI_IKO_FLG = '1') THEN ")
								  .append("      (SELECT ZM0171.CD_DIV_NM")
								  .append("       FROM   ZM_M_CD_NM_KANRI ZM0171")
								  .append("       WHERE  ZM0171.CD_SBT_CD = '" + outputItems[iCnt][INDEX_SELECT_CODE] + "'")
								  .append("          AND ZM0171.CD_DIV = CK0011." + CONT_INF_LIST.get(custIdx))
								  .append("          AND ZM0171.MK_FLG = '0')")
								  .append("      ELSE ")
								  .append("      (SELECT ZM0171.CD_DIV_NM")
								  .append("       FROM   ZM_M_CD_NM_KANRI ZM0171")
								  .append("       WHERE  ZM0171.CD_SBT_CD = '" + outputItems[iCnt][INDEX_SELECT_CODE] + "'")
								  .append("          AND ZM0171.CD_DIV = CK0011." + KEISHA_INF_LIST.get(custIdx))
								  .append("          AND ZM0171.MK_FLG = '0')")
								  .append("      END")
								  .append("    END AS " + alias + "_NM");
				}
				else
				{
					queryForSELECT
						.append(delim)
						.append("   (SELECT ZM0171.CD_DIV_NM")
						.append("    FROM   ZM_M_CD_NM_KANRI ZM0171")
						.append("    WHERE  ZM0171.CD_SBT_CD = '" + outputItems[iCnt][INDEX_SELECT_CODE] + "'")
						.append("       AND ZM0171.CD_DIV = " + outputItems[iCnt][INDEX_SELECT_SCHMA] + "." + outputItems[iCnt][INDEX_SELECT_FIELD])
						.append("       AND ZM0171.MK_FLG = '0') AS " + alias + "_NM");
				}

			}
		}
		condition_info_map.put(KEY_SELECT, queryForSELECT);
	}
	

	/**
	 * No.9 個別条件作成処理
	 * <BR>
	 * スキーマID、フィールドタイプ、クエリ条件コード、クエリ値、OR条件有無から
	 * SQL文のWHERE句に指定する条件文を返します。
	 * <BR>
	 * @param query_kmk_no クエリ項目番号
	 * @param conditions スキーマ名、フィールドタイプなどのString[]を同じクエリ項目名でまとめたArrayList
	 * @return WHERE句に指定する条件文
	 * @throws IllegalArgumentException
	 */
	private static String getConditionForWhere(String query_trgt_kmk_kanri_no , ArrayList<String[]> conditions) throws IllegalArgumentException
	{
		//--------------------------------------------------------------------------------------------------------
		// (1)引数チェック
		//--------------------------------------------------------------------------------------------------------
		if(conditions == null || conditions.size() < 1)
		{
			throw new IllegalArgumentException(ERR_MSG_NULL_ARGUMENT);
		}
		//--------------------------------------------------------------------------------------------------------
		// (2)条件文の作成
		//--------------------------------------------------------------------------------------------------------
		ArrayList<String> conditionsNotEqual = new ArrayList<String>();
		StringBuilder sqlWhere = new StringBuilder();
		boolean groupJoken = false;
		sqlWhere.append(" (");
		for(int iCnt = 0 ; iCnt < conditions.size() ; iCnt++)
		{
			//(a)スキーマID、フィールド名、フィールドタイプコード、クエリ条件コード、クエリ値 配列の取得
			String[] queryConditionArray = conditions.get(iCnt);
			
			//(b) 個別条件が「顧客タイプが未加入に等しい」場合と「顧客タイプが未加入と等しくない」場合は、"NON"が設定さ
			//    れている。
			// その場合、条件作成は不要のため、条件作成をとばす。
			if(NON_JOKEN_FOR_CUST_TYPE.equals(queryConditionArray[INDEX_QUERY_CONDITION_FIELD_NM]) &&
					NON_JOKEN_FOR_CUST_TYPE.equals(queryConditionArray[INDEX_QUERY_CND_FIELD_TYPE_CD]) && 
					NON_JOKEN_FOR_CUST_TYPE.equals(queryConditionArray[INDEX_QUERY_CND_QUERY_JOKEN_CD]) && 
					NON_JOKEN_FOR_CUST_TYPE.equals(queryConditionArray[INDEX_QUERY_CND_QUERY_VALUE]))
			{
				continue;
			}
			//(c)ORの付加
			if(iCnt != 0)
			{
				// AND条件フラグが"1"の場合、「AND」
				// 上記以外の場合、「OR」
				if (AND_JOKEN.equals(queryConditionArray[INDEX_QUERY_CND_AND_JOKEN_FLG]))
				{
					sqlWhere.append(" AND ");
				}
				else
				{
					sqlWhere.append(" OR ");
				}
			}

			if (JOKEN_GRP_ITEM.equals(queryConditionArray[INDEX_QUERY_CND_JOKEN_GRP]) && !groupJoken)
			{
				sqlWhere.append(" ( ");
				groupJoken = true;
			}

			//(d)条件の作成
			//   No.9 クエリ条件コード編集を呼び出し、条件を作成する
			String fieldNm = "";
			if(AD_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
			{
				fieldNm = queryConditionArray[INDEX_QUERY_CONDITION_FIELD_NM];
			}
			else
			{
				//・クエリ項目名が「住所」以外の場合
				fieldNm = queryConditionArray[INDEX_QUERY_CONDITION_SCHMA_ID] + "." +  queryConditionArray[INDEX_QUERY_CONDITION_FIELD_NM];
			}

			//(e)複数項目、等しくない場合の、NULL条件の作成
			if (ANY_NOT_EQUAL_JOKEN_CODE.equals(queryConditionArray[INDEX_QUERY_CND_QUERY_JOKEN_CD]))
			{
				conditionsNotEqual.add(fieldNm);
			}

			sqlWhere.append(
					editJokenCdToEnzanshiQuery(fieldNm, 
								queryConditionArray[INDEX_QUERY_CND_QUERY_JOKEN_CD] , 
								queryConditionArray[INDEX_QUERY_CND_FIELD_TYPE_CD] , 
								queryConditionArray[INDEX_QUERY_CND_QUERY_VALUE]));
		}

		if (groupJoken)
		{
			sqlWhere.append(" ) ");
		}

		
		if (conditionsNotEqual.size() > 0)
		{
			sqlWhere.append(" AND ( ");
			for (int iCnt = 0; iCnt < conditionsNotEqual.size(); iCnt++)
			{
				if(iCnt != 0)
				{
					sqlWhere.append(" OR ");
				}
				sqlWhere.append(
						editJokenCdToEnzanshiQuery(conditionsNotEqual.get(iCnt), 
									IS_NOT_NULL_JOKEN_CODE , 
									V_FIELD_TYPE_CODE , 
									NON_JOKEN_FOR_CUST_TYPE));
			}
			sqlWhere.append(" ) ");
		}
		sqlWhere.append(") ");

		return sqlWhere.toString();

	}
	
	/**
	 * No.10 クエリ条件コード編集
	 * <BR>
	 * クエリ条件コード、フィールドタイプ、クエリ値から、個別条件の演算子以降を作成し、返却します。
	 * <BR>
	 * @param joken_code クエリ条件コード
	 * @param field_type_code フィールドタイプ
	 * @param query_value クエリ値
	 * @return String
	 * @throws IllegalArgumentException
	 */
	private static String editJokenCdToEnzanshiQuery(String field_nm, String joken_code , String field_type_code , 
															String query_value) throws IllegalArgumentException
	{
		String editValue = "";
		
		//----------------------------------------------------------------------------------------------------
		// No.1  区分コード A1
		// No.7  区分コード B1
		// No.12 区分コード C1
		//----------------------------------------------------------------------------------------------------
		if(A1_JOKEN_CODE.equals(joken_code) || B1_JOKEN_CODE.equals(joken_code) || C1_JOKEN_CODE.equals(joken_code))
		{
			//〜と等しい場合
			editValue = field_nm + " = " + editQueryValue(field_type_code , query_value);
		}
		//----------------------------------------------------------------------------------------------------
		// No.2  区分コード A2
		//----------------------------------------------------------------------------------------------------
		else if(A2_JOKEN_CODE.equals(joken_code))
		{
			//〜以上
			editValue = field_nm + " >= " + editQueryValue(field_type_code , query_value) ;
		}
		//----------------------------------------------------------------------------------------------------
		// No.3  区分コード A3
		//----------------------------------------------------------------------------------------------------
		else if(A3_JOKEN_CODE.equals(joken_code))
		{
			//〜以下
			editValue = field_nm + " <= " + editQueryValue(field_type_code , query_value) ;
		}
		//----------------------------------------------------------------------------------------------------
		// No.4  区分コード A4
		// No.8  区分コード B2
		// No.13 区分コード C2
		//----------------------------------------------------------------------------------------------------
		else if(A4_JOKEN_CODE.equals(joken_code) || B2_JOKEN_CODE.equals(joken_code) || C2_JOKEN_CODE.equals(joken_code))
		{
			//〜と等しくない
			editValue = field_nm + " <> " + editQueryValue(field_type_code , query_value) ;
		}
		//----------------------------------------------------------------------------------------------------
		// No.5  区分コード A5
		// No.14 区分コード D1
		//----------------------------------------------------------------------------------------------------
		else if(A5_JOKEN_CODE.equals(joken_code) || D1_JOKEN_CODE.equals(joken_code))
		{
			//〜より大きい、より後
			editValue = field_nm + " > " + editQueryValue(field_type_code , query_value);
		}
		//----------------------------------------------------------------------------------------------------
		// No.6  区分コード A6
		// No.15 区分コード D2
		//----------------------------------------------------------------------------------------------------
		else if(A6_JOKEN_CODE.equals(joken_code) || D2_JOKEN_CODE.equals(joken_code))
		{
			//〜より小さい、より前
			editValue = field_nm + " < " + editQueryValue(field_type_code , query_value);
		}
		//----------------------------------------------------------------------------------------------------
		// No.9  区分コード B3
		//----------------------------------------------------------------------------------------------------
		else if(B3_JOKEN_CODE.equals(joken_code))
		{
			//〜で始まる
			editValue = field_nm + " LIKE " + editQueryValue(field_type_code , JZMModelCommon.replaceLikeValue(query_value) + "%") 
							+ " " + JZMModelCommon.ESCAPE_SQL_STRING;
		}
		//----------------------------------------------------------------------------------------------------
		// No.10 区分コード B4
		//----------------------------------------------------------------------------------------------------
		else if(B4_JOKEN_CODE.equals(joken_code))
		{
			//〜で終わる
			editValue = field_nm + " LIKE " + editQueryValue(field_type_code , "%" + JZMModelCommon.replaceLikeValue(query_value)) 
							+ " " + JZMModelCommon.ESCAPE_SQL_STRING;
		}
		//----------------------------------------------------------------------------------------------------
		// No.11 区分コード B5
		//----------------------------------------------------------------------------------------------------
		else if(B5_JOKEN_CODE.equals(joken_code))
		{
			//〜含む
			editValue = field_nm + " LIKE " + editQueryValue(field_type_code , "%" + JZMModelCommon.replaceLikeValue(query_value) + "%") 
							+ " " + JZMModelCommon.ESCAPE_SQL_STRING;
		}
// ANK-3656-00-00 ADD START
		//----------------------------------------------------------------------------------------------------
		// No.11 区分コード B6
		//----------------------------------------------------------------------------------------------------
		else if(B6_JOKEN_CODE.equals(joken_code))
		{
			//〜含まない
			editValue = field_nm + " NOT LIKE " + editQueryValue(field_type_code , "%" + JZMModelCommon.replaceLikeValue(query_value) + "%") 
							+ " " + JZMModelCommon.ESCAPE_SQL_STRING;
		}
// ANK-3656-00-00 ADD END
		//----------------------------------------------------------------------------------------------------
		// No.12 区分コード IS_NULL
		//----------------------------------------------------------------------------------------------------
		else if(IS_NULL_JOKEN_CODE.equals(joken_code))
		{
			//IS NULL
			editValue = field_nm + " IS NULL ";
		}
		//----------------------------------------------------------------------------------------------------
		// No.13 区分コード IS_NOT_NULL
		//----------------------------------------------------------------------------------------------------
		else if(IS_NOT_NULL_JOKEN_CODE.equals(joken_code))
		{
			//IS NOT NULL
			editValue = field_nm + " IS NOT NULL ";
		}
		//----------------------------------------------------------------------------------------------------
		// No.14 区分コード ANY_NOT_EQUAL
		//----------------------------------------------------------------------------------------------------
		else if(ANY_NOT_EQUAL_JOKEN_CODE.equals(joken_code))
		{
			//ANY_NOT_EQUAL
			editValue = "(" + field_nm + " <> " + editQueryValue(field_type_code , query_value) + " OR " + field_nm + " IS NULL) ";
		}
		else
		{
			throw new IllegalArgumentException(ERR_MSG_ILLEGAL_QUERY_CODE + joken_code);
		}
		return editValue;
	}
	
	/**
	 * No.11 クエリ値編集
	 * フィールドタイプコードからクエリ条件を文字列として扱うのか数値として扱うのか判断し、
	 * それを考慮してクエリ値を返します。
	 * <BR>
	 * @param field_type_code
	 * @param query_value
	 * @return String
	 * @throws IllegalArgumentException
	 */
	private static String editQueryValue(String field_type_code , String query_value) throws IllegalArgumentException
	{
		String editQueryValue = "";
		
		//----------------------------------------------------------------------------------------------------
		// No.1  区分コード D
		// No.2  区分コード V
		//----------------------------------------------------------------------------------------------------
		if(D_FIELD_TYPE_CODE.equals(field_type_code) || V_FIELD_TYPE_CODE.equals(field_type_code))
		{
			editQueryValue = "'" + query_value + "'";
		}
		//----------------------------------------------------------------------------------------------------
		// No.3  区分コード I
		//----------------------------------------------------------------------------------------------------
		else if(I_FIELD_TYPE_CODE.equals(field_type_code))
		{
			editQueryValue = query_value;
		}
		//コンボボックスの場合
		else if("".equals(field_type_code))
		{
			editQueryValue = "'" + query_value + "'";
		}
		else
		{
			throw new IllegalArgumentException(ERR_MSG_ILLEGAL_FIELD_TYPE);
		}
		
		return editQueryValue;
	}
	
	/**
	 * No.12 結合条件取得
	 * 指定されたスキーマIDに該当する結合条件を返却します。
	 * また、既に結合条件が作成されていた場合、作成を行いません。
	 * <BR>
	 * @param schma_id スキーマID（目的となるスキーマID）
	 * @param join_tables 既に結合されているスキーマIDのリスト
	 * @param query_trgt_kmk_kanri_no クエリ項目番号
	 * @param query_kmk_nm クエリ項目名
	 * @param base_ymd 基準年月日
	 * @return String
	 * @throws IllegalArgumentException
	 */
	private static String getConditionForJoin(String schma_id , ArrayList<String> join_tables , String query_trgt_kmk_kanri_no , 
												String query_kmk_nm , String base_ymd) throws IllegalArgumentException
	{
		StringBuilder sqlFrom = new StringBuilder();
		
		//----------------------------------------------------------------------------------------------------
		// (1)指定されたスキーマIDの結合条件が既に作成されているか判定
		//----------------------------------------------------------------------------------------------------
		if(join_tables.contains(schma_id))
		{
			//既に結合条件が作成されている
			return "";
		}
		
		//----------------------------------------------------------------------------------------------------
		// (2)対応記録スキーマから指定されたスキーマIDまでの結合条件を作成する
		//----------------------------------------------------------------------------------------------------
		// (a) スキーマ結合用連結リストから指定されたスキーマIDに関連するスキーマIDの配列を取得する
		String[] schmaIds = join_list.get(schma_id).clone();
		if(schmaIds == null)
		{
			throw new IllegalArgumentException(ERR_MSG_NON_SCHMA_ID);
		}
		
		// (b) スキーマIDの配列に格納されているスキーマIDすべてに関して結合条件を作成する
		for(int iCnt = 0 ; iCnt < schmaIds.length ; iCnt++)
		{
			//・指定されたスキーマIDの結合条件が既に作成されているか判定
			if(join_tables.contains(schmaIds[iCnt]))
			{
				//既に結合条件が作成されたいる場合、次のスキーマへ
				continue;
			}
			//・指定されたスキーマIDの結合条件作成
			
			if(CR0031_CR_T_TAIOKRK_UCWK.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.1
				// 対応記録内訳 CR0031
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN CR_T_TAIOKRK_UCWK CR0031")
				.append(" ON (")
				.append(" CR0011.TAIO_KIROK_NO = CR0031.TAIO_KIROK_NO AND ")
				.append(" CR0031.MK_FLG = '0'")
				.append(") ");
			}
			else if(CR0201_CR_T_TAIOKRK_UW_CTGR.equals(schmaIds[iCnt]))
			{
				String taiokrkUwCtgrLv = "";

				//-------------------------------------------------------------------------------------------
				// 結合先 No.2
				// 対応記録内訳カテゴリー CR0201
				//-------------------------------------------------------------------------------------------
				if(CTGR_LV_001_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
				{
					schmaIds[iCnt] = CR0201_CR_T_TAIOKRK_UW_CTGR_001;
					taiokrkUwCtgrLv = "001";
				}
				else if(CTGR_LV_002_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
				{
					schmaIds[iCnt] = CR0201_CR_T_TAIOKRK_UW_CTGR_002;
					taiokrkUwCtgrLv = "002";
				}
				else if(CTGR_LV_003_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
				{
					schmaIds[iCnt] = CR0201_CR_T_TAIOKRK_UW_CTGR_003;
					taiokrkUwCtgrLv = "003";
				}
				else if(CTGR_LV_004_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
				{
					schmaIds[iCnt] = CR0201_CR_T_TAIOKRK_UW_CTGR_004;
					taiokrkUwCtgrLv = "004";
				}
				else if(CTGR_LV_005_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
				{
					schmaIds[iCnt] = CR0201_CR_T_TAIOKRK_UW_CTGR_005;
					taiokrkUwCtgrLv = "005";
				}
				else if(CTGR_LV_006_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
				{
					schmaIds[iCnt] = CR0201_CR_T_TAIOKRK_UW_CTGR_006;
					taiokrkUwCtgrLv = "006";
				}
				else if(CTGR_LV_007_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
				{
					schmaIds[iCnt] = CR0201_CR_T_TAIOKRK_UW_CTGR_007;
					taiokrkUwCtgrLv = "007";
				}
				else if(CTGR_LV_008_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
				{
					schmaIds[iCnt] = CR0201_CR_T_TAIOKRK_UW_CTGR_008;
					taiokrkUwCtgrLv = "008";
				}
				else if(CTGR_LV_009_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
				{
					schmaIds[iCnt] = CR0201_CR_T_TAIOKRK_UW_CTGR_009;
					taiokrkUwCtgrLv = "009";
				}
				else if(CTGR_LV_010_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
				{
					schmaIds[iCnt] = CR0201_CR_T_TAIOKRK_UW_CTGR_010;
					taiokrkUwCtgrLv = "010";
				}
				else if(CTGR_LV_011_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
				{
					schmaIds[iCnt] = CR0201_CR_T_TAIOKRK_UW_CTGR_011;
					taiokrkUwCtgrLv = "011";
				}
				else
				{
					//カテゴリーに関する項目名が不正
					throw new IllegalArgumentException("カテゴリーに関する項目名が不正です。：" + query_kmk_nm);
				}
				sqlFrom.append(" LEFT OUTER JOIN CR_T_TAIOKRK_UW_CTGR " + schmaIds[iCnt])
				.append(" ON (")
				.append(" CR0031.TAIO_KIROK_NO = " + schmaIds[iCnt] + ".TAIO_KIROK_NO AND ")
				.append(" CR0031.TAIO_KIROK_UCWK_NO = " + schmaIds[iCnt] + ".TAIO_KIROK_UCWK_NO AND ")
				.append(" " + schmaIds[iCnt] + ".TAIOKRK_UW_CTGR_LV = '" + taiokrkUwCtgrLv + "' AND ")
				.append(" " + schmaIds[iCnt] + ".MK_FLG = '0'")
				.append(") ");

			}
			
			else if(ZM0051_ZM_M_USER.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.3
				// ユーザー ZM0051
				//-------------------------------------------------------------------------------------------
				// 対象項目によって結合方法が変わる
				if(USER_INS_OPT_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
				{
					schmaIds[iCnt] = ZM0051_ZM_M_USER_INS_OPT;
					//作成者の場合
					sqlFrom.append(" LEFT OUTER JOIN ZM_M_USER " + schmaIds[iCnt])
					.append(" ON (")
					.append(" CR0011.ADD_OPEACNT = " + schmaIds[iCnt] + ".USER_ID AND ")
					.append(" " + schmaIds[iCnt] + ".MK_FLG = '0'")
					.append(") ");
				}
				else if(USER_TAIO_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
				{
					schmaIds[iCnt] = ZM0051_ZM_M_USER_TAIO;
					//担当者の場合
					sqlFrom.append(" LEFT OUTER JOIN ZM_M_USER " + schmaIds[iCnt])
					.append(" ON (")
					.append(" CR0011.TAIO_USER_ID = " + schmaIds[iCnt] + ".USER_ID AND ")
					.append(" " + schmaIds[iCnt] + ".MK_FLG = '0'")
					.append(") ");
				}
				else if(USER_SEND_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
				{
					schmaIds[iCnt] = ZM0051_ZM_M_USER_SEND;
					//送信者ユーザーの場合
					if(!(join_tables.contains(CR0021_CR_T_TAIOKRK_DTL)))
					{
						//対応記録明細が結合されていない場合
						sqlFrom.append(" LEFT OUTER JOIN CR_T_TAIOKRK_DTL CR0021")
						.append(" ON (")
						.append(" CR0011.TAIO_KIROK_NO = CR0021.TAIO_KIROK_NO AND ")
						.append(" CR0021.MK_FLG = '0'")
						.append(") ");
						//既に結合されているスキーマIDのリストに追加
						join_tables.add(CR0021_CR_T_TAIOKRK_DTL);
					}
					sqlFrom.append(" LEFT OUTER JOIN ZM_M_USER " + schmaIds[iCnt])
					.append(" ON (")
					.append(" CR0021.SEND_USER_ID = " + schmaIds[iCnt] + ".USER_ID AND ")
					.append(" " + schmaIds[iCnt] + ".MK_FLG = '0'")
					.append(") ");
				}
				else
				{
					//ユーザーに関する項目名が不正
					throw new IllegalArgumentException("ユーザーに関する項目名が不正です。：" + query_kmk_nm);
				}
			}
			else if(KK0081_KK_T_SVC_KEI.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.4
				// サービス契約 KK0081 結合
				// 世代管理 あり：予約適用年月日 あり：予約適用コード あり
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(createLeftOuterJoinForGene(schmaIds[iCnt] , "KK_T_SVC_KEI" , "SVC_KEI_NO" , base_ymd, true, true))
				.append(" ON (")
				//サービス契約番号
				.append(" CR0011.SVC_KEI_NO = KK0081.SVC_KEI_NO")
				.append(") ");
				
			}
			else if(CK0011_CK_T_CUST.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.5
				// お客様 CK0011
				// 世代管理 あり：予約適用年月日 あり：予約適用コード あり
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(createLeftOuterJoinForGene(schmaIds[iCnt], "CK_T_CUST" , "SYSID" , base_ymd, true, true))
				.append(" ON (")
				//SYSID
				.append(" KK0081.SYSID = CK0011.SYSID")
				.append(") ");
			}
			else if(CK0051_CK_T_PROSCST.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.6
				// 問合せ客 CK0051
				// 世代管理 なし
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN CK_T_PROSCST CK0051")
				.append(" ON (")
				.append(" CR0011.PROSCST_NO = CK0051.PROSCST_NO AND ")
				.append(" CK0051.MK_FLG = '0'")
				.append(") ");
			}
			else if(CK0201_CK_T_RRKS.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.7
				// 連絡先 CK0201
				// 世代管理 あり：予約適用年月日 あり：予約適用コード あり
				//-------------------------------------------------------------------------------------------
				// 対象項目によって結合方法が変わる
				if(TEL_NO_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
				{
					schmaIds[iCnt] = CK0201_CK_T_RRKS_TEL_NO;
					sqlFrom.append(createLeftOuterJoinForGene(schmaIds[iCnt] , "CK_T_RRKS" , "RRKS_NO" , base_ymd, true, true))
					.append(" ON (")
					.append(" CK0011.SYSID = " + schmaIds[iCnt] + ".SYSID")
					.append(" AND " + schmaIds[iCnt] + ".RRKS_SBT_CD <> '2'")
					.append(") ");
				}
				else if (KTAI_TELNO_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
				{
					schmaIds[iCnt] = CK0201_CK_T_RRKS_KTAI_TELNO;
					sqlFrom.append(createLeftOuterJoinForGene(schmaIds[iCnt] , "CK_T_RRKS" , "RRKS_NO" , base_ymd, true, true))
					.append(" ON (")
					.append(" CK0011.SYSID = " + schmaIds[iCnt] + ".SYSID")
					.append(" AND " + schmaIds[iCnt] + ".RRKS_SBT_CD = '2'")
					.append(") ");
				}
				else
				{
					schmaIds[iCnt] = CK0201_CK_T_RRKS_MLAD;
					sqlFrom.append(createLeftOuterJoinForGene(schmaIds[iCnt] , "CK_T_RRKS" , "RRKS_NO" , base_ymd, true, true))
					.append(" ON (")
					.append(" CK0011.SYSID = " + schmaIds[iCnt] + ".SYSID")
					.append(") ");
				}

			}
			else if(KK0491_KK_T_SEIKY_KEI.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.8
				// 請求契約 KK0491
				// 世代管理 あり：予約適用年月日 あり：予約適用コード あり
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(createLeftOuterJoinForGene(schmaIds[iCnt] , "KK_T_SEIKY_KEI" , "SEIKY_KEI_NO" , base_ymd, true, true))
				.append(" ON (")
				//SYSID
				.append(" KK0321.SEIKY_KEI_NO = KK0491.SEIKY_KEI_NO")
				.append(") ");
			}
			else if(KK0021_KK_T_MSKM_DTL.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.9
				// 申込明細 KK0021
				// 世代管理 あり：予約適用年月日 なし：予約適用コード なし
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN ( ")
				.append("     SELECT KK0021_SUB.MSKMSHO_NO, ")
				.append("            KK0081_SUB.SVC_KEI_NO ")
				.append("     FROM KK_T_MSKM_DTL KK0021_SUB ")
				.append("          INNER JOIN KK_T_SVC_KEI KK0081_SUB ")
				.append("          ON (KK0081_SUB.MSKM_DTL_NO = KK0021_SUB.MSKM_DTL_NO) ")
				.append("     WHERE (KK0021_SUB.MSKM_DTL_NO, KK0021_SUB.GENE_ADD_DTM) = ( ")
				.append("                SELECT KK0021_SUB_GENE.MSKM_DTL_NO, ")
				.append("                       MAX(KK0021_SUB_GENE.GENE_ADD_DTM) AS KK0021_SUB_MAX ")
				.append("                  FROM KK_T_MSKM_DTL KK0021_SUB_GENE ")
				.append("                 WHERE KK0021_SUB_GENE.MSKM_DTL_NO = KK0021_SUB.MSKM_DTL_NO ")
				.append("                   AND KK0021_SUB_GENE.MK_FLG = '0' ")
				.append("                 GROUP BY KK0021_SUB_GENE.MSKM_DTL_NO) ")
				.append("       AND (KK0081_SUB.SVC_KEI_NO, KK0081_SUB.GENE_ADD_DTM) = ( ")
				.append("               SELECT KK0081_SUB_GENE.SVC_KEI_NO, ")
				.append("                      MIN(KK0081_SUB_GENE.GENE_ADD_DTM) AS KK0081_SUB_MIN ")
				.append("                 FROM KK_T_SVC_KEI KK0081_SUB_GENE ")
				.append("                WHERE KK0081_SUB_GENE.SVC_KEI_NO = KK0081_SUB.SVC_KEI_NO ")
				.append("                  AND KK0081_SUB_GENE.MK_FLG = '0' ")
				.append("               GROUP BY KK0081_SUB_GENE.SVC_KEI_NO) ")
				.append(" ) KK0021 ON (KK0081.SVC_KEI_NO = KK0021.SVC_KEI_NO) ");
			}
			else if(KK0351_KK_T_OP_SVC_KEI.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.10
				// オプションサービス契約 KK0351
				// 世代管理 あり：予約適用年月日 あり：予約適用コード あり
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(createLeftOuterJoinForGene(schmaIds[iCnt] , "KK_T_OP_SVC_KEI" , "OP_SVC_KEI_NO" , base_ymd, true, true))
				.append(" ON (")
				.append(" KK0081.SVC_KEI_NO = KK0351.SVC_KEI_NO")
				.append(") ");
			}
			else if(KK0361_KK_T_OPSVKEI_ISP.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.11
				// オプションサービス契約<ISP> KK0361
				// 世代管理 あり：予約適用年月日 なし：予約適用コード あり
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN KK_T_OPSVKEI_ISP KK0361")
				.append(" ON (")
				.append(" KK0351.OP_SVC_KEI_NO = KK0361.OP_SVC_KEI_NO AND")
				.append(" KK0351.GENE_ADD_DTM = KK0361.GENE_ADD_DTM")
				.append(") ");
			}
			else if(KK0401_KK_T_SBOP_SVC_KEI.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.12
				// サブオプションサービス契約 KK0401
				// 世代管理 あり：予約適用年月日 あり：予約適用コード あり
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(createLeftOuterJoinForGene(schmaIds[iCnt] , "KK_T_SBOP_SVC_KEI" , "OP_SVC_KEI_NO" , base_ymd, true, true))
				.append(" ON (")
				.append(" KK0351.OP_SVC_KEI_NO = KK0401.OP_SVC_KEI_NO")
				.append(") ");
			}
			else if(KK0411_KK_T_SBOPSVKEI_ISP.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.13
				// サブオプションサービス契約<ISP> KK0411
				// 世代管理 あり：予約適用年月日 なし：予約適用コード あり
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN KK_T_SBOPSVKEI_ISP KK0411")
				.append(" ON (")
				.append(" KK0401.OP_SVC_KEI_NO = KK0411.OP_SVC_KEI_NO AND")
				.append(" KK0401.SBOP_SVC_KEI_NO = KK0411.SBOP_SVC_KEI_NO AND")
				.append(" KK0401.GENE_ADD_DTM = KK0411.GENE_ADD_DTM")
				.append(") ");
			}
			else if(CK0181_CK_T_MANSION_OWNR.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.14
				// マンションオーナー CK0181
				// 世代管理 なし
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN CK_T_MANSION_OWNR CK0181")
				.append(" ON (")
				.append(" KK0491.MANSION_OWNR_ID = CK0181.MANSION_OWNR_ID AND ")
				.append(" CK0181.MK_FLG = '0'")
				.append(") ");
			}
			else if(KK0871_KK_T_OWNR_KEI.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.15
				// オーナー契約 KK0871
				// 世代管理 なし
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN KK_T_OWNR_KEI KK0871")
				.append(" ON (")
				.append(" CK0181.MANSION_OWNR_ID = KK0871.MANSION_OWNR_ID AND ")
				.append(" KK0871.MK_FLG = '0'")
				.append(") ");
			}
			else if(KK0881_KK_T_KAISEN_USE_KEI.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.16
				// 回線使用契約 KK0881
				// 世代管理 なし
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN KK_T_KAISEN_USE_KEI KK0881")
				.append(" ON (")
				.append(" KK0871.OWNR_KEI_NO = KK0881.OWNR_KEI_NO AND ")
				.append(" KK0881.MK_FLG = '0'")
				.append(") ");
			}
			else if(KK0111_KK_T_SVC_KEI_EOH_TEL.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.17
				// サービス契約<eo光電話> KK0111
				// 世代管理 あり：予約適用年月日 なし：予約適用コード あり
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN KK_T_SVC_KEI_EOH_TEL KK0111")
				.append(" ON (")
				.append(" KK0081.SVC_KEI_NO = KK0111.SVC_KEI_NO AND")
				.append(" KK0081.GENE_ADD_DTM = KK0111.GENE_ADD_DTM")
				.append(") ");
			}
			else if(KK0161_KK_T_SVC_KEI_UCWK.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.18
				// サービス契約内訳 KK0161
				// 世代管理 あり：予約適用年月日 あり：予約適用コード あり
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(createLeftOuterJoinForGene(schmaIds[iCnt] , "KK_T_SVC_KEI_UCWK" , "SVC_KEI_UCWK_NO" , base_ymd, true, true))
				.append(" ON (")
				.append(" KK0081.SVC_KEI_NO = KK0161.SVC_KEI_NO AND")
				.append(" KK0161.KEIZK_AF_KEI_CHGECHU_FLG = '0'")
				.append(") ");
			}
			else if(KK0221_KK_T_SVKEIUW_EOADSL.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.19
				// サービス契約内訳<eoADSL> KK0221
				// 世代管理 あり：予約適用年月日 なし：予約適用コード あり
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN KK_T_SVKEIUW_EOADSL KK0221")
				.append(" ON (")
				.append(" KK0161.SVC_KEI_UCWK_NO = KK0221.SVC_KEI_UCWK_NO AND")
				.append(" KK0161.GENE_ADD_DTM = KK0221.GENE_ADD_DTM")
				.append(") ");
			}
			else if(KK0171_KK_T_SVKEIUW_EOH_NET.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.20
				// サービス契約内訳<eo光ネット> KK0171
				// 世代管理 あり：予約適用年月日 なし：予約適用コード あり
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN KK_T_SVKEIUW_EOH_NET KK0171")
				.append(" ON (")
				.append(" KK0161.SVC_KEI_UCWK_NO = KK0171.SVC_KEI_UCWK_NO AND")
				.append(" KK0161.GENE_ADD_DTM = KK0171.GENE_ADD_DTM")
				.append(") ");
			}
			else if(KK0201_KK_T_SVKEIUW_EOMOBA.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.21
				// サービス契約内訳<eoモバイル> KK0201
				// 世代管理 あり：予約適用年月日 なし：予約適用コード あり
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN KK_T_SVKEIUW_EOMOBA KK0201")
				.append(" ON (")
				.append(" KK0161.SVC_KEI_UCWK_NO = KK0201.SVC_KEI_UCWK_NO AND")
				.append(" KK0161.GENE_ADD_DTM = KK0201.GENE_ADD_DTM")
				.append(") ");
			}
			else if(KK0241_KK_T_KAISEN_TG_SVKEI.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.22
				// 回線対象サービス契約 KK0241 
				// 世代管理 なし
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN ( ")
				.append("     SELECT KK0241_01.SVC_KEI_NO, ")
				.append("            KK0241_01.SVC_KEI_KAISEN_UCWK_NO ")
				.append("     FROM KK_T_KAISEN_TG_SVKEI KK0241_01 ")
				.append("     WHERE ")
				.append("     KK0241_01.KAISEN_UCWK_USE_STAYMD <= '").append(base_ymd).append("' AND ")
				.append("     KK0241_01.MK_FLG = '0' AND ")
				.append("     (KK0241_01.SVC_KEI_NO, KK0241_01.KAISEN_UCWK_USE_ENDYMD) = ( ")
				.append("         SELECT ")
				.append("             KK0241_SUB.SVC_KEI_NO, ")
				.append("             MAX(KK0241_SUB.KAISEN_UCWK_USE_ENDYMD) ")
				.append("         FROM KK_T_KAISEN_TG_SVKEI KK0241_SUB ")
				.append("         WHERE ")
				.append("             KK0241_SUB.SVC_KEI_NO = KK0241_01.SVC_KEI_NO AND ")
				.append("             KK0241_SUB.KAISEN_UCWK_USE_STAYMD <= '").append(base_ymd).append("' AND ")
				.append("             KK0241_SUB.MK_FLG = '0' ")
				.append("         GROUP BY KK0241_SUB.SVC_KEI_NO ) ")
				.append(" ) KK0241 ON (KK0081.SVC_KEI_NO = KK0241.SVC_KEI_NO) ");
			}
			else if(KK0251_KK_T_SVKEI_KAISEN_UW.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.23
				// サービス契約回線内訳 KK0251
				// 世代管理 あり：予約適用年月日 なし：予約適用コード なし
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(createLeftOuterJoinForGene(schmaIds[iCnt] , "KK_T_SVKEI_KAISEN_UW" , "SVC_KEI_KAISEN_UCWK_NO" , base_ymd, false, false))
				.append(" ON (")
				.append(" KK0241.SVC_KEI_KAISEN_UCWK_NO = KK0251.SVC_KEI_KAISEN_UCWK_NO")
				.append(") ");
			}
			else if(CR0111_CR_T_QUE_BOX.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.24
				// キューBOX CR0111
				// 世代管理 なし
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN CR_T_QUE_BOX CR0111")
				.append(" ON (")
				.append(" CR0011.QUE_BOX_NO = CR0111.QUE_BOX_NO AND ")
				.append(" CR0111.MK_FLG = '0'")
				.append(") ");
			}
			else if(KK0751_KK_M_SVC.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.25
				// サービス KK0751
				// 世代管理 あり：予約適用年月日 あり：予約適用コード なし
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(createLeftOuterJoinForGene(schmaIds[iCnt] , "KK_M_SVC" , "SVC_CD" , base_ymd, true, false))
				.append(" ON (")
				.append(" KK0081.SVC_CD = KK0751.SVC_CD")
				.append(") ");
			}
			else if(KK0591_KK_M_PPLAN.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.26
				// 料金プラン KK0591
				// 世代管理 なし
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN KK_M_PPLAN KK0591")
				.append(" ON (")
				.append(" KK0081.PCRS_CD = KK0591.PCRS_CD AND ")
				.append(" KK0081.PPLAN_CD = KK0591.PPLAN_CD AND ")
				.append(" KK0591.MK_FLG = '0'")
				.append(") ");
			}
			else if(KK0321_KK_T_KAKINS.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.27
				// 課金先 KK0321
				// 世代管理 なし
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN KK_T_KAKINS KK0321")
				.append(" ON (")
				.append(" KK0081.SVC_KEI_NO = KK0321.SVC_KEI_NO AND ")
				.append(" KK0321.MK_FLG = '0'")
				.append(") ");
			}
			else if(CR0041_CR_T_ATICLE_SOHU.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.28
				// 資料送付 CR0041
				// 世代管理 なし
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN CR_T_ATICLE_SOHU CR0041")
				.append(" ON (")
				.append(" CR0011.TAIO_KIROK_NO = CR0041.TAIO_KIROK_NO AND ")
				.append(" CR0041.MK_FLG = '0'")
				.append(") ");
			}
			else if(CR0431_CR_T_ATICLE_SOHU_KRK.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.29
				// 資料送付記録 CR0431
				// 世代管理 なし
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN CR_T_ATICLE_SOHU_KRK CR0431")
				.append(" ON (")
				.append(" CR0041.TAIO_KIROK_NO = CR0431.TAIO_KIROK_NO AND ")
				.append(" CR0041.ATICLE_SOHU_NO = CR0431.ATICLE_SOHU_NO AND ")
				.append(" CR0431.MK_FLG = '0'")
				.append(") ");
			}
			else if(CR0051_CR_M_ATICLE.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.30
				// 資料 CR0051
				// 世代管理 なし
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN CR_M_ATICLE CR0051")
				.append(" ON (")
				.append(" CR0431.ATICLE_NO = CR0051.ATICLE_NO AND ")
				.append(" CR0051.MK_FLG = '0'")
				.append(") ");
			}
			else if(ZM0151_ZM_M_WKKBT_ORG.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.31
				// 業務個別設定組織 ZM0151
				// 世代管理 なし
				//-------------------------------------------------------------------------------------------
				if (WKGRP_UK_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
				{
					schmaIds[iCnt] = ZM0151_ZM_M_WKKBT_ORG_UK;
					sqlFrom.append(" LEFT OUTER JOIN ZM_M_USER_HTG_KGGRP ZM0131_UK")
					.append(" ON (")
					.append(" CR0011.ADD_OPEACNT = ZM0131_UK.USER_ID AND ")
					// 20150709 OM-2015-0001308 リソース最適化_統合ＤＢ１月度ＳＱＬ指摘（ECR0011B050_対応記録一覧照会(クエリ実行問合せ)） ADD START
					.append(" CR0011.ADD_TRN_ID <> 'IKOSQL' AND ")
					// 20150709 OM-2015-0001308 リソース最適化_統合ＤＢ１月度ＳＱＬ指摘（ECR0011B050_対応記録一覧照会(クエリ実行問合せ)） ADD END
					.append(" ZM0131_UK.MK_FLG = '0'")
					.append(") ")
					.append(" LEFT OUTER JOIN ZM_M_AUTHORITY_GRP ZM0041_UK")
					.append(" ON (")
					.append(" ZM0131_UK.KGGRP_CD = ZM0041_UK.KGGRP_CD AND ")
					.append(" ZM0041_UK.WKKBT_ORG_CD IS NOT NULL AND ")
					.append(" ZM0041_UK.MK_FLG = '0'")
					.append(") ")
					.append(" LEFT OUTER JOIN ZM_M_WKKBT_ORG ZM0151_UK")
					.append(" ON (")
					.append(" ZM0041_UK.WKKBT_ORG_CD = ZM0151_UK.WKKBT_ORG_CD AND ")
					.append(" ZM0151_UK.MK_FLG = '0'")
					.append(") ");
				}
				else if (WKGRP_TANTO_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
				{
					schmaIds[iCnt] = ZM0151_ZM_M_WKKBT_ORG_TANTO;
					sqlFrom.append(" LEFT OUTER JOIN ZM_M_USER_HTG_KGGRP ZM0131_TANTO")
					.append(" ON (")
					.append(" CR0011.TAIO_USER_ID = ZM0131_TANTO.USER_ID AND ")
					.append(" ZM0131_TANTO.MK_FLG = '0'")
					.append(") ")
					.append(" LEFT OUTER JOIN ZM_M_AUTHORITY_GRP ZM0041_TANTO")
					.append(" ON (")
					.append(" ZM0131_TANTO.KGGRP_CD = ZM0041_TANTO.KGGRP_CD AND ")
					.append(" ZM0041_TANTO.WKKBT_ORG_CD IS NOT NULL AND ")
					.append(" ZM0041_TANTO.MK_FLG = '0'")
					.append(") ")
					.append(" LEFT OUTER JOIN ZM_M_WKKBT_ORG ZM0151_TANTO")
					.append(" ON (")
					.append(" ZM0041_TANTO.WKKBT_ORG_CD = ZM0151_TANTO.WKKBT_ORG_CD AND ")
					.append(" ZM0151_TANTO.MK_FLG = '0'")
					.append(") ");
				}
				else
				{
					//業務個別設定組織に関する項目名が不正
					throw new IllegalArgumentException("業務個別設定組織に関する項目名が不正です。：" + query_kmk_nm);
				}
			}
			else if(CR0021_CR_T_TAIOKRK_DTL.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.32
				// 対応記録明細 CR0021
				// 世代管理 なし
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN CR_T_TAIOKRK_DTL CR0021")
				.append(" ON (")
				.append(" CR0011.TAIO_KIROK_NO = CR0021.TAIO_KIROK_NO AND ")
				.append(" CR0021.MK_FLG = '0'")
				.append(") ");
			}
			else if(KK0191_KK_T_SVKEIUW_EOH_TEL.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.33
				// サービス契約内訳<eo光電話> KK0191
				// 世代管理 あり：予約適用年月日 なし：予約適用コード あり
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN KK_T_SVKEIUW_EOH_TEL KK0191")
				.append(" ON (")
				.append(" KK0161.SVC_KEI_UCWK_NO = KK0191.SVC_KEI_UCWK_NO AND")
				.append(" KK0161.GENE_ADD_DTM = KK0191.GENE_ADD_DTM")
				.append(") ");
			}
			else if(CK0021_CK_T_CUST_KOJIN.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.34
				// お客様<個人> CK0021
				// 世代管理 あり：予約適用年月日 なし：予約適用コード あり
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN CK_T_CUST_KOJIN CK0021")
				.append(" ON (")
				.append(" CK0011.SYSID = CK0021.SYSID AND")
				.append(" CK0011.GENE_ADD_DTM = CK0021.GENE_ADD_DTM")
				.append(") ");
			}
			else if(CK0041_CK_T_HOJIN_RRKS.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.35
				// 法人連絡先 CK0041
				// 世代管理 あり：予約適用年月日 なし：予約適用コード なし
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(createLeftOuterJoinForGene(schmaIds[iCnt] , "CK_T_HOJIN_RRKS" , "SYSID:RRKS_CD" , base_ymd, false, false))
				.append(" ON (")
				.append(" CK0011.SYSID = CK0041.SYSID")
				.append(") ");
			}
			else if(KK0861_KK_T_MANSION_BUKKEN.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.36
				// マンション物件 KK0861
				// 世代管理 なし
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(" LEFT OUTER JOIN KK_T_MANSION_BUKKEN KK0861")
				.append(" ON (")
				.append(" KK0871.MANSION_BUKKEN_NO = KK0861.MANSION_BUKKEN_NO AND ")
				.append(" KK0861.MK_FLG = '0'")
				.append(") ");
			}
			else if(KK0781_KK_M_PRC_GRP.equals(schmaIds[iCnt]))
			{
				//-------------------------------------------------------------------------------------------
				// 結合先 No.37
				// 料金グループ KK0781
				// 世代管理 あり：予約適用年月日 あり：予約適用コード なし
				//-------------------------------------------------------------------------------------------
				sqlFrom.append(createLeftOuterJoinForGene(schmaIds[iCnt] , "KK_M_PRC_GRP" , "PRC_GRP_CD" , base_ymd, true, false))
				.append(" ON (")
				.append(" KK0081.PRC_GRP_CD = KK0781.PRC_GRP_CD")
				.append(") ");
			}
			//既に結合されているスキーマIDのリストに追加
			join_tables.add(schmaIds[iCnt]);
		}
		
		return sqlFrom.toString();
	}
	
	/**
	 * No.13 世代管理スキーマ結合条件作成
	 * 世代管理、予約管理を行っているスキーマに対する結合のLEFT OUTER JOIN から ON直前までの文字列を返します。
	 * <BR>
	 * @param schma_id 結合先のスキーマID
	 * @param schma_nm 結合先のスキーマ名（英名）
	 * @param schma_keys 結合先のKey項目 複数ある場合は、「:」で区切る。ただし、世代登録年月日時分秒は含まない
	 * @param base_ymd 基準年月日
	 * @param rsv_aply_ymd_um 予約適用年月日 true:あり false:なし
	 * @param rsv_aply_cd_um 予約適用コード true:あり false:なし
	 * @return String
	 */
	private static String createLeftOuterJoinForGene(String schma_id, String schma_nm, String schma_keys, String base_ymd, 
																			boolean rsv_aply_ymd_um, boolean rsv_aply_cd_um)
	{
		//----------------------------------------------------------------------------------------------------
		// (1)引数で指定されたキー項目トークンを配列へ変換する
		//----------------------------------------------------------------------------------------------------
		String[] keys = schma_keys.split(REGEX_SELECT_ITEMS_01);
		
		//----------------------------------------------------------------------------------------------------
		// (2)LEFT OUTER JOIN から ON直前までを作成する
		//----------------------------------------------------------------------------------------------------
		int iCnt = 0;
		StringBuilder join = new StringBuilder();
		join.append(" LEFT OUTER JOIN")
		.append(" (SELECT * ")
		.append(" FROM " + schma_nm + " " + schma_id + "_MAX ");
		if(rsv_aply_ymd_um)
		{
			//予約適用年月日 ありの場合
			join.append(" WHERE (");
			for(iCnt = 0 ; iCnt < keys.length ; iCnt++)
			{
				join.append(schma_id + "_MAX." + keys[iCnt] + ", ");
			}
			join.append(schma_id + "_MAX.RSV_APLY_YMD || " + schma_id + "_MAX.GENE_ADD_DTM) = ");
			
			join.append(" (")
			.append(" SELECT ");
			for(iCnt = 0 ; iCnt < keys.length ; iCnt++)
			{
				join.append(schma_id + "_GENE." + keys[iCnt] + ", ");
			}
			join.append(" MAX(" + schma_id + "_GENE.RSV_APLY_YMD || " + schma_id + "_GENE.GENE_ADD_DTM) ");
		}
		else
		{
			//予約適用年月日 なしの場合
			join.append(" WHERE (");
			for(iCnt = 0 ; iCnt < keys.length ; iCnt++)
			{
				join.append(schma_id + "_MAX." + keys[iCnt] + ", ");
			}
			join.append(schma_id + "_MAX.GENE_ADD_DTM) = ");

			join.append(" (")
			.append(" SELECT ");
			for(iCnt = 0 ; iCnt < keys.length ; iCnt++)
			{
				join.append(schma_id + "_GENE." + keys[iCnt] + ", ");
			}
			join.append(" MAX(" + schma_id + "_GENE.GENE_ADD_DTM) ");
		}
		join.append(" FROM " + schma_nm + " " + schma_id + "_GENE ")
		.append(" WHERE ");
		//----------------------------------------------------------------------------------------------------
		// (3)配列に格納されているKey項目から条件を作成する
		//----------------------------------------------------------------------------------------------------
		for(iCnt = 0 ; iCnt < keys.length ; iCnt++)
		{
			join.append(" " + schma_id + "_MAX." + keys[iCnt] + " = " + schma_id + "_GENE." + keys[iCnt] + " AND");
		}
		if(rsv_aply_ymd_um)
		{
			//予約適用年月日 ありの場合
			join.append(" " + schma_id + "_GENE.RSV_APLY_YMD <= '" + base_ymd + "' AND ");
		}
		if(rsv_aply_cd_um)
		{
			//予約適用コード ありの場合
			join.append(" " + schma_id + "_GENE.RSV_APLY_CD = '2' AND ");
		}
		join.append(" " + schma_id + "_GENE.MK_FLG = '0' ");

		join.append(" GROUP BY ");
		for(iCnt = 0 ; iCnt < keys.length ; iCnt++)
		{
			join.append(schma_id + "_GENE." + keys[iCnt]);
			if (iCnt + 1 < keys.length)
			{
				join.append(", ");
			}
		}
		
		join.append(" ) ")
		.append(" ) " + schma_id);
		
		return join.toString();
	}
	
	/**
	 * No.14 個別条件作成用配列作成
	 * 個別条件を作成するための配列を作成する。クエリ項目名が「氏名カナ」など複数のスキーマやフィールドを
	 * 条件とする場合、このメソッドで対応する。
	 * <BR>
	 * @param query_kmk_nm クエリ項目名
	 * @param schma_id スキーマID
	 * @param field_nm フィールド名
	 * @param field_type_cd フィールドタイプコード
	 * @param query_joken_cd クエリ条件コード
	 * @param query_value クエリ値
	 * @param or_joken_um OR条件有無
	 * @param query_kmk_arraylist 個別条件作成用ArrayList
	 * @throws IllegalArgumentException
	 */
	private static void createPrepareCndArray(String schma_id , String query_trgt_kmk_kanri_no, String field_nm , 
													String field_type_cd , String query_joken_cd , String query_value , 
													String or_joken_um , ArrayList<String[]> query_kmk_arraylist) throws IllegalArgumentException
	{
		//-----------------------------------------------------------------------------------------------------
		// (1) 引数チェック
		//-----------------------------------------------------------------------------------------------------
		if(query_kmk_arraylist == null)
		{
			throw new IllegalArgumentException(ERR_MSG_NON_ARRAY_LIST);
		}
		//-----------------------------------------------------------------------------------------------------
		// (2)引数で指定したArrayListに、[クエリ項目番号] + "-" + [クエリ項目名]に関連するスキーマID、
		//    フィールド名、フィールドタイプコード、クエリ条件コード、クエリ値、OR条件有無、をStirng[]
		//    としてセットする。
		//-----------------------------------------------------------------------------------------------------

		//----------------------------------------------------------------------------------------------------
		// No.4  区分コード A4
		// No.8  区分コード B2
		// No.13 区分コード C2
		//----------------------------------------------------------------------------------------------------
		String and_joken_w = "";
		String query_joken_cd_w = "";
		if(A4_JOKEN_CODE.equals(query_joken_cd) || B2_JOKEN_CODE.equals(query_joken_cd) || C2_JOKEN_CODE.equals(query_joken_cd))
		{
			and_joken_w = AND_JOKEN;
			query_joken_cd_w = ANY_NOT_EQUAL_JOKEN_CODE;
		}
		else
		{
			query_joken_cd_w = query_joken_cd;
		}

		
		//----------------------------------------------------------------------------------------------------
		// No. 1 項目名：氏名カナ
		//----------------------------------------------------------------------------------------------------
		if(CUST_KANA_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			//CK0011 CK_T_CUST お客様 CUST_KANA お客様カナ名 
			String[] custKanaConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			custKanaConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0011_CK_T_CUST;
			//クエリ対象項目管理番号
			custKanaConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			custKanaConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "CUST_KANA";
			//フィールドタイプコード
			custKanaConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			custKanaConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			custKanaConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//検索グループ
			custKanaConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(custKanaConditionInfo);
			
			//CK0011 CK_T_CUST お客様 CONT_CUST_KANA コンテンツお客様カナ名
			String[] contCustKanaConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			contCustKanaConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0011_CK_T_CUST;
			//クエリ対象項目管理番号
			contCustKanaConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			contCustKanaConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "CONT_CUST_KANA";
			//フィールドタイプコード
			contCustKanaConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			contCustKanaConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			contCustKanaConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			contCustKanaConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			contCustKanaConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(contCustKanaConditionInfo);
			
			//CK0051 CK_T_PROSCST 問合せ客 PROSCST_KANA 問合せ客カナ名
			String[] proscstKanaConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			proscstKanaConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0051_CK_T_PROSCST;
			//クエリ対象項目管理番号
			proscstKanaConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			proscstKanaConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "PROSCST_KANA";
			//フィールドタイプコード
			proscstKanaConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			proscstKanaConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			proscstKanaConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			proscstKanaConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			proscstKanaConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(proscstKanaConditionInfo);
		}
		//----------------------------------------------------------------------------------------------------
		// No. 2 項目名：氏名漢字
		//----------------------------------------------------------------------------------------------------
		else if(CUST_NM_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			//CK0011 CK_T_CUST お客様 CUST_NM お客様名
			String[] custNmConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			custNmConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0011_CK_T_CUST;
			//クエリ対象項目管理番号
			custNmConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			custNmConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "CUST_NM";
			//フィールドタイプコード
			custNmConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			custNmConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			custNmConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//検索グループ
			custNmConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(custNmConditionInfo);

			//CK0011 CK_T_CUST お客様 CONT_CUST_NM コンテンツお客様名
			String[] contCustNmConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			contCustNmConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0011_CK_T_CUST;
			//クエリ対象項目管理番号
			contCustNmConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			contCustNmConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "CONT_CUST_NM";
			//フィールドタイプコード
			contCustNmConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			contCustNmConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			contCustNmConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			contCustNmConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			contCustNmConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(contCustNmConditionInfo);
			
			//CK0051 CK_T_PROSCST 問合せ客 PROSCST_NM 問合せ客名
			String[] proscstNmConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			proscstNmConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0051_CK_T_PROSCST;
			//クエリ対象項目管理番号
			proscstNmConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			proscstNmConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "PROSCST_NM";
			//フィールドタイプコード
			proscstNmConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			proscstNmConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			proscstNmConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			proscstNmConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			proscstNmConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(proscstNmConditionInfo);
		}
		//----------------------------------------------------------------------------------------------------
		// No. 3 項目名：電話番号
		//----------------------------------------------------------------------------------------------------
		else if(TEL_NO_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			//KK0191 KK_T_SVKEIUW_EOH_TEL サービス契約内訳<eo光電話> TELNO 電話番号
			String[] telNoConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			telNoConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = KK0191_KK_T_SVKEIUW_EOH_TEL;
			//クエリ対象項目管理番号
			telNoConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			telNoConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "TELNO";
			//フィールドタイプコード
			telNoConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			telNoConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			telNoConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//検索グループ
			telNoConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(telNoConditionInfo);

			//KK0191 KK_T_SVKEIUW_EOH_TEL サービス契約内訳<eo光電話> DAIHYO_TELNO 代表電話番号
			String[] daihyotelNoConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			daihyotelNoConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = KK0191_KK_T_SVKEIUW_EOH_TEL;
			//クエリ対象項目管理番号
			daihyotelNoConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			daihyotelNoConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "DAIHYO_TELNO";
			//フィールドタイプコード
			daihyotelNoConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			daihyotelNoConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			daihyotelNoConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			daihyotelNoConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			daihyotelNoConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(daihyotelNoConditionInfo);

			//CK0011 CK_T_CUST お客様 KEISHA_TELNO 契約者電話番号
			String[] keishatelNoConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			keishatelNoConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0011_CK_T_CUST;
			//クエリ対象項目管理番号
			keishatelNoConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			keishatelNoConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "KEISHA_TELNO";
			//フィールドタイプコード
			keishatelNoConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			keishatelNoConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			keishatelNoConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			keishatelNoConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			keishatelNoConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(keishatelNoConditionInfo);

			//CK0021 CK_T_CUST_KOJIN お客様<個人> OFFC_TELNO 勤務先電話番号
			String[] offctelNoConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			offctelNoConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0021_CK_T_CUST_KOJIN;
			//クエリ対象項目管理番号
			offctelNoConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			offctelNoConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "OFFC_TELNO";
			//フィールドタイプコード
			offctelNoConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			offctelNoConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			offctelNoConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			offctelNoConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			offctelNoConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(offctelNoConditionInfo);
			
			//CK0021 CK_T_CUST_KOJIN お客様<個人> SKSHA_TELNO 親権者電話番号
			String[] skshatelNoConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			skshatelNoConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0021_CK_T_CUST_KOJIN;
			//クエリ対象項目管理番号
			skshatelNoConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			skshatelNoConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "SKSHA_TELNO";
			//フィールドタイプコード
			skshatelNoConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			skshatelNoConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			skshatelNoConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			skshatelNoConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			skshatelNoConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(skshatelNoConditionInfo);

			//CK0201 CK_T_RRKS 連絡先 TELNO 電話番号※1
			//連絡先種別コードが2:携帯 以外
			String[] rkkstelNoConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			rkkstelNoConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0201_CK_T_RRKS_TEL_NO;
			//クエリ対象項目管理番号
			rkkstelNoConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			rkkstelNoConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "TELNO";
			//フィールドタイプコード
			rkkstelNoConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			rkkstelNoConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			rkkstelNoConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			rkkstelNoConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			rkkstelNoConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(rkkstelNoConditionInfo);

			//CK0051 CK_T_PROSCST 問合せ客 PROSCST_TELNO 問合せ客電話番号
			String[] proscsttelNoConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			proscsttelNoConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0051_CK_T_PROSCST;
			//クエリ対象項目管理番号
			proscsttelNoConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			proscsttelNoConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "PROSCST_TELNO";
			//フィールドタイプコード
			proscsttelNoConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			proscsttelNoConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			proscsttelNoConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			proscsttelNoConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			proscsttelNoConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(proscsttelNoConditionInfo);

			//KK0491 KK_T_SEIKY_KEI 請求契約 SOHUS_TELNO 送付先電話番号
			String[] sohustelNoConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			sohustelNoConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = KK0491_KK_T_SEIKY_KEI;
			//クエリ対象項目管理番号
			sohustelNoConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			sohustelNoConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "SOHUS_TELNO";
			//フィールドタイプコード
			sohustelNoConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			sohustelNoConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			sohustelNoConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			sohustelNoConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			sohustelNoConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(sohustelNoConditionInfo);
		}
		//----------------------------------------------------------------------------------------------------
		// No. 4 項目名：携帯番号
		//----------------------------------------------------------------------------------------------------
		else if(KTAI_TELNO_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			//CK0051 CK_T_PROSCST 問合せ客 PROSCST_KTAI_TELNO 問合せ客携帯電話番号
			String[] proscsttelNoConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			proscsttelNoConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0051_CK_T_PROSCST;
			//クエリ対象項目管理番号
			proscsttelNoConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			proscsttelNoConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "PROSCST_KTAI_TELNO";
			//フィールドタイプコード
			proscsttelNoConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			proscsttelNoConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			proscsttelNoConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//検索グループ
			proscsttelNoConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(proscsttelNoConditionInfo);
			
			//CK0201 CK_T_RRKS 連絡先 TELNO 電話番号※2
			//連絡先種別コードが2:携帯
			String[] telNoConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			telNoConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0201_CK_T_RRKS_KTAI_TELNO;
			//クエリ対象項目管理番号
			telNoConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			telNoConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "TELNO";
			//フィールドタイプコード
			telNoConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			telNoConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			telNoConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			telNoConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			telNoConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(telNoConditionInfo);

		}
		//----------------------------------------------------------------------------------------------------
		// No. 5 項目名：メールアドレス
		//----------------------------------------------------------------------------------------------------
		else if(MLAD_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			//CK0201 CK_T_RRKS 連絡先 MLAD メールアドレス
			String[] mladConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			mladConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0201_CK_T_RRKS_MLAD;
			//クエリ対象項目管理番号
			mladConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			mladConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "MLAD";
			//フィールドタイプコード
			mladConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			mladConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			mladConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//検索グループ
			mladConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(mladConditionInfo);
			
			//KK0021 KK_T_MSKM_DTL 申込明細 MSKM_RRKS_MLAD 申込連絡先メールアドレス
			String[] mskmRrksMladConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			mskmRrksMladConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = KK0021_KK_T_MSKM_DTL;
			//クエリ対象項目管理番号
			mskmRrksMladConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			mskmRrksMladConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "MSKM_RRKS_MLAD";
			//フィールドタイプコード
			mskmRrksMladConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			mskmRrksMladConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			mskmRrksMladConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			mskmRrksMladConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			mskmRrksMladConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(mskmRrksMladConditionInfo);
			
			//KK0361 KK_T_OPSVKEI_ISP オプションサービス契約<ISP> MLAD メールアドレス
			String[] ispMladConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			ispMladConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = KK0361_KK_T_OPSVKEI_ISP;
			//クエリ対象項目管理番号
			ispMladConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			ispMladConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "MLAD";
			//フィールドタイプコード
			ispMladConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			ispMladConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			ispMladConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			ispMladConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			ispMladConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(ispMladConditionInfo);
			
			//KK0411 KK_T_SBOPSVKEI_ISP サブオプションサービス契約<ISP> ALIAS エイリアス
			String[] aliasConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			aliasConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = KK0411_KK_T_SBOPSVKEI_ISP;
			//クエリ対象項目管理番号
			aliasConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			aliasConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "ALIAS";
			//フィールドタイプコード
			aliasConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			aliasConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			aliasConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			aliasConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			aliasConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(aliasConditionInfo);
			
			//CK0051 CK_T_PROSCST 問合せ客 PROSCST_MLAD 問合せ客メールアドレス
			String[] proscstMladConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			proscstMladConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0051_CK_T_PROSCST;
			//クエリ対象項目管理番号
			proscstMladConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			proscstMladConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "PROSCST_MLAD";
			//フィールドタイプコード
			proscstMladConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			proscstMladConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			proscstMladConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			proscstMladConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			proscstMladConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(proscstMladConditionInfo);
			
			//CK0051 CK_T_PROSCST 問合せ客 SKK_AD 申告アドレス
			String[] skkAdConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			skkAdConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0051_CK_T_PROSCST;
			//クエリ対象項目管理番号
			skkAdConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			skkAdConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "SKK_AD";
			//フィールドタイプコード
			skkAdConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			skkAdConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			skkAdConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			skkAdConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			skkAdConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(skkAdConditionInfo);
			
		}
		
		//----------------------------------------------------------------------------------------------------
		// No. 6 項目名：郵便番号
		//----------------------------------------------------------------------------------------------------
		else if(PCD_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			//CK0011 CK_T_CUST お客様 KEISHA_PCD 契約者郵便番号
			String[] keishaPcdConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			keishaPcdConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0011_CK_T_CUST;
			//クエリ対象項目管理番号
			keishaPcdConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			keishaPcdConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "KEISHA_PCD";
			//フィールドタイプコード
			keishaPcdConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			keishaPcdConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			keishaPcdConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//検索グループ
			keishaPcdConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(keishaPcdConditionInfo);

			//CK0011 CK_T_CUST お客様 CONT_PCD コンテンツ郵便番号
			String[] contPcdConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			contPcdConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0011_CK_T_CUST;
			//クエリ対象項目管理番号
			contPcdConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			contPcdConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "CONT_PCD";
			//フィールドタイプコード
			contPcdConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			contPcdConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			contPcdConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			contPcdConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			contPcdConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(contPcdConditionInfo);
			
			//CK0021 CK_T_CUST_KOJIN お客様<個人> OFFC_PCD 勤務先郵便番号
			String[] offcPcdOffcConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			offcPcdOffcConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0021_CK_T_CUST_KOJIN;
			//クエリ対象項目管理番号
			offcPcdOffcConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			offcPcdOffcConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "OFFC_PCD";
			//フィールドタイプコード
			offcPcdOffcConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			offcPcdOffcConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			offcPcdOffcConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			offcPcdOffcConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			offcPcdOffcConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(offcPcdOffcConditionInfo);
			
			//CK0021 CK_T_CUST_KOJIN お客様<個人> SKSHA_PCD 親権者郵便番号
			String[] offcPcdSkshaConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			offcPcdSkshaConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0021_CK_T_CUST_KOJIN;
			//クエリ対象項目管理番号
			offcPcdSkshaConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			offcPcdSkshaConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "SKSHA_PCD";
			//フィールドタイプコード
			offcPcdSkshaConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			offcPcdSkshaConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			offcPcdSkshaConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			offcPcdSkshaConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			offcPcdSkshaConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(offcPcdSkshaConditionInfo);
			
			//CK0041 CK_T_HOJIN_RRKS 法人連絡先 HJRRKS_PCD 法人連絡先郵便番号
			String[] hjrrksPcdConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			hjrrksPcdConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0041_CK_T_HOJIN_RRKS;
			//クエリ対象項目管理番号
			hjrrksPcdConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			hjrrksPcdConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "HJRRKS_PCD";
			//フィールドタイプコード
			hjrrksPcdConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			hjrrksPcdConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			hjrrksPcdConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			hjrrksPcdConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			hjrrksPcdConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(hjrrksPcdConditionInfo);
			
			//CK0051 CK_T_PROSCST 問合せ客 PROSCST_PCD 問合せ客郵便番号
			String[] proscstPcdConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			proscstPcdConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0051_CK_T_PROSCST;
			//クエリ対象項目管理番号
			proscstPcdConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			proscstPcdConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "PROSCST_PCD";
			//フィールドタイプコード
			proscstPcdConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			proscstPcdConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			proscstPcdConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			proscstPcdConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			proscstPcdConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(proscstPcdConditionInfo);
			
		}
		//----------------------------------------------------------------------------------------------------
		// No. 7 項目名：住所
		//----------------------------------------------------------------------------------------------------
		else if(AD_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			//CK0011 CK_T_CUST お客様
			String[] custAdConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			custAdConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0011_CK_T_CUST;
			//クエリ対象項目管理番号
			custAdConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			custAdConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = 
				"CK0011.KEISHA_STATE_NM || CK0011.KEISHA_CITY_NM || CK0011.KEISHA_OAZTSU_NM || CK0011.KEISHA_AZCHO_NM || " +
				"CK0011.KEISHA_BNCHIGO || CK0011.KEISHA_ADRTTM || CK0011.KEISHA_ADRRM";
			//フィールドタイプコード
			custAdConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			custAdConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			custAdConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//検索グループ
			custAdConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(custAdConditionInfo);

			//CK0011 CK_T_CUST お客様
			String[] contCustAdConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			contCustAdConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0011_CK_T_CUST;
			//クエリ対象項目管理番号
			contCustAdConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			contCustAdConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = 
				"CK0011.CONT_STATE_NM || CK0011.CONT_CITY_NM || CK0011.CONT_OAZTSU_NM || CK0011.CONT_AZCHO_NM || " +
				"CK0011.CONT_BNCHIGO || CK0011.CONT_ADRTTM || CK0011.CONT_ADRRM";
			//フィールドタイプコード
			contCustAdConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			contCustAdConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			contCustAdConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			contCustAdConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			contCustAdConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(contCustAdConditionInfo);

			//CK0021 CK_T_CUST_KOJIN お客様<個人>
			String[] custKojinOffcAdConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			custKojinOffcAdConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0021_CK_T_CUST_KOJIN;
			//クエリ対象項目管理番号
			custKojinOffcAdConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			custKojinOffcAdConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = 
				"CK0021.OFFC_STATE_NM || CK0021.OFFC_CITY_NM || CK0021.OFFC_OAZTSU_NM || CK0021.OFFC_AZCHO_NM || " +
				"CK0021.OFFC_BNCHIGO || CK0021.OFFC_ADRTTM || CK0021.OFFC_ADRRM";
			//フィールドタイプコード
			custKojinOffcAdConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			custKojinOffcAdConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			custKojinOffcAdConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			custKojinOffcAdConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			custKojinOffcAdConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(custKojinOffcAdConditionInfo);

			//CK0021 CK_T_CUST_KOJIN お客様<個人>
			String[] custKojinSkshaAdConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			custKojinSkshaAdConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0021_CK_T_CUST_KOJIN;
			//クエリ対象項目管理番号
			custKojinSkshaAdConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			custKojinSkshaAdConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = 
				"CK0021.SKSHA_STATE_NM || CK0021.SKSHA_CITY_NM || CK0021.SKSHA_OAZTSU_NM || CK0021.SKSHA_AZCHO_NM || " +
				"CK0021.SKSHA_AD_BNCHIGO || CK0021.SKSHA_ADRTTM || CK0021.SKSHA_ADRRM";
			//フィールドタイプコード
			custKojinSkshaAdConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			custKojinSkshaAdConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			custKojinSkshaAdConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			custKojinSkshaAdConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			custKojinSkshaAdConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(custKojinSkshaAdConditionInfo);

			//CK0041 CK_T_HOJIN_RRKS 法人連絡先
			String[] hojinRrksAdConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			hojinRrksAdConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0041_CK_T_HOJIN_RRKS;
			//クエリ対象項目管理番号
			hojinRrksAdConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			hojinRrksAdConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = 
				"CK0041.HJRRKS_STATE_NM || CK0041.HJRRKS_CITY_NM || CK0041.HJRRKS_OAZTSU_NM || CK0041.HJRRKS_AZCHO_NM || " +
				"CK0041.HJRRKS_BNCHIGO || CK0041.HJRRKS_ADRTTM || CK0041.HJRRKS_ADRRM";
			//フィールドタイプコード
			hojinRrksAdConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			hojinRrksAdConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			hojinRrksAdConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			hojinRrksAdConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			hojinRrksAdConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(hojinRrksAdConditionInfo);

			//CK0051 CK_T_PROSCST 問合せ客
			String[] proscstConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			proscstConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0051_CK_T_PROSCST;
			//クエリ対象項目管理番号
			proscstConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			proscstConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = 
				"CK0051.PROSCST_STATE_NM || CK0051.PROSCST_CITY_NM || CK0051.PROSCST_OAZTSU_NM || CK0051.PROSCST_AZCHO_NM || " +
				"CK0051.PROSCST_BNCHIGO || CK0051.PROSCST_ADRTTM || CK0051.PROSCST_ADRRM";
			//フィールドタイプコード
			proscstConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			proscstConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			proscstConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			proscstConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			proscstConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(proscstConditionInfo);
		}
		//----------------------------------------------------------------------------------------------------
		// No. 8 項目名：備考
		//----------------------------------------------------------------------------------------------------
		else if(BIKO_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			//CK0011 CK_T_CUST お客様 CUST_CFM_BIKO お客様確認備考
			String[] custCfmBikoConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			custCfmBikoConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0011_CK_T_CUST;
			//クエリ対象項目管理番号
			custCfmBikoConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			custCfmBikoConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "CUST_CFM_BIKO";
			//フィールドタイプコード
			custCfmBikoConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			custCfmBikoConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			custCfmBikoConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//検索グループ
			custCfmBikoConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(custCfmBikoConditionInfo);
			
			//CK0051 CK_T_PROSCST 問合せ客 PROSCST_HSK_BIKO 問合せ客補足備考
			String[] proscstHskBikoConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			proscstHskBikoConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0051_CK_T_PROSCST;
			//クエリ対象項目管理番号
			proscstHskBikoConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			proscstHskBikoConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "PROSCST_HSK_BIKO";
			//フィールドタイプコード
			proscstHskBikoConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			proscstHskBikoConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			proscstHskBikoConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			proscstHskBikoConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			proscstHskBikoConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(proscstHskBikoConditionInfo);
			
		}
		
		//----------------------------------------------------------------------------------------------------
		// No. 9 項目名：申込書番号
		//----------------------------------------------------------------------------------------------------
		else if(MSKMSHO_NO_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			//KK0021 KK_T_MSKM_DTL 申込明細 MSKMSHO_NO 申込書番号
			String[] mskmshoConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			mskmshoConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = KK0021_KK_T_MSKM_DTL;
			//クエリ対象項目管理番号
			mskmshoConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			mskmshoConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "MSKMSHO_NO";
			//フィールドタイプコード
			mskmshoConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			mskmshoConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			mskmshoConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//検索グループ
			mskmshoConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(mskmshoConditionInfo);
			
			//CK0051 CK_T_PROSCST 問合せ客 CUST_TOKUT_MSKMSHO_NO お客様特定用申込書番号
			String[] custTokutMskmshoNoConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			custTokutMskmshoNoConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0051_CK_T_PROSCST;
			//クエリ対象項目管理番号
			custTokutMskmshoNoConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			custTokutMskmshoNoConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "CUST_TOKUT_MSKMSHO_NO";
			//フィールドタイプコード
			custTokutMskmshoNoConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			custTokutMskmshoNoConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			custTokutMskmshoNoConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			custTokutMskmshoNoConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			custTokutMskmshoNoConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(custTokutMskmshoNoConditionInfo);
			
		}
		
		//----------------------------------------------------------------------------------------------------
		// No.10 項目名：認証ID
		//----------------------------------------------------------------------------------------------------
		else if(NINSHO_ID_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			//KK0111 KK_T_SVC_KEI_EOH_TEL サービス契約<eo光電話> PPP_NINSHO_ID PPP 認証ID
			String[] pppIdConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			pppIdConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = KK0111_KK_T_SVC_KEI_EOH_TEL;
			//クエリ対象項目管理番号
			pppIdConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			pppIdConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "PPP_NINSHO_ID";
			//フィールドタイプコード
			pppIdConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			pppIdConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			pppIdConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//検索グループ
			pppIdConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(pppIdConditionInfo);
			
			//KK0221 KK_T_SVKEIUW_EOADSL サービス契約内訳<eoADSL> ADSL_NINSHO_ID ADSL認証ID
			String[] adslIdConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			adslIdConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = KK0221_KK_T_SVKEIUW_EOADSL;
			//クエリ対象項目管理番号
			adslIdConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			adslIdConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "ADSL_NINSHO_ID";
			//フィールドタイプコード
			adslIdConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			adslIdConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			adslIdConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			adslIdConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			adslIdConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(adslIdConditionInfo);
			
			//KK0171 KK_T_SVKEIUW_EOH_NET サービス契約内訳<eo光ネット> ISP_NINSHO_ID ISP認証ID
			String[] ispIdConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			ispIdConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = KK0171_KK_T_SVKEIUW_EOH_NET;
			//クエリ対象項目管理番号
			ispIdConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			ispIdConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "ISP_NINSHO_ID";
			//フィールドタイプコード
			ispIdConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			ispIdConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			ispIdConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			ispIdConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			ispIdConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(ispIdConditionInfo);
			
			//KK0201 KK_T_SVKEIUW_EOMOBA サービス契約内訳<eoモバイル> UQ_NINSHO_ID UQ認証ID
			String[] uqIdConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			uqIdConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = KK0201_KK_T_SVKEIUW_EOMOBA;
			//クエリ対象項目管理番号
			uqIdConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			uqIdConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "UQ_NINSHO_ID";
			//フィールドタイプコード
			uqIdConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			uqIdConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			uqIdConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			uqIdConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			uqIdConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(uqIdConditionInfo);
			
			//KK0411 KK_T_SBOPSVKEI_ISP サブオプションサービス契約<ISP> DUPCON_NINSHO_ID ダイヤルアップ接続用認証ID
			String[] dupconIspIdConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			dupconIspIdConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = KK0361_KK_T_OPSVKEI_ISP;
			//クエリ対象項目管理番号
			dupconIspIdConditionInfo[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			dupconIspIdConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "DUPCON_NINSHO_ID";
			//フィールドタイプコード
			dupconIspIdConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			dupconIspIdConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd_w;
			//クエリ値
			dupconIspIdConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//AND条件フラグ
			dupconIspIdConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = and_joken_w;
			//検索グループ
			dupconIspIdConditionInfo[INDEX_QUERY_CND_JOKEN_GRP] = JOKEN_GRP_ITEM;
			//ArrayListへセット
			query_kmk_arraylist.add(dupconIspIdConditionInfo);
			
		}
		//----------------------------------------------------------------------------------------------------
		// No.11 項目名：顧客タイプ
		//----------------------------------------------------------------------------------------------------
		else if(CUST_TYPE_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
		}
		//----------------------------------------------------------------------------------------------------
		// No.12 項目名：問合せのカテゴリー（ワークグループ）
		//----------------------------------------------------------------------------------------------------
		else if(CTGR_LV_001_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			String[] queryConditionInfos = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			queryConditionInfos[INDEX_QUERY_CONDITION_SCHMA_ID] = CR0201_CR_T_TAIOKRK_UW_CTGR_001;
			//クエリ対象項目管理番号
			queryConditionInfos[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			queryConditionInfos[INDEX_QUERY_CONDITION_FIELD_NM] = field_nm;
			//フィールドタイプコード
			queryConditionInfos[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			queryConditionInfos[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd;
			//クエリ値
			queryConditionInfos[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//ArrayListへセット
			query_kmk_arraylist.add(queryConditionInfos);
		}

		//----------------------------------------------------------------------------------------------------
		// No.13 項目名：第1問合せのカテゴリー
		//----------------------------------------------------------------------------------------------------
		else if(CTGR_LV_002_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			String[] queryConditionInfos = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			queryConditionInfos[INDEX_QUERY_CONDITION_SCHMA_ID] = CR0201_CR_T_TAIOKRK_UW_CTGR_002;
			//クエリ対象項目管理番号
			queryConditionInfos[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			queryConditionInfos[INDEX_QUERY_CONDITION_FIELD_NM] = field_nm;
			//フィールドタイプコード
			queryConditionInfos[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			queryConditionInfos[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd;
			//クエリ値
			queryConditionInfos[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//ArrayListへセット
			query_kmk_arraylist.add(queryConditionInfos);
		}

		//----------------------------------------------------------------------------------------------------
		// No.14 項目名：第3問合せのカテゴリー
		//----------------------------------------------------------------------------------------------------
		else if(CTGR_LV_003_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			String[] queryConditionInfos = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			queryConditionInfos[INDEX_QUERY_CONDITION_SCHMA_ID] = CR0201_CR_T_TAIOKRK_UW_CTGR_003;
			//クエリ対象項目管理番号
			queryConditionInfos[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			queryConditionInfos[INDEX_QUERY_CONDITION_FIELD_NM] = field_nm;
			//フィールドタイプコード
			queryConditionInfos[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			queryConditionInfos[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd;
			//クエリ値
			queryConditionInfos[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//ArrayListへセット
			query_kmk_arraylist.add(queryConditionInfos);
		}

		//----------------------------------------------------------------------------------------------------
		// No.15 項目名：第4問合せのカテゴリー
		//----------------------------------------------------------------------------------------------------
		else if(CTGR_LV_004_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			String[] queryConditionInfos = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			queryConditionInfos[INDEX_QUERY_CONDITION_SCHMA_ID] = CR0201_CR_T_TAIOKRK_UW_CTGR_004;
			//クエリ対象項目管理番号
			queryConditionInfos[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			queryConditionInfos[INDEX_QUERY_CONDITION_FIELD_NM] = field_nm;
			//フィールドタイプコード
			queryConditionInfos[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			queryConditionInfos[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd;
			//クエリ値
			queryConditionInfos[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//ArrayListへセット
			query_kmk_arraylist.add(queryConditionInfos);
		}

		//----------------------------------------------------------------------------------------------------
		// No.16 項目名：第5問合せのカテゴリー
		//----------------------------------------------------------------------------------------------------
		else if(CTGR_LV_005_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			String[] queryConditionInfos = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			queryConditionInfos[INDEX_QUERY_CONDITION_SCHMA_ID] = CR0201_CR_T_TAIOKRK_UW_CTGR_005;
			//クエリ対象項目管理番号
			queryConditionInfos[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			queryConditionInfos[INDEX_QUERY_CONDITION_FIELD_NM] = field_nm;
			//フィールドタイプコード
			queryConditionInfos[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			queryConditionInfos[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd;
			//クエリ値
			queryConditionInfos[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//ArrayListへセット
			query_kmk_arraylist.add(queryConditionInfos);
		}

		//----------------------------------------------------------------------------------------------------
		// No.17 項目名：第6問合せのカテゴリー
		//----------------------------------------------------------------------------------------------------
		else if(CTGR_LV_006_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			String[] queryConditionInfos = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			queryConditionInfos[INDEX_QUERY_CONDITION_SCHMA_ID] = CR0201_CR_T_TAIOKRK_UW_CTGR_006;
			//クエリ対象項目管理番号
			queryConditionInfos[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			queryConditionInfos[INDEX_QUERY_CONDITION_FIELD_NM] = field_nm;
			//フィールドタイプコード
			queryConditionInfos[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			queryConditionInfos[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd;
			//クエリ値
			queryConditionInfos[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//ArrayListへセット
			query_kmk_arraylist.add(queryConditionInfos);
		}

		//----------------------------------------------------------------------------------------------------
		// No.18 項目名：第7問合せのカテゴリー
		//----------------------------------------------------------------------------------------------------
		else if(CTGR_LV_007_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			String[] queryConditionInfos = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			queryConditionInfos[INDEX_QUERY_CONDITION_SCHMA_ID] = CR0201_CR_T_TAIOKRK_UW_CTGR_007;
			//クエリ対象項目管理番号
			queryConditionInfos[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			queryConditionInfos[INDEX_QUERY_CONDITION_FIELD_NM] = field_nm;
			//フィールドタイプコード
			queryConditionInfos[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			queryConditionInfos[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd;
			//クエリ値
			queryConditionInfos[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//ArrayListへセット
			query_kmk_arraylist.add(queryConditionInfos);
		}

		//----------------------------------------------------------------------------------------------------
		// No.19 項目名：第8問合せのカテゴリー
		//----------------------------------------------------------------------------------------------------
		else if(CTGR_LV_008_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			String[] queryConditionInfos = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			queryConditionInfos[INDEX_QUERY_CONDITION_SCHMA_ID] = CR0201_CR_T_TAIOKRK_UW_CTGR_008;
			//クエリ対象項目管理番号
			queryConditionInfos[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			queryConditionInfos[INDEX_QUERY_CONDITION_FIELD_NM] = field_nm;
			//フィールドタイプコード
			queryConditionInfos[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			queryConditionInfos[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd;
			//クエリ値
			queryConditionInfos[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//ArrayListへセット
			query_kmk_arraylist.add(queryConditionInfos);
		}

		//----------------------------------------------------------------------------------------------------
		// No.20 項目名：第9問合せのカテゴリー
		//----------------------------------------------------------------------------------------------------
		else if(CTGR_LV_009_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			String[] queryConditionInfos = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			queryConditionInfos[INDEX_QUERY_CONDITION_SCHMA_ID] = CR0201_CR_T_TAIOKRK_UW_CTGR_009;
			//クエリ対象項目管理番号
			queryConditionInfos[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			queryConditionInfos[INDEX_QUERY_CONDITION_FIELD_NM] = field_nm;
			//フィールドタイプコード
			queryConditionInfos[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			queryConditionInfos[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd;
			//クエリ値
			queryConditionInfos[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//ArrayListへセット
			query_kmk_arraylist.add(queryConditionInfos);
		}

		//----------------------------------------------------------------------------------------------------
		// No.21 項目名：第10問合せのカテゴリー
		//----------------------------------------------------------------------------------------------------
		else if(CTGR_LV_010_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			String[] queryConditionInfos = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			queryConditionInfos[INDEX_QUERY_CONDITION_SCHMA_ID] = CR0201_CR_T_TAIOKRK_UW_CTGR_010;
			//クエリ対象項目管理番号
			queryConditionInfos[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			queryConditionInfos[INDEX_QUERY_CONDITION_FIELD_NM] = field_nm;
			//フィールドタイプコード
			queryConditionInfos[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			queryConditionInfos[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd;
			//クエリ値
			queryConditionInfos[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//ArrayListへセット
			query_kmk_arraylist.add(queryConditionInfos);
		}

		//----------------------------------------------------------------------------------------------------
		// No.22 項目名：第11問合せのカテゴリー
		//----------------------------------------------------------------------------------------------------
		else if(CTGR_LV_011_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			String[] queryConditionInfos = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			queryConditionInfos[INDEX_QUERY_CONDITION_SCHMA_ID] = CR0201_CR_T_TAIOKRK_UW_CTGR_011;
			//クエリ対象項目管理番号
			queryConditionInfos[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			queryConditionInfos[INDEX_QUERY_CONDITION_FIELD_NM] = field_nm;
			//フィールドタイプコード
			queryConditionInfos[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			queryConditionInfos[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd;
			//クエリ値
			queryConditionInfos[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//ArrayListへセット
			query_kmk_arraylist.add(queryConditionInfos);
		}

		//----------------------------------------------------------------------------------------------------
		// No.23 項目名：作成者
		//----------------------------------------------------------------------------------------------------
		else if(USER_INS_OPT_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			String[] queryConditionInfos = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			queryConditionInfos[INDEX_QUERY_CONDITION_SCHMA_ID] = ZM0051_ZM_M_USER_INS_OPT;
			//クエリ対象項目管理番号
			queryConditionInfos[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			queryConditionInfos[INDEX_QUERY_CONDITION_FIELD_NM] = field_nm;
			//フィールドタイプコード
			queryConditionInfos[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			queryConditionInfos[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd;
			//クエリ値
			queryConditionInfos[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//ArrayListへセット
			query_kmk_arraylist.add(queryConditionInfos);
		}

		//----------------------------------------------------------------------------------------------------
		// No.24 項目名：担当者
		//----------------------------------------------------------------------------------------------------
		else if(USER_TAIO_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			String[] queryConditionInfos = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			queryConditionInfos[INDEX_QUERY_CONDITION_SCHMA_ID] = ZM0051_ZM_M_USER_TAIO;
			//クエリ対象項目管理番号
			queryConditionInfos[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			queryConditionInfos[INDEX_QUERY_CONDITION_FIELD_NM] = field_nm;
			//フィールドタイプコード
			queryConditionInfos[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			queryConditionInfos[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd;
			//クエリ値
			queryConditionInfos[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//ArrayListへセット
			query_kmk_arraylist.add(queryConditionInfos);
		}

		//----------------------------------------------------------------------------------------------------
		// No.25 項目名：送信者ユーザー
		//----------------------------------------------------------------------------------------------------
		else if(USER_SEND_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			String[] queryConditionInfos = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			queryConditionInfos[INDEX_QUERY_CONDITION_SCHMA_ID] = ZM0051_ZM_M_USER_SEND;
			//クエリ対象項目管理番号
			queryConditionInfos[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			queryConditionInfos[INDEX_QUERY_CONDITION_FIELD_NM] = field_nm;
			//フィールドタイプコード
			queryConditionInfos[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			queryConditionInfos[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd;
			//クエリ値
			queryConditionInfos[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//ArrayListへセット
			query_kmk_arraylist.add(queryConditionInfos);
		}

		//----------------------------------------------------------------------------------------------------
		// No.26 項目名：受付ワークグループ
		//----------------------------------------------------------------------------------------------------
		else if(WKGRP_UK_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			String[] queryConditionInfos = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			queryConditionInfos[INDEX_QUERY_CONDITION_SCHMA_ID] = ZM0151_ZM_M_WKKBT_ORG_UK;
			//クエリ対象項目管理番号
			queryConditionInfos[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			queryConditionInfos[INDEX_QUERY_CONDITION_FIELD_NM] = field_nm;
			//フィールドタイプコード
			queryConditionInfos[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			queryConditionInfos[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd;
			//クエリ値
			queryConditionInfos[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//ArrayListへセット
			query_kmk_arraylist.add(queryConditionInfos);
		}

		//----------------------------------------------------------------------------------------------------
		// No.27 項目名：担当ワークグループ
		//----------------------------------------------------------------------------------------------------
		else if(WKGRP_TANTO_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			String[] queryConditionInfos = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			queryConditionInfos[INDEX_QUERY_CONDITION_SCHMA_ID] = ZM0151_ZM_M_WKKBT_ORG_TANTO;
			//クエリ対象項目管理番号
			queryConditionInfos[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			queryConditionInfos[INDEX_QUERY_CONDITION_FIELD_NM] = field_nm;
			//フィールドタイプコード
			queryConditionInfos[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			queryConditionInfos[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd;
			//クエリ値
			queryConditionInfos[INDEX_QUERY_CND_QUERY_VALUE] = query_value;
			//ArrayListへセット
			query_kmk_arraylist.add(queryConditionInfos);
		}
		//----------------------------------------------------------------------------------------------------
		// No.28 項目名：作成日時、最終終了日
		//----------------------------------------------------------------------------------------------------
		else if(ADD_YMD_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no)
			|| LAST_END_YMD_QUERY_TRGT_KMK_KANRI_NO.equals(query_trgt_kmk_kanri_no))
		{
			String[] queryConditionInfos = new String[MAX_QUERY_CONDITION_INDEX];

			String query_value_w = "";
			if (D1_JOKEN_CODE.equals(query_joken_cd))
			{
				query_value_w = query_value + "235959999";
			}
			else
			{
				query_value_w = query_value + "000000000";
			}

			//スキーマID
			queryConditionInfos[INDEX_QUERY_CONDITION_SCHMA_ID] = schma_id;
			//クエリ対象項目管理番号
			queryConditionInfos[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			queryConditionInfos[INDEX_QUERY_CONDITION_FIELD_NM] = field_nm;
			//フィールドタイプコード
			queryConditionInfos[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			queryConditionInfos[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd;
			//クエリ値
			queryConditionInfos[INDEX_QUERY_CND_QUERY_VALUE] = query_value_w;
			//ArrayListへセット
			query_kmk_arraylist.add(queryConditionInfos);
		}
		else
		{
			String[] queryConditionInfos = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			queryConditionInfos[INDEX_QUERY_CONDITION_SCHMA_ID] = schma_id;
			//クエリ対象項目管理番号
			queryConditionInfos[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = query_trgt_kmk_kanri_no;
			//フィールド名
			queryConditionInfos[INDEX_QUERY_CONDITION_FIELD_NM] = field_nm;
			//フィールドタイプコード
			queryConditionInfos[INDEX_QUERY_CND_FIELD_TYPE_CD] = field_type_cd;
			//クエリ条件コード
			queryConditionInfos[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd;
			//クエリ値
			queryConditionInfos[INDEX_QUERY_CND_QUERY_VALUE] = query_value;

			//ArrayListへセット
			query_kmk_arraylist.add(queryConditionInfos);
		}

	}
	
	/**
	 * No.13 個別条件作成用配列作成
	 * 個別条件を作成するための配列を作成する。クエリ項目名が「氏名カナ」など複数のスキーマやフィールドを
	 * 条件とする場合、このメソッドで対応する。
	 * <BR>
	 * @param query_kmk_nm クエリ項目名
	 * @param schma_id スキーマID
	 * @param field_nm フィールド名
	 * @param field_type_cd フィールドタイプコード
	 * @param query_joken_cd クエリ条件コード
	 * @param query_value クエリ値
	 * @param or_joken_um OR条件有無
	 * @param query_kmk_arraylist 個別条件作成用ArrayList
	 * @throws IllegalArgumentException
	 */
	private static void createPrepareCndArrayCustType(String[] query_joken_cd , String[] query_value , ArrayList<String[]> query_kmk_arraylist) throws IllegalArgumentException
	{
		//-----------------------------------------------------------------------------------------------------
		// (1) 引数チェック
		//-----------------------------------------------------------------------------------------------------
		if(query_kmk_arraylist == null)
		{
			throw new IllegalArgumentException(ERR_MSG_NON_ARRAY_LIST);
		}
		
		boolean mikanyu = false;
		boolean kanyu = false;

		boolean mikanyuNotEqual = false;
		boolean kanyuNotEqual = false;

		for (int i = 0; i < query_value.length; i++)
		{
			if (MIKANYU_QUERY_VALUE.equals(query_value[i]))
			{
				mikanyu = true;
				//@条件が「と等しくない」の場合
				if(C2_JOKEN_CODE.equals(query_joken_cd[i]))
				{
					mikanyuNotEqual = true;
				}
				continue;
			}
			else
			{
				kanyu = true;
				//@条件が「と等しくない」の場合
				if(C2_JOKEN_CODE.equals(query_joken_cd[i]))
				{
					kanyuNotEqual = true;
				}
			}

			String[] queryConditionInfos = new String[MAX_QUERY_CONDITION_INDEX];
			//スキーマID
			queryConditionInfos[INDEX_QUERY_CONDITION_SCHMA_ID] = CK0011_CK_T_CUST;
			//クエリ対象項目管理番号
			queryConditionInfos[INDEX_QUERY_CONDITION_QUERY_TRGT_KMK_KANRI_NO] = CUST_TYPE_QUERY_TRGT_KMK_KANRI_NO;
			//フィールド名
			queryConditionInfos[INDEX_QUERY_CONDITION_FIELD_NM] = "MEMBER_SBT_CD";
			//フィールドタイプコード
			queryConditionInfos[INDEX_QUERY_CND_FIELD_TYPE_CD] = V_FIELD_TYPE_CODE;
			//クエリ条件コード
			queryConditionInfos[INDEX_QUERY_CND_QUERY_JOKEN_CD] = query_joken_cd[i];
			//クエリ値
			queryConditionInfos[INDEX_QUERY_CND_QUERY_VALUE] = query_value[i];

			//ArrayListへセット
			query_kmk_arraylist.add(queryConditionInfos);

		}

		if (mikanyu && kanyu)
		{
			if (kanyuNotEqual)
			{
				//CR0011 CR_T_TAIO_KIROK 対応記録 PROSCST_NO 問合せ客番号
				String[] proscstNoConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
				//スキーマID
				proscstNoConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CR0011_CR_T_TAIO_KIROK;
				//フィールド名
				proscstNoConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "PROSCST_NO";
				//フィールドタイプコード
				proscstNoConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = V_FIELD_TYPE_CODE;
				//クエリ条件コード
				proscstNoConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = IS_NOT_NULL_JOKEN_CODE;
				//クエリ値
				proscstNoConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = NON_JOKEN_FOR_CUST_TYPE;
				//ArrayListへセット
				query_kmk_arraylist.add(proscstNoConditionInfo);
			}
			else
			{
				if (mikanyuNotEqual)
				{
					//CR0011 CR_T_TAIO_KIROK 対応記録 PROSCST_NO 問合せ客番号
					String[] proscstNoConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
					//スキーマID
					proscstNoConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CR0011_CR_T_TAIO_KIROK;
					//フィールド名
					proscstNoConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "PROSCST_NO";
					//フィールドタイプコード
					proscstNoConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = V_FIELD_TYPE_CODE;
					//クエリ条件コード
					proscstNoConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = IS_NULL_JOKEN_CODE;
					//クエリ値
					proscstNoConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = NON_JOKEN_FOR_CUST_TYPE;
					//AND条件フラグ
					proscstNoConditionInfo[INDEX_QUERY_CND_AND_JOKEN_FLG] = AND_JOKEN;
					//ArrayListへセット
					query_kmk_arraylist.add(proscstNoConditionInfo);
				}
				else
				{
					//CR0011 CR_T_TAIO_KIROK 対応記録 PROSCST_NO 問合せ客番号
					String[] proscstNoConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
					//スキーマID
					proscstNoConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CR0011_CR_T_TAIO_KIROK;
					//フィールド名
					proscstNoConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "PROSCST_NO";
					//フィールドタイプコード
					proscstNoConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = V_FIELD_TYPE_CODE;
					//クエリ条件コード
					proscstNoConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = IS_NOT_NULL_JOKEN_CODE;
					//クエリ値
					proscstNoConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = NON_JOKEN_FOR_CUST_TYPE;
					//ArrayListへセット
					query_kmk_arraylist.add(proscstNoConditionInfo);
				}
			}
		}
		else if (mikanyu && !kanyu)
		{
			if (mikanyuNotEqual)
			{
				//CR0011 CR_T_TAIO_KIROK 対応記録 PROSCST_NO 問合せ客番号
				String[] proscstNoConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
				//スキーマID
				proscstNoConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CR0011_CR_T_TAIO_KIROK;
				//フィールド名
				proscstNoConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "PROSCST_NO";
				//フィールドタイプコード
				proscstNoConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = V_FIELD_TYPE_CODE;
				//クエリ条件コード
				proscstNoConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = IS_NULL_JOKEN_CODE;
				//クエリ値
				proscstNoConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = NON_JOKEN_FOR_CUST_TYPE;
				//ArrayListへセット
				query_kmk_arraylist.add(proscstNoConditionInfo);
			}
			else
			{
				//CR0011 CR_T_TAIO_KIROK 対応記録 PROSCST_NO 問合せ客番号
				String[] proscstNoConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
				//スキーマID
				proscstNoConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CR0011_CR_T_TAIO_KIROK;
				//フィールド名
				proscstNoConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "PROSCST_NO";
				//フィールドタイプコード
				proscstNoConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = V_FIELD_TYPE_CODE;
				//クエリ条件コード
				proscstNoConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = IS_NOT_NULL_JOKEN_CODE;
				//クエリ値
				proscstNoConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = NON_JOKEN_FOR_CUST_TYPE;
				//ArrayListへセット
				query_kmk_arraylist.add(proscstNoConditionInfo);
			}

		}
		else
		{
			if (kanyuNotEqual)
			{
				//CR0011 CR_T_TAIO_KIROK 対応記録 PROSCST_NO 問合せ客番号
				String[] proscstNoConditionInfo = new String[MAX_QUERY_CONDITION_INDEX];
				//スキーマID
				proscstNoConditionInfo[INDEX_QUERY_CONDITION_SCHMA_ID] = CR0011_CR_T_TAIO_KIROK;
				//フィールド名
				proscstNoConditionInfo[INDEX_QUERY_CONDITION_FIELD_NM] = "PROSCST_NO";
				//フィールドタイプコード
				proscstNoConditionInfo[INDEX_QUERY_CND_FIELD_TYPE_CD] = V_FIELD_TYPE_CODE;
				//クエリ条件コード
				proscstNoConditionInfo[INDEX_QUERY_CND_QUERY_JOKEN_CD] = IS_NOT_NULL_JOKEN_CODE;
				//クエリ値
				proscstNoConditionInfo[INDEX_QUERY_CND_QUERY_VALUE] = NON_JOKEN_FOR_CUST_TYPE;
				//ArrayListへセット
				query_kmk_arraylist.add(proscstNoConditionInfo);
			}
		}
	}
}
