/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：CRSV0296_CRSV0296OPDBMapper
*	ソースファイル名：CRSV0296_CRSV0296OPDBMapper.java
*	作成者			：FJ
*	日付			：2021年07月27日
*＜機能概要＞
*	BP（メール返信(送信)）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/09/14	FJ			新規作成
*	v5.00.00	2013/06/27	FJ)伊藤		ANK-1555-00-00_コールバック履歴化対応について
*   v54.00.00    2021/07/27 GDC)k.abuan ANK-4092-00-00_CX戦略WG方針対応（9月末リリース分）
*   v54.01.00	 2021/08/20	FJ)星野		ANK-4092-08-00_【CX戦略WG方針対応STEP2】 対応記録画面からのＳＭＳ送信挙動の変更
*   v56.00.00	2021/12/06	FJ)舘山		ANK-4174-00-00_開通前マイページ関連業務改善（2022年1月下旬リリース）
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.HashMap;

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.JCRStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.util.JCRUtilCommon;
import eo.web.webview.CRW10901SF.CRW10901SFConst;
import eo.web.webview.CRW10901SF.CRW10901SFLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCWebCommon;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class CRSV0296_CRSV0296OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public CRSV0296_CRSV0296OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：メール返信　[1]：共有フォームＢｅａｎ
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJUDGENGWORDCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 2){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 基準日 → NGワード判定マップ.ＫＥＹ＿基準年月日
		parentMap.put("key_stdardymd", bean[0].sendMessageString("基準日", X31CWebConst.DATABEAN_GET_VALUE));

		// 退避用クローズ不可コード → 問合せNGワード判定マップ.更新前クローズ不可コード
		parentMap.put("close_fail_cd_bf", bean[0].sendMessageString("退避用クローズ不可コード", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("JUDGENGWORDCC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：メール返信　[1]：共有フォームＢｅａｎ
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setUPDTAIOKRKCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 2){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 問合せＩＤ → 対応記録内容変更マップ.対応記録番号
		parentMap.put("taio_kirok_no", bean[0].sendMessageString("問合せＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → 対応記録内容変更マップ.問合せ受付種別コード
		parentMap.put("toiawase_uk_sbt_cd", eo.web.webview.common.JCRWebCommon.getPullDownCode(bean[0], "問合せ受付種別", "問合せ受付種別コードインデックス", "問合せ受付種別コードリスト"));
		// サービス契約番号 → 対応記録内容変更マップ.サービス契約番号
		parentMap.put("svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 問合せ状態コード → 対応記録内容変更マップ.問合せ状態コード
		parentMap.put("toiawase_stat_cd", bean[0].sendMessageString("問合せ状態コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 簡易メモ → 対応記録内容変更マップ.簡易メモ
		parentMap.put("easy_memo", bean[0].sendMessageString("簡易メモ", X31CWebConst.DATABEAN_GET_VALUE));
		// タイトル → 対応記録内容変更マップ.タイトル
		parentMap.put("title", bean[0].sendMessageString("タイトル", X31CWebConst.DATABEAN_GET_VALUE));
		// 返信画面ボタン押下判定フラグ → 対応記録内容変更マップ.一時保存有無
		parentMap.put("tmp_save_um", bean[0].sendMessageString("返信画面ボタン押下判定フラグ", X31CWebConst.DATABEAN_GET_VALUE));
		// コールバック希望年月日 → 対応記録内容変更マップ.コールバック希望年月日
		parentMap.put("callbk_kibo_ymd", bean[0].sendMessageString("コールバック希望年月日", X31CWebConst.DATABEAN_GET_VALUE));
		// コールバック希望時間 → 対応記録内容変更マップ.コールバック希望時間
		parentMap.put("callbk_kibo_time", bean[0].sendMessageString("コールバック希望時間", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → 対応記録内容変更マップ.コールバック時間指定タイプコード
		parentMap.put("callbk_shitei_type_cd", eo.web.webview.common.JCRWebCommon.getPullDownCode(bean[0], "コールバック時間指定タイプ", "コールバック時間指定タイプコードインデックス", "コールバック時間指定タイプコードリスト"));
		// 更新前年月日時分秒 → 対応記録内容変更マップ.更新前年月日時分秒
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString("更新前年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));
		// ユーザーＩＤ → 対応記録内容変更マップ.ログインユーザーＩＤ
		parentMap.put("login_user_id", bean[1].sendMessageString("ユーザーＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// ユーザー名 → 対応記録内容変更マップ.ログインユーザー名
		parentMap.put("login_user_nm", bean[1].sendMessageString("ユーザー名", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → 対応記録内容変更マップ.業務個別設定組織コード
		parentMap.put("wkkbt_org_cd", eo.web.webview.common.JCRWebCommon.getWkkbtOrgCd(bean[1]));
		// 部品呼び出し → 対応記録内容変更マップ.業務個別設定組織名
		parentMap.put("wkkbt_org_nm", eo.web.webview.common.JCRWebCommon.getWkkbtOrgNm(bean[1]));

//*************************** 自動生成ソース修正  START ***************************//
		// 定数("1"：出力あり） → 対応記録内容変更マップ.履歴出力フラグ
		parentMap.put("rireki_output_flg", JCRStrConst.RIREKI_OUTPUT_FLG_ARI);
//*************************** 自動生成ソース修正  END   ***************************//

		outputMap.put("UPDTAIOKRKCC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：メール返信　[1]：共有フォームＢｅａｎ
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDELHOTVOICCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 2){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 問合せＩＤ → 対応記録ホットボイス削除マップ.ＫＥＹ＿対応記録番号
		parentMap.put("key_taio_kirok_no", bean[0].sendMessageString("問合せＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → 対応記録ホットボイス削除マップ.ＫＥＹ＿業務個別設定組織コード
		parentMap.put("key_wkkbt_org_cd", eo.web.webview.common.JCRWebCommon.getWkkbtOrgCd(bean[1]));

		outputMap.put("DELHOTVOICCC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：メール返信　[1]：共有フォームＢｅａｎ
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setHKTG_WORK(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 2){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 処理区分 → 画面引継項目リスト.処理区分
		parentMap.put("tran_div", bean[0].sendMessageString("処理区分", X31CWebConst.DATABEAN_GET_VALUE));

		// 登録画面ボタン押下判定フラグ → ワーク.登録画面ボタン押下判定フラグ
		parentMap.put("push_button_jdg_flg", bean[0].sendMessageString(CRW10901SFConst.PUSH_BUTTON_JDG_FLG, X31CWebConst.DATABEAN_GET_VALUE));

		// 編集状態フラグ２ → 画面引継項目リスト.編集状態フラグ２
		parentMap.put("henshu_stat_flg2", bean[0].sendMessageString("編集状態フラグ２", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("HKTG_WORK", parentMap);
						
		return outputMap;
	}


	/**
	 * 下りマッピング
	 * @param bean　[0]：メール返信　[1]：共有フォームＢｅａｎ
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getJUDGENGWORDCC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("JUDGENGWORDCC")){
			parentMap = (HashMap)outputMap.get("JUDGENGWORDCC");
		}

		
		// クローズ不可コード ← 問合せNGワード判定マップ.クローズ不可コード
		if (parentMap != null) {
			bean[0].sendMessageString("クローズ不可コード", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("close_fail_cd"));
		} else {
			bean[0].sendMessageString("クローズ不可コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
		}

		return bean;
	}
// ANK-4174-00-00 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：メール返信　[1]：共有フォームＢｅａｎ
	 * @param outputMap
	 */
	public X31SDataBeanAccess[] getADDTAIOKRKDTLSENDSMSCC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		
		HashMap parentMap = null;
		if(outputMap.containsKey("ADDTAIOKRKDTLSENDSMSCC")){
			parentMap = (HashMap)outputMap.get("ADDTAIOKRKDTLSENDSMSCC");
		}

		
		// 対応記録詳細番号 ← 問合せNGワード判定マップ.対応記録詳細番号
		if (parentMap != null) {
			bean[0].sendMessageString("対応記録明細番号", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("taio_kirok_dtl_no"));
		} else {
			bean[0].sendMessageString("対応記録明細番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
		}
		return bean;
	}
// ANK-4174-00-00 ADD END

	// ▼▼▼ ADD START

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：問合せ情報登録　[1]：共有フォームＢｅａｎ
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap setADDHOTVOICCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// "1"（処理済） → 処理済フラグ
		parentMap.put("syrzm_flg", JCRStrConst.SYRZM_FLG_SYORIZUMI);

		X31SDataBeanAccessArray arraybean = bean[0].getDataBeanArray(CRW10901SFConst.RSP_CTGR_LIST);
		
		ArrayList list = null;
		if(parentMap.containsKey("RSP_CTGR_List"))
		{
			list = (ArrayList)parentMap.get("RSP_CTGR_List");
		}
		else
		{
			list = new ArrayList();
		}
		
		if(arraybean != null && arraybean.getCount() > 0)
		{

			for(int i = 0; i < arraybean.getCount(); i++)
			{
				X31SDataBeanAccess rspCtgrListBean = arraybean.getDataBean(i);
				HashMap rspCtgrListMap = null;
				if(list.size() - 1 >= i)
				{
					rspCtgrListMap = (HashMap)list.get(i);
				}
				else
				{
					rspCtgrListMap = new HashMap();
				}

				// 問合せＩＤ → 対応記録ホットボイスマップ.応対区分リスト.対応記録番号
				rspCtgrListMap.put("taio_kirok_no", bean[0].sendMessageString(CRW10901SFConst.TAIO_KIROK_NO, X31CWebConst.DATABEAN_GET_VALUE));

				// 登録画面ボタン押下判定フラグ → 対応記録ホットボイスマップ.編集状態フラグ
				rspCtgrListMap.put("henshu_stat_flg", bean[0].sendMessageString(CRW10901SFConst.PUSH_BUTTON_JDG_FLG, X31CWebConst.DATABEAN_GET_VALUE));

				if (rspCtgrListBean != null)
				{
					// 応対区分／応対区分リスト.対応記録内訳番号 → 対応記録ホットボイスマップ.応対区分リスト.対応記録内訳番号
					rspCtgrListMap.put("taio_kirok_ucwk_no", rspCtgrListBean.sendMessageString(CRW10901SFConst.L1_TAIO_KIROK_UCWK_NO_02
							, X31CWebConst.DATABEAN_GET_VALUE));
	
					// 応対区分／応対区分リスト.応対区分 → 対応記録ホットボイスマップ.応対区分リスト.応対区分
					rspCtgrListMap.put("toiawase_rsp_div", rspCtgrListBean.sendMessageString(CRW10901SFConst.L1_SEL_RSP_DIV_CD_02, X31CWebConst.DATABEAN_GET_VALUE));
	
					// 応対区分／応対区分リスト.表示順序 → 対応記録ホットボイスマップ.応対区分リスト.表示順序
					rspCtgrListMap.put("dsp_jun", rspCtgrListBean.sendMessageString(CRW10901SFConst.L1_DSP_JUN_02, X31CWebConst.DATABEAN_GET_VALUE));
					
					// 応対区分／応対区分リスト.対応記録内訳抽出ワーク作成区分 → 対応記録ホットボイスマップ.応対区分リスト.対応記録内訳抽出ワーク作成区分
					rspCtgrListMap.put("tiokr_uw_cst_wk_add_div", rspCtgrListBean.sendMessageString(CRW10901SFConst.L1_TIOKR_UW_CST_WK_ADD_DIV_02
							, X31CWebConst.DATABEAN_GET_VALUE));
					// 応対区分／応対区分リスト.お客様の声 → 対応記録ホットボイスマップ.応対区分リスト.お客様の声
					rspCtgrListMap.put("cust_koe", rspCtgrListBean.sendMessageString(CRW10901SFConst.L1_CUST_KOE_02
							, X31CWebConst.DATABEAN_GET_VALUE));
					// 応対区分／応対区分リスト.ＣＳＲの声 → 対応記録ホットボイスマップ.応対区分リスト.ＣＳＲの声
					rspCtgrListMap.put("csr_koe", rspCtgrListBean.sendMessageString(CRW10901SFConst.L1_CSR_KOE_02
							, X31CWebConst.DATABEAN_GET_VALUE));

				}

				// カテゴリーＮリスト
				X31SDataBeanAccessArray uwCtgrnListArray = rspCtgrListBean.getDataBeanArray(CRW10901SFConst.L1_UW_CTGRN_LIST);
				
				ArrayList uwCtgrnList = null;
				if(rspCtgrListMap.containsKey("UW_CTGRN_List"))
				{
					uwCtgrnList = (ArrayList)rspCtgrListMap.get("UW_CTGRN_List");
				}
				else
				{
					uwCtgrnList = new ArrayList();
				}

				if(uwCtgrnListArray != null && uwCtgrnListArray.getCount() > 0)
				{
					// 下位カテゴリー有無
					boolean kaiCtgrUm = true;

					// 上位連結カテゴリー
					StringBuilder sbJoiRnktCtgrNm = new StringBuilder();

					for (int j = 0; j < uwCtgrnListArray.getCount() && kaiCtgrUm; j++)
					{
						
						X31SDataBeanAccess uwCtgrnBean = uwCtgrnListArray.getDataBean(j);

						HashMap uwCtgrnMap = null;
						if(list.size() - 1 >= i)
						{
							uwCtgrnMap = (HashMap)uwCtgrnList.get(j);
						}
						else
						{
							uwCtgrnMap = new HashMap();
						}

						// 下位カテゴリの存在チェックを行う
						if (j < uwCtgrnListArray.getCount() - 1)
						{
							X31SDataBeanAccess uwCtgrnBeanKai = uwCtgrnListArray.getDataBean(j + 1);
							
							// 下位データが存在しない場合
							if (JCRUtilCommon.isNull(uwCtgrnBeanKai.sendMessageString(CRW10901SFConst.L3_SEL_UW_CTGRN_NM_04, X31CWebConst.DATABEAN_GET_VALUE)))
							{
								kaiCtgrUm = false;
							}
						}
						else if (j == uwCtgrnListArray.getCount() - 1)
						{
							kaiCtgrUm = false;
						}

						// 問合せＩＤ → 対応記録ホットボイスマップ.応対区分リスト.対応記録番号
						uwCtgrnMap.put("taio_kirok_no", bean[0].sendMessageString(CRW10901SFConst.TAIO_KIROK_NO, X31CWebConst.DATABEAN_GET_VALUE));

						// 登録画面ボタン押下判定フラグ → 対応記録ホットボイスマップ.編集状態フラグ
						uwCtgrnMap.put("henshu_stat_flg", bean[0].sendMessageString(CRW10901SFConst.PUSH_BUTTON_JDG_FLG, X31CWebConst.DATABEAN_GET_VALUE));

						if (uwCtgrnBean != null)
						{

							// 応対区分／応対区分リスト.カテゴリーＮレベル → 対応記録ホットボイスマップ.応対区分リスト.カテゴリーＮレベル
							uwCtgrnMap.put("taiokrk_uw_ctgr_lv", uwCtgrnBean.sendMessageString(CRW10901SFConst.L3_SEL_UW_CTGRN_LV_04, X31CWebConst.DATABEAN_GET_VALUE));

							// 応対区分／応対区分リスト.カテゴリーＮ名称 → 対応記録ホットボイスマップ.応対区分リスト.カテゴリーＮ名称
							uwCtgrnMap.put("taiokrk_uw_ctgr_nm", uwCtgrnBean.sendMessageString(CRW10901SFConst.L3_SEL_UW_CTGRN_NM_04, X31CWebConst.DATABEAN_GET_VALUE));

							// 上位連結カテゴリ → 対応記録ホットボイスマップ.応対区分リスト.上位連結カテゴリー名
							if ("001".equals(uwCtgrnBean.sendMessageString(CRW10901SFConst.L3_SEL_UW_CTGRN_LV_04, X31CWebConst.DATABEAN_GET_VALUE)))
							{
								uwCtgrnMap.put("joi_rnkt_ctgr_nm", eo.web.webview.common.JCRWebCommon.getWkkbtOrgCd(bean[1]));
							}
							else
							{
								uwCtgrnMap.put("joi_rnkt_ctgr_nm", sbJoiRnktCtgrNm.toString());
							}

							// 対応記録ホットボイスマップ.応対区分リスト.下位カテゴリー有無
							// 下位のカテゴリが存在する場合："1"
							// 下位のカテゴリが存在しない場合："0"
							if (kaiCtgrUm)
							{
								uwCtgrnMap.put("kai_ctgr_um", JCRStrConst.KAI_CTGR_UM_ON);
							}
							else
							{
								uwCtgrnMap.put("kai_ctgr_um", JCRStrConst.KAI_CTGR_UM_OFF);
							}

							// ユーザーＩＤ → 対応記録明細登録（コール）マップ.ログインユーザーID
							uwCtgrnMap.put("login_user_id", bean[1].sendMessageString(CommonInfoCFConst.USER_ID, X31CWebConst.DATABEAN_GET_VALUE));
							// ユーザー名 → 対応記録明細登録（コール）マップ.ログインユーザー名
							uwCtgrnMap.put("login_user_nm", bean[1].sendMessageString(CommonInfoCFConst.USER_NM, X31CWebConst.DATABEAN_GET_VALUE));
							// 部品呼び出し → 対応記録明細登録（コール）マップ.業務個別設定組織コード
							uwCtgrnMap.put("wkkbt_org_cd", eo.web.webview.common.JCRWebCommon.getWkkbtOrgCd(bean[1]));
							// 部品呼び出し → 対応記録明細登録（コール）マップ.業務個別設定組織名
							uwCtgrnMap.put("wkkbt_org_nm", eo.web.webview.common.JCRWebCommon.getWkkbtOrgNm(bean[1]));
	
							try
							{
								sbJoiRnktCtgrNm.append(JCRUtilCommon.adjustCharSize(uwCtgrnBean.sendMessageString(CRW10901SFConst.L3_SEL_UW_CTGRN_NM_04
										, X31CWebConst.DATABEAN_GET_VALUE), 160, true));
							}
							catch (Exception e)
							{
//								e.printStackTrace();
							}

						}
						uwCtgrnList.add(uwCtgrnMap);

					}
					
					rspCtgrListMap.put("UW_CTGRN_List", uwCtgrnList);
				}

				list.add(rspCtgrListMap);
			}
		}
		parentMap.put("RSP_CTGR_List", list);

		outputMap.put("ADDHOTVOICCC", parentMap);
						
		return outputMap;

	}

//	/**
//	 * 上りマッピングをする
//	 * @param bean　[0]：問合せ情報登録　[1]：共有フォームＢｅａｎ
//	 * @param outputMap
//	 * @param func_code　機能コード
//	 * @return HashMap
//	 */
//	public HashMap setADDDELBUNSHOCTLCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
//	{
//		
//		if(bean == null)
//		{
//			return null;
//		}
//		
//		if(bean.length != 2)
//		{
//			return null;
//		}
//
//		X31SDataBeanAccessArray arraybean = null;
//
//		HashMap<String, Object> parentMap = new HashMap<String, Object>();
//
//		ArrayList<HashMap<String, Object>> listAddTorkEfileKnri = null;
//		ArrayList<HashMap<String, Object>> listDelTorkEfileKnri = null;
//
//		// 共通情報のマッピング
//		parentMap.put("func_code", func_code);
//
//		arraybean = bean[0].getDataBeanArray(CRW10901SFConst.BUNSHOLIST);
//
//		if(parentMap.containsKey("ADD_TORK_EFILE_KNRI_List"))
//		{
//			listAddTorkEfileKnri = (ArrayList)parentMap.get("ADD_TORK_EFILE_KNRI_List");
//		}
//		else
//		{
//			listAddTorkEfileKnri = new ArrayList();
//		}
//
//		if(parentMap.containsKey("DEL_TORK_EFILE_KNRI_List"))
//		{
//			listDelTorkEfileKnri = (ArrayList)parentMap.get("DEL_TORK_EFILE_KNRI_List");
//		}
//		else
//		{
//			listDelTorkEfileKnri = new ArrayList();
//		}
//
//			if(arraybean != null && arraybean.getCount() > 0)
//			{
//	
//				for(int i = 0; i < arraybean.getCount(); i++)
//				{
//					X31SDataBeanAccess subbean = arraybean.getDataBean(i);
//	
//					// 登録時
//					if (JCRStrConst.TMP_FILE_STAT_DIV_NEW.equals(subbean.sendMessageString(CRW10901SFConst.L5_TMP_FILE_STAT_DIV_06
//							, X31CWebConst.DATABEAN_GET_VALUE))
//							&& subbean.sendMessageBoolean(CRW10901SFConst.L5_FILE_DSP_FLG_06, X31CWebConst.DATABEAN_GET_VALUE))
//					{
//						HashMap<String, Object> mapAddTorkEfileKnri = new HashMap<String, Object>();
//	
//						// SEQ
//						mapAddTorkEfileKnri.put("seq", String.valueOf(i));
//						// 文書種別コード
//						mapAddTorkEfileKnri.put("bunsho_sbt_cd", "01");
//						// 対応記録番号
//						mapAddTorkEfileKnri.put("taio_kirok_no", bean[0].sendMessageString(CRW10901SFConst.TAIO_KIROK_NO, X31CWebConst.DATABEAN_GET_VALUE));
//						// 対応記録明細番号
//						mapAddTorkEfileKnri.put("taio_kirok_dtl_no", "");
//						// クエリ番号
//						mapAddTorkEfileKnri.put("query_no", "");
//						// 電子ファイル管理番号
//						mapAddTorkEfileKnri.put("efile_kanri_no", "");
//						// 対応記録文書ファイル名
//						mapAddTorkEfileKnri.put("taiorrki_bunsho_file_nm"
//								, subbean.sendMessageString(CRW10901SFConst.L5_TAIORRKI_BUNSHO_FILE_NM_06, X31CWebConst.DATABEAN_GET_VALUE));
//						// 対応記録文書作成年月日
//						mapAddTorkEfileKnri.put("taiorrki_bunsho_saksei_dtm", "");
//						// 業務個別設定組織コード
//						mapAddTorkEfileKnri.put("wkkbt_org_cd", eo.web.webview.common.JCRWebCommon.getWkkbtOrgCd(bean[1]));
//						// 業務個別設定組織名
//						mapAddTorkEfileKnri.put("wkkbt_position_cd", eo.web.webview.common.JCRWebCommon.getWkkbtPositionCd(bean[1]));
//						listAddTorkEfileKnri.add(mapAddTorkEfileKnri);
//	
//					}
//	
//					// 削除時
//					else if (JCRStrConst.TMP_FILE_STAT_DIV_EXIST.equals(subbean.sendMessageString(CRW10901SFConst.L5_TMP_FILE_STAT_DIV_06
//							, X31CWebConst.DATABEAN_GET_VALUE))
//						&& subbean.sendMessageBoolean(CRW10901SFConst.L5_FILE_DSP_FLG_06
//							, X31CWebConst.DATABEAN_GET_VALUE) == false)
//					{
//						HashMap<String, Object> mapDelTorkEfileKnri = new HashMap<String, Object>();
//						// 対応記録電子ファイル管理番号
//						mapDelTorkEfileKnri.put("tork_efile_knri_no"
//								, subbean.sendMessageString(CRW10901SFConst.L5_TORK_EFILE_KNRI_NO_06, X31CWebConst.DATABEAN_GET_VALUE));
//						listDelTorkEfileKnri.add(mapDelTorkEfileKnri);
//					}
//					
//					else
//					{
//						continue;
//					}
//				}
//			}
//		
//		parentMap.put("ADD_TORK_EFILE_KNRI_List", listAddTorkEfileKnri);
//		parentMap.put("DEL_TORK_EFILE_KNRI_List", listDelTorkEfileKnri);
//
//		outputMap.put("ADDDELBUNSHOCTLCC", parentMap);
//						
//		return outputMap;
//
//	}
//
//	/**
//	 * 上りマッピングをする
//	 * @param bean　[0]：問合せ情報登録　[1]：共有フォームＢｅａｎ
//	 * @param outputMap
//	 * @param func_code　機能コード
//	 * @return HashMap
//	 */
//	public HashMap setADDDELBUNSHOCTL2CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
//	{
//		
//		if(bean == null)
//		{
//			return null;
//		}
//		
//		if(bean.length != 2)
//		{
//			return null;
//		}
//
//		X31SDataBeanAccessArray arraybean = null;
//
//		HashMap<String, Object> parentMap = new HashMap<String, Object>();
//
//		ArrayList<HashMap<String, Object>> listAddTorkEfileKnri = null; 
//		ArrayList<HashMap<String, Object>> listDelTorkEfileKnri = null;
//
//		// 共通情報のマッピング
//		parentMap.put("func_code", func_code);
//
//		arraybean = bean[0].getDataBeanArray(CRW10901SFConst.BUNSHOLIST2);
//
//		if(parentMap.containsKey("ADD_TORK_EFILE_KNRI_List"))
//		{
//			listAddTorkEfileKnri = (ArrayList)parentMap.get("ADD_TORK_EFILE_KNRI_List");
//		}
//		else
//		{
//			listAddTorkEfileKnri = new ArrayList();
//		}
//
//		if(parentMap.containsKey("DEL_TORK_EFILE_KNRI_List"))
//		{
//			listDelTorkEfileKnri = (ArrayList)parentMap.get("DEL_TORK_EFILE_KNRI_List");
//		}
//		else
//		{
//			listDelTorkEfileKnri = new ArrayList();
//		}
//
//			if(arraybean != null && arraybean.getCount() > 0)
//			{
//	
//				for(int i = 0; i < arraybean.getCount(); i++)
//				{
//					X31SDataBeanAccess subbean = arraybean.getDataBean(i);
//	
//					// チェックありの場合
//					if (subbean.sendMessageBoolean(CRW10901SFConst.L12_FILE_DSP_FLG_13, X31CWebConst.DATABEAN_GET_VALUE)
//							&& subbean.sendMessageBoolean(CRW10901SFConst.L12_MAIL_TEMP_FILE_UM_13, X31CWebConst.DATABEAN_GET_VALUE))
//					{
//							HashMap<String, Object> mapAddTorkEfileKnri = new HashMap<String, Object>();
//	
//							// SEQ
//							mapAddTorkEfileKnri.put("seq", String.valueOf(i));
//							// 文書種別コード
//							mapAddTorkEfileKnri.put("bunsho_sbt_cd", "02");
//							// 対応記録番号
//							mapAddTorkEfileKnri.put("taio_kirok_no", bean[0].sendMessageString(CRW10901SFConst.TAIO_KIROK_NO, X31CWebConst.DATABEAN_GET_VALUE));
//							// 対応記録明細番号
//							mapAddTorkEfileKnri.put("taio_kirok_dtl_no", "");
//							// クエリ番号
//							mapAddTorkEfileKnri.put("query_no", "");
//							// 対応記録文書ファイル名
//							mapAddTorkEfileKnri.put("taiorrki_bunsho_file_nm"
//									, subbean.sendMessageString(CRW10901SFConst.L12_TAIORRKI_BUNSHO_FILE_NM_13, X31CWebConst.DATABEAN_GET_VALUE));
//							// 対応記録文書作成年月日
//							mapAddTorkEfileKnri.put("taiorrki_bunsho_saksei_dtm"
//									, subbean.sendMessageString(CRW10901SFConst.L12_GENE_ADD_DTM_13, X31CWebConst.DATABEAN_GET_VALUE));
//							// 業務個別設定組織コード
//							mapAddTorkEfileKnri.put("wkkbt_org_cd", eo.web.webview.common.JCRWebCommon.getWkkbtOrgCd(bean[1]));
//							// 業務個別設定立場
//							mapAddTorkEfileKnri.put("wkkbt_position_cd", eo.web.webview.common.JCRWebCommon.getWkkbtPositionCd(bean[1]));
//							listAddTorkEfileKnri.add(mapAddTorkEfileKnri);
//					}
//				}
//			}
//
//		parentMap.put("ADD_TORK_EFILE_KNRI_List", listAddTorkEfileKnri);
//		parentMap.put("DEL_TORK_EFILE_KNRI_List", listDelTorkEfileKnri);
//
//		outputMap.put("ADDDELBUNSHOCTL2CC", parentMap);
//						
//		return outputMap;
//
//	}

	public HashMap setADDTAIOKRKDTLSENDSMSCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String buttonKbn)
	{
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 2){
			return null;
		}

		String dtm = JCCWebCommon.getSysDateTime();
		String actionTypeCd = "";
		
		X31SDataBeanAccessArray fromTelnoCmbArray = bean[0].getDataBeanArray("ＦＲＯＭ電話番号（プルダウン）");
		X31SDataBeanAccess fromTelnoCmbTypeBean = fromTelnoCmbArray.getDataBean(0);
		String selFromTelno = fromTelnoCmbTypeBean .sendMessageString("選択ＦＲＯＭ電話番号（プルダウン）", X31CWebConst.DATABEAN_GET_VALUE);

		X31SDataBeanAccessArray toTelnoListArray = bean[0].getDataBeanArray("ＴＯ電話番号リスト");
		
		String toTelno = "";
		if(toTelnoListArray != null)
		{
			for(int j = 0; j < toTelnoListArray.getCount(); j++)
			{
				X31SDataBeanAccess toTelnoListTypeBean = toTelnoListArray.getDataBean(j);
				if(toTelnoListTypeBean.sendMessageBoolean("ＴＯ電話番号選択",X31CWebConst.DATABEAN_GET_VALUE))
				{
					toTelno = toTelnoListTypeBean.sendMessageString("ＴＯ電話番号",X31CWebConst.DATABEAN_GET_VALUE);
					break;
				}
			}
		}

		// 「登録」ボタン押下時はアクションタイプコード:"18"（SMS登録）
		if(CRW10901SFLogic.BUTTON_KBN_INSERT.equals(buttonKbn))
		{
			actionTypeCd = JCRStrConst.CD_DIV_ACTION_TYPE_CD_SND_SMS_SKSI;
		}
		// 以外はアクションタイプコード:"19"（SMS送信）
		else
		{
			actionTypeCd = JCRStrConst.CD_DIV_ACTION_TYPE_CD_SMS_SND;
		}
			
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 問合せＩＤ → ＳＭＳ送信(登録)サービス(対応記録明細登録(ＳＭＳ送信))マップ.問合せＩＤ
		parentMap.put("taio_kirok_no", bean[0].sendMessageString("問合せＩＤ", X31CWebConst.DATABEAN_GET_VALUE));

		// アクションタイプコード → ＳＭＳ送信(登録)サービス(対応記録明細登録(ＳＭＳ送信))マップ.アクションタイプコード
		parentMap.put("action_type_cd", actionTypeCd);
		
		// システム日付 → ＳＭＳ送信(登録)サービス(対応記録明細登録(ＳＭＳ送信))マップ.アクション開始年月日時分秒
		parentMap.put("action_sta_dtm", dtm);
		
		// システム日付 → ＳＭＳ送信(登録)サービス(対応記録明細登録(ＳＭＳ送信))マップ.アクション完了年月日時分秒
		parentMap.put("action_fin_dtm", dtm);

		// 共有フォームBean.ユーザーＩＤ → ＳＭＳ送信(登録)サービス(対応記録明細登録(ＳＭＳ送信))マップ.対応ユーザーＩＤ
		parentMap.put("taio_user_id", bean[1].sendMessageString("ユーザーＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
			
		// 返信画面ボタン押下判定フラグ → ＳＭＳ送信(登録)サービス(対応記録明細登録(ＳＭＳ送信))マップ.編集状態フラグ
		parentMap.put("henshu_stat_flg", JCRStrConst.HENSHU_STAT_FLG_KANRYO);
		
		// メール件名（更新用） → ＳＭＳ送信(登録)サービス(対応記録明細登録(ＳＭＳ送信))マップ.メールタイトル
		parentMap.put("mail_title", bean[0].sendMessageString("メール件名（更新用）", X31CWebConst.DATABEAN_GET_VALUE));
		
		// 署名テンプレート
		X31SDataBeanAccessArray signTemplaTypeArray = bean[0].getDataBeanArray(CRW10901SFConst.SIGN_TEMPLA_TYPE);
		X31SDataBeanAccess signTemplaTypeBean = signTemplaTypeArray.getDataBean(0);
		
		// 署名テンプレート本文  → ＳＭＳ送信(登録)サービス(対応記録明細登録(ＳＭＳ送信))マップ.メール本文
		parentMap.put("mail_text", signTemplaTypeBean.sendMessageString("署名テンプレート本文", X31CWebConst.DATABEAN_GET_VALUE));
		
		// ユーザーＩＤ → 対応記録明細登録（返信メール送信）マップ.ログインユーザーID
		parentMap.put("login_user_id", bean[1].sendMessageString("ユーザーＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// ユーザー名 → 対応記録明細登録（返信メール送信）マップ.ログインユーザー名
		parentMap.put("login_user_nm", bean[1].sendMessageString("ユーザー名", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → 対応記録明細登録（返信メール送信）マップ.業務個別設定組織コード
		parentMap.put("wkkbt_org_cd", eo.web.webview.common.JCRWebCommon.getWkkbtOrgCd(bean[1]));
		// 部品呼び出し → 対応記録明細登録（返信メール送信）マップ.業務個別設定組織名
		parentMap.put("wkkbt_org_nm", eo.web.webview.common.JCRWebCommon.getWkkbtOrgNm(bean[1]));
		
		// システム日付 → ＳＭＳ送信(登録)サービス(対応記録明細登録(ＳＭＳ送信))マップ.アクション完了年月日時分秒
		parentMap.put("sends_telno", toTelno);
		
		// システム日付 → ＳＭＳ送信(登録)サービス(対応記録明細登録(ＳＭＳ送信))マップ.アクション完了年月日時分秒
		parentMap.put("sendm_telno", selFromTelno);

		outputMap.put("ADDTAIOKRKDTLSENDSMSCC", parentMap);
						
		return outputMap;

	}

	public HashMap setSENDSMSCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String buttonKbn)
	{
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 2){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		X31SDataBeanAccessArray fromTelnoCmbArray = bean[0].getDataBeanArray("ＦＲＯＭ電話番号（プルダウン）");
		X31SDataBeanAccess fromTelnoCmbTypeBean = fromTelnoCmbArray.getDataBean(0);
		String selFromTelno = fromTelnoCmbTypeBean .sendMessageString("選択ＦＲＯＭ電話番号（プルダウン）", X31CWebConst.DATABEAN_GET_VALUE);

		X31SDataBeanAccessArray toTelnoListArray = bean[0].getDataBeanArray("ＴＯ電話番号リスト");
		
		String toTelno = "";
		if(toTelnoListArray != null)
		{
			for(int j = 0; j < toTelnoListArray.getCount(); j++)
			{
				X31SDataBeanAccess toTelnoListTypeBean = toTelnoListArray.getDataBean(j);
				if(toTelnoListTypeBean.sendMessageBoolean("ＴＯ電話番号選択",X31CWebConst.DATABEAN_GET_VALUE))
				{
					toTelno = toTelnoListTypeBean.sendMessageString("ＴＯ電話番号",X31CWebConst.DATABEAN_GET_VALUE);
					break;
				}
			}
		}
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		// 登録ボタン押下時は、機能コード：2に置き換える
		if(CRW10901SFLogic.BUTTON_KBN_INSERT.equals(buttonKbn))
		{
			parentMap.put("func_code", JPCModelConstant.FUNC_CD_2);
		}

		// ＴＯ電話番号 → ＳＭＳ送信(登録)サービス(SMS送信)マップ.　電話番号
		parentMap.put("address", toTelno);
		
		// 選択ＦＲＯＭ電話番号（プルダウン） → ＳＭＳ送信(登録)サービス(SMS送信)マップ.送信者情報
		parentMap.put("senderName", selFromTelno);
		
		// 署名テンプレート
		X31SDataBeanAccessArray signTemplaTypeArray = bean[0].getDataBeanArray(CRW10901SFConst.SIGN_TEMPLA_TYPE);
		X31SDataBeanAccess signTemplaTypeBean = signTemplaTypeArray.getDataBean(0);
		
		// 署名テンプレート本文 → ＳＭＳ送信(登録)サービス(SMS送信)マップ. メッセージ
		parentMap.put("message", signTemplaTypeBean.sendMessageString("署名テンプレート本文", X31CWebConst.DATABEAN_GET_VALUE));
		
// ANK-4092-08-00対応 20210821 星野 ADD START
		// 送信元キー情報種別コード(2:対応履歴番号)
		parentMap.put("sendm_key_inf_sbt_cd", "2");
		// 送信元キー情報(対応記録番号)
		parentMap.put("sendm_key_inf", bean[0].sendMessageString(CRW10901SFConst.TAIO_KIROK_NO, X31CWebConst.DATABEAN_GET_VALUE));
// ANK-4092-08-00対応 20210821 星野 ADD END
		outputMap.put("SENDSMSCC", parentMap);
						
		return outputMap;

	}

	// ▲▲▲ ADD END

}