/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom, 2011
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：契約管理
 *   モジュール名    ：セット割登録画面
 *   ソースファイル名：KKW22301SFLogic.java
 *   作成者          ：FJ
 *   日付            ：2018年06月29日
 *＜機能概要＞
 *   セット割登録画面ビューロジックです。
 *＜修正履歴＞
 *   バージョン  修正日       修正者      修正内容
 *   v38.00.00	 2018/06/28   FJ）原田	  新規作成【ANK-3436-00-00】mineoセット割
 *   v38.00.04	 2018/07/26   FJ) 原田	 【IT1-2018-0000126】
 *   v38.00.05	 2018/08/10   FJ) 原田	 【ST-2018-0000031】解約済のセット割情報が表示される
 *   v40.00.00	 2018/12/21   FJ) 吉田	 【ANK-3521-00-00】セット割参照機能の追加
 *   v54.00.00	 2021/10/01   FJ) 山地	 【ANK-4068-00-00】IBUKI：020番号の14桁化対応
 **********************************************************************/
package eo.web.webview.KKW22301SF;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import com.fujitsu.futurity.common.JSYwebLog;
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.JKKStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JKKCommonConst;
import eo.web.webview.common.JKKScreenConst;
import eo.web.webview.common.JKKWebCommon;
import eo.web.webview.mapping.KKSV0910_KKSV0910OPDBMapper;
import eo.web.webview.mapping.KKSV0912_KKSV0912OPDBMapper;
import eo.web.webview.mapping.KKSV0913_KKSV0913OPDBMapper;
import eo.web.webview.mapping.KKSV0914_KKSV0914OPDBMapper;
import eo.web.webview.mapping.KKSV0915_KKSV0915OPDBMapper;
import eo.web.webview.mapping.KKSV0916_KKSV0916OPDBMapper;

/**
 * セット割登録画面ビューロジック.
 * <p>
 * <BR>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class KKW22301SFLogic extends JCCWebBusinessLogic 
{	
	/** ポップアップモード：POPアップ遷移（モーダレス） */
	public static final String POPUP_MODE_MODALESS = "2";

	/** 異動区分選択画面遷移パターン：自画面遷移パターン */
	public static final String IDO_DIV_SENI_PTN_ONESELF = "01";
	
	/** 個別割引適用可否照会・変更依頼処理結果コード（"0"：登録・削除完了） */
	public static final String RSLT_CD_0 = "0";
	
	/** 個別割引適用可否照会・変更依頼処理結果コード（"1"：照会結果(可)） */
	public static final String RSLT_CD_1 = "1";
	
	/** 個別割引適用可否照会・変更依頼処理結果（"000"：正常） */
	public static final String RSLT_SYSTEM_CD_000 = "000";
	
	/** 個別割引適用可否照会・変更依頼処理結果（"500"：業務エラー） */
	public static final String RSLT_SYSTEM_CD_500 = "500";
	
	/**
	 * 初期表示処理
	 * @return 正常終了:true 異常修了:false
	 * @throws Exception Exception
	 */
	public boolean actionInit() throws Exception
	{
		// DataBeanログ出力
		// 跨り関係のない画面からの遷移にあたって
		// 跨り関係のない画面および自画面が設定した受け渡し情報をSFBeanに設定。
		
		//共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		String screenId = commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_GET_VALUE);
		if (JKKScreenConst.SCREEN_ID_KKW22301.equals(screenId))
		{
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW22301);
		}
		
		//サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		if (svcFormBean == null)
		{
			throw new Exception();
		}

		///// セッション情報取得 /////
		JCCWebCommon.getScreenInfo(this);

		// マッピング用paramBeanセット
		X31SDataBeanAccess[] paramBean = {svcFormBean};

		// ユースケースID格納用マップ
		Map<String, Object> paramMap = new HashMap<String, Object>();

		// ユースケースID格納用マップに情報を設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0910);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0910OP);

		// 条件格納用マップ
		HashMap<String, Object> inputMap = null;
		inputMap = new HashMap<String, Object>();		//データマップ

		// 処理結果格納用マップ
		HashMap<String, Object> outputMap = null;
		outputMap = new HashMap<String, Object>();		//結果格納用マップ

		// マッピングクラス
		KKSV0910_KKSV0910OPDBMapper mapper = new KKSV0910_KKSV0910OPDBMapper();
		
		// 運用日付の取得
		String opeDate = JCCWebCommon.getOpeDate(this, null);
		// ▼▼▼▼▼ ANK-3521-00-00 2018/12/21 ADD START ▼▼▼▼▼
		String opeDateTimeStamp = JCCWebCommon.getOpeDateTimeStamp(this, null);
		// ▲▲▲▲▲ ANK-3521-00-00 2018/12/21 ADD END ▲▲▲▲▲

		// 上りマッピング
		mapper.setKKSV091001SC(paramBean, inputMap, opeDate, JPCModelConstant.FUNC_CD_2);
		mapper.setKKSV091002SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setKKSV091003SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setKKSV091004CC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setKKSV091005SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_3);
		// ▼▼▼▼▼ ANK-3521-00-00 2018/12/21 ADD START ▼▼▼▼▼
		mapper.setKKSV091006SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2, opeDate);
		mapper.setKKSV091007CC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1, opeDateTimeStamp);
		// ▲▲▲▲▲ ANK-3521-00-00 2018/12/21 ADD END ▲▲▲▲▲

		// サービス実行
		invokeService(paramMap, inputMap, outputMap);

		// 下りマッピング
		mapper.getKKSV091001SC(paramBean, outputMap);
		mapper.getKKSV091002SC(paramBean, outputMap);
		// ▼▼▼▼▼ ANK-3521-00-00 2018/12/21 ADD START ▼▼▼▼▼
		mapper.getKKSV091006SC(paramBean, outputMap);
		mapper.getKKSV091007CC(paramBean, outputMap);
		
		// エラーメッセージのセットを行う
		if(outputMap.containsKey("KKSV091007CC"))
		{
			HashMap<String, Object> parentMap = new HashMap<String, Object>();
			parentMap = (HashMap<String, Object>)outputMap.get("KKSV091007CC");
			String resultSystemCd = (String)parentMap.get("rslt_system_cd");
			
			if(RSLT_SYSTEM_CD_000.equals(resultSystemCd))
			{
				// 正常終了のときは何もしない
			}
			else if(RSLT_SYSTEM_CD_500.equals(resultSystemCd))
			{
				// 業務エラーのときはエラーメッセージをセットする
				// メッセージを設定
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB9060_NW, new String[]{ "登録済の割引"});
			}
			else
			{
				// システムエラーのときはエラーメッセージをセットする
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB8220_KW, new String[]{ "割引情報の取得"});
			}
		}
		// ▲▲▲▲▲ ANK-3521-00-00 2018/12/21 ADD END ▲▲▲▲▲
		// ※プルダウンは機能コード：コード名称管理一覧照会
		JKKWebCommon.setPulldownList(paramBean[0], outputMap,
				KKW22301SFConst.SEARCH_TRGT_INFO, "KKSV091005SC", true);

		// 割引キャンペーン一覧リストの作成
		// ▼▼▼▼▼ ANK-3521-00-00 2018/12/21 DEL START ▼▼▼▼▼
//		editWribCampaignList(paramBean,outputMap);
		// ▲▲▲▲▲ ANK-3521-00-00 2018/12/21 DEL END ▲▲▲▲▲
		
		//共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW22301);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW22301);
		
		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;

	}
	
	/**
	 * 可否チェックボタン
	 * 
	 * @return 処理結果
	 * @throws Exception Exception
	 */
	public boolean executeKhChk() throws Exception
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = { bean };
		
		// ************************
		// 検索対象リスト情報取得
		// ************************
		X31SDataBeanAccessArray search_trgt_list = paramBean[0].getDataBeanArray(KKW22301SFConst.SEARCH_TRGT_INFO);
		X31SDataBeanAccess search_trgt_subbean = search_trgt_list.getDataBean(0);
		// 添え字の取得
		String search_trgt_index = search_trgt_subbean.sendMessageString(KKW22301SFConst.INDEX_03, X31CWebConst.DATABEAN_GET_VALUE);
		// 添え字からコードを取得
		String search_trgt_value = search_trgt_subbean.sendMessageString(KKW22301SFConst.CD_DIV_LIST_03, 
				X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(search_trgt_index));
		// 添え字から名称を取得
		String search_trgt_nm_value = search_trgt_subbean.sendMessageString(KKW22301SFConst.CD_DIV_NM_LIST_03, 
				X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(search_trgt_index));
		// 検索対象＿選択の設定
		paramBean[0].sendMessageString(KKW22301SFConst.SEARCH_TRGT_SELECT, X31CWebConst.DATABEAN_SET_VALUE, search_trgt_value);
		// 検索対象名称＿選択の設定
		paramBean[0].sendMessageString(KKW22301SFConst.SEARCH_TRGT_NM_SELECT, X31CWebConst.DATABEAN_SET_VALUE, search_trgt_nm_value);
		
		// *******************************
		// キャンペーンコード未入力時処理
		// *******************************
		if ("".equals(paramBean[0].sendMessageString(KKW22301SFConst.WRIB_CAMPAIGN_CD, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// キャンペーンコードが未設定の場合、キャンペーンコード名称を空にする
			paramBean[0].sendMessageString(KKW22301SFConst.WRIB_CAMPAIGN_CD_NM, X31CWebConst.DATABEAN_SET_VALUE, "");
		}
		
		// ********************************************************************************************
		// 登録ボタン・照査NGボタン押下時チェック用に"検索対象","検索キー","キャンペーンコード"を退避
		// ********************************************************************************************
		// 退避用＿検索対象の設定
		paramBean[0].sendMessageString(KKW22301SFConst.TAIHI_SEARCH_TRGT, X31CWebConst.DATABEAN_SET_VALUE, search_trgt_value);
		// 退避用＿検索キーの設定
		paramBean[0].sendMessageString(KKW22301SFConst.TAIHI_SEARCH_KEY, X31CWebConst.DATABEAN_SET_VALUE
					, paramBean[0].sendMessageString(KKW22301SFConst.SEARCH_KEY, X31CWebConst.DATABEAN_GET_VALUE));
		// 退避用＿キャンペーンコードの設定
		paramBean[0].sendMessageString(KKW22301SFConst.TAIHI_WRIB_CAMPAIGN_CD, X31CWebConst.DATABEAN_SET_VALUE
				, paramBean[0].sendMessageString(KKW22301SFConst.WRIB_CAMPAIGN_CD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// *******************
		// 単項目関連チェック
		// *******************
		String searchKey = "";
		Boolean tnkmChkFlg = true;
		
		// 検索キー
		searchKey = paramBean[0].sendMessageString(KKW22301SFConst.SEARCH_KEY, X31CWebConst.DATABEAN_GET_VALUE);
		
		if ("1".equals(search_trgt_value))
		{
			if (searchKey.length() != 10)
			{
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0020_TW, new String[]{ "mineo受付番号","10"}, "search_key");
				tnkmChkFlg = false;
			}
		}
		else if ("2".equals(search_trgt_value))
		{
//ANK-4068-00-00 MOD START
//			if (searchKey.length() != 11)
//			{
//				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0020_TW, new String[]{ "mineo電話番号","11"}, "search_key");
//				tnkmChkFlg = false;
//			}
			if (searchKey.length() != 11 && searchKey.length() != 14)
			{
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0020_TW, new String[]{ "mineo電話番号","11または14"}, "search_key");
				tnkmChkFlg = false;
			}
//ANK-4068-00-00 MOD END
		}
		else if ("3".equals(search_trgt_value))
		{
			if (searchKey.length() != 10)
			{
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0020_TW, new String[]{ "電気受付番号","10"}, "search_key");
				tnkmChkFlg = false;
			}
		}
		
		// チェックエラーとなった場合、処理を終了させる
		if(!tnkmChkFlg)
		{
			return false;
		}
		
		// *****************
		// 可否チェック実行
		// *****************
		// 上りマッピング(サービス項目-DataBean項目マッピング)
		KKSV0913_KKSV0913OPDBMapper mapper = new KKSV0913_KKSV0913OPDBMapper();
		// 変数の定義
		HashMap<String, Object> paramMap  = new HashMap<String, Object>();
		HashMap<String, Object> inputMap  = new HashMap<String, Object>();
		HashMap<String, Object> outputMap  = new HashMap<String, Object>();
		
		// ユースケースID格納用マップに情報を設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0913);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0913OP);
		
		String opeDateTime = JCCWebCommon.getOpeDateTimeStamp(this, null);
		
		mapper.setKKSV091301CC(paramBean, inputMap, opeDateTime);
		
		invokeService(paramMap, inputMap, outputMap);
		
		// 取得情報の下りマッピング
		mapper.getKKSV091301CC(paramBean, outputMap);
		
		// ************************************************
		// 処理結果より、ボタンの活性／非活性の制御を行う
		// ************************************************
		if(outputMap.containsKey("KKSV091301CC"))
		{
			HashMap<String, Object> parentMap = new HashMap<String, Object>();
			String result = "";
			String resultSystemCd = "";
			
			parentMap = (HashMap<String, Object>)outputMap.get("KKSV091301CC");
			
			result = (String)parentMap.get("rslt_cd");
			resultSystemCd = (String)parentMap.get("rslt_system_cd");
			
			// キャンペーンコード名称の取得
			String wribCampaignNm = paramBean[0].sendMessageString(KKW22301SFConst.WRIB_CAMPAIGN_CD_NM, X31CWebConst.DATABEAN_GET_VALUE);
			
			if ("E01".equals(result))
			{
				// メッセージを設定
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB4680_NW, new String[]{ "キャンペーンコード", "割引サービス"}, "wrib_campaign_cd");
			}
			else if (RSLT_SYSTEM_CD_000.equals(resultSystemCd) && RSLT_CD_1.equals(result))
			{
				// 処理の結果、正常であれば登録ボタンを活性化させる
				// 登録ボタンが活性になるよう設定
				paramBean[0].sendMessageBoolean(KKW22301SFConst.ADD_BTN_KASSEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);
				// 照査NGボタンが非活性になるよう設定
				paramBean[0].sendMessageBoolean(KKW22301SFConst.SHOSA_NG_BTN_KASSEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
				
				// メッセージを設定
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKBF170__I
						, new String[]{ searchKey, wribCampaignNm, "登録可能です"});
				
			}
			else if ((RSLT_SYSTEM_CD_000.equals(resultSystemCd) && !RSLT_CD_1.equals(result))
						|| RSLT_SYSTEM_CD_500.equals(resultSystemCd))
			{
				// 処理の結果、正常以外であれば照査NGボタンを活性化させる
				// 登録ボタンが非活性になるよう設定
				paramBean[0].sendMessageBoolean(KKW22301SFConst.ADD_BTN_KASSEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
				// 照査NGボタンが活性になるよう設定
				paramBean[0].sendMessageBoolean(KKW22301SFConst.SHOSA_NG_BTN_KASSEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);
				
				// メッセージを設定
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKBF170__I
						, new String[]{ searchKey, wribCampaignNm, "登録できません"});
			}
			else
			{
				// 処理の結果、システムエラー等であれば登録ボタンと照査NGボタンを活性化させる
				// 登録ボタンが非活性になるよう設定
				paramBean[0].sendMessageBoolean(KKW22301SFConst.ADD_BTN_KASSEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
				// 照査NGボタンが非活性になるよう設定
				paramBean[0].sendMessageBoolean(KKW22301SFConst.SHOSA_NG_BTN_KASSEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
				
				// メッセージを設定
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB8220_KW, new String[]{"セット割の申請"});
			}
		}
		
		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);
		
		// 自画面の画面名を設定
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW22301);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW22301);
		
		return true;
	}
	
	/**
	 * 登録ボタン押下処理
	 * 
	 * @return 処理結果
	 * @throws Exception Exception
	 */
	public boolean actionAdd() throws Exception
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = { bean };
		
		// ************************
		// 検索対象リスト情報取得
		// ************************
		X31SDataBeanAccessArray search_trgt_list = paramBean[0].getDataBeanArray(KKW22301SFConst.SEARCH_TRGT_INFO);
		X31SDataBeanAccess search_trgt_subbean = search_trgt_list.getDataBean(0);
		// 添え字の取得
		String search_trgt_index = search_trgt_subbean.sendMessageString(KKW22301SFConst.INDEX_03, X31CWebConst.DATABEAN_GET_VALUE);
		// 添え字からコードを取得
		String search_trgt_value = search_trgt_subbean.sendMessageString(KKW22301SFConst.CD_DIV_LIST_03, 
				X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(search_trgt_index));
		// 添え字から名称を取得
		String search_trgt_nm_value = search_trgt_subbean.sendMessageString(KKW22301SFConst.CD_DIV_NM_LIST_03, 
				X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(search_trgt_index));
		// 検索対象＿選択の設定
		paramBean[0].sendMessageString(KKW22301SFConst.SEARCH_TRGT_SELECT, X31CWebConst.DATABEAN_SET_VALUE, search_trgt_value);
		// 検索対象名称＿選択の設定
		paramBean[0].sendMessageString(KKW22301SFConst.SEARCH_TRGT_NM_SELECT, X31CWebConst.DATABEAN_SET_VALUE, search_trgt_nm_value);
		
		// *******************
		// 単項目関連チェック
		// *******************
		String taihiSearchTrgt = "";
		String taihiSearchKey = "";
		String taihiWribCampaignCd = "";
		String searchKey = "";
		String wribCampaignCd = "";
		
		Boolean tkmkChkFlg = true;
		
		// 退避用＿検索対象の設定
		taihiSearchTrgt = paramBean[0].sendMessageString(KKW22301SFConst.TAIHI_SEARCH_TRGT, X31CWebConst.DATABEAN_GET_VALUE);
		// 退避用＿検索キーの設定
		taihiSearchKey = paramBean[0].sendMessageString(KKW22301SFConst.TAIHI_SEARCH_KEY, X31CWebConst.DATABEAN_GET_VALUE);
		// 退避用＿キャンペーンコードの設定
		taihiWribCampaignCd = paramBean[0].sendMessageString(KKW22301SFConst.TAIHI_WRIB_CAMPAIGN_CD, X31CWebConst.DATABEAN_GET_VALUE);
		
		// 検索キーの取得
		searchKey = paramBean[0].sendMessageString(KKW22301SFConst.SEARCH_KEY, X31CWebConst.DATABEAN_GET_VALUE);
		// キャンペーンコードの取得
		wribCampaignCd= paramBean[0].sendMessageString(KKW22301SFConst.WRIB_CAMPAIGN_CD, X31CWebConst.DATABEAN_GET_VALUE);
		
		// *******************************
		// キャンペーンコード未入力時処理
		// *******************************
		if ("".equals(wribCampaignCd))
		{
			// キャンペーンコードが未設定の場合、キャンペーンコード名称を空にする
			paramBean[0].sendMessageString(KKW22301SFConst.WRIB_CAMPAIGN_CD_NM, X31CWebConst.DATABEAN_SET_VALUE, "");
		}
		
		if (!taihiSearchTrgt.equals(search_trgt_value))
		{
			// 登録ボタンが非活性になるよう設定
			paramBean[0].sendMessageBoolean(KKW22301SFConst.ADD_BTN_KASSEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
			
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1040_JW, new String[]{ "検索対象","再入力","登録"}, "search_trgt");
			tkmkChkFlg = false;
		}
		
		if (!taihiSearchKey.equals(searchKey))
		{
			// 登録ボタンが非活性になるよう設定
			paramBean[0].sendMessageBoolean(KKW22301SFConst.ADD_BTN_KASSEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
			
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1040_JW, new String[]{ "検索キー","再入力","登録"}, "search_key");
			tkmkChkFlg = false;
		}
		
		if (!taihiWribCampaignCd.equals(wribCampaignCd))
		{
			// 登録ボタンが非活性になるよう設定
			paramBean[0].sendMessageBoolean(KKW22301SFConst.ADD_BTN_KASSEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
			
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1040_JW, new String[]{ "キャンペーンコード","再入力","登録"}, "wrib_campaign_cd");
			tkmkChkFlg = false;
		}
		
		// チェックエラーとなった場合、処理を終了させる
		if (!tkmkChkFlg)
		{
			return false;
		}
		
		// *********
		// 登録実行
		// *********
		// 上りマッピング(サービス項目-DataBean項目マッピング)
		KKSV0914_KKSV0914OPDBMapper mapper = new KKSV0914_KKSV0914OPDBMapper();
		// 変数の定義
		HashMap<String, Object> paramMap  = new HashMap<String, Object>();
		HashMap<String, Object> inputMap  = new HashMap<String, Object>();
		HashMap<String, Object> outputMap  = new HashMap<String, Object>();
		
		// ユースケースID格納用マップに情報を設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0914);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0914OP);
		
		String opeDateTime = JCCWebCommon.getOpeDateTimeStamp(this, null);
		
		mapper.setKKSV091401CC(paramBean, inputMap, opeDateTime);
		
		invokeService(paramMap, inputMap, outputMap);
		
		// *****************
		// 登録実行結果確認
		// *****************
		if(outputMap.containsKey("KKSV091401CC"))
		{
			HashMap<String, Object> parentMap = new HashMap<String, Object>();
			String result = "";
			String resultSystemCd = "";
			
			parentMap = (HashMap<String, Object>)outputMap.get("KKSV091401CC");
			
			result = (String)parentMap.get("rslt_cd");
			resultSystemCd = (String)parentMap.get("rslt_system_cd");
			
			// キャンペーンコード名称の取得
			String wribCampaignNm = paramBean[0].sendMessageString(KKW22301SFConst.WRIB_CAMPAIGN_CD_NM, X31CWebConst.DATABEAN_GET_VALUE);
			
			// IT1-2018-0000126 ADD START
			if ("E01".equals(result))
			{
				// メッセージを設定
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB4680_NW, new String[]{ "キャンペーンコード", "割引サービス"}, "wrib_campaign_cd");
			} else
			// IT1-2018-0000126 ADD END
			if (RSLT_SYSTEM_CD_000.equals(resultSystemCd) && RSLT_CD_0.equals(result))
			{
				// メッセージを設定
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKBF170__I
						, new String[]{ searchKey, wribCampaignNm, "登録しました"});
			}
			else if (RSLT_SYSTEM_CD_500.equals(resultSystemCd) && "".equals(result))
			{
				// 登録ボタンが非活性になるよう設定
				paramBean[0].sendMessageBoolean(KKW22301SFConst.ADD_BTN_KASSEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
				
				// メッセージを設定
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKBF170__I
						, new String[]{ searchKey, wribCampaignNm, "登録できませんでした"});
				
				return false;
			}
			else
			{
				// 登録ボタンが非活性になるよう設定
				paramBean[0].sendMessageBoolean(KKW22301SFConst.ADD_BTN_KASSEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
				
				// メッセージを設定
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB8220_KW, new String[]{"セット割の申請"});
				
				return false;
			}
		}
		
		// 取得情報の下りマッピング
		mapper.getKKSV091401CC(paramBean, outputMap);
		
		
		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);
		
		// 自画面の画面名を設定
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW22301);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW22301);
		
		// 初期状態に戻す
		clearBean(paramBean);
		
		return true;
	}
	
	/**
	 * 照査NGボタン押下処理
	 * 
	 * @return 処理結果
	 * @throws Exception Exception
	 */
	public boolean actionShosaNg() throws Exception
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = { bean };
		
		// ************************
		// 検索対象リスト情報取得
		// ************************
		X31SDataBeanAccessArray search_trgt_list = paramBean[0].getDataBeanArray(KKW22301SFConst.SEARCH_TRGT_INFO);
		X31SDataBeanAccess search_trgt_subbean = search_trgt_list.getDataBean(0);
		// 添え字の取得
		String search_trgt_index = search_trgt_subbean.sendMessageString(KKW22301SFConst.INDEX_03, X31CWebConst.DATABEAN_GET_VALUE);
		// 添え字からコードを取得
		String search_trgt_value = search_trgt_subbean.sendMessageString(KKW22301SFConst.CD_DIV_LIST_03, 
				X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(search_trgt_index));
		// 添え字から名称を取得
		String search_trgt_nm_value = search_trgt_subbean.sendMessageString(KKW22301SFConst.CD_DIV_NM_LIST_03, 
				X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(search_trgt_index));
		// 検索対象＿選択の設定
		paramBean[0].sendMessageString(KKW22301SFConst.SEARCH_TRGT_SELECT, X31CWebConst.DATABEAN_SET_VALUE, search_trgt_value);
		// 検索対象名称＿選択の設定
		paramBean[0].sendMessageString(KKW22301SFConst.SEARCH_TRGT_NM_SELECT, X31CWebConst.DATABEAN_SET_VALUE, search_trgt_nm_value);
		
		// *******************************
		// キャンペーンコード未入力時処理
		// *******************************
		if ("".equals(paramBean[0].sendMessageString(KKW22301SFConst.WRIB_CAMPAIGN_CD, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// キャンペーンコードが未設定の場合、キャンペーンコード名称を空にする
			paramBean[0].sendMessageString(KKW22301SFConst.WRIB_CAMPAIGN_CD_NM, X31CWebConst.DATABEAN_SET_VALUE, "");
		}
		
		// ********************
		// 単項目チェック処理
		// ********************
		Boolean eoMlSend1 = paramBean[0].sendMessageBoolean(KKW22301SFConst.EO_ML_SEND1, X31CWebConst.DATABEAN_GET_VALUE);
		Boolean mineoMlSend1 = paramBean[0].sendMessageBoolean(KKW22301SFConst.MINEO_ML_SEND1, X31CWebConst.DATABEAN_GET_VALUE);
		Boolean tkmkChkFlg = true;
		
		
		if (!eoMlSend1 && !mineoMlSend1)
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1320_NW, new String[]{ "メール送信先"}, "eo_ml_send1");
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1320_NW, new String[]{ "メール送信先"}, "mineo_ml_send1");
			tkmkChkFlg = false;
		}
		
		// チェックエラーとなった場合、処理を終了させる
		if (!tkmkChkFlg)
		{
			return false;
		}
		
		// *******************
		// 単項目関連チェック
		// *******************
		String taihiSearchTrgt = "";
		String taihiSearchKey = "";
		String taihiWribCampaignCd = "";
		String searchKey = "";
		String wribCampaignCd = "";
		Boolean tkrnChkFlg = true;
		
		// 退避用＿検索対象の設定
		taihiSearchTrgt = paramBean[0].sendMessageString(KKW22301SFConst.TAIHI_SEARCH_TRGT, X31CWebConst.DATABEAN_GET_VALUE);
		// 退避用＿検索キーの設定
		taihiSearchKey = paramBean[0].sendMessageString(KKW22301SFConst.TAIHI_SEARCH_KEY, X31CWebConst.DATABEAN_GET_VALUE);
		// 退避用＿キャンペーンコードの設定
		taihiWribCampaignCd = paramBean[0].sendMessageString(KKW22301SFConst.TAIHI_WRIB_CAMPAIGN_CD, X31CWebConst.DATABEAN_GET_VALUE);
		
		// 検索キーの取得
		searchKey = paramBean[0].sendMessageString(KKW22301SFConst.SEARCH_KEY, X31CWebConst.DATABEAN_GET_VALUE);
		// キャンペーンコードの取得
		wribCampaignCd= paramBean[0].sendMessageString(KKW22301SFConst.WRIB_CAMPAIGN_CD, X31CWebConst.DATABEAN_GET_VALUE);
		
		if (!taihiSearchTrgt.equals(search_trgt_value))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1040_JW, new String[]{ "検索対象","再入力","登録"}, "search_trgt");
			tkrnChkFlg = false;
		}
		
		if (!taihiSearchKey.equals(searchKey))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1040_JW, new String[]{ "検索キー","再入力","登録"}, "search_key");
			tkrnChkFlg = false;
		}
		
		if (!taihiWribCampaignCd.equals(wribCampaignCd))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1040_JW, new String[]{ "キャンペーンコード","再入力","登録"}, "wrib_campaign_cd");
			tkrnChkFlg = false;
		}
		
		// チェックエラーとなった場合、処理を終了させる
		if (!tkrnChkFlg)
		{
			// 照査NGボタンが非活性になるよう設定
			paramBean[0].sendMessageBoolean(KKW22301SFConst.SHOSA_NG_BTN_KASSEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
			
			return false;
		}
		
		// ***********
		// 照査NG実行
		// ***********
		// 上りマッピング(サービス項目-DataBean項目マッピング)
		KKSV0915_KKSV0915OPDBMapper mapper = new KKSV0915_KKSV0915OPDBMapper();
		// 変数の定義
		HashMap<String, Object> paramMap  = new HashMap<String, Object>();
		HashMap<String, Object> inputMap  = new HashMap<String, Object>();
		HashMap<String, Object> outputMap  = new HashMap<String, Object>();
		
		// ユースケースID格納用マップに情報を設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0915);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0915OP);
		
		mapper.setKKSV091501CC(paramBean, inputMap);
		
		invokeService(paramMap, inputMap, outputMap);
		
		// *******************
		// 照査NG実行結果取得
		// *******************
		if(outputMap.containsKey("KKSV091501CC"))
		{
			HashMap<String, Object> parentMap = new HashMap<String, Object>();
			String result = "";
			
			parentMap = (HashMap<String, Object>)outputMap.get("KKSV091501CC");
			
			result = (String)parentMap.get("rslt_cd");
			
			if ("E01".equals(result))
			{
				// メッセージを設定
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB8700_JW);
			}
		}
		
		// 取得情報の下りマッピング
		mapper.getKKSV091501CC(paramBean, outputMap);
		
		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);
		
		// 自画面の画面名を設定
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW22301);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW22301);
		
		// 初期状態に戻す
		clearBean(paramBean);
		
		return true;
	}
	
	/**
	 * 解除ボタン押下処理
	 * 
	 * @return 処理結果
	 * @throws Exception Exception
	 */
	public boolean actionRls() throws Exception
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = { bean };
		
		// ************************
		// 検索対象リスト情報取得
		// ************************
		X31SDataBeanAccessArray search_trgt_list = paramBean[0].getDataBeanArray(KKW22301SFConst.SEARCH_TRGT_INFO);
		X31SDataBeanAccess search_trgt_subbean = search_trgt_list.getDataBean(0);
		// 添え字の取得
		String search_trgt_index = search_trgt_subbean.sendMessageString(KKW22301SFConst.INDEX_03, X31CWebConst.DATABEAN_GET_VALUE);
		// 添え字からコードを取得
		String search_trgt_value = search_trgt_subbean.sendMessageString(KKW22301SFConst.CD_DIV_LIST_03, 
				X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(search_trgt_index));
		// 添え字から名称を取得
		String search_trgt_nm_value = search_trgt_subbean.sendMessageString(KKW22301SFConst.CD_DIV_NM_LIST_03, 
				X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(search_trgt_index));
		// 検索対象＿選択の設定
		paramBean[0].sendMessageString(KKW22301SFConst.SEARCH_TRGT_SELECT, X31CWebConst.DATABEAN_SET_VALUE, search_trgt_value);
		// 検索対象名称＿選択の設定
		paramBean[0].sendMessageString(KKW22301SFConst.SEARCH_TRGT_NM_SELECT, X31CWebConst.DATABEAN_SET_VALUE, search_trgt_nm_value);
		
		// *******************************
		// キャンペーンコード未入力時処理
		// *******************************
		if ("".equals(paramBean[0].sendMessageString(KKW22301SFConst.WRIB_CAMPAIGN_CD, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// キャンペーンコードが未設定の場合、キャンペーンコード名称を空にする
			paramBean[0].sendMessageString(KKW22301SFConst.WRIB_CAMPAIGN_CD_NM, X31CWebConst.DATABEAN_SET_VALUE, "");
		}
		
		// *******************
		// 単項目関連チェック
		// *******************
		String searchKey = "";
		Boolean tkrnChkFlg = true;
		
		// 検索キー
		searchKey = paramBean[0].sendMessageString(KKW22301SFConst.SEARCH_KEY, X31CWebConst.DATABEAN_GET_VALUE);
		
		if ("1".equals(search_trgt_value))
		{
			if (searchKey.length() != 10)
			{
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0020_TW, new String[]{ "mineo受付番号","10"}, "search_key");
				tkrnChkFlg = false;
			}
		}
		else if ("2".equals(search_trgt_value))
		{
//ANK-4068-00-00 MOD START
//			if (searchKey.length() != 11)
//			{
//				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0020_TW, new String[]{ "mineo電話番号","11"},"search_key");
//				tkrnChkFlg = false;
//			}
			if (searchKey.length() != 11 && searchKey.length() != 14)
			{
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0020_TW, new String[]{ "mineo電話番号","11または14"},"search_key");
				tkrnChkFlg = false;
			}
//ANK-4068-00-00 MOD END
		}
		else if ("3".equals(search_trgt_value))
		{
			if (searchKey.length() != 10)
			{
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0020_TW, new String[]{ "電気受付番号","10"}, "search_key");
				tkrnChkFlg = false;
			}
		}
		
		// チェックエラーとなった場合、処理を終了させる
		if (!tkrnChkFlg)
		{
			return false;
		}
		
		// *************
		// 関連チェック
		// *************
		// 関連チェックフラグ
		Boolean knrnChkFlg = false;
		// キャンペーンコード
		String wribCmpCd = paramBean[0].sendMessageString(KKW22301SFConst.WRIB_CAMPAIGN_CD, X31CWebConst.DATABEAN_GET_VALUE);
		
		// 適用中の割引サービス契約一覧からの情報を取得
		X31SDataBeanAccessArray cmp_list = paramBean[0].getDataBeanArray(KKW22301SFConst.CAMPAIGN_ICRN);
		
		if (cmp_list.getCount() > 0)
		{
			for (int i = 0; i < cmp_list.getCount() ; i++ )
			{
				X31SDataBeanAccess cmp_list_subbean = cmp_list.getDataBean(i);
				
				String dspCmpCd = cmp_list_subbean.sendMessageString(KKW22301SFConst.DSP_CAMPAIGN_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
				
				// 処理対象のキャンペーンコードと適用中のキャンペーンコードが一致するか判定
				if (dspCmpCd.equals(wribCmpCd))
				{
					knrnChkFlg = true;
					break;
				}
			}
		}
		
		// 一致しなかった場合、エラーとする
		if (!knrnChkFlg)
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB8450_KW, new String[]{ "入力のキャンペーンコード","適用中のキャンペーンコード"}, "wrib_campaign_cd");
			return false;
		}
		
		
		// 上りマッピング(サービス項目-DataBean項目マッピング)
		KKSV0916_KKSV0916OPDBMapper mapper = new KKSV0916_KKSV0916OPDBMapper();
		// 変数の定義
		HashMap<String, Object> paramMap  = new HashMap<String, Object>();
		HashMap<String, Object> inputMap  = new HashMap<String, Object>();
		HashMap<String, Object> outputMap  = new HashMap<String, Object>();
		
		// ユースケースID格納用マップに情報を設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0916);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0916OP);
		
		String opeDateTime = JCCWebCommon.getOpeDateTimeStamp(this, null);
		
		mapper.setKKSV091601CC(paramBean, inputMap, opeDateTime);
		
		invokeService(paramMap, inputMap, outputMap);
		
		// *****************
		// 解除実行結果確認
		// *****************
		if(outputMap.containsKey("KKSV091601CC"))
		{
			HashMap<String, Object> parentMap = new HashMap<String, Object>();
			String result = "";
			String resultSystemCd = "";
			
			parentMap = (HashMap<String, Object>)outputMap.get("KKSV091601CC");
			
			result = (String)parentMap.get("rslt_cd");
			resultSystemCd = (String)parentMap.get("rslt_system_cd");
			
			// キャンペーンコード名称の取得
			String wribCampaignNm = paramBean[0].sendMessageString(KKW22301SFConst.WRIB_CAMPAIGN_CD_NM, X31CWebConst.DATABEAN_GET_VALUE);
			
			if ( RSLT_SYSTEM_CD_000.equals(resultSystemCd) && RSLT_CD_0.equals(result))
			{
				// メッセージを設定
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKBF170__I
						, new String[]{ searchKey, wribCampaignNm, "解除しました"});
				
			}
			// IT1-2018-0000126 MOD START
			//else if (RSLT_SYSTEM_CD_000.equals(resultSystemCd) && !RSLT_CD_0.equals(result))
			else if (RSLT_SYSTEM_CD_500.equals(resultSystemCd))
			// IT1-2018-0000126 MOD END
			{
				// メッセージを設定
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKBF170__I
						, new String[]{ searchKey, wribCampaignNm, "解除できませんでした"});
				
				return false;
			}
			else
			{
				// メッセージを設定
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB8220_KW, new String[]{"セット割の申請"});
				
				return false;
			}
		}
		
		// 取得情報の下りマッピング
		mapper.getKKSV091601CC(paramBean, outputMap);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);
		
		// 自画面の画面名を設定
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW22301);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW22301);
		
		// 初期状態に戻す
		clearBean(paramBean);
		
		return true;
	}
	
	/**
	 * キャンペーンの名称を取得します。（非同期通信用）
	 * @return true
	 * @throws Exception 業務サービス内でエラーが発生した場合
	 */
	@SuppressWarnings("unchecked")
	public boolean searchWribCampaignCdAjax() throws Exception
	{
		JKKWebCommon.setSelfScreenID(this);
		
		X31SDataBeanAccess bean = getServiceFormBean();
		bean.sendMessageString(KKW22301SFConst.WRIB_CAMPAIGN_CD_NM, X31CWebConst.DATABEAN_SET_VALUE, "");

		String wribCampaignCd = bean.sendMessageString(KKW22301SFConst.WRIB_CAMPAIGN_CD, X31CWebConst.DATABEAN_GET_VALUE);
		
		if (null == wribCampaignCd || wribCampaignCd.length() < 8)
		{
			return true;
		}
		
		// キャンペーン名称を取得
		Map wribCampaignCdInfo = getWribCampaignCdInfo(wribCampaignCd, bean);
		String wribCampaignCdNm = wribCampaignCdInfo.containsKey("wrib_campaign_cd_nm") ? (String)wribCampaignCdInfo.get("wrib_campaign_cd_nm") : "";
		
		bean.sendMessageString(KKW22301SFConst.WRIB_CAMPAIGN_CD_NM, X31CWebConst.DATABEAN_SET_VALUE, wribCampaignCdNm);
		
		return true;
	}
	
	/**
	 * ユーザマスタよりユーザ情報を取得します。
	 * @param addUserId 登録ID
	 * @param dataBean DataBean
	 * @return ユーザ情報
	 */
	@SuppressWarnings("unchecked")
	private Map getWribCampaignCdInfo(String wribCampaignCd, X31SDataBeanAccess dataBean)
	{
		X31SDataBeanAccess[] paramBean = { dataBean };
		
		if (null == wribCampaignCd || "".equals(wribCampaignCd) || wribCampaignCd.length() < 8)
		{
			return new HashMap();
		}
		KKSV0912_KKSV0912OPDBMapper mapper = new KKSV0912_KKSV0912OPDBMapper();
		// サービス検索条件格納用マップ
		HashMap inputMap = new HashMap<String, Map<String, String>>();
		// サービス処理結果格納用マップ
		HashMap outputMap = new HashMap<String, String>();
		// サービスIDをparamにセット
		Map paramMap = new HashMap<String, String>();
		
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0912);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0912OP);
		
		// EZM0051A010 ユーザ一意照会
		mapper.setKKSV091201CC(paramBean, inputMap);

		// サービスの呼び出し
		invokeService(paramMap, inputMap, outputMap);
		
		return getWribCampaignCdList(outputMap);
	}
	
	/**
	 * KKSV0880の実行結果よりユーザ一意照会明細のユーザ情報を取得します。
	 * @param outputMap KKSV0880の実行結果
	 * @return ユーザ情報
	 */
	@SuppressWarnings("unchecked")
	private Map getWribCampaignCdList(Map outputMap)
	{
		if(!outputMap.containsKey("KKSV091201CC")) 
		{
			return new HashMap();
		}
		HashMap parentMap = (HashMap)outputMap.get("KKSV091201CC");
		
		return parentMap;
	}

	/**
	 * 割引キャンペーン一覧のリストを作成する。
	 * 
	 * @param bean マッピング用paramBean
	 * @param outputMap 処理結果格納用マップ
	 */
	// ▼▼▼▼▼ ANK-3521-00-00 2018/12/21 DEL START ▼▼▼▼▼
