/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：料金管理
*   モジュール名    ：通話明細照会画面
*   ソースファイル名：ACW00601SFLogic.java
*   作成者          ：富士通
*   日付            ：2011年06月23日
*＜機能概要＞
*  NHK視聴課金情報の取込・チェックを行う画面です。
*＜修正履歴＞
*   バージョン  修正日       修正者        修正内容
*   v1.00.00    2011/06/23   FJ）富士通    新規作成
*   v3.00.00    2012/04/25   FJ) 松本      【IT2-2012-0000431】検索ボタン押下時、電話番号のチェックを追加
*   v5.00.00    2013/07/31   FJ) 伊藤      【IT1-2013-0001521】名称戻し対応
*   v5.00.01    2013/09/12   FJ) 垣内      【随時-13-5005】対象請求契約番号が未請求の場合メッセージを表示する
*   v8.00.00    2014/03/11   FJ) 小野      【OM-2014-0000839】照会可能期間、月指定プルダウンの表示内容誤りを修正。
*   v26.00.00   2016/07/11   FJ) 三宅      【ANK-2884-00-00  】2番号契約時の通話明細表示改善
*	v45.00.00	2019/08/01   FJ)星野       【ANK-3699-00-00】
*   v46.00.00   2019/10/17   FJ) 三原      【ANK-3718-00-00】eo光電話通話明細照会画面の電話番号マスク化表示権限作成
**********************************************************************/
package eo.web.webview.ACW00601SF;

import java.text.ParseException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import com.fujitsu.futurity.web.x31.X31CMessageResult;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;
import com.sun.enterprise.tools.common.util.StringUtils;

import eo.common.constant.JPCModelConstant;
import eo.common.util.JKKStringUtil;
import eo.common.util.JPCUtilCommon;
import eo.common.util.JZMFormatForMask;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JACCommonConst;
import eo.web.webview.common.JACScreenConst;
import eo.web.webview.common.JCCAuthorityCtrlStatus;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.mapping.ACSV0013_ACSV0013OPDBMapper;

/**
 * 通話明細照会画面用ビューロジック
 * 
 * @author FJ
 * @since 2011-06-23
 */
@SuppressWarnings("serial")
public class ACW00601SFLogic extends JCCWebBusinessLogic
{
	/** SCタイトル(eo光電話通話明細一覧照会) */
	private static final String TITLE_ACSV001306SC = "ACSV001306SC";

	/** SCタイトル(eo-netフォン通話明細一覧照会) */
	private static final String TITLE_ACSV001309SC = "ACSV001309SC";

	/** SCタイトル(請求一覧照会（請求ステータス）) */
	private static final String TITLE_ACSV001311SC = "ACSV001311SC";
	
	/** SCタイトル(請求一覧照会（請求ステータス）) */
	private static final String ECH0051B020CBSMSGLIST = "ECH0051B020CBSMsg1List";

	// ANK-3699-00-00対応 20190801 星野 ADD START
	/** SCタイトル(サービス契約＜eo光電話＞一意照会) */
	private static final String TITLE_ACSV001312SC = "ACSV001312SC";
	
	/** SCタイトル(サービス契約＜eo光電話＞一意照会) */
	private static final String EKK0111A010CBSMSGLIST = "EKK0111A010CBSMsg1List";
	// ANK-3699-00-00対応 20190801 星野 ADD END
	
	/** 通話明細照会・サービスID */
	private static final String SERVICE_ID_ACSV0013 = "ACSV0013";

	/** 通話明細ページ情報 */
	private static final String TW_DTL_PAGE_INFO = "0";

	/** 検索処理パターン */
	private static final String SEARCH_TYPE = "1";

	/** 電話種類:光電話 */
	private static final String HTEL = "EOH";

	/** 電話種類:オプション電話 */
	private static final String OTEL = "OPT";

	/** 課金状態:全件 */
	private static final String ALL = "0";

	/** 課金状態:課金のみ */
	private static final String ONLY = "1";

	/** エラーメッセージコード */
	private static final String ERR_MSG_CD_EKB0740 = "EKB0740-KW";

	/** エラーメッセージコード */
	private static final String ERR_MSG_CD_EKF0330 = "EKF0330--I";

	/** 業務パラメータ管理 */
	private static final String MSG_WORK_PARAM = "業務パラメータ管理";

	/** 電話番号 */
	private static final String MSG_TEL_NO = "電話番号";

	/** お客さまID */
	private static final String MSG_SVC_KEI_NO = "お客さまID";

	/** ページング用コマンド */
	private static final String PAGING_COMMAND = "paging";

	// ANK-3718-00-00 ADD START
	/** 権限判定用文字列 着信電話番号マスクフラグ */
	private static final String INCOMING_TELNO_MASK_FLG = "INCOMING_TELNO_MASK_FLG";
	// ANK-3718-00-00 ADD END

