/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JKUBatCheckUtil
*   ソースファイル名：JKUBatCheckUtil.java
*   作成者          ：富士通
*   日付            ：2011年05月19日
*＜機能概要＞
*   バッチ部品のアクセッサークラスです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/05/19   FJ) 富士通  新規作成
*   v9.00.00	2014/08/22   FJ)阪口	【ANK-2244-00-00】E-PON⇒GE-PON(収容替)、GE-PON⇒GE-PON(収容替)対応  
*	v10.00.00	2014/07/12   FJ)黒田 	【ANK-1918-00-00】ＵＳ管理Ｓ向けｅｏ顧客ＳのＩ／Ｆ改修
*	v32.00.00	2017/04/15   FJ)池原 	【ANK-3126-00-00】ＯＰＭＳリプレイス　ＳＴＥＰ１　検証作業の支援に対しての調査（対富士通）
*	v30.00.00	2017/10/13   FJ)周藤 	【ANK-2966-00-00】OPMSリプレース（Step２−１）OFの解約、移設連携変更
*	v31.00.00	2017/10/13   FJ)周藤 	【ANK-3136-00-00】OPMSハードウエア保守切れ対応
*   v37.00.00   2018/02/08   FJ) 周藤   【ANK-3366-00-00】eo光設備卸対応
*	v40.00.00	2018/09/27   FJ)木村	【ANK-3412-00-00】５ギガ・１０ギガコース導入対応
*   v41.00.00	2019/01/29   FJ)周藤	【ANK-3387-00-00】マンションタイプ光コンセントサービス導入
*   v61.00.00   2022/12/27   FJ)佐野    【ANK-4315-00-00】【eo定期】 eoホームゲートウェイ導入対応 step2
**********************************************************************/
package eo.business.common;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.Map;

import eo.business.util.table.JBSbatZM_M_WORK_PARAM_KNRI;
import eo.common.constant.JKUStrConst;
import eo.common.util.JKUCheckSTBCount;
import eo.common.util.JKUCommonUtil;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.business.util.table.JBSbatKK_T_KKTSVK_KCPTC_WK;
import eo.business.util.table.JBSbatKU_T_KJAK_TG_TKKIKI;
import eo.business.util.table.JBSbatKU_T_KOJIAK;
import eo.business.util.table.JBSbatKU_T_KJ_KNRN_RCV_IF;

/**
 * 工事受付システム用共通チェック処理を提供する。<p>
 * ジョブで実装します。
 * <BR>
 * @author 富士通
 */
public class JKUBatCheckUtil extends JCCBatCommon
{
	
	/** SQL定義キー(KU_SELECT_001)*/
	private static final String CD_NM_KANRI_SELECT_001 = "KU_SELECT_001";
	/** SQL定義キー(KU_SELECT_010)*/
	private static final String KU_T_KJAK_TG_TKKIKI_KU_SELECT_010 = "KU_SELECT_010";
	
	// 工事案件種別と連携コードの相関チェック用定数
	
	// 連携コード上2桁
	/** eo光ネットホームタイプ */
	private static final String EOH_NET_HT = "03";
	/** eo光ネットマンション　プライベート */
	private static final String EOH_NET_MANS_P = "04";
	/** インターネットオフィス */
	private static final String INTERNET_OFFICE = "05";
	/** eo光ネットマンション　グローバル */
	private static final String EOH_NET_MANS_G = "07";
	/** eo光テレビ */
	private static final String EOH_TV = "11";
	/** eo光ネットマンション　光配線 */
	private static final String EOH_NET_MANS_H = "15";
	/** eo光テレビ　KCN */
	private static final String EOH_TV_KCN = "17";
	
	// 連携コード下2桁
	/** 10：宅内調査結果 */
	private static final String TAKNI_CHOSA_RSLT = "10";
	/** 15：宅内調査結果変更 */
	private static final String TAKNI_CHOSA_RSLT_HENKO = "15";
	/** 20：設計結果 */
	private static final String DSGN_RSLT = "20";
	/** 25：設計結果変更 */
	private static final String DSGN_RSLT_HENKO = "25";
	/** 30：伝送設備情報 */
	private static final String DENSO_EQUIP_INFO = "30";
	/** 35：伝送設備情報変更 */
	private static final String DENSO_EQUIP_INFO_HENKO = "35";
	/** 40：工事完了情報 */
	private static final String KOJI_FIN_INFO = "40";
	/** 45：工事完了情報変更 */
	private static final String KOJI_FIN_INFO_HENKO = "45";
	/** 60：工事予定情報 */
	private static final String KOJI_RSV_INFO = "60";
	/** 65：工事予定情報変更 */
	private static final String KOJI_RSV_INFO_HENKO = "65";
	/** 70：検品情報 */
	private static final String KNPN_INFO = "70";
	/** 75：検品情報変更 */
	private static final String KNPN_INFO_HENKO = "75";
	/** 80：設置情報(OPMS) */
	private static final String STC_INFO_OPMS = "80";
	/** 85：設置情報変更(OPMS) */
	private static final String STC_INFO_OPMS_HENKO = "85";
	/** 90：工事取消情報 */
	private static final String KOJI_CL_INFO = "90";
	/** B0：宅内工事予定情報 */
	private static final String TNKJ_RSV_INFO = "B0";
	/** B5：宅内工事予定情報変更 */
	private static final String TNKJ_RSV_INFO_HENKO = "B5";
	/** C0：工事費情報 */
	private static final String KOJI_HI_INFO = "C0";
	/** C5：工事費情報変更 */
	private static final String KOJI_HI_INFO_HENKO = "C5";
	/** D0：設置情報(宅内機器) */
	private static final String STC_INFO_TAKNI = "D0";
	/** D5：設置情報変更(宅内機器) */
	private static final String STC_INFO_TAKNI_HENKO = "D5";
// ANK-3136-00-00 ADD START
	/** E0：工事仮キャンセル受付情報 */
	private static final String KJ_KARI_CL_UK_INFO = "E0";
	/** E5：工事仮キャンセル受付変更情報 */
	private static final String KJ_KARI_CL_UK_CNG_INFO = "E5";
	/** F0：工事仮キャンセル取消情報 */
	private static final String KJ_KARI_CL_CL_INFO = "F0";
// ANK-3136-00-00 ADD END
	/** X0：CATV着工前機器割当情報 */
	private static final String CATV_CHAKOMAE = "X0";
	/** Y0：新STB鍵開け情報 */
	private static final String NEW_STB_KEY_OPEN_INFO = "Y0";
	/** Z0：旧STB撤去情報 */
	private static final String OLD_STB_TEKKYO_INFO = "Z0";

	//チェック結果
	/** チェックNG */
	private static final int CHECK_NG = 0;
	/** 1:OK  */
	private static final int KISN_JJS_RSLT_OK = 1;
	/** 4:工事結果OKならOK、工事結果NGならNG  */
	private static final int KISN_JJS_RSLT_ETC = 4;
	
	//OPME連携コード
    /** 00：OPME連携コード無し */
	private static final String OPMS_RENK_NASI = "00";
	
	/** 工事結果OK */
	private static final String KOJI_RSLT_CD_OK = "1";
	
	/** 工事費項目コード(100) */
	private static final String KOJIHI_KMK_CD_100 = "100";
	/** 工事費項目コード(110) */
	private static final String KOJIHI_KMK_CD_110 = "110";
	/** 工事費項目コード(120) */
	private static final String KOJIHI_KMK_CD_120 = "120";
	/** 工事費項目コード(200) */
	private static final String KOJIHI_KMK_CD_200 = "200";
	/** 工事費項目コード(210) */
	private static final String KOJIHI_KMK_CD_210 = "210";
	/** 工事費項目コード(220) */
	private static final String KOJIHI_KMK_CD_220 = "220";
	/** 工事費項目コード(300) */
	private static final String KOJIHI_KMK_CD_300 = "300";
	/** 工事費項目コード(310) */
	private static final String KOJIHI_KMK_CD_310 = "310";
// ANK-3366-00-00 ADD START
	/** 工事費項目コード(315) */
	private static final String KOJIHI_KMK_CD_315 = "315";
// ANK-3366-00-00 ADD END
	/** 工事費項目コード(320) */
	private static final String KOJIHI_KMK_CD_320 = "320";
	/** 工事費項目コード(400) */
	private static final String KOJIHI_KMK_CD_400 = "400";
	/** 工事費項目コード(410) */
	private static final String KOJIHI_KMK_CD_410 = "410";
	/** 工事費項目コード(420) */
	private static final String KOJIHI_KMK_CD_420 = "420";
	/** 工事費項目コード(430) */
	private static final String KOJIHI_KMK_CD_430 = "430";
	/** 工事費項目コード(700) */
	private static final String KOJIHI_KMK_CD_700 = "700";
	/** 工事費項目コード(710) */
	private static final String KOJIHI_KMK_CD_710 = "710";
	/** 工事費項目コード(720) */
	private static final String KOJIHI_KMK_CD_720 = "720";
	/** 工事費項目コード(730) */
	private static final String KOJIHI_KMK_CD_730 = "730";
	/** 工事費項目コード(740) */
	private static final String KOJIHI_KMK_CD_740 = "740";
	/** 工事費項目コード(750) */
	private static final String KOJIHI_KMK_CD_750 = "750";
	
	/** 工事費合計金額のデフォルト値 */
	private static final String ZERO = "0";

	/**
	 * チェック対象値がコード名称管理マスタに存在することをチェックします。
	 * <br>
	 * @param db_ZM_M_CD_NM_KANRI テーブルアクセスクラス(コード名称管理)
	 * @param commonItem バッチ共通パラメータ電文
	 * @param value チェック対象のコード値
	 * @param groupCode コード種別
	 * @return チェックOKの場合true, チェックNGの場合false
	 * @throws Exception      業務サービス内で発生した例外全般。
	 */
	public boolean isCodeMaster(JBSbatSQLAccess db_ZM_M_CD_NM_KANRI, JBSbatCommonItem commonItem, String value, String groupCode) throws Exception 
	{
		// チェック対象のコード値
		if (!JKUBatCommon.isNotNull(value))
		{
			return false;
		}
		// コード種別コード
		if (!JKUBatCommon.isNotNull(groupCode))
		{
			return false;
		}
		
		// 条件を設定
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue(groupCode); 							// コード種別コード
		whereMap.setValue(value); 								// コード区分
		whereMap.setValue(commonItem.getOpeDate()); 			// 運用日
		
		// ＳＱＬを実行
		db_ZM_M_CD_NM_KANRI.selectBySqlDefine(whereMap, CD_NM_KANRI_SELECT_001);
		
		if(db_ZM_M_CD_NM_KANRI.selectNext() == null)
		{
			// データが存在しない場合、エラー
			return false;
		}
		
		return true;
	}
	
	/**
	 * 工事案件種別と連携コードの相関チェックを実行します。
	 * <br>
	 * @param rsMap		工事関連受信情報
	 * @param mansFlg	（eo光テレビ用) true = マンション, false = 戸建
	 * @param tkHoshikiPatternCd	提供方式パターンコード
	 * @return	チェックOKの場合true, チェックNGの場合false
	 */
// ANK-3387-00-00 MOD START
//	public boolean checkKjakSbtRnkiCdSokan(Map<String, Object> rsMap, boolean mansFlg)
	public boolean checkKjakSbtRnkiCdSokan(Map<String, Object> rsMap, boolean mansFlg, String tkHoshikiPatternCd)
// ANK-3387-00-00 MOD END
	{
		
		// ---マップからの値の取得
		
		// 連携コード
		String rnkiCd = (String)rsMap.get(JBSbatKU_T_KJ_KNRN_RCV_IF.OPMS_RNKI_CD);
		// 工事案件種別コード
		String kjakSbt = (String)rsMap.get(JBSbatKU_T_KJ_KNRN_RCV_IF.RENKEI_DATA_1);
		
		// ---引数チェック
		
		// 工事案件種別
		// 存在チェック
		if (!JKUBatCommon.isNotNull(kjakSbt))
		{
			return false;
		}
		// 連携コード
		// 存在チェック
		if (!JKUBatCommon.isNotNull(rnkiCd))
		{
			return false;
		}
		// 桁数チェック
		if (4 != rnkiCd.length())
		{
			return false;
		}
		
		// ---使用する値の作成
		
		// 連携コード（上2桁）
		String rnkiCdHi = rnkiCd.substring(0, 2);
		// 連携コード（下2桁）
		String rnkiCdLow = rnkiCd.substring(2, 4);
		// チェック用2次元配列
		int[][] checkArray2D = null;
		// チェック用配列
		int[] checkArray = null;
		// チェック結果（整数）
		int resultInt = CHECK_NG;
		
		
		// チェック用2次元配列の取得
		
// ANK-3387-00-00 MOD START
//		checkArray2D = getCheckArray2D(rnkiCdHi, mansFlg);
		checkArray2D = getCheckArray2D(rnkiCdHi, mansFlg, tkHoshikiPatternCd);
// ANK-3387-00-00 MOD END
		
		// 取得した配列のチェック
		if (null == checkArray2D)
		{
			return false;
		}
		
		// 工事案件種別毎のチェック用配列の取得
		checkArray = getRnkiCdCheckArray(checkArray2D, kjakSbt);
		
		// 取得した配列のチェック
		if (null == checkArray)
		{
			return false;
		}
		
		// チェック結果（整数）の取得
		resultInt = getKjakSbtRnkiCdSokanRslt(checkArray, rnkiCdLow);

		// ---チェック結果を返す
		
		if (CHECK_NG == resultInt)
		{
			return false;
		}
		
		return true;
	}
	
	/**
	 * 工事案件種別と連携コードの相関チェック用2次元配列を作成します。<br>
	 * <br>
	 * @param rnkiCdHi	連携コード(上2桁)
	 * @param mansFlg	マンションフラグ
	 * @param tkHoshikiPatternCd	提供方式パターンコード
	 * @return チェック用2次元配列
	 */
// ANK-3387-00-00 MOD START
//	private int[][] getCheckArray2D(String rnkiCdHi, boolean mansFlg)
	private int[][] getCheckArray2D(String rnkiCdHi, boolean mansFlg, String tkHoshikiPatternCd)
// ANK-3387-00-00 MOD END
	{
		int[][] retArray = null;
		// 連携コード（上2桁）が 03:eo光ネットホームタイプ の場合
		if (EOH_NET_HT.equals(rnkiCdHi))
		{
			// マンションフラグがマンション(true)である場合
			if (true == mansFlg)
			{
				retArray = getEoHNetMansHCheckArray();
			}
			else
			{
				retArray = getEoHNetHTCheckArray();
			}
		}
		
		// 連携コード（上2桁）が 04:マンションプライベート の場合
		else if (EOH_NET_MANS_P.equals(rnkiCdHi))
		{
			retArray = getEoHNetMansPCheckArray();
		}
		
		// 連携コード（上2桁）が 05:インターネットオフィス の場合
		else if (INTERNET_OFFICE.equals(rnkiCdHi))
		{
			retArray = getInternetOfficeCheckArray();
		}
		
		// 連携コード（上2桁）が 07:マンショングローバル の場合
		else if (EOH_NET_MANS_G.equals(rnkiCdHi))
		{
			retArray = getEoHNetMansGCheckArray();
		}
		
		// 連携コード（上2桁）が 11:eo光テレビ の場合 の場合
		else if (EOH_TV.equals(rnkiCdHi))
		{
			// マンションフラグがマンション(true)である場合
			if (true == mansFlg)
			{
				retArray = getEoHTVMansCheckArray();
			}
			else
			{
				retArray = getEoHTVHMCheckArray();
			}
		}
		
		// 連携コード（上2桁）が 15:eo光ネットマンション　光配線 の場合
		else if (EOH_NET_MANS_H.equals(rnkiCdHi))
		{
// ANK-3387-00-00 MOD START
//			retArray = getEoHNetMansHCheckArray();
			// 提供方式パターンコードが「51：光コンセント」の場合
			if (JKUStrConst.CD01213_HKR_SOCKET.equals(tkHoshikiPatternCd))
			{
				retArray = getEoHNetMansHSocketCheckArray();
			}
			else
			{
				retArray = getEoHNetMansHCheckArray();
			}
// ANK-3387-00-00 MOD END
		}
		
		// 連携コード（上2桁）が 17:eo光テレビ　KCN の場合
		else if (EOH_TV_KCN.equals(rnkiCdHi))
		{
			retArray = getEoHTVKCNCheckArray();
		}
		
		return retArray;
	}
	
	

	/**
	 * 工事案件種別と連携コードの相関チェック用2次元配列を作成します。<br>
	 * （eo光ネットホームタイプ用）
	 * <br>
	 * @return eo光ネットホームタイプチェック用配列
	 */
	private int[][] getEoHNetHTCheckArray()
	{
		int[][] retArray =
// ANK-3136-00-00 MOD START
////			10	15	20	25	30	35	40	45	60	65	70	75	80	85	90	B0	B5	C0	C5	D0	D5	X0	Y0	Z0		
//		{ {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0	}	// 000:強制解約
//		, {	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 001:新設
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0	}	// 002:撤去(解約)
//		, {	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 003:住変(新設)
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0	}	// 004:住変(撤去)
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0	}	// 006:eo光電話宅内工事
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0	}	// 007:移設工事
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 008:リンクSTB
//		, {	0,	0,	1,	1,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 009:プラン変更(収容替)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 010:プラン変更(工事なし)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 011:サービス追加(工事なし)
//		, {	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 012:面開発
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 013:eoテレビ変更
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}};	// 014:GG乗換

// ANK-4315-00-00 MOD START
////			10	15	20	25	30	35	40	45	60	65	70	75	80	85	90	B0	B5	C0	C5	D0	D5	E0	E5	F0	X0	Y0	Z0		
//		{ {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 000:強制解約
//		, {	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 001:新設
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 002:撤去(解約)
//		, {	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 003:住変(新設)
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 004:住変(撤去)
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 006:eo光電話宅内工事
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 007:移設工事
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 008:リンクSTB
//		, {	0,	0,	1,	1,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 009:プラン変更(収容替)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 010:プラン変更(工事なし)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 011:サービス追加(工事なし)
//		, {	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 012:面開発
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 013:eoテレビ変更
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}};	// 014:GG乗換
//// ANK-3136-00-00 MOD END
			
//			10	15	20	25	30	35	40	45	60	65	70	75	80	85	90	B0	B5	C0	C5	D0	D5	E0	E5	F0	X0	Y0	Z0		
		{ {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 000:強制解約
		, {	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 001:新設
		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 002:撤去(解約)
		, {	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 003:住変(新設)
		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 004:住変(撤去)
		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 006:eo光電話宅内工事
		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 007:移設工事
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 008:リンクSTB
		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 009:プラン変更(収容替)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 010:プラン変更(工事なし)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 011:サービス追加(工事なし)
		, {	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 012:面開発
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 013:eoテレビ変更
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 014:GG乗換
		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}};	// 015:ONU交換工事
// ANK-4315-00-00 MOD END
		
		return retArray;
	}
	
	/**
	 * 工事案件種別と連携コードの相関チェック用2次元配列を作成します。<br>
	 * （eo光ネットマンション　プライベート用）
	 * <br>
	 * @return eo光ネットマンション　プライベートチェック用配列
	 */
	private int[][] getEoHNetMansPCheckArray()
	{
		int[][] retArray =
// ANK-3136-00-00 MOD START
////			10	15	20	25	30	35	40	45	60	65	70	75	80	85	90	B0	B5	C0	C5	D0	D5	X0	Y0	Z0		
//		{ {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0	}	// 000:強制解約
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	0,	0,	0,	0,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0	}	// 001:新設
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0	}	// 002:撤去(解約)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 003:住変(新設)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 004:住変(撤去)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 006:eo光電話宅内工事
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 007:移設工事
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 008:リンクSTB
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 009:プラン変更(収容替)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 010:プラン変更(工事なし)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 011:サービス追加(工事なし)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 012:面開発
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 013:eoテレビ変更
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	0,	0,	0,	0,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0	}};	// 014:GG乗換

//			10	15	20	25	30	35	40	45	60	65	70	75	80	85	90	B0	B5	C0	C5	D0	D5	E0	E5	F0	X0	Y0	Z0		
		{ {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 000:強制解約
		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	0,	0,	0,	0,	1,	1,	1,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 001:新設
		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 002:撤去(解約)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 003:住変(新設)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 004:住変(撤去)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 006:eo光電話宅内工事
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 007:移設工事
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 008:リンクSTB
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 009:プラン変更(収容替)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 010:プラン変更(工事なし)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 011:サービス追加(工事なし)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 012:面開発
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 013:eoテレビ変更
		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	0,	0,	0,	0,	1,	1,	1,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 014:GG乗換
// ANK-4315-00-00 ADD START
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}};	// 015:ONU交換工事
// ANK-4315-00-00 ADD END
// ANK-3136-00-00 MOD END
		
		return retArray;
	}
	
	/**
	 * 工事案件種別と連携コードの相関チェック用2次元配列を作成します。<br>
	 * （インターネットオフィス用）
	 * <br>
	 * @return インターネットオフィスチェック用配列
	 */
	private int[][] getInternetOfficeCheckArray()
	{
		int[][] retArray =
// ANK-3136-00-00 MOD START
////			10	15	20	25	30	35	40	45	60	65	70	75	80	85	90	B0	B5	C0	C5	D0	D5	X0	Y0	Z0		
//		{ {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 000:強制解約
//		, {	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0	}	// 001:新設
//// ANK-2966-00-00 MOD START
////		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 002:撤去(解約)
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 002:撤去(解約)
//// ANK-2966-00-00 MOD END
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 003:住変(新設)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 004:住変(撤去)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 006:eo光電話宅内工事
//// ANK-2966-00-00 MOD START
////		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 007:移設工事
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 007:移設工事
//// ANK-2966-00-00 MOD END
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 008:リンクSTB
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 009:プラン変更(収容替)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 010:プラン変更(工事なし)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 011:サービス追加(工事なし)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 012:面開発
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 013:eoテレビ変更
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}};	// 014:GG乗換

//			10	15	20	25	30	35	40	45	60	65	70	75	80	85	90	B0	B5	C0	C5	D0	D5	E0	E5	F0	X0	Y0	Z0		
		{ {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 000:強制解約
		, {	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	0,	0	}	// 001:新設
		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 002:撤去(解約)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 003:住変(新設)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 004:住変(撤去)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 006:eo光電話宅内工事
		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 007:移設工事
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 008:リンクSTB
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 009:プラン変更(収容替)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 010:プラン変更(工事なし)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 011:サービス追加(工事なし)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 012:面開発
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 013:eoテレビ変更
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 014:GG乗換
// ANK-4315-00-00 ADD START
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}};	// 015:ONU交換工事
// ANK-4315-00-00 ADD END
// ANK-3136-00-00 MOD END
		
		return retArray;
	}
	
	/**
	 * 工事案件種別と連携コードの相関チェック用2次元配列を作成します。<br>
	 * （eo光ネットマンション　グローバル用）
	 * <br>
	 * @return eo光ネットマンション　グローバルチェック用配列
	 */
	private int[][] getEoHNetMansGCheckArray()
	{
		int[][] retArray =
// ANK-3136-00-00 MOD START
////			10	15	20	25	30	35	40	45	60	65	70	75	80	85	90	B0	B5	C0	C5	D0	D5	X0	Y0	Z0		
//		{ {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0	}	// 000:強制解約
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	0,	0,	0,	0,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0	}	// 001:新設
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0	}	// 002:撤去(解約)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 003:住変(新設)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 004:住変(撤去)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 006:eo光電話宅内工事
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 007:移設工事
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 008:リンクSTB
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 009:プラン変更(収容替)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 010:プラン変更(工事なし)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 011:サービス追加(工事なし)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 012:面開発
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 013:eoテレビ変更
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	0,	0,	0,	0,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0	}};	// 014:GG乗換

//			10	15	20	25	30	35	40	45	60	65	70	75	80	85	90	B0	B5	C0	C5	D0	D5	E0	E5	F0	X0	Y0	Z0		
		{ {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 000:強制解約
		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	0,	0,	0,	0,	1,	1,	1,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 001:新設
		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 002:撤去(解約)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 003:住変(新設)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 004:住変(撤去)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 006:eo光電話宅内工事
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 007:移設工事
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 008:リンクSTB
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 009:プラン変更(収容替)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 010:プラン変更(工事なし)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 011:サービス追加(工事なし)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 012:面開発
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 013:eoテレビ変更
		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	0,	0,	0,	0,	1,	1,	1,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 014:GG乗換
// ANK-4315-00-00 ADD START
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}};	// 015:ONU交換工事
// ANK-4315-00-00 ADD END
// ANK-3136-00-00 MOD END

		return retArray;
	}
	
	/**
	 * 工事案件種別と連携コードの相関チェック用2次元配列を作成します。<br>
	 * （eo光テレビ(戸建)用）
	 * <br>
	 * @return eo光テレビ(戸建)チェック用配列
	 */
	private int[][] getEoHTVHMCheckArray()
	{
		int[][] retArray =
// ANK-3136-00-00 MOD START
////			10	15	20	25	30	35	40	45	60	65	70	75	80	85	90	B0	B5	C0	C5	D0	D5	X0	Y0	Z0		
//		{ {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0	}	// 000:強制解約
//		, {	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0	}	// 001:新設
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0	}	// 002:撤去(解約)
//		, {	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0	}	// 003:住変(新設)
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0	}	// 004:住変(撤去)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 006:eo光電話宅内工事
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	1,	1,	1,	1,	0,	0,	0	}	// 007:移設工事
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 008:リンクSTB
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 009:プラン変更(収容替)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 010:プラン変更(工事なし)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 011:サービス追加(工事なし)
//		, {	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0	}	// 012:面開発
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	1,	1,	1,	1,	0,	1,	1	}	// 013:eoテレビ変更
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}};	// 014:GG乗換

//			10	15	20	25	30	35	40	45	60	65	70	75	80	85	90	B0	B5	C0	C5	D0	D5	E0	E5	F0	X0	Y0	Z0		
		{ {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 000:強制解約
		, {	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0	}	// 001:新設
		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 002:撤去(解約)
		, {	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0	}	// 003:住変(新設)
		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 004:住変(撤去)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 006:eo光電話宅内工事
		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 007:移設工事
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 008:リンクSTB
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 009:プラン変更(収容替)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 010:プラン変更(工事なし)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 011:サービス追加(工事なし)
		, {	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0	}	// 012:面開発
		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	1,	1,	1,	1,	1,	1,	1,	0,	1,	1	}	// 013:eoテレビ変更
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 014:GG乗換
// ANK-4315-00-00 ADD START
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}};	// 015:ONU交換工事
// ANK-4315-00-00 ADD END
// ANK-3136-00-00 MOD END

		return retArray;
	}
	
	/**
	 * 工事案件種別と連携コードの相関チェック用2次元配列を作成します。<br>
	 * （eo光テレビ(マンション)用）
	 * <br>
	 * @return eo光テレビ(マンション)用チェック用配列
	 */
	private int[][] getEoHTVMansCheckArray()
	{
		int[][] retArray =
// ANK-3136-00-00 MOD START
////			10	15	20	25	30	35	40	45	60	65	70	75	80	85	90	B0	B5	C0	C5	D0	D5	X0	Y0	Z0		
//		{ {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0	}	// 000:強制解約
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0	}	// 001:新設
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0	}	// 002:撤去(解約)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 003:住変(新設)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 004:住変(撤去)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 006:eo光電話宅内工事
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 007:移設工事
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0	}	// 008:リンクSTB
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 009:プラン変更(収容替)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 010:プラン変更(工事なし)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 011:サービス追加(工事なし)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 012:面開発
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	1,	1,	1,	1,	0,	1,	1	}	// 013:eoテレビ変更
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}};	// 014:GG乗換

//			10	15	20	25	30	35	40	45	60	65	70	75	80	85	90	B0	B5	C0	C5	D0	D5	E0	E5	F0	X0	Y0	Z0		
		{ {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 000:強制解約
		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0	}	// 001:新設
		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 002:撤去(解約)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 003:住変(新設)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 004:住変(撤去)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 006:eo光電話宅内工事
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 007:移設工事
		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0	}	// 008:リンクSTB
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 009:プラン変更(収容替)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 010:プラン変更(工事なし)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 011:サービス追加(工事なし)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 012:面開発
		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	1,	1,	1,	1,	1,	1,	1,	0,	1,	1	}	// 013:eoテレビ変更
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 014:GG乗換
// ANK-4315-00-00 ADD START
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}};	// 015:ONU交換工事
// ANK-4315-00-00 ADD END
// ANK-3136-00-00 MOD END

		return retArray;
	}
	
	/**
	 * 工事案件種別と連携コードの相関チェック用2次元配列を作成します。<br>
	 * （eo光ネットマンション　光配線(光コンセントを除く)用）
	 * <br>
	 * @return eo光ネットマンション　光配線(光コンセントを除く)チェック用配列
	 */
	private int[][] getEoHNetMansHCheckArray()
	{
		int[][] retArray =
// ANK-3136-00-00 MOD START
////			10	15	20	25	30	35	40	45	60	65	70	75	80	85	90	B0	B5	C0	C5	D0	D5	X0	Y0	Z0		
//		{ {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0	}	// 000:強制解約
//		, {	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 001:新設
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0	}	// 002:撤去(解約)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 003:住変(新設)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 004:住変(撤去)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 006:eo光電話宅内工事
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 007:移設工事
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 008:リンクSTB
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 009:プラン変更(収容替)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 010:プラン変更(工事なし)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 011:サービス追加(工事なし)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 012:面開発
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 013:eoテレビ変更
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}};	// 014:GG乗換

// ANK-4315-00-00 MOD START
////			10	15	20	25	30	35	40	45	60	65	70	75	80	85	90	B0	B5	C0	C5	D0	D5	E0	E5	F0	X0	Y0	Z0		
//		{ {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 000:強制解約
//		, {	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 001:新設
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 002:撤去(解約)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 003:住変(新設)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 004:住変(撤去)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 006:eo光電話宅内工事
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 007:移設工事
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 008:リンクSTB
//// ANK-3412-00-00 MOD START
////		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 009:プラン変更(収容替)
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 009:プラン変更(収容替)
//// ANK-3412-00-00 MOD END
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 010:プラン変更(工事なし)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 011:サービス追加(工事なし)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 012:面開発
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 013:eoテレビ変更
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}};	// 014:GG乗換
//// ANK-3136-00-00 MOD END
			
//			10	15	20	25	30	35	40	45	60	65	70	75	80	85	90	B0	B5	C0	C5	D0	D5	E0	E5	F0	X0	Y0	Z0		
		{ {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 000:強制解約
		, {	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 001:新設
		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 002:撤去(解約)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 003:住変(新設)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 004:住変(撤去)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 006:eo光電話宅内工事
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 007:移設工事
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 008:リンクSTB
// ANK-3412-00-00 MOD START
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 009:プラン変更(収容替)
		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 009:プラン変更(収容替)
// ANK-3412-00-00 MOD END
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 010:プラン変更(工事なし)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 011:サービス追加(工事なし)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 012:面開発
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 013:eoテレビ変更
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 014:GG乗換
		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}};	// 015:ONU交換工事
// ANK-4315-00-00 MOD END

		return retArray;
	}
	
// ANK-3387-00-00 ADD START
	/**
	 * 工事案件種別と連携コードの相関チェック用2次元配列を作成します。<br>
	 * （eo光ネットマンション　光配線(光コンセント)用）
	 * <br>
	 * @return eo光ネットマンション　光配線(光コンセント)チェック用配列
	 */
	private int[][] getEoHNetMansHSocketCheckArray()
	{
		int[][] retArray =
//			10	15	20	25	30	35	40	45	60	65	70	75	80	85	90	B0	B5	C0	C5	D0	D5	E0	E5	F0	X0	Y0	Z0		
		{ {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 000:強制解約
		, {	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	0,	0,	0,	0,	1,	1,	1,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 001:新設
		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 002:撤去(解約)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 003:住変(新設)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 004:住変(撤去)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 006:eo光電話宅内工事
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 007:移設工事
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 008:リンクSTB
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 009:プラン変更(収容替)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 010:プラン変更(工事なし)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 011:サービス追加(工事なし)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 012:面開発
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 013:eoテレビ変更
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 014:GG乗換
// ANK-4315-00-00 ADD START
		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}};	// 015:ONU交換工事
// ANK-4315-00-00 ADD END

		return retArray;
	}
// ANK-3387-00-00 ADD END
	
	/**
	 * 工事案件種別と連携コードの相関チェック用2次元配列を作成します。<br>
	 * （eo光テレビ　KCN）
	 * <br>
	 * @return eo光テレビ　KCNチェック用配列
	 */
	private int[][] getEoHTVKCNCheckArray()
	{
		int[][] retArray =
// ANK-3136-00-00 MOD START
////			10	15	20	25	30	35	40	45	60	65	70	75	80	85	90	B0	B5	C0	C5	D0	D5	X0	Y0	Z0		
//		{ {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0	}	// 000:強制解約
//		, {	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 001:新設
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0	}	// 002:撤去(解約)
//		, {	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 003:住変(新設)
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	0,	0,	0	}	// 004:住変(撤去)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 006:eo光電話宅内工事
//		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	1,	1,	1,	1,	0,	0,	0	}	// 007:移設工事
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 008:リンクSTB
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 009:プラン変更(収容替)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 010:プラン変更(工事なし)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 011:サービス追加(工事なし)
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 012:面開発
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 013:eoテレビ変更
//		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}};	// 014:GG乗換
		
