/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：eo顧客基幹システム
 *   モジュール名    ：JFUMskmFinMsg
 *   ソースファイル名：JFUMskmFinMsg.java
 *   作成者          ：富士通
 *   日付            ：2012年02月29日
 *＜機能概要＞
 *   フロント画面申込完了メール送信結果欄出力カスタムタグです。
 *＜修正履歴＞
 *   バージョン  修正日       修正者      修正内容
 *   v3.00.00    2012/02/29   FJ）大野    新規作成：「案件番号： ANK-0041-00-00」
 *												   【巻き取り@】【申込完了メール対応】
 *   v57.00      2022/02/28   FJ) 新谷    【ANK-4211-00-00】支払方法変更(口振)の導線変更対応
 **********************************************************************/
package eo.web.webview.common;

import java.util.ArrayList;

import javax.servlet.jsp.JspException;

import com.fujitsu.futurity.web.x33.X33VCustomTagBase;

import eo.common.constant.JFUStrConst;

/**
 * フロント画面申込完了メール送信結果欄出力カスタムタグです。 <br>
 *
 * @author 富士通
 */
@SuppressWarnings("serial")
public class JFUMskmFinMsg extends X33VCustomTagBase {

	// ■出力ターゲット
	/** 画面ID */
	private String screenId = JFUStrConst.EMPTY;

	/** 拡張タグテンプレートファイルのテンプレートID */
	private static final String TAG_TEMPLATE = "TagTemplate006";

	/**
	 * 画面IDを設定します。
	 * <br>
	 * @param arg0 パターン
	 */
	public void setScreenId(String arg0)
	{
		this.screenId = arg0;
	}

	/**
	 * カスタムタグ開始処理を行います。 <br>
	 *
	 * @throws JspException
	 *             JSPで発生する例外
	 * @return 処理結果
	 * @see javax.servlet.jsp.tagext.TagSupport#doStartTag()
	 */
	@Override
	public int doStartTag() throws JspException {
		String sendFinMsgDspFlg = getDataString("send_fin_msg_dsp_flg", 0);

		// 送信成功の場合はメッセージを表示する
		if ("1".equals(sendFinMsgDspFlg)) {
			if ("FUW07703".equals(screenId)) {
				ArrayList<String> mladList = getDataStringList("send_fin_mlad_list");
				StringBuilder sb = new StringBuilder();
				for (String mlad : mladList)
				{
					sb.append("       <br />");
					sb.append(mlad);
				}

				outputHtml("    <div class='mt20'>");
				outputHtml("     <div class='article'>");
				outputHtml("      <p>");
				outputHtml("       ※eoのご契約メールアドレスに「【eoサービス】お支払い方法変更受付のお知らせ」メールを送信しました。");
				outputHtml(sb.toString());
				outputHtml("      </p>");
				outputHtml("     </div>");
				outputHtml("    </div>");
			} else {
				outputHtml("    <div class='mt20'>");
				outputHtml("     <div class='article'>");
				outputHtml("      <p>");
				outputHtml("       ※ご契約中のメールアドレスに申込受付メールを送信しました。");
				outputHtml("      </p>");
				outputHtml("     </div>");
				outputHtml("    </div>");
			}
		}
		// 送信成功以外の場合はタグを作成しない
		else {
			return SKIP_BODY;
		}

		return SKIP_BODY;
	}

	/**
	 * 共有フォームBeanより項目を取得します。(階層構造型) <br>
	 *
	 * @param arg0
	 * @param idx
	 * @return 項目
	 */
	private String getDataString(String arg0, int idx) {
		String str = null;
		try {
			str = getSFBeanData_String(TAG_TEMPLATE, arg0, idx);
			if (str == null || "null".equals(str)) {
				str = "";
			}
		} catch (Exception e) {
			str = "";
		}
		return str;
	}

	/**
	 * 共有フォームBeanよりList項目を取得します。
	 * @param beanID
	 * @return List項目
	 */
	private ArrayList<String> getDataStringList(String beanID) {
		ArrayList<String> retList = new ArrayList<String>();
		int listCount = 0;;

		try {
			listCount = super.countSFBeanList(TAG_TEMPLATE, beanID);
		} catch (JspException e) {
			return retList;
		}

		for (int i = 0; i < listCount; i++)
		{
			String item = getDataString(beanID, i);
			if (!"".equals(item))
			{
				retList.add(item);
			}
		}

		return retList;
	}
}