/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：TELvisionユーザー情報照会
*   ソースファイル名：FUW04202SFLogic.java
*   作成者          ：富士通
*   日付            ：2012年01月10日
*＜機能概要＞
*  TELvisionユーザー情報照会のビューロジッククラスです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2012/01/10   FJ）新枦    新規作成
*
**********************************************************************/

package eo.web.webview.FUW04202SF;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;

import com.fujitsu.futurity.web.x00.JCCBusinessException;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JFUStrConst;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.FUW09801SF.FUW09801SFConst;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * TELvisionユーザー情報照会のビューロジッククラスです。<p>
 * <BR>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class FUW04202SFLogic extends JCCWebBusinessLogic
{
	/** 外部コマンド正常終了 */
	private static final String SUCCESS = "0";
	/** ステータス：情報取得成功 */
	private static final String STAT_000 = "000";
	/** 登録完了フラグ：完了 */
	private static final String ADD_FIN_FLG_ON = "1";
	/** 登録完了フラグ：未完了 */
	private static final String ADD_FIN_FLG_OFF = "0";
	/** フラグ：ＯＮ */
	private static final String FLG_ON = "1";
	/** フラグ：ＯＦＦ */
	private static final String FLG_OFF = "0";

	/** 取得数案内表示フラグ：表示 */
	private static final String STKU_SU_GAIDE_DSP_FLG_ON = "1";
	/** 取得数案内表示フラグ：非表示 */
	private static final String STKU_SU_GAIDE_DSP_FLG_OFF = "0";

	/** 未完了ユーザー案内表示フラグ：表示 */
	private static final String MI_FIN_USER_GAIDE_DSP_FLG_ON = "1";
	/** 未完了ユーザー案内表示フラグ：非表示 */
	private static final String MI_FIN_USER_GAIDE_DSP_FLG_OFF = "0";

	/** 利用停止フラグ：利用可能 */
	private static final String RIYO_STP_FLG_0 = "0";
	/** 利用停止フラグ：利用停止中 */
	private static final String RIYO_STP_FLG_1 = "1";
	/** 利用停止フラグ：中断中 */
	private static final String RIYO_STP_FLG_2 = "2";
	/** サービスID */
	private static final String SERVICE_ID = "FUSV0071";

	/** ステータスメッセージ１：ユーザー情報登録未完了 */
	private static final String STAT_MSG1 = "ユーザー情報登録未完了";
	/** ステータスメッセージ２：ユーザー情報登録完了 */
	private static final String STAT_MSG2 = "ユーザー情報登録完了";
	/** ステータスメッセージ３：利用中断中 */
	private static final String STAT_MSG3 = "利用中断中";
	/** ＶｏＩＰ電話番号メッセージ：取得していません */
	private static final String VOIP_TELNO_MSG = "取得していません";
	/** 公衆番号メッセージ：不可 */
	private static final String KOSHU_NO_MSG = "不可";
	/** メールアドレスメッセージ：設定していません */
	private static final String MLAD_MSG = "設定していません";

	/**
	 * 初期表示処理
	 * 
	 * @return 処理結果
	 * @throws Exception 例外
	 */
	public boolean init() throws Exception
	{
		// デバッグログ
		com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG.debug("----- init_FUW04202SFLogic Start -----");

		// 共有フォームBean取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// サービスフォームBean取得
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();
		// 画面情報を取得し、サービスフォームBeanに設定
		JFUWebCommon.getScreenInfo(this);
		// 共有フォームBean.サービス契約情報
		X31SDataBeanAccess svcKeiInfoBean = JFUWebCommon.getDataBeanTypeByPath(commonInfoBean, JFUWebCommon.SVC_KEI_INFO);

		// -------------------------------------------------
		// TELvisionコースVoIPユーザー情報取得
		// -------------------------------------------------
		// サービス契約情報.サービス契約番号
		String svcKeiNo = svcKeiInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE);
		// 外部API呼出処理
		execSync(serviceFormBean, svcKeiNo);

		// -------------------------------------------------
		// 共通関連チェック
		// -------------------------------------------------
		JFUWebCommon.checkCommonRelation(this, SERVICE_ID);

		// ステータスの取得
		String stat = serviceFormBean.sendMessageString(FUW04202SFConst.STAT, X31CWebConst.DATABEAN_GET_VALUE);
		X31SDataBeanAccessArray voipUserInfoList = serviceFormBean.getDataBeanArray(FUW04202SFConst.VOIP_USER_INFO);
		if (!STAT_000.equals(stat))
		{
			// ステータスが"000"(情報取得成功)以外の場合
			// 業務用例外クラスをthrowする。
			com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG.debug("★ ステータスエラー ★");
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}
		// 利用停止フラグ
		String riyoStpFlg = JFUStrConst.EMPTY;
		for (int i = 0; i < voipUserInfoList.getCount(); i++)
		{
			X31SDataBeanAccess voipUserInfoBean = voipUserInfoList.getDataBean(i);
			// ＶｏＩＰユーザー情報.利用停止フラグ
			riyoStpFlg = voipUserInfoBean.sendMessageString(FUW04202SFConst.RIYO_STP_FLG_01, X31CWebConst.DATABEAN_GET_VALUE);
			if (RIYO_STP_FLG_1.equals(riyoStpFlg))
			{
				break;
			}
		}
		if (STAT_000.equals(stat) && RIYO_STP_FLG_1.equals(riyoStpFlg))
		{
			// ステータスが"000"(情報取得成功)　かつ　利用停止フラグが"1"(利用停止中)の場合
			// 業務用例外クラスをthrowする。
			com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG.debug("★ 利用停止エラー ★");
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0003);
		}

		// -------------------------------------------------
		// ＶｏＩＰユーザー情報.番号の設定
		// -------------------------------------------------
		// サービスフォームBean.ＶｏＩＰユーザー情報の取得
		X31SDataBeanAccessArray voipUserInfo = serviceFormBean.getDataBeanArray(FUW04202SFConst.VOIP_USER_INFO);
		for (int i = 0; i < voipUserInfo.getCount(); i++)
		{
			X31SDataBeanAccess voipUserInfoBean = voipUserInfo.getDataBean(i);
			int rowNo = i + 1;
			voipUserInfoBean.sendMessageString(FUW04202SFConst.NO_01, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(rowNo));
		}
		// -------------------------------------------------
		// 表示フラグの設定
		// -------------------------------------------------
		setDspFlg(serviceFormBean);

		// -------------------------------------------------
		// 遷移先画面ID、画面名の設定
		// -------------------------------------------------
		// TELvisionユーザー情報照会画面に遷移
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW04202);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW04202);
		// デバッグログ
		com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG.debug("----- init_FUW04202SFLogic End -----");
		return true;
	}

	/**
	 * 表示フラグの設定 <BR>
	 * 
	 * @param serviceFormBean サービスフォームBean
	 */
	private void setDspFlg(X31SDataBeanAccess serviceFormBean)
	{
		// デバッグログ
		com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG.debug("----- setDspFlg_FUW04202SFLogic Start -----");

		// サービスフォームBean.最大オプションサービス数を取得
		int maxOpSvcCnt = Integer.parseInt(serviceFormBean.sendMessageString(FUW04202SFConst.MAS_OP_SVC_CNT, X31CWebConst.DATABEAN_GET_VALUE));

		// サービスフォームBean.ＶｏＩＰユーザーＩＤ数を取得
		int voipUserIdSu = Integer.parseInt(serviceFormBean.sendMessageString(FUW04202SFConst.VOIP_USER_ID_SU, X31CWebConst.DATABEAN_GET_VALUE));

		// -------------------------------------------------
		// サービスフォームBean.ユーザー残取得数の設定
		// -------------------------------------------------
		int userZanStkuSu = maxOpSvcCnt - voipUserIdSu;
		serviceFormBean.sendMessageString(FUW04202SFConst.USER_ZAN_STKU_SU, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(userZanStkuSu));

		if (maxOpSvcCnt == voipUserIdSu)
		{
			// -------------------------------------------------
			// 登録数上限
			// -------------------------------------------------
			// 取得数案内表示フラグ：非表示
			serviceFormBean.sendMessageString(FUW04202SFConst.STKU_SU_GAIDE_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, STKU_SU_GAIDE_DSP_FLG_OFF);
		}
		else
		{
			// -------------------------------------------------
			// 登録数上限未満
			// -------------------------------------------------
			// 取得数案内表示フラグ：表示
			serviceFormBean.sendMessageString(FUW04202SFConst.STKU_SU_GAIDE_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, STKU_SU_GAIDE_DSP_FLG_ON);
		}

		// 登録未完了フラグ
		String addMiFinFlg = FLG_OFF;
		// サービスフォームBean.ＶｏＩＰユーザー情報を取得
		X31SDataBeanAccessArray voipUserInfo = serviceFormBean.getDataBeanArray(FUW04202SFConst.VOIP_USER_INFO);
		for (int i = 0; i < voipUserInfo.getCount(); i++)
		{
			X31SDataBeanAccess voipUserInfoBean = voipUserInfo.getDataBean(i);
			if (ADD_FIN_FLG_OFF.equals(voipUserInfoBean.sendMessageString(FUW04202SFConst.ADD_FIN_FLG_01, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// ＶｏＩＰユーザー情報.登録完了フラグが"0"未完了の場合、登録未完了フラグに"1"を設定
				addMiFinFlg = FLG_ON;
				break;
			}
		}
		if (FLG_ON.equals(addMiFinFlg))
		{
			// -------------------------------------------------
			// 登録未完了ユーザー有り
			// -------------------------------------------------
			// 未完了ユーザー案内表示フラグ：表示
			serviceFormBean.sendMessageString(FUW04202SFConst.MI_FIN_USER_GAIDE_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE,
					MI_FIN_USER_GAIDE_DSP_FLG_ON);
		}
		else
		{
			// -------------------------------------------------
			// 登録未完了ユーザー無し
			// -------------------------------------------------
			// 未完了ユーザー案内表示フラグ：非表示
			serviceFormBean.sendMessageString(FUW04202SFConst.MI_FIN_USER_GAIDE_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE,
					MI_FIN_USER_GAIDE_DSP_FLG_OFF);
		}
		// デバッグログ
		com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG.debug("----- setDspFlg_FUW04202SFLogic End -----");
	}

	/**
	 * 登録するボタン押下処理 <BR>
	 * 
	 * @return 処理結果
	 * @throws Exception 例外
	 */
	public boolean addTo() throws Exception
	{

		// デバッグログ
		com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG.debug("----- addTo_FUW04202SFLogic Start -----");
		// 引き継ぎ情報設定(FUW09801:TELvision･eo-netフォンMYページログイン)
		setParam(JFUScreenConst.SCREEN_ID_FUW09801, JFUScreenConst.SCREEN_NAME_FUW09801);
		// デバッグログ
		com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG.debug("----- addTo_FUW04202SFLogic End -----");

		return true;
	}

	/**
	 * 引き継ぎ情報設定 <BR>
	 * 
	 * @param nextScreenId 遷移先画面ID
	 * @param nextScreenName 遷移先画面名
	 * @throws Exception 例外
	 */
	private void setParam(String nextScreenId, String nextScreenName) throws Exception
	{

		// デバッグログ
		com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG.debug("----- setParam_FUW04202SFLogic Start -----");
		// 共有フォームBean取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// サービスフォームBean取得
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 引き継ぎ情報dataMap作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		// サービスフォームBean.選択番号の取得
		int choiceNo = Integer.parseInt(serviceFormBean.sendMessageString(FUW04202SFConst.CHOICE_NO, X31CWebConst.DATABEAN_GET_VALUE));

		// サービスフォームBean.ＶｏＩＰユーザー情報の取得
		X31SDataBeanAccessArray voipUserInfo = serviceFormBean.getDataBeanArray(FUW04202SFConst.VOIP_USER_INFO);
		X31SDataBeanAccess voipUserInfoBean = voipUserInfo.getDataBean(choiceNo);
		// ＶｏＩＰユーザー情報.ＶｏＩＰユーザーＩＤ
		String voipUserId = voipUserInfoBean.sendMessageString(FUW04202SFConst.VOIP_USER_ID_01, X31CWebConst.DATABEAN_GET_VALUE);

		// 引継ぎ情報を設定
		dataMap.put(FUW09801SFConst.USER_ID, voipUserId);
		dataMap.put(FUW09801SFConst.PRE_GAMEN_ID, JFUScreenConst.SCREEN_ID_FUW04202);

		JFUWebCommon.setScreenInfo(this, nextScreenId, dataMap);

		// 遷移先画面IDを設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, nextScreenId);

		// 遷移先画面名を設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, nextScreenName);
		// デバッグログ
		com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG.debug("----- setParam_FUW04202SFLogic End -----");
	}

	/**
	 * 外部API呼出処理を行います。 <BR>
	 * 
	 * @param serviceFormBean サービスフォームBean
	 * @param strSvcKeiNo サービス契約番号
	 */
	private void execSync(X31SDataBeanAccess serviceFormBean, String strSvcKeiNo)
	{
		// デバッグログ
		com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG.debug("----- execSync_FUW04202SFLogic Start -----");
		// 実行結果
		List<String> dataList = new ArrayList<String>();

		// 外部コマンド実行標準出力格納
		StringBuffer outPut = new StringBuffer();

		// 外部コマンド情報
		String[] cmd = { JFUWebCommon.getApplicationConst(JFUStrConst.REMOTE_CMD_NM), JFUWebCommon.getApplicationConst(JFUStrConst.REMOTE_CMD_OP1),
				JFUWebCommon.getApplicationConst(JFUStrConst.FUIFE011_PARAM1), strSvcKeiNo,
				JFUWebCommon.getApplicationConst(JFUStrConst.REMOTE_CMD_OP2), JFUWebCommon.getApplicationConst(JFUStrConst.VOIP_ENV) };

		// デバッグログ
		com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG.debug("★ コマンドライン引数配列 ★：＝" + Arrays.toString(cmd));

		// 外部コマンド実行処理
		String execSyncCode = JFUWebCommon
				.execSync(cmd, outPut, Integer.parseInt(JFUWebCommon.getApplicationConst(JFUStrConst.REMOTE_EXEC_TIME_OUT)));

		// デバッグログ
		com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG.debug("★ リターンコード ★：＝" + execSyncCode);

		// 外部コマンド実行結果
		if (SUCCESS.equals(execSyncCode))
		{
			if (0 < outPut.length())
			{
				// デバッグログ
				com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG.debug("★ 外部コマンド実行結果 ★：＝" + outPut.toString());
				// 出力結果をListに詰め直す。
				dataList = Arrays.asList(outPut.toString().split(JFUWebCommon.LINE_SEPARATOR));
			}
			else
			{
				com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG.debug("★ 外部コマンド実行結果なしエラー ★");
				// "0002"（システムエラー）
				throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
			}
		}
		else
		{
			// "0002"（システムエラー）
			com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG.debug("★ リターンコードエラー ★");
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		// 出力結果をサービスフォームBeanに設定
		setServiceFormBean(serviceFormBean, dataList);
		// デバッグログ
		com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG.debug("----- execSync_FUW04202SFLogic End -----");

	}

	/**
	 * サービスフォームBeanの設定。 <BR>
	 * 
	 * @param serviceFormBean サービスフォームBean
	 * @param dataList 出力結果
	 */
	private void setServiceFormBean(X31SDataBeanAccess serviceFormBean, List<String> dataList)
	{
		// デバッグログ
		com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG.debug("----- setServiceFormBean_FUW04202SFLogic Start -----");
		// ステータス
		String stat = JFUStrConst.EMPTY;
		// 加入属性
		String kanyuZokusei = JFUStrConst.EMPTY;
		// 試用加入終了予定日
		String ftrialKanyuEndRsvBi = JFUStrConst.EMPTY;
		// 本加入移行猶予期限
		String honkanyuIkoKuyoKigen = JFUStrConst.EMPTY;
		// ＶｏＩＰユーザーＩＤ数
		String voipUserIdSu = JFUStrConst.EMPTY;
		// ＶｏＩＰユーザーＩＤ
		String voipUserId = JFUStrConst.EMPTY;
		// ＶｏＩＰ電話番号
		String voipTelno = JFUStrConst.EMPTY;
		// ｅｏサービス区分
		String eoSvcKbn = JFUStrConst.EMPTY;
		// 登録完了フラグ
		String addFinFlg = JFUStrConst.EMPTY;
		// メールアドレス
		String mlad = JFUStrConst.EMPTY;
		// 利用停止フラグ
		String riyoStpFlg = JFUStrConst.EMPTY;
		// 公衆番号
		String koshuNo = JFUStrConst.EMPTY;

		// -------------------------------------------------
		// 出力結果から値の取得
		// -------------------------------------------------
		// ステータス
		stat = dataList.get(0);
		// サービスフォームBean.ステータス
		serviceFormBean.sendMessageString(FUW04202SFConst.STAT, X31CWebConst.DATABEAN_SET_VALUE, stat);
		if (STAT_000.equals(stat))
		{
			// 加入属性
			kanyuZokusei = dataList.get(1);
			// 試用加入終了予定日
			ftrialKanyuEndRsvBi = dataList.get(2);
			// 本加入移行猶予期限
			honkanyuIkoKuyoKigen = dataList.get(3);
			// ＶｏＩＰユーザーＩＤ数
			voipUserIdSu = dataList.get(4);
			int loopCnt = Integer.parseInt(voipUserIdSu);
			// -------------------------------------------------
			// サービスフォームBeanへ設定
			// -------------------------------------------------
			// サービスフォームBean.加入属性
			serviceFormBean.sendMessageString(FUW04202SFConst.KANYU_ZOKUSEI, X31CWebConst.DATABEAN_SET_VALUE, kanyuZokusei);
			// サービスフォームBean.試用加入終了予定日
			serviceFormBean.sendMessageString(FUW04202SFConst.FTRIAL_KANYU_END_RSV_BI, X31CWebConst.DATABEAN_SET_VALUE, ftrialKanyuEndRsvBi);
			// サービスフォームBean.本加入移行猶予期限
			serviceFormBean.sendMessageString(FUW04202SFConst.HONKANYU_IKO_KUYO_KIGEN, X31CWebConst.DATABEAN_SET_VALUE, honkanyuIkoKuyoKigen);
			// サービスフォームBean.ＶｏＩＰユーザーＩＤ数
			serviceFormBean.sendMessageString(FUW04202SFConst.VOIP_USER_ID_SU, X31CWebConst.DATABEAN_SET_VALUE, voipUserIdSu);

			// -------------------------------------------------
			// サービスフォームBean.ＶｏＩＰユーザー情報へ設定
			// -------------------------------------------------
			X31SDataBeanAccessArray voipUserInfoList = serviceFormBean.getDataBeanArray(FUW04202SFConst.VOIP_USER_INFO);
			for (int i = 0; i < loopCnt; i++)
			{
				int dataCnt = i + 5;
				// ＶｏＩＰユーザー情報
				String[] voipUserInfo = dataList.get(dataCnt).split(JFUStrConst.COMMA);
				// ＶｏＩＰユーザーＩＤ
				voipUserId = voipUserInfo[0];
				// ＶｏＩＰ電話番号
				voipTelno = voipUserInfo[1];
				// ｅｏサービス区分
				eoSvcKbn = voipUserInfo[2];
				// 登録完了フラグ
				addFinFlg = voipUserInfo[3];
				// メールアドレス
				mlad = voipUserInfo[4];
				// 利用停止フラグ
				riyoStpFlg = voipUserInfo[5];
				// 公衆番号
				if (voipUserInfo.length == 7)
				{
					koshuNo = voipUserInfo[6];
				}
				else
				{
					koshuNo = JFUStrConst.EMPTY;
				}

				if (ADD_FIN_FLG_OFF.equals(addFinFlg) && RIYO_STP_FLG_2.equals(riyoStpFlg))
				{
					// 登録完了フラグが"0"(未完了)かつ利用停止フラグが"2"(中断中)の場合、処理をしない
					continue;
				}
				else
				{
					X31SDataBeanAccess voipUserInfoBean = voipUserInfoList.addDataBean();
					// ＶｏＩＰユーザー情報.ＶｏＩＰユーザーＩＤの設定
					voipUserInfoBean.sendMessageString(FUW04202SFConst.VOIP_USER_ID_01, X31CWebConst.DATABEAN_SET_VALUE, voipUserId);

					// ＶｏＩＰユーザー情報.ＶｏＩＰ電話番号の設定
					if (JFUStrConst.EMPTY.equals(voipTelno))
					{
						// ＶｏＩＰ電話番号が未設定の場合、"取得していません"を設定
						voipUserInfoBean.sendMessageString(FUW04202SFConst.VOIP_TELNO_01, X31CWebConst.DATABEAN_SET_VALUE, VOIP_TELNO_MSG);
					}
					else
					{
						voipUserInfoBean.sendMessageString(FUW04202SFConst.VOIP_TELNO_01, X31CWebConst.DATABEAN_SET_VALUE, voipTelno);
					}

					// ＶｏＩＰユーザー情報.ｅｏサービス区分の設定
					voipUserInfoBean.sendMessageString(FUW04202SFConst.EO_SVC_KBN_01, X31CWebConst.DATABEAN_SET_VALUE, eoSvcKbn);

					// ＶｏＩＰユーザー情報.登録完了フラグの設定
					voipUserInfoBean.sendMessageString(FUW04202SFConst.ADD_FIN_FLG_01, X31CWebConst.DATABEAN_SET_VALUE, addFinFlg);

					// ＶｏＩＰユーザー情報.メールアドレスの設定
					if (JFUStrConst.EMPTY.equals(mlad))
					{
						// メールアドレスが未設定の場合、"設定していません"を設定
						voipUserInfoBean.sendMessageString(FUW04202SFConst.MLAD_01, X31CWebConst.DATABEAN_SET_VALUE, MLAD_MSG);
					}
					else
					{
						voipUserInfoBean.sendMessageString(FUW04202SFConst.MLAD_01, X31CWebConst.DATABEAN_SET_VALUE, mlad);
					}

					// ＶｏＩＰユーザー情報.利用停止フラグの設定
					voipUserInfoBean.sendMessageString(FUW04202SFConst.RIYO_STP_FLG_01, X31CWebConst.DATABEAN_SET_VALUE, riyoStpFlg);

					// ＶｏＩＰユーザー情報.公衆番号の設定
					if (JFUStrConst.EMPTY.equals(koshuNo))
					{
						// 公衆番号が未設定の場合、"不可"を設定
						voipUserInfoBean.sendMessageString(FUW04202SFConst.KOSHU_NO_01, X31CWebConst.DATABEAN_SET_VALUE, KOSHU_NO_MSG);
					}
					else
					{
						voipUserInfoBean.sendMessageString(FUW04202SFConst.KOSHU_NO_01, X31CWebConst.DATABEAN_SET_VALUE, koshuNo);
					}

					// ＶｏＩＰユーザー情報.状態の設定
					if (ADD_FIN_FLG_OFF.equals(addFinFlg))
					{
						// 登録完了フラグが"0"(未完了)の場合、"ユーザー情報登録未完了"を設定
						voipUserInfoBean.sendMessageString(FUW04202SFConst.STAT_01, X31CWebConst.DATABEAN_SET_VALUE, STAT_MSG1);
					}
					else if (ADD_FIN_FLG_ON.equals(addFinFlg) && RIYO_STP_FLG_0.equals(riyoStpFlg))
					{
						// 登録完了フラグが"1"(完了)かつ　利用停止フラグが"0"(利用可能)の場合、"ユーザー情報登録完了"を設定
						voipUserInfoBean.sendMessageString(FUW04202SFConst.STAT_01, X31CWebConst.DATABEAN_SET_VALUE, STAT_MSG2);
					}
					else if (ADD_FIN_FLG_ON.equals(addFinFlg) && RIYO_STP_FLG_2.equals(riyoStpFlg))
					{
						// 登録完了フラグが"1"(完了)かつ　利用停止フラグが"2"(中断中)の場合、"利用中断中"を設定
						voipUserInfoBean.sendMessageString(FUW04202SFConst.STAT_01, X31CWebConst.DATABEAN_SET_VALUE, STAT_MSG3);
					}
				}
			}

		}
		// デバッグログ
		com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG.debug("----- setServiceFormBean_FUW04202SFLogic End -----");
	}
}
