/*********************************************************************
*	All Rights reserved,Copyright(c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JKUejbTakniKikiKoho
*	ソースファイル名：JKUejbTakniKikiKoho.java
*	作成者			：富士通
*	日付			：2011年08月05日
*＜機能概要＞
*	宅内機器候補取得部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/08/05	FJ）		新規作成
*	v7.00.00	2013/11/18	FJ)黒田		【ANK-1578-00-00】多機能ルーター（機器追加）
*	v10.00.00	2014/06/10  FJ)佐野		【ANK-2138-00-00】スマリン端末のトムソン同梱について
*	v23.00.00	2015/12/14  FJ)山口 	【ANK-2612-00-00】10Gコース導入対応
*	v40.00.00	2018/11/09  FJ)木村		【ANK-3412-00-00】５ギガ・１０ギガコース導入対応
*	v52.00.00	2021/01/08  FJ)謝		【ANK-3987-00-00】Netflix導入対応(STEP2)
*   v61.00.00	2023/01/04  FJ)澤田	   【ANK-4315-00-00】【eo定期】 eoホームゲートウェイ導入対応
*	v61.00.00	2023/03/09	GDC)J.Tagongtong	【ANK-4315-00-00】【eo定期】 eoホームゲートウェイ導入対応 step2
*	v72.00.00	2024/07/30	FJ)丸田		【ANK-4577-00-00】eo光ネット「シンプルプラン」追加対応(Step2)
*
**********************************************************************/
package eo.ejb.common;

import java.util.ArrayList;
import java.util.List;

import eo.common.constant.JKUStrConst;

/**
 *  <dd>クラス名：宅内機器候補取得
 *  <dd>クラス説明：宅内機器候補取得部品です。
 *  <dd>備考：
 * @version  1.01 2011/08/05
 * @author 富士通
 *
 */
public class JKUejbTakniKikiKoho
{
	
	/** 10:64カード */
	private static final String EO_64_CARD = "10";
	/** 20:スリッパー */
	private static final String SLIPPER = "20";
	/** 30:パワーアンテナ */
	private static final String POW_ANT = "30";
	/** 40:IPテレメト */
	private static final String IP_TELE = "40";
	/** 50:eo電話用VA */
	private static final String EO_TEL_VA = "50";
	/** 60:モデム */
	private static final String MODEM = "60";
	/** 70:スプリッター */
	private static final String SPLITTER = "70";
	/** 80:ネットフォン用VA */
	private static final String NET_PHON_VA = "80";
	/** 90:インラインフィルタ */
	private static final String INLINE_FILTER = "90";
	/** A0:STB */
	private static final String STB = "A0";
	/** B0:B-CAS */
	private static final String B_CAS = "B0";
	/** C0:C-CAS */
	private static final String C_CAS = "C0";
	/** D0:ONU */
	private static final String ONU = "D0";
	// ANK-4315-00-00 ADD START
	/** S0:HGW */
	private static final String HGW = "S0";
	// ANK-4315-00-00 ADD END
	/** E0:V-ONU */
	private static final String V_ONU = "E0";
	/** F0:ルーター */
	private static final String ROUTER = "F0";
	/** G0:PLCﾓﾃﾞﾑ */
	private static final String PLC_MODEM = "G0";
	/** H0:イー･モバイル */
	private static final String E_MOBILE = "H0";
	/** J0:UQ */
	private static final String UQ = "J0";
	/** M0:その他 */
	private static final String OTHER = "M0";
	/** R0:多機能ルーター */
	private static final String TAKINORT = "R0";
	/** P0:タブレット */
	private static final String TABLET = "P0";
	/** L1:クレードル(タブレット用) */
	private static final String CRADLE = "L1";
// ANK-3987-00-00 ADD START
	/** Q0:ストリーミングメディアプレーヤー */
	private static final String STREAMING_MEDIA_PLAYER = "Q0";
// ANK-3987-00-00 ADD END

	
	
	/**
	 * 料金グループコードと、宅内機器種別コードの紐づきを表す配列
	 * 0:無1:有
	 */
	private static final int[][] PRC_GRP_CD_ARRAY_2D =																																							
// ANK-3987-00-00 MOD START
////		10	20	30	40	50	60	70	80	90	A0	B0	C0	D0	E0	F0	G0	H0	J0	M0	R0	P0	L1
//	{ {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0	}	// 01:eo64エア
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	1, 	0, 	1, 	1, 	0, 	0, 	0,	1,	1,	1	}	// 02:eo光ネットホームタイプ
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	1, 	0, 	1, 	1, 	0, 	0, 	0,	1,	1,	1	}	// 03:eo光ネットメゾンタイプ
//	, {	0, 	0, 	0, 	0, 	0, 	1, 	0, 	1, 	0, 	0, 	0, 	0, 	1, 	0, 	1, 	1, 	0, 	0, 	0,	1,	1,	1	}	// 04:eo光ネットマンションタイプ
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	0, 	0, 	0,	1,	0,	0	}	// 05:eoADSL(eAccess)				（工事で使用しないため、判断対象外）
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	0, 	0, 	0,	1,	0,	0	}	// 06:eoADSL(フレッツ)				（工事で使用しないため、判断対象外）
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0	}	// 07:eoモバイル(Wi-Fi)				（工事で使用しないため、判断対象外）
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0,	0,	0,	0	}	// 08:eoモバイル(EM)				（工事で使用しないため、判断対象外）
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0,	0,	0,	0	}	// 09:eoモバイル(UQ-WiMAX)			（工事で使用しないため、判断対象外）
//	, {	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0, 	0,	1,	0,	0	}	// 10:eo光電話
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	1, 	0, 	1, 	0, 	0, 	0, 	0, 	0,	0,	0,	0	}	// 11:eo光テレビ(K-CAT)
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0,	0,	0,	0	}	// 12:eo光テレビ(KCN)
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	1, 	0, 	1, 	0, 	0, 	0, 	0, 	0,	0,	0,	0	}	// 13:eo光テレビ(再送信)
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0	} };// 14:ホスティング
// ANK-4315-00-00 step2 MOD START
//		10	20	30	40	50	60	70	80	90	A0	B0	C0	D0	E0	F0	G0	H0	J0	M0	R0	P0	L1	Q0
//	{ {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}	// 01:eo64エア
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	1, 	0, 	1, 	1, 	0, 	0, 	0,	1,	1,	1,	1	}	// 02:eo光ネットホームタイプ
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	1, 	0, 	1, 	1, 	0, 	0, 	0,	1,	1,	1,	1	}	// 03:eo光ネットメゾンタイプ
//	, {	0, 	0, 	0, 	0, 	0, 	1, 	0, 	1, 	0, 	0, 	0, 	0, 	1, 	0, 	1, 	1, 	0, 	0, 	0,	1,	1,	1,	1	}	// 04:eo光ネットマンションタイプ
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	0, 	0, 	0,	1,	0,	0,	0	}	// 05:eoADSL(eAccess)				（工事で使用しないため、判断対象外）
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	0, 	0, 	0,	1,	0,	0,	0	}	// 06:eoADSL(フレッツ)				（工事で使用しないため、判断対象外）
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}	// 07:eoモバイル(Wi-Fi)				（工事で使用しないため、判断対象外）
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0,	0,	0,	0,	0	}	// 08:eoモバイル(EM)				（工事で使用しないため、判断対象外）
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0,	0,	0,	0,	0	}	// 09:eoモバイル(UQ-WiMAX)			（工事で使用しないため、判断対象外）
//	, {	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0, 	0,	1,	0,	0,	0	}	// 10:eo光電話
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	1, 	0, 	1, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}	// 11:eo光テレビ(K-CAT)
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}	// 12:eo光テレビ(KCN)
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	1, 	0, 	1, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	}	// 13:eo光テレビ(再送信)
//	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0	} };// 14:ホスティング
// ANK-3987-00-00 MOD END
//		10	20	30	40	50	60	70	80	90	A0	B0	C0	D0	E0	F0	G0	H0	J0	M0	R0	P0	L1	Q0	S0	
	{ {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0	}	// 01:eo64エア
	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	1, 	0, 	1, 	1, 	0, 	0, 	0,	1,	1,	1,	1,	1	}	// 02:eo光ネットホームタイプ
	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	1, 	0, 	1, 	1, 	0, 	0, 	0,	1,	1,	1,	1,	1	}	// 03:eo光ネットメゾンタイプ
	, {	0, 	0, 	0, 	0, 	0, 	1, 	0, 	1, 	0, 	0, 	0, 	0, 	1, 	0, 	1, 	1, 	0, 	0, 	0,	1,	1,	1,	1,	1	}	// 04:eo光ネットマンションタイプ
	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	0, 	0, 	0,	1,	0,	0,	0,	0	}	// 05:eoADSL(eAccess)				（工事で使用しないため、判断対象外）
	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	0, 	0, 	0,	1,	0,	0,	0,	0	}	// 06:eoADSL(フレッツ)				（工事で使用しないため、判断対象外）
	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0	}	// 07:eoモバイル(Wi-Fi)				（工事で使用しないため、判断対象外）
	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0,	0,	0,	0,	0,	0	}	// 08:eoモバイル(EM)				（工事で使用しないため、判断対象外）
	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0,	0,	0,	0,	0,	0	}	// 09:eoモバイル(UQ-WiMAX)			（工事で使用しないため、判断対象外）
	, {	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0, 	0,	1,	0,	0,	0,	1	}	// 10:eo光電話
	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	1, 	0, 	1, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0	}	// 11:eo光テレビ(K-CAT)
	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0	}	// 12:eo光テレビ(KCN)
	, {	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	0, 	1, 	1, 	1, 	0, 	1, 	0, 	0, 	0, 	0, 	0,	0,	0,	0,	0,	0	}	// 13: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	} };// 14:ホスティング
// ANK-4315-00-00 step2 MOD END

// ANK-3412-00-00 ADD START
	/**
	 * 料金グループコードと、宅内機器種別コードの紐づきを表す配列(プラン変更(収容替)用)
	 * 0:無1:有
	 */
	private static final int[][] PRC_GRP_CD_ARRAY_2D_PLAN_CHG_SHUYO =																																							
// ANK-3987-00-00 MOD START
////		10	20	30	40	50	60	70	80	90	A0	B0	C0	D0	E0	F0	G0	H0	J0	M0	R0	P0	L1
//	{ {	0, 	0, 	0, 	0, 	1, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	1, 	0, 	1, 	1, 	0, 	0, 	0,	1,	1,	1	}	// 02:eo光ネットホームタイプ
//	, {	0, 	0, 	0, 	0, 	1, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	1, 	0, 	1, 	1, 	0, 	0, 	0,	1,	1,	1	} };// 03:eo光ネットメゾンタイプ
// ANK-4315-00-00 step2 MOD START
//		10	20	30	40	50	60	70	80	90	A0	B0	C0	D0	E0	F0	G0	H0	J0	M0	R0	P0	L1	Q0
//	{ {	0, 	0, 	0, 	0, 	1, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	1, 	0, 	1, 	1, 	0, 	0, 	0,	1,	1,	1,	1	}	// 02:eo光ネットホームタイプ
//	, {	0, 	0, 	0, 	0, 	1, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	1, 	0, 	1, 	1, 	0, 	0, 	0,	1,	1,	1,	1	} };// 03:eo光ネットメゾンタイプ
// ANK-3987-00-00 MOD END
//		10	20	30	40	50	60	70	80	90	A0	B0	C0	D0	E0	F0	G0	H0	J0	M0	R0	P0	L1	Q0	S0
	{ {	0, 	0, 	0, 	0, 	1, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	1, 	0, 	1, 	1, 	0, 	0, 	0,	1,	1,	1,	1,	1	}	// 02:eo光ネットホームタイプ
	, {	0, 	0, 	0, 	0, 	1, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	1, 	0, 	1, 	1, 	0, 	0, 	0,	1,	1,	1,	1,	1	} 	// 03:eo光ネットメゾンタイプ
	, {	0, 	0, 	0, 	0, 	1, 	1, 	0, 	1, 	0, 	0, 	0, 	0, 	1, 	0, 	1, 	1, 	0, 	0, 	0,	1,	1,	1,	1,	1	} 	// 04:eo光ネットマンションタイプ
	, {	0, 	0, 	0, 	0, 	1, 	0, 	0, 	1, 	0, 	0, 	0, 	0, 	1, 	0, 	1, 	1, 	0, 	0, 	0,	1,	1,	1,	1,	1	} };// 10:eo光電話
// ANK-4315-00-00 step2 MOD END
// ANK-3412-00-00 ADD END

	/** 存在する */
	private static final int ARRAY_TRUE = 1;
	
	/**
	 * 宅内機器種別コードの配列
	 * 料金グループコードの2次元配列の横の要素と要素数と項目の意味を合わせておくこと
	 */
	private static final String[] TAKNI_KIKI_SBT_CD_ARRAY =
	{	EO_64_CARD,	
		SLIPPER,	
		POW_ANT,	
		IP_TELE,	
		EO_TEL_VA,	
		MODEM,	
		SPLITTER,	
		NET_PHON_VA,	
		INLINE_FILTER,	
		STB,	
		B_CAS,	
		C_CAS,	
		ONU,	
		V_ONU,	
		ROUTER,	
		PLC_MODEM,	
		E_MOBILE,	
		UQ,	
		OTHER,
		TAKINORT,
		TABLET,
// ANK-3987-00-00 MOD START
//		CRADLE};
		CRADLE,
		STREAMING_MEDIA_PLAYER,
// ANK-3987-00-00 MOD END
// ANK-4315-00-00 step2 ADD START
		HGW
		};
// ANK-4315-00-00 step2 ADD END
		
	/**
	 * 宅内機器型式コードの除外対象配列
	 */
	private static final String[] HUMEI_MODEL_CD_ARRAY =
	{
		JKUStrConst.HUMEI_ONU_EPON
		, JKUStrConst.HUMEI_ONU_GEPON
// ANK-2612-00-00 ADD START
		, JKUStrConst.HUMEI_ONU_10GEPON
// ANK-2612-00-00 ADD END
		, JKUStrConst.HUMEI_VONU_2_6GHZ
		, JKUStrConst.HUMEI_VONU_770MHZ
// ANK-4577-00-00 ADD START
		, JKUStrConst.HUMEI_HGW_DUMMY
		, JKUStrConst.HUMEI_TKNRT_DUMMY
		, JKUStrConst.HUMEI_MESHWIFI_DUMMY
		, JKUStrConst.HUMEI_MLANCHKEKI_DUMMY
// ANK-4577-00-00 ADD END
	};

	/**
	 * 宅内機器種別コード配列の取得
	 * @param prcGrpCd	料金グループコード
	 * @param kojiakSbtCd 工事案件種別コード
	 * @return	料金グループコードに紐づく宅内機器種別コードの配列
	 */
// ANK-3412-00-00 MOD START
//	public static String[] getTakniKikiSbtCdKoho(String prcGrpCd)
	public static String[] getTakniKikiSbtCdKoho(String prcGrpCd, String kojiakSbtCd)