//	@SuppressWarnings("unchecked")
//	public void editWribCampaignList(X31SDataBeanAccess[] bean,HashMap<String, Object> outputMap) 
//	{
//		// 割引サービス契約一覧照会（SYSID）の結果を確認する
//		HashMap parentMap_KKSV091003SC = null;
//		if(outputMap.containsKey("KKSV091003SC")){
//			parentMap_KKSV091003SC = (HashMap)outputMap.get("KKSV091003SC");
//		}
//		
//		ArrayList childList_KKSV091003SC = null;
//		childList_KKSV091003SC = null;
//		if(parentMap_KKSV091003SC != null && parentMap_KKSV091003SC.containsKey("EKK0451B005CBSMsg1List")){
//			childList_KKSV091003SC = (ArrayList)parentMap_KKSV091003SC.get("EKK0451B005CBSMsg1List");
//			
//			for(int i = 0; i < childList_KKSV091003SC.size(); i++){
//				X31SDataBeanAccess subbean = null;
//				HashMap childMap_KKSV091003SC = (HashMap)childList_KKSV091003SC.get(i);
//				
//				// 表示用キャンペーン取得(sysidより取得)
//				String dsp_campaign_cd_KKSV091003SC = (String)childMap_KKSV091003SC.get("dsp_campaign_cd");
//				
//				// ST-2018-0000031 ADD START
//				// 表示用キャンペーン取得(割引サービス契約ステータス取得)
//				String wrib_svc_kei_stat_KKSV091003SC = (String)childMap_KKSV091003SC.get("wrib_svc_kei_stat");
//				// ST-2018-0000031 ADD END
//				
//				// 割引サービス一意照会の結果を確認する
//				HashMap parentMap_KKSV091004CC = null;
//				if(outputMap.containsKey("KKSV091004CC"))
//				{
//					parentMap_KKSV091004CC = (HashMap)outputMap.get("KKSV091004CC");
//					ArrayList childList_KKSV091004CC = null;
//					
//					if(parentMap_KKSV091004CC.containsKey("EKK0841A010CBSMsg1List"))
//					{
//						childList_KKSV091004CC = (ArrayList)parentMap_KKSV091004CC.get("EKK0841A010CBSMsg1List");
//						
//						for (int j = 0; j < childList_KKSV091004CC.size(); j++)
//						{
//							HashMap childMap_KKSV091004CC = (HashMap)childList_KKSV091004CC.get(j);
//							
//							// 表示用キャンペーン取得(業務パラメータより取得)
//							String dsp_campaign_cd_KKSV091004CC = (String)childMap_KKSV091004CC.get("dsp_campaign_cd");
//							
//							// 表示用キャンペーンの比較を行い、一致した場合は画面表示対象
//							// ST-2018-0000031 MOD START
//							//if(dsp_campaign_cd_KKSV091003SC.equals(dsp_campaign_cd_KKSV091004CC)){
//							if(dsp_campaign_cd_KKSV091003SC.equals(dsp_campaign_cd_KKSV091004CC)
//									&& JKKStrConst.CD00055_SVCTK_CHU.equals(wrib_svc_kei_stat_KKSV091003SC)){
//							// ST-2018-0000031 MOD END
//								
//								subbean = bean[0].getDataBeanArray("キャンペーン一覧").addDataBean();
//								
//								// 割引サービス契約一覧照会明細.表示用キャンペーンコード ← 割引サービス契約一覧照会.割引サービス契約一覧照会明細.表示用キャンペーンコード
//								if (childMap_KKSV091003SC != null) {
//									subbean.sendMessageString("表示用キャンペーンコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap_KKSV091003SC.get("dsp_campaign_cd"));
//								} else {
//									subbean.sendMessageString("表示用キャンペーンコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
//								}
//								// 割引サービス契約一覧照会明細.割引サービス名 ← 割引サービス契約一覧照会.割引サービス契約一覧照会明細.割引サービス名
//								if (childMap_KKSV091003SC != null) {
//									subbean.sendMessageString("割引サービス名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap_KKSV091003SC.get("wrib_svc_nm"));
//								} else {
//									subbean.sendMessageString("割引サービス名", X31CWebConst.DATABEAN_SET_VALUE, new String());
//								}
//								// 割引サービス契約一覧照会明細.サービス開始年月日 ← 割引サービス契約一覧照会.割引サービス契約一覧照会明細.サービス開始年月日
//								if (childMap_KKSV091003SC != null) {
//									subbean.sendMessageString("サービス開始年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap_KKSV091003SC.get("svc_sta_ymd"));
//								} else {
//									subbean.sendMessageString("サービス開始年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
//								}
//								// 割引サービス契約一覧照会明細.サービス終了年月日 ← 割引サービス契約一覧照会.割引サービス契約一覧照会明細.サービス終了年月日
//								if (childMap_KKSV091003SC != null) {
//									subbean.sendMessageString("サービス終了年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap_KKSV091003SC.get("svc_endymd"));
//								} else {
//									subbean.sendMessageString("サービス終了年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
//								}
//								// 割引サービス契約一覧照会明細.申込年月日 ← 割引サービス契約一覧照会.割引サービス契約一覧照会明細.申込年月日
//								if (childMap_KKSV091003SC != null) {
//									subbean.sendMessageString("申込年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap_KKSV091003SC.get("mskm_ymd"));
//								} else {
//									subbean.sendMessageString("申込年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
//								}
//							}
//						}
//					}
//				}
//			}
//		}
//	}
	// ▲▲▲▲▲ ANK-3521-00-00 2018/12/21 DEL END ▲▲▲▲▲
	
	/**
	 * セット割情報部に設定している項目をリセットする。
	 * 
	 * @param paramBean マッピング用paramBean
	 * @throws Exception Exception
	 */
	public void clearBean(X31SDataBeanAccess[] paramBean) throws Exception
	{
	
		paramBean[0].sendMessageString(KKW22301SFConst.SEARCH_KEY, X31CWebConst.DATABEAN_SET_VALUE, "");
		paramBean[0].sendMessageString(KKW22301SFConst.WRIB_CAMPAIGN_CD, X31CWebConst.DATABEAN_SET_VALUE, "");
		paramBean[0].sendMessageString(KKW22301SFConst.WRIB_CAMPAIGN_CD_NM, X31CWebConst.DATABEAN_SET_VALUE, "");
		paramBean[0].sendMessageString(KKW22301SFConst.WRIB_SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, "");
		paramBean[0].sendMessageString(KKW22301SFConst.WRIB_SYSID, X31CWebConst.DATABEAN_SET_VALUE, "");
		paramBean[0].sendMessageString(KKW22301SFConst.WRIB_SEIKY_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, "");
		paramBean[0].sendMessageString(KKW22301SFConst.WRIB_KEISHA_AD_CD, X31CWebConst.DATABEAN_SET_VALUE, "");
		paramBean[0].sendMessageString(KKW22301SFConst.WRIB_KAISEN_PLACE_AD_CD, X31CWebConst.DATABEAN_SET_VALUE, "");
		paramBean[0].sendMessageString(KKW22301SFConst.WRIB_SVC_KEI_KAISEN_UCWK_NO, X31CWebConst.DATABEAN_SET_VALUE, "");
		paramBean[0].sendMessageString(KKW22301SFConst.WRIB_MSKM_YMD, X31CWebConst.DATABEAN_SET_VALUE, "");
		paramBean[0].sendMessageString(KKW22301SFConst.WRIB_SVC_KEI_STAT_NM, X31CWebConst.DATABEAN_SET_VALUE, "");
		paramBean[0].sendMessageString(KKW22301SFConst.WRIB_COURSE_DIV, X31CWebConst.DATABEAN_SET_VALUE, "");
		paramBean[0].sendMessageBoolean(KKW22301SFConst.ADD_BTN_KASSEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
		paramBean[0].sendMessageBoolean(KKW22301SFConst.SHOSA_NG_BTN_KASSEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
		paramBean[0].sendMessageBoolean(KKW22301SFConst.EO_ML_SEND1, X31CWebConst.DATABEAN_SET_VALUE, false);
		paramBean[0].sendMessageBoolean(KKW22301SFConst.EO_ML_SEND2, X31CWebConst.DATABEAN_SET_VALUE, false);
		paramBean[0].sendMessageBoolean(KKW22301SFConst.MINEO_ML_SEND1, X31CWebConst.DATABEAN_SET_VALUE, false);
		paramBean[0].sendMessageBoolean(KKW22301SFConst.MINEO_ML_SEND2, X31CWebConst.DATABEAN_SET_VALUE, false);
		X31SDataBeanAccessArray search_trgt_list = paramBean[0].getDataBeanArray(KKW22301SFConst.SEARCH_TRGT_INFO);
		X31SDataBeanAccess search_trgt_subbean = search_trgt_list.getDataBean(0);
		search_trgt_subbean.sendMessageString(KKW22301SFConst.INDEX_03, X31CWebConst.DATABEAN_SET_VALUE, "");
		search_trgt_subbean.sendMessageString(KKW22301SFConst.CD_DIV_LIST_03, X31CWebConst.DATABEAN_SET_VALUE, "");
		search_trgt_subbean.sendMessageString(KKW22301SFConst.CD_DIV_NM_LIST_03, X31CWebConst.DATABEAN_SET_VALUE, "");
		paramBean[0].sendMessageString(KKW22301SFConst.SEARCH_TRGT_SELECT, X31CWebConst.DATABEAN_SET_VALUE, "");
		paramBean[0].sendMessageString(KKW22301SFConst.SEARCH_TRGT_NM_SELECT, X31CWebConst.DATABEAN_SET_VALUE, "");
		// IT1-2018-0000126 ADD START
		X31SDataBeanAccessArray cmp_info_list = paramBean[0].getDataBeanArray(KKW22301SFConst.CAMPAIGN_ICRN);
		cmp_info_list.clearArray();
		// IT1-2018-0000126 ADD START
		
		actionInit();
	}
}
