/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：CKSV0009_CKSV0009OPDBMapper
*	ソースファイル名：CKSV0009_CKSV0009OPDBMapper.java
*	作成者			：Fujitsu
*	日付			：2011年08月24日
*＜機能概要＞
*	BP（CKSV0009OP）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v4.00.00	2012/07/03	FJ)庭山		【ANK-0398-00-00】対応
*	v4.00.01	2012/07/04	FJ)庭山		【ANK-0382-00-00】対応
*	v4.00.02	2012/07/10	FJ)庭山		【ANK-0384-00-00】対応
*	v4.00.03	2012/07/24	FJ)庭山		【ANK-0035-00-00】対応
*	v4.00.04	2012/10/05	FJ)庭山		【ANK-1223-00-00】対応
*	v4.00.05	2012/12/04	FJ)庭山		【IT1-2012-0002151】対応
*	v4.00.06	2012/12/18	FJ)庭山		【IT1-2012-0002483】対応
*	v4.00.07	2012/12/21	FJ)庭山		【IT1-2012-0002534】対応
*	v4.00.08	2012/12/23	FJ)庭山		【IT1-2012-0002546】対応
*	v4.00.09	2013/02/19	FJ)稲岡		【ST1-2013-0000356】対応
*	v5.00.00	2013/02/18	FJ)宇野		【ANK-1361-00-00】対応
*   v5.00.01	2013/02/20	FJ）辛	    【ANK-1393-00-00】メール文言変更対応
*	v4.00.10	2013/02/26	FJ)稲岡		【OT-2013-0000356】対応
*	v4.00.11	2013/03/19	FJ)宇野		【IT1-2013-0000496】対応
*	v4.00.12	2013/03/23	FJ)宇野		【IT1-2013-0000617,IT1-2013-0000615】対応
*	v5.00.02	2013/03/25	FJ)宇野		【ANK-1480-00-00】 Symphonyの顧客管理からの情報移行対応
*	v5.00.03	2013/04/16	FJ)宇野		【SGY-2013-0000042】送信元メールアドレスを業パラからの取得対応
*	v5.00.04	2013/04/24	FJ)強矢		【IT1-2013-0001021】対応
*	v4.00.13	2013/04/26	FJ)稲岡		【IKK-2013-0000964】対応
*	v5.00.04	2013/05/31	FJ)稲岡		【IT1-2013-0001246】対応
*	v5.00.05	2013/06/23	FJ)馬場		【LT-2013-0000112】対応
*	v5.00.06	2013/07/17	FJ)馬場		【IT1-2013-0001403】対応
*	v5.00.07	2013/07/24	FJ）庭山	【IT1-2013-0001436】対応
*	v5.00.08	2013/09/24	FJ)稲岡		【OM-2013-0002377】対応
*	v5.00.09	2013/09/25	FJ)稲岡		【OM-2013-0002570】対応
*	v5.00.09	2013/10/09	FJ)稲岡		【OM-2013-0003170】対応
*	v5.00.10	2013/10/14	FJ)稲岡		【OM-2013-0003150】対応
*	v5.00.11	2013/10/22	FJ)稲岡		【IT1-2013-0001644】対応
*	v5.00.12	2013/11/11	FJ)稲岡		【OM-2013-0003768】対応
*	v5.00.13	2013/11/12	FJ)稲岡		【OM-2013-0004232】対応
*	v6.00.00	2013/12/12	FJ)稲岡		【OM-2013-0004982】対応
*	v6.00.01	2013/12/30	FJ)稲岡		【OM-2013-0005345】対応
*	v7.00.00	2014/01/27	FJ)稲岡		【OM-2014-0000216】対応
*	v8.00.00	2014/03/05	FJ）石橋	【ANK-1962-00-00】対応
*	v8.00.01	2014/04/03	FJ)稲岡		【OM-2014-0001284】対応
*	v9.00.00	2014/07/02	FJ) 舩橋	【ANK-2189-00-00】対応
*	v9.00.01	2014/08/09	FJ)宇野		【OM-2014-0002399】対応
*	v10.00.00	2014/09/10	FJ）横田	【OM-2014-0002538】対応
*	v10.00.01	2014/10/01	FJ）福岡	【OM-2014-0003174】対応
*	v11.00.00	2014/12/12	FJ）舩橋	【OM-2014-0003613】対応
*	v13.00.00	2015/03/12	FJ)野々下	【ANK-2394-00-00】改善案件対応
*   v18.00.00   2015/08/11  FJ) 寺園    【ANK-2631-00-00】ワンストップ案件（ＳＴＥＰ１）※koptWebBからkoptWebAへコピー
*   v18.00.01   2015/08/27  FJ) 寺園    【ANK-2631-00-00】ワンストップ案件（ＳＴＥＰ１）再　import文変更（common⇒commonOneStop）
*	v19.00.00	2015/09/07	FJ)金	    【OM-2015-0000322】契約譲渡手数料の進捗追加【OM-2015-0001999】適用開始日の更新判定追加
*	v19.00.01	2015/09/10	FJ)金	    【OM-2015-0001768】未来予約取消【OM-2015-0001999】適用開始日の更新判定追加
*	v20.00.00	2015/10/06	FJ) 李		【ANK-2553-00-00】料金未収対応
*	v23.00.01   2016/01/15  FJ）李	    【ANK-2737-00-00】消費者保護ルールの見直し対応
*	v33.00.00   2017/11/06  FJ）宮下	【OM-2017-0001047】オプトインメール受信設定
*   v35.00.00   2017/10/17  FJ)澤田	    【ANK-3243-00-00】社内利用回線の会計処理業務変更に伴う改修
*	v37.00.00	2018/05/01	FJ) 永井	【ANK-3375-00-00】【CMP】クレカ有効期限切れに対する対応施策
*	v37.00.00	2018/05/16	FJ) 永井	【ANK-3375-00-00】【CMP】クレカ有効期限切れに対する対応施策※koptWebBとの資産同期
*   v39.00.00	2018/09/02	FJ)澤田		【ANK-3458-00-00】契約者氏名変更時の副次処理を追加（緊急通報氏名の更新）
*	v47.00.00	2019/11/06	FJ)西窪		【ANK-3706-00-00】ｅｏＩＤログインのセキュリティ強化対応
*	v48.00.00	2020/02/12	FJ)三原		【ANK-3814-00-00】eoIDログインセキュリティ強化フォロー対応
*	v49.00.00	2020/04/28	FJ)岡井		【OM-2020-0000198】お客様情報画面でのコンテンツお客様情報の住所欄更新不備
*	v50.00.00	2020/08/05	FJ)吉田		【OM-2020-0000919】契約者名/カナを変更していないのにフェムトセル異動通知が登録される
*	v55.00.00	2021/10/26	FJ) 藤本涼	【ANK-4112-00-00】通秘データ(通信量等)の活用に向けた取り組みに対するシステム対応
* 	v57.00.00   2022/01/27  FJ) 藤本涼  【ANK-4075-00-00】マンション卸回線(WI-FIスキーム)の不備対応 
*	v60.00.00	2022/08/04	FJ)北村		【ANK-4236-00-00】【eo】生体認証パスワードレス認証導入対応 
* 	v60.01.00   2022/08/29  FJ) 星野	【IT1-2022-0000064】お客様情報変更でスキーム事業者を変更したら 工事案件が更新されるべきところ、 更新されなかった。
*	v65.00.00	2023/12/26	FJ)吉田		【ANK-4346-00-00】【eo定期】CCMG再構築対応
**********************************************************************/
package eo.web.webview.mapping;

import java.io.UnsupportedEncodingException;
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.JACStrConst;
import eo.common.constant.JCKStrConst;
import eo.common.constant.JKKStrConst;
import eo.common.util.JPCEditString;
import eo.common.util.JPCUtilCommon;
import eo.common.util.JZMCommonUtil;
import eo.web.webview.CKA90701SF.CKW00401SFConst;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.commonOneStop.JCKCommonConst;
import eo.web.webview.commonOneStop.JKKCommonConst;

/**
 * DataBean-BPマッピングをする。
 * 
 * <BR>
 * @author 富士通
 */
public class CKSV0009_CKSV0009OPDBMapper
{
	/** 申込種別コード（お客様情報変更申込） */
	private static final String MSKM_SBT_CD_00010 = "00010";
	
	/** 処理フラグ "0":処理なし*/
	private static final String DIV_FLG_N = "0";
	
	/** 処理フラグ "1":登録*/
	private static final String DIV_FLG_ADD = "1";
	
	/** 処理フラグ "2":更新*/
	private static final String DIV_FLG_UPD = "2";
	
	// OM-2014-0003613 ADD START
	/** 法人格種別 "1":指定なし*/
	private static final String HOJIN_ZENGO_STI_NASI = "指定なし";
	// OM-2014-0003613 ADD END

	// ANK-4236-00-00 ADD START
	/** ログイン認証レベル "4":レベル１(SMS)*/
	private static final String LOGIN_NINSHO_LV_LV1_SMS = "4";

	/** パスワード有効フラグ "1":有効*/
	private static final String ENABLE_PASSWORD_FLG_YK = "1";
	// ANK-4236-00-00 ADD END
	/**
	 * コンストラクタ
	 */
	public CKSV0009_CKSV0009OPDBMapper()
	{
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param opeDtm
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000901CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDtm)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		HashMap hojinMap = new HashMap();
		ArrayList list = new ArrayList();
		boolean kojinFlg = false;
		boolean hojinFlg = false;

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		X31SDataBeanAccess subbean = bean[0].getDataBeanArray(CKW00401SFConst.CUST_KEI_HKTGI_LIST).getDataBean(0);
		String mmbSbt = getCodeValueForComboBox(bean[0], "会員種別");
		String type = getCodeValueForComboBox(bean[0], "契約者タイプ");
		boolean mmbSbtFlg = isComboCgbfToCgaf(bean[0], CKW00401SFConst.BEFORE_MEMBER_SBT, CKW00401SFConst.MEMBER_SBT);
		boolean typeFlg = isComboCgbfToCgaf(bean[0], CKW00401SFConst.BEFORE_KEISHA_TYPE, CKW00401SFConst.KEISHA_TYPE);
		
		// 申込種別コード
		parentMap.put("mskm_sbt_cd", MSKM_SBT_CD_00010);
		// 申込受付年月日時分秒
		parentMap.put("mskm_uk_dtm", opeDtm);
		// 申込年月日
		parentMap.put("mskm_ymd", bean[0].sendMessageString(CKW00401SFConst.STDARDYMD, X31CWebConst.DATABEAN_GET_VALUE));
		// コンシューマ営業用申込状態識別コード
		parentMap.put("consmbsn_mskm_stat_skbt_cd", JKKCommonConst.MSKM_STAT_SKBT_CD_SHONIN);
		// 異動区分
		parentMap.put("ido_div", subbean.sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		
		// マスター会員の場合
		if (isMmbSbtMasterCheck(mmbSbt))
		{
			// 会員種別、契約者タイプに変更有りの場合
			if (mmbSbtFlg || typeFlg)
			{
				mmbSbtFlg = false;
				typeFlg = true;
			}
		}
		// ファミリー会員に変更した場合
		else if (isMmbSbtFamilyCheck(mmbSbt) && mmbSbtFlg)
		{
			// 契約者タイプ変更有りの場合
			if (typeFlg)
			{
				mmbSbtFlg = false;
			}
		}
		
		// SYSID
		parentMap.put("sysid", subbean.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
		// 会員種別コード
		parentMap.put("member_sbt_cd", mmbSbt);
		// 会員種別変更フラグ
		parentMap.put("member_sbt_chg_flg", mmbSbtFlg);
		
		// 法人スキーマの場合
		if (isHojinCheck(mmbSbt, type, bean[0]))
		{
			// お客様名
			parentMap.put("cust_nm", bean[0].sendMessageString("契約者名", X31CWebConst.DATABEAN_GET_VALUE));
			// お客様カナ名
			parentMap.put("cust_kana", bean[0].sendMessageString("契約者名（カナ）", X31CWebConst.DATABEAN_GET_VALUE));
			// 法人格前後指定コード・法人格種別コード
			setUpdValueHojinSbt(bean[0], parentMap);
			// 会社名
			parentMap.put("comp_nm", getCompNm(bean));
			// 会社カナ名
			parentMap.put("comp_kana", bean[0].sendMessageString("契約者名（カナ）", X31CWebConst.DATABEAN_GET_VALUE));
			// 代表者役職名
			parentMap.put("dihysha_post_nm", bean[0].sendMessageString("代表者役職", X31CWebConst.DATABEAN_GET_VALUE));
/* ++++++++++ v5.00.00 追加開始 ++++++++++ */
			// 代表者名
			parentMap.put("dihysha_nm", bean[0].sendMessageString("代表者名", X31CWebConst.DATABEAN_GET_VALUE));
			// 代表者名（カナ）
			parentMap.put("dihysha_kana", bean[0].sendMessageString("代表者名（カナ）", X31CWebConst.DATABEAN_GET_VALUE));
/* ++++++++++ v5.00.00 追加終了 ++++++++++ */
			// 業種コード
			parentMap.put("gshu_cd", getCodeValueForComboBox(bean[0], "職業＿業種"));
			
			// 連絡先コード
			hojinMap.put("rrks_cd", "01");
			// 法人連絡先住所コード、法人連絡先郵便番号、法人連絡先都道府県名、法人連絡先市区町村名、法人連絡先大字通称名
			// 法人連絡先字丁目名、法人連絡先番地号、法人連絡先住所補記・建物名、法人連絡先住所補記・部屋番号
			hojinMap = setAdInf(bean[0], hojinMap, "2");
			// 法人連絡先担当者名
			hojinMap.put("hjrrks_tntsha_nm", bean[0].sendMessageString("担当者名", X31CWebConst.DATABEAN_GET_VALUE));
			// 法人連絡先担当者カナ名
			hojinMap.put("hjrrks_tntsha_kana", bean[0].sendMessageString("担当者名（カナ）", X31CWebConst.DATABEAN_GET_VALUE));
			// 法人連絡先担当者所属部署名
			hojinMap.put("hjrrks_tntsha_shozkbsho_nm", bean[0].sendMessageString("担当者所属部署", X31CWebConst.DATABEAN_GET_VALUE));
			list.add(hojinMap);
			parentMap.put("ECK0011C130CBSMsg1List", list);
			
			hojinFlg = isUpdValueCheck(bean[0], "2");
			
			
			// OM-2014-0002399 ADD START
			// "01"(契約者)→法人連絡先コード
			parentMap.put("hjrrks_cd", "01");
			// 勤務先名 → 法人連絡先変更マップ.法人連絡先名
			parentMap.put("hjrrks_nm", bean[0].sendMessageString("勤務先名", X31CWebConst.DATABEAN_GET_VALUE));
			// 住所コード → 法人連絡先変更マップ.法人連絡先住所コード
			// 郵便番号 → 法人連絡先変更マップ.法人連絡先郵便番号
			// 都道府県 → 法人連絡先変更マップ.法人連絡先都道府県名
			// 市区町村 → 法人連絡先変更マップ.法人連絡先市区町村名
			// 大字通称 → 法人連絡先変更マップ.法人連絡先大字通称名
			// 字丁目 → 法人連絡先変更マップ.法人連絡先字丁目名
			// 番地・号 → 法人連絡先変更マップ.法人連絡先番地号
			// 建物名 → 法人連絡先変更マップ.法人連絡先住所補記・建物名
			// 部屋番号 → 法人連絡先変更マップ.法人連絡先住所補記・部屋番号
			parentMap = setAdInf(bean[0], parentMap, "2");
			// 担当者名 → 法人連絡先変更マップ.法人連絡先担当者名
			parentMap.put("hjrrks_tntsha_nm", bean[0].sendMessageString("担当者名", X31CWebConst.DATABEAN_GET_VALUE));
			// 担当者名（カナ） → 法人連絡先変更マップ.法人連絡先担当者カナ名
			parentMap.put("hjrrks_tntsha_kana", bean[0].sendMessageString("担当者名（カナ）", X31CWebConst.DATABEAN_GET_VALUE));
			// 担当者所属部署 → 法人連絡先変更マップ.法人連絡先担当者所属部署名
			parentMap.put("hjrrks_tntsha_shozkbsho_nm", bean[0].sendMessageString("担当者所属部署", X31CWebConst.DATABEAN_GET_VALUE));
			// 変更有無フラグ
			parentMap.put("chg_um_flg", isUpdValueCheck(bean[0], "3"));
			
			// "01"(契約者)→連絡先コード
			parentMap.put("rrks_cd", JCKStrConst.CD00268_KEISHA);
			// OM-2014-0002399 ADD END
		}
		else
		{
			// お客様名
			parentMap.put("cust_nm", bean[0].sendMessageString("契約者名", X31CWebConst.DATABEAN_GET_VALUE));
			// お客様カナ名
			parentMap.put("cust_kana", bean[0].sendMessageString("契約者名（カナ）", X31CWebConst.DATABEAN_GET_VALUE));
			// 職業コード
			parentMap.put("shokugyo_cd", getCodeValueForComboBox(bean[0], "職業＿業種"));
			// 職業その他
			parentMap.put("shokugyo_other", bean[0].sendMessageString("職業その他", X31CWebConst.DATABEAN_GET_VALUE));
			// 勤務先名
			parentMap.put("offc_nm", bean[0].sendMessageString("勤務先名", X31CWebConst.DATABEAN_GET_VALUE));
			// 学校名
			parentMap.put("school_nm", bean[0].sendMessageString("学校名", X31CWebConst.DATABEAN_GET_VALUE));
			// 勤務先業種コード
			parentMap.put("offc_gshu_cd", bean[0].sendMessageString("勤務先業種コード", X31CWebConst.DATABEAN_GET_VALUE));
			// 勤務先部署名
			parentMap.put("offc_busho_nm", bean[0].sendMessageString("勤務先部署名", X31CWebConst.DATABEAN_GET_VALUE));
			// 勤務先住所コード
			parentMap.put("offc_ad_cd", bean[0].sendMessageString("勤務先住所コード", X31CWebConst.DATABEAN_GET_VALUE));
			// 勤務先郵便番号
			parentMap.put("offc_pcd", bean[0].sendMessageString("勤務先郵便番号", X31CWebConst.DATABEAN_GET_VALUE));
			// 勤務先都道府県名
			parentMap.put("offc_state_nm", bean[0].sendMessageString("勤務先都道府県名", X31CWebConst.DATABEAN_GET_VALUE));
			// 勤務先市区町村名
			parentMap.put("offc_city_nm", bean[0].sendMessageString("勤務先市区町村名", X31CWebConst.DATABEAN_GET_VALUE));
			// 勤務先大字通称名
			parentMap.put("offc_oaztsu_nm", bean[0].sendMessageString("勤務先大字通称名", X31CWebConst.DATABEAN_GET_VALUE));
			// 勤務先字丁目名
			parentMap.put("offc_azcho_nm", bean[0].sendMessageString("勤務先字丁目名", X31CWebConst.DATABEAN_GET_VALUE));
			// 勤務先番地号
			parentMap.put("offc_bnchigo", bean[0].sendMessageString("勤務先番地号", X31CWebConst.DATABEAN_GET_VALUE));
			// 勤務先住所補記・建物名
			parentMap.put("offc_adrttm", bean[0].sendMessageString("勤務先住所補記・建物名", X31CWebConst.DATABEAN_GET_VALUE));
			// 勤務先住所補記・部屋番号
			parentMap.put("offc_adrrm", bean[0].sendMessageString("勤務先住所補記・部屋番号", X31CWebConst.DATABEAN_GET_VALUE));
			// 勤務先電話番号
			parentMap.put("offc_telno", bean[0].sendMessageString("勤務先電話番号", X31CWebConst.DATABEAN_GET_VALUE));
			// 内線番号
			parentMap.put("offc_nisnno", bean[0].sendMessageString("内線番号", X31CWebConst.DATABEAN_GET_VALUE));
			// 勤務先従業員数(規模)
			parentMap.put("offc_worker_cnt_scale", bean[0].sendMessageString("勤務先従業員数（規模）", X31CWebConst.DATABEAN_GET_VALUE));
			// お客様年収
			parentMap.put("cust_salary", bean[0].sendMessageString("お客様年収", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者名
			parentMap.put("sksha_nm", bean[0].sendMessageString("親権者名", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者カナ名
			parentMap.put("sksha_kana", bean[0].sendMessageString("親権者名（カナ）", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者生年月日
			parentMap.put("sksha_birthd", bean[0].sendMessageString("親権者生年月日", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者続柄コード
			parentMap.put("sksha_zokugara_cd", getCodeValueForComboBox(bean[0], "続柄"));
			// 続柄その他
			parentMap.put("zokugara_other", bean[0].sendMessageString("続柄（その他欄）", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者住所コード
			parentMap.put("sksha_ad_cd", bean[0].sendMessageString("親権者住所コード", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者郵便番号
			parentMap.put("sksha_pcd", bean[0].sendMessageString("親権者郵便番号", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者都道府県
			parentMap.put("sksha_state_nm", bean[0].sendMessageString("親権者都道府県", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者市区町村
			parentMap.put("sksha_city_nm", bean[0].sendMessageString("親権者市区町村", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者大字通称名
			parentMap.put("sksha_oaztsu_nm", bean[0].sendMessageString("親権者大字通称", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者字丁目名
			parentMap.put("sksha_azcho_nm", bean[0].sendMessageString("親権者字丁目", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者番地・号
			parentMap.put("sksha_ad_bnchigo", bean[0].sendMessageString("親権者番地・号", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者住所補記・建物名
			parentMap.put("sksha_adrttm", bean[0].sendMessageString("親権者建物名", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者住所補記・部屋番号
			parentMap.put("sksha_adrrm", bean[0].sendMessageString("親権者部屋番号", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者電話番号
			parentMap.put("sksha_telno", bean[0].sendMessageString("親権者電話番号", X31CWebConst.DATABEAN_GET_VALUE));
/* ++++++++++ v4.00.00 追加開始 ++++++++++ */
			// 親権者住所手動入力フラグ
			parentMap.put("sksha_ad_man_input_flg", getManInputFlg(bean[0], CKW00401SFConst.SKSHA_AD_CD, CKW00401SFConst.SKSHA_REGAI_INPUT_BTN));
/* ++++++++++ v4.00.00 追加終了 ++++++++++ */
			
			kojinFlg = isUpdValueCheck(bean[0], "1");
		}
		// お客様性別コード
		parentMap.put("cust_sex_cd", bean[0].sendMessageString("性別", X31CWebConst.DATABEAN_GET_VALUE));
		// 生年月日
		parentMap.put("cust_birthd", bean[0].sendMessageString("生年月日", X31CWebConst.DATABEAN_GET_VALUE));
		// 氏名敬称
		parentMap.put("nm_kisho", bean[0].sendMessageString("氏名敬称", X31CWebConst.DATABEAN_GET_VALUE));
		// お客様確認備考
		parentMap.put("cust_cfm_biko", bean[0].sendMessageString("記事欄", X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者住所コード、契約者郵便番号、契約者都道府県名、契約者市区町村名、契約者大字通称名
		// 契約者字丁目名、契約者番地号、契約者住所補記・建物名、契約者住所補記・部屋番号、契約者住所手動入力フラグ
		parentMap = setAdInf(bean[0], parentMap, "1");
		// 契約者電話番号
		parentMap.put("keisha_telno", bean[0].sendMessageString("電話番号", X31CWebConst.DATABEAN_GET_VALUE));
/* ++++++++++ v4.01.00 追加開始 ++++++++++ */
		// お客様指定送付先住所コード
		parentMap.put("cssti_shs_ad_cd", bean[0].sendMessageString("送付先住所コード", X31CWebConst.DATABEAN_GET_VALUE));
		// お客様指定送付先郵便番号
		parentMap.put("cssti_shs_pcd", bean[0].sendMessageString("送付先郵便番号", X31CWebConst.DATABEAN_GET_VALUE));
		// お客様指定送付先都道府県名
		parentMap.put("cssti_shs_state_nm", bean[0].sendMessageString("送付先都道府県", X31CWebConst.DATABEAN_GET_VALUE));
		// お客様指定送付先市区町村名
		parentMap.put("cssti_shs_city_nm", bean[0].sendMessageString("送付先市区町村", X31CWebConst.DATABEAN_GET_VALUE));
		// お客様指定送付先大字通称名
		parentMap.put("cssti_shs_oaztsu_nm", bean[0].sendMessageString("送付先大字通称", X31CWebConst.DATABEAN_GET_VALUE));
		// お客様指定送付先字丁目名
		parentMap.put("cssti_shs_azcho_nm", bean[0].sendMessageString("送付先字丁目", X31CWebConst.DATABEAN_GET_VALUE));
		// お客様指定送付先番地号
		parentMap.put("cssti_shs_bnchigo", bean[0].sendMessageString("送付先番地・号", X31CWebConst.DATABEAN_GET_VALUE));
		// お客様指定送付先住所補記・建物名
		parentMap.put("cssti_shs_adrttm", bean[0].sendMessageString("送付先建物名", X31CWebConst.DATABEAN_GET_VALUE));
		// お客様指定送付先住所補記・部屋番号
		parentMap.put("cssti_shs_adrrm", bean[0].sendMessageString("送付先部屋番号", X31CWebConst.DATABEAN_GET_VALUE));
		// お客様指定送付先住所手動入力フラグ
		parentMap.put("cssti_shs_ad_man_input_flg", getManInputFlg(bean[0], CKW00401SFConst.SEND_AD_CD, CKW00401SFConst.SEND_REGAI_INPUT_BTN));
/* ++++++++++ v4.01.00 追加終了 ++++++++++ */
		// お客様ランクコード
		parentMap.put("cust_rank_cd", bean[0].sendMessageString("お客様ランクコード", X31CWebConst.DATABEAN_GET_VALUE));
		// 連絡手段コード
		parentMap.put("rrk_way_cd", getCodeValueForComboBox(bean[0], CKW00401SFConst.RRK_JOKEN));
		// 連絡手段補記
		parentMap.put("rrk_way_hoki", bean[0].sendMessageString("連絡情報", X31CWebConst.DATABEAN_GET_VALUE));
		
		// コンテンツお客様名
		parentMap.put("cont_cust_nm", bean[0].sendMessageString("コンテンツお客様名", X31CWebConst.DATABEAN_GET_VALUE));
		// コンテンツお客様カナ名
		parentMap.put("cont_cust_kana", bean[0].sendMessageString("コンテンツお客様カナ名", X31CWebConst.DATABEAN_GET_VALUE));
		// コンテンツお客様性別コード
		parentMap.put("cont_cust_sex_cd", bean[0].sendMessageString("コンテンツお客様性別コード", X31CWebConst.DATABEAN_GET_VALUE));
		// コンテンツお客様生年月日
		parentMap.put("cont_cust_birthd", bean[0].sendMessageString("コンテンツお客様生年月日", X31CWebConst.DATABEAN_GET_VALUE));
		// コンテンツ住所コード
		parentMap.put("cont_ad_cd", bean[0].sendMessageString("コンテンツ住所コード", X31CWebConst.DATABEAN_GET_VALUE));
		// コンテンツ郵便番号
		parentMap.put("cont_pcd", bean[0].sendMessageString("コンテンツ郵便番号", X31CWebConst.DATABEAN_GET_VALUE));
		// コンテンツ都道府県名
		parentMap.put("cont_state_nm", bean[0].sendMessageString("コンテンツ都道府県名", X31CWebConst.DATABEAN_GET_VALUE));
		// コンテンツ市区町村名
		parentMap.put("cont_city_nm", bean[0].sendMessageString("コンテンツ市区町村名", X31CWebConst.DATABEAN_GET_VALUE));
		// コンテンツ大字通称名
		parentMap.put("cont_oaztsu_nm", bean[0].sendMessageString("コンテンツ大字通称名", X31CWebConst.DATABEAN_GET_VALUE));
		// コンテンツ字丁目名
		parentMap.put("cont_azcho_nm", bean[0].sendMessageString("コンテンツ字丁目名", X31CWebConst.DATABEAN_GET_VALUE));
		
		StringBuilder contAd = new StringBuilder();
		int contPst = 0;
		contAd.append(bean[0].sendMessageString(CKW00401SFConst.CONT_AD_1, X31CWebConst.DATABEAN_GET_VALUE));
		if (contAd.length() > 0)
		{
			contPst = contAd.length() + 1;
		}
		contAd.append(bean[0].sendMessageString(CKW00401SFConst.CONT_AD_2, X31CWebConst.DATABEAN_GET_VALUE));
		// コンテンツ住所１ + コンテンツ住所２ → コンテンツ番地号
		parentMap.put("cont_bnchigo", contAd.toString());
		// コンテンツ住所３ → コンテンツ住所補記・建物名
		parentMap.put("cont_adrttm", bean[0].sendMessageString(CKW00401SFConst.CONT_AD_3, X31CWebConst.DATABEAN_GET_VALUE));
		// コンテンツ住所補記・部屋番号
		// OM-2020-0000198 MOD START
		//parentMap.put("cont_adrrm", bean[0].sendMessageString("コンテンツ住所補記・部屋番号", X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("cont_adrrm", "");
		// OM-2020-0000198 MOD END
		// コンテンツ住所分割開始位置 → お客様＜個人＞内容変更マップ.コンテンツ住所分割開始位置
		parentMap.put("cont_ad_bnkt_sta_pst", String.valueOf(contPst));
		
		// 予約適用年月日
		parentMap.put("rsv_aply_ymd", bean[0].sendMessageString(CKW00401SFConst.TSTAYMD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 内販外販コード
		parentMap.put("naihan_gaihan_cd", getCodeValueForComboBox(bean[0], CKW00401SFConst.NAIHAN_GAIHAN_INF));
		
		String compCd = bean[0].sendMessageString("企業識別コード", X31CWebConst.DATABEAN_GET_VALUE);
		if (compCd != null && compCd.length() > 0)
		{
			compCd = "001" + compCd;
		}
		// 内販企業識別コード
		parentMap.put("naihan_comp_skbt_cd", compCd);
		// 要補助コード
		parentMap.put("necessary_hojo_cd", bean[0].sendMessageString("要補助コード", X31CWebConst.DATABEAN_GET_VALUE));
		// ｅｏｎｅｔＩＤ未移行フラグ
		parentMap.put("eonetid_mi_iko_flg", bean[0].sendMessageString("ｅｏｎｅｔＩＤ未移行フラグ", X31CWebConst.DATABEAN_GET_VALUE));
		// ログイン認証可否
		parentMap.put("login_ninsho_kh", bean[0].sendMessageString("ログイン認証", X31CWebConst.DATABEAN_GET_VALUE));
		// お客様特記事項コード
		parentMap.put("cust_tkjk_cd", bean[0].sendMessageString("お客様特記事項コード", X31CWebConst.DATABEAN_GET_VALUE));
		
		// ログイン認証停止年月日
		if(isSetNullLoginNsStpYmd(bean[0]))
		{
			parentMap.put("login_ninsho_stp_ymd", null);
		}
		else
		{
			// 変更前情報と差異有
			if(isCgbfToCgaf(bean[0], CKW00401SFConst.BEFORE_LOGIN_NINSHO, CKW00401SFConst.LOGIN_NINSHO))
			{
				parentMap.put("login_ninsho_stp_ymd", bean[0].sendMessageString(CKW00401SFConst.TSTAYMD, X31CWebConst.DATABEAN_GET_VALUE));
			}
		}
		
		// 会員種別特定フラグ
		parentMap.put("mmb_sbt_tokut_flg", bean[0].sendMessageString("会員種別特定フラグ", X31CWebConst.DATABEAN_GET_VALUE));
		// 旧eonet会員認証用ID
		parentMap.put("old_eonetmb_ninsho_id", bean[0].sendMessageString("旧ｅｏｎｅｔ会員認証用ＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 会員ISP決済状態コード
		parentMap.put("mmb_isp_kssai_stat_cd", bean[0].sendMessageString("会員ＩＳＰ決済状態コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 削除対象外フラグ
		parentMap.put("del_trgt_gai_flg", bean[0].sendMessageString("削除対象外フラグ", X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者タイプコード
		parentMap.put("keisha_type_cd", type);
		// 契約者タイプ変更フラグ
		parentMap.put("keisha_type_chg_flg", typeFlg);
		
		// パスワードリマインダ用質問コード
		parentMap.put("pwd_reminder_qs_cd", getCodeValueForComboBox(bean[0], "秘密の質問"));
		// パスワードリマインダ用質問内容
		parentMap.put("pwd_reminder_qs_naiyo", bean[0].sendMessageString("秘密の質問（その他）", X31CWebConst.DATABEAN_GET_VALUE));
		// パスワードリマインダ用回答
		parentMap.put("pwd_reminder_ans", bean[0].sendMessageString("秘密の質問の答え", X31CWebConst.DATABEAN_GET_VALUE));
		// 秘密の質問変更フラグ
		parentMap.put("secret_question_chg_flg", isSecretCgbfToCgaf(bean[0]));
		
		// コンテンツISP利用不可フラグ
		parentMap.put("cont_isp_use_fail_flg", bean[0].sendMessageString("ＩＳＰ決済利用", X31CWebConst.DATABEAN_GET_VALUE));
		// コンテンツISP利用停止年月日
		parentMap.put("cont_isp_use_stp_ymd", bean[0].sendMessageString(CKW00401SFConst.TSTAYMD, X31CWebConst.DATABEAN_GET_VALUE));
		// ISP決済利用変更フラグ
		parentMap.put("isp_kssai_use_chg_flg", isCgbfToCgaf(bean[0], CKW00401SFConst.BEFORE_ISP_KSSAI_USE, CKW00401SFConst.ISP_KSSAI_USE));
		
// ANK-3375-00-00 ADD START
		// 支払方法変更督促メッセージ抑止有無
		if (bean[0].sendMessageBoolean(CKW00401SFConst.PAYWAY_CHG_TS_MSG_YOKSI_UM, X31CWebConst.DATABEAN_GET_VALUE))
		{
			parentMap.put("payway_chg_ts_msg_yoksi_um", JCKCommonConst.UM_U);
		}
		else
		{
			parentMap.put("payway_chg_ts_msg_yoksi_um", JCKCommonConst.UM_M);
		}
// ANK-3375-00-00 ADD END
		// 異動区分遷移フラグ
		parentMap.put("ido_div_seni_flg", bean[0].sendMessageBoolean("異動区分遷移フラグ", X31CWebConst.DATABEAN_GET_VALUE));
		// 照査遷移フラグ
		parentMap.put("shosa_seni_flg", bean[0].sendMessageBoolean("照査遷移フラグ", X31CWebConst.DATABEAN_GET_VALUE));

		// ANK-2189-00-00 ADD START
		if (isUpdValueCheck_Kanden(bean[0])){
			// 法人スキーマの場合
			if (isHojinCheck(mmbSbt, type, bean[0]))
			{
				hojinFlg=true;
			}else{
				kojinFlg=true;
			}
		}
		// ANK-2189-00-00 ADD END

		// 個人変更フラグ
		parentMap.put("kojin_chg_flg", kojinFlg);
		// 法人変更フラグ
		parentMap.put("hojin_chg_flg", hojinFlg);
		// 更新年月日時分秒（更新前）
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString("お客様最終更新年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));
		
		/* ++++++++++ v4.00.11 追加開始 ++++++++++ */
		X31SDataBeanAccess custbean = bean[0].getDataBeanArray(JCKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST).getDataBean(0);
		// サービス契約番号
		parentMap.put("svc_kei_no", custbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		/* ++++++++++ v4.00.11 追加開始 ++++++++++ */
		
		/* ++++++++++ v8.00.00 追加開始 ++++++++++ */
		// 関電Ｇ個人情報取扱同意有無
		// ANK-2189-00-00 MOD START
//		parentMap.put("kepg_kjnif_trat_doi_um", bean[0].sendMessageString(CKW00401SFConst.REFERENCE_KEPG_KJNIF_TRAT_DOI_UM, X31CWebConst.DATABEAN_GET_VALUE));
		String doi_um = getCodeValueForComboBox(bean[0], CKW00401SFConst.KEPG_KJNIF_TRAT_DOI_UM);
		parentMap.put("kepg_kjnif_trat_doi_um", doi_um);
		// ANK-2189-00-00 MOD END

		// 関電Ｇ個人情報取扱同意有無名称
		parentMap.put("kepg_kjnif_trat_doi_um_nm", bean[0].sendMessageString(CKW00401SFConst.REFERENCE_KEPG_KJNIF_TRAT_DOI_UM_NM, X31CWebConst.DATABEAN_GET_VALUE));

		// ANK-2189-00-00 MOD START
		// 関電Ｇ個人情報取扱同意年月日
//		parentMap.put("kepg_kjnif_trat_doi_ymd", bean[0].sendMessageString(CKW00401SFConst.REFERENCE_KEPG_KJNIF_TRAT_DOI_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		String doiY = bean[0].sendMessageString(CKW00401SFConst.KEPG_KJNIF_TRAT_DOI_Y, X31CWebConst.DATABEAN_GET_VALUE);
		String doiYmd = null;
		
		if (doiY != null && doiY.length() > 0)
		{
			doiYmd = JPCUtilCommon.concatYmd(doiY, bean[0].sendMessageString(CKW00401SFConst.KEPG_KJNIF_TRAT_DOI_M, X31CWebConst.DATABEAN_GET_VALUE),
												   bean[0].sendMessageString(CKW00401SFConst.KEPG_KJNIF_TRAT_DOI_D, X31CWebConst.DATABEAN_GET_VALUE));
		}
		parentMap.put("kepg_kjnif_trat_doi_ymd", doiYmd);
		// ANK-2189-00-00 MOD END

		// ANK-2189-00-00 MOD START
		// 関電Ｇ個人情報提供不可フラグ
//		parentMap.put("kepg_kjnift_ffg", bean[0].sendMessageString(CKW00401SFConst.REFERENCE_KEPG_KJNIFT_FFG, X31CWebConst.DATABEAN_GET_VALUE));
		String kjnift_ffg = getCodeValueForComboBox(bean[0], CKW00401SFConst.KEPG_KJNIFT_FFG);
		parentMap.put("kepg_kjnift_ffg", kjnift_ffg);
		// ANK-2189-00-00 MOD END

		// 関電Ｇ個人情報提供不可フラグ名称
		parentMap.put("kepg_kjnift_ffg_nm", bean[0].sendMessageString(CKW00401SFConst.REFERENCE_KEPG_KJNIFT_FFG_NM, X31CWebConst.DATABEAN_GET_VALUE));

		// ANK-2189-00-00 MOD START
		// 関電Ｇ個人情報提供不可フラグ変更年月日
//		parentMap.put("kepg_kjnift_ffg_chg_ymd", bean[0].sendMessageString(CKW00401SFConst.REFERENCE_KEPG_KJNIFT_FFG_CHG_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		String ffgY = bean[0].sendMessageString(CKW00401SFConst.KEPG_KJNIFT_FFG_CHG_Y, X31CWebConst.DATABEAN_GET_VALUE);
		String ffgYmd = null;
		
		if (ffgY != null && ffgY.length() > 0)
		{
			ffgYmd = JPCUtilCommon.concatYmd(ffgY, bean[0].sendMessageString(CKW00401SFConst.KEPG_KJNIFT_FFG_CHG_M, X31CWebConst.DATABEAN_GET_VALUE), 
												   bean[0].sendMessageString(CKW00401SFConst.KEPG_KJNIFT_FFG_CHG_D, X31CWebConst.DATABEAN_GET_VALUE));
		}
		parentMap.put("kepg_kjnift_ffg_chg_ymd", ffgYmd);
		// ANK-2189-00-00 MOD END

		// 関電Ｇ個人情報提供不可フラグ変更受付方法コード
		// ANK-2189-00-00 MOD START
//		parentMap.put("kepg_kjnift_ffg_chg_uwy_cd", bean[0].sendMessageString(CKW00401SFConst.REFERENCE_KEPG_KJNIFT_FFG_CHG_UWY_CD, X31CWebConst.DATABEAN_GET_VALUE));
		String uwy_cd = getCodeValueForComboBox(bean[0], CKW00401SFConst.KEPG_KJNIFT_FFG_CHG_UWY_CD);
		parentMap.put("kepg_kjnift_ffg_chg_uwy_cd", uwy_cd);
		// ANK-2189-00-00 MOD END

		// 関電Ｇ個人情報提供不可フラグ変更受付方法コード名称
		parentMap.put("kepg_kjnift_ffg_chg_uwy_cd_nm", bean[0].sendMessageString(CKW00401SFConst.REFERENCE_KEPG_KJNIFT_FFG_CHG_UWY_CD_NM, X31CWebConst.DATABEAN_GET_VALUE));
		// 関電Ｇ個人情報提供状況コード
		parentMap.put("kepg_kjnift_jokyo_cd", bean[0].sendMessageString(CKW00401SFConst.REFERENCE_KEPG_KJNIFT_JOKYO_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// 関電Ｇ個人情報提供状況コード名称
		parentMap.put("kepg_kjnift_jokyo_cd_nm", bean[0].sendMessageString(CKW00401SFConst.REFERENCE_KEPG_KJNIFT_JOKYO_CD_NM, X31CWebConst.DATABEAN_GET_VALUE));
		// 関電Ｇ個人情報提供開始年月日
		parentMap.put("kepg_kjnift_staymd", bean[0].sendMessageString(CKW00401SFConst.REFERENCE_KEPG_KJNIFT_STAYMD, X31CWebConst.DATABEAN_GET_VALUE));
		// 関電Ｇ個人情報提供停止連携状態コード
		parentMap.put("kepg_kjnift_rscd", bean[0].sendMessageString(CKW00401SFConst.REFERENCE_KEPG_KJNIFT_RSCD, X31CWebConst.DATABEAN_GET_VALUE));
		// 関電Ｇ個人情報提供停止連携状態コード名称
		parentMap.put("kepg_kjnift_rscd_nm", bean[0].sendMessageString(CKW00401SFConst.REFERENCE_KEPG_KJNIFT_RSCD_NM, X31CWebConst.DATABEAN_GET_VALUE));
		// 関電Ｇ個人情報提供停止連携状態コード変更年月日
		parentMap.put("kepg_kjnift_rscd_chg_ymd", bean[0].sendMessageString(CKW00401SFConst.REFERENCE_KEPG_KJNIFT_RSCD_CHG_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		/* ++++++++++ v8.00.00 追加終了 ++++++++++ */

		// ANK-2553-00-00 ADD START
		// 購入可否フラグコード
		parentMap.put("konyu_kahi_flg_cd", getCodeValueForComboBox(bean[0], CKW00401SFConst.KONYU_KAHI_FLG));
		// ANK-2553-00-00 ADD END
		
// ANK-2737-00-00 ADD START
		// 電子通知同意
		boolean screen = bean[0].sendMessageBoolean(CKW00401SFConst.KNYTCS_ETC_DOI, X31CWebConst.DATABEAN_GET_VALUE);
		if (screen) 
		{
			parentMap.put("knytcs_etc_doi", JACStrConst.UM_ARI);
		}
		else
		{
			parentMap.put("knytcs_etc_doi", JACStrConst.UM_NASHI);
		}
		parentMap.put("before_knytcs_etc_doi", bean[0].sendMessageString(CKW00401SFConst.BEFORE_KNYTCS_ETC_DOI, X31CWebConst.DATABEAN_GET_VALUE));
// ANK-2737-00-00 ADD END
		
// ANK-4075-00-00 ADD START
		String scmType = getCodeValueForComboBox(bean[0], "スキームタイプ");
		String scmJgs = getCodeValueForComboBox(bean[0], "スキーム事業者");
		
		// スキームタイプコード
		parentMap.put("scm_type_cd", scmType);
		// スキーム事業者コード
		parentMap.put("scm_jgs_cd", scmJgs);
// ANK-4075-00-00 ADD END

		
		outputMap.put("CKSV000901CC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000903CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		// ++++++ v19.00.01【OM-2015-0001768】追加 開始 +++++++++
		X31SDataBeanAccess subbeanCust = bean[0].getDataBeanArray(CKW00401SFConst.CUST_KEI_HKTGI_LIST).getDataBean(0);
		parentMap.put("key_sysid", subbeanCust.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("base_ymd", bean[0].sendMessageString(CKW00401SFConst.TSTAYMD, X31CWebConst.DATABEAN_GET_VALUE));
		// ++++++ v19.00.01【OM-2015-0001768】追加 終了 +++++++++
		X31SDataBeanAccessArray subbean = bean[0].getDataBeanArray(CKW00401SFConst.MMB_RIREKI_LIST);
		ArrayList list = new ArrayList();
		
		// 適用開始日
		String tstaYMD = bean[0].sendMessageString(CKW00401SFConst.TSTAYMD, X31CWebConst.DATABEAN_GET_VALUE);
		
		for (int i = 0; i < subbean.getCount(); i++)
		{
			X31SDataBeanAccess databean = subbean.getDataBean(i);
			String rsvAplyYMD = databean.sendMessageString(CKW00401SFConst.MMB_RIREKI_TSTAYMD_04, X31CWebConst.DATABEAN_GET_VALUE);
			
			// 未来予約の場合
			if (JPCUtilCommon.isFutureDate(rsvAplyYMD, tstaYMD, "0"))
			{
				HashMap data = new HashMap();
				
				// 履歴ＳＹＳＩＤ
				data.put("mmb_rireki_sysid", databean.sendMessageString(CKW00401SFConst.MMB_RIREKI_SYSID_04, X31CWebConst.DATABEAN_GET_VALUE));
				// 履歴世代登録年月日時分秒
				data.put("mmb_rireki_gene_add_dtm", databean.sendMessageString(CKW00401SFConst.MMB_RIREKI_GENE_ADD_DTM_04, X31CWebConst.DATABEAN_GET_VALUE));
				list.add(data);
			}
		}
		
		// お客様情報履歴一覧
		parentMap.put("mmb_rireki_list", list);
		// お客様最終更新年月日時分秒 → お客様＜法人＞内容変更マップ.更新年月日時分秒(更新前)
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString("お客様最終更新年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("CKSV000903CC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param opeDate
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000904CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		X31SDataBeanAccess subbean = bean[0].getDataBeanArray(CKW00401SFConst.CUST_KEI_HKTGI_LIST).getDataBean(0);
		
		// 顧客契約引継リスト.SYSID → お客様連絡先登録変更マップ.sysid
		parentMap.put("sysid", subbean.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
		
		String mmbSbtCd = getCodeValueForComboBox(bean[0], CKW00401SFConst.MEMBER_SBT);
		String keishaType = getCodeValueForComboBox(bean[0], CKW00401SFConst.KEISHA_TYPE);
		boolean rrksCdKysSetFlg = false;
		
		// マスター会員（法人）又は非eo会員＿個人以外の場合
		if (isHojinCheck(mmbSbtCd, keishaType, bean[0]))
		{
			// "01"(契約者)→法人連絡先コード
			parentMap.put("hjrrks_cd", "01");
			// 勤務先名 → 法人連絡先変更マップ.法人連絡先名
			parentMap.put("hjrrks_nm", bean[0].sendMessageString("勤務先名", X31CWebConst.DATABEAN_GET_VALUE));
			// 住所コード → 法人連絡先変更マップ.法人連絡先住所コード
			// 郵便番号 → 法人連絡先変更マップ.法人連絡先郵便番号
			// 都道府県 → 法人連絡先変更マップ.法人連絡先都道府県名
			// 市区町村 → 法人連絡先変更マップ.法人連絡先市区町村名
			// 大字通称 → 法人連絡先変更マップ.法人連絡先大字通称名
			// 字丁目 → 法人連絡先変更マップ.法人連絡先字丁目名
			// 番地・号 → 法人連絡先変更マップ.法人連絡先番地号
			// 建物名 → 法人連絡先変更マップ.法人連絡先住所補記・建物名
			// 部屋番号 → 法人連絡先変更マップ.法人連絡先住所補記・部屋番号
			parentMap = setAdInf(bean[0], parentMap, "2");
			// 担当者名 → 法人連絡先変更マップ.法人連絡先担当者名
			parentMap.put("hjrrks_tntsha_nm", bean[0].sendMessageString("担当者名", X31CWebConst.DATABEAN_GET_VALUE));
			// 担当者名（カナ） → 法人連絡先変更マップ.法人連絡先担当者カナ名
			parentMap.put("hjrrks_tntsha_kana", bean[0].sendMessageString("担当者名（カナ）", X31CWebConst.DATABEAN_GET_VALUE));
			// 担当者所属部署 → 法人連絡先変更マップ.法人連絡先担当者所属部署名
			parentMap.put("hjrrks_tntsha_shozkbsho_nm", bean[0].sendMessageString("担当者所属部署", X31CWebConst.DATABEAN_GET_VALUE));
			// 変更有無フラグ
			parentMap.put("chg_um_flg", isUpdValueCheck(bean[0], "3"));
			
			// "01"(契約者)→連絡先コード
			parentMap.put("rrks_cd", JCKStrConst.CD00268_KEISHA);
			rrksCdKysSetFlg = true;
		}
		else
		{
			// 変更有無フラグ
			parentMap.put("chg_um_flg", false);
		}
		
		// 適用開始日 → お客様連絡先登録変更マップ.予約適用年月日
		parentMap.put("rsv_aply_ymd", bean[0].sendMessageString(CKW00401SFConst.TSTAYMD, X31CWebConst.DATABEAN_GET_VALUE));
		
		/////////////////////////////////////////////////////////
		// 回線系連絡先
		/////////////////////////////////////////////////////////
		String genMladRrksNo = "";		// メールアドレス＿連絡先番号
		String ktaiTelnoRrksNo = "";	// PHS/携帯電話＿連絡先番号
		String offcTelnoRrksNo = "";	// 勤務先電話番号＿連絡先番号
		String nisnnoRrksNo = "";		// 内線番号＿連絡先番号
		
		if (isMmbSbtKysTypeChg(bean[0], mmbSbtCd, keishaType))
		{
			// 法人扱い
			if (rrksCdKysSetFlg)
			{
				// 連絡先番号
				genMladRrksNo = bean[0].sendMessageString(CKW00401SFConst.HJ_GEN_MLAD_RRKS_NO, X31CWebConst.DATABEAN_GET_VALUE);
				ktaiTelnoRrksNo = bean[0].sendMessageString(CKW00401SFConst.HJ_KTAI_TELNO_RRKS_NO, X31CWebConst.DATABEAN_GET_VALUE);
				offcTelnoRrksNo = bean[0].sendMessageString(CKW00401SFConst.HJ_OFFC_TELNO_RRKS_NO, X31CWebConst.DATABEAN_GET_VALUE);
				nisnnoRrksNo = bean[0].sendMessageString(CKW00401SFConst.HJ_NISNNO_RRKS_NO, X31CWebConst.DATABEAN_GET_VALUE);
				
				// メールアドレス処理フラグ
				setDivFlgForChg(parentMap, genMladRrksNo, "mlad_div_flg");
				// PHS/携帯電話処理フラグ
				setDivFlgForChg(parentMap, ktaiTelnoRrksNo, "ktai_telno_div_flg");
				// 勤務先電話番号処理フラグ
				setDivFlgForChg(parentMap, offcTelnoRrksNo, "offc_telno_div_flg");
				// 内線番号処理フラグ
				setDivFlgForChg(parentMap, nisnnoRrksNo, "nisnno_div_flg");
			}
			// 個人扱い
			else
			{
				// 連絡先番号
				genMladRrksNo = bean[0].sendMessageString(CKW00401SFConst.KJ_GEN_MLAD_RRKS_NO, X31CWebConst.DATABEAN_GET_VALUE);
				ktaiTelnoRrksNo = bean[0].sendMessageString(CKW00401SFConst.KJ_KTAI_TELNO_RRKS_NO, X31CWebConst.DATABEAN_GET_VALUE);
				offcTelnoRrksNo = bean[0].sendMessageString(CKW00401SFConst.KJ_OFFC_TELNO_RRKS_NO, X31CWebConst.DATABEAN_GET_VALUE);
				nisnnoRrksNo = bean[0].sendMessageString(CKW00401SFConst.KJ_NISNNO_RRKS_NO, X31CWebConst.DATABEAN_GET_VALUE);
				
				// メールアドレス処理フラグ
				setDivFlgForChg(parentMap, genMladRrksNo, "mlad_div_flg");
				// PHS/携帯電話処理フラグ
				setDivFlgForChg(parentMap, ktaiTelnoRrksNo, "ktai_telno_div_flg");
				// 勤務先電話番号処理フラグ
				setDivFlgForChg(parentMap, offcTelnoRrksNo, "offc_telno_div_flg");
				// 内線番号処理フラグ
				setDivFlgForChg(parentMap, nisnnoRrksNo, "nisnno_div_flg");
			}
		}
		else
		{
			// 遷移元＝お客様一覧照会画面
			// 非活性項目なので登録／更新処理はなし
			if(bean[0].sendMessageBoolean(CKW00401SFConst.CUST_LIST_SENI_FLG, X31CWebConst.DATABEAN_GET_VALUE))
			{
				// メールアドレス処理フラグ
				parentMap.put("mlad_div_flg", DIV_FLG_N);
				// PHS/携帯電話処理フラグ
				parentMap.put("ktai_telno_div_flg", DIV_FLG_N);
				// 勤務先電話番号処理フラグ
				parentMap.put("offc_telno_div_flg", DIV_FLG_N);
				// 内線番号処理フラグ
				parentMap.put("nisnno_div_flg", DIV_FLG_N);
			}
			else
			{
				// 変更あり
				//   連絡先にデータ無⇒登録
				//   連絡先にデータ有⇒更新
				// 変更なし
				//   登録／更新処理なし
				
				// メールアドレス処理フラグ
				String genMlad = bean[0].sendMessageString(CKW00401SFConst.GEN_MLAD, X31CWebConst.DATABEAN_GET_VALUE);
				String bfrGenMlad = bean[0].sendMessageString(CKW00401SFConst.BEFORE_GEN_MLAD, X31CWebConst.DATABEAN_GET_VALUE);
				if(isCgbfToCgaf(genMlad, bfrGenMlad))
				{
					genMladRrksNo = bean[0].sendMessageString(CKW00401SFConst.GEN_MLAD_RRKS_NO, X31CWebConst.DATABEAN_GET_VALUE);
					setDivFlg(bean[0], parentMap, genMladRrksNo, genMlad, "mlad_div_flg", CKW00401SFConst.BEFORE_GEN_MLAD, CKW00401SFConst.GEN_MLAD);
				}
				else
				{
					parentMap.put("mlad_div_flg", DIV_FLG_N);
				}
				
				// PHS/携帯電話処理フラグ
				String ktaiTelno = bean[0].sendMessageString(CKW00401SFConst.RRKS_KTAI_TELNO, X31CWebConst.DATABEAN_GET_VALUE);
				String bfrKtaiTelno = bean[0].sendMessageString(CKW00401SFConst.BEFORE_RRKS_KTAI_TELNO, X31CWebConst.DATABEAN_GET_VALUE);
				if(isCgbfToCgaf(ktaiTelno, bfrKtaiTelno))
				{
					ktaiTelnoRrksNo = bean[0].sendMessageString(CKW00401SFConst.RRKS_KTAI_TELNO_RRKS_NO, X31CWebConst.DATABEAN_GET_VALUE);
					setDivFlg(bean[0], parentMap, ktaiTelnoRrksNo, ktaiTelno, "ktai_telno_div_flg", CKW00401SFConst.BEFORE_RRKS_KTAI_TELNO, CKW00401SFConst.RRKS_KTAI_TELNO);
				}
				else
				{
					parentMap.put("ktai_telno_div_flg", DIV_FLG_N);
				}
				
				// 勤務先電話番号処理フラグ
				String offcTelno = bean[0].sendMessageString(CKW00401SFConst.OFFC_TELNO, X31CWebConst.DATABEAN_GET_VALUE);
				String bfrOffcTelno = bean[0].sendMessageString(CKW00401SFConst.BEFORE_OFFC_TELNO, X31CWebConst.DATABEAN_GET_VALUE);
				if(isCgbfToCgaf(offcTelno, bfrOffcTelno))
				{
					offcTelnoRrksNo = bean[0].sendMessageString(CKW00401SFConst.OFFC_RRKS_NO, X31CWebConst.DATABEAN_GET_VALUE);
					setDivFlg(bean[0], parentMap, offcTelnoRrksNo, offcTelno, "offc_telno_div_flg", CKW00401SFConst.BEFORE_OFFC_TELNO, CKW00401SFConst.OFFC_TELNO);
				}
				else
				{
					parentMap.put("offc_telno_div_flg", DIV_FLG_N);
				}
				
				// 内線番号処理フラグ
				String nisnno = bean[0].sendMessageString(CKW00401SFConst.OFFC_NISNNO, X31CWebConst.DATABEAN_GET_VALUE);
				String bfrNisnno = bean[0].sendMessageString(CKW00401SFConst.BEFORE_OFFC_NISNNO, X31CWebConst.DATABEAN_GET_VALUE);
				if(isCgbfToCgaf(nisnno, bfrNisnno))
				{
					nisnnoRrksNo = bean[0].sendMessageString(CKW00401SFConst.OFFC_NISNNO_RRKS_NO, X31CWebConst.DATABEAN_GET_VALUE);
					setDivFlg(bean[0], parentMap, nisnnoRrksNo, nisnno, "nisnno_div_flg", CKW00401SFConst.BEFORE_OFFC_NISNNO, CKW00401SFConst.OFFC_NISNNO);
				}
				else
				{
					parentMap.put("nisnno_div_flg", DIV_FLG_N);
				}
			}
		}
		
		// メールアドレス＿連絡先番号 → お客様連絡先登録変更マップ.メール連絡先番号
		parentMap.put("gen_mlad_rrks_no", genMladRrksNo);
		// 携帯電話＿連絡先番号 → お客様連絡先登録変更マップ.携帯連絡先番号
		parentMap.put("rrks_ktai_telno_rrks_no", ktaiTelnoRrksNo);
		// 勤務先電話番号＿連絡先番号 → お客様連絡先登録変更マップ.勤務先連絡先番号
		parentMap.put("offc_rrks_no", offcTelnoRrksNo);
		// 内線番号＿連絡先番号 → お客様連絡先登録変更マップ.内線連絡先番号
		parentMap.put("offc_nisnno_rrks_no", nisnnoRrksNo);
		
		// メールアドレス → お客様連絡先登録変更マップ.メールアドレス
		parentMap.put("gen_mlad", bean[0].sendMessageString(CKW00401SFConst.GEN_MLAD, X31CWebConst.DATABEAN_GET_VALUE));
		// 携帯電話 → お客様連絡先登録変更マップ.携帯電話
		parentMap.put("rrks_ktai_telno", bean[0].sendMessageString(CKW00401SFConst.RRKS_KTAI_TELNO, X31CWebConst.DATABEAN_GET_VALUE));
		// 勤務先電話番号 → お客様連絡先登録変更マップ.勤務先電話番号
		parentMap.put("offc_telno", bean[0].sendMessageString(CKW00401SFConst.OFFC_TELNO, X31CWebConst.DATABEAN_GET_VALUE));
		// 内線番号 → お客様連絡先登録変更マップ.内線番号
		parentMap.put("offc_nisnno", bean[0].sendMessageString(CKW00401SFConst.OFFC_NISNNO, X31CWebConst.DATABEAN_GET_VALUE));
		
		/////////////////////////////////////////////////////////
		// コンテンツ系連絡先
		/////////////////////////////////////////////////////////
		// 変更手続中メールアドレス連絡先番号 → お客様連絡先登録変更マップ.変更手続中メールアドレス連絡先番号
		parentMap.put("chgechu_mlad_rrks_no", bean[0].sendMessageString(CKW00401SFConst.CHGECHU_MLAD_RRKS_NO, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更手続中メールアドレス → お客様連絡先登録変更マップ.変更手続中メールアドレス
		parentMap.put("chgechu_mlad", bean[0].sendMessageString(CKW00401SFConst.CHGECHU_MLAD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// コンテンツ電話番号 変更有
		if (isCgbfToCgaf(bean[0], CKW00401SFConst.BEFORE_CONT_TELNO, CKW00401SFConst.CONT_TELNO))
		{
			String rrksno = bean[0].sendMessageString(CKW00401SFConst.CONT_RRKS_NO, X31CWebConst.DATABEAN_GET_VALUE);
			if (isBlank(rrksno))
			{
				// コンテンツ電話番号処理フラグ
				parentMap.put("cont_telno_div_flg", DIV_FLG_ADD);
			}
			else
			{
				// コンテンツ電話番号処理フラグ
				parentMap.put("cont_telno_div_flg", DIV_FLG_UPD);
			}
			
			// コンテンツ電話番号連絡先番号 → お客様連絡先登録変更マップ.コンテンツ電話番号連絡先番号
			parentMap.put("cont_rrks_no", rrksno);
			// コンテンツ電話番号 → お客様連絡先登録変更マップ.コンテンツ電話番号
			parentMap.put("cont_telno", bean[0].sendMessageString(CKW00401SFConst.CONT_TELNO, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			// コンテンツ電話番号処理フラグ
			parentMap.put("cont_telno_div_flg", DIV_FLG_N);
		}
		
		// お客様連絡先登録変更マップ.コンテンツメール処理フラグ
		if (isCgbfToCgaf(bean[0], CKW00401SFConst.BEFORE_CONT_MLAD, CKW00401SFConst.REFERENCE_CONT_MLAD))
		{
			parentMap.put("cont_mlad_div_flg", DIV_FLG_UPD);
			// コンテンツメール連絡先番号 → お客様連絡先登録変更マップ.コンテンツメール連絡先番号
			parentMap.put("cont_mlad_rrks_no", bean[0].sendMessageString(CKW00401SFConst.CONT_MLAD_RRKS_NO, X31CWebConst.DATABEAN_GET_VALUE));
			// コンテンツメールアドレス → お客様連絡先登録変更マップ.コンテンツメールアドレス
			parentMap.put("cont_mlad", bean[0].sendMessageString(CKW00401SFConst.REFERENCE_CONT_MLAD, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			parentMap.put("cont_mlad_div_flg", DIV_FLG_N);
		}
		
		// お客様連絡先登録変更マップ.お客様ステータス
		parentMap.put("cust_stat", bean[0].sendMessageString(CKW00401SFConst.CUST_STAT, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("JCKRrksAddUpdCC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000905CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		X31SDataBeanAccess subbean = bean[0].getDataBeanArray(CKW00401SFConst.CUST_KEI_HKTGI_LIST).getDataBean(0);
		String sysid = subbean.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE);
		String mmbSbt = getCodeValueForComboBox(bean[0], "会員種別");
		
		// ファミリー会員の場合
		if (isMmbSbtFamilyCheck(mmbSbt))
		{
			sysid = bean[0].sendMessageString(CKW00401SFConst.GRP_LEADER_SYSID, X31CWebConst.DATABEAN_GET_VALUE);
		}
		
		// SYSID
		parentMap.put("sysid", subbean.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
		// ＫＥＹ＿ＳＹＳＩＤ
		parentMap.put("key_sysid", sysid);
		// グループコード
		parentMap.put("grp_cd", bean[0].sendMessageString("グループコード", X31CWebConst.DATABEAN_GET_VALUE));
		// お客様グループ設定無効年月日
		parentMap.put("cust_grp_sette_mk_ymd", bean[0].sendMessageString(CKW00401SFConst.TSTAYMD, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更前会員種別
		parentMap.put("before_member_sbt_cd", bean[0].sendMessageString(CKW00401SFConst.BEFORE_MEMBER_SBT, X31CWebConst.DATABEAN_GET_VALUE));
		// 会員種別
		parentMap.put("member_sbt_cd", mmbSbt);
		
		outputMap.put("CKSV000905CC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000906CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		HashMap hojinMap = new HashMap();
		ArrayList list = null;
		String mmbSbt = getCodeValueForComboBox(bean[0], CKW00401SFConst.MEMBER_SBT);
		String jobCd = getCodeValueForComboBox(bean[0], "職業＿業種");

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 変更前会員種別コード
		parentMap.put("before_member_sbt_cd", bean[0].sendMessageString(CKW00401SFConst.BEFORE_MEMBER_SBT, X31CWebConst.DATABEAN_GET_VALUE));
		// マスター会員種別コード
		parentMap.put("master_member_sbt_cd", getCodeValueForComboBox(bean[0], CKW00401SFConst.MEMBER_SBT));
		// 契約者タイプコード
		parentMap.put("keisha_type_cd", getCodeValueForComboBox(bean[0], CKW00401SFConst.KEISHA_TYPE));
		// 変更前契約者タイプコード
		parentMap.put("before_keisha_type_cd", bean[0].sendMessageString(CKW00401SFConst.BEFORE_KEISHA_TYPE, X31CWebConst.DATABEAN_GET_VALUE));
		
		if (parentMap.containsKey("ECK0011C130CBSMsg1List"))
		{
			list = (ArrayList)parentMap.get("ECK0011C130CBSMsg1List");
		}
		else
		{
			list = new ArrayList();
		}
		
		// マスター会員（個人）の場合
		if (JCKCommonConst.CD00039_MASTER_KOJIN.equals(mmbSbt))
		{
			// 会員種別コード：ファミリー会員（個人）
			parentMap.put("member_sbt_cd", JCKCommonConst.CD00039_FAMILY_KOJIN);
			// 職業コード
			parentMap.put("shokugyo_cd", jobCd);
			// 勤務先名
			parentMap.put("offc_nm", bean[0].sendMessageString("勤務先名", X31CWebConst.DATABEAN_GET_VALUE));
			// 勤務先電話番号
			parentMap.put("offc_telno", bean[0].sendMessageString("勤務先電話番号", X31CWebConst.DATABEAN_GET_VALUE));
			// 勤務先内線番号
			parentMap.put("offc_nisnno", bean[0].sendMessageString("内線番号", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者名
			parentMap.put("sksha_nm", bean[0].sendMessageString("親権者名", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者カナ名
			parentMap.put("sksha_kana", bean[0].sendMessageString("親権者名（カナ）", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者生年月日
			parentMap.put("sksha_birthd", bean[0].sendMessageString("親権者生年月日", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者続柄コード
			parentMap.put("sksha_zokugara_cd", getCodeValueForComboBox(bean[0], "続柄"));
			// 続柄その他
			parentMap.put("zokugara_other", bean[0].sendMessageString("続柄（その他欄）", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者住所コード
			parentMap.put("sksha_ad_cd", bean[0].sendMessageString("親権者住所コード", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者郵便番号
			parentMap.put("sksha_pcd", bean[0].sendMessageString("親権者郵便番号", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者都道府県名
			parentMap.put("sksha_state_nm", bean[0].sendMessageString("親権者都道府県", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者市区町村名
			parentMap.put("sksha_city_nm", bean[0].sendMessageString("親権者市区町村", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者大字通称名
			parentMap.put("sksha_oaztsu_nm", bean[0].sendMessageString("親権者大字通称", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者字丁目名
			parentMap.put("sksha_azcho_nm", bean[0].sendMessageString("親権者字丁目", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者住所番地号
			parentMap.put("sksha_ad_bnchigo", bean[0].sendMessageString("親権者番地・号", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者住所補記・建物名
			parentMap.put("sksha_adrttm", bean[0].sendMessageString("親権者建物名", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者住所補記・部屋番号
			parentMap.put("sksha_adrrm", bean[0].sendMessageString("親権者部屋番号", X31CWebConst.DATABEAN_GET_VALUE));
			// 親権者電話番号
			parentMap.put("sksha_telno", bean[0].sendMessageString("親権者電話番号", X31CWebConst.DATABEAN_GET_VALUE));
/* ++++++++++ v4.00.00 追加開始 ++++++++++ */
			// 親権者住所手動入力フラグ
			parentMap.put("sksha_ad_man_input_flg", getManInputFlg(bean[0], CKW00401SFConst.SKSHA_AD_CD, CKW00401SFConst.SKSHA_REGAI_INPUT_BTN));
/* ++++++++++ v4.00.00 追加終了 ++++++++++ */
		}
		// マスター会員（法人）の場合
		else if (JCKCommonConst.CD00039_MASTER_HOJIN.equals(mmbSbt))
		{
			// 会員種別コード：ファミリー会員（法人）
			parentMap.put("member_sbt_cd", JCKCommonConst.CD00039_FAMILY_HOJIN);
			// 法人格前後指定コード・法人格種別コード
			setUpdValueHojinSbt(bean[0], parentMap);
			// 会社名
			parentMap.put("comp_nm", bean[0].sendMessageString("契約者名", X31CWebConst.DATABEAN_GET_VALUE));
			// 会社カナ名
			parentMap.put("comp_kana", bean[0].sendMessageString("契約者名（カナ）", X31CWebConst.DATABEAN_GET_VALUE));
			// 代表者役職名
			parentMap.put("dihysha_post_nm", bean[0].sendMessageString("代表者役職", X31CWebConst.DATABEAN_GET_VALUE));
			// 業種コード
			parentMap.put("gshu_cd", jobCd);
			// 連絡先コード
			hojinMap.put("rrks_cd", "01");
			
			// 法人連絡先住所コード
			// 法人連絡先郵便番号
			// 法人連絡先都道府県名
			// 法人連絡先市区町村名
			// 法人連絡先大字通称名
			// 法人連絡先字丁目名
			// 法人連絡先番地号
			// 法人連絡先住所補記・建物名
			// 法人連絡先住所補記・部屋番号
			hojinMap = setAdInf(bean[0], hojinMap, "2");
			// 法人連絡先担当者名
			hojinMap.put("hjrrks_tntsha_nm", bean[0].sendMessageString("担当者名", X31CWebConst.DATABEAN_GET_VALUE));
			// 法人連絡先担当者カナ名
			hojinMap.put("hjrrks_tntsha_kana", bean[0].sendMessageString("担当者名（カナ）", X31CWebConst.DATABEAN_GET_VALUE));
			// 法人連絡先担当者所属部署名
			hojinMap.put("hjrrks_tntsha_shozkbsho_nm", bean[0].sendMessageString("担当者所属部署", X31CWebConst.DATABEAN_GET_VALUE));
		}
		list.add(hojinMap);
		parentMap.put("ECK0011C130CBSMsg1List", list);
		
		X31SDataBeanAccessArray familyBean = bean[0].getDataBeanArray("家族会員情報");
		ArrayList familyList = null;
		if (parentMap.containsKey("family_list"))
		{
			familyList = (ArrayList)parentMap.get("family_list");
		}
		else
		{
			familyList = new ArrayList();
		}
		
		if (familyBean != null && familyBean.getCount() > 0)
		{
			for (int i = 0; i < familyBean.getCount(); i++)
			{
				X31SDataBeanAccess subbean = familyBean.getDataBean(i);
				if (subbean != null)
				{
					HashMap childMap = new HashMap();
					childMap.put("sysid", subbean.sendMessageString("家族ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
					childMap.put("cust_grp_sette_stat", subbean.sendMessageString(CKW00401SFConst.CUST_GRP_SETTE_STAT_03, X31CWebConst.DATABEAN_GET_VALUE));
					childMap.put("upd_dtm_bf", subbean.sendMessageString("家族最終更新年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));
					familyList.add(childMap);
				}
			}
		}
		parentMap.put("family_list", familyList);
		
		outputMap.put("CKSV000906CC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000917CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		HashMap<String, Object> workMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		X31SDataBeanAccess subbean = bean[0].getDataBeanArray(CKW00401SFConst.CUST_KEI_HKTGI_LIST).getDataBean(0);
		
		// 顧客契約引継リスト.SYSID → お客様変更オプトインメール変更マップ.SYSID
		parentMap.put("sysid", subbean.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
		// 基準日 → お客様変更オプトインメール変更マップ.設定年月日
		parentMap.put("sette_ymd", bean[0].sendMessageString(CKW00401SFConst.TSTAYMD, X31CWebConst.DATABEAN_GET_VALUE));

		// オプトインメール番号の退避
		X31SDataBeanAccessArray headList = bean[0].getDataBeanArray("メール受信ヘッダ部");
		int headCnt = headList.getCount();
		String[] optinNoList = new String[headList.getCount()];
		String[] optinNmList = new String[headList.getCount()];
		X31SDataBeanAccess headBean = null;
		for (int i = 0; i < headCnt; i++)
		{
			headBean = headList.getDataBean(i);
			optinNoList[i] = headBean.sendMessageString("オプトインメール番号", X31CWebConst.DATABEAN_GET_VALUE);
			optinNmList[i] = headBean.sendMessageString("受信メールの説明", X31CWebConst.DATABEAN_GET_VALUE);
		}
		
		StringBuilder prgVal = new StringBuilder("");
		ArrayList mailList = new ArrayList();
		ArrayList mladList = new ArrayList();
		ArrayList newList = new ArrayList();
		ArrayList delList = new ArrayList();
		X31SDataBeanAccessArray beanList = bean[0].getDataBeanArray("メール受信設定");
		X31SDataBeanAccess dataBean = null;
		boolean setAf = false;
		boolean setBf = false;
		
		for (int i = 0; i < beanList.getCount(); i++)
		{
			dataBean = beanList.getDataBean(i);
			String mlad = dataBean.sendMessageString("受信メールアドレス", X31CWebConst.DATABEAN_GET_VALUE);
			String rrkMlad = dataBean.sendMessageString("変更前受信連絡メールアドレス", X31CWebConst.DATABEAN_GET_VALUE);
			String keiMlad = dataBean.sendMessageString("変更前受信契約メールアドレス", X31CWebConst.DATABEAN_GET_VALUE);
			String mladVal = null;
			boolean rrksMladFlg = true;
			boolean keiMladFlg = true;
			
			if ("○".equals(dataBean.sendMessageString("受信連絡用メール", X31CWebConst.DATABEAN_GET_VALUE)))
			{
				mladVal = "連絡:" + mlad + " ";
				mlad = bean[0].sendMessageString(CKW00401SFConst.REFERENCE_CONT_MLAD, X31CWebConst.DATABEAN_GET_VALUE);
			}
			else
			{
				mladVal = "契約:" + mlad + " ";
			}
			
			// 連絡用メールアドレスの変更チェック
			if (rrkMlad == null || rrkMlad.length() == 0 || mlad.equals(rrkMlad))
			{
				rrksMladFlg = false;
			}
			
			// 契約メールアドレスの変更チェック
			if (keiMlad == null || keiMlad.length() == 0 || mlad.equals(keiMlad))
			{
				keiMladFlg = false;
			}
			
			for (int j = 0; j < headCnt; j++)
			{
				setAf = dataBean.sendMessageBoolean("受信メールの設定", X31CWebConst.DATABEAN_GET_VALUE, j);
				setBf = dataBean.sendMessageBoolean("変更前受信メールの設定", X31CWebConst.DATABEAN_GET_VALUE, j);
				
				// メールアドレス変更有りの場合
				if (rrksMladFlg || keiMladFlg)
				{
					HashMap subMap = new HashMap();
					
					// オプトインメール番号 → お客様変更オプトインメール変更マップ.オプトインメール番号
					subMap.put("optinm_no", optinNoList[j]);
					// メール受信設定.受信メールアドレス → お客様変更オプトインメール変更マップ.メールアドレス
					subMap.put("mlad", mlad);
					
					// 連絡用メールアドレスの場合
					if (rrksMladFlg)
					{
						// メール受信設定.変更前受信連絡メールアドレス → お客様変更オプトインメール変更マップ.変更前受信連絡メールアドレス
						subMap.put("before_rcv_rrks_mlad", rrkMlad);
					}
					// 契約メールアドレスの場合
					else if (keiMladFlg)
					{
						// メール受信設定.受信変更前受信契約メールアドレス → お客様変更オプトインメール変更マップ.変更前受信契約メールアドレス
						subMap.put("before_rcv_kei_mlad", keiMlad);
					}
					
					// お客様変更オプトインメール変更マップ.受信区分
					if (setAf)
					{
						subMap.put("rcv_div", "1");
					}
					else
					{
						subMap.put("rcv_div", "0");
					}
					
					// 契約メールからの分割の場合
					if (rrkMlad.equals(keiMlad))
					{
						newList.add(subMap);
					}
					// 契約メールに統合の場合
					else if (mlad.equals(keiMlad))
					{
						// OM-2017-0001047 ADD START
						X31SDataBeanAccessArray keiList = bean[0].getDataBeanArray("メール受信設定");
						boolean beforeKeiMladFlg = true;
						for (int k = 0; k < keiList.getCount(); k++)
						{
							X31SDataBeanAccess dataBean1 = keiList.getDataBean(k);
							String beforeKeiMlad = dataBean1.sendMessageString("変更前受信契約メールアドレス", X31CWebConst.DATABEAN_GET_VALUE);
							
							if(beforeKeiMlad.equals(rrkMlad))
							{
								beforeKeiMladFlg = false;
							}
						}
						// OM-2017-0001047 ADD END
						// OM-2017-0001047 ADD START
						if(beforeKeiMladFlg)
						{
							// OM-2017-0001047 ADD END
							subMap.put("mlad", rrkMlad);
							delList.add(subMap);
						// OM-2017-0001047 ADD START
						}
						// OM-2017-0001047 ADD END
					}
					else
					{
						mladList.add(subMap);
					}
				}
				// 設定変更有りの場合
				else if (setAf != setBf)
				{
					HashMap subMap = new HashMap();
					
					// オプトインメール番号 → お客様変更オプトインメール変更マップ.オプトインメール番号
					subMap.put("optinm_no", optinNoList[j]);
					// メール受信設定.受信メールアドレス → お客様変更オプトインメール変更マップ.メールアドレス
					subMap.put("mlad", mlad);
					
					// お客様変更オプトインメール変更マップ.受信区分
					if (setAf)
					{
						subMap.put("rcv_div", "1");
					}
					else
					{
						subMap.put("rcv_div", "0");
					}
					mailList.add(subMap);
					
					// 進捗登録用に編集
					String before = getOptinEdit(mladVal, optinNmList[j], setBf);
					String after = getOptinEdit(mladVal, optinNmList[j], setAf);
					prgVal.append(getEditValue(before, after, "メール受信設定"));
				}
			}
		}
		parentMap.put("mlad_list", mladList);
		parentMap.put("rcv_list", mailList);
		parentMap.put("new_list", newList);
		parentMap.put("del_list", delList);

		outputMap.put("CKSV000917CC", parentMap);
		
		workMap.put("optinm", prgVal.toString());
		outputMap.put("WORK", workMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param opeDtm
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000920CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDtm)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		X31SDataBeanAccess subbean = bean[0].getDataBeanArray(CKW00401SFConst.CUST_KEI_HKTGI_LIST).getDataBean(0);

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 004(eoid) → お客様変更エイジング登録マップ.エイジング種別コード
		parentMap.put("aging_sbt_cd", "004");
		// eoID → お客様変更エイジング登録マップ.エイジング対象値
		parentMap.put("aging_tg_value", bean[0].sendMessageString("ｅｏＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 変更前eoID → お客様変更エイジング登録マップ.変更前エイジング対象値
		parentMap.put("before_aging_tg_value", bean[0].sendMessageString("変更前ｅｏＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 年月日時分秒 → お客様変更エイジング登録マップ.年月日時分秒
		parentMap.put("dtm", opeDtm);
		// 更新年月日時分秒 → お客様変更エイジング登録マップ.更新年月日時分秒
		parentMap.put("upd_dtm", bean[0].sendMessageString("ｅｏＩＤ更新年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));

		// 顧客契約引継リスト.SYSID → eoID変更マップ.SYSID
		parentMap.put("sysid", subbean.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
		// 基準日 → eoID変更マップ.eoID変更年月日
		parentMap.put("eoid_chge_ymd", bean[0].sendMessageString(CKW00401SFConst.STDARDYMD, X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("exec_ptn", "1");

		outputMap.put("CKSV000920CC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param opeDtm
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000921CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDtm)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		X31SDataBeanAccess subbean = bean[0].getDataBeanArray(CKW00401SFConst.CUST_KEI_HKTGI_LIST).getDataBean(0);

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// 003(ニックネーム) → お客様変更エイジング登録マップ.エイジング種別コード
		parentMap.put("aging_sbt_cd", "003");
		// ニックネーム → お客様変更エイジング登録マップ.エイジング対象値
		parentMap.put("aging_tg_value", bean[0].sendMessageString("ニックネーム", X31CWebConst.DATABEAN_GET_VALUE));
		// 変更前ニックネーム → お客様変更エイジング登録マップ.変更前エイジング対象値
		parentMap.put("before_aging_tg_value", bean[0].sendMessageString("変更前ニックネーム", X31CWebConst.DATABEAN_GET_VALUE));
		// 年月日時分秒 → お客様変更エイジング登録マップ.年月日時分秒 
		parentMap.put("dtm", opeDtm);
		// 更新年月日時分秒 → お客様変更エイジング登録マップ.更新年月日時分秒
		parentMap.put("upd_dtm", bean[0].sendMessageString("ニックネーム更新年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));

		// 顧客契約引継リスト.SYSID → ニックネーム変更マップ.SYSID
		parentMap.put("sysid", subbean.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
		// 基準日 → ニックネーム変更マップ.ニックネーム変更年月日
		parentMap.put("nkname_chge_ymd", bean[0].sendMessageString(CKW00401SFConst.STDARDYMD, X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("exec_ptn", "2");

		outputMap.put("CKSV000921CC", parentMap);
		
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 * @throws UnsupportedEncodingException 文字コード指定にて、例外が発生した場合
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000922CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws UnsupportedEncodingException
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}
		
		ArrayList list = null;

		X31SDataBeanAccess custbean = bean[0].getDataBeanArray(JCKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST).getDataBean(0);
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		
		// 進捗登録実行判定フラグ
		boolean prgExecFlg = false;
		boolean idoDivSeniFlg = bean[0].sendMessageBoolean("異動区分遷移フラグ", X31CWebConst.DATABEAN_GET_VALUE);
		boolean shosaSeniFlg = bean[0].sendMessageBoolean("照査遷移フラグ", X31CWebConst.DATABEAN_GET_VALUE);
		
		// 遷移元＝異動区分選択画面または照査前登録画面
		if(idoDivSeniFlg || shosaSeniFlg)
		{
			prgExecFlg = true;
		}
		parentMap.put("prgExecFlg", prgExecFlg);
		// 進捗登録マップ.異動区分遷移フラグ
		parentMap.put("ido_div_seni_flg", idoDivSeniFlg);
		// 進捗登録マップ.照査遷移フラグ
		parentMap.put("shosa_seni_flg", shosaSeniFlg);
		// 進捗登録マップ.サービス契約番号
		parentMap.put("svc_kei_no", custbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 進捗登録マップ.異動区分
		parentMap.put("ido_div", custbean.sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		// システム日時 → 進捗登録マップ.異動年月日時分秒
		parentMap.put("ido_dtm", JCCWebCommon.getSysDateTimeStamp());
		
		// 進捗登録マップ.進捗特記事項
		parentMap = setPrg(bean[0], parentMap, outputMap);
		
/* ++++++++++ v8.00.00 追加開始 ++++++++++ */
		// 「利用場所住所で上書き」チェックON
		if(bean[0].sendMessageBoolean(CKW00401SFConst.UEPCAD_COPY_BTN, X31CWebConst.DATABEAN_GET_VALUE))
		{
			// 進捗登録実行
			parentMap.put("uepcad_copy_chk_flg", true);
		}
		else
		{
			parentMap.put("uepcad_copy_chk_flg", false);
		}
/* ++++++++++ v8.00.00 追加終了 ++++++++++ */
		
		if (parentMap.containsKey("EKK1091D010CBSMsg1List"))
		{
			list = (ArrayList)parentMap.get("EKK1091D010CBSMsg1List");
		}
		else
		{
			list = new ArrayList();
		}
		
		int count = (Integer)custbean.sendMessage("異動理由コード", X31CWebConst.DATABEAN_GET_COUNT);
		for (int j = 0; j < count; j++)
		{
			HashMap childMap = new HashMap();

			// 顧客契約引継リスト.異動理由コード → 進捗登録情報マップ.異動理由明細.異動理由コード
			childMap.put("ido_rsn_cd", custbean.sendMessageString("異動理由コード", X31CWebConst.DATABEAN_GET_VALUE, j));
			// 顧客契約引継リスト.異動理由メモ → 進捗登録情報マップ.異動理由明細.異動理由メモ
			childMap.put("ido_rsn_memo", custbean.sendMessageString("異動理由メモ", X31CWebConst.DATABEAN_GET_VALUE));

			list.add(childMap);
		}
		parentMap.put("EKK1091D010CBSMsg1List", list);

		outputMap.put("CKSV000922CC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param commonBean
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000923CC(X31SDataBeanAccess[] bean, X31SDataBeanAccess commonBean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}
		
		if (commonBean == null)
		{
			return null;
		}
		
		HashMap parentMap = (HashMap)outputMap.get("CKSV000923CC");
		if (parentMap == null)
		{
			parentMap = new HashMap();
		}
		
		X31SDataBeanAccess subbean = bean[0].getDataBeanArray(CKW00401SFConst.CUST_KEI_HKTGI_LIST).getDataBean(0);
		String mmbSbt = getCodeValueForComboBox(bean[0], CKW00401SFConst.MEMBER_SBT);
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// "A01" → 指示書登録マップ.処理コード
		parentMap.put("trn_cd", "A01");
		// 顧客契約引継リスト.SYSID → 指示書登録マップ.処理対象SYSID
		parentMap.put("tran_trgt_sysid", subbean.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
		// ｅｏＩＤ
		parentMap.put("before_eoid", bean[0].sendMessageString(CKW00401SFConst.BEFORE_EOID, X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("eoid", bean[0].sendMessageString(CKW00401SFConst.EOID, X31CWebConst.DATABEAN_GET_VALUE));
		// ニックネーム
		parentMap.put("before_nkname", bean[0].sendMessageString(CKW00401SFConst.BEFORE_NKNAME, X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("nkname", bean[0].sendMessageString(CKW00401SFConst.NKNAME, X31CWebConst.DATABEAN_GET_VALUE));
		// 会員種別
		parentMap.put("before_member_sbt_cd", bean[0].sendMessageString(CKW00401SFConst.BEFORE_MEMBER_SBT, X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("member_sbt_cd", mmbSbt);
		// メールアドレス
		parentMap.put("before_mlad", bean[0].sendMessageString(CKW00401SFConst.BEFORE_CONT_MLAD, X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("mlad", bean[0].sendMessageString(CKW00401SFConst.REFERENCE_CONT_MLAD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// マスター会員（法人）、ファミリー会員（個人）（法人）、オープン会員の場合
		if (JCKCommonConst.CD00039_MASTER_HOJIN.equals(mmbSbt) || isMmbSbtFamilyCheck(mmbSbt) || JCKCommonConst.CD00039_OPEN.equals(mmbSbt))
		{
			// 年齢
			parentMap.put("before_age", bean[0].sendMessageString(CKW00401SFConst.BEFORE_CONT_CUST_BIRTHD, X31CWebConst.DATABEAN_GET_VALUE));
			parentMap.put("age", bean[0].sendMessageString(CKW00401SFConst.CONT_CUST_BIRTHD, X31CWebConst.DATABEAN_GET_VALUE));
			// 性別
			parentMap.put("before_sex_cd", bean[0].sendMessageString(CKW00401SFConst.BEFORE_CONT_CUST_SEX_CD, X31CWebConst.DATABEAN_GET_VALUE));
			parentMap.put("sex_cd", bean[0].sendMessageString(CKW00401SFConst.CONT_CUST_SEX_CD, X31CWebConst.DATABEAN_GET_VALUE));
		}
		// 未移行の場合
		else if (JCKCommonConst.CD00039_MASTER_KOJIN.equals(mmbSbt)
					&& "1".equals(bean[0].sendMessageString(CKW00401SFConst.EONETID_MI_IKO_FLG, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 年齢
			parentMap.put("before_age", bean[0].sendMessageString(CKW00401SFConst.BEFORE_CONT_CUST_BIRTHD, X31CWebConst.DATABEAN_GET_VALUE));
			parentMap.put("age", bean[0].sendMessageString(CKW00401SFConst.CONT_CUST_BIRTHD, X31CWebConst.DATABEAN_GET_VALUE));
			// 性別
			parentMap.put("before_sex_cd", bean[0].sendMessageString(CKW00401SFConst.BEFORE_CONT_CUST_SEX_CD, X31CWebConst.DATABEAN_GET_VALUE));
			parentMap.put("sex_cd", bean[0].sendMessageString(CKW00401SFConst.CONT_CUST_SEX_CD, X31CWebConst.DATABEAN_GET_VALUE));
		}
		// マスター会員（個人）、非eo会員の場合
		else
		{
			// 年齢
			parentMap.put("before_age", bean[0].sendMessageString(CKW00401SFConst.BEFORE_CUST_BIRTHD, X31CWebConst.DATABEAN_GET_VALUE));
			parentMap.put("age", bean[0].sendMessageString(CKW00401SFConst.CUST_BIRTHD, X31CWebConst.DATABEAN_GET_VALUE));
			// 性別
			parentMap.put("before_sex_cd", bean[0].sendMessageString(CKW00401SFConst.BEFORE_CUST_SEX_CD, X31CWebConst.DATABEAN_GET_VALUE));
			parentMap.put("sex_cd", bean[0].sendMessageString(CKW00401SFConst.CUST_SEX_CD, X31CWebConst.DATABEAN_GET_VALUE));
		}
		
		// お客様ステータス
		parentMap.put("cust_stat", bean[0].sendMessageString(CKW00401SFConst.CUST_STAT, X31CWebConst.DATABEAN_GET_VALUE));
		// ISP決済利用
		parentMap.put("before_isp_kssai_use", bean[0].sendMessageString(CKW00401SFConst.BEFORE_ISP_KSSAI_USE, X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("isp_kssai_use", bean[0].sendMessageString(CKW00401SFConst.ISP_KSSAI_USE, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者タイプ
		parentMap.put("before_keisha_type_cd", bean[0].sendMessageString(CKW00401SFConst.BEFORE_KEISHA_TYPE, X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("keisha_type_cd", getCodeValueForComboBox(bean[0], "契約者タイプ"));
		// 基準日
		parentMap.put("stdardymd", bean[0].sendMessageString(CKW00401SFConst.STDARDYMD, X31CWebConst.DATABEAN_GET_VALUE));
		// ログイン認証可否
		parentMap.put("before_login_ninsho", bean[0].sendMessageString(CKW00401SFConst.BEFORE_LOGIN_NINSHO, X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("login_ninsho", bean[0].sendMessageString(CKW00401SFConst.LOGIN_NINSHO, X31CWebConst.DATABEAN_GET_VALUE));
		
/* ++++++++++ v4.00.12 追加開始 ++++++++++ */
		// 予約適用年月日
		parentMap.put("rsv_aply_ymd", bean[0].sendMessageString(CKW00401SFConst.TSTAYMD, X31CWebConst.DATABEAN_GET_VALUE));
/* ++++++++++ v4.00.12 追加終了 ++++++++++ */
/* ++++++++++ v4.00.13 追加開始 ++++++++++ */
		// ユーザーＩＤ
		parentMap.put("user_id", commonBean.sendMessageString(CommonInfoCFConst.USER_ID, X31CWebConst.DATABEAN_GET_VALUE));
		// ユーザー名
		parentMap.put("user_nm", commonBean.sendMessageString(CommonInfoCFConst.USER_NM, X31CWebConst.DATABEAN_GET_VALUE));
/* ++++++++++ v4.00.13 追加終了 ++++++++++ */
// ANK3706-00-00 ADD START
		// 契約者電話番号
		// ANK-3814-00-00 MOD START
		//parentMap.put("before_gen_telno", bean[0].sendMessageString(CKW00401SFConst.BEFORE_GEN_TELNO, X31CWebConst.DATABEAN_GET_VALUE));
		//parentMap.put("gen_telno", bean[0].sendMessageString(CKW00401SFConst.GEN_TELNO, X31CWebConst.DATABEAN_GET_VALUE));
		// 指示書連携しないため更新前後の契約者電話番号に""を設定する。
		parentMap.put("before_gen_telno", "");
		parentMap.put("gen_telno", "");
		// ANK-3814-00-00 MOD END
		//変更前＿ログイン認証レベル
		parentMap.put("before_authentication_level", bean[0].sendMessageString(CKW00401SFConst.BEFORE_AUTHENTICATION_LEVEL, X31CWebConst.DATABEAN_GET_VALUE));
		//ログイン認証レベルを変換して設定する
		if("3".equals(getCodeValueForComboBox(bean[0], CKW00401SFConst.LOGIN_NINSHO_LV)))
		{
			parentMap.put("authentication_level","2");
		}
		// ANK-4236-00-00 ADD START
		else if(LOGIN_NINSHO_LV_LV1_SMS.equals(getCodeValueForComboBox(bean[0], CKW00401SFConst.LOGIN_NINSHO_LV)))
		{
			// レベル１（SMS）が選択されている場合、レベル１を設定
			parentMap.put("authentication_level","1");
		}
		// ANK-4236-00-00 ADD END
		else 
		{
			parentMap.put("authentication_level",getCodeValueForComboBox(bean[0], CKW00401SFConst.LOGIN_NINSHO_LV));
		}
		//変更前＿ワンタイムキー送付先優先区分
		parentMap.put("before_onetimekey_destination", bean[0].sendMessageString(CKW00401SFConst.BEFORE_ONETIMEKEY_DESTINATION,  X31CWebConst.DATABEAN_GET_VALUE));
		//ワンタイムキー送付先優先区分を変換して設定する
		if ("1".equals(bean[0].sendMessageString(CKW00401SFConst.LOGIN_NINSHO_LV_CHG_FLG,  X31CWebConst.DATABEAN_GET_VALUE)))
		{
			if("0".equals(getCodeValueForComboBox(bean[0], CKW00401SFConst.LOGIN_NINSHO_LV)) || "1".equals(getCodeValueForComboBox(bean[0], CKW00401SFConst.LOGIN_NINSHO_LV)))
			{
				parentMap.put("onetimekey_destination","");
				// ANK-4236-00-00 ADD START
				// パスワード有効フラグに有効を設定
				parentMap.put("enable_password_flg", ENABLE_PASSWORD_FLG_YK);
				// ANK-4236-00-00 ADD END
			}
			else
			{
				parentMap.put("onetimekey_destination", bean[0].sendMessageString(CKW00401SFConst.BEFORE_ONETIMEKEY_DESTINATION,  X31CWebConst.DATABEAN_GET_VALUE));
				// ANK-4236-00-00 ADD START
				parentMap.put("enable_password_flg", bean[0].sendMessageString(CKW00401SFConst.BEFORE_ENABLE_PASSWORD_FLG,  X31CWebConst.DATABEAN_GET_VALUE));
				// ANK-4236-00-00 ADD END
			}
		}
		else
		{
			parentMap.put("onetimekey_destination", bean[0].sendMessageString(CKW00401SFConst.BEFORE_ONETIMEKEY_DESTINATION,  X31CWebConst.DATABEAN_GET_VALUE));
			// ANK-4236-00-00 ADD START
			parentMap.put("enable_password_flg", bean[0].sendMessageString(CKW00401SFConst.BEFORE_ENABLE_PASSWORD_FLG,  X31CWebConst.DATABEAN_GET_VALUE));
			// ANK-4236-00-00 ADD END
		}
// ANK3706-00-00 ADD END
		
		outputMap.put("CKSV000923CC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000926CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		X31SDataBeanAccess subbean = bean[0].getDataBeanArray(CKW00401SFConst.CUST_KEI_HKTGI_LIST).getDataBean(0);
		
		// お客様変更時工事案件反映CC実行判定フラグ
		boolean updKojiAnkenNameCCExecFlg = isExecUpdKojiAnkenNameCC(bean[0], parentMap);
		
		if(updKojiAnkenNameCCExecFlg)
		{
			// 顧客契約引継リスト.SYSID → お客様変更時工事案件反映マップ.SYSID
			parentMap.put("sysid", subbean.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
			// 顧客契約引継リスト.サービス契約番号 → お客様変更時工事案件反映マップ.ＫＥＹ＿サービス契約番号
			parentMap.put("key_svc_kei_no", subbean.sendMessageString(CKW00401SFConst.SVC_KEI_NO_05, X31CWebConst.DATABEAN_GET_VALUE));
			
			// システム日付 → お客様変更時工事案件反映マップ.ＫＥＹ＿システム日付
			parentMap.put("key_system_dtm", JCCWebCommon.getSysDateTimeStamp());
			// 運用日付 → お客様変更時工事案件反映マップ.ＫＥＹ＿運用日付
			parentMap.put("key_opedate", bean[0].sendMessageString(CKW00401SFConst.STDARDYMD, X31CWebConst.DATABEAN_GET_VALUE));
		}
		
		// お客様変更時工事案件反映マップ.異動区分遷移フラグ
		parentMap.put("ido_div_seni_flg", bean[0].sendMessageBoolean("異動区分遷移フラグ", X31CWebConst.DATABEAN_GET_VALUE));
		
		// お客様変更時工事案件反映マップ.お客様変更時工事案件反映CC実行判定フラグ
		parentMap.put("kojiankencc_exec_flg", updKojiAnkenNameCCExecFlg);
		
		outputMap.put("CKSV000926CC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000927CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		X31SDataBeanAccess custbean = bean[0].getDataBeanArray(JCKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST).getDataBean(0);

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		boolean chgFlg = isUpdValueCheck(bean[0], "4");
		int count = (Integer)bean[0].sendMessage(CKW00401SFConst.RNK_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_COUNT);
		if (count == 0)
		{
			chgFlg = false;
		}
		
		// 実行モード
		parentMap.put("exec_flg", "1");
		// 住所変更有無フラグ
		parentMap.put("ad_chg_um_flg", chgFlg);
		// 異動区分
		parentMap.put("ido_div", custbean.sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		// 基準日 → 回線場所変更宅内連携CCマップ.基準年月日
		parentMap.put("base_ymd", bean[0].sendMessageString(CKW00401SFConst.STDARDYMD, X31CWebConst.DATABEAN_GET_VALUE));
		// 住所コード → 回線場所変更宅内連携CCマップ.住所コード
		// 郵便番号 → 回線場所変更宅内連携CCマップ.郵便番号
		// 都道府県 → 回線場所変更宅内連携CCマップ.都道府県名
		// 市区町村 → 回線場所変更宅内連携CCマップ.市区町村名
		// 大字通称 → 回線場所変更宅内連携CCマップ.大字通称名
		// 字丁目 → 回線場所変更宅内連携CCマップ.字丁目名
		// 番地・号 → 回線場所変更宅内連携CCマップ.番地号
		// 建物名 → 回線場所変更宅内連携CCマップ.建物名
		// 部屋番号 → 回線場所変更宅内連携CCマップ.部屋番号
		parentMap = setAdInf(bean[0], parentMap, "3");
		
		StringBuilder sb = new StringBuilder();
		String kanma = "";
		for (int i = 0; i < count; i++)
		{
			sb.append(kanma);
			sb.append(bean[0].sendMessageString("連携用サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE, i));
			kanma = ",";
		}
		
		// 連携用サービス契約番号 → 回線場所変更宅内連携CCマップ.サービス契約番号リスト
		parentMap.put("svc_kei_no_list", sb.toString());
		
		// ******** v5.00.00 開始 **********
		// 画面上で上書き反映チェックがONの場合
		boolean screen = bean[0].sendMessageBoolean(CKW00401SFConst.ONSCREEN_COPY_BTN, X31CWebConst.DATABEAN_GET_VALUE);
		if (screen)
		{
			parentMap.put("input_flg", "0");
		}
		else
		{
			// 手動入力チェックボックスの選択値を設定
			parentMap.put("input_flg", getManInputFlg(bean[0], CKW00401SFConst.GEN_AD_CD, CKW00401SFConst.GEN_REGAI_INPUT_BTN));
		}
		// ******** v5.00.00 終了 **********
		
		outputMap.put("CKSV000927CC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param commonBean
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	// ANK-4346-00-00 MOD START
//	public HashMap setCKSV000924SC(X31SDataBeanAccess[] bean, X31SDataBeanAccess commonBean, HashMap outputMap, String func_code)
	public HashMap setCKSV000924CC(X31SDataBeanAccess[] bean, X31SDataBeanAccess commonBean, HashMap outputMap, String func_code)
	// ANK-4346-00-00 MOD END
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		X31SDataBeanAccess subbean = bean[0].getDataBeanArray(CKW00401SFConst.CUST_KEI_HKTGI_LIST).getDataBean(0);
		
		// ＳＹＳＩＤ → CCMG連携処理呼出(PMP連携)マップ.入力ＳＹＳＩＤ
		parentMap.put("in_sys_id", subbean.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更前会員種別 → CCMG連携処理呼出(PMP連携)マップ.変更前会員種別
		parentMap.put("mmb_sbt_bf", bean[0].sendMessageString("変更前会員種別コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 会員種別 → CCMG連携処理呼出(PMP連携)マップ.変更後会員種別
		parentMap.put("mmb_sbt_af", getCodeValueForComboBox(bean[0], "会員種別"));
		// ユーザーＩＤ → CCMG連携処理呼出(PMP連携)マップ.更新者ＩＤ
		parentMap.put("upd_id", commonBean.sendMessageString(CommonInfoCFConst.USER_ID, X31CWebConst.DATABEAN_GET_VALUE));
		// ユーザー名 → CCMG連携処理呼出(PMP連携)マップ.更新者名
		parentMap.put("upd_nm", commonBean.sendMessageString(CommonInfoCFConst.USER_NM, X31CWebConst.DATABEAN_GET_VALUE));

		// ANK-4346-00-00 MOD START
//		outputMap.put("CKSV000924SC", parentMap);
		outputMap.put("CKSV000924CC", parentMap);
		// ANK-4346-00-00 MOD END
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000925SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		X31SDataBeanAccess subbean = bean[0].getDataBeanArray(CKW00401SFConst.CUST_KEI_HKTGI_LIST).getDataBean(0);
		
		// ＳＹＳＩＤ → お客様<個人>本登録マップ.ＳＹＳＩＤ
		parentMap.put("sysid", subbean.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
		// 基準日 → お客様<個人>本登録マップ.入会年月日
		parentMap.put("join_ymd", bean[0].sendMessageString(CKW00401SFConst.TSTAYMD, X31CWebConst.DATABEAN_GET_VALUE));
		// お客様ステータス → お客様<個人>本登録マップ.お客様ステータス
		parentMap.put("cust_stat", bean[0].sendMessageString("お客様ステータス", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CKSV000925SC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：メール再送信依頼
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param sysdate
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000931CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String sysdate)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		X31SDataBeanAccess subBean = bean[0].getDataBeanArray(JCKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST).getDataBean(0);
		String memberSbt = getCodeValueForComboBox(bean[0], CKW00401SFConst.MEMBER_SBT);
		boolean defCntMidoi = bean[0].sendMessageBoolean(CKW00401SFConst.CTL_DEF_CNT_MIDOI, X31CWebConst.DATABEAN_GET_VALUE);
		String custNm = bean[0].sendMessageString(CKW00401SFConst.REFERENCE_CONT_CUST_NM, X31CWebConst.DATABEAN_GET_VALUE);
		String custKana = bean[0].sendMessageString(CKW00401SFConst.REFERENCE_CONT_CUST_KANA, X31CWebConst.DATABEAN_GET_VALUE);

		// マスター会員（個人）で同意の場合
		if (JCKCommonConst.CD00039_MASTER_KOJIN.equals(memberSbt) && !defCntMidoi)
		{
			custNm = bean[0].sendMessageString(CKW00401SFConst.REFERENCE_KEISHA_NM, X31CWebConst.DATABEAN_GET_VALUE);
			custKana = bean[0].sendMessageString(CKW00401SFConst.REFERENCE_KEISHA_NM_KANA, X31CWebConst.DATABEAN_GET_VALUE);
		}
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// お客様変更_メール送信CCマップ.ＫＥＹ＿メールコード
		parentMap.put("key_mail_cd", "CKM1000001");
		// お客様変更_メール送信CCマップ.メールID採番区分
		parentMap.put("mail_id_kbn", "1");
		/* ++++++++++ v5.00.03 修正開始 ++++++++++ */
		// 以下の項目はJCKCustInfChgMailSendCCで設定するため削除しています
//		// お客様変更_メール送信CCマップ.送信元メールアドレス
//		parentMap.put("sendm_mlad", "info@eonet.ne.jp");
		/* ++++++++++ v5.00.03 修正終了 ++++++++++ */
		
		// お客様変更_メール送信CCマップ.メール送信パターンコード
		parentMap.put("mail_send_pattern_cd", "01");
		
		ArrayList<HashMap<String, Object>> list1 = new ArrayList<HashMap<String, Object>>();
		HashMap<String, Object> childMap1 = new HashMap<String, Object>();
		
		// お客様変更_メール送信CCマップ.送信先一覧明細.メールアドレス
		childMap1.put("mlad", bean[0].sendMessageString(CKW00401SFConst.REFERENCE_CONT_MLAD, X31CWebConst.DATABEAN_GET_VALUE));
		// お客様変更_メール送信CCマップ.送信先一覧明細.メールアドレス設定フィールド
		childMap1.put("mlad_set_field_cd", "01");
		
		list1.add(childMap1);
		parentMap.put("ECC0021D010CBSMsg1List", list1);
		
		ArrayList<HashMap<String, Object>> list2 = new ArrayList<HashMap<String, Object>>();
		HashMap<String, Object> childMap2 = new HashMap<String, Object>();
//********* v5.01.00 追加開始 *******************************
		HashMap<String, Object> mojiMap1 = new HashMap<String, Object>();
		String before_eoId =  bean[0].sendMessageString("変更前ｅｏＩＤ", X31CWebConst.DATABEAN_GET_VALUE);
		String after_eoId =  bean[0].sendMessageString("ｅｏＩＤ", X31CWebConst.DATABEAN_GET_VALUE);
		
		// お客様変更_メール送信CCマップ.非定型文字列一覧明細.本文非定型置換文字
		childMap2.put("text_htk_ckam_moji", custNm);
		list2.add(childMap2);
		
		if(before_eoId.equals(after_eoId))
		{
			mojiMap1.put("text_htk_ckam_moji",  before_eoId);
		}
		else
		{
			mojiMap1.put("text_htk_ckam_moji",  after_eoId);
		}
		list2.add(mojiMap1);
		parentMap.put("ECC0021D010CBSMsg2List", list2);
//********* v5.01.00 追加終了 ******************************
		ArrayList<HashMap<String, Object>> list3 = new ArrayList<HashMap<String, Object>>();
		parentMap.put("ECC0021D010CBSMsg3List", list3);
		
		ArrayList<HashMap<String, Object>> list4 = new ArrayList<HashMap<String, Object>>();
		parentMap.put("ECC0021D010CBSMsg4List", list4);
		
		ArrayList<HashMap<String, Object>> list5 = new ArrayList<HashMap<String, Object>>();
		HashMap<String, Object> childMap5 = new HashMap<String, Object>();
		
		/* ++++++++++ v5.00.03 修正開始 ++++++++++ */
		// 以下の項目はJCKCustInfChgMailSendCCで設定するため削除しています
		// お客様変更_メール送信CCマップ.メールヘッダー一覧明細.メールヘッダーキー
//		childMap5.put("mail_header_key", "Reply-To");
//		// 送信先メールアドレス送信依頼登録マップ.メールヘッダー一覧明細.メールヘッダー値
//		childMap5.put("mail_header_value", "info@eonet.ne.jp");
		/* ++++++++++ v5.00.03 修正終了 ++++++++++ */
		
		list5.add(childMap5);
		parentMap.put("ECC0021D010CBSMsg5List", list5);
		
		// お客様変更_メール送信CCマップ.SYSID
		parentMap.put("sysid", subBean.sendMessageString(JCKCommonConst.HKTGI_SYSID, X31CWebConst.DATABEAN_GET_VALUE));
		// お客様変更_メール送信CCマップ.メール送信年月日時分秒
		parentMap.put("mail_send_dtm", sysdate);
		// お客様変更_メール送信CCマップ.メール送信状態コード
		parentMap.put("mail_send_stat_cd", "1");
		// お客様変更_メール送信CCマップ.送信先メールアドレス
		parentMap.put("sends_mlad", bean[0].sendMessageString(CKW00401SFConst.REFERENCE_CONT_MLAD, X31CWebConst.DATABEAN_GET_VALUE));
		// お客様変更_メール送信CCマップ.eoID
		parentMap.put("eoid", bean[0].sendMessageString(CKW00401SFConst.REFERENCE_EOID, X31CWebConst.DATABEAN_GET_VALUE));
		// お客様変更_メール送信CCマップ.送信先契約者カナ名
		parentMap.put("sends_ksh_kana", custKana);
		// お客様変更_メール送信CCマップ.コンテンツサービスコード
		parentMap.put("cont_svc_cd", "");
		
		outputMap.put("CKSV000931CC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000928CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		X31SDataBeanAccess subbean = bean[0].getDataBeanArray(CKW00401SFConst.CUST_KEI_HKTGI_LIST).getDataBean(0);

		// 顧客契約引継リスト.サービス契約番号 → 申込画面入力支援ワーク情報更新マップ.ＫＥＹ＿サービス契約番号
		parentMap.put("key_svc_kei_no", subbean.sendMessageString(CKW00401SFConst.SVC_KEI_NO_05, X31CWebConst.DATABEAN_GET_VALUE));
		// 申込画面入力支援ワーク情報更新マップ.契約者情報タブ制御コード
		parentMap.put("ksh_if_tab_ctl_cd", "1");
		// 照査遷移フラグ → 申込画面入力支援ワーク情報更新マップ.照査遷移フラグ
		parentMap.put("shosa_seni_flg", bean[0].sendMessageBoolean("照査遷移フラグ", X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("CKSV000928CC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 * @exception Exception：例外が発生した場合。
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000929CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		X31SDataBeanAccess subbean = bean[0].getDataBeanArray(CKW00401SFConst.CUST_KEI_HKTGI_LIST).getDataBean(0);

		// 顧客契約引継リスト.サービス契約番号 → お客様変更一時金登録マップ.サービス契約番号
		parentMap.put("svc_kei_no", subbean.sendMessageString(CKW00401SFConst.SVC_KEI_NO_05, X31CWebConst.DATABEAN_GET_VALUE));
		// 一時支払料金番号 → お客様変更一時金登録マップ.一時支払料金番号
		parentMap.put("tmp_pay_prc_no", bean[0].sendMessageString(CKW00401SFConst.TMP_PAY_PRC_NO, X31CWebConst.DATABEAN_GET_VALUE));
		
		String keiJotoTesuryo = getCodeValueForComboBox(bean[0], CKW00401SFConst.KEI_JOTO_TESURYO);
		String setteCd = "01";
		String amnt = null;
		
		// 有りの場合
		if ("1".equals(keiJotoTesuryo))
		{
			setteCd = "02";
		}
		// 半額の場合
		else if ("2".equals(keiJotoTesuryo))
		{
			setteCd = "03";
		}
		// 指定額の場合
		else if ("3".equals(keiJotoTesuryo))
		{
			setteCd = "04";
			amnt = bean[0].sendMessageString(CKW00401SFConst.KEI_JOTO_TESURYO_AMNT, X31CWebConst.DATABEAN_GET_VALUE);
		}
		
		// お客様変更一時金登録マップ.一時金設定コード
		parentMap.put("icjkn_sette_cd", setteCd);
		// 契約譲渡手数料金額 → お客様変更一時金登録マップ.一時金指定額
		parentMap.put("icjkn_shitei_amnt", amnt);
		// 制御＿契約譲渡手数料 → お客様変更一時金登録マップ.制御＿契約譲渡手数料
		parentMap.put("ctl_kei_joto_tesuryo", bean[0].sendMessageString(CKW00401SFConst.CTL_KEI_JOTO_TESURYO, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("CKSV000929CC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000930CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		HashMap<String, Object> workMap = new HashMap<String, Object>();
		ArrayList list = new ArrayList();
		boolean exeCtlFlg = false;

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		X31SDataBeanAccess subbean = bean[0].getDataBeanArray(CKW00401SFConst.CUST_KEI_HKTGI_LIST).getDataBean(0);
		int count = (Integer)bean[0].sendMessage(CKW00401SFConst.KOSHU_MUSEN_LAN_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_COUNT);
		
		for (int i = 0; i < count; i++)
		{
			HashMap subMap = new HashMap();
			
			// 公衆無線ＬＡＮ用サービス契約番号 → サービス契約一覧明細.ＫＥＹ＿サービス契約番号
			subMap.put("key_svc_kei_no", bean[0].sendMessageString("公衆無線ＬＡＮ用サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE, i));
			// 公衆無線ＬＡＮ用料金コースコード → サービス契約一覧明細.ＫＥＹ＿料金コースコード
			subMap.put("key_pcrs_cd", bean[0].sendMessageString("公衆無線ＬＡＮ用料金コースコード", X31CWebConst.DATABEAN_GET_VALUE, i));
			
			list.add(subMap);
			exeCtlFlg = true;
		}
		
		// 対象無しの場合
		if (exeCtlFlg == false)
		{
			return outputMap;
		}
		
		// サービス契約一覧明細
		parentMap.put("svc_kei_no_list", list);
		// "0" → ＫＥＹ＿サービス期間中フラグ
		parentMap.put("key_svc_prd_flg", "0");
		// サービス契約内訳一覧照会マップ
		outputMap.put("CKSV000930CC", parentMap);
		
		// ＳＹＳＩＤ → 変更前ＳＹＳＩＤ
		workMap.put("before_sysid", subbean.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
		// グループリーダーＳＹＳＩＤ → 変更後ＳＹＳＩＤ
		workMap.put("after_sysid", bean[0].sendMessageString("グループリーダーＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 基準日 → オンライン処理日
		workMap.put("ope_date", bean[0].sendMessageString(CKW00401SFConst.STDARDYMD, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV034402CC", new HashMap());
		// 公衆無線LAN利用者変更作業項目マップ01
		outputMap.put("KKSV0344WORK01", workMap);
		
		return outputMap;
	}
/* ++++++++++ v4.02.00 追加開始 ++++++++++ */
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：メール再送信依頼
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000932CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 回線場所情報が活性の場合
		if ("0".equals(bean[0].sendMessageString(CKW00401SFConst.CTL_KAISEN_PLACE, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			boolean screen = bean[0].sendMessageBoolean(CKW00401SFConst.ONSCREEN_COPY_BTN, X31CWebConst.DATABEAN_GET_VALUE);
			String copyYmd = bean[0].sendMessageString(CKW00401SFConst.COPY_RSVD, X31CWebConst.DATABEAN_GET_VALUE);
			String copyBtn = "0";
			
			if (bean[0].sendMessageBoolean(CKW00401SFConst.UEPCAD_COPY_BTN, X31CWebConst.DATABEAN_GET_VALUE))
			{
				copyBtn = "1";
			}
			
			// 画面反映がONで変更があった場合
			if (isSvcKeiKaisenUcwkCheck(bean[0], copyBtn, copyYmd))
			{
				// ＫＥＹ＿サービス契約回線内訳番号
				parentMap.put("key_svc_kei_kaisen_ucwk_no", bean[0].sendMessageString(CKW00401SFConst.SVC_KEI_KAISEN_UCWK_NO, X31CWebConst.DATABEAN_GET_VALUE));
				// 更新年月日時分秒(更新前)
				parentMap.put("upd_dtm_bf", bean[0].sendMessageString(CKW00401SFConst.LAST_UPD_DTM, X31CWebConst.DATABEAN_GET_VALUE));
				
				if (screen)
				{
					// 契約者住所変更有無
					parentMap.put("kshad_chg_um", "0");
					// 契約者住所変更希望年月日
					parentMap.put("kshad_chg_kibo_ymd", null);
				}
				else
				{
					// 契約者住所変更有無
					parentMap.put("kshad_chg_um", copyBtn);
					// 契約者住所変更希望年月日
					parentMap.put("kshad_chg_kibo_ymd", bean[0].sendMessageString(CKW00401SFConst.COPY_RSVD, X31CWebConst.DATABEAN_GET_VALUE));
				}
			}
		}
		
		outputMap.put("CKSV000932CC", parentMap);
		
		return outputMap;
	}
/* ++++++++++ v4.02.00 追加終了 ++++++++++ */
/* ++++++++++ v4.03.00 追加開始 ++++++++++ */
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：メール再送信依頼
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	// OM-2020-0000919 MOD START
//	public HashMap setCKSV000933CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	public HashMap setCKSV000933CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String nameUpdFlg)
	// OM-2020-0000919 MOD END
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		X31SDataBeanAccess subbean = bean[0].getDataBeanArray(CKW00401SFConst.CUST_KEI_HKTGI_LIST).getDataBean(0);
		
		// SYSID
		parentMap.put("sysid", subbean.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分
		parentMap.put("ido_div", subbean.sendMessageString(CKW00401SFConst.IDO_DIV_05, X31CWebConst.DATABEAN_GET_VALUE));
		// フェムトセル異動詳細コード
		parentMap.put("fmtcel_ido_dtl_cd", "00");
		// OM-2020-0000919 ADD START
		// 契約者名更新フラグ
		parentMap.put("keisha_nm_upd_flg", nameUpdFlg);
		// OM-2020-0000919 ADD END
		
		outputMap.put("CKSV000933CC", parentMap);
		
		return outputMap;
	}
/* ++++++++++ v4.03.00 追加終了 ++++++++++ */
/* ++++++++++ v4.13.00 追加開始 ++++++++++ */
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：CCMG連携処理呼出
	 * @param commonBean
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000934CC(X31SDataBeanAccess[] bean, X31SDataBeanAccess commonBean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}
		
		if (commonBean == null)
		{
			return null;
		}
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		X31SDataBeanAccess subbean = bean[0].getDataBeanArray(CKW00401SFConst.CUST_KEI_HKTGI_LIST).getDataBean(0);
		
		// SYSID
		parentMap.put("sysid", subbean.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
		// 会員種別
		parentMap.put("member_sbt_cd", getCodeValueForComboBox(bean[0], CKW00401SFConst.MEMBER_SBT));
		// ＩＳＰ決済利用
		String ispKssaiUse = bean[0].sendMessageString(CKW00401SFConst.ISP_KSSAI_USE, X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put("isp_kssai_use", ispKssaiUse);
		// 変更前ＩＳＰ決済利用
		String bfIspKssaiUse = bean[0].sendMessageString(CKW00401SFConst.BEFORE_ISP_KSSAI_USE, X31CWebConst.DATABEAN_GET_VALUE);
		// ＩＳＰ決済利用変更フラグ
		if (bfIspKssaiUse.equals(ispKssaiUse))
		{
			parentMap.put("isp_kssai_use_chg_flg", "0");
		}
		else
		{
			parentMap.put("isp_kssai_use_chg_flg", "1");
		}
		// ユーザーＩＤ
		parentMap.put("user_id", commonBean.sendMessageString(CommonInfoCFConst.USER_ID, X31CWebConst.DATABEAN_GET_VALUE));
		// ユーザー名
		parentMap.put("user_nm", commonBean.sendMessageString(CommonInfoCFConst.USER_NM, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("CKSV000934CC", parentMap);
		
		return outputMap;
	}
/* ++++++++++ v4.13.00 追加終了 ++++++++++ */

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param outputMap
	 * @param addSjishoFlg
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV0009WORK01(X31SDataBeanAccess[] bean, HashMap outputMap, boolean addSjishoFlg)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 変更前契約者タイプ.コードタイプコード → お客様情報変更_確定サービス作業項目マップ01.変更前契約者タイプコード
		parentMap.put("before_keisha_type_cd", bean[0].sendMessageString(CKW00401SFConst.BEFORE_KEISHA_TYPE, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者タイプ.コードタイプコード → お客様情報変更_確定サービス作業項目マップ01.契約者タイプコード
		parentMap.put("keisha_type_cd", getCodeValueForComboBox(bean[0], CKW00401SFConst.KEISHA_TYPE));
		// 変更前会員種別.コードタイプコード → お客様情報変更_確定サービス作業項目マップ01.変更前会員種別コード
		parentMap.put("before_member_sbt_cd", bean[0].sendMessageString(CKW00401SFConst.BEFORE_MEMBER_SBT, X31CWebConst.DATABEAN_GET_VALUE));
		// 会員種別.コードタイプコード → お客様情報変更_確定サービス作業項目マップ01.会員種別コード
		parentMap.put("member_sbt_cd", getCodeValueForComboBox(bean[0], CKW00401SFConst.MEMBER_SBT));
		// 変更前ニックネーム → お客様情報変更_確定サービス作業項目マップ01.変更前ニックネーム
		parentMap.put("before_nkname", bean[0].sendMessageString("変更前ニックネーム", X31CWebConst.DATABEAN_GET_VALUE));
		// ニックネーム → お客様情報変更_確定サービス作業項目マップ01.ニックネーム
		parentMap.put("nkname", bean[0].sendMessageString("ニックネーム", X31CWebConst.DATABEAN_GET_VALUE));
		// 変更前eoID → お客様情報変更_確定サービス作業項目マップ01.変更前eoID
		parentMap.put("before_eoid", bean[0].sendMessageString("変更前ｅｏＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// eoID → お客様情報変更_確定サービス作業項目マップ01.eoID
		parentMap.put("eoid", bean[0].sendMessageString("ｅｏＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 予約フラグ
		parentMap.put("rsv_flg", JPCUtilCommon.isFutureDate(bean[0].sendMessageString(CKW00401SFConst.TSTAYMD, X31CWebConst.DATABEAN_GET_VALUE),
															bean[0].sendMessageString(CKW00401SFConst.STDARDYMD, X31CWebConst.DATABEAN_GET_VALUE),
															"0"));
		// お客様一覧照会遷移フラグ
		parentMap.put("cust_list_seni_flg", bean[0].sendMessageBoolean(CKW00401SFConst.CUST_LIST_SENI_FLG, X31CWebConst.DATABEAN_GET_VALUE));
		// 指示書登録判定フラグ
		parentMap.put("add_sjisho_flg", addSjishoFlg);
		
		outputMap.put("CKSV0009WORK01", parentMap);
						
		return outputMap;
	}
	
	// ANK-3243-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param outputMap
	 * @param addSjishoFlg
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000935CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		X31SDataBeanAccess subbean = bean[0].getDataBeanArray(CKW00401SFConst.CUST_KEI_HKTGI_LIST).getDataBean(0);
		String type = getCodeValueForComboBox(bean[0], "契約者タイプ");

		//更新前　組織グループコード
		String beforeGrpOrgCd = bean[0].sendMessageString(CKW00401SFConst.BEFORE_GRP_ORG_CD, X31CWebConst.DATABEAN_GET_VALUE);
		//更新前　組織チームコード
		String beforeTeamOrgCd = bean[0].sendMessageString(CKW00401SFConst.BEFORE_TEAM_ORG_CD, X31CWebConst.DATABEAN_GET_VALUE);
		//更新後　組織グループコード
		String afterGrpOrgCd = getCodeValueForComboBox(bean[0], CKW00401SFConst.GRP_ORG_CD);
		//更新後　組織グループコード
		String afterTeamOrgCd = getCodeValueForComboBox(bean[0], CKW00401SFConst.TEAM_ORG_CD);
		//自社利用組織＿最終更新年月日時分秒
		String jishaUseOrgLastUpdDtm = bean[0].sendMessageString(CKW00401SFConst.JISHA_USE_ORG_LAST_UPD_DTM, X31CWebConst.DATABEAN_GET_VALUE);
		//自社利用の場合
		if (JCKCommonConst.CD00036_JISHA_USE.equals(type))
		{
			
			//更新前　組織グループコード・更新前　組織チームコードが空の場合、登録を行う
			if ((beforeGrpOrgCd == null || "".equals(beforeGrpOrgCd)) &&
					(beforeTeamOrgCd == null || "".equals(beforeTeamOrgCd)))
			{
				//登録モード
				parentMap.put("shori_div", "3");
				// SYSID → SYSID
				parentMap.put("sysid", subbean.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
				// グループ組織コード → グループ組織コード
				parentMap.put("grp_org_cd", getCodeValueForComboBox(bean[0], CKW00401SFConst.GRP_ORG_CD));
				// チーム組織コード → チーム組織コード
				parentMap.put("team_org_cd", getCodeValueForComboBox(bean[0], CKW00401SFConst.TEAM_ORG_CD));
			}
			else if ((!beforeGrpOrgCd.equals(afterGrpOrgCd)) ||
					(!beforeTeamOrgCd.equals(afterTeamOrgCd)))
			{
				//更新モード
				parentMap.put("shori_div", "2");
				// SYSID → SYSID
				parentMap.put("sysid", subbean.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
				// グループ組織コード → グループ組織コード
				parentMap.put("grp_org_cd", getCodeValueForComboBox(bean[0], CKW00401SFConst.GRP_ORG_CD));
				// チーム組織コード → チーム組織コード
				parentMap.put("team_org_cd", getCodeValueForComboBox(bean[0], CKW00401SFConst.TEAM_ORG_CD));
				// 更新年月日時分秒(更新前) → 更新年月日時分秒(更新前) 
				parentMap.put("upd_dtm_bf", bean[0].sendMessageString(CKW00401SFConst.JISHA_USE_ORG_LAST_UPD_DTM, X31CWebConst.DATABEAN_GET_VALUE));

			}
		}
		//自社利用以外
		else
		{
			//自社利用組織＿最終更新年月日時分秒が空の場合
			if (jishaUseOrgLastUpdDtm == null || "".equals(jishaUseOrgLastUpdDtm))
			{
				return null;
			}
			//削除モード
			parentMap.put("shori_div", "4");
			// SYSID → SYSID
			parentMap.put("sysid", subbean.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
			// グループ組織コード → グループ組織コード
			parentMap.put("grp_org_cd", getCodeValueForComboBox(bean[0], CKW00401SFConst.GRP_ORG_CD));
			// チーム組織コード → チーム組織コード
			parentMap.put("team_org_cd", getCodeValueForComboBox(bean[0], CKW00401SFConst.TEAM_ORG_CD));
			// 更新年月日時分秒(更新前) → 更新年月日時分秒(更新前) 
			parentMap.put("upd_dtm_bf", bean[0].sendMessageString(CKW00401SFConst.JISHA_USE_ORG_LAST_UPD_DTM, X31CWebConst.DATABEAN_GET_VALUE));
		}

		outputMap.put("CKSV000935CC", parentMap);
						
		return outputMap;
	}
	
	// ANK-3243-00-00 ADD END
	
	// ANK-3458-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param outputMap
	 * @param addSjishoFlg
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000936CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}
		
		// 基準日の取得
		String stdardYmd = bean[0].sendMessageString(CKW00401SFConst.STDARDYMD, X31CWebConst.DATABEAN_GET_VALUE);
		// 適用開始年月日の取得
		String aplyYmd = JPCUtilCommon.concatYmd(bean[0].sendMessageString(CKW00401SFConst.TSTA_YEAR, X31CWebConst.DATABEAN_GET_VALUE),
												bean[0].sendMessageString(CKW00401SFConst.TSTA_MON, X31CWebConst.DATABEAN_GET_VALUE),
												bean[0].sendMessageString(CKW00401SFConst.TSTA_DAY, X31CWebConst.DATABEAN_GET_VALUE));
		// 適用開始日が運用日より未来の日付の場合、処理をしない
		if (JPCUtilCommon.isFutureDate(aplyYmd, stdardYmd, "0"))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		X31SDataBeanAccess subbean = bean[0].getDataBeanArray(CKW00401SFConst.CUST_KEI_HKTGI_LIST).getDataBean(0);

		// SYSID → SYSID
		parentMap.put("sysid", subbean.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分
		parentMap.put("ido_div", subbean.sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CKSV000936CC", parentMap);
						
		return outputMap;
	}
	
	// ANK-3458-00-00 ADD END
	// ANK-4112-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 * @exception Exception：例外が発生した場合。
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000937CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		X31SDataBeanAccess subbeanSysid = bean[0].getDataBeanArray(JCKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST).getDataBean(0);
		X31SDataBeanAccessArray subbeanTuh = bean[0].getDataBeanArray(CKW00401SFConst.TUHDT_KATY_DOI_KMK_LIST);
		
		ArrayList list = new ArrayList();
		
		// SYSID → SYSID
		parentMap.put("sysid", subbeanSysid.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
		
		for (int i = 0; i < subbeanTuh.getCount(); i++)
		{
			X31SDataBeanAccess subbean = subbeanTuh.getDataBean(i);
			HashMap data = new HashMap();
			
			// 通秘データ活用同意項目リスト
			data.put("tuhdt_katy_doi_no", subbean.sendMessageString(CKW00401SFConst.TUHDT_KATY_DOI_NO_09, X31CWebConst.DATABEAN_GET_VALUE));
			data.put("gene_add_dtm", subbean.sendMessageString(CKW00401SFConst.GENE_ADD_DTM_09, X31CWebConst.DATABEAN_GET_VALUE));
			data.put("tuhdt_katy_doi_sbt_cd", subbean.sendMessageString(CKW00401SFConst.TUHDT_KATY_DOI_SBT_CD_09, X31CWebConst.DATABEAN_GET_VALUE));
			data.put("tuhdt_katy_doi_sbt_cd_nm", subbean.sendMessageString(CKW00401SFConst.TUHDT_KATY_DOI_SBT_CD_NM_09, X31CWebConst.DATABEAN_GET_VALUE));
			data.put("tuhdt_katy_doi_cd", subbean.sendMessageString(CKW00401SFConst.TUHDT_KATY_DOI_CD_09, X31CWebConst.DATABEAN_GET_VALUE));
			data.put("tuhdt_katy_doi_cd_nm", subbean.sendMessageString(CKW00401SFConst.TUHDT_KATY_DOI_CD_NM_09, X31CWebConst.DATABEAN_GET_VALUE));
			data.put("tuhdt_katy_doi_sette_ymd", subbean.sendMessageString(CKW00401SFConst.TUHDT_KATY_DOI_SETTE_YMD_09, X31CWebConst.DATABEAN_GET_VALUE));
			data.put("upd_dtm", subbean.sendMessageString(CKW00401SFConst.UPD_DTM_09, X31CWebConst.DATABEAN_GET_VALUE));
			data.put("tuhdt_katy_doi_check_flg", subbean.sendMessageBoolean(CKW00401SFConst.TUHDT_KATY_DOI_CHECK_FLG_09, X31CWebConst.DATABEAN_GET_VALUE));
			list.add(data);
			
		}
		
		// 通秘データ活用同意項目リスト
		parentMap.put("tuhdt_doi_kmk_list", list);
		
		outputMap.put("CKSV000937CC", parentMap);
						
		return outputMap;
	}
	// ANK-4112-00-00 ADD END
	// ANK-3706-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様情報変更
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV000940SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		X31SDataBeanAccess subbean = bean[0].getDataBeanArray(CKW00401SFConst.CUST_KEI_HKTGI_LIST).getDataBean(0);
		
		// ＳＹＳＩＤ → 信頼済端末削除マップ.ＳＹＳＩＤ
		parentMap.put("key_sysid", subbean.sendMessageString(CKW00401SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("CKSV000940SC", parentMap);
		
		return outputMap;
	}
	// ANK-3706-00-00 ADD END
	/**
	 * ゴンボボックスから選択された名称のコード値を取得します。
	 * <br>
	 * @param bean 画面情報
	 * @param comboName コンボボックス名称
	 * 
	 * @return String 選択されているコード値
	 * <br>
	 */
	private String getCodeValueForComboBox(X31SDataBeanAccess bean, String comboName)
	{
		X31SDataBeanAccess subBean = bean.getDataBeanArray(comboName).getDataBean(0);
		String selectIndex = subBean.sendMessageString(CKW00401SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_GET_VALUE);
		
		if (selectIndex == null || "".equals(selectIndex))
		{
			return "";
		}
		
		return subBean.sendMessageString(CKW00401SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(selectIndex));
	}
	
	/**
	 * 変更前情報との差異チェックをします。
	 * <br>
	 * @param bean 画面情報
	 * @param cgbfKey 変更前項目キー
	 * @param cgafKey 変更後項目キー
	 * @return boolean チェック結果
	 */
	private boolean isCgbfToCgaf(X31SDataBeanAccess bean, String cgbfKey, String cgafKey)
	{
		String before = bean.sendMessageString(cgbfKey, X31CWebConst.DATABEAN_GET_VALUE);	// 変更前
		String after = bean.sendMessageString(cgafKey, X31CWebConst.DATABEAN_GET_VALUE);		// 変更後
		
		return isCgbfToCgaf(before, after);
	}
	
	/**
	 * 変更前情報との差異チェックをします。
	 * <br>
	 * @param strBf 変更前
	 * @param strAf 変更後
	 * @return boolean チェック結果
	 */
	private boolean isCgbfToCgaf(String strBf, String strAf)
	{
		if (strBf.equals(strAf))
		{
			return false;
		}
		
		return true;
	}
	
	/**
	 * 変更前情報との差異チェックをします。
	 * <br>
	 * @param bean 画面情報
	 * @param cgbfKey 変更前項目キー
	 * @param cgafKey 変更後項目キー
	 * @return boolean チェック結果
	 */
	private boolean isComboCgbfToCgaf(X31SDataBeanAccess bean, String cgbfKey, String cgafKey)
	{
		String before = bean.sendMessageString(cgbfKey, X31CWebConst.DATABEAN_GET_VALUE);	// 変更前
		String after = getCodeValueForComboBox(bean, cgafKey);		// 変更後
		
		return isCgbfToCgaf(before, after);
	}
	
	/**
	 * 変更前情報との差異チェックをします。
	 * <br>
	 * @param bean 画面情報
	 * @return boolean チェック結果
	 */
	private boolean isSecretCgbfToCgaf(X31SDataBeanAccess bean)
	{
		String before = bean.sendMessageString(CKW00401SFConst.BEFORE_SECRET_QUESTION_CD, X31CWebConst.DATABEAN_GET_VALUE);	// 変更前
		String after = getCodeValueForComboBox(bean, CKW00401SFConst.SECRET_QUESTION);		// 変更後
		
		if (isCgbfToCgaf(before, after)
				|| isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SECRET_QUESTION_OTR, CKW00401SFConst.SECRET_QUESTION_OTR)
				|| isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SECRET_ANS, CKW00401SFConst.SECRET_ANS))
		{
			return true;
		}
		return false;
	}
	
	/**
	 * 進捗ステータス、進捗特記事項１の設定内容を編集します。
	 * <br>
	 * @param bean 画面情報
	 * @param parentMap
	 * @param outputMap
	 * @return HashMap 
	 * <br>
	 * @throws UnsupportedEncodingException 文字コード指定にて、例外が発生した場合
	 */
	@SuppressWarnings("unchecked")
	private HashMap setPrg(X31SDataBeanAccess bean, HashMap parentMap, HashMap outputMap) throws UnsupportedEncodingException
	{
		StringBuilder keiVal1 = new StringBuilder();
		StringBuilder skshaVal = new StringBuilder();
		StringBuilder keiVal3 = new StringBuilder();
		String[] adInf = getAdInf(bean);
		String mmbSbt = getCodeValueForComboBox(bean, CKW00401SFConst.MEMBER_SBT);
		String keishaType = getCodeValueForComboBox(bean, CKW00401SFConst.KEISHA_TYPE);
		boolean defCntMidoi = bean.sendMessageBoolean(CKW00401SFConst.CTL_DEF_CNT_MIDOI, X31CWebConst.DATABEAN_GET_VALUE);
		
		// 非eo会員以外の場合
		if (!JCKCommonConst.CD00039_NOT_EO_MMB.equals(mmbSbt))
		{
			// 会員種別
			keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_MEMBER_SBT, CKW00401SFConst.MEMBER_SBT, "会員種別"));
		}
		
		// 契約者タイプ
		keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_KEISHA_TYPE, CKW00401SFConst.KEISHA_TYPE, "契約者タイプ"));
		// ANK-4075-00-00 ADD START
		// スキームタイプ
		keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_SCM_TYPE, CKW00401SFConst.SCM_TYPE, "スキームタイプ"));
		// スキーム事業者
		keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_SCM_JGS, CKW00401SFConst.SCM_JGS, "スキーム事業者"));
		// ANK-4075-00-00 ADD END
		// ++++++ v19.00.00【OM-2015-0001999】削除 開始 +++++++++
//		// マスター会員（個人）（法人）、非eo会員で予約レコードの場合
//		if (isMmbSbtMasterCheck(mmbSbt) || JCKCommonConst.CD00039_NOT_EO_MMB.equals(mmbSbt))
//		{
//			if ("2".equals(bean.sendMessageString(CKW00401SFConst.SWITCH_FLG, X31CWebConst.DATABEAN_GET_VALUE)))
//			{
//				// 適用開始日
//				keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_TSTAYMD, CKW00401SFConst.TSTAYMD, "適用開始日"));
//			}
//		}
		// ++++++ v19.00.00【OM-2015-0001999】削除 終了 +++++++++
		// ++++++ v19.00.00【OM-2015-0001999】追加 開始 +++++++++
		// ++++++ v19.00.01【OM-2015-0001999】削除 開始 +++++++++
		// 適用開始日
		//keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_TSTAYMD, CKW00401SFConst.TSTAYMD, "適用開始日"));
		// ++++++ v19.00.01【OM-2015-0001999】削除 終了 +++++++++
		// ++++++ v19.00.00【OM-2015-0001999】追加 終了 +++++++++
		// ++++++ v19.00.01【OM-2015-0001999】追加 開始 +++++++++
		// マスター会員（個人）（法人）、非eo会員で予約レコードの場合
		if (isMmbSbtMasterCheck(mmbSbt) || JCKCommonConst.CD00039_NOT_EO_MMB.equals(mmbSbt))
		{
			if ("2".equals(bean.sendMessageString(CKW00401SFConst.SWITCH_FLG, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// 適用開始日
				keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_TSTAYMD, CKW00401SFConst.TSTAYMD, "適用開始日"));
			}
		}
		// ++++++ v19.00.01【OM-2015-0001999】追加 終了 +++++++++
		
		// 会員種別がマスター会員（法人）又は、非eo会員且つ契約者タイプが個人以外の場合
		if (isHojinCheck(mmbSbt, keishaType, bean))
		{
			// 法人格種別(前後指定)
			keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_HOJIN_ZENGO_STI, CKW00401SFConst.HOJIN_ZENGO_STI, "法人格種別(前後指定)"));
			// 法人格種別
			keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_HOJIN_SBT, CKW00401SFConst.HOJIN_SBT, "法人格種別"));
		}
		
		// 契約者名（カナ）
		keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_KEISHA_NM_KANA, CKW00401SFConst.KEISHA_NM_KANA, "契約者名（カナ）"));
		// 契約者名
		keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_KEISHA_NM, CKW00401SFConst.KEISHA_NM, "契約者名"));
		
		// 会員種別がマスター会員（法人）又は、非eo会員且つ契約者タイプが個人以外の場合
		if (isHojinCheck(mmbSbt, keishaType, bean))
		{
			// 代表者役職
			keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_DIHYSHA_POST, CKW00401SFConst.DIHYSHA_POST, "代表者役職"));
			// 代表者名（カナ）
			keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_DIHYSHA_KANA, CKW00401SFConst.DIHYSHA_KANA, "代表者名（カナ）"));
			// 代表者名
			keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_DIHYSHA_NM, CKW00401SFConst.DIHYSHA_NM, "代表者名"));
		}
		// 以外の場合
		else
		{
			// 生年月日
			keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_CUST_BIRTHD, CKW00401SFConst.CUST_BIRTHD, "生年月日"));
			// 性別
			keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_CUST_SEX_CD, CKW00401SFConst.CUST_SEX_CD, "性別"));
		}
		
		// 職業／業種
		keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_JOB, CKW00401SFConst.JOB, "職業／業種"));
		// 住所（郵便番号、住所コード、住所(都道府県〜部屋番号)）
		keiVal1.append(getAdInfStr(bean, 1, adInf));
		// 電話番号
		keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_GEN_TELNO, CKW00401SFConst.GEN_TELNO, "電話番号"));
/* ++++++++++ v4.02.00 追加開始 ++++++++++ */
		// 送付先住所（郵便番号、住所コード、住所(都道府県〜部屋番号)）
		keiVal1.append(getAdInfStr(bean, 2, null));
/* ++++++++++ v4.02.00 追加終了 ++++++++++ */
		// メールアドレス
		keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_GEN_MLAD, CKW00401SFConst.GEN_MLAD, "メールアドレス"));
		// 携帯電話
		keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_RRKS_KTAI_TELNO, CKW00401SFConst.RRKS_KTAI_TELNO, "携帯電話"));
		// 勤務先名
		keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_OFFC_NM, CKW00401SFConst.OFFC_NM, "勤務先名"));
		// 勤務先電話番号
		keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_OFFC_TELNO, CKW00401SFConst.OFFC_TELNO, "勤務先電話番号"));
		// 内線番号
		keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_OFFC_NISNNO, CKW00401SFConst.OFFC_NISNNO, "内線番号"));
		// ++++++ v19.00.00【OM-2015-0000322】追加 開始 +++++++++
		// 契約譲渡手数料
		keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_KEI_JOTO_TESURYO,
				CKW00401SFConst.KEI_JOTO_TESURYO, "契約譲渡手数料"));
		// ++++++ v19.00.00【OM-2015-0000322】追加 終了 +++++++++
		// 会員種別がマスター会員（法人）又は、非eo会員且つ契約者タイプが個人以外の場合
		if (isHojinCheck(mmbSbt, keishaType, bean))
		{
			// 担当者所属部署
			keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_TNTSHA_SHOZKBSHO_NM, CKW00401SFConst.TNTSHA_SHOZKBSHO_NM, "担当者所属部署"));
			// 担当者名（カナ）
			keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_TNTSHA_KANA, CKW00401SFConst.TNTSHA_KANA, "担当者名（カナ）"));
			// 担当者名
			keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_TNTSHA_NM, CKW00401SFConst.TNTSHA_NM, "担当者名"));
		}
		// 以外の場合
		else
		{
			// 親権者名（カナ）
			skshaVal.append(getAddStr(bean, CKW00401SFConst.BEFORE_SKSHA_KANA, CKW00401SFConst.SKSHA_KANA, "親権者名（カナ）"));
			// 親権者名
			skshaVal.append(getAddStr(bean, CKW00401SFConst.BEFORE_SKSHA_NM, CKW00401SFConst.SKSHA_NM, "親権者名"));
			// 親権者生年月日
			skshaVal.append(getAddStr(bean, CKW00401SFConst.BEFORE_SKSHA_BIRTHD, CKW00401SFConst.SKSHA_BIRTHD, "親権者生年月日"));
			// 続柄
			skshaVal.append(getAddStr(bean, CKW00401SFConst.BEFORE_SKSHA_ZOKUGARA_CD, CKW00401SFConst.SKSHA_ZOKUGARA_CD, "続柄"));
			// 続柄（その他欄）
			skshaVal.append(getAddStr(bean, CKW00401SFConst.BEFORE_SKSHA_ZOKUGARA_OTR, CKW00401SFConst.SKSHA_ZOKUGARA_OTR, "続柄（その他欄）"));
			// 親権者住所（郵便番号、住所コード、住所(都道府県〜部屋番号)）
			skshaVal.append(getAdInfStr(bean, 3, null));
			// 親権者電話番号
			skshaVal.append(getAddStr(bean, CKW00401SFConst.BEFORE_SKSHA_TELNO, CKW00401SFConst.SKSHA_TELNO, "親権者電話番号"));
		}
		
		// 内販・外販情報
		keiVal3.append(getAddStr(bean, CKW00401SFConst.BEFORE_NAIHAN_GAIHAN_INF, CKW00401SFConst.NAIHAN_GAIHAN_INF, "内販・外販情報"));
		// 企業識別コード
		keiVal3.append(getAddStr(bean, CKW00401SFConst.BEFORE_COMP_SKBT_CD, CKW00401SFConst.COMP_SKBT_CD, "企業識別コード"));
		
		// マスター会員、非eo会員の場合
		if (isMmbSbtMasterCheck(mmbSbt) || JCKCommonConst.CD00039_NOT_EO_MMB.equals(mmbSbt) || isOpMmbSbt(mmbSbt, bean))
		{
			// 連絡条件
			keiVal3.append(getAddStr(bean, CKW00401SFConst.BEFORE_RRK_JOKEN, CKW00401SFConst.RRK_JOKEN, "連絡条件"));
			// 連絡情報
			keiVal3.append(getAddStr(bean, CKW00401SFConst.BEFORE_RRK_INF, CKW00401SFConst.RRK_INF, "連絡情報"));
		}
		
		// ++++++++++++ v5.02.00修正開始 ++++++++
		// 記事欄
//		keiVal3.append(getAddStr(bean, CKW00401SFConst.BEFORE_KIJIRAN, CKW00401SFConst.KIJIRAN, "記事欄"));
		// ++++++++++++ v5.02.00修正終了 ++++++++
		
		// マスター会員（法人）同意済み、ファミリー会員（個人）（法人）、オープン会員の場合
		if ((JCKCommonConst.CD00039_MASTER_HOJIN.equals(mmbSbt) && !defCntMidoi)
				|| isMmbSbtFamilyCheck(mmbSbt) || JCKCommonConst.CD00039_OPEN.equals(mmbSbt))
		{
			String bnchigo = bean.sendMessageString(CKW00401SFConst.CONT_AD_1, X31CWebConst.DATABEAN_GET_VALUE)
							+ bean.sendMessageString(CKW00401SFConst.CONT_AD_2, X31CWebConst.DATABEAN_GET_VALUE);
			
			// コンテンツお客様名（カナ）
			keiVal3.append(getAddStr(bean, CKW00401SFConst.BEFORE_CONT_CUST_KANA, CKW00401SFConst.CONT_CUST_KANA, "お客様名（カナ）"));
			// コンテンツお客様名
			keiVal3.append(getAddStr(bean, CKW00401SFConst.BEFORE_CONT_CUST_NM, CKW00401SFConst.CONT_CUST_NM, "お客様名"));
			// コンテンツ生年月日
			keiVal3.append(getAddStr(bean, CKW00401SFConst.BEFORE_CONT_CUST_BIRTHD, CKW00401SFConst.CONT_CUST_BIRTHD, "コンテンツ生年月日"));
			// コンテンツ性別
			keiVal3.append(getAddStr(bean, CKW00401SFConst.BEFORE_CONT_CUST_SEX_CD, CKW00401SFConst.CONT_CUST_SEX_CD, "コンテンツ性別"));
			// コンテンツ郵便番号
			keiVal3.append(getAddStr(bean, CKW00401SFConst.BEFORE_CONT_PCD, CKW00401SFConst.CONT_PCD, "コンテンツ郵便番号"));
			// コンテンツ住所
			keiVal3.append(getEditValue(bean.sendMessageString(CKW00401SFConst.BEFORE_CONT_BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE),
										bnchigo,
										"コンテンツ住所"));
			keiVal3.append(getAddStr(bean, CKW00401SFConst.BEFORE_CONT_ADRTTM, CKW00401SFConst.CONT_AD_3, "住所（マンション名等）"));
			// コンテンツ電話番号
			keiVal3.append(getAddStr(bean, CKW00401SFConst.BEFORE_CONT_TELNO, CKW00401SFConst.CONT_TELNO, "コンテンツ電話番号"));
		}
		
		// マスター会員（個人）（法人）同意済み、ファミリー会員（個人）（法人）、オープン会員の場合
		if ((JCKCommonConst.CD00039_MASTER_KOJIN.equals(mmbSbt) || JCKCommonConst.CD00039_MASTER_HOJIN.equals(mmbSbt) && !defCntMidoi)
			|| isMmbSbtFamilyCheck(mmbSbt) || JCKCommonConst.CD00039_OPEN.equals(mmbSbt))
		{
			// コンテンツメールアドレス
			keiVal3.append(getAddStr(bean, CKW00401SFConst.BEFORE_CONT_MLAD, CKW00401SFConst.CONT_MLAD, "コンテンツメールアドレス"));
		}
		
		// マスター会員（個人）（法人）、ファミリー会員（個人）（法人）、オープン会員の場合
		if (isMmbSbtMasterCheck(mmbSbt) || isMmbSbtFamilyCheck(mmbSbt) || JCKCommonConst.CD00039_OPEN.equals(mmbSbt))
		{
			// eoID
			keiVal3.append(getAddStr(bean, CKW00401SFConst.BEFORE_EOID, CKW00401SFConst.EOID, "eoID"));
			// 秘密の質問コード
			keiVal3.append(getAddStr(bean, CKW00401SFConst.BEFORE_SECRET_QUESTION_CD, CKW00401SFConst.SECRET_QUESTION, "秘密の質問コード"));
			// 秘密の質問の答え
			keiVal3.append(getAddStr(bean, CKW00401SFConst.BEFORE_SECRET_ANS, CKW00401SFConst.SECRET_ANS, "秘密の質問の答え"));
			// ニックネーム
			keiVal3.append(getAddStr(bean, CKW00401SFConst.BEFORE_NKNAME, CKW00401SFConst.NKNAME, "ニックネーム"));
			// ログイン認証
			keiVal3.append(getAddStr(bean, CKW00401SFConst.BEFORE_LOGIN_NINSHO, CKW00401SFConst.LOGIN_NINSHO, "ログイン認証"));
		}
		
		// ファミリー会員（個人）（法人）の場合
		if (isMmbSbtFamilyCheck(mmbSbt))
		{
			// ISP決済利用
			keiVal3.append(getAddStr(bean, CKW00401SFConst.BEFORE_ISP_KSSAI_USE, CKW00401SFConst.ISP_KSSAI_USE, "ISP決済利用"));
		}
		// オプトインメール
		HashMap workMap = (HashMap)outputMap.get("WORK");
		keiVal3.append(workMap.get("optinm"));
		
		// 親権者変更完了の特記事項設定
		HashMap outMap = setPrgTkjk(parentMap, skshaVal.toString(), "sksha_prg_tkjk_1", "sksha_prg_tkjk_2");
		
		// 契約者変更完了の特記事項設定
		keiVal1.append(keiVal3.toString());

		// ANK-2553-00-00 ADD START
		// 購入可否フラグ変更完了の特記事項設定
		keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_KONYU_KAHI_FLG, CKW00401SFConst.KONYU_KAHI_FLG, "購入可否フラグ"));
		// ANK-2553-00-00 ADD END

// ANK-2737-00-00 ADD START
		// 電子通知同意変更完了の特記事項設定
		keiVal1.append(getAddStr(bean, CKW00401SFConst.BEFORE_KNYTCS_ETC_DOI, CKW00401SFConst.KNYTCS_ETC_DOI, "契約内容通知書電子交付同意有無"));
// ANK-2737-00-00 ADD END
		
		outMap = setPrgTkjk(outMap, keiVal1.toString(), "prg_tkjk_1", "prg_tkjk_2");
		
		/* FJ)野々下 v13.00.00【ANK-2394-00-00】改善案件対応 追加開始 */
		String wk_uepcad_copy_btn = "";
		// 「利用場所住所で上書き」チェックON
		if(bean.sendMessageBoolean(CKW00401SFConst.UEPCAD_COPY_BTN, X31CWebConst.DATABEAN_GET_VALUE))
		{
			// 「利用場所住所で上書き：する」
			wk_uepcad_copy_btn = "　利用場所住所で上書き：する";
		}
		else
		{
			// 「利用場所住所で上書き：しない」
			wk_uepcad_copy_btn = "　利用場所住所で上書き：しない";
		}

		String wk_tkjk_2 = (String)outMap.get("prg_tkjk_2");
		if(wk_tkjk_2 == "")
		{
			outMap.put("prg_tkjk_2", JPCEditString.Ltrim(wk_uepcad_copy_btn));
		}
		else
		{
			if(wk_tkjk_2.length() + wk_uepcad_copy_btn.length() <= 128)
			{
				outMap.put("prg_tkjk_2", wk_uepcad_copy_btn);
			}
		}
		/* FJ)野々下 v13.00.00【ANK-2394-00-00】改善案件対応 追加終了 */

		return outMap;
	}
/* ++++++++++ v4.04.00 追加開始 ++++++++++ */
	
	/**
	 * 住所情報変更前後の差異チェックをし、登録用文字列編集をします。
	 * <br>
	 * @param bean
	 * @param ptn
	 * @param adInf
	 * 
	 * @return String
	 */
	private String getAdInfStr(X31SDataBeanAccess bean, int ptn, String[] adInf)
	{
		StringBuilder builder = new StringBuilder();
		String adStrB = "";
		String adStrA = "";
		String name = "";
		String genAdPcd = "";
		String genAdCd = "";
		String prgTkjkAdPcd = "";
		String prgTkjkAdCd = "";
		
		// 現住所の場合
		if (1 == ptn)
		{
			name = "住所情報変更";
			adStrB = JZMCommonUtil.getPtn01(bean.sendMessageString(CKW00401SFConst.BEFORE_GEN_STATE_NM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.BEFORE_GEN_CITY_NM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.BEFORE_GEN_OAZTSU_NM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.BEFORE_GEN_AZCHO_NM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.BEFORE_GEN_BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.BEFORE_GEN_ADRTTM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.BEFORE_GEN_ADRRM, X31CWebConst.DATABEAN_GET_VALUE));
			
			adStrA = JZMCommonUtil.getPtn01(adInf[2], adInf[3], adInf[4], adInf[5], adInf[6], adInf[7], adInf[8]);
		}
		// 送付先住所の場合
		else if (2 == ptn)
		{
			name = "送付先住所情報変更";
			adStrB = JZMCommonUtil.getPtn01(bean.sendMessageString(CKW00401SFConst.BEFORE_SEND_STATE_NM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.BEFORE_SEND_CITY_NM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.BEFORE_SEND_OAZTSU_NM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.BEFORE_SEND_AZCHO_NM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.BEFORE_SEND_BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.BEFORE_SEND_ADRTTM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.BEFORE_SEND_ADRRM, X31CWebConst.DATABEAN_GET_VALUE));
			
			adStrA = JZMCommonUtil.getPtn01(bean.sendMessageString(CKW00401SFConst.SEND_STATE_NM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.SEND_CITY_NM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.SEND_OAZTSU_NM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.SEND_AZCHO_NM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.SEND_BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.SEND_ADRTTM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.SEND_ADRRM, X31CWebConst.DATABEAN_GET_VALUE));
		}
		// 親権者住所の場合
		else if (3 == ptn)
		{
			name = "親権者住所情報変更";
			adStrB = JZMCommonUtil.getPtn01(bean.sendMessageString(CKW00401SFConst.BEFORE_SKSHA_STATE_NM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.BEFORE_SKSHA_CITY_NM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.BEFORE_SKSHA_OAZTSU_NM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.BEFORE_SKSHA_AZCHO_NM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.BEFORE_SKSHA_BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.BEFORE_SKSHA_ADRTTM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.BEFORE_SKSHA_ADRRM, X31CWebConst.DATABEAN_GET_VALUE));
			
			adStrA = JZMCommonUtil.getPtn01(bean.sendMessageString(CKW00401SFConst.SKSHA_STATE_NM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.SKSHA_CITY_NM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.SKSHA_OAZTSU_NM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.SKSHA_AZCHO_NM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.SKSHA_BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.SKSHA_ADRTTM, X31CWebConst.DATABEAN_GET_VALUE),
											bean.sendMessageString(CKW00401SFConst.SKSHA_ADRRM, X31CWebConst.DATABEAN_GET_VALUE));
		}
		
		if (adStrB == null)
		{
			adStrB = "";
		}
		if (adStrA == null)
		{
			adStrA = "";
		}
		
		// 住所情報の各項目単位（郵便番号、住所コード、住所(都道府県〜部屋番号)）で変更がある場合、特記事項編集処理
		if(null != adInf)
		{
			genAdPcd = adInf[1];
			genAdCd = adInf[0];
		}
		
		// 郵便番号
		prgTkjkAdPcd = getApdValueAdPcd(bean, ptn, genAdPcd);
		if(isNotBlank(prgTkjkAdPcd))
		{
			builder.append(prgTkjkAdPcd);
		}
		
		// 住所コード
		prgTkjkAdCd = getApdValueAdCd(bean, ptn, genAdCd);
		if(isNotBlank(prgTkjkAdCd))
		{
			builder.append(prgTkjkAdCd);
		}
		
		// 住所(都道府県〜部屋番号)
		if(isChgAdInf(bean, ptn))
		{
			builder.append(getAppendValue(name, adStrB, adStrA));
		}
		
		return builder.toString();
	}
	
	/**
	 * 住所情報の各項目単位（郵便番号）の変更有無をチェックし変更がある場合、特記事項編集処理
	 * <br>
	 * @param bean
	 * @param ptn
	 * @param genAdPcd
	 * 
	 * @return String
	 */
	private String getApdValueAdPcd(X31SDataBeanAccess bean, int ptn, String genAdPcd)
	{
		StringBuilder sb = new StringBuilder();
		
		// 現住所の場合
		if (1 == ptn)
		{
			// 郵便番号
			if(!getValue(bean, CKW00401SFConst.BEFORE_GEN_AD_PCD).equals(genAdPcd))
			{
				sb.append(getAppendValue(
						"郵便番号", 
						getValue(bean, CKW00401SFConst.BEFORE_GEN_AD_PCD), 
						genAdPcd));
			}
		}
		// 送付先住所の場合
		else if (2 == ptn)
		{
			// 送付先郵便番号
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SEND_AD_PCD, CKW00401SFConst.SEND_AD_PCD))
			{
				sb.append(getAppendValue(
						"送付先郵便番号", 
						getValue(bean, CKW00401SFConst.BEFORE_SEND_AD_PCD), 
						getValue(bean, CKW00401SFConst.SEND_AD_PCD)));
			}
		}
		// 親権者住所の場合
		else if (3 == ptn)
		{
			// 親権者郵便番号
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SKSHA_AD_PCD, CKW00401SFConst.SKSHA_AD_PCD))
			{
				sb.append(getAppendValue(
						"親権者郵便番号", 
						getValue(bean, CKW00401SFConst.BEFORE_SKSHA_AD_PCD), 
						getValue(bean, CKW00401SFConst.SKSHA_AD_PCD)));
			}
		}
		
		return sb.toString();
	}
	
	/**
	 * 住所情報の各項目単位（住所コード）の変更有無をチェックし変更がある場合、特記事項編集処理
	 * <br>
	 * @param bean
	 * @param ptn
	 * @param genAdCd
	 * 
	 * @return String
	 */
	private String getApdValueAdCd(X31SDataBeanAccess bean, int ptn, String genAdCd)
	{
		StringBuilder sb = new StringBuilder();
		
		// 現住所の場合
		if (1 == ptn)
		{
			// 住所コード
			if(!getValue(bean, CKW00401SFConst.BEFORE_GEN_AD_CD).equals(genAdCd))
			{
				sb.append(getAppendValue(
						"住所コード", 
						getValue(bean, CKW00401SFConst.BEFORE_GEN_AD_CD), 
						genAdCd));
			}
		}
		// 送付先住所の場合
		else if (2 == ptn)
		{
			// 送付先住所コード
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SEND_AD_CD, CKW00401SFConst.SEND_AD_CD))
			{
				sb.append(getAppendValue(
						"送付先住所コード", 
						getValue(bean, CKW00401SFConst.BEFORE_SEND_AD_CD), 
						getValue(bean, CKW00401SFConst.SEND_AD_CD)));
			}
		}
		// 親権者住所の場合
		else if (3 == ptn)
		{
			// 親権者住所コード
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SKSHA_AD_CD, CKW00401SFConst.SKSHA_AD_CD))
			{
				sb.append(getAppendValue(
						"親権者住所コード", 
						getValue(bean, CKW00401SFConst.BEFORE_SKSHA_AD_CD), 
						getValue(bean, CKW00401SFConst.SKSHA_AD_CD)));
			}
		}
		
		return sb.toString();
	}
	
	/**
	 * 住所情報の各項目単位（住所(都道府県〜部屋番号)）の変更有無をチェック
	 * <br>
	 * @param bean
	 * @param ptn
	 * 
	 * @return boolean
	 */
	private boolean isChgAdInf(X31SDataBeanAccess bean, int ptn)
	{
		// 現住所の場合
		if (1 == ptn)
		{
			// 都道府県
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_GEN_STATE_NM, CKW00401SFConst.GEN_STATE_NM))
			{
				return true;
			}
			
			// 市区町村
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_GEN_CITY_NM, CKW00401SFConst.GEN_CITY_NM))
			{
				return true;
			}
			
			// 大字通称
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_GEN_OAZTSU_NM, CKW00401SFConst.GEN_OAZTSU_NM))
			{
				return true;
			}
			
			// 字丁目
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_GEN_AZCHO_NM, CKW00401SFConst.GEN_AZCHO_NM))
			{
				return true;
			}
			
			// 番地・号
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_GEN_BNCHIGO, CKW00401SFConst.GEN_BNCHIGO))
			{
				return true;
			}
			
			// 建物名
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_GEN_ADRTTM, CKW00401SFConst.GEN_ADRTTM))
			{
				return true;
			}
			
			// 部屋番号
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_GEN_ADRRM, CKW00401SFConst.GEN_ADRRM))
			{
				return true;
			}
		}
		// 送付先住所の場合
		else if (2 == ptn)
		{
			// 送付先都道府県
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SEND_STATE_NM, CKW00401SFConst.SEND_STATE_NM))
			{
				return true;
			}
			
			// 送付先市区町村
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SEND_CITY_NM, CKW00401SFConst.SEND_CITY_NM))
			{
				return true;
			}
			
			// 送付先大字通称
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SEND_OAZTSU_NM, CKW00401SFConst.SEND_OAZTSU_NM))
			{
				return true;
			}
			
			// 送付先字丁目
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SEND_AZCHO_NM, CKW00401SFConst.SEND_AZCHO_NM))
			{
				return true;
			}
			
			// 送付先番地・号
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SEND_BNCHIGO, CKW00401SFConst.SEND_BNCHIGO))
			{
				return true;
			}
			
			// 送付先建物名
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SEND_ADRTTM, CKW00401SFConst.SEND_ADRTTM))
			{
				return true;
			}
			
			// 送付先部屋番号
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SEND_ADRRM, CKW00401SFConst.SEND_ADRRM))
			{
				return true;
			}
		}
		// 親権者住所の場合
		else if (3 == ptn)
		{
			// 親権者都道府県
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SKSHA_STATE_NM, CKW00401SFConst.SKSHA_STATE_NM))
			{
				return true;
			}
			
			// 親権者市区町村
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SKSHA_CITY_NM, CKW00401SFConst.SKSHA_CITY_NM))
			{
				return true;
			}
			
			// 親権者大字通称
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SKSHA_OAZTSU_NM, CKW00401SFConst.SKSHA_OAZTSU_NM))
			{
				return true;
			}
			
			// 親権者字丁目
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SKSHA_AZCHO_NM, CKW00401SFConst.SKSHA_AZCHO_NM))
			{
				return true;
			}
			
			// 親権者番地・号
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SKSHA_BNCHIGO, CKW00401SFConst.SKSHA_BNCHIGO))
			{
				return true;
			}
			
			// 親権者建物名
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SKSHA_ADRTTM, CKW00401SFConst.SKSHA_ADRTTM))
			{
				return true;
			}
			
			// 親権者部屋番号
			if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SKSHA_ADRRM, CKW00401SFConst.SKSHA_ADRRM))
			{
				return true;
			}
		}
		
		return false;
	}
	
	/**
	 * データBeanから指定された項目の値を取得します。
	 * <br>
	 * @param bean 画面情報
	 * @param itemName コンボボックス名称
	 * <br>
	 * @return String 選択されているコード値
	 */
	private String getValue(X31SDataBeanAccess bean, String itemName)
	{
		return bean.sendMessageString(itemName, X31CWebConst.DATABEAN_GET_VALUE);
	}
	
	/**
	 * 連結文字列を取得します。
	 * <br>
	 * @param itemName	変更項目名
	 * @param bfValue	変更前項目値
	 * @param afValue	変更後項目値
	 * <br>
	 * @return String 連結文字列
	 */
	private String getAppendValue(String chgItemName, String bfValue, String afValue)
	{
		StringBuilder sb = new StringBuilder();
		sb.append(chgItemName);
		sb.append(":(修正前)");
		sb.append(bfValue);
		sb.append("(修正後)");
		sb.append(afValue);
		sb.append(" ");
		
		return sb.toString();
	}
	
	/**
	 * 進捗特記事項の設定をします。
	 * <br>
	 * @param map
	 * @param value
	 * @param key1
	 * @param key2
	 * 
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	private HashMap setPrgTkjk(HashMap map, String value, String key1, String key2)
	{
		String tkjk1 = "";
		String tkjk2 = "";
		
		if (value != null && value.length() > 0)
		{
			if (value.length() > 256)
			{
				tkjk1 = value.substring(0, 128);
				tkjk2 = value.substring(128, 256);
			}
			else if (value.length() > 128)
			{
				tkjk1 = value.substring(0, 128);
				tkjk2 = value.substring(128);
			}
			else
			{
				tkjk1 = value.toString();
			}
		}
		
		// 進捗特記事項1
		map.put(key1, tkjk1);
		// 進捗特記事項2
		map.put(key2, tkjk2);
		
		return map;
	}
/* ++++++++++ v4.04.00 追加終了 ++++++++++ */
	
	/**
	 * 変更前後の差異チェックをし、登録用文字列編集をします。
	 * <br>
	 * @param bean 画面情報
	 * @param cgbfKey 変更前項目キー
	 * @param cgafKey 変更後項目キー
	 * @param name 項目名
	 * @return String 編集文字列
	 */
	private String getAddStr(X31SDataBeanAccess bean, String cgbfKey, String cgafKey, String name)
	{
		String before = null;
		String after = null;
		
		// OM-2014-0003613 MOD START
		// 法人格種別(前後指定)、法人格種別、内販・外販情報、連絡条件、続柄、秘密の質問コードの場合
//		if (CKW00401SFConst.HOJIN_ZENGO_STI.equals(cgafKey) || CKW00401SFConst.HOJIN_SBT.equals(cgafKey)
//				|| CKW00401SFConst.NAIHAN_GAIHAN_INF.equals(cgafKey) || CKW00401SFConst.RRK_JOKEN.equals(cgafKey)
//				|| CKW00401SFConst.SKSHA_ZOKUGARA_CD.equals(cgafKey) || CKW00401SFConst.SECRET_QUESTION.equals(cgafKey))
		if (CKW00401SFConst.HOJIN_ZENGO_STI.equals(cgafKey)
				|| CKW00401SFConst.NAIHAN_GAIHAN_INF.equals(cgafKey) || CKW00401SFConst.RRK_JOKEN.equals(cgafKey)
				|| CKW00401SFConst.SKSHA_ZOKUGARA_CD.equals(cgafKey) || CKW00401SFConst.SECRET_QUESTION.equals(cgafKey))
		// OM-2014-0003613 MOD END
		{
			before = getCodeValueToComboBox(bean, cgafKey, bean.sendMessageString(cgbfKey, X31CWebConst.DATABEAN_GET_VALUE));
			after = getNameValueForComboBox(bean, cgafKey);
		}
		// 会員種別の場合
		else if (CKW00401SFConst.MEMBER_SBT.equals(cgafKey))
		{
			before = getCodeValueToComboBox(bean, CKW00401SFConst.HOJI_MEMBER_SBT, bean.sendMessageString(cgbfKey, X31CWebConst.DATABEAN_GET_VALUE));
			after = getNameValueForComboBox(bean, cgafKey);
		}
		// 契約者タイプの場合
		else if (CKW00401SFConst.KEISHA_TYPE.equals(cgafKey))
		{
			before = getCodeValueToComboBox(bean, CKW00401SFConst.HOJI_KEISHA_TYPE, bean.sendMessageString(cgbfKey, X31CWebConst.DATABEAN_GET_VALUE));
			after = getNameValueForComboBox(bean, cgafKey);
		}
		// 職業／業種の場合
		else if (CKW00401SFConst.JOB.equals(cgafKey))
		{
			String mmbSbtCd = bean.sendMessageString(CKW00401SFConst.BEFORE_MEMBER_SBT, X31CWebConst.DATABEAN_GET_VALUE);
			String keishaType = bean.sendMessageString(CKW00401SFConst.BEFORE_KEISHA_TYPE, X31CWebConst.DATABEAN_GET_VALUE);
			// マスター会員（法人）又は非eo会員＿個人以外の場合
			if (isHojinCheck(mmbSbtCd, keishaType, bean))
			{
				// 業種
				before = getCodeValueToComboBox(bean, CKW00401SFConst.GSHU, bean.sendMessageString(cgbfKey, X31CWebConst.DATABEAN_GET_VALUE));
			}
			else
			{
				// 職業
				before = getCodeValueToComboBox(bean, CKW00401SFConst.SHOKUGYO, bean.sendMessageString(cgbfKey, X31CWebConst.DATABEAN_GET_VALUE));
			}
			after = getNameValueForComboBox(bean, cgafKey);
		}
		// 適用開始日の場合
		else if (CKW00401SFConst.TSTAYMD.equals(cgafKey))
		{
			// ファミリー会員（個人）、ファミリー会員（法人）、オープン会員の場合対象外
			String mmbSbtCd = bean.sendMessageString(CKW00401SFConst.BEFORE_MEMBER_SBT, X31CWebConst.DATABEAN_GET_VALUE);
			if (isMmbSbtFamilyCheck(mmbSbtCd) || JCKCommonConst.CD00039_OPEN.equals(mmbSbtCd))
			{
				return "";
			}
			
			// カレントの場合対象外
			if ("1".equals(bean.sendMessageString(CKW00401SFConst.SWITCH_FLG, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				return "";
			}
			before = bean.sendMessageString(cgbfKey, X31CWebConst.DATABEAN_GET_VALUE);
			after = bean.sendMessageString(cgafKey, X31CWebConst.DATABEAN_GET_VALUE);
		}
		// OM-2014-0003613 ADD START
		// 企業識別コードの場合
		else if (CKW00401SFConst.COMP_SKBT_CD.equals(cgafKey))
		{
			before = getCompCdValue(getCdName(cgafKey, bean.sendMessageString(cgbfKey, X31CWebConst.DATABEAN_GET_VALUE)));
			after = getCdName(cgafKey, bean.sendMessageString(cgafKey, X31CWebConst.DATABEAN_GET_VALUE));
		}
		// 法人格種別の場合
		else if (CKW00401SFConst.HOJIN_SBT.equals(cgafKey))
		{
			before = getCodeValueToComboBox(bean, cgafKey, bean.sendMessageString(cgbfKey, X31CWebConst.DATABEAN_GET_VALUE));
			if (HOJIN_ZENGO_STI_NASI.equals(before)){
				before = " ";
			}

			after = getNameValueForComboBox(bean, cgafKey);
			if (HOJIN_ZENGO_STI_NASI.equals(after)){
				after = " ";
			}
		}
		// OM-2014-0003613 ADD END
		// ++++++ v19.00.00【OM-2015-0000322】追加 開始 +++++++++
		// 契約譲渡手数料の場合
		else if (CKW00401SFConst.KEI_JOTO_TESURYO.equals(cgafKey)) 
		{
			before = getCodeValueToComboBox(bean, cgafKey,
					bean.sendMessageString(cgbfKey,
							X31CWebConst.DATABEAN_GET_VALUE));
			after = getNameValueForComboBox(bean, cgafKey);
		}
		// ++++++ v19.00.00【OM-2015-0000322】追加 終了 +++++++++
		// ANK-2553-00-00 ADD START
		// 購入可否フラグの場合
		else if (CKW00401SFConst.KONYU_KAHI_FLG.equals(cgafKey))
		{
			before = getCodeValueToComboBox(bean, CKW00401SFConst.KONYU_KAHI_FLG, bean.sendMessageString(cgbfKey, X31CWebConst.DATABEAN_GET_VALUE));
			after = getNameValueForComboBox(bean, cgafKey);
		}
		//ANK-2553-00-00 ADD END
// ANK-2737-00-00 ADD START
		// 電子通知同意の場合
		else if (CKW00401SFConst.KNYTCS_ETC_DOI.equals(cgafKey))
		{
			String mmbSbtCd = bean.sendMessageString(CKW00401SFConst.BEFORE_MEMBER_SBT, X31CWebConst.DATABEAN_GET_VALUE);
			if ((JCKCommonConst.CD00039_NOT_EO_MMB.equals(mmbSbtCd))
					|| (JCKCommonConst.CD00039_MASTER_KOJIN.equals(mmbSbtCd))
					|| (JCKCommonConst.CD00039_MASTER_HOJIN.equals(mmbSbtCd))) 
			{
				after = "無";
				boolean screen = bean.sendMessageBoolean(CKW00401SFConst.KNYTCS_ETC_DOI, X31CWebConst.DATABEAN_GET_VALUE);
				if (screen)
				{
					after = "有";
				}
				String beforeKnytcsEtcDoi = bean.sendMessageString(CKW00401SFConst.BEFORE_KNYTCS_ETC_DOI, X31CWebConst.DATABEAN_GET_VALUE);
				if (JACStrConst.UM_ARI.equals(beforeKnytcsEtcDoi)) 
				{
					before = "有";
				} else 
				{
					before = "無";
				}
			}
			else
			{
				before = "";
				after = "";
			}
		}
//ANK-2737-00-00 ADD END
// ANK-4075-00-00 ADD START
		// スキームタイプの場合
		else if (CKW00401SFConst.SCM_TYPE.equals(cgafKey))
		{
			before = getCodeValueToComboBox(bean, CKW00401SFConst.HOJI_SCM_TYPE, bean.sendMessageString(cgbfKey, X31CWebConst.DATABEAN_GET_VALUE));
			after = getNameValueForComboBox(bean, cgafKey);
		}
		// スキーム事業者の場合
		else if (CKW00401SFConst.SCM_JGS.equals(cgafKey))
		{
			before = getCodeValueToComboBox(bean, CKW00401SFConst.HOJI_SCM_JGS, bean.sendMessageString(cgbfKey, X31CWebConst.DATABEAN_GET_VALUE));
			after = getNameValueForComboBox(bean, cgafKey);
		}
// ANK-4075-00-00 ADD END
		else
		{
			before = getCdName(cgafKey, bean.sendMessageString(cgbfKey, X31CWebConst.DATABEAN_GET_VALUE));
			after = getCdName(cgafKey, bean.sendMessageString(cgafKey, X31CWebConst.DATABEAN_GET_VALUE));
		}
		return getEditValue(before, after, name);
	}
	
	/**
	 * 登録用文字列編集をします。
	 * <br>
	 * @param valueBf 修正前文字列
	 * @param valueAf 修正後文字列
	 * @param name 項目名
	 * @return String 編集文字列
	 */
	private String getEditValue(String valueBf, String valueAf, String name)
	{
		StringBuilder value = new StringBuilder("");
		String strBF = valueBf;
		String strAF = valueAf;
		
		// 変更有りの場合、編集
		if (!valueBf.equals(valueAf))
		{
			if (valueBf.length() == 0)
			{
				strBF = " ";
			}
			if (valueAf.length() == 0)
			{
				strAF = " ";
			}
			
			value.append(name);
			value.append(":(修正前)");
			value.append(strBF);
			value.append("(修正後)");
			value.append(strAF);
			value.append(" ");
		}
		return value.toString();
	}
	
	/**
	 * オプトインメールの登録用文字列編集をします。
	 * <br>
	 * @param str 文字列
	 * @param rcvMl 受信メール説明
	 * @param rcvUm 受信有無
	 * @return String 編集文字列
	 */
	private String getOptinEdit(String str, String rcvMl, boolean rcvUm)
	{
		StringBuilder value = new StringBuilder("");
		value.append(str);
		value.append(rcvMl);
		value.append(" ");
		// 受信有りの場合
		if (rcvUm)
		{
			value.append("ＯＮ");
		}
		else
		{
			value.append("ＯＦＦ");
		}
		value.append(" ");
		return value.toString();
	}
	
	/**
	 * コード値に対応する名称を返却します。
	 * <br>
	 * @param key コード名
	 * @param name コード値
	 * @return String 名称
	 */
	private String getCdName(String key, String name)
	{
		String value = name;
		
		// ログイン認証の場合
		if (CKW00401SFConst.LOGIN_NINSHO.equals(key))
		{
			if ("1".equals(name))
			{
				value = "可";
			}
			else if ("0".equals(name))
			{
				value = "否";
			}
			else
			{
				value = " ";
			}
		}
		// ISP決済利用の場合
		else if (CKW00401SFConst.ISP_KSSAI_USE.equals(key))
		{
			if ("1".equals(name))
			{
				value = "利用不可";
			}
			else if ("0".equals(name))
			{
				value = "利用可";
			}
			else
			{
				value = " ";
			}
		}
		// 性別の場合
		else if (CKW00401SFConst.CUST_SEX_CD.equals(key))
		{
			if (JCKStrConst.CD00245_SEX_CD_MAN.equals(name))
			{
				value = "男";
			}
			else if (JCKStrConst.CD00245_SEX_CD_WOMAN.equals(name))
			{
				value = "女";
			}
			else if (JCKStrConst.CD00245_SEX_CD_OTHER.equals(name))
			{
				value = "不明";
			}
			else
			{
				value = " ";
			}
		}
		return value;
	}
	
	/**
	 * コード値を元にコンボボックスから名称を取得し、登録用文字列編集します。
	 * <br>
	 * @param bean 画面情報
	 * @param comboName コンボボックス名称
	 * @param codeValue コード値
	 * 
	 * @return String 編集文字列
	 * <br>
	 */
	private String getCodeValueToComboBox(X31SDataBeanAccess bean, String comboName, String codeValue)
	{
		X31SDataBeanAccess subBean = bean.getDataBeanArray(comboName).getDataBean(0);
		String temp = null;
		String value = "";
		int count = (Integer)subBean.sendMessage(CKW00401SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_GET_COUNT);
		
		for (int i = 0; i < count; i++)
		{
			temp = subBean.sendMessageString(CKW00401SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, i);
			
			if (temp.equals(codeValue))
			{
				value = subBean.sendMessageString(CKW00401SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, i);
				break;
			}
		}
		
		if (value == null || "".equals(value))
		{
			return " ";
		}
		
		return value.substring(value.indexOf(".") + 1);
	}
	
	/**
	 * ゴンボボックスから選択された名称を取得し、登録用文字列編集します。
	 * <br>
	 * @param bean 画面情報
	 * @param comboName コンボボックス名称
	 * 
	 * @return String 選択されている名称
	 * <br>
	 */
	private String getNameValueForComboBox(X31SDataBeanAccess bean, String comboName)
	{
		X31SDataBeanAccess subBean = bean.getDataBeanArray(comboName).getDataBean(0);
		String selectIndex = subBean.sendMessageString(CKW00401SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_GET_VALUE);
		
		if (selectIndex == null || "".equals(selectIndex))
		{
			return " ";
		}
		
		String value = subBean.sendMessageString(CKW00401SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(selectIndex));
		
		if (value == null || "".equals(value))
		{
			return " ";
		}
		
		return value.substring(value.indexOf(".") + 1);
	}
	
	/**
	 * 更新項目の変更有無をチェックします。
	 * <br>
	 * @param bean 画面情報
	 * @param ptnFlg チェックパターン（1:個人、2:法人、3:法人連絡先、4:現住所のみ）
	 * @return boolean チェック結果
	 */
	private boolean isUpdValueCheck(X31SDataBeanAccess bean, String ptnFlg)
	{
		ArrayList<String[]> valueLst = new ArrayList<String[]>();
		ArrayList<String[]> comboLst = new ArrayList<String[]>();
		
		// 住所コード、郵便番号、都道府県、市区町村、大字通称、字丁目、番地・号、建物名、部屋番号
		String[] adKey = {CKW00401SFConst.BEFORE_GEN_AD_CD,
							CKW00401SFConst.BEFORE_GEN_AD_PCD,
							CKW00401SFConst.BEFORE_GEN_STATE_NM,
							CKW00401SFConst.BEFORE_GEN_CITY_NM,
							CKW00401SFConst.BEFORE_GEN_OAZTSU_NM,
							CKW00401SFConst.BEFORE_GEN_AZCHO_NM,
							CKW00401SFConst.BEFORE_GEN_BNCHIGO,
							CKW00401SFConst.BEFORE_GEN_ADRTTM,
							CKW00401SFConst.BEFORE_GEN_ADRRM};
		String[] adInf = getAdInf(bean);
		
		for (int i = 0; i < adKey.length; i++)
		{
			String str = bean.sendMessageString(adKey[i], X31CWebConst.DATABEAN_GET_VALUE);
			
			if (!str.equals(adInf[i]))
			{
				return true;
			}
		}
		
		// 現住所のみ
		if ("4".equals(ptnFlg))
		{
			return false;
		}
		// ++++++ v19.00.00【OM-2015-0001999】追加 開始 +++++++++
		// 適用開始日
		valueLst.add(new String[]{CKW00401SFConst.BEFORE_TSTAYMD, CKW00401SFConst.TSTAYMD});
		// ++++++ v19.00.00【OM-2015-0001999】追加 終了 +++++++++
		// 個人の場合
		if ("1".equals(ptnFlg))
		{
			// 親権者名、親権者名（カナ）、親権者生年月日、続柄（その他欄）、親権者住所コード、親権者郵便番号
			// 親権者都道府県、親権者市区町村、親権者大字通称、親権者字丁目、親権者番地・号、親権者建物名、親権者部屋番号、親権者電話番号
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SKSHA_NM, CKW00401SFConst.SKSHA_NM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SKSHA_KANA, CKW00401SFConst.SKSHA_KANA});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SKSHA_BIRTHD, CKW00401SFConst.SKSHA_BIRTHD});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SKSHA_ZOKUGARA_OTR, CKW00401SFConst.SKSHA_ZOKUGARA_OTR});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SKSHA_AD_CD, CKW00401SFConst.SKSHA_AD_CD});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SKSHA_AD_PCD, CKW00401SFConst.SKSHA_AD_PCD});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SKSHA_ADRTTM, CKW00401SFConst.SKSHA_ADRTTM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SKSHA_ADRRM, CKW00401SFConst.SKSHA_ADRRM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SKSHA_TELNO, CKW00401SFConst.SKSHA_TELNO});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SKSHA_STATE_NM, CKW00401SFConst.SKSHA_STATE_NM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SKSHA_CITY_NM, CKW00401SFConst.SKSHA_CITY_NM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SKSHA_OAZTSU_NM, CKW00401SFConst.SKSHA_OAZTSU_NM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SKSHA_AZCHO_NM, CKW00401SFConst.SKSHA_AZCHO_NM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SKSHA_BNCHIGO, CKW00401SFConst.SKSHA_BNCHIGO});
			
			// 続柄
			comboLst.add(new String[]{CKW00401SFConst.BEFORE_SKSHA_ZOKUGARA_CD, CKW00401SFConst.SKSHA_ZOKUGARA_CD});
		}
		// 法人の場合
		else if ("2".equals(ptnFlg))
		{
			// 法人格種別（前後指定）、法人格種別
			comboLst.add(new String[]{CKW00401SFConst.BEFORE_HOJIN_ZENGO_STI, CKW00401SFConst.HOJIN_ZENGO_STI});
			comboLst.add(new String[]{CKW00401SFConst.BEFORE_HOJIN_SBT, CKW00401SFConst.HOJIN_SBT});
			
			// 代表者名、代表者名（カナ）、代表者役職
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_DIHYSHA_NM, CKW00401SFConst.DIHYSHA_NM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_DIHYSHA_KANA, CKW00401SFConst.DIHYSHA_KANA});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_DIHYSHA_POST, CKW00401SFConst.DIHYSHA_POST});
		}
		// 法人連絡先の場合
		else if ("3".equals(ptnFlg))
		{
			// 担当者名、担当者名（カナ）、担当者所属部署
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_TNTSHA_NM, CKW00401SFConst.TNTSHA_NM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_TNTSHA_KANA, CKW00401SFConst.TNTSHA_KANA});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_TNTSHA_SHOZKBSHO_NM, CKW00401SFConst.TNTSHA_SHOZKBSHO_NM});
		}
		
		// 個人、法人の場合
		if ("1".equals(ptnFlg) || "2".equals(ptnFlg))
		{
			// 契約者名、契約者名（カナ）、性別、生年月日、電話番号、記事欄、ログイン認証、企業識別コード、連絡情報
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_KEISHA_NM, CKW00401SFConst.KEISHA_NM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_KEISHA_NM_KANA, CKW00401SFConst.KEISHA_NM_KANA});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_CUST_SEX_CD, CKW00401SFConst.CUST_SEX_CD});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_CUST_BIRTHD, CKW00401SFConst.CUST_BIRTHD});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_GEN_TELNO, CKW00401SFConst.GEN_TELNO});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_COMP_SKBT_CD, CKW00401SFConst.COMP_SKBT_CD});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_RRK_INF, CKW00401SFConst.RRK_INF});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_KIJIRAN, CKW00401SFConst.KIJIRAN});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_LOGIN_NINSHO, CKW00401SFConst.LOGIN_NINSHO});
			
/* ++++++++++ v4.01.00 追加開始 ++++++++++ */
			// 送付先郵便番号、送付先都道府県、送付先市区町村、送付先大字通称、送付先字丁目、送付先番地・号、送付先建物名、送付先部屋番号
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SEND_AD_PCD, CKW00401SFConst.SEND_AD_PCD});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SEND_STATE_NM, CKW00401SFConst.SEND_STATE_NM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SEND_CITY_NM, CKW00401SFConst.SEND_CITY_NM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SEND_OAZTSU_NM, CKW00401SFConst.SEND_OAZTSU_NM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SEND_AZCHO_NM, CKW00401SFConst.SEND_AZCHO_NM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SEND_BNCHIGO, CKW00401SFConst.SEND_BNCHIGO});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SEND_ADRTTM, CKW00401SFConst.SEND_ADRTTM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SEND_ADRRM, CKW00401SFConst.SEND_ADRRM});
/* ++++++++++ v4.01.00 追加終了 ++++++++++ */
			
			// 職業／業種、内販・外販情報、連絡条件
			comboLst.add(new String[]{CKW00401SFConst.BEFORE_JOB, CKW00401SFConst.JOB});
			comboLst.add(new String[]{CKW00401SFConst.BEFORE_NAIHAN_GAIHAN_INF, CKW00401SFConst.NAIHAN_GAIHAN_INF});
			comboLst.add(new String[]{CKW00401SFConst.BEFORE_RRK_JOKEN, CKW00401SFConst.RRK_JOKEN});
			
			// コンテンツお客様名、コンテンツお客様カナ名、コンテンツお客様性別コード、コンテンツお客様生年月日、コンテンツ住所コード
			// コンテンツ郵便番号、コンテンツ都道府県名、コンテンツ市区町村名、コンテンツ大字通称名、コンテンツ字丁目名、コンテンツ番地号
			// コンテンツ住所補記・建物名、コンテンツ住所補記・部屋番号
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_CONT_CUST_NM, CKW00401SFConst.CONT_CUST_NM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_CONT_CUST_KANA, CKW00401SFConst.CONT_CUST_KANA});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_CONT_CUST_SEX_CD, CKW00401SFConst.CONT_CUST_SEX_CD});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_CONT_CUST_BIRTHD, CKW00401SFConst.CONT_CUST_BIRTHD});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_CONT_AD_CD, CKW00401SFConst.CONT_AD_CD});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_CONT_PCD, CKW00401SFConst.CONT_PCD});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_CONT_STATE_NM, CKW00401SFConst.CONT_STATE_NM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_CONT_CITY_NM, CKW00401SFConst.CONT_CITY_NM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_CONT_OAZTSU_NM, CKW00401SFConst.CONT_OAZTSU_NM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_CONT_AZCHO_NM, CKW00401SFConst.CONT_AZCHO_NM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_CONT_BNCHIGO, CKW00401SFConst.CONT_BNCHIGO});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_CONT_ADRTTM, CKW00401SFConst.CONT_ADRTTM});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_CONT_ADRRM, CKW00401SFConst.CONT_ADRRM});
			
			// 勤務先電話番号、内線番号、メールアドレス、携帯電話、コンテンツ電話番号、コンテンツメールアドレス
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_OFFC_TELNO, CKW00401SFConst.OFFC_TELNO});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_OFFC_NISNNO, CKW00401SFConst.OFFC_NISNNO});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_GEN_MLAD, CKW00401SFConst.GEN_MLAD});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_RRKS_KTAI_TELNO, CKW00401SFConst.RRKS_KTAI_TELNO});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_CONT_TELNO, CKW00401SFConst.CONT_TELNO});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_CONT_MLAD, CKW00401SFConst.REFERENCE_CONT_MLAD});
			
			// ANK-4075-00-00 ADD START
			// スキームタイプ、スキーム事業者
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SCM_TYPE, CKW00401SFConst.HOJI_SCM_TYPE_CD});
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_SCM_JGS, CKW00401SFConst.HOJI_SCM_JGS_CD});
			// ANK-4075-00-00 ADD END
		}
		
		// 個人、法人連絡先の場合
		if ("1".equals(ptnFlg) || "3".equals(ptnFlg))
		{
			// 勤務先名
			valueLst.add(new String[]{CKW00401SFConst.BEFORE_OFFC_NM, CKW00401SFConst.OFFC_NM});
		}
		
		// ANK-2553-00-00 ADD START
		// 購入可否フラグ
		comboLst.add(new String[]{CKW00401SFConst.BEFORE_KONYU_KAHI_FLG, CKW00401SFConst.KONYU_KAHI_FLG});
		//ANK-2553-00-00 ADD END
		
		for (int i = 0; i < valueLst.size(); i++)
		{
			String[] keyList = valueLst.get(i);
			
			if (isCgbfToCgaf(bean, keyList[0], keyList[1]))
			{
				return true;
			}
		}
		
		for (int i = 0; i < comboLst.size(); i++)
		{
			String[] keyList = comboLst.get(i);
			String comboCd = getCodeValueForComboBox(bean, keyList[1]);
			String str = bean.sendMessageString(keyList[0], X31CWebConst.DATABEAN_GET_VALUE);
			
			if (!comboCd.equals(str))
			{
				return true;
			}
		}
		
// ANK-3375-00-00 ADD START
		// 支払方法変更督促メッセージ抑止有無
		if (!bean.sendMessageBoolean(CKW00401SFConst.BEFORE_PAYWAY_CHG_TS_MSG_YOKSI_UM, X31CWebConst.DATABEAN_GET_VALUE)
				.equals(bean.sendMessageBoolean(CKW00401SFConst.PAYWAY_CHG_TS_MSG_YOKSI_UM, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return true;
		}
// ANK-3375-00-00 ADD END		
		return false;
	}

	// ANK-2189-00-00 ADD START
	/**
	 * 関電個人情報提供の更新項目の変更有無をチェックします。
	 * <br>
	 * @param bean 画面情報
	 * @return boolean チェック結果
	 */
	private boolean isUpdValueCheck_Kanden(X31SDataBeanAccess bean)
	{
		ArrayList<String[]> valueLst = new ArrayList<String[]>();
		ArrayList<String[]> comboLst = new ArrayList<String[]>();
		
		// 関電G個人情報取扱同意有無
		comboLst.add(new String[]{CKW00401SFConst.BEFORE_KEPG_KJNIF_TRAT_DOI_UM, CKW00401SFConst.KEPG_KJNIF_TRAT_DOI_UM});

		// 関電G個人情報取扱同意年月日
		valueLst.add(new String[]{CKW00401SFConst.BEFORE_KEPG_KJNIF_TRAT_DOI_YMD, CKW00401SFConst.REFERENCE_KEPG_KJNIF_TRAT_DOI_YMD});

		// 関電G個人情報提供不可フラグ
		comboLst.add(new String[]{CKW00401SFConst.BEFORE_KEPG_KJNIFT_FFG, CKW00401SFConst.KEPG_KJNIFT_FFG});

		// 関電G個人情報提供不可フラグ変更年月日
		valueLst.add(new String[]{CKW00401SFConst.BEFORE_KEPG_KJNIFT_FFG_CHG_YMD, CKW00401SFConst.REFERENCE_KEPG_KJNIFT_FFG_CHG_YMD});

		// 関電G個人情報提供不可フラグ変更受付方法コード
		comboLst.add(new String[]{CKW00401SFConst.BEFORE_KEPG_KJNIFT_FFG_CHG_UWY_CD, CKW00401SFConst.KEPG_KJNIFT_FFG_CHG_UWY_CD});
		
		for (int i = 0; i < valueLst.size(); i++)
		{
			String[] keyList = valueLst.get(i);
			
			if (isCgbfToCgaf(bean, keyList[0], keyList[1]))
			{
				return true;
			}
		}
		
		for (int i = 0; i < comboLst.size(); i++)
		{
			String[] keyList = comboLst.get(i);
			String comboCd = getCodeValueForComboBox(bean, keyList[1]);
			String str = bean.sendMessageString(keyList[0], X31CWebConst.DATABEAN_GET_VALUE);
			
			if (!comboCd.equals(str))
			{
				return true;
			}
		}
		
		return false;
	}
	// ANK-2189-00-00 ADD END
	
	/**
	 * 手動入力有無の値を取得します。
	 * <br>
	 * @param bean
	 * @param keyAdcd
	 * @param keyFlg
	 * 
	 * @return String
	 * <br>
	 */
	private String getManInputFlg(X31SDataBeanAccess bean, String keyAdcd, String keyFlg)
	{
		// 住所が未設定の場合
		String adcd = bean.sendMessageString(keyAdcd, X31CWebConst.DATABEAN_GET_VALUE);
		if (adcd == null || adcd.length() == 0)
		{
			return "";
		}
		
		if (bean.sendMessageBoolean(keyFlg, X31CWebConst.DATABEAN_GET_VALUE))
		{
			return "1";
		}
		
		return "0";
	}
	
	/**
	 * 会員種別、契約者タイプで法人扱いかチェックします。
	 * <br>
	 * @param mmbSbt 会員種別
	 * @param keishaType 契約者タイプ
	 * @param bean
	 * @return boolean チェック結果
	 */
	private boolean isHojinCheck(String mmbSbt, String keishaType, X31SDataBeanAccess bean)
	{
		// マスター会員（法人）の場合
		if (JCKCommonConst.CD00039_MASTER_HOJIN.equals(mmbSbt))
		{
			return true;
		}
		// 非eo会員で個人以外の場合
		else if (JCKCommonConst.CD00039_NOT_EO_MMB.equals(mmbSbt) && !JCKCommonConst.CD00036_KOJIN.equals(keishaType))
		{
			return true;
		}
		// オープン会員で法人又は、自社利用の場合
		else if (JCKCommonConst.CD00039_OPEN.equals(mmbSbt)
					&& (JCKCommonConst.CD00036_HOJIN.equals(keishaType) || JCKCommonConst.CD00036_JISHA_USE.equals(keishaType)))
		{
			return true;
		}
		// オープン会員で保守の場合
		else if (isOpMmbSbt(mmbSbt, bean) && JCKCommonConst.CD00036_MNT.equals(keishaType))
		{
			return true;
		}
		return false;
	}
	
	/**
	 * 会員種別がマスター会員かチェックします。
	 * <br>
	 * @param mmbSbt 会員種別
	 * @return boolean チェック結果
	 */
	private boolean isMmbSbtMasterCheck(String mmbSbt)
	{
		if (JCKCommonConst.CD00039_MASTER_KOJIN.equals(mmbSbt) || JCKCommonConst.CD00039_MASTER_HOJIN.equals(mmbSbt))
		{
			return true;
		}
		return false;
	}
	
	/**
	 * 会員種別がファミリー会員かチェックします。
	 * <br>
	 * @param mmbSbt 会員種別
	 * @return boolean チェック結果
	 */
	private boolean isMmbSbtFamilyCheck(String mmbSbt)
	{
		if (JCKCommonConst.CD00039_FAMILY_KOJIN.equals(mmbSbt) || JCKCommonConst.CD00039_FAMILY_HOJIN.equals(mmbSbt))
		{
			return true;
		}
		return false;
	}
	
	/**
	 * オープン会員（元マスター会員）かチェックします。
	 * <br>
	 * @param mmbSbt 会員種別
	 * @return boolean チェック結果
	 */
	private boolean isOpMmbSbt(String mmbSbt, X31SDataBeanAccess bean)
	{
		if (JCKCommonConst.CD00039_OPEN.equals(mmbSbt))
		{
			if (bean.sendMessageBoolean("異動区分遷移フラグ", X31CWebConst.DATABEAN_GET_VALUE)
					|| bean.sendMessageBoolean("照査遷移フラグ", X31CWebConst.DATABEAN_GET_VALUE))
			{
				return true;
			}
		}
		
		return false;
	}
	
	/**
	 * 会員種別または契約者タイプが変更されたかチェックします。
	 * <br>
	 * @param bean
	 * @param mmbSbt
	 * @param keishaType
	 * @return boolean チェック結果
	 */
	private boolean isMmbSbtKysTypeChg(X31SDataBeanAccess bean, String mmbSbt, String keishaType)
	{
		// マスター会員で会員種別変更有りの場合
		if (isMmbSbtMasterCheck(mmbSbt) && isComboCgbfToCgaf(bean, CKW00401SFConst.BEFORE_MEMBER_SBT, CKW00401SFConst.MEMBER_SBT))
		{
			return true;
		}
		// 非eo会員で契約者タイプ変更有り（個人と個人以外）の場合
		else if (JCKCommonConst.CD00039_NOT_EO_MMB.equals(mmbSbt)
				&& isComboCgbfToCgaf(bean, CKW00401SFConst.BEFORE_KEISHA_TYPE, CKW00401SFConst.KEISHA_TYPE))
		{
			String bfType = bean.sendMessageString(CKW00401SFConst.BEFORE_KEISHA_TYPE, X31CWebConst.DATABEAN_GET_VALUE);
			if (JCKCommonConst.CD00036_KOJIN.equals(keishaType) || JCKCommonConst.CD00036_KOJIN.equals(bfType))
			{
				return true;
			}
		}
		
		return false;
	}
	
	/**
	 * サービス契約回線内訳の更新有無をチェックします。
	 * <br>
	 * @param bean
	 * @param flg
	 * @param ymd
	 * 
	 * @return boolean チェック結果
	 */
	private boolean isSvcKeiKaisenUcwkCheck(X31SDataBeanAccess bean, String flg, String ymd)
	{
		boolean chgUmFlg = true;
		boolean kiboYmdFlg = true;
		String kiboYmd = bean.sendMessageString(CKW00401SFConst.BEFORE_KSHAD_CHG_KIBO_YMD, X31CWebConst.DATABEAN_GET_VALUE);
		
		if (flg.equals(bean.sendMessageString(CKW00401SFConst.BEFORE_KSHAD_CHG_UM, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			chgUmFlg = false;
		}
		
		if (kiboYmd == null)
		{
			if (ymd == null)
			{
				kiboYmdFlg = false;
			}
		}
		else
		{
			if (kiboYmd.equals(ymd))
			{
				kiboYmdFlg = false;
			}
		}
		
		if (chgUmFlg || kiboYmdFlg)
		{
			return true;
		}
		return false;
	}
/* ++++++++++ v4.02.00 追加開始 ++++++++++ */
	
	/**
	 * ログイン認証停止年月日にNULLを設定するか判定します。
	 * <br>
	 * @param bean
	 * 
	 * @return boolean チェック結果
	 */
	private boolean isSetNullLoginNsStpYmd(X31SDataBeanAccess bean)
	{
		// 画面.ログイン認証可 = NULL
		if(isBlank(bean.sendMessageString("ログイン認証", X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return true;
		}
		
		// 画面.ログイン認証可 = "1":可
		if("1".equals(bean.sendMessageString("ログイン認証", X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return true;
		}
		
		return false;
	}
	
	/**
	 * お客様変更時工事案件反映CCを実行するか判定します。
	 * ※設定項目に変更がある場合のみCCを実行する。
	 * <br>
	 * @param bean
	 * @param parentMap
	 * 
	 * @return boolean チェック結果
	 */
	private boolean isExecUpdKojiAnkenNameCC(X31SDataBeanAccess bean, HashMap<String, Object> parentMap)
	{
		boolean ccExecFlg = false;
		
		// 契約者名→お客様名
		if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_KEISHA_NM, CKW00401SFConst.KEISHA_NM))
		{
			parentMap.put("cust_nm", getValue(bean, CKW00401SFConst.KEISHA_NM));
			parentMap.put("cust_nm_chg_flg", true);
			ccExecFlg = true;
		}
		else
		{
			// OM-2014-0002538 ADD START
			parentMap.put("cust_nm", getValue(bean, CKW00401SFConst.KEISHA_NM));
			// OM-2014-0002538 ADD END
			parentMap.put("cust_nm_chg_flg", false);
		}
		
		// 契約者名（カナ）→お客様カナ名
		if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_KEISHA_NM_KANA, CKW00401SFConst.KEISHA_NM_KANA))
		{
			parentMap.put("cust_kana", getValue(bean, CKW00401SFConst.KEISHA_NM_KANA));
			parentMap.put("cust_kana_chg_flg", true);
			ccExecFlg = true;
		}
		else
		{
			// OM-2014-0002538 ADD START
			parentMap.put("cust_kana", getValue(bean, CKW00401SFConst.KEISHA_NM_KANA));
			// OM-2014-0002538 ADD END
			parentMap.put("cust_kana_chg_flg", false);
		}
		
		// 携帯電話→お客様携帯電話番号
		if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_RRKS_KTAI_TELNO, CKW00401SFConst.RRKS_KTAI_TELNO))
		{
			parentMap.put("cust_ktai_tel_no", getValue(bean, CKW00401SFConst.RRKS_KTAI_TELNO));
			parentMap.put("cust_ktai_tel_no_chg_flg", true);
			ccExecFlg = true;
		}
		else
		{
			// OM-2014-0002538 ADD START
			parentMap.put("cust_ktai_tel_no", getValue(bean, CKW00401SFConst.RRKS_KTAI_TELNO));
			// OM-2014-0002538 ADD END
			parentMap.put("cust_ktai_tel_no_chg_flg", false);
		}
		
		// 勤務先電話番号→お客様連絡先電話番号
		if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_OFFC_TELNO, CKW00401SFConst.OFFC_TELNO))
		{
			parentMap.put("cust_rrks_tel_no", getValue(bean, CKW00401SFConst.OFFC_TELNO));
			parentMap.put("cust_rrks_tel_no_chg_flg", true);
			ccExecFlg = true;
		}
		else
		{
			// OM-2014-0002538 ADD START
			parentMap.put("cust_rrks_tel_no", getValue(bean, CKW00401SFConst.OFFC_TELNO));
			// OM-2014-0002538 ADD END
			parentMap.put("cust_rrks_tel_no_chg_flg", false);
		}
		
		// 勤務先名→連絡先勤務先名
		if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_OFFC_NM, CKW00401SFConst.OFFC_NM))
		{
			parentMap.put("rrks_offc_nm", getValue(bean, CKW00401SFConst.OFFC_NM));
			parentMap.put("rrks_offc_nm_chg_flg", true);
			ccExecFlg = true;
		}
		else
		{
			// OM-2014-0002538 ADD START
			parentMap.put("rrks_offc_nm", getValue(bean, CKW00401SFConst.OFFC_NM));
			// OM-2014-0002538 ADD END
			parentMap.put("rrks_offc_nm_chg_flg", false);
		}
		
		// 住所コード→契約者住所コード
		if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_GEN_AD_CD, CKW00401SFConst.GEN_AD_CD))
		{
			parentMap.put("keisha_ad_cd", getValue(bean, CKW00401SFConst.GEN_AD_CD));
			parentMap.put("keisha_ad_cd_chg_flg", true);
			ccExecFlg = true;
		}
		else
		{
			// OM-2014-0002538 ADD START
			parentMap.put("keisha_ad_cd", getValue(bean, CKW00401SFConst.GEN_AD_CD));
			// OM-2014-0002538 ADD END
			parentMap.put("keisha_ad_cd_chg_flg", false);
		}
		
		// 郵便番号→契約者郵便番号
		if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_GEN_AD_PCD, CKW00401SFConst.GEN_AD_PCD))
		{
			parentMap.put("keisha_pcd", getValue(bean, CKW00401SFConst.GEN_AD_PCD));
			parentMap.put("keisha_pcd_chg_flg", true);
			ccExecFlg = true;
		}
		else
		{
			// OM-2014-0002538 ADD START
			parentMap.put("keisha_pcd", getValue(bean, CKW00401SFConst.GEN_AD_PCD));
			// OM-2014-0002538 ADD END
			parentMap.put("keisha_pcd_chg_flg", false);
		}
		
		// 都道府県→契約者都道府県名
		if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_GEN_STATE_NM, CKW00401SFConst.GEN_STATE_NM))
		{
			parentMap.put("keisha_state_nm", getValue(bean, CKW00401SFConst.GEN_STATE_NM));
			parentMap.put("keisha_state_nm_chg_flg", true);
			ccExecFlg = true;
		}
		else
		{
			// OM-2014-0002538 ADD START
			parentMap.put("keisha_state_nm", getValue(bean, CKW00401SFConst.GEN_STATE_NM));
			// OM-2014-0002538 ADD END
			parentMap.put("keisha_state_nm_chg_flg", false);
		}
		
		// 市区町村→契約者市区町村名
		if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_GEN_CITY_NM, CKW00401SFConst.GEN_CITY_NM))
		{
			parentMap.put("keisha_city_nm", getValue(bean, CKW00401SFConst.GEN_CITY_NM));
			parentMap.put("keisha_city_nm_chg_flg", true);
			ccExecFlg = true;
		}
		else
		{
			// OM-2014-0002538 ADD START
			parentMap.put("keisha_city_nm", getValue(bean, CKW00401SFConst.GEN_CITY_NM));
			// OM-2014-0002538 ADD END
			parentMap.put("keisha_city_nm_chg_flg", false);
		}
		
		// 大字通称→契約者大字通称名
		if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_GEN_OAZTSU_NM, CKW00401SFConst.GEN_OAZTSU_NM))
		{
			parentMap.put("keisha_oaztsu_nm", getValue(bean, CKW00401SFConst.GEN_OAZTSU_NM));
			parentMap.put("keisha_oaztsu_nm_chg_flg", true);
			ccExecFlg = true;
		}
		else
		{
			// OM-2014-0002538 ADD START
			parentMap.put("keisha_oaztsu_nm", getValue(bean, CKW00401SFConst.GEN_OAZTSU_NM));
			// OM-2014-0002538 ADD END
			parentMap.put("keisha_oaztsu_nm_chg_flg", false);
		}
		
		// 字丁目→契約者字丁目名
		if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_GEN_AZCHO_NM, CKW00401SFConst.GEN_AZCHO_NM))
		{
			parentMap.put("keisha_azcho_nm", getValue(bean, CKW00401SFConst.GEN_AZCHO_NM));
			parentMap.put("keisha_azcho_nm_chg_flg", true);
			ccExecFlg = true;
		}
		else
		{
			// OM-2014-0002538 ADD START
			parentMap.put("keisha_azcho_nm", getValue(bean, CKW00401SFConst.GEN_AZCHO_NM));
			// OM-2014-0002538 ADD END
			parentMap.put("keisha_azcho_nm_chg_flg", false);
		}
		
		// 番地・号→契約者住所番地号
		if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_GEN_BNCHIGO, CKW00401SFConst.GEN_BNCHIGO))
		{
			parentMap.put("keisha_ad_bnchigo", getValue(bean, CKW00401SFConst.GEN_BNCHIGO));
			parentMap.put("keisha_ad_bnchigo_chg_flg", true);
			ccExecFlg = true;
		}
		else
		{
			// OM-2014-0002538 ADD START
			parentMap.put("keisha_ad_bnchigo", getValue(bean, CKW00401SFConst.GEN_BNCHIGO));
			// OM-2014-0002538 ADD END
			parentMap.put("keisha_ad_bnchigo_chg_flg", false);
		}
		
		// 建物名→契約者住所補記・建物名
		if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_GEN_ADRTTM, CKW00401SFConst.GEN_ADRTTM))
		{
			parentMap.put("keisha_adrttm", getValue(bean, CKW00401SFConst.GEN_ADRTTM));
			parentMap.put("keisha_adrttm_chg_flg", true);
			ccExecFlg = true;
		}
		else
		{
			// OM-2014-0002538 ADD START
			parentMap.put("keisha_adrttm", getValue(bean, CKW00401SFConst.GEN_ADRTTM));
			// OM-2014-0002538 ADD END
			parentMap.put("keisha_adrttm_chg_flg", false);
		}
		
		// 部屋番号→契約者住所補記・部屋番号
		if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_GEN_ADRRM, CKW00401SFConst.GEN_ADRRM))
		{
			parentMap.put("keisha_adrrm", getValue(bean, CKW00401SFConst.GEN_ADRRM));
			parentMap.put("keisha_adrrm_chg_flg", true);
			ccExecFlg = true;
		}
		else
		{
			// OM-2014-0002538 ADD START
			parentMap.put("keisha_adrrm", getValue(bean, CKW00401SFConst.GEN_ADRRM));
			// OM-2014-0002538 ADD END
			parentMap.put("keisha_adrrm_chg_flg", false);
		}
		
// v10.00.01 ADD START
		
		// 電話番号→現住所_電話番号
		if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_GEN_TELNO, CKW00401SFConst.GEN_TELNO))
		{
			parentMap.put("gen_tel_no", getValue(bean, CKW00401SFConst.GEN_TELNO));
			parentMap.put("gen_tel_no_chg_flg", true);
			ccExecFlg = true;
		}
		else
		{
			parentMap.put("gen_tel_no", getValue(bean, CKW00401SFConst.GEN_TELNO));
			parentMap.put("gen_tel_no_chg_flg", false);
		}
// v10.00.01 ADD END
		
// IT1-2022-0000064対応 20220829 星野 ADD START
		// 保持＿スキームタイプコード→変更前スキームタイプコード
		// S-IF項目は存在しないため、項目値および変更フラグは不要
		if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SCM_TYPE, CKW00401SFConst.HOJI_SCM_TYPE_CD))
		{
			ccExecFlg = true;
		}
		
		// 保持＿スキーム事業者コード→変更前スキーム事業者コード
		// S-IF項目は存在しないため、項目値および変更フラグは不要
		if(isCgbfToCgaf(bean, CKW00401SFConst.BEFORE_SCM_JGS, CKW00401SFConst.HOJI_SCM_JGS_CD))
		{
			ccExecFlg = true;
		}
		
// IT1-2022-0000064対応 20220829 星野 ADD END
		
		return ccExecFlg;
	}
	
	/**
	 * 住所情報を取得します。
	 * <br>
	 * @param bean
	 * 
	 * @return String[]
	 */
	private String[] getAdInf(X31SDataBeanAccess bean)
	{
		String[] adInf = new String[10];
		boolean screen = bean.sendMessageBoolean(CKW00401SFConst.ONSCREEN_COPY_BTN, X31CWebConst.DATABEAN_GET_VALUE);
		
		if (screen)
		{
			// 利用場所住所を転記
			adInf[0] = bean.sendMessageString("回線場所住所コード", X31CWebConst.DATABEAN_GET_VALUE);
			adInf[1] = bean.sendMessageString("回線場所郵便番号", X31CWebConst.DATABEAN_GET_VALUE);
			adInf[2] = bean.sendMessageString("回線場所都道府県名", X31CWebConst.DATABEAN_GET_VALUE);
			adInf[3] = bean.sendMessageString("回線場所市区町村名", X31CWebConst.DATABEAN_GET_VALUE);
			adInf[4] = bean.sendMessageString("回線場所大字通称名", X31CWebConst.DATABEAN_GET_VALUE);
			adInf[5] = bean.sendMessageString("回線場所字丁目名", X31CWebConst.DATABEAN_GET_VALUE);
			adInf[6] = bean.sendMessageString("回線場所番地号", X31CWebConst.DATABEAN_GET_VALUE);
			adInf[7] = bean.sendMessageString("回線場所住所補記・建物名", X31CWebConst.DATABEAN_GET_VALUE);
			adInf[8] = bean.sendMessageString("回線場所住所補記・部屋番号", X31CWebConst.DATABEAN_GET_VALUE);
			adInf[9] = "0";
		}
		else
		{
			// 契約者住所を転記
			adInf[0] = bean.sendMessageString("住所コード", X31CWebConst.DATABEAN_GET_VALUE);
			adInf[1] = bean.sendMessageString("郵便番号", X31CWebConst.DATABEAN_GET_VALUE);
			adInf[2] = bean.sendMessageString("都道府県", X31CWebConst.DATABEAN_GET_VALUE);
			adInf[3] = bean.sendMessageString("市区町村", X31CWebConst.DATABEAN_GET_VALUE);
			adInf[4] = bean.sendMessageString("大字通称", X31CWebConst.DATABEAN_GET_VALUE);
			adInf[5] = bean.sendMessageString("字丁目", X31CWebConst.DATABEAN_GET_VALUE);
			adInf[6] = bean.sendMessageString("番地・号", X31CWebConst.DATABEAN_GET_VALUE);
			adInf[7] = bean.sendMessageString("建物名", X31CWebConst.DATABEAN_GET_VALUE);
			adInf[8] = bean.sendMessageString("部屋番号", X31CWebConst.DATABEAN_GET_VALUE);
			adInf[9] = getManInputFlg(bean, CKW00401SFConst.GEN_AD_CD, CKW00401SFConst.GEN_REGAI_INPUT_BTN);
		}
		
		return adInf;
	}