	/**
	 * 通話明細照会画面 初期表示処理
	 * @return 処理結果
	 * @throws Exception
	 */
	public boolean init() throws Exception
	{

		// 親画面から取得する
		HashMap<String, Object> paramMap = JCCWebCommon.getScreenInfo(this, JACScreenConst.SCREEN_ID_ACW00601);

		// サービス契約番号を取得
		String svcKeiNo = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_SVC_KEI_NO);
		// 請求契約番号を取得
		String seikyKeiNo = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_SEIKY_KEI_NO);
		// 電話番号を取得
		String telno = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_TELNO);
		// 電話番号リストを取得
		List<HashMap<String, String>> telnoList = (List<HashMap<String, String>>)paramMap.get(JACCommonConst.SCREEN_HKTGI_TELNO_LIST);

		// 引継項目をDataBeanに設定
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		svcFormBean.sendMessageString(ACW00601SFConst.EVENT, X31CWebConst.DATABEAN_SET_VALUE, "init");

		X31SDataBeanAccessArray telList = svcFormBean.getDataBeanArray(ACW00601SFConst.TELNO_LIST);
		telList.clearArray();
		telList.addDataBean();

		// 電話種類
		if (telno != null)
		{
			// 電話種類に光電話を設定
			svcFormBean.sendMessageString(ACW00601SFConst.TEL_KIND, X31CWebConst.DATABEAN_SET_VALUE, HTEL);

// v26.00.00 ADD START
			// 呼び出し元から引き継いだ電話番号を指定番号に設定する（この電話番号で通話明細を出力する）
			svcFormBean.sendMessageString(ACW00601SFConst.SELECT_NO, X31CWebConst.DATABEAN_SET_VALUE, telno);
// v26.00.00 ADD END
		}
		else
		{
			// 電話種類にオプション電話を設定
			svcFormBean.sendMessageString(ACW00601SFConst.TEL_KIND, X31CWebConst.DATABEAN_SET_VALUE, OTEL);

			int count = 1;

			// 電話番号リスト
			for (int i = 0; i < telnoList.size(); i++)
			{
				HashMap<String, String> telMap = telnoList.get(i);

				String no = Integer.toString(count++);
				String koshumo_telno = telMap.get(JACCommonConst.SCREEN_HKTGI_KOSHUMO_TELNO);
				String svc_staymd = telMap.get(JACCommonConst.SCREEN_HKTGI_SVC_STAYMD);
				String svc_endymd = telMap.get(JACCommonConst.SCREEN_HKTGI_SVC_ENDYMD);

				telList.getDataBean(0).sendMessageString(ACW00601SFConst.TELNO_01, X31CWebConst.DATABEAN_ADD_VALUE,
								no + " " + koshumo_telno + " " + JPCUtilCommon.formatDate(svc_staymd) + "〜" + JPCUtilCommon.formatDate(svc_endymd));
				telList.getDataBean(0).sendMessageString(ACW00601SFConst.NO_01, X31CWebConst.DATABEAN_ADD_VALUE, no);
				telList.getDataBean(0).sendMessageString(ACW00601SFConst.TELNO_VALUE_01, X31CWebConst.DATABEAN_ADD_VALUE, koshumo_telno);
				telList.getDataBean(0).sendMessageString(ACW00601SFConst.SVC_STA_YMD_01, X31CWebConst.DATABEAN_ADD_VALUE, svc_staymd);
				telList.getDataBean(0).sendMessageString(ACW00601SFConst.SVC_ENDYMD_01, X31CWebConst.DATABEAN_ADD_VALUE, svc_endymd);
			}
			telList.getDataBean(0).sendMessageString(ACW00601SFConst.SELECT_TELNO_01, X31CWebConst.DATABEAN_SET_VALUE, "0");
		}

		// サービス契約番号
		svcFormBean.sendMessageString(ACW00601SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, svcKeiNo);

		// 請求契約番号
		svcFormBean.sendMessageString(ACW00601SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, seikyKeiNo);

		// 運用日付を取得
		String unyoYmd = JCCWebCommon.getOpeDate(this, null);
		svcFormBean.sendMessageString(ACW00601SFConst.ONLINE_OPE_DATE, X31CWebConst.DATABEAN_SET_VALUE, unyoYmd);
		String preUnyoYmd = JPCUtilCommon.addDay(unyoYmd, -1);
		String preUnyoYmdFirstDay = JPCUtilCommon.addDay(preUnyoYmd, -1).substring(0, 6).concat("01");

		// 照会期間 開始年月日
		svcFormBean.sendMessageString(ACW00601SFConst.PRD_SHITEI_STA_YEAR, X31CWebConst.DATABEAN_SET_VALUE, preUnyoYmdFirstDay.substring(0, 4));
		svcFormBean.sendMessageString(ACW00601SFConst.PRD_SHITEI_STA_MON, X31CWebConst.DATABEAN_SET_VALUE, preUnyoYmdFirstDay.substring(4, 6));
		svcFormBean.sendMessageString(ACW00601SFConst.PRD_SHITEI_STA_DAY, X31CWebConst.DATABEAN_SET_VALUE, preUnyoYmdFirstDay.substring(6));

		// 照会期間 終了年月日
		svcFormBean.sendMessageString(ACW00601SFConst.PRD_SHITEI_END_YEAR, X31CWebConst.DATABEAN_SET_VALUE, preUnyoYmd.substring(0, 4));
		svcFormBean.sendMessageString(ACW00601SFConst.PRD_SHITEI_END_MON, X31CWebConst.DATABEAN_SET_VALUE, preUnyoYmd.substring(4, 6));
		svcFormBean.sendMessageString(ACW00601SFConst.PRD_SHITEI_END_DAY, X31CWebConst.DATABEAN_SET_VALUE, preUnyoYmd.substring(6));

		// 課金状態
		X31SDataBeanAccessArray chrgList = svcFormBean.getDataBeanArray(ACW00601SFConst.CHRG_STAT_LIST);
		chrgList.clearArray();
		chrgList.addDataBean();
		chrgList.getDataBean(0).sendMessageString(ACW00601SFConst.CHRG_STAT_NM_03, X31CWebConst.DATABEAN_ADD_VALUE, "全件");
		chrgList.getDataBean(0).sendMessageString(ACW00601SFConst.CHRG_STAT_VALUE_03, X31CWebConst.DATABEAN_ADD_VALUE, ALL);
		chrgList.getDataBean(0).sendMessageString(ACW00601SFConst.CHRG_STAT_NM_03, X31CWebConst.DATABEAN_ADD_VALUE, "課金のみ");
		chrgList.getDataBean(0).sendMessageString(ACW00601SFConst.CHRG_STAT_VALUE_03, X31CWebConst.DATABEAN_ADD_VALUE, ONLY);
		chrgList.getDataBean(0).sendMessageString(ACW00601SFConst.SELECT_CHRG_STAT_03, X31CWebConst.DATABEAN_SET_VALUE, "1");

		svcFormBean.sendMessageString(ACW00601SFConst.PRD_SHITEI, X31CWebConst.DATABEAN_SET_VALUE, "kikan");

		// 画面可変項目をDataBeanに格納する
		if (telno == null)
		{
			// 電話番号
			X31SDataBeanAccess subBean = svcFormBean.getDataBeanArray(ACW00601SFConst.TELNO_LIST).getDataBean(0);
			String index = subBean.sendMessageString(ACW00601SFConst.SELECT_TELNO_01, X31CWebConst.DATABEAN_GET_VALUE);
			svcFormBean.sendMessageString(ACW00601SFConst.SELECT_NO, X31CWebConst.DATABEAN_SET_VALUE, subBean.sendMessageString(
							ACW00601SFConst.TELNO_VALUE_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(index)));
		}

		// 課金状態
		svcFormBean.sendMessageString(ACW00601SFConst.CHRG_KH, X31CWebConst.DATABEAN_SET_VALUE, ONLY);

		// 通話開始年月日ＦＲＯＭ１
		svcFormBean.sendMessageString(ACW00601SFConst.PCALL_STA_YMD_FROM_1, X31CWebConst.DATABEAN_SET_VALUE, preUnyoYmdFirstDay);

		// 通話開始年月日ＴＯ１
		svcFormBean.sendMessageString(ACW00601SFConst.PCALL_STA_YMD_TO_1, X31CWebConst.DATABEAN_SET_VALUE, preUnyoYmd);

		// 通話開始年月日ＦＲＯＭ２
		String preStaYmd = "";
		try
		{
			preStaYmd = JPCUtilCommon.addMonth(preUnyoYmdFirstDay, -1);
		}
		catch (ParseException e)
		{
			e.printStackTrace();
		}
		svcFormBean.sendMessageString(ACW00601SFConst.PCALL_STA_YMD_FROM_2, X31CWebConst.DATABEAN_SET_VALUE, preStaYmd);

		// 通話開始年月日ＴＯ２
		String preEndYmd = "";
		try
		{
			preEndYmd = JPCUtilCommon.addMonth(preUnyoYmd, -1);
		}
		catch (ParseException e)
		{
			e.printStackTrace();
		}
		svcFormBean.sendMessageString(ACW00601SFConst.PCALL_STA_YMD_TO_2, X31CWebConst.DATABEAN_SET_VALUE, preEndYmd);

		getTwDtl();