//			10	15	20	25	30	35	40	45	60	65	70	75	80	85	90	B0	B5	C0	C5	D0	D5	E0	E5	F0	X0	Y0	Z0		
		{ {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 000:強制解約
		, {	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 001:新設
		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 002:撤去(解約)
		, {	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 003:住変(新設)
		, {	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0	}	// 004:住変(撤去)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 006:eo光電話宅内工事
		, {	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0	}	// 007:移設工事
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 008:リンクSTB
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 009:プラン変更(収容替)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 010:プラン変更(工事なし)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 011:サービス追加(工事なし)
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 012:面開発
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 013:eoテレビ変更
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}	// 014:GG乗換
// ANK-4315-00-00 ADD START
		, {	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0	}};	// 015:ONU交換工事
// ANK-4315-00-00 ADD END
// ANK-3136-00-00 MOD END

		return retArray;
	}
	
	/**
	 * 工事案件種別を指定し、連携コード（下2桁）でのチェック用配列を返します
	 * <br>
	 * @param checkArray	チェックに使用する2次元配列
	 * @param kjakSbt		工事案件種別
	 * @return 連携コード（下2桁）でのチェック用配列
	 */
	private int[] getRnkiCdCheckArray(int[][] checkArray, String kjakSbt)
	{
		
		// 000:強制解約 の場合
		if (JKUStrConst.CD00577_KYOSEI_DSL.equals(kjakSbt))
		{
			return checkArray[0];
		}
		
		// 001:新設 の場合
		else if (JKUStrConst.CD00577_NEWESTA.equals(kjakSbt))
		{
			return checkArray[1];
		}
		
		// 002:撤去(解約) の場合
		else if (JKUStrConst.CD00577_TEKKYO_DSL.equals(kjakSbt))
		{
			return checkArray[2];
		}
		
		// 003:住変(新設) の場合
		else if (JKUStrConst.CD00577_AD_CHG_NEWESTA.equals(kjakSbt))
		{
			return checkArray[3];
		}
		
		// 004:住変(撤去) の場合
		else if (JKUStrConst.CD00577_AD_CHG_TEKKYO.equals(kjakSbt))
		{
			return checkArray[4];
		}
		
		// 006:eo光電話宅内工事 の場合
		else if (JKUStrConst.CD00577_EOH_TEL_TNKJ.equals(kjakSbt))
		{
			return checkArray[5];
		}
		
		// 007:移設工事 の場合
		else if (JKUStrConst.CD00577_ISETSU.equals(kjakSbt))
		{
			return checkArray[6];
		}
		
		// 008:リンクSTB の場合
		else if (JKUStrConst.CD00577_LINK_STB.equals(kjakSbt))
		{
			return checkArray[7];
		}
		
		// 009:プラン変更(収容替) の場合
		else if (JKUStrConst.CD00577_PLAN_CHG_SHUYO.equals(kjakSbt))
		{
			return checkArray[8];
		}
		
		// 010:プラン変更(工事なし) の場合
		else if (JKUStrConst.CD00577_PLAN_CHG_KOJI_NON.equals(kjakSbt))
		{
			return checkArray[9];
		}
		
		// 011:サービス追加(工事なし) の場合
		else if (JKUStrConst.CD00577_SVC_ADD_KOJI_NON.equals(kjakSbt))
		{
			return checkArray[10];
		}
		
		// 012:面開発 の場合
		else if (JKUStrConst.CD00577_MNKHT.equals(kjakSbt))
		{
			return checkArray[11];
		}
		
		// 013:eoテレビ変更 の場合
		else if (JKUStrConst.CD00577_EOTV_CHG.equals(kjakSbt))
		{
			return checkArray[12];
		}
		// 014:GG乗換 の場合
		else if (JKUStrConst.CD00577_GG_NORIKAE.equals(kjakSbt))
		{
			return checkArray[13];
		}
		
// ANK-4315-00-00 ADD START
		// 015:ONU交換工事 の場合
		else if (JKUStrConst.CD00577_ONU_KOKAN_KOJI.equals(kjakSbt))
		{
			return checkArray[14];
		}
// ANK-4315-00-00 ADD END
		
		// その他 の場合
		else
		{
			return null;
		}
	}
	
	/**
	 * 連携コード（下2桁）を指定し、チェック結果(整数型)を返します。
	 * <br>
	 * @param	checkArray	チェックに使用する配列
	 * @param	rnkiCdLow	連携コード(下2桁）
	 * @return	チェック結果(整数型)
	 */
	private int getKjakSbtRnkiCdSokanRslt(int[] checkArray, String rnkiCdLow)
	{
		
		// 10：宅内調査結果 の場合
		if (TAKNI_CHOSA_RSLT.equals(rnkiCdLow))
		{
			return checkArray[0];
		}
		
		// 15：宅内調査結果変更 の場合
		else if (TAKNI_CHOSA_RSLT_HENKO.equals(rnkiCdLow))
		{
			return checkArray[1];
		}
		
		// 20：設計結果 の場合
		else if (DSGN_RSLT.equals(rnkiCdLow))
		{
			return checkArray[2];
		}
		
		// 25：設計結果変更 の場合
		else if (DSGN_RSLT_HENKO.equals(rnkiCdLow))
		{
			return checkArray[3];
		}
		
		// 30：伝送設備情報 の場合
		else if (DENSO_EQUIP_INFO.equals(rnkiCdLow))
		{
			return checkArray[4];
		}
		
		// 35：伝送設備情報変更 の場合
		else if (DENSO_EQUIP_INFO_HENKO.equals(rnkiCdLow))
		{
			return checkArray[5];
		}
		
		// 40：工事完了情報 の場合
		else if (KOJI_FIN_INFO.equals(rnkiCdLow))
		{
			return checkArray[6];
		}
		
		// 45：工事完了情報変更 の場合
		else if (KOJI_FIN_INFO_HENKO.equals(rnkiCdLow))
		{
			return checkArray[7];
		}
		
		// 60：工事予定情報 の場合
		else if (KOJI_RSV_INFO.equals(rnkiCdLow))
		{
			return checkArray[8];
		}
		
		// 65：工事予定情報変更 の場合
		else if (KOJI_RSV_INFO_HENKO.equals(rnkiCdLow))
		{
			return checkArray[9];
		}
		
		// 70：検品情報 の場合
		else if (KNPN_INFO.equals(rnkiCdLow))
		{
			return checkArray[10];
		}
		
		// 75：検品情報変更 の場合
		else if (KNPN_INFO_HENKO.equals(rnkiCdLow))
		{
			return checkArray[11];
		}
		
		// 80：設置情報(OPMS) の場合
		else if (STC_INFO_OPMS.equals(rnkiCdLow))
		{
			return checkArray[12];
		}
		
		// 85：設置情報変更(OPMS) の場合
		else if (STC_INFO_OPMS_HENKO.equals(rnkiCdLow))
		{
			return checkArray[13];
		}
		
		// 90：工事取消情報 の場合
		else if (KOJI_CL_INFO.equals(rnkiCdLow))
		{
			return checkArray[14];
		}
		
		// B0：宅内工事予定情報 の場合
		else if (TNKJ_RSV_INFO.equals(rnkiCdLow))
		{
			return checkArray[15];
		}
		
		// B5：宅内工事予定情報変更 の場合
		else if (TNKJ_RSV_INFO_HENKO.equals(rnkiCdLow))
		{
			return checkArray[16];
		}
		
		// C0：工事費情報 の場合
		else if (KOJI_HI_INFO.equals(rnkiCdLow))
		{
			return checkArray[17];
		}
		
		// C5：工事費情報変更 の場合
		else if (KOJI_HI_INFO_HENKO.equals(rnkiCdLow))
		{
			return checkArray[18];
		}
		
		// D0：設置情報(宅内機器) の場合
		else if (STC_INFO_TAKNI.equals(rnkiCdLow))
		{
			return checkArray[19];
		}
		
		// D5：設置情報変更(宅内機器) の場合
		else if (STC_INFO_TAKNI_HENKO.equals(rnkiCdLow))
		{
			return checkArray[20];
		}
// ANK-3136-00-00 ADD START
		// E0：工事仮キャンセル受付情報 の場合
		else if (KJ_KARI_CL_UK_INFO.equals(rnkiCdLow))
		{
			return checkArray[21];
		}
		
		// E5：工事仮キャンセル受付変更情報 の場合
		else if (KJ_KARI_CL_UK_CNG_INFO.equals(rnkiCdLow))
		{
			return checkArray[22];
		}
		
		// F0：工事仮キャンセル取消情報 の場合
		else if (KJ_KARI_CL_CL_INFO.equals(rnkiCdLow))
		{
			return checkArray[23];
		}
// ANK-3136-00-00 ADD END
		// X0：CATV着工前機器割当情報 の場合
		else if (CATV_CHAKOMAE.equals(rnkiCdLow))
		{
// ANK-3136-00-00 MOD START
//			return checkArray[21];
			return checkArray[24];
// ANK-3136-00-00 MOD END
		}
		
		// Y0：新STB鍵開け情報 の場合
		else if (NEW_STB_KEY_OPEN_INFO.equals(rnkiCdLow))
		{
// ANK-3136-00-00 MOD START
//			return checkArray[22];
			return checkArray[25];
// ANK-3136-00-00 MOD END
		}
		
		// Z0：旧STB撤去情報 の場合
		else if (OLD_STB_TEKKYO_INFO.equals(rnkiCdLow))
		{
// ANK-3136-00-00 MOD START
//			return checkArray[23];
			return checkArray[26];
// ANK-3136-00-00 MOD END
		}
		
		// その他  の場合
		else
		{
			return CHECK_NG;
		}
	}
	

	
	/**
	 * 未来日時チェック
	 * 引数の値が現在日時より未来かどうか秒単位までチェックします。
	 * @param dateTime yyyyMMddHHmmssまたはyyyyMMddHHmmssSSS
	 * @return true：引数の値が現在日時より未来の場合、false：引数の値が現在日時より未来でない場合
	 */
	public static boolean isFutureDateTime(String dateTime) 
	{
		// 引数チェック
		if(!isDayHour4(dateTime) && !isDayHour1(dateTime)) 
		{
			// yyyyMMddHHmmss, yyyyMMddHHmmssSSS 以外
			return false;
		}
		if(dateTime.length() != 14 && dateTime.length() != 17)
		{
			return false;
		}

		try 
		{
			int year = Integer.parseInt(dateTime.substring(0, 4));
			int month = Integer.parseInt(dateTime.substring(4, 6)) - 1;
			int day = Integer.parseInt(dateTime.substring(6, 8));
			int hour = Integer.parseInt(dateTime.substring(8, 10));
			int minute = Integer.parseInt(dateTime.substring(10, 12));
			int second = Integer.parseInt(dateTime.substring(12, 14));
			
			Calendar cl = new GregorianCalendar(year, month, day, hour, minute, second);
			
			Calendar now = new GregorianCalendar();
			
			if(cl.compareTo(now) > 0)
			{
				return true;
			}
			else
			{
				return false;
			}
		}
		catch (NumberFormatException e) 
		{
			return false;
		}
	}
	
	/**
	 * 業務パラメータ管理テーブルに対してＰＫ条件でレコードを一件検索します。
	 * 検索結果が0件の場合はnullを返却します。
	 * @param commonItem
	 * @param workParamId 業務パラメータＩＤ
	 * @return 業務パラメータ設定値
	 * @throws Exception
	 */
	public String getWorkParamKnri(JBSbatCommonItem commonItem, String workParamId) throws Exception 
	{
		// 業務パラメータ設定値
		String workParamSetteValue = null;
		
		// DBアクセスクラスを生成します
		JBSbatSQLAccess db_ZM_M_WORK_PARAM_KNRI = new JBSbatSQLAccess(commonItem, "ZM_M_WORK_PARAM_KNRI");
		
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue(JBSbatZM_M_WORK_PARAM_KNRI.WORK_PARAM_ID, workParamId);
		
		JBSbatCommonDBInterface rsMap = db_ZM_M_WORK_PARAM_KNRI.selectByPrimaryKeys(whereMap);
		
		if(rsMap != null)
		{
			workParamSetteValue = rsMap.getString(JBSbatZM_M_WORK_PARAM_KNRI.WORK_PARAM_SETTE_VALUE);
		}
		
		// DBアクセスクラスのクローズ
		db_ZM_M_WORK_PARAM_KNRI.close();
		
		return workParamSetteValue;
	}
	
	/**
	 * 予定機器情報、変更機器情報の後空白文字削除<br>
	 * 
	 * @param  rsvKikiInfo 予定機器情報
	 * @param  chgeKikiInfo 変更機器情報
	 * @return 予定又は、変更の機器情報の後空白文字を削除した値
	 * @throws Exception
	 */	
	public static String returnRsvChgeKjakTgTkkiki(String rsvKikiInfo, String chgeKikiInfo) throws Exception
	{
		
		if (JKUBatCommon.isNotNull(chgeKikiInfo))
		{
			return JKUBatCommon.Rtrim(chgeKikiInfo);
		}
		
		if (JKUBatCommon.isNotNull(rsvKikiInfo))
		{
			return JKUBatCommon.Rtrim(rsvKikiInfo);
		}
		
		return "";
	}
	
	/**
	 * STB台数カウント部品の取得
	 * @param commonItem バッチ共通パラメータ電文
	 * @param kojiakNo 工事案件番号
	 * @param kojiakSbtCd 工事案件種別
	 * @param db_KU_T_KJAK_TG_TKKIKI テーブルアクセスクラス(工事案件対象宅内機器)
	 * @return STB台数を格納したSTB台数カウント部品(JKUCheckSTBCount)
	 * @throws Exception 
	 */
	public static JKUCheckSTBCount checkSTBCount(JBSbatCommonItem commonItem, String kojiakNo, String kojiakSbtCd, JBSbatSQLAccess db_KU_T_KJAK_TG_TKKIKI) throws Exception
	{
		int count = 0;
		
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		// 検索結果を格納するマップ
		JBSbatCommonDBInterface mapTkkiki = new JBSbatCommonDBInterface();
		paramList.setValue(kojiakNo);
		// DBアクセスを実行します
		db_KU_T_KJAK_TG_TKKIKI.selectBySqlDefine(paramList, KU_T_KJAK_TG_TKKIKI_KU_SELECT_010);

		
		//件数を取得するため、ArrayListに格納します
		ArrayList<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		mapTkkiki = db_KU_T_KJAK_TG_TKKIKI.selectNext();
		while (mapTkkiki != null)
		{
			mapTkkiki.setValue(JKUStrConst.TAKNKIKI_IDO_CD, mapTkkiki.getString(JKUStrConst.TAKNKIKI_IDO_CD));
			mapTkkiki.setValue(JKUStrConst.TAKNKIKI_SBT_CD, mapTkkiki.getString(JKUStrConst.KU0141_TAKNKIKI_SBT_CD));
			mapTkkiki.setValue(JKUStrConst.KU0141_STC_TEKKYO_FLG, mapTkkiki.getString(JKUStrConst.KU0141_STC_TEKKYO_FLG));
			mapTkkiki.setValue(JKUStrConst.KU0141_CHGE_HDD_CAPA_CD, mapTkkiki.getString(JKUStrConst.KU0141_CHGE_HDD_CAPA_CD));
			mapTkkiki.setValue(JKUStrConst.KU0141_RSV_HDD_CAPA_CD, mapTkkiki.getString(JKUStrConst.KU0141_RSV_HDD_CAPA_CD));
			
			list.add(count, mapTkkiki);
			count++;
			mapTkkiki = db_KU_T_KJAK_TG_TKKIKI.selectNext();
		}
		
		//HashMapの配列を作成し、検索結果を格納します
		HashMap[] map = new HashMap[list.size()];
		for (int i = 0; i < list.size(); i++)
		{
			map[i] = list.get(i).getMap();
		}
		
		
		return new JKUCheckSTBCount(kojiakSbtCd, map);
	}
	
	/**
	 * 連携コード順序性チェック<br>
	 * @param  rsMap		工事関連受信情報
	 * @param  kojiakMap	工事案件情報
	 * @param tkHoshikiPatternCd	提供方式パターンコード
	 * @return チェック結果（チェックOKの場合true, チェックNGの場合false）
	 */	
// ANK-3387-00-00 MOD START
//	public static boolean checkRenkCd(HashMap<String, Object> rsMap, HashMap<String, Object> kojiakMap)
	public static boolean checkRenkCd(HashMap<String, Object> rsMap, HashMap<String, Object> kojiakMap, String tkHoshikiPatternCd)
// ANK-3387-00-00 MOD END
	{
		String rnkiCd = (String)rsMap.get(JBSbatKU_T_KJ_KNRN_RCV_IF.OPMS_RNKI_CD);
		
		//連携コードのnullチェック
		if (!JKUBatCommon.isNotNull(rnkiCd))
		{
			return false;
		}
		
		//連携コードが４桁以外の場合場合はfalseを返す。
		if (rnkiCd.length() != 4)
		{
			return false;
		}
		
		// 連携コード（下2桁）
		String rnkiCdLow = rnkiCd.substring(2, 4);
		
		if (KOJI_RSV_INFO.equals(rnkiCdLow) || KOJI_RSV_INFO_HENKO.equals(rnkiCdLow)
				|| KNPN_INFO.equals(rnkiCdLow) || KNPN_INFO_HENKO.equals(rnkiCdLow))
		{
// ANK-3387-00-00 MOD START
//			return checkKkRkJjs(rsMap, kojiakMap);
			return checkKkRkJjs(rsMap, kojiakMap, tkHoshikiPatternCd);
// ANK-3387-00-00 MOD END
		}
		else if (STC_INFO_OPMS.equals(rnkiCdLow) || STC_INFO_OPMS_HENKO.equals(rnkiCdLow) 
				|| STC_INFO_TAKNI.equals(rnkiCdLow) || STC_INFO_TAKNI_HENKO.equals(rnkiCdLow))
		{
// ANK-3387-00-00 MOD START
//			return checkKkRkJjs(rsMap, kojiakMap);
			return checkKkRkJjs(rsMap, kojiakMap, tkHoshikiPatternCd);
// ANK-3387-00-00 MOD END
		}
		else if (CATV_CHAKOMAE.equals(rnkiCdLow) || NEW_STB_KEY_OPEN_INFO.equals(rnkiCdLow) 
				|| OLD_STB_TEKKYO_INFO.equals(rnkiCdLow))
		{
// ANK-3387-00-00 MOD START
//			return checkKkRkJjs(rsMap, kojiakMap);
			return checkKkRkJjs(rsMap, kojiakMap, tkHoshikiPatternCd);
// ANK-3387-00-00 MOD END
		}
		else if (TAKNI_CHOSA_RSLT.equals(rnkiCdLow) || TAKNI_CHOSA_RSLT_HENKO.equals(rnkiCdLow) 
				|| DSGN_RSLT.equals(rnkiCdLow) || DSGN_RSLT_HENKO.equals(rnkiCdLow))
		{
			return checkKisnRkiJjs(rsMap, kojiakMap);
		}
		else if (DENSO_EQUIP_INFO.equals(rnkiCdLow) || DENSO_EQUIP_INFO_HENKO.equals(rnkiCdLow) 
				|| KOJI_FIN_INFO.equals(rnkiCdLow) || KOJI_FIN_INFO_HENKO.equals(rnkiCdLow))
		{
			return checkKisnRkiJjs(rsMap, kojiakMap);
		}
		else if (KOJI_CL_INFO.equals(rnkiCdLow) || TNKJ_RSV_INFO.equals(rnkiCdLow) 
				|| TNKJ_RSV_INFO_HENKO.equals(rnkiCdLow))
		{
			return checkKisnRkiJjs(rsMap, kojiakMap);
		}
		else if (KOJI_HI_INFO.equals(rnkiCdLow) || KOJI_HI_INFO_HENKO.equals(rnkiCdLow))
		{
			return checkKisnRkiJjs(rsMap, kojiakMap);
		}
//ANK-3136-00-00 ADD START
		else if (KJ_KARI_CL_UK_INFO.equals(rnkiCdLow) || KJ_KARI_CL_UK_CNG_INFO.equals(rnkiCdLow)
				|| KJ_KARI_CL_CL_INFO.equals(rnkiCdLow))
		{
			return checkKisnRkiJjs(rsMap, kojiakMap);
		}
//ANK-3136-00-00 ADD END
		return false;
		
	}
	

	/**
	 * 回線工事に関する連携の順序性チェック<br>
	 * @param  rsMap 		工事関連受信情報
	 * @param  kojiakMap	工事案件情報
	 * @return チェックOKの場合true, チェックNGの場合false
	 */	
	private static boolean checkKisnRkiJjs(HashMap<String, Object> rsMap, HashMap<String, Object> kojiakMap)
	{
		//マンション物件コード
		String msBkCd = (String)kojiakMap.get(JBSbatKU_T_KOJIAK.MANSION_BUKKEN_CD);
		
		// 工事案件より(法人)料金グループコードを取得
		String prcGrpCd = null;
		
		if (JKUBatCommon.isNotNull(kojiakMap.get(JBSbatKU_T_KOJIAK.PRC_GRP_CD)))
		{
			prcGrpCd = (String)kojiakMap.get(JBSbatKU_T_KOJIAK.PRC_GRP_CD);
		}
		else
		{
			prcGrpCd = (String)kojiakMap.get(JBSbatKU_T_KOJIAK.HOJIN_PRC_GRP_CD);
		}
		
		// OPMS連携コード
		String opmsRnkiCd = (String)kojiakMap.get(JBSbatKU_T_KOJIAK.OPMS_RNKI_CD);
		
		//工事案件種別コード
		String kojiakSbtCd = (String)kojiakMap.get(JBSbatKU_T_KOJIAK.KOJIAK_SBT_CD);
		
		//工事結果コード
		String kojiRsltCd = (String)kojiakMap.get(JBSbatKU_T_KOJIAK.OPMS_KOJIAK_RSLT_CD);
		
		//工事関連受信情報の連携コード
		String rnkiCd = (String)rsMap.get(JBSbatKU_T_KJ_KNRN_RCV_IF.OPMS_RNKI_CD);
		
		
		if (!JKUBatCommon.isNotNull(opmsRnkiCd))
		{
			opmsRnkiCd = "0000";	//OPMS連携コードなし処理のため
		}
		if (!JKUBatCommon.isNotNull(kojiakSbtCd))
		{
			return false;
		}
		if (!JKUBatCommon.isNotNull(prcGrpCd))
		{
			return false;
		}
		if (opmsRnkiCd.length() != 4)
		{
			return false;
		}
		

		// 連携コード（下2桁）
		String rnkiCdLow = rnkiCd.substring(2, 4);
		// OPMS連携コード（下2桁）
		String opmsRnkiCdLow = opmsRnkiCd.substring(2, 4);
		
		int[][] retArray = null;
		
		// 工事案件種別コード：新設
		if (JKUStrConst.CD00577_NEWESTA.equals(kojiakSbtCd))
		{
			// 新設 eo光ネットホームタイプ、eo光テレビ(KCN) ：案１
			if (JKUStrConst.CD00133_EOH_HOME.equals(prcGrpCd) || JKUStrConst.CD00133_EOH_TV_KCN.equals(prcGrpCd))
			{
				retArray = getKisnRkiJjsArray1();
			}
			// 新設 eo光電話
			else if (JKUStrConst.CD00133_EOH_TEL.equals(prcGrpCd))
			{
				// 集合住宅：案４
				if (JKUBatCommon.isNotNull(msBkCd))
				{
					retArray = getKisnRkiJjsArray4();
				}
				// 戸建：案１
				else
				{
					retArray = getKisnRkiJjsArray1();
				}
			}
			// 新設 eo光テレビ(K-CAT)、eo光テレビ(再送信)
			else if (JKUStrConst.CD00133_EOH_TV_K_CAT.equals(prcGrpCd) || JKUStrConst.CD00133_EOH_TV_SAISOSHIN.equals(prcGrpCd))
			{
				// 集合住宅:案２
				if (JKUBatCommon.isNotNull(msBkCd))
				{
					retArray = getKisnRkiJjsArray2();
				}
				// 戸建：案１
				else
				{
					retArray = getKisnRkiJjsArray1();
				}
			}
			// 新設 eo光ネットメゾンタイプ、eo光ネットマンションタイプ ：案４
			else if (JKUStrConst.CD00133_EOH_MEZON.equals(prcGrpCd) || JKUStrConst.CD00133_EOH_NTMANS.equals(prcGrpCd))
			{
				retArray = getKisnRkiJjsArray4();
			}
			// 新設 インターネットオフィス ：案５
			else if(JKUStrConst.CD00886_INTERNET_OFFICE.equals(prcGrpCd))
			{
				retArray = getKisnRkiJjsArray5();
			}
			else
			{
				return false;
			}
			
		}
		else if (JKUStrConst.CD00577_AD_CHG_NEWESTA.equals(kojiakSbtCd) || JKUStrConst.CD00577_MNKHT.equals(kojiakSbtCd)) //案１
		{
			retArray = getKisnRkiJjsArray1();
		}
// ANK-2966-00-00 ADD START
		// 工事案件種別コード：移設
		else if (JKUStrConst.CD00577_ISETSU.equals(kojiakSbtCd))
		{
			// 移設 インターネットオフィス ：案７
			if (JKUStrConst.CD00886_INTERNET_OFFICE.equals(prcGrpCd))
			{
				retArray = getKisnRkiJjsArray7();
			}
			// 移設 インターネットオフィス以外 ：案６
			else
			{
				retArray = getKisnRkiJjsArray6();
			}
		}
// ANK-2966-00-00 ADD END
		
// ANK-2966-00-00 MOD START
//		else if (JKUStrConst.CD00577_EOH_TEL_TNKJ.equals(kojiakSbtCd) || JKUStrConst.CD00577_ISETSU.equals(kojiakSbtCd)
//				|| JKUStrConst.CD00577_PLAN_CHG_SHUYO.equals(kojiakSbtCd) || JKUStrConst.CD00577_EOTV_CHG.equals(kojiakSbtCd)) //案６
//		{
//			retArray = getKisnRkiJjsArray6();
// ANK-4315-00-00 MOD START
//		else if (JKUStrConst.CD00577_EOH_TEL_TNKJ.equals(kojiakSbtCd)
//				|| JKUStrConst.CD00577_PLAN_CHG_SHUYO.equals(kojiakSbtCd) || JKUStrConst.CD00577_EOTV_CHG.equals(kojiakSbtCd)) //案６
		else if (JKUStrConst.CD00577_EOH_TEL_TNKJ.equals(kojiakSbtCd)
				|| JKUStrConst.CD00577_PLAN_CHG_SHUYO.equals(kojiakSbtCd) || JKUStrConst.CD00577_EOTV_CHG.equals(kojiakSbtCd) || JKUStrConst.CD00577_ONU_KOKAN_KOJI.equals(kojiakSbtCd)) //案６
// ANK-4315-00-00 MOD END
		{
			retArray = getKisnRkiJjsArray6();
// ANK-2966-00-00 MOD END
		}
		else if (JKUStrConst.CD00577_LINK_STB.equals(kojiakSbtCd)) //案２
		{
			retArray = getKisnRkiJjsArray2();
		}
// ANK-2966-00-00 ADD START
		// 工事案件種別コード：撤去(解約)
		else if (JKUStrConst.CD00577_TEKKYO_DSL.equals(kojiakSbtCd))
		{
			// 撤去(解約) インターネットオフィス ：案７
			if (JKUStrConst.CD00886_INTERNET_OFFICE.equals(prcGrpCd))
			{
				retArray = getKisnRkiJjsArray7();
			}
			// 撤去(解約) インターネットオフィス以外 ：案３
			else
			{
				retArray = getKisnRkiJjsArray3();
			}
		}
// ANK-2966-00-00 ADD END
		
// ANK-2966-00-00 MOD START
//		else if (JKUStrConst.CD00577_KYOSEI_DSL.equals(kojiakSbtCd) || JKUStrConst.CD00577_TEKKYO_DSL.equals(kojiakSbtCd) || 
//				JKUStrConst.CD00577_AD_CHG_TEKKYO.equals(kojiakSbtCd)) //案３
		else if (JKUStrConst.CD00577_KYOSEI_DSL.equals(kojiakSbtCd) || JKUStrConst.CD00577_AD_CHG_TEKKYO.equals(kojiakSbtCd)) //案３
// ANK-2966-00-00 MOD END
		{
			retArray = getKisnRkiJjsArray3();
		}
		else if (JKUStrConst.CD00577_GG_NORIKAE.equals(kojiakSbtCd)) // 案４
		{
			retArray = getKisnRkiJjsArray4();
		}
		else
		{
			return false;
		}
		
		Integer col = getKisnRkJjsCkCol(opmsRnkiCdLow);
		Integer row = getKisnRkJjsCkRow(rnkiCdLow);

		if (null == col || null == row)
		{
			return false;
		}
		
		if (KISN_JJS_RSLT_OK == retArray[col][row])	//チェック結果がOKの場合
		{
			return true;
		}
		else if (KISN_JJS_RSLT_ETC == retArray[col][row])		//工事結果確認
		{
			if (KOJI_RSLT_CD_OK.equals(kojiRsltCd))		//工事結果がOKならTRUEを返す
			{
				return true;
			}
			else	//工事結果NG
			{
				return false;
			}
		}
		else
		{
			return false;
		}
	}
	
	/**
	 * OPMS連携コード（下2桁）を配列の要素番号に変換する。<br>
	 * 
	 * @param  opmsRnkiCdLow OPMS連携コード（下2桁）
	 * @return 順序性チェック用マトリクスの列番号を返します。
	 */	
	private static Integer getKisnRkJjsCkCol(String opmsRnkiCdLow)
	{
		HashMap<String, Integer> opmsRnkiKey = new HashMap<String, Integer>();
		
		opmsRnkiKey.put(OPMS_RENK_NASI, 0);
		opmsRnkiKey.put(TAKNI_CHOSA_RSLT, 1);
		opmsRnkiKey.put(TAKNI_CHOSA_RSLT_HENKO, 2);
		opmsRnkiKey.put(DSGN_RSLT, 3);
		opmsRnkiKey.put(DSGN_RSLT_HENKO, 4);
		opmsRnkiKey.put(DENSO_EQUIP_INFO, 5);
		opmsRnkiKey.put(DENSO_EQUIP_INFO_HENKO, 6);
		opmsRnkiKey.put(KOJI_FIN_INFO, 7);
		opmsRnkiKey.put(KOJI_FIN_INFO_HENKO, 8);
		opmsRnkiKey.put(KOJI_CL_INFO, 9);
		opmsRnkiKey.put(TNKJ_RSV_INFO, 10);
		opmsRnkiKey.put(TNKJ_RSV_INFO_HENKO, 11);
		opmsRnkiKey.put(KOJI_HI_INFO, 12);
		opmsRnkiKey.put(KOJI_HI_INFO_HENKO, 13);
//ANK-3136-00-00 ADD START
		opmsRnkiKey.put(KJ_KARI_CL_UK_INFO, 14);
		opmsRnkiKey.put(KJ_KARI_CL_UK_CNG_INFO, 15);
		opmsRnkiKey.put(KJ_KARI_CL_CL_INFO, 16);
//ANK-3136-00-00 ADD END
		return opmsRnkiKey.get(opmsRnkiCdLow);
	}
	
	/**
	 * 連携コード（下2桁）を配列の要素番号に変換する。<br>
	 * 
	 * @param  rnkiCdLow 連携コード（下2桁）
	 * @return 順序性チェック用マトリクスの行番号を返します。
	 */	
	private static Integer getKisnRkJjsCkRow(String rnkiCdLow)
	{
		HashMap<String, Integer> rnkiKey = new HashMap<String, Integer>();
		
		rnkiKey.put(TAKNI_CHOSA_RSLT, 0);
		rnkiKey.put(TAKNI_CHOSA_RSLT_HENKO, 1);
		rnkiKey.put(DSGN_RSLT, 2);
		rnkiKey.put(DSGN_RSLT_HENKO, 3);
		rnkiKey.put(DENSO_EQUIP_INFO, 4);
		rnkiKey.put(DENSO_EQUIP_INFO_HENKO, 5);
		rnkiKey.put(KOJI_FIN_INFO, 6);
		rnkiKey.put(KOJI_FIN_INFO_HENKO, 7);
		rnkiKey.put(KOJI_CL_INFO, 8);
		rnkiKey.put(TNKJ_RSV_INFO, 9);
		rnkiKey.put(TNKJ_RSV_INFO_HENKO, 10);
		rnkiKey.put(KOJI_HI_INFO, 11);
		rnkiKey.put(KOJI_HI_INFO_HENKO, 12);
//ANK-3136-00-00 ADD START
		rnkiKey.put(KJ_KARI_CL_UK_INFO, 13);
		rnkiKey.put(KJ_KARI_CL_UK_CNG_INFO, 14);
		rnkiKey.put(KJ_KARI_CL_CL_INFO, 15);
//ANK-3136-00-00 ADD END
		return rnkiKey.get(rnkiCdLow);
	}
	
	
	/**
	 * 回線工事順序性チェック用2次元配列取得1<br>
	 * (戸建用)
	 * <br>
	 * @return 回線工事順序性チェック用2次元配列
	 */
	private static int[][] getKisnRkiJjsArray1()
	{
		int[][] retArray =
//ANK-3136-00-00 MOD START
//			//	10	15	20	25	30	35	40	45	90	B0	B5	C0	C5		
//		{	{	1, 	1, 	1, 	0, 	1, 	0, 	1, 	0, 	1,	1, 	1, 	1, 	0	}		// なし
//		,	{	0, 	1, 	1, 	1, 	1, 	0, 	0, 	0, 	1,	1, 	1, 	1, 	0	}		// 10
//		,	{	0, 	1, 	1, 	1, 	1, 	0, 	0, 	0, 	1,	1, 	1, 	1, 	0	}		// 15
//		,	{	1, 	1, 	0, 	1, 	1, 	1, 	1, 	1, 	1,	1, 	1, 	1, 	0	}		// 20
//		,	{	1, 	1, 	0, 	1, 	1, 	1, 	1, 	1, 	1,	1, 	1, 	1, 	0	}		// 25
//		,	{	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1,	1, 	1, 	1, 	0	}		// 30
//		,	{	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1,	1, 	1, 	1, 	0	}		// 35
//		,	{	0, 	4, 	0, 	4, 	0, 	4, 	0, 	1, 	0,	1, 	1, 	1, 	1	}		// 40
//		,	{	0, 	4, 	0, 	4, 	0, 	4, 	0, 	1, 	0,	1, 	1, 	1, 	1	}		// 45
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0, 	0, 	0, 	0	}		// 90
//		,	{	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1,	1, 	1, 	1, 	0	}		// B0
//		,	{	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1,	1, 	1, 	1, 	0	}		// B5
//		,	{	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1,	1, 	1, 	1, 	1	}		// C0
//		,	{	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1,	1, 	1, 	0, 	1	}};		// C5
			
			//	10	15	20	25	30	35	40	45	90	B0	B5	C0	C5	E0	E5	F0		
		{	{	1, 	1, 	1, 	0, 	1, 	0, 	1, 	0, 	1,	1, 	1, 	1, 	0,	1,	0,	0	}		// なし
		,	{	0, 	1, 	1, 	1, 	1, 	0, 	0, 	0, 	1,	1, 	1, 	1, 	0,	1,	0,	0	}		// 10
		,	{	0, 	1, 	1, 	1, 	1, 	0, 	0, 	0, 	1,	1, 	1, 	1, 	0,	1,	0,	0	}		// 15
		,	{	1, 	1, 	0, 	1, 	1, 	1, 	1, 	1, 	1,	1, 	1, 	1, 	0,	1,	0,	0	}		// 20
		,	{	1, 	1, 	0, 	1, 	1, 	1, 	1, 	1, 	1,	1, 	1, 	1, 	0,	1,	0,	0	}		// 25
		,	{	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1,	1, 	1, 	1, 	0,	1,	0,	0	}		// 30
		,	{	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1,	1, 	1, 	1, 	0,	1,	0,	0	}		// 35
		,	{	0, 	4, 	0, 	4, 	0, 	4, 	0, 	1, 	0,	1, 	1, 	1, 	1,	0,	0,	0	}		// 40
		,	{	0, 	4, 	0, 	4, 	0, 	4, 	0, 	1, 	0,	1, 	1, 	1, 	1,	0,	0,	0	}		// 45
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0, 	0, 	0, 	0,	0,	0,	0	}		// 90
		,	{	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1,	1, 	1, 	1, 	0,	1,	0,	0	}		// B0
		,	{	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1,	1, 	1, 	1, 	0,	1,	0,	0	}		// B5
		,	{	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1,	1, 	1, 	1, 	1,	1,	0,	0	}		// C0
		,	{	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1,	1, 	1, 	0, 	1,	1,	0,	0	}		// C5
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0, 	1, 	1 	}		// E0
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0, 	1, 	1 	}		// E5
		,	{	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1,	1, 	1, 	1, 	1,	1,	0,	0	}};		// F0
//ANK-3136-00-00 MOD END
		return retArray;
	}
	
	/**
	 * 回線工事順序性チェック用2次元配列取得2<br>
	 * (リンクＳＴＢ,テレビ集合住宅用)
	 * <br>
	 * @return 回線工事に関する連携の順序性チェック用2次元配列
	 */
	private static int[][] getKisnRkiJjsArray2()
	{
		int[][] retArray =
//ANK-3136-00-00 MOD START
//			//	10	15	20	25	30	35	40	45	90	B0	B5	C0	C5		
//		{	{	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	1,	1,	1,	1,	0	}		// なし
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 10
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 15
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 20
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 25
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 30
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 35
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0,	1,	1,	1,	1	}		// 40
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0,	1,	1,	1,	1	}		// 45
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 90
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	1,	1,	1,	1,	0	}		// B0
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	1,	1, 	1, 	1, 	0	}		// B5
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	1,	1,	1,	1,	1	}		// C0
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	1,	1,	1,	0,	1	}};		// C5

			//	10	15	20	25	30	35	40	45	90	B0	B5	C0	C5	E0	E5	F0		
		{	{	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	1,	1,	1,	1,	0,	1,	0,	0	}		// なし
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 10
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 15
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 20
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 25
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 30
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 35
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0,	1,	1,	1,	1,	0,	0,	0	}		// 40
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0,	1,	1,	1,	1,	0,	0,	0	}		// 45
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 90
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	1,	1,	1,	1,	0,	1,	0,	0	}		// B0
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	1,	1, 	1, 	1, 	0,	1,	0,	0	}		// B5
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	1,	1,	1,	1,	1,	1,	0,	0	}		// C0
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	1,	1,	1,	0,	1,	1,	0,	0	}		// C5
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0, 	1, 	1 	}		// E0
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0, 	1, 	1 	}		// E5
		,	{	0,	0,	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0	}};		// F0
//ANK-3136-00-00 MOD END
		return retArray;
	}
	
	/**
	 * 回線工事順序性チェック用2次元配列取得3<br>
	 * (撤去関連用)
	 * <br>
	 * @return 回線工事に関する連携の順序性チェック用2次元配列
	 */
	private static int[][] getKisnRkiJjsArray3()
	{
		int[][] retArray =
//ANK-3136-00-00 MOD START
//			//	10	15	20	25	30	35	40	45	90	B0	B5	C0	C5		
//		{	{	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	1,	0,	0,	1,	0	}		// なし
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 10
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 15
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 20
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 25
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 30
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 35
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0,	0,	0,	1,	1	}		// 40
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0,	0,	0,	1,	1	}		// 45
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 90
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// B0
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// B5
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	1,	0,	0,	1,	1	}		// C0
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	1,	0,	0,	0,	1	}};		// C5

			//	10	15	20	25	30	35	40	45	90	B0	B5	C0	C5	E0	E5	F0		
		{	{	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	1,	0,	0,	1,	0,	1, 	0,	0	}		// なし
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 10
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 15
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 20
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 25
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 30
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 35
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0,	0,	0,	1,	1,	0,	0,	0	}		// 40
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0,	0,	0,	1,	1,	0,	0,	0	}		// 45
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 90
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// B0
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// B5
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	1,	0,	0,	1,	1,	1, 	0,	0	}		// C0
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	1,	0,	0,	0,	1,	1, 	0,	0	}		// C5
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0, 	1, 	1 	}		// E0
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0, 	1, 	1 	}		// E5
		,	{	0,	0,	0,	0,	0,	0,	1,	0,	1,	0,	0,	1,	1,	1,	0,	0	}};		// F0
//ANK-3136-00-00 MOD END
		return retArray;
	}
	
	/**
	 * 回線工事順序性チェック用2次元配列取得4<br>
	 * (集合住宅用)
	 * <br>
	 * @return 回線工事に関する連携の順序性チェック用2次元配列
	 */
	private static int[][] getKisnRkiJjsArray4()
	{
		int[][] retArray =
//ANK-3136-00-00 MOD START
//			//	10	15	20	25	30	35	40	45	90	B0	B5	C0	C5		
//		{	{	0, 	0, 	0, 	0, 	1, 	1, 	1, 	0, 	1,	1,	1,	1,	0	}		// なし
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 10
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 15
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 20
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 25
//		,	{	0, 	0, 	0, 	0, 	1, 	1, 	1, 	1, 	1,	1,	1,	1,	0	}		// 30
//		,	{	0, 	0, 	0, 	0, 	1, 	1, 	1, 	1, 	1,	1,	1,	1,	0	}		// 35
//		,	{	0, 	0, 	0, 	0, 	0, 	4, 	0, 	1, 	0,	1,	1,	1,	1	}		// 40
//		,	{	0, 	0, 	0, 	0, 	0, 	4, 	0, 	1, 	0,	1,	1,	1,	1	}		// 45
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 90
//		,	{	0, 	0, 	0, 	0, 	1, 	1, 	1, 	1, 	1,	1,	1,	1,	0	}		// B0
//		,	{	0, 	0, 	0, 	0, 	1, 	1, 	1, 	1, 	1,	1,	1,	1,	0	}		// B5
//		,	{	0, 	0, 	0, 	0, 	1, 	1, 	1, 	1, 	1,	1,	1,	1,	1	}		// C0
//		,	{	0, 	0, 	0, 	0, 	1, 	1, 	1, 	1, 	1,	1,	1,	0,	1	}};		// C5

			//	10	15	20	25	30	35	40	45	90	B0	B5	C0	C5	E0	E5	F0		
		{	{	0, 	0, 	0, 	0, 	1, 	1, 	1, 	0, 	1,	1,	1,	1,	0,	1, 	0, 	0	}		// なし
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 10
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 15
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 20
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 25
		,	{	0, 	0, 	0, 	0, 	1, 	1, 	1, 	1, 	1,	1,	1,	1,	0,	1, 	0, 	0	}		// 30
		,	{	0, 	0, 	0, 	0, 	1, 	1, 	1, 	1, 	1,	1,	1,	1,	0,	1, 	0, 	0	}		// 35
		,	{	0, 	0, 	0, 	0, 	0, 	4, 	0, 	1, 	0,	1,	1,	1,	1,	0,	0,	0	}		// 40
		,	{	0, 	0, 	0, 	0, 	0, 	4, 	0, 	1, 	0,	1,	1,	1,	1,	0,	0,	0	}		// 45
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 90
		,	{	0, 	0, 	0, 	0, 	1, 	1, 	1, 	1, 	1,	1,	1,	1,	0,	1, 	0, 	0	}		// B0
		,	{	0, 	0, 	0, 	0, 	1, 	1, 	1, 	1, 	1,	1,	1,	1,	0,	1, 	0, 	0	}		// B5
		,	{	0, 	0, 	0, 	0, 	1, 	1, 	1, 	1, 	1,	1,	1,	1,	1,	1, 	0, 	0	}		// C0
		,	{	0, 	0, 	0, 	0, 	1, 	1, 	1, 	1, 	1,	1,	1,	0,	1,	1, 	0, 	0	}		// C5
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0, 	1, 	1 	}		// E0
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0, 	1, 	1 	}		// E5
		,	{	0,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0	}};		// F0
//ANK-3136-00-00 MOD END
		return retArray;
	}
	
	/**
	 * 回線工事順序性チェック用2次元配列取得5<br>
	 * (オフィス新設用)
	 * <br>
	 * @return 回線工事に関する連携の順序性チェック用2次元配列
	 */
	private static int[][] getKisnRkiJjsArray5()
	{
		int[][] retArray =
//ANK-3136-00-00 MOD START
//			//	10	15	20	25	30	35	40	45	90	B0	B5	C0	C5
//		{	{	1, 	1, 	1, 	0, 	1, 	0, 	1, 	1, 	1,	0,	0,	0,	0	}		// なし
//		,	{	0, 	1, 	1, 	1, 	1, 	0, 	1, 	1, 	1,	0,	0,	0,	0	}		// 10
//		,	{	0, 	1, 	1, 	1, 	1, 	0, 	1, 	1, 	1,	0,	0,	0,	0	}		// 15
//		,	{	1, 	1, 	0, 	1, 	1, 	1, 	1, 	1, 	1,	0,	0,	0,	0	}		// 20
//		,	{	1, 	1, 	0, 	1, 	1, 	1, 	1, 	1, 	1,	0,	0,	0,	0	}		// 25
//		,	{	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1,	0,	0,	0,	0	}		// 30
//		,	{	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1,	0,	0,	0,	0	}		// 35
//		,	{	0, 	4, 	0, 	4, 	0, 	4, 	1, 	1, 	0,	0,	0,	0,	0	}		// 40
//		,	{	0, 	4, 	0, 	4, 	0, 	4, 	1, 	1, 	0,	0,	0,	0,	0	}		// 45
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	0,	0,	0,	0,	0	}		// 90
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// B0
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// B5
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// C0
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}};		// C5

			//	10	15	20	25	30	35	40	45	90	B0	B5	C0	C5	E0	E5	F0		
		{	{	1, 	1, 	1, 	0, 	1, 	0, 	1, 	1, 	1,	0,	0,	0,	0,	0,	0,	0	}		// なし
		,	{	0, 	1, 	1, 	1, 	1, 	0, 	1, 	1, 	1,	0,	0,	0,	0,	0,	0,	0	}		// 10
		,	{	0, 	1, 	1, 	1, 	1, 	0, 	1, 	1, 	1,	0,	0,	0,	0,	0,	0,	0	}		// 15
		,	{	1, 	1, 	0, 	1, 	1, 	1, 	1, 	1, 	1,	0,	0,	0,	0,	0,	0,	0	}		// 20
		,	{	1, 	1, 	0, 	1, 	1, 	1, 	1, 	1, 	1,	0,	0,	0,	0,	0,	0,	0	}		// 25
		,	{	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1,	0,	0,	0,	0,	0,	0,	0	}		// 30
		,	{	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1, 	1,	0,	0,	0,	0,	0,	0,	0	}		// 35
		,	{	0, 	4, 	0, 	4, 	0, 	4, 	1, 	1, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 40
		,	{	0, 	4, 	0, 	4, 	0, 	4, 	1, 	1, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 45
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 90
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// B0
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// B5
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// C0
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// C5
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// E0
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// E5
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}};		// F0
//ANK-3136-00-00 MOD END
		return retArray;
	}
	
	/**
	 * 回線工事順序性チェック用2次元配列取得6<br>
	 * (その他用)
	 * <br>
	 * @return 回線工事に関する連携の順序性チェック用2次元配列
	 */
	private static int[][] getKisnRkiJjsArray6()
	{
		int[][] retArray =
//ANK-3136-00-00 MOD START
//			//	10	15	20	25	30	35	40	45	90	B0	B5	C0	C5		
//		{	{	0, 	0, 	1, 	0, 	0, 	0, 	1, 	0, 	1,	1,	1,	1,	0	}		// なし
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 10
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 15
//		,	{	0, 	0, 	0, 	1, 	0, 	0, 	1, 	1, 	1,	1,	1,	1,	0	}		// 20
//		,	{	0, 	0, 	0, 	1, 	0, 	0, 	1, 	1, 	1,	1,	1,	1,	0	}		// 25
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 30
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 35
//		,	{	0, 	0, 	0, 	4, 	0, 	0, 	0, 	4, 	0,	1,	1,	1,	1	}		// 40
//		,	{	0, 	0, 	0, 	4, 	0, 	0, 	0, 	4, 	0,	1,	1,	1,	1	}		// 45
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 90
//		,	{	0, 	0, 	1, 	1, 	0, 	0, 	1, 	1, 	1,	1,	1,	1,	0	}		// B0
//		,	{	0, 	0, 	1, 	1, 	0, 	0, 	1, 	1, 	1,	1, 	1, 	1, 	0	}		// B5
//		,	{	0, 	0, 	1, 	1, 	0, 	0, 	1, 	1, 	1,	1,	1,	1,	1	}		// C0
//		,	{	0, 	0, 	1, 	1, 	0, 	0, 	1, 	1, 	1,	1,	1,	0,	1	}};		// C5

			//	10	15	20	25	30	35	40	45	90	B0	B5	C0	C5	E0	E5	F0		
		{	{	0, 	0, 	1, 	0, 	0, 	0, 	1, 	0, 	1,	1,	1,	1,	0,	1,	0,	0	}		// なし
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 10
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 15
		,	{	0, 	0, 	0, 	1, 	0, 	0, 	1, 	1, 	1,	1,	1,	1,	0,	1,	0,	0	}		// 20
		,	{	0, 	0, 	0, 	1, 	0, 	0, 	1, 	1, 	1,	1,	1,	1,	0,	1,	0,	0	}		// 25
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 30
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 35
		,	{	0, 	0, 	0, 	4, 	0, 	0, 	0, 	4, 	0,	1,	1,	1,	1,	0,	0,	0	}		// 40
		,	{	0, 	0, 	0, 	4, 	0, 	0, 	0, 	4, 	0,	1,	1,	1,	1,	0,	0,	0	}		// 45
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 90
		,	{	0, 	0, 	1, 	1, 	0, 	0, 	1, 	1, 	1,	1,	1,	1,	0,	1,	0,	0	}		// B0
		,	{	0, 	0, 	1, 	1, 	0, 	0, 	1, 	1, 	1,	1, 	1, 	1, 	0,	1,	0,	0	}		// B5
		,	{	0, 	0, 	1, 	1, 	0, 	0, 	1, 	1, 	1,	1,	1,	1,	1,	1,	0,	0	}		// C0
		,	{	0, 	0, 	1, 	1, 	0, 	0, 	1, 	1, 	1,	1,	1,	0,	1,	1,	0,	0	}		// C5
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1,	0,	0,	0,	0,	0,	1,	1	}		// E0
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1,	0,	0,	0,	0,	0,	1,	1	}		// E5
		,	{	0, 	0, 	1, 	1, 	0, 	0, 	1, 	1, 	1,	1,	1,	1,	1,	1,	0,	0	}};		// F0
//ANK-3136-00-00 MOD END
		return retArray;
	}
	
//ANK-2966-00-00 ADD START
	/**
	 * 回線工事順序性チェック用2次元配列取得7<br>
	 * (オフィス移設・解約・撤去用)
	 * <br>
	 * @return 回線工事に関する連携の順序性チェック用2次元配列
	 */
	private static int[][] getKisnRkiJjsArray7()
	{
		int[][] retArray =
//ANK-3136-00-00 MOD START
//			//	10	15	20	25	30	35	40	45	90	B0	B5	C0	C5
//		{	{	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	1,	0,	0,	0,	0	}		// なし
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 10
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 15
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 20
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 25
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 30
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 35
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0,	0,	0,	0,	0	}		// 40
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0,	0,	0,	0,	0	}		// 45
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// 90
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// B0
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// B5
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}		// C0
//		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}};		// C5

			//	10	15	20	25	30	35	40	45	90	B0	B5	C0	C5	E0	E5	F0		
		{	{	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	1,	0,	0,	0,	0,	0,	0,	0	}		// なし
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 10
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 15
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 20
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 25
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 30
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 35
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 40
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 45
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// 90
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// B0
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// B5
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// C0
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// C5
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// E0
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}		// E5
		,	{	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0,	0,	0	}};		// F0
//ANK-3136-00-00 MOD END
		return retArray;
	}
//ANK-2966-00-00 ADD END

	/**
	 * 機器に関する連携の順序性チェック
	 * @param  rsMap		工事関連受信情報
	 * @param  kojiakMap	工事案件情報
	 * @param tkHoshikiPatternCd	提供方式パターンコード
	 * @return チェック結果（チェックOKの場合true, チェックNGの場合false）
	 */	
// ANK-3387-00-00 MOD START
//	private static boolean checkKkRkJjs(HashMap<String, Object> rsMap, HashMap<String, Object> kojiakMap)
	private static boolean checkKkRkJjs(HashMap<String, Object> rsMap, HashMap<String, Object> kojiakMap, String tkHoshikiPatternCd)
// ANK-3387-00-00 MOD END
	{
		String rnkiCd = (String)rsMap.get(JBSbatKU_T_KJ_KNRN_RCV_IF.OPMS_RNKI_CD);
		String keiSvc = rnkiCd.substring(0, 2);
		String kojiakStat = (String)kojiakMap.get(JBSbatKU_T_KOJIAK.KOJIAK_STAT);
		
// ANK-3387-00-00 MOD START
//		// ネットマンショングローバル、ネットマンションプライベートの場合
//		if (JKUStrConst.CD01108_EOH_NTMANS.equals(keiSvc) || JKUStrConst.CD01108_EOH_NTMANS_G.equals(keiSvc))
		// ネットマンショングローバル、ネットマンションプライベート、光コンセントの場合
		if (JKUStrConst.CD01108_EOH_NTMANS.equals(keiSvc) || JKUStrConst.CD01108_EOH_NTMANS_G.equals(keiSvc)
				|| JKUStrConst.CD01213_HKR_SOCKET.equals(tkHoshikiPatternCd))
// ANK-3387-00-00 MOD END
		{
			kojiakStat = (String)kojiakMap.get(JBSbatKU_T_KOJIAK.MANS_KOJIAK_STAT_CD);
		}
	
		if (!JKUBatCommon.isNotNull(kojiakStat))
		{
			return false;
		}
		
		// 連携コード（下2桁）
		String rnkiCdLow = rnkiCd.substring(2, 4);
	
		// 120:登録済
		// 130:受付済
		// 140:依頼済
		// 150:宅内調査完了済
		if (JKUStrConst.CD00474_TOROKU_ZM.equals(kojiakStat) || JKUStrConst.CD00474_UK_ZM.equals(kojiakStat) || 
				JKUStrConst.CD00474_IRI_ZM.equals(kojiakStat) || JKUStrConst.CD00474_TAKNI_CHOSA_FIN_ZM.equals(kojiakStat))		//依頼済み〜宅内調査完了済み
		{
			return getKkRkJjs1(rnkiCdLow);
		}
		else if (JKUStrConst.CD00474_KOCOMP_KETTEI_ZM.equals(kojiakStat))		// 160:工事会社決定後
		{
			return getKkRkJjs2(rnkiCdLow);
		}
		else if (JKUStrConst.CD00474_TAKNI_CHOSA_RSV_ZM.equals(kojiakStat)		// 170:宅内機器予定情報登録済み
			|| JKUStrConst.CD00474_KR_KAGI_KAIHAT_IRI_ZM.equals(kojiakStat))	// 180:仮鍵開発行依頼済
		{
			return getKkRkJjs3(rnkiCdLow);
		}
		else if (JKUStrConst.CD00474_GEMBA_SAGYO_FIN_ZM.equals(kojiakStat))		// 190:現場作業完了済み
		{
			return getKkRkJjs4(rnkiCdLow);
		}
		else if (JKUStrConst.CD00474_KOJI_FIN_ZM.equals(kojiakStat))			// 200:工事完了済み
		{
			return getKkRkJjs5(rnkiCdLow);
		}
		else if (JKUStrConst.CD00474_CHUSHI.equals(kojiakStat)					// 900:中止
			|| JKUStrConst.CD00474_NASHI.equals(kojiakStat))					// 110:なし
		{
			return getKkRkJjs6(rnkiCdLow);
		}
		else
		{
			return false;
		}
		
	}
	
	/**
	 * 機器に関する連携の順序性チェック<br>
	 * 連携コード（下2桁）による判断<br>
	 * 工事案件．工事案件ステータス：依頼済み〜宅内調査完了済み
	 * @param  rnkiCdLow OPMS連携コード（下2桁）
	 * @return 工事案件．OPMS連携コードHashMapからのチェック結果
	 */	
	private static boolean getKkRkJjs1(String rnkiCd)
	{
		HashMap<String, Boolean> rnkiCdHash = new HashMap<String, Boolean>();
		
		rnkiCdHash.put(KOJI_RSV_INFO, true);
		rnkiCdHash.put(KOJI_RSV_INFO_HENKO, true);
		rnkiCdHash.put(KNPN_INFO, false);
		rnkiCdHash.put(KNPN_INFO_HENKO, false);
		rnkiCdHash.put(STC_INFO_OPMS, false);
		rnkiCdHash.put(STC_INFO_OPMS_HENKO, false);
		rnkiCdHash.put(STC_INFO_TAKNI, true);
		rnkiCdHash.put(STC_INFO_TAKNI_HENKO, true);
		rnkiCdHash.put(CATV_CHAKOMAE, false);
		rnkiCdHash.put(NEW_STB_KEY_OPEN_INFO, false);
		rnkiCdHash.put(OLD_STB_TEKKYO_INFO, false);

		return rnkiCdHash.get(rnkiCd);
	}
	
	/**
	 * 機器に関する連携の順序性チェック<br>
	 * 連携コード（下2桁）による判断<br>
	 * 工事案件．工事案件ステータス：工事会社決定後
	 * @param  rnkiCdLow OPMS連携コード（下2桁）
	 * @return 工事案件．OPMS連携コードHashMapからのチェック結果
	 */	
	private static boolean getKkRkJjs2(String rnkiCd)
	{
		HashMap<String, Boolean> rnkiCdHash = new HashMap<String, Boolean>();
		
		rnkiCdHash.put(KOJI_RSV_INFO, false);
		rnkiCdHash.put(KOJI_RSV_INFO_HENKO, true);
		rnkiCdHash.put(KNPN_INFO, true);
		rnkiCdHash.put(KNPN_INFO_HENKO, true);
		rnkiCdHash.put(STC_INFO_OPMS, false);
		rnkiCdHash.put(STC_INFO_OPMS_HENKO, false);
		rnkiCdHash.put(STC_INFO_TAKNI, true);
		rnkiCdHash.put(STC_INFO_TAKNI_HENKO, true);
		rnkiCdHash.put(CATV_CHAKOMAE, false);
		rnkiCdHash.put(NEW_STB_KEY_OPEN_INFO, false);
		rnkiCdHash.put(OLD_STB_TEKKYO_INFO, false);
		
		return rnkiCdHash.get(rnkiCd);
	}
	
	/**
	 * 機器に関する連携の順序性チェック<br>
	 * 連携コード（下2桁）による判断<br>
	 * 工事案件．工事案件ステータス：宅内機器予定情報登録済、仮鍵開発行依頼済
	 * @param  rnkiCdLow OPMS連携コード（下2桁）
	 * @return 工事案件．OPMS連携コードHashMapからのチェック結果
	 */	
	private static boolean getKkRkJjs3(String rnkiCd)
	{
		HashMap<String, Boolean> rnkiCdHash = new HashMap<String, Boolean>();
		
		rnkiCdHash.put(KOJI_RSV_INFO, false);
		rnkiCdHash.put(KOJI_RSV_INFO_HENKO, true);
		rnkiCdHash.put(KNPN_INFO, true);
		rnkiCdHash.put(KNPN_INFO_HENKO, true);
		rnkiCdHash.put(STC_INFO_OPMS, true);
		rnkiCdHash.put(STC_INFO_OPMS_HENKO, true);
		rnkiCdHash.put(STC_INFO_TAKNI, true);
		rnkiCdHash.put(STC_INFO_TAKNI_HENKO, true);
		rnkiCdHash.put(CATV_CHAKOMAE, true);
		rnkiCdHash.put(NEW_STB_KEY_OPEN_INFO, true);
		rnkiCdHash.put(OLD_STB_TEKKYO_INFO, true);
		
		return rnkiCdHash.get(rnkiCd);
	}
	
	/**
	 * 機器に関する連携の順序性チェック<br>
	 * 連携コード（下2桁）による判断<br>
	 * 工事案件．工事案件ステータス：現場作業完了済み
	 * @param  rnkiCdLow OPMS連携コード（下2桁）
	 * @return 工事案件．OPMS連携コードHashMapからのチェック結果
	 */	
	private static boolean getKkRkJjs4(String rnkiCd)
	{
		HashMap<String, Boolean> rnkiCdHash = new HashMap<String, Boolean>();
		
		rnkiCdHash.put(KOJI_RSV_INFO, false);
		rnkiCdHash.put(KOJI_RSV_INFO_HENKO, true);
		rnkiCdHash.put(KNPN_INFO, true);
		rnkiCdHash.put(KNPN_INFO_HENKO, true);
		rnkiCdHash.put(STC_INFO_OPMS, false);
		rnkiCdHash.put(STC_INFO_OPMS_HENKO, true);
		rnkiCdHash.put(STC_INFO_TAKNI, true);
		rnkiCdHash.put(STC_INFO_TAKNI_HENKO, true);
		rnkiCdHash.put(CATV_CHAKOMAE, true);
		rnkiCdHash.put(NEW_STB_KEY_OPEN_INFO, true);
		rnkiCdHash.put(OLD_STB_TEKKYO_INFO, true);
		
		return rnkiCdHash.get(rnkiCd);
	}
	
	/**
	 * 機器に関する連携の順序性チェック<br>
	 * 連携コード（下2桁）による判断<br>
	 * 工事案件．工事案件ステータス：工事完了済み
	 * @param  rnkiCdLow OPMS連携コード（下2桁）
	 * @return 工事案件．OPMS連携コードHashMapからのチェック結果
	 */	
	private static boolean getKkRkJjs5(String rnkiCd)
	{
		HashMap<String, Boolean> rnkiCdHash = new HashMap<String, Boolean>();
		
		rnkiCdHash.put(KOJI_RSV_INFO, false);
		rnkiCdHash.put(KOJI_RSV_INFO_HENKO, true);
		rnkiCdHash.put(KNPN_INFO, false);
		rnkiCdHash.put(KNPN_INFO_HENKO, false);
		rnkiCdHash.put(STC_INFO_OPMS, false);
		rnkiCdHash.put(STC_INFO_OPMS_HENKO, false);
		rnkiCdHash.put(STC_INFO_TAKNI, false);
		rnkiCdHash.put(STC_INFO_TAKNI_HENKO, true);
		rnkiCdHash.put(CATV_CHAKOMAE, false);
		rnkiCdHash.put(NEW_STB_KEY_OPEN_INFO, false);
		rnkiCdHash.put(OLD_STB_TEKKYO_INFO, false);
		
		return rnkiCdHash.get(rnkiCd);
	}
	
	/**
	 * 機器に関する連携の順序性チェック<br>
	 * 連携コード（下2桁）による判断<br>
	 * 工事案件．工事案件ステータス：なし、中止
	 * @param  rnkiCdLow OPMS連携コード（下2桁）
	 * @return 工事案件．OPMS連携コードHashMapからのチェック結果
	 */	
	private static boolean getKkRkJjs6(String rnkiCd)
	{
		HashMap<String, Boolean> rnkiCdHash = new HashMap<String, Boolean>();
		
		rnkiCdHash.put(KOJI_RSV_INFO, false);
		rnkiCdHash.put(KOJI_RSV_INFO_HENKO, false);
		rnkiCdHash.put(KNPN_INFO, false);
		rnkiCdHash.put(KNPN_INFO_HENKO, false);
		rnkiCdHash.put(STC_INFO_OPMS, false);
		rnkiCdHash.put(STC_INFO_OPMS_HENKO, false);
		rnkiCdHash.put(STC_INFO_TAKNI, false);
		rnkiCdHash.put(STC_INFO_TAKNI_HENKO, false);
		rnkiCdHash.put(CATV_CHAKOMAE, false);
		rnkiCdHash.put(NEW_STB_KEY_OPEN_INFO, false);
		rnkiCdHash.put(OLD_STB_TEKKYO_INFO, false);
		
		return rnkiCdHash.get(rnkiCd);
	}
	
	/**
	 * 電波障害案件種別コードの
	 * 難視聴地域・同時工事案件値設定可否を判定・返却値の選別・返却を実行する
	 * 
	 * @param dojiDaihyo 同時代表工事案件番号
	 * @param dmpsankSbtCd 電場障害案件種別コード
	 * @return 電波障害案件種別コード設定値
	 * @throws Exception
	 */
	public static String checkDoujiDmpsankSbtCd(String dojiDaihyo, String dmpsankSbtCd) throws Exception
	{
		// 判定結果
		String result = null;
		
		// 電場障害案件種別コードがnullか
		if(null == dmpsankSbtCd || true == "".equals(dmpsankSbtCd))
		{
			// nullの場合一般FTTH案件を返却する
			return JKUStrConst.CD00607_DMP_SBT_CD_IPPAN;
		}
		
		// 電波障害案件種別コードチェック
		if (JKUStrConst.CD00607_DMP_SBT_CD_NANSI_S.equals(dmpsankSbtCd) ||
				JKUStrConst.CD00607_DMP_SBT_CD_NANSI_L.equals(dmpsankSbtCd) ||
					JKUStrConst.CD00607_DMP_SBT_CD_NANSI_GENTI.equals(dmpsankSbtCd))
		{
			// 難視聴案件(開通SC対応:小規模) ・難視聴案件(開通SC対応:大規模)・難視聴案件(現地事務所対応)いずれかの場合
			
			// 同時工事案件番号がnullか
			if (null == dojiDaihyo || true == "".equals(dojiDaihyo))
			{
				// 設定されていなければそのままの値を返却する
				result = dmpsankSbtCd;
			}
			else
			{
				// 難視聴地域・同時工事案件を返却する
				result = JKUStrConst.CD00607_DMP_SBT_CD_NANSI_DOUJI;
			}
		}
		else
		{
			// そのままの値を返却する
			result = dmpsankSbtCd;
		}
		
		return result;
	}
	
	/**
	 * 契約サービスと工事費項目コードの相関表より
	 * 工事費金額が格納された工事完了情報(工事関連受信情報)の項目名を
	 * 返却する
	 * <br>
	 * @param  rnkiCdHi			OPMS連携コードの上2桁
	 * @param  kojihiKmkCd		工事費項目コード
	 * @return 工事完了情報(工事関連受信情報)の項目名
	 */	
	public static String checkKojihiKey(String rnkiCdHi, String kojihiKmkCd)
	{
		HashMap<String, String> kojihiKmkHash = null;
		
		// 連携コード（上2桁）が 03:eo光ネットホームタイプ の場合
		if (EOH_NET_HT.equals(rnkiCdHi))
		{
			kojihiKmkHash = getkojiFinKmk03();
		}
		// 連携コード（上2桁）が 05:インターネットオフィス の場合
		else if (INTERNET_OFFICE.equals(rnkiCdHi))
		{
			kojihiKmkHash = getkojiFinKmk05();
		}
		// 連携コード（上2桁）が 11:eo光テレビ の場合 の場合
		else if (EOH_TV.equals(rnkiCdHi))
		{
			kojihiKmkHash = getkojiFinKmk11();
		}
		// 連携コード（上2桁）が 15:eo光ネットマンション　光配線 の場合
		else if (EOH_NET_MANS_H.equals(rnkiCdHi))
		{
			kojihiKmkHash = getkojiFinKmk15();
		}
		// 連携コード（上2桁）が 17:eo光テレビ(KCN) の場合 の場合
		else if (EOH_TV_KCN.equals(rnkiCdHi))
		{
			kojihiKmkHash = getkojiFinKmk11();
		}
		
		// 取得した配列のチェック
		if (null == kojihiKmkHash)
		{
			return null;
		}
		
		return kojihiKmkHash.get(kojihiKmkCd);
	}
	
	/**
	 * 工事完了情報取得項目名配列<br>
	 * (eo光ネットホームタイプ用)
	 * <br>
	 * @return 工事完了情報取得項目名配列
	 */
	private static HashMap<String, String> getkojiFinKmk03()
	{
		HashMap<String, String> kojihiKmkHash = new HashMap<String, String>();
		
		kojihiKmkHash.put(KOJIHI_KMK_CD_100, "RENKEI_DATA_8");
		kojihiKmkHash.put(KOJIHI_KMK_CD_110, "RENKEI_DATA_9");
		kojihiKmkHash.put(KOJIHI_KMK_CD_120, "RENKEI_DATA_9");
		kojihiKmkHash.put(KOJIHI_KMK_CD_200, "RENKEI_DATA_10");
		kojihiKmkHash.put(KOJIHI_KMK_CD_210, "RENKEI_DATA_11");
		kojihiKmkHash.put(KOJIHI_KMK_CD_220, "RENKEI_DATA_11");
		kojihiKmkHash.put(KOJIHI_KMK_CD_300, "RENKEI_DATA_6");
		kojihiKmkHash.put(KOJIHI_KMK_CD_310, "RENKEI_DATA_7");
// ANK-3366-00-00 ADD START
		kojihiKmkHash.put(KOJIHI_KMK_CD_315, "RENKEI_DATA_7");
// ANK-3366-00-00 ADD END
		kojihiKmkHash.put(KOJIHI_KMK_CD_320, "RENKEI_DATA_7");
		kojihiKmkHash.put(KOJIHI_KMK_CD_400, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_410, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_420, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_430, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_700, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_710, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_720, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_730, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_740, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_750, null);
		
		return kojihiKmkHash;
	}
	
	/**
	 * 工事完了情報取得項目名配列<br>
	 * (インターネットオフィス用)
	 * <br>
	 * @return 工事完了情報取得項目名配列
	 */
	private static HashMap<String, String> getkojiFinKmk05()
	{
		HashMap<String, String> kojihiKmkHash = new HashMap<String, String>();
		
		kojihiKmkHash.put(KOJIHI_KMK_CD_100, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_110, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_120, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_200, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_210, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_220, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_300, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_310, null);
// ANK-3366-00-00 ADD START
		kojihiKmkHash.put(KOJIHI_KMK_CD_315, null);
// ANK-3366-00-00 ADD END
		kojihiKmkHash.put(KOJIHI_KMK_CD_320, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_400, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_410, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_420, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_430, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_700, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_710, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_720, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_730, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_740, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_750, null);
		
		return kojihiKmkHash;
	}
	
	/**
	 * 工事完了情報取得項目名配列<br>
	 * (eo光テレビ,eo光テレビ(KCN)用)
	 * <br>
	 * @return 工事完了情報取得項目名配列
	 */
	private static HashMap<String, String> getkojiFinKmk11()
	{
		HashMap<String, String> kojihiKmkHash = new HashMap<String, String>();
		
		kojihiKmkHash.put(KOJIHI_KMK_CD_100, "RENKEI_DATA_10");
		kojihiKmkHash.put(KOJIHI_KMK_CD_110, "RENKEI_DATA_11");
		kojihiKmkHash.put(KOJIHI_KMK_CD_120, "RENKEI_DATA_11");
		kojihiKmkHash.put(KOJIHI_KMK_CD_200, "RENKEI_DATA_12");
		kojihiKmkHash.put(KOJIHI_KMK_CD_210, "RENKEI_DATA_13");
		kojihiKmkHash.put(KOJIHI_KMK_CD_220, "RENKEI_DATA_13");
		kojihiKmkHash.put(KOJIHI_KMK_CD_300, "RENKEI_DATA_6");
		kojihiKmkHash.put(KOJIHI_KMK_CD_310, "RENKEI_DATA_7");
// ANK-3366-00-00 ADD START
		kojihiKmkHash.put(KOJIHI_KMK_CD_315, "RENKEI_DATA_7");
// ANK-3366-00-00 ADD END
		kojihiKmkHash.put(KOJIHI_KMK_CD_320, "RENKEI_DATA_7");
		kojihiKmkHash.put(KOJIHI_KMK_CD_400, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_410, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_420, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_430, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_700, "RENKEI_DATA_8");
		kojihiKmkHash.put(KOJIHI_KMK_CD_710, "RENKEI_DATA_9");
		kojihiKmkHash.put(KOJIHI_KMK_CD_720, "RENKEI_DATA_9");
		kojihiKmkHash.put(KOJIHI_KMK_CD_730, "RENKEI_DATA_9");
		kojihiKmkHash.put(KOJIHI_KMK_CD_740, "RENKEI_DATA_9");
		kojihiKmkHash.put(KOJIHI_KMK_CD_750, "RENKEI_DATA_9");
		
		return kojihiKmkHash;
	}
	
	/**
	 * 工事完了情報取得項目名配列<br>
	 * (eo光ネットマンション　光配線用)
	 * <br>
	 * @return 工事完了情報取得項目名配列
	 */
	private static HashMap<String, String> getkojiFinKmk15()
	{
		HashMap<String, String> kojihiKmkHash = new HashMap<String, String>();
		
		kojihiKmkHash.put(KOJIHI_KMK_CD_100, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_110, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_120, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_200, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_210, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_220, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_300, "RENKEI_DATA_6");
		kojihiKmkHash.put(KOJIHI_KMK_CD_310, "RENKEI_DATA_7");
// ANK-3366-00-00 ADD START
		kojihiKmkHash.put(KOJIHI_KMK_CD_315, "RENKEI_DATA_7");
// ANK-3366-00-00 ADD END
		kojihiKmkHash.put(KOJIHI_KMK_CD_320, "RENKEI_DATA_7");
		kojihiKmkHash.put(KOJIHI_KMK_CD_400, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_410, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_420, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_430, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_700, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_710, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_720, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_730, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_740, null);
		kojihiKmkHash.put(KOJIHI_KMK_CD_750, null);
		
		return kojihiKmkHash;
	}
	
	/**
	 * 連携先システムの判定
	 * @param prcGrpCd 料金グループコード
	 * @param mansBukkenCd マンション物件コード
	 * @param mansTsnStbCd マンション通信設備コード
	 * @return renkeSysCd 連携システム判定コード
	 * @throws Exception
	 */
	public static String checkRenkeiSys(String prcGrpCd, String mansBukkenCd, String mansTsnStbCd) throws Exception
	{
		
		String renkeSysCd = JKUStrConst.RNKI_SYSTEM_CD_OPMS;
		
// ANK-3126-00-00 MOD START
//		// 料金グループコードがeo光ネットマンションタイプ かつ、
//		// マンション通信設備が光配線 以外
//		if (JKUStrConst.CD00133_EOH_NTMANS.equals(prcGrpCd) &&
//				!JKUStrConst.MANS_TUSHIN_EQ_CD_HIKARI.equals(mansTsnStbCd)) {
		// 料金グループコードがeo光ネットマンションタイプ
		if (JKUStrConst.CD00133_EOH_NTMANS.equals(prcGrpCd)) {
// ANK-3126-00-00 MOD END
			
			// US管理
			renkeSysCd = JKUStrConst.RNKI_SYSTEM_CD_US;
		}

// ANK-3126-00-00 MOD START
//		// 料金グループコードがeo光電話 かつ、
//		// マンション物件コードがマンション  かつ、
//		// マンション通信設備が光配線  以外
//		if (JKUStrConst.CD00133_EOH_TEL.equals(prcGrpCd) &&
//				JKUStrConst.MANS_BUKKEN_CD_MANS.equals(mansBukkenCd) &&
//				!JKUStrConst.MANS_TUSHIN_EQ_CD_HIKARI.equals(mansTsnStbCd)) {
		// 料金グループコードがeo光電話 かつ、
		// マンション物件コードがマンション
		if (JKUStrConst.CD00133_EOH_TEL.equals(prcGrpCd) &&
				JKUStrConst.MANS_BUKKEN_CD_MANS.equals(mansBukkenCd)) {
// ANK-3126-00-00 MOD END
			
			// US管理
			renkeSysCd = JKUStrConst.RNKI_SYSTEM_CD_US;
		}
		
// ANK-3126-00-00 ADD START
		// 料金グループコードがeo光テレビ(K-CAT) かつ、
		// マンション物件コードがマンション
		if (JKUStrConst.CD00133_EOH_TV_K_CAT.equals(prcGrpCd) &&
				JKUStrConst.MANS_BUKKEN_CD_MANS.equals(mansBukkenCd)) {
			
			// US管理
			renkeSysCd = JKUStrConst.RNKI_SYSTEM_CD_US;
		}
// ANK-3126-00-00 ADD END

		return renkeSysCd;
	}
	
	/**
	 * 機器契約情報からの機器異動情報取得(契約変更中)
	 * @param kikiMap 機器情報マップ
	 * @param takkikiSbtCd 宅内機器種別コード
	 * @param kikiaryModelCd 機器配列用番号（宅内機器種別コード）
	 * @param kikiaryModelSeizoNo 機器配列用番号（機器製造番号）
	 * @param kikiaryTkidoCd 機器配列用番号（宅内機器異動コード）
	 * @param kikiIdoInfoMap 機器異動情報格納用マップ
	 * @return kikiIdoInfo 機器異動情報配列
	 * @throws Exception
	 */
	public static String[] getKikiIdoInfoArray(JBSbatCommonDBInterface kikiMap, String takkikiSbtCd, 
			int kikiaryModelCd, int kikiaryModelSeizoNo, int kikiaryTkidoCd, HashMap<String, String> kikiIdoInfoMap) throws Exception
	{
		
		// 機器情報を取得する
		String[] kikiIdoInfo = new String[30];
		
		if(kikiMap != null)
		{
			if (takkikiSbtCd.equals(kikiMap.getString(JBSbatKU_T_KJAK_TG_TKKIKI.TAKNKIKI_SBT_CD)))
			{
				if (JKUStrConst.CD00056_KTSVKISTAT_100.equals(kikiMap.getString(JBSbatKK_T_KKTSVK_KCPTC_WK.KKTK_SVC_KEI_STAT)))
				{
					// 宅内機器型式コード
					kikiIdoInfoMap.put("modelCd", kikiMap.getString(JBSbatKK_T_KKTSVK_KCPTC_WK.TAKNKIKI_MODEL_CD));
					// 宅内機器製造番号
					kikiIdoInfoMap.put("seizoNo", kikiMap.getString(JBSbatKK_T_KKTSVK_KCPTC_WK.KIKI_SEIZO_NO));
					// 宅内機器異動コード(02:交換を変換して設定)
					kikiIdoInfoMap.put("idoCd", JKUCommonUtil.convTaknkikiIdoCd(JKUStrConst.CD00562_KOKAN, JKUStrConst.RNKI_SYSTEM_OPMS));
				}
				else if (JKUStrConst.CD00056_KTSVKISTAT_110.equals(kikiMap.getString(JBSbatKK_T_KKTSVK_KCPTC_WK.KKTK_SVC_KEI_STAT)))
				{
					// 宅内機器型式コード
					kikiIdoInfo[kikiaryModelCd] = kikiIdoInfoMap.get("modelCd");
					// 宅内機器製造番号
					kikiIdoInfo[kikiaryModelSeizoNo] = kikiIdoInfoMap.get("seizoNo");
					// 宅内機器異動コード(02:交換を変換して設定)
					kikiIdoInfo[kikiaryTkidoCd] = kikiIdoInfoMap.get("idoCd");
				}
				else
				{
					// 初期化処理
					kikiIdoInfoMap.put("modelCd", null);
					kikiIdoInfoMap.put("seizoNo", null);
					kikiIdoInfoMap.put("idoCd", null);
				}
			}
		}

		return kikiIdoInfo;
	}
	
	/**
	 * 工事案件ステータス返却部品
	 * 工事案件かマンション工事案件かを判断し、工事案件ステータスとマンション工事案件状態コードのうち有効な方の値を返却する
	 * @param kojiakStat 工事案件ステータス
	 * @param mansKojiakStatCd マンション工事案件状態コード
	 * @return String 工事案件ステータスorマンション工事案件状態コード
	 */
	public static String getYkKojiakStat(String kojiakStat, String mansKojiakStatCd)
	{
		// マンション工事案件状態コードが未設定の場合は、工事案件ステータスを返却
		if(mansKojiakStatCd == null || "".equals(mansKojiakStatCd))
		{
			return kojiakStat;
		}
		else
		{
			// マンション工事案件状態コードが設定済の場合は、マンション工事案件である
			return mansKojiakStatCd;
		}
	}
	/**
	 * 機器契約抽出対象工事情報の出力判定処理
	 * @param hojinPrcGrpCd 法人料金グループコード
	 * @param kojiakSbtCd 工事案件種別コード
	 * @param MansKojiakStatCd マンション工事案件状態コード
	 * @return boolean
	 */
	public static boolean judgeOutData(String hojinPrcGrpCd, String kojiakSbtCd, String mansKojiakStatCd)
	{
		// 法人料金グループコードが取得できている場合出力しない
		if(JKUBatCommon.isNotNull(hojinPrcGrpCd))
		{
			return false;
		}
		
		//マンション工事案件状態コードがNULLの場合 ※ホーム、メゾン、光配線以外の場合
		if(mansKojiakStatCd == null || "".equals(mansKojiakStatCd))
		{
			// 工事案件種別コードが強制解約、撤去(解約)、住所変更(撤去)の場合は出力しない
			if(JKUStrConst.CD00577_KYOSEI_DSL.equals(kojiakSbtCd) 
					|| JKUStrConst.CD00577_TEKKYO_DSL.equals(kojiakSbtCd)
					|| JKUStrConst.CD00577_AD_CHG_TEKKYO.equals(kojiakSbtCd))
			{
				return false;
			}
		}
		return true;
	}
}