/* ++++++++++ v4.02.00 追加終了 ++++++++++ */
	
	/**
	 * 処理フラグを設定します。
	 * <br>
	 * @param bean
	 * @param parentMap
	 * @param rrksNo
	 * @param rrksNm
	 * @param mapKey
	 * @param bfItemNm
	 * @param itemNm
	 * 
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	private HashMap setDivFlgForChg(HashMap<String, Object> parentMap, String rrksNo, String mapKey)
	{
		String divFlg = "";
		
		// 連絡先にデータ無
		if (isBlank(rrksNo))
		{
			// 登録
			divFlg = DIV_FLG_ADD;
		}
		// 連絡先にデータ有
		else
		{
			// 更新
			divFlg = DIV_FLG_UPD;
		}
		
		parentMap.put(mapKey, divFlg);
		
		return parentMap;
	}
	
	/**
	 * 処理フラグを設定します。
	 * <br>
	 * @param bean
	 * @param parentMap
	 * @param rrksNo
	 * @param rrksNm
	 * @param mapKey
	 * @param bfItemNm
	 * @param itemNm
	 * 
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	private HashMap setDivFlg(
								X31SDataBeanAccess bean, 
								HashMap<String, Object> parentMap, 
								String rrksNo, 
								String rrksNm, 
								String mapKey, 
								String bfItemNm, 
								String itemNm)
	{
		String divFlg = DIV_FLG_N;
		
		// 連絡先にデータ無
		if (isBlank(rrksNo))
		{
			// "" ⇒ 入力
			if (isNotBlank(rrksNm))
			{
				// 登録
				divFlg = DIV_FLG_ADD;
			}
		}
		// 連絡先にデータ有
		else
		{
			if (isCgbfToCgaf(bean, bfItemNm, itemNm))
			{
				// 更新
				divFlg = DIV_FLG_UPD;
			}
		}
		
		parentMap.put(mapKey, divFlg);
		
		return parentMap;
	}
	
	/**
	 * 住所情報を設定します。
	 * <br>
	 * @param bean
	 * @param map
	 * @param flg
	 * 
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	private HashMap setAdInf(X31SDataBeanAccess bean, HashMap map, String flg)
	{
		String[] adInf = getAdInf(bean);
		String[] key = null;
		
		if ("1".equals(flg))
		{
			key = new String[]{"keisha_ad_cd",
								"keisha_pcd",
								"keisha_state_nm",
								"keisha_city_nm",
								"keisha_oaztsu_nm",
								"keisha_azcho_nm",
								"keisha_bnchigo",
								"keisha_adrttm",
								"keisha_adrrm"};
			map.put("keisha_ad_man_input_flg", adInf[9]);
		}
		else if ("2".equals(flg))
		{
			key = new String[]{"hjrrks_ad_cd",
								"hjrrks_pcd",
								"hjrrks_state_nm",
								"hjrrks_city_nm",
								"hjrrks_oaztsu_nm",
								"hjrrks_azcho_nm",
								"hjrrks_bnchigo",
								"hjrrks_adrttm",
								"hjrrks_adrrm"};
		}
		else if ("3".equals(flg))
		{
			key = new String[]{"ad_cd", "pcd", "state_nm", "city_nm", "oaztsu_nm", "azcho_nm", "bnchigo", "adrttm", "adrrm"};
		}
		
		map.put(key[0], adInf[0]);
		map.put(key[1], adInf[1]);
		map.put(key[2], adInf[2]);
		map.put(key[3], adInf[3]);
		map.put(key[4], adInf[4]);
		map.put(key[5], adInf[5]);
		map.put(key[6], adInf[6]);
		map.put(key[7], adInf[7]);
		map.put(key[8], adInf[8]);
		
		return map;
	}
	
	/**
	 * 法人格種別（前後指定）・法人格種別 更新値を設定します。
	 * <br>
	 * @param bean
	 * @param parentMap
	 * 
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	private HashMap setUpdValueHojinSbt(X31SDataBeanAccess bean, HashMap<String, Object> parentMap)
	{
		// 法人格種別（前後指定）選択値
		String selHojinZengoSti = getCodeValueForComboBox(bean, CKW00401SFConst.HOJIN_ZENGO_STI);
		
		// 法人格種別（前後指定）選択値 → 法人格前後指定コード
		parentMap.put("hojin_zengo_shitei_cd", selHojinZengoSti);
		
		// 法人格種別（前後指定）選択値 = "2":なし
		if(JKKStrConst.HOJIN_ZENGO_SHITEI_CD_NON.equals(selHojinZengoSti))
		{
			// "00" → 法人格種別コード
			parentMap.put("hojin_sbt_cd", JKKStrConst.HOJIN_SBT_CD_BLANK);
		}
		else
		{
			// 法人格種別選択値 → 法人格種別コード
			parentMap.put("hojin_sbt_cd", getCodeValueForComboBox(bean, CKW00401SFConst.HOJIN_SBT));
		}
		
		return parentMap;
	}
	
	/**
	 * 引数に値が設定されているか判定します。
	 * <br>
	 * @param	arg0	判定する引数
	 * @return	boolean	引数に値が設定されていない場合はtrue
	 */
	private boolean isBlank(String arg0)
	{
		if (arg0 == null || arg0.length() == 0)
		{
			return true;
		}
		
		return false;
	}
	
	/**
	 * 引数に値が設定されているか判定します。
	 * <br>
	 * @param	arg0	判定する引数
	 * @return	boolean	引数に値が設定されている場合はtrue
	 */
	private boolean isNotBlank(String arg0)
	{
		if (arg0 == null || arg0.length() == 0)
		{
			return false;
		}
		
		return true;
	}
	
	/**
	 * 法人格種別・全角空白を除いた契約者名を取得
	 * <br>
	 * @param bean　[0]：お客様情報登録
	 * @return String	法人格種別・全角空白を除いた契約者名
	 */
	private String getCompNm(X31SDataBeanAccess[] bean)
	{
		final String BLANK = "";
		
		String editValue = "";
		
		String selHojinZengoStiCd = getCodeValueForComboBox(bean[0], "法人格種別（前後指定）");
		String selHojinSbtCd = getCodeValueForComboBox(bean[0], "法人格種別");
		String keishaNm = bean[0].sendMessageString("契約者名", X31CWebConst.DATABEAN_GET_VALUE);
		
		if (JKKStrConst.HOJIN_ZENGO_SHITEI_CD_NON.equals(selHojinZengoStiCd) || JKKStrConst.HOJIN_SBT_CD_BLANK.equals(selHojinSbtCd))
		{
			return keishaNm;
		}
		
		editValue = JPCUtilCommon.trim(keishaNm.replaceAll(getHjnSbtSelectNm(bean).split("\\.")[1], BLANK));
		
		return editValue;
	}
	
	/**
	 * 画面データ(プルダウン選択値:名称)を取得
	 * <br>
	 * @param	serviceBean	サービスフォームBean
	 * @return	name		プルダウン選択値:名称
	 */
	private String getHjnSbtSelectNm(X31SDataBeanAccess[] bean)
	{
		X31SDataBeanAccessArray comboArray = bean[0].getDataBeanArray("法人格種別");
		X31SDataBeanAccess subbean = comboArray.getDataBean(0);
		String index = subbean.sendMessageString(CKW00401SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_GET_VALUE);
		
		return subbean.sendMessageString(CKW00401SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(index));
	}
	
	// OM-2014-0003613 ADD START
	/**
	 * 企業識別コード（６桁）から画面表示値（下３桁）を取得します。
	 * <br>
	 * @param value 値
	 * 
	 * @return String 編集値
	 * <br>
	 */
	private String getCompCdValue(String value)
	{
		if (value == null || value.length() == 0)
		{
			return "";
		}
		else if (value.length() == 6)
		{
			return value.substring(3);
		}
		
		return value;
	}
	// OM-2014-0003613 ADD END
}