// ANK-3412-00-00 MOD END
	{
		String[] retArray = null;
		// 料金グループコード配列を取得する
// ANK-3412-00-00 MOD START
//		int[] prcGrpCdArray = getPrcGrpCdArray(prcGrpCd);
		int[] prcGrpCdArray = getPrcGrpCdArray(prcGrpCd, kojiakSbtCd);
// ANK-3412-00-00 MOD END
		// 宅内機器種別コード配列を取得する
		if (null != prcGrpCdArray)
		{
			retArray = getTakniKikiSbtCdArray(prcGrpCdArray);
		}
		// 値を返して終了する
		return retArray;
	}
	
	/**
	 * 宅内機器種別コード判定配列の作成
	 * @param prcGrpCd	料金グループコード
	 * @param kojiakSbtCd 工事案件種別コード
	 * @return	料金グループコードに紐づく宅内機器種別コード判定配列
	 */
// ANK-3412-00-00 MOD START
//	private static int[] getPrcGrpCdArray(String prcGrpCd)
	private static int[] getPrcGrpCdArray(String prcGrpCd, String kojiakSbtCd)
// ANK-3412-00-00 MOD END
	{
		int[] retArray = null;
//		// 01:eo64エア
//		if(JKUModelConst.CD00133_EO64AIR.equals(prcGrpCd))
//		{
//			retArray = PRC_GRP_CD_ARRAY_2D[0];
//		}
		// 02:eo光ネットホームタイプ
		if(JKUStrConst.CD00133_EOH_HOME.equals(prcGrpCd))
		{
// ANK-3412-00-00 ADD START
			// ANK-4315-00-00 step2 MOD START
			//if(JKUStrConst.CD00577_PLAN_CHG_SHUYO.equals(kojiakSbtCd))
			if(JKUStrConst.CD00577_PLAN_CHG_SHUYO.equals(kojiakSbtCd) || JKUStrConst.CD00577_ONU.equals(kojiakSbtCd))
			// ANK-4315-00-00 step2 MOD END
			{
				//プラン変更(収容替)の場合
				retArray = PRC_GRP_CD_ARRAY_2D_PLAN_CHG_SHUYO[0];
			}
			else
			{
// ANK-3412-00-00 ADD END
				retArray = PRC_GRP_CD_ARRAY_2D[1];
// ANK-3412-00-00 ADD START
			}
// ANK-3412-00-00 ADD END
		}
		// 03:eo光ネットメゾンタイプ
		if(JKUStrConst.CD00133_EOH_MEZON.equals(prcGrpCd))
		{
// ANK-3412-00-00 ADD START
			// ANK-4315-00-00 step2 MOD START
			//if(JKUStrConst.CD00577_PLAN_CHG_SHUYO.equals(kojiakSbtCd))
			if(JKUStrConst.CD00577_PLAN_CHG_SHUYO.equals(kojiakSbtCd) || JKUStrConst.CD00577_ONU.equals(kojiakSbtCd))
			// ANK-4315-00-00 step2 MOD END
			{
				//プラン変更(収容替)の場合
				retArray = PRC_GRP_CD_ARRAY_2D_PLAN_CHG_SHUYO[1];
			}
			else
			{
// ANK-3412-00-00 ADD END
				retArray = PRC_GRP_CD_ARRAY_2D[2];
// ANK-3412-00-00 ADD START
			}
// ANK-3412-00-00 ADD END
		}
		// 04:eo光ネットマンションタイプ
		if(JKUStrConst.CD00133_EOH_NTMANS.equals(prcGrpCd))
		{
			// ANK-4315-00-00 step2 MOD START
			//retArray = PRC_GRP_CD_ARRAY_2D[3];
			if(JKUStrConst.CD00577_PLAN_CHG_SHUYO.equals(kojiakSbtCd) || JKUStrConst.CD00577_ONU.equals(kojiakSbtCd))
			{
				//プラン変更(収容替)の場合
				retArray = PRC_GRP_CD_ARRAY_2D_PLAN_CHG_SHUYO[2];
			}
			else
			{
				retArray = PRC_GRP_CD_ARRAY_2D[3];
			}
			// ANK-4315-00-00 step2 MOD END
		}
		// 10:eo光電話
		if(JKUStrConst.CD00133_EOH_TEL.equals(prcGrpCd))
		{
			// ANK-4315-00-00 step2 MOD START
			//retArray = PRC_GRP_CD_ARRAY_2D[9];
			if(JKUStrConst.CD00577_PLAN_CHG_SHUYO.equals(kojiakSbtCd) || JKUStrConst.CD00577_ONU.equals(kojiakSbtCd))
			{
				//プラン変更(収容替)の場合
				retArray = PRC_GRP_CD_ARRAY_2D_PLAN_CHG_SHUYO[3];
			}
			else
			{
				retArray = PRC_GRP_CD_ARRAY_2D[9];
			}
			// ANK-4315-00-00 step2 MOD END
		}
		// 11:eo光テレビ(K-CAT)
		if(JKUStrConst.CD00133_EOH_TV_K_CAT.equals(prcGrpCd))
		{
			retArray = PRC_GRP_CD_ARRAY_2D[10];
		}
		// 12:eo光テレビ(KCN)
		if(JKUStrConst.CD00133_EOH_TV_KCN.equals(prcGrpCd))
		{
			retArray = PRC_GRP_CD_ARRAY_2D[11];
		}
		// 13:eo光テレビ(再送信)
		if(JKUStrConst.CD00133_EOH_TV_SAISOSHIN.equals(prcGrpCd))
		{
			retArray = PRC_GRP_CD_ARRAY_2D[12];
		}
//		// 14:ホスティング
//		if(JKUModelConst.CD00133_HOSTING.equals(prcGrpCd))
//		{
//			retArray = PRC_GRP_CD_ARRAY_2D[13];
//		}

		return retArray;
	}
	
	/**
	 * 宅内機器種別コード配列の作成
	 * @param prcGrpCdArray 宅内機器種別コード判定配列
	 * @return 宅内種別コード配列
	 */
	private static String[] getTakniKikiSbtCdArray(int[] prcGrpCdArray)
	{
		List<String> retList = new ArrayList<String>();
		
		for(int i = 0; i < prcGrpCdArray.length; ++i)
		{
			if(ARRAY_TRUE == prcGrpCdArray[i])
			{
				retList.add(TAKNI_KIKI_SBT_CD_ARRAY[i]);
			}
		}
		
		String[] retArray = null;
		if (0 != retList.size())
		{
			retArray = new String[retList.size()];
			for (int i = 0; i < retList.size(); ++i)
			{
				retArray[i] = retList.get(i);
			}
		}
		
		return retArray;
	}
	
	/**
	 * 除外対象判定
	 * @param prcGrpCd	料金グループコード
	 * @param kojiakSbtCd	工事案件種別コード
	 * @param taknkikiSbtCd		宅内機器種別コード
	 * @param taknkikiIdoCd		宅内機器異動コード
	 * @param taknKikiModelCd	宅内機器型式コード
	 * @return true:除外対象	false:追加対象
	 */
	public static boolean jgiTrgt(String prcGrpCd, String kojiakSbtCd, String taknkikiSbtCd, String taknkikiIdoCd, String taknKikiModelCd)
	{
		// 移動の場合は除外対象とならない
		if(JKUStrConst.CD00562_MOVE.equals(taknkikiIdoCd))
		{
			return false;
		}
		
		// ---宅内機器型式コードから、除外判定を行う
		
		for (int i = 0; i < HUMEI_MODEL_CD_ARRAY.length; ++i)
		{
			if (HUMEI_MODEL_CD_ARRAY[i].equals(taknKikiModelCd))
			{
				return true;
			}
		}
		
		return false;
	}
}