// v26.00.00 ADD START
		// 検索条件「電話番号」のプルダウンの電話番号が、呼出し元から連携された電話番号が一致するものを初期選択させる
		if (telno != null)
		{
			X31SDataBeanAccessArray telnoArray = svcFormBean.getDataBeanArray(ACW00601SFConst.TELNO_LIST);
			X31SDataBeanAccess      subBean    = telnoArray.getDataBean(0);
			// 電話番号の件数を取得
			Integer count = (Integer) subBean.sendMessage(ACW00601SFConst.TELNO_VALUE_01, X31CWebConst.DATABEAN_GET_COUNT);
			for (int i = 0; i < count; i++)
			{
				// リスト内の電話番号を取得、呼出し元から連携された話番号と一致すれば、
				// 該当電話番号のリストインデックスを"選択電話番号"に設定する
				String telNo = subBean.sendMessageString(ACW00601SFConst.TELNO_VALUE_01, X31CWebConst.DATABEAN_GET_VALUE, i);
				if(telno.equals(telNo))
				{
					subBean.sendMessageString(ACW00601SFConst.SELECT_TELNO_01, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(i));
				}
			}
		}
// v26.00.00 ADD END

		return true;
	}

	/**
	 * 通話明細照会画面 検索ボタン押下処理
	 * @return 処理結果
	 * @throws Exception
	 */
	public boolean search() throws Exception
	{
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		svcFormBean.sendMessageString(ACW00601SFConst.EVENT, X31CWebConst.DATABEAN_SET_VALUE, "search");

		// ページング情報の削除
		JCCWebCommon.clearPageLinkInfo(this, JACScreenConst.SCREEN_ID_ACW00601);

		// 画面可変項目をDataBeanに格納する
		// 電話番号
		X31SDataBeanAccessArray telnoList = svcFormBean.getDataBeanArray(ACW00601SFConst.TELNO_LIST);
		X31SDataBeanAccess subBean = telnoList.getDataBean(0);
		String index = subBean.sendMessageString(ACW00601SFConst.SELECT_TELNO_01, X31CWebConst.DATABEAN_GET_VALUE);
		if (index == null)
		{
			// 電話番号のリストが存在しない
			JCCWebCommon.setMessageInfo(this, ERR_MSG_CD_EKB0740, new String[] { MSG_TEL_NO });
			return true;
		}
		svcFormBean.sendMessageString(ACW00601SFConst.SELECT_NO, X31CWebConst.DATABEAN_SET_VALUE, subBean.sendMessageString(
						ACW00601SFConst.TELNO_VALUE_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(index)));

		String staYmd = "";
		String endYmd = "";

		if ("tuki".equals(svcFormBean.sendMessageString(ACW00601SFConst.PRD_SHITEI, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 月指定の場合
			X31SDataBeanAccessArray tukiList = svcFormBean.getDataBeanArray(ACW00601SFConst.MON_SHITEI_LIST);
			X31SDataBeanAccess subBean1 = tukiList.getDataBean(0);
			String index1 = subBean1.sendMessageString(ACW00601SFConst.SELECT_SHOKAI_YM_02, X31CWebConst.DATABEAN_GET_VALUE);
			String ym = subBean1.sendMessageString(ACW00601SFConst.SHOKAI_YM_VALUE_02, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(index1));
			String end = JPCUtilCommon.getEndOfMonth(ym);
			if (end.length() != 2)
			{
				end = new StringBuilder(end).insert(0, "0").toString();
			}
			staYmd = ym + "01";
			endYmd = ym + end;

			// 課金状態
			svcFormBean.sendMessageString(ACW00601SFConst.CHRG_KH, X31CWebConst.DATABEAN_SET_VALUE, ONLY);
		}
		else
		{
			// 期間指定の場合
			staYmd = svcFormBean.sendMessageString(ACW00601SFConst.PRD_SHITEI_STA_YEAR, X31CWebConst.DATABEAN_GET_VALUE)
							+ svcFormBean.sendMessageString(ACW00601SFConst.PRD_SHITEI_STA_MON, X31CWebConst.DATABEAN_GET_VALUE)
							+ svcFormBean.sendMessageString(ACW00601SFConst.PRD_SHITEI_STA_DAY, X31CWebConst.DATABEAN_GET_VALUE);
			endYmd = svcFormBean.sendMessageString(ACW00601SFConst.PRD_SHITEI_END_YEAR, X31CWebConst.DATABEAN_GET_VALUE)
							+ svcFormBean.sendMessageString(ACW00601SFConst.PRD_SHITEI_END_MON, X31CWebConst.DATABEAN_GET_VALUE)
							+ svcFormBean.sendMessageString(ACW00601SFConst.PRD_SHITEI_END_DAY, X31CWebConst.DATABEAN_GET_VALUE);

			// 課金状態
			X31SDataBeanAccessArray kakinList = svcFormBean.getDataBeanArray(ACW00601SFConst.CHRG_STAT_LIST);
			X31SDataBeanAccess subBean1 = kakinList.getDataBean(0);
			String index1 = subBean1.sendMessageString(ACW00601SFConst.SELECT_CHRG_STAT_03, X31CWebConst.DATABEAN_GET_VALUE);
			svcFormBean.sendMessageString(ACW00601SFConst.CHRG_KH, X31CWebConst.DATABEAN_SET_VALUE, subBean1.sendMessageString(
							ACW00601SFConst.CHRG_STAT_VALUE_03, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(index1)));
		}

		// 通話開始年月日ＦＲＯＭ１
		svcFormBean.sendMessageString(ACW00601SFConst.PCALL_STA_YMD_FROM_1, X31CWebConst.DATABEAN_SET_VALUE, staYmd);

		// 通話開始年月日ＴＯ１
		svcFormBean.sendMessageString(ACW00601SFConst.PCALL_STA_YMD_TO_1, X31CWebConst.DATABEAN_SET_VALUE, endYmd);

		// 通話開始年月日ＦＲＯＭ２
		String preStaYmd = "";
		try
		{
			preStaYmd = JPCUtilCommon.addMonth(staYmd, -1);
		}
		catch (ParseException e)
		{
			e.printStackTrace();
		}
		svcFormBean.sendMessageString(ACW00601SFConst.PCALL_STA_YMD_FROM_2, X31CWebConst.DATABEAN_SET_VALUE, preStaYmd);

		// 通話開始年月日ＴＯ２
		String preEndYmd = "";
		try
		{
			preEndYmd = JPCUtilCommon.addMonth(endYmd, -1);
		}
		catch (ParseException e)
		{
			e.printStackTrace();
		}
		svcFormBean.sendMessageString(ACW00601SFConst.PCALL_STA_YMD_TO_2, X31CWebConst.DATABEAN_SET_VALUE, preEndYmd);

		getTwDtl();

		// 処理結果を返す
		return true;
	}

	/**
	 * 通話明細照会画面 ページリンクボタン押下処理
	 * @return 処理結果
	 * @throws Exception
	 */
	public boolean paging() throws Exception
	{
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		svcFormBean.sendMessageString(ACW00601SFConst.EVENT, X31CWebConst.DATABEAN_SET_VALUE, "paging");

		getTwDtl();

		// 処理結果を返す
		return true;
	}

	/**
	 * 通話明細照会画面 明細印刷ボタン押下処理
	 * @return 処理結果
	 * @throws Exception
	 */
	public boolean dtlprint() throws Exception
	{
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		HashMap<String, Object> paramMap = JCCWebCommon.getScreenInfo(this, JACScreenConst.SCREEN_ID_ACW00602);

		if (paramMap == null)
		{
			paramMap = new HashMap<String, Object>();
		}

		// サービス契約番号
		paramMap.put(JACCommonConst.SCREEN_HKTGI_SVC_KEI_NO, svcFormBean.sendMessageString(ACW00601SFConst.SVC_KEI_NO,
						X31CWebConst.DATABEAN_GET_VALUE));

		// 請求契約番号
		paramMap.put(JACCommonConst.SCREEN_HKTGI_SEIKY_KEI_NO, svcFormBean.sendMessageString(ACW00601SFConst.SEIKY_KEI_NO,
						X31CWebConst.DATABEAN_GET_VALUE));

		// 電話番号
		paramMap.put(JACCommonConst.SCREEN_HKTGI_TELNO, svcFormBean.sendMessageString(ACW00601SFConst.SELECT_NO, X31CWebConst.DATABEAN_GET_VALUE));

		// 通話開始年月日＿ＦＲＯＭ＿１
		paramMap.put(JACCommonConst.SCREEN_HKTGI_PCALL_STA_YMD_FROM_1, svcFormBean.sendMessageString(ACW00601SFConst.PCALL_STA_YMD_FROM_1,
						X31CWebConst.DATABEAN_GET_VALUE));
		// 通話開始年月日＿ＴＯ＿１
		paramMap.put(JACCommonConst.SCREEN_HKTGI_PCALL_STA_YMD_TO_1, svcFormBean.sendMessageString(ACW00601SFConst.PCALL_STA_YMD_TO_1,
						X31CWebConst.DATABEAN_GET_VALUE));
		// 通話開始年月日＿ＦＲＯＭ＿２
		paramMap.put(JACCommonConst.SCREEN_HKTGI_PCALL_STA_YMD_FROM_2, svcFormBean.sendMessageString(ACW00601SFConst.PCALL_STA_YMD_FROM_2,
						X31CWebConst.DATABEAN_GET_VALUE));
		// 通話開始年月日＿ＴＯ＿２
		paramMap.put(JACCommonConst.SCREEN_HKTGI_PCALL_STA_YMD_TO_2, svcFormBean.sendMessageString(ACW00601SFConst.PCALL_STA_YMD_TO_2,
						X31CWebConst.DATABEAN_GET_VALUE));

		// 課金状態
		paramMap.put(JACCommonConst.SCREEN_HKTGI_CHRG_STAT, svcFormBean.sendMessageString(ACW00601SFConst.CHRG_KH, X31CWebConst.DATABEAN_GET_VALUE));

		// 料金グループコード
		paramMap.put(JACCommonConst.SCREEN_HKTGI_PRC_GRP_CD, svcFormBean.sendMessageString(ACW00601SFConst.PRC_GRP_CD,
						X31CWebConst.DATABEAN_GET_VALUE));

		// 料金コースコード
		paramMap.put(JACCommonConst.SCREEN_HKTGI_PCRS_CD, svcFormBean.sendMessageString(ACW00601SFConst.PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE));

		// eo光電話通話明細合計一覧照会の機能コード
		paramMap.put(JACCommonConst.SCREEN_HKTGI_KINO_CD, svcFormBean.sendMessageString(ACW00601SFConst.KINO_CD, X31CWebConst.DATABEAN_GET_VALUE));

		// 子画面に渡す情報を設定する
		JCCWebCommon.setScreenInfo(this, JACScreenConst.SCREEN_ID_ACW00602, paramMap);
		// 子画面に親画面の画面IDを渡す。
		JCCWebCommon.setScreenId(this, JACScreenConst.SCREEN_ID_ACW00602, JACScreenConst.SCREEN_ID_ACW00601);

		// 遷移先画面の設定
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JACScreenConst.SCREEN_ID_ACW00602);

		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JACScreenConst.SCREEN_NAME_ACW00602);

		return true;
	}

	/**
	 * 通話明細を取得する
	 * @throws Exception
	 */
	private void getTwDtl() throws Exception
	{
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		// 通話明細クリア
		X31SDataBeanAccessArray twList = svcFormBean.getDataBeanArray(ACW00601SFConst.TW_DTL_LIST);
		twList.clearArray();

		// 種類クリア
		svcFormBean.sendMessageString(ACW00601SFConst.KIND, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 未請求フラグ初期化
		svcFormBean.sendMessageString(ACW00601SFConst.MISEIKY_FLG, X31CWebConst.DATABEAN_SET_VALUE, "false");

		// 初期表示フラグ
		boolean init = false;
		if ("init".equals(svcFormBean.sendMessageString(ACW00601SFConst.EVENT, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			init = true;
		}

		// 光電話フラグ
		boolean htel = false;
		if (HTEL.equals(svcFormBean.sendMessageString(ACW00601SFConst.TEL_KIND, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			htel = true;
		}

		// 照会種別フラグ
		boolean kikan = false;
		if ("kikan".equals(svcFormBean.sendMessageString(ACW00601SFConst.PRD_SHITEI, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			kikan = true;
		}

		// 課金状態フラグ
		boolean chrg = false;
		if (ONLY.equals(svcFormBean.sendMessageString(ACW00601SFConst.CHRG_KH, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			chrg = true;
		}

		// マッピングクラスの結果を格納するHashMap
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// サービス呼出結果を格納するHashMap
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		// ユースケースID格納用のHashMap
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// ページング共通設定
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		// 表示件数
		parentMap.put("display_num", JCCWebCommon.getSearchConst("ACW00601_ROW_PER_PAGE"));
		// 表示ページ数
		parentMap.put("display_page_num", "1");
		// 最大検索数
		parentMap.put("max_search_num", JCCWebCommon.getSearchConst("ACW00601_MAX_SHOW_CNT"));
		// 検索処理パターン
		parentMap.put("search_type", SEARCH_TYPE);
		// 共通情報設定
		if (htel)
		{
			inputMap.put(TITLE_ACSV001306SC, parentMap);
		}
		else
		{
			inputMap.put(TITLE_ACSV001309SC, parentMap);
		}

		// 運用日付を取得
		String unyoYmd = JCCWebCommon.getOpeDate(this, null);

		// マッピングクラスに渡すため、配列に作り変える
		X31SDataBeanAccess[] paramBean = { svcFormBean };

		// ユースケースID設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, SERVICE_ID_ACSV0013);

		// ページングのマッピング
		if (htel)
		{
			JCCWebCommon.upmapperPageLinkInfo(this, TW_DTL_PAGE_INFO, TITLE_ACSV001306SC, inputMap);
		}
		else
		{
			JCCWebCommon.upmapperPageLinkInfo(this, TW_DTL_PAGE_INFO, TITLE_ACSV001309SC, inputMap);
		}

		// マッピングクラスのインスタンス作成
		ACSV0013_ACSV0013OPDBMapper mapper = new ACSV0013_ACSV0013OPDBMapper();

		// 上がりマッピング サービスフォームBean ⇒ サービス
		mapper.setCondition(paramBean, inputMap);

		if (init)
		{
			// 初期表示の場合
			mapper.setACSV001301SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
			mapper.setACSV001302SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
			if (htel)
			{
				// 光電話の場合
				mapper.setACSV001303SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
			}
			mapper.setACSV001304SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		}

		if (htel)
		{
			// 光電話の場合
			mapper.setACSV001305SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

			if (init)
			{
				// 初期表示の場合
				mapper.setACSV001306SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

				mapper.setACSV001307SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
			}
			else
			{
				// 初期表示以外の場合
				if (kikan)
				{
					// 期間指定の場合
					if (chrg)
					{
						// 課金のみの場合
						mapper.setACSV001306SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

						mapper.setACSV001307SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
					}
					else
					{
						// 全件の場合
						mapper.setACSV001306SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);

						mapper.setACSV001307SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
					}
				}
				else
				{
					// 期間指定以外の場合
					mapper.setACSV001306SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_3);

					mapper.setACSV001307SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_3);
				}
			}
// ANK-3699-00-00対応 20190801 星野 ADD START
			mapper.setACSV001312SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
// ANK-3699-00-00対応 20190801 星野 ADD END
		}
		else
		{
			// 光電話以外の場合
			mapper.setACSV001308SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

			if (init)
			{
				// 初期表示の場合
				mapper.setACSV001309SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

				mapper.setACSV001310SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
			}
			else
			{
				// 初期表示以外の場合
				if (kikan)
				{
					// 期間指定の場合
					if (chrg)
					{
						// 課金のみの場合
						mapper.setACSV001309SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

						mapper.setACSV001310SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
					}
					else
					{
						// 全件の場合
						mapper.setACSV001309SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);

						mapper.setACSV001310SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
					}
				}
				else
				{
					// 期間指定以外の場合
					mapper.setACSV001309SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_3);

					mapper.setACSV001310SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_3);
				}
			}
		}

		mapper.setACSV001311SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);

		// SQL呼出し
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);

		// エラーメッセージが存在する場合
		if (msgResult != null)
		{
			// メッセージ出力
			JCCWebCommon.setMessageInfo(this, msgResult);
		}

// ANK-3699-00-00対応 20190801 星野 ADD START
		// 譲渡日取得（光電話以外の場合は空文字列）
		String jotoYmd = getJotoYmd(outputMap);
// ANK-3699-00-00対応 20190801 星野 ADD END

		// 下りマッピング サービス ⇒ サービスフォームBean
		if (init)
		{
			mapper.getACSV001301SC(paramBean, outputMap);
			mapper.getACSV001302SC(paramBean, outputMap);
			if (htel)
			{
				mapper.getACSV001303SC(paramBean, outputMap);
			}
			mapper.getACSV001304SC(paramBean, outputMap);
		}

		if (htel)
		{
			mapper.getACSV001305SC(paramBean, outputMap);
// ANK-3699-00-00対応 20190801 星野 MOD START
//			mapper.getACSV001306SC(paramBean, outputMap);
			mapper.getACSV001306SC(paramBean, outputMap, jotoYmd);
// ANK-3699-00-00対応 20190801 星野 MOD END
			mapper.getACSV001307SC(paramBean, outputMap);
		}
		else
		{
			mapper.getACSV001308SC(paramBean, outputMap);
			mapper.getACSV001309SC(paramBean, outputMap);
			mapper.getACSV001310SC(paramBean, outputMap);
		}

		// ページングのマッピング
		if (htel)
		{
			JCCWebCommon.downmapperPageLinkInfo(this, TW_DTL_PAGE_INFO, TITLE_ACSV001306SC, outputMap);
		}
		else
		{
			JCCWebCommon.downmapperPageLinkInfo(this, TW_DTL_PAGE_INFO, TITLE_ACSV001309SC, outputMap);
		}

		// 検索のコマンドIDを設定する。
		JCCWebCommon.setSearchCommand(this, PAGING_COMMAND);
		
		
		if (init)
		{

			// 業務パラメータ管理の存在チェック
			String shokaiPsbMonCnt = svcFormBean.sendMessageString(ACW00601SFConst.SHOKAI_PSB_MON_CNT, X31CWebConst.DATABEAN_GET_VALUE);
			if (shokaiPsbMonCnt == null || "".equals(shokaiPsbMonCnt))
			{
				JCCWebCommon.setMessageInfo(this, ERR_MSG_CD_EKB0740, new String[] { MSG_WORK_PARAM });
				return;
			}

			// 照会可能期間編集
			int intShokaiPsbMonCnt = Integer.parseInt(shokaiPsbMonCnt);
			if (intShokaiPsbMonCnt <= 0)
			{
				intShokaiPsbMonCnt = 1;
			}

			// (to) ← オンライン運用日の前日
			String to = JPCUtilCommon.addDay(unyoYmd, -1);

			// (from) ← toの日付(オンライン運用日)から、年月を取得し、その年月の月初日から、照会可能月数を引き、from日付とする。
			// ただし、当月分は含めるため、引く値は、「照会可能月数 - 1」となる。
			String from = JPCUtilCommon.addMonth(to.substring(0, 6) + "01", ((intShokaiPsbMonCnt - 1 ) * -1));

			// 照会可能開始・終了年月日格納
			svcFormBean.sendMessageString(ACW00601SFConst.SHOKAI_PSB_STA_YMD, X31CWebConst.DATABEAN_SET_VALUE, from);
			svcFormBean.sendMessageString(ACW00601SFConst.SHOKAI_PSB_END_YMD, X31CWebConst.DATABEAN_SET_VALUE, to);

			String formatedFrom = JPCUtilCommon.formatDate(from);
			String formatedTo = JPCUtilCommon.formatDate(to);
			svcFormBean.sendMessageString(ACW00601SFConst.SHOKAI_PSB_PRD, X31CWebConst.DATABEAN_SET_VALUE, formatedFrom + "-" + formatedTo);

			// 月指定リスト編集
// ANK-3699-00-00対応 20190801 星野 MOD START
//			editTukiSiteiList(svcFormBean, to, from, intShokaiPsbMonCnt);
			editTukiSiteiList(svcFormBean, to, from, intShokaiPsbMonCnt, jotoYmd);
// ANK-3699-00-00対応 20190801 星野 MOD END

			if (htel)
			{
				// 電話番号の存在チェック
				String telno = svcFormBean.sendMessageString(ACW00601SFConst.SELECT_NO, X31CWebConst.DATABEAN_GET_VALUE);
				if (telno == null || "".equals(telno))
				{
					JCCWebCommon.setMessageInfo(this, ERR_MSG_CD_EKB0740, new String[] { MSG_TEL_NO });
					return;
				}

				// サービス契約番号の存在チェック
				String keishaNm = svcFormBean.sendMessageString(ACW00601SFConst.KEISHA_NM, X31CWebConst.DATABEAN_GET_VALUE);
				if (keishaNm == null || "".equals(keishaNm))
				{
					JCCWebCommon.setMessageInfo(this, ERR_MSG_CD_EKB0740, new String[] { MSG_SVC_KEI_NO });
					return;
				}
			}
			else
			{
				// サービス契約番号の存在チェック
				String keishaNm = svcFormBean.sendMessageString(ACW00601SFConst.KEISHA_NM, X31CWebConst.DATABEAN_GET_VALUE);
				if (keishaNm == null || "".equals(keishaNm))
				{
					JCCWebCommon.setMessageInfo(this, ERR_MSG_CD_EKB0740, new String[] { MSG_SVC_KEI_NO });
					return;
				}
			}
		}
		
		// ANK-3718-00-00 ADD START
		// マスク権限である場合、着信電話番号のマスク処理を行う
		incomingTelnoMask(svcFormBean);
		// ANK-3718-00-00 ADD END

		// 電話番号の存在チェック
		String kind = svcFormBean.sendMessageString(ACW00601SFConst.KIND, X31CWebConst.DATABEAN_GET_VALUE);
		if (kind == null || "".equals(kind))
		{
			JCCWebCommon.setMessageInfo(this, ERR_MSG_CD_EKB0740, new String[] { MSG_TEL_NO });
			return;
		}

		// 取得明細件数チェック
		String count = svcFormBean.sendMessageString(ACW00601SFConst.TW_DTL_TOTAL_SEARCH_NUM, X31CWebConst.DATABEAN_GET_VALUE);
		if (count == null || "".equals(count) || "0".equals(count))
		{
			JCCWebCommon.setMessageInfo(this, ERR_MSG_CD_EKF0330, new String[] { "" });
			return;
		}
		
		// 未請求の場合、メッセージを表示する
		if(checkExeSeiky(paramBean, outputMap))
		{
			svcFormBean.sendMessageString(ACW00601SFConst.MISEIKY_FLG, X31CWebConst.DATABEAN_SET_VALUE, "true");
		}
		
	}

// ANK-3699-00-00対応 20190801 星野 ADD START
	/**
	 * 譲渡日を取得する（光電話以外の場合は空文字列）
	 */
	@SuppressWarnings("unchecked")
	private String getJotoYmd(HashMap<String, Object> outputMap) 
	{
		String jotoYmd = "";
		if(outputMap.containsKey(TITLE_ACSV001312SC))
		{
			HashMap parentMap2 = (HashMap)outputMap.get(TITLE_ACSV001312SC);

			if(parentMap2 != null && parentMap2.containsKey(EKK0111A010CBSMSGLIST))
			{
				ArrayList childList = (ArrayList)parentMap2.get(EKK0111A010CBSMSGLIST);
				if (!childList.isEmpty()) 
				{
					HashMap childMap = (HashMap)childList.get(0);
					jotoYmd = (String)childMap.get("joto_ymd");
				}
			}
		}
		return jotoYmd;
	}
// ANK-3699-00-00対応 20190801 星野 ADD END

	/**
	 * 月指定リスト編集
	 * @param svcFormBean サービスフォームBean
	 * @param seikyYm 請求年月
	 * @param from 照会可能開始年月日
	 * @param intShokaiPsbMonCnt 照会可能月数
	 * @param jotoYmd 譲渡日
	 * @throws ParseException
	 */
// ANK-3699-00-00対応 20190801 星野 MOD START
//	private void editTukiSiteiList(X31SDataBeanAccess svcFormBean, String seikyYm, String from, int intShokaiPsbMonCnt) throws ParseException
	private void editTukiSiteiList(X31SDataBeanAccess svcFormBean, String seikyYm, String from, int intShokaiPsbMonCnt, String jotoYmd) throws ParseException
// ANK-3699-00-00対応 20190801 星野 MOD END
	{
		X31SDataBeanAccessArray monList = svcFormBean.getDataBeanArray(ACW00601SFConst.MON_SHITEI_LIST);
		monList.clearArray();
		monList.addDataBean();

		String tmpYm = seikyYm.substring(0, 6);
		String fromYm = from.substring(0, 6);
// ANK-3699-00-00対応 20190801 星野 ADD START
		String jotoYm = "";
		if(!StringUtils.isEmpty(jotoYmd) && jotoYmd.length() >= 8)
		{
			jotoYm = jotoYmd.substring(0,6);
		}
// ANK-3699-00-00対応 20190801 星野 ADD END

		// 請求年月から順に参照可能期間開始or譲渡月と同じ年月になるまでリストに追加
		for (int i = intShokaiPsbMonCnt; i > 0; i--)
		{
			monList.getDataBean(0).sendMessageString(ACW00601SFConst.SHOKAI_YM_NM_02, X31CWebConst.DATABEAN_ADD_VALUE,
							JPCUtilCommon.formatYears(tmpYm));
			monList.getDataBean(0).sendMessageString(ACW00601SFConst.SHOKAI_YM_VALUE_02, X31CWebConst.DATABEAN_ADD_VALUE, tmpYm);

// ANK-3699-00-00対応 20190801 星野 MOD START
//			if (fromYm.equals(tmpYm))
			if (fromYm.equals(tmpYm) || jotoYm.equals(tmpYm))
// ANK-3699-00-00対応 20190801 星野 MOD END
			{
				break;
			}

			tmpYm = JPCUtilCommon.addMonth(tmpYm + "01", -1).substring(0, 6);
		}
	}

	/**
	 * 未請求状態かを判定します。
	 * 請求ステータスが"仮確定"かつ請求年月が201308のデータがある場合、未請求
	 * @param bean
	 * @return ret
	 */
	@SuppressWarnings("unchecked")
	private boolean checkExeSeiky(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap)
	{
		boolean ret = false;
		
		HashMap parentMap = null;
		if(outputMap.containsKey(TITLE_ACSV001311SC))
		{
			parentMap = (HashMap)outputMap.get(TITLE_ACSV001311SC);
		}

		// 請求処理日
		ArrayList seikyInf = new ArrayList();
		if(parentMap != null && parentMap.containsKey(ECH0051B020CBSMSGLIST))
		{
			seikyInf = (ArrayList)parentMap.get(ECH0051B020CBSMSGLIST);
		}
		else
		{
			return ret;
		}

		// 請求ステータスが"仮確定"かつ該当請求年月に対応する請求処理日より未来日の場合
		if(seikyInf != null && seikyInf.size() != 0)
		{
			ret = true;
		}
		return ret;
	}

	// ANK-3718-00-00 ADD START
	/**
	 * 電話番号マスク処理<BR>
	 * ユーザーの権限がマスク権限である場合は明細一覧の電話番号をマスク化する
	 * @param svcFormBean
	 */
	private void incomingTelnoMask(X31SDataBeanAccess svcFormBean)
	{
		// マスク権限であるか判定する
		if (incomingTelnoMaskAuthJdg())
		{
			// マスク権限である場合は以下を実行する
			// svcFormBeanより通話明細リストを取得する
			X31SDataBeanAccessArray twDtlList = svcFormBean.getDataBeanArray("通話明細リスト");
			
			if (twDtlList != null)
			{
				for (int i = 0; i < twDtlList.getCount(); i++)
				{
					// subbeanの電話番号にマスク処理を行う
					X31SDataBeanAccess subbean = twDtlList.getDataBean(i);
					
					// 電話番号
					String tmpTelNo = subbean.sendMessageString("電話番号", X31CWebConst.DATABEAN_GET_VALUE);
					
					// 電話番号を取得できた場合マスク処理を行う
					if (!JKKStringUtil.isNullBlank(tmpTelNo))
					{
						// 半角スペース文字をカウントする
						int spaceCount = 0;
						
						// 電話番号は半角スペースで埋めているためその個数をカウントする
						for (char targetChar: tmpTelNo.toCharArray())
						{
							if (" ".equals(String.valueOf(targetChar)))
							{
								spaceCount++;
							}
						}
						
						// 電話番号の半角スペースを削除し、マスク処理を実行する
						tmpTelNo = JZMFormatForMask.telNoExt(tmpTelNo.trim());
						
						// null以外が返却された場合は通話明細リスト.電話番号にマスクした電話番号を設定する
						if (!JKKStringUtil.isNullBlank(tmpTelNo))
						{
							// マスクした電話番号に半角スペースを戻す
							for (int j = 0; j < spaceCount; j++)
							{
								tmpTelNo = tmpTelNo + " ";
							}
							
							// マスクした電話番号を設定する
							subbean.sendMessageString("電話番号", X31CWebConst.DATABEAN_SET_VALUE, tmpTelNo);
						}
					}
				}
			}
		}
	}

	/**
	 * 電話番号マスク権限判定処理<BR>
	 * 権限リストからマスク権限を取得し、マスク権限である場合はtrueを返却し、
	 * マスク権限ではない場合はfalseを返却する
	 * @return true/false(マスク化する/マスク化しない)
	 */
	private boolean incomingTelnoMaskAuthJdg()
	{
		// 権限リストマップ取得
		JCCAuthorityCtrlStatus.setAuthorityCtrl(this);
		// 共有フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();
		// リクエスト権限リストを取得する
		X31SDataBeanAccessArray reqAuthorityList = commoninfoBean.getDataBeanArray(CommonInfoCFConst.REQUEST_AUTHORITY_LIST);
		
		// リクエスト権限リストが設定されていない場合
		if (reqAuthorityList == null || reqAuthorityList.getCount() == 0)
		{
			// マスク化しない
			return false;
		}
		
		// リクエスト権限リストより、権限の取得を行なう。
		for (int i = 0; i < reqAuthorityList.getCount(); i++)
		{
			// 権限リストの取得
			X31SDataBeanAccess authorityBean = reqAuthorityList.getDataBean(i);
			// リクエスト権限リスト リクエスト権限
			String reqAuthorityValue = authorityBean.sendMessageString(CommonInfoCFConst.REQUEST_AUTHORITY_03, X31CWebConst.DATABEAN_GET_VALUE);
			// リクエスト権限リスト リクエスト権限フラグ
			String reqAuthorityFlg = authorityBean.sendMessageString(CommonInfoCFConst.REQUEST_AUTHORITY_FLG_03, X31CWebConst.DATABEAN_GET_VALUE);
			
			// マスク対象のリクエスト権限であるかつリクエスト権限フラグが"1"である場合
			if (INCOMING_TELNO_MASK_FLG.equals(reqAuthorityValue) && "1".equals(reqAuthorityFlg))
			{
				// マスク化する
				return true;
			}
		}
		
		// マスク化しない
		return false;
	}
	// ANK-3718-00-00 ADD END
}
