/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom, 2011
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：契約管理
 *   モジュール名    ：販売促進コード抽出依頼登録
 *   ソースファイル名：KKW08801SFLogic.java
 *   作成者          ：富士通
 *   日付            ：2011年08月03日
 *＜機能概要＞
 *   販売促進コード抽出依頼部品です。
 *＜修正履歴＞
 *   バージョン  修正日       修正者      修正内容
 *   v1.00.00    2011/08/03   FJ）富士通  新規作成
 *
 **********************************************************************/
package eo.web.webview.KKW08801SF;

import static com.fujitsu.futurity.web.x31.X31CWebConst.DATABEAN_GET_VALUE;

import java.util.ArrayList;
import java.util.HashMap;

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.JPCOnlineMessageConstant;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.KKW01004SF.KKW01004SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JKKCommonConst;
import eo.web.webview.common.JKKScreenConst;
import eo.web.webview.mapping.KKSV0224_KKSV0224OPDBMapper;
import eo.web.webview.mapping.KKSV0225_KKSV0225OPDBMapper;

/**
 * <dd>クラス名：KKW08801SFLogic 
 * <dd>クラス説明：販売促進コード抽出依頼登録を行う。 
 * <dd>備考：なし。
 * 
 * @version 1.00.00 2011/08/03
 * @author 富士通
 */
@SuppressWarnings("serial")
public class KKW08801SFLogic extends JCCWebBusinessLogic
{
	
	/**
	 * 初期表示処理
	 * 
	 * <dd>備考：なし。
	 * 
	 * @return true/false
	 * @throws Exception
	 */
	public boolean actionInit() throws Exception
	{
		// ----------------------
		// セッション情報取得
		// ----------------------
		// 遷移先画面ID取得し、設定する。
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		String screenId = commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_GET_VALUE);
		
		// ----------------------
		// 遷移先画面ID確認
		// ----------------------
		if (JKKScreenConst.SCREEN_ID_KKW08801.equals(screenId))
		{
			return actionHnsokuCdCstReqInit();
			
		}
		return true;
	}
	
	/**
	 * 販売促進コード抽出依頼登録初期表示処理
	 * 
	 * <dd>備考：なし。
	 * 
	 * @return true/false
	 * @throws Exception
	 */
	public boolean actionHnsokuCdCstReqInit() throws Exception
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = { bean };
		if (bean == null)
		{
			throw new Exception();
		}
		
		// ---------------
		// 上りマッピング
		// ---------------
		HashMap<String, Object> paramMap = new HashMap<String, Object>(); // パラメタ設定用マップ
		HashMap<String, Object> inputMap = new HashMap<String, Object>(); // 検索条件格納用マップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>(); // 結果格納用マップ
		KKSV0224_KKSV0224OPDBMapper mapper = new KKSV0224_KKSV0224OPDBMapper(); // DataBean-BPマッパ
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0224);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0224OP);
		
		mapper.setKKSV022401SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_3); // コード名称管理一覧照会SC
		
		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);
		
		// ---------------
		// サービス実行
		// ---------------
		invokeService(paramMap, inputMap, outputMap);
		
		// ---------------
		// 下りマッピング
		// ---------------
		mapper.getKKSV022401SC(paramBean, outputMap); // コード名称管理一覧照会SC
		
		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);
		return true;
	}
	
	/**
	 * 割引サービス選択画面呼び出し処理
	 * 
	 * <dd>備考：なし。
	 * 
	 * @return true/false
	 * @throws Exception
	 */
	public boolean actionWrisvcModal() throws Exception
	{
		/*
		 * 呼び出し画面情報設定
		 */
		// 遷移先画面から自画面に戻れるようID設定
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW01004, JKKScreenConst.SCREEN_ID_KKW08801);

		/*
		 * 共有フォームBean設定
		 */
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// 遷移先画面IDを設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_ID_KKW01004);
		// 遷移先画面名を設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_NAME_KKW01004);

		return true;
	}
	
	/**
	 * 割引サービス選択画面からの戻り処理
	 * 
	 * <dd>備考：なし。
	 * 
	 * @return true/false
	 * @throws Exception
	 */
	public boolean actionUpdateParentPage() throws Exception
	{
		/*
		 * 画面表示情報設定
		 */
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		// セッション情報取得
		HashMap<String, Object> dataMap = JCCWebCommon.getScreenInfo(this);
		
		/*
		 * モーダル画面からの戻り値を画面に反映
		 */
		svcFormBean.sendMessageString(KKW08801SFConst.HNSOKU_CD,
				X31CWebConst.DATABEAN_SET_VALUE, (String)dataMap.get(KKW01004SFConst.DSP_CAMPAIGN_CD));

		/*
		 * 共有フォームBean設定
		 */
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// 遷移先画面IDを設定（自画面）
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_ID_KKW08801);
		// 遷移先画面名を設定（自画面）
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_NAME_KKW08801);
		
		return true;
	}
	
	/**
	 * 販売促進コード抽出依頼登録「登録確認」
	 * 
	 * <dd>備考：なし。
	 * 
	 * @return true/false
	 * @throws Exception
	 */
	public boolean actionAddHnsokuCdCstReq() throws Exception
	{
		
		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = { bean };
		if (bean == null)
		{
			throw new Exception();
		}
		
		// ----------------------
		// DataBeanへのデータ設定
		// ----------------------
		if (!mappingDataBean(bean))
		{
			throw new Exception();
		}

		// ----------------------
		// 画面設定内容のチェック
		// ----------------------
		if (!chkParam(paramBean))
		{
			return true;
		}

		// 入力DataBeanの確認
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		// ----------------------
		// サービス呼び出し処理
		// ----------------------
		HashMap<String, Object> paramMap = new HashMap<String, Object>(); // パラメタ設定用マップ
		HashMap<String, Object> inputMap = new HashMap<String, Object>(); // 検索条件格納用マップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>(); // 結果格納用マップ
		KKSV0225_KKSV0225OPDBMapper mapper = new KKSV0225_KKSV0225OPDBMapper(); // DataBean-BPマッパ
				
		// ---------------
		// 上りマッピング
		// ---------------
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0225);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0225OP);

		mapper.setKKSV022501SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1); // データ抽出項目一覧照会SC
		mapper.setKKSV022502SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1); // データ抽出項目設定対象契約一覧照会SC
		mapper.setKKSV022503SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_2); // ディレイド処理依頼登録SC
				
		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		// --------------------
		// 遷移先画面の設定(エラー発生時の遷移先)
		// --------------------
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08801);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08801);

		// ---------------
		// サービス実行
		// ---------------
		invokeService(paramMap, inputMap, outputMap);
		
		// ---------------------------------------
		// メッセージ表示処理＆遷移先画面の設定
		// ---------------------------------------
		if (isNotExist_EKK1351B001(outputMap))
		{
			// メッセージ設定
			String[] msgStr = {"販売促進コード", "販売促進サービス"};
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB4680_NW, msgStr, "hnsoku_cd");
		}
		else
		{
			if (isNotExist_EKK1401B002(outputMap))
			{
				// メッセージ設定
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I);
			}
			else
			{
				// メッセージ設定
				String[] str = { "販売促進コード抽出依頼情報の登録" };
				JCCWebCommon.setMessageInfo(this, "EKB0370--I", str);
				// 遷移先画面の設定
				commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08802);
				commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08802);
			}
		}

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);
		
		return true;
	}
	
	
	/**
	 * 販売促進コード抽出依頼登録「確定」
	 * 
	 * <dd>備考：なし。
	 * 
	 * @return true/false
	 * @throws Exception
	 */
	public boolean actionFixAddHnsokuCdCstReq() throws Exception
	{
		
		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = { bean };
		if (bean == null)
		{
			throw new Exception();
		}
		
		// 入力DataBeanの確認
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);
		
		// ----------------------
		// ディレイド登録内容作成
		// ----------------------
		/** ディレイド登録電子ファイル */
		byte[] efile = createEfile(bean);
		
		// ---------------
		// 電子ファイル添付MAP作成
		// ---------------
		HashMap<String, Object> attachMap = new HashMap<String, Object>();
		setDenshiFileAttachMap(attachMap, efile);
		
		// ----------------------
		// サービス呼び出し処理
		// ----------------------
		HashMap<String, Object> paramMap = new HashMap<String, Object>(); // パラメタ設定用マップ
		HashMap<String, Object> inputMap = new HashMap<String, Object>(); // 検索条件格納用マップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>(); // 結果格納用マップ
		KKSV0225_KKSV0225OPDBMapper mapper = new KKSV0225_KKSV0225OPDBMapper(); // DataBean-BPマッパ
		
		// ---------------
		// 上りマッピング
		// ---------------
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0225);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0225OP);

		mapper.setKKSV022501SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1); // データ抽出項目一覧照会SC
		mapper.setKKSV022502SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1); // データ抽出項目設定対象契約一覧照会SC
		mapper.setKKSV022503SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1); // ディレイド処理依頼登録SC
		
		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);
		
		// ---------------
		// サービス実行
		// ---------------
		invokeService(paramMap, inputMap, outputMap, attachMap);
		
		// ---------------------------------------
		// メッセージ表示処理＆遷移先画面の設定
		// ---------------------------------------
		if (isNotExist_EKK1351B001(outputMap))
		{
			// メッセージ設定
			String[] msgStr = {"販売促進コード", "販売促進サービス"};
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB4680_NW, msgStr, "hnsoku_cd");
		}
		else
		{
			if (isNotExist_EKK1401B002(outputMap))
			{
				// メッセージ設定
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I);
			}
			else
			{
				// /// メッセージ表示処理 /////
				String[] str = { "販売促進コード抽出依頼情報の登録" };
				JCCWebCommon.setMessageInfo(this, "EKB4390--I", str);
				
				// /// 遷移先画面(販売促進コード抽出情報登録完了画面)の設定 /////
				X31SDataBeanAccess commonBean = super.getCommonInfoBean();
				commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08803);
				commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08803);
			}
		}
		
		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);
		
		return true;
	}
	
	/**
	 * 販売促進コード抽出依頼登録「修正」
	 * 
	 * <dd>備考：なし。
	 * 
	 * @return true/false
	 * @throws Exception
	 */
	public boolean actionShusei() throws Exception
	{
		
		// 遷移先画面(販売促進コード抽出依頼画面)の設定
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08801);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08801);
		
		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);
		
		return true;
	}
	
	/**
	 * 自動マッピングされないView->DataBeanを設定する
	 * 
	 * @param bean DataBeanアクセスクラス
	 * @throws Exception
	 * @return 正常終了:true 異常終了:false
	 */
	private boolean mappingDataBean(X31SDataBeanAccess bean) throws Exception
	{
		
		// ------------------
		// プルダウン情報の取得
		// ------------------
		X31SDataBeanAccessArray chsht_trgt_list = bean.getDataBeanArray(KKW08801SFConst.CHSHT_TRGT_LIST);
		X31SDataBeanAccess subbean = chsht_trgt_list.getDataBean(0);
		String chsht_trgt_index = subbean.sendMessageString(KKW08801SFConst.INDEX_01, X31CWebConst.DATABEAN_GET_VALUE);
		
		// ----------------------
		// 「データ抽出項目設定ステータス」
		// 「データ抽出項目設定完了種別コード」設定
		// ----------------------
		String chsht_trgt_cd = 
			subbean.sendMessageString(KKW08801SFConst.CD_DIV_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(chsht_trgt_index));

		// 抽出対象コードを設定
		bean.sendMessageString(KKW08801SFConst.CHSHT_TRGT_CD, X31CWebConst.DATABEAN_SET_VALUE, chsht_trgt_cd);
		// データ抽出項目設定ステータスをクリア
		bean.sendMessage(KKW08801SFConst.DCHSKMST_STAT, X31CWebConst.DATABEAN_CLEAR);
		// データ抽出項目設定完了種別コードをクリア
		bean.sendMessage(KKW08801SFConst.DCHSKMST_FIN_SBT_CD, X31CWebConst.DATABEAN_CLEAR);
		
		// 抽出対象コードにて設定内容を分岐
		if ("1".equals(chsht_trgt_cd))
		{
			bean.sendMessageString(KKW08801SFConst.DCHSKMST_STAT, X31CWebConst.DATABEAN_SET_VALUE, "010");
		}
		else if ("2".equals(chsht_trgt_cd))
		{
			bean.sendMessageString(KKW08801SFConst.DCHSKMST_STAT, X31CWebConst.DATABEAN_SET_VALUE, "100");
			bean.sendMessageString(KKW08801SFConst.DCHSKMST_FIN_SBT_CD, X31CWebConst.DATABEAN_SET_VALUE, "010");
		}
		
		// 抽出対象名
		String chsht_trgt_nm = 
			subbean.sendMessageString(KKW08801SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(chsht_trgt_index));
		bean.sendMessageString(KKW08801SFConst.CHSHT_TRGT_NM, X31CWebConst.DATABEAN_SET_VALUE, chsht_trgt_nm);

		// ------------------
		// 画面入力値の取得
		// ------------------
		String chsht_prd_sta_year = bean.sendMessageString(KKW08801SFConst.CHSHT_PRD_STA_YEAR, X31CWebConst.DATABEAN_GET_VALUE); // 抽出期間−自−年
		String chsht_prd_sta_mon = bean.sendMessageString(KKW08801SFConst.CHSHT_PRD_STA_MON, X31CWebConst.DATABEAN_GET_VALUE); // 抽出期間−自−月
		String chsht_prd_sta_day = bean.sendMessageString(KKW08801SFConst.CHSHT_PRD_STA_DAY, X31CWebConst.DATABEAN_GET_VALUE); // 抽出期間−自−日
		String chsht_prd_sta = chsht_prd_sta_year + chsht_prd_sta_mon + chsht_prd_sta_day;
		String dsp_chsht_prd_sta = "";
		if (chsht_prd_sta != null && chsht_prd_sta.length() > 0)
		{
			dsp_chsht_prd_sta = chsht_prd_sta_year + "/" + chsht_prd_sta_mon + "/" + chsht_prd_sta_day;
		}
		
		String chsht_prd_end_year = bean.sendMessageString(KKW08801SFConst.CHSHT_PRD_END_YEAR, X31CWebConst.DATABEAN_GET_VALUE); // 抽出期間−至−年
		String chsht_prd_end_mon = bean.sendMessageString(KKW08801SFConst.CHSHT_PRD_END_MON, X31CWebConst.DATABEAN_GET_VALUE); // 抽出期間−至−月
		String chsht_prd_end_day = bean.sendMessageString(KKW08801SFConst.CHSHT_PRD_END_DAY, X31CWebConst.DATABEAN_GET_VALUE); // 抽出期間−至−日
		String chsht_prd_end = chsht_prd_end_year + chsht_prd_end_mon + chsht_prd_end_day;
		String dsp_chsht_prd_end = "";
		if (chsht_prd_end != null && chsht_prd_end.length() > 0)
		{
			dsp_chsht_prd_end = chsht_prd_end_year + "/" + chsht_prd_end_mon + "/" + chsht_prd_end_day;
		}
		
		// ------------------
		// DataBeanへのデータ設定
		// ------------------
		bean.sendMessageString(KKW08801SFConst.CHSHT_PRD_STA, X31CWebConst.DATABEAN_SET_VALUE, chsht_prd_sta);
		bean.sendMessageString(KKW08801SFConst.CHSHT_PRD_END, X31CWebConst.DATABEAN_SET_VALUE, chsht_prd_end);
		bean.sendMessageString(KKW08801SFConst.DSP_CHSHT_PRD_STA, X31CWebConst.DATABEAN_SET_VALUE, dsp_chsht_prd_sta);
		bean.sendMessageString(KKW08801SFConst.DSP_CHSHT_PRD_END, X31CWebConst.DATABEAN_SET_VALUE, dsp_chsht_prd_end);
		
		return true;
	}
	/**
	 * 画面での入力内容をチェックする
	 * 
	 * @param paramBean
	 * @return true:エラー無し、false:エラー有り
	 */
	private boolean chkParam(X31SDataBeanAccess[] paramBean)
	{
		String chshtPrdSta = paramBean[0].sendMessageString(KKW08801SFConst.CHSHT_PRD_STA, DATABEAN_GET_VALUE);
		String chshtPrdEnd = paramBean[0].sendMessageString(KKW08801SFConst.CHSHT_PRD_END, DATABEAN_GET_VALUE);
		
		if (!isNullBlunk(chshtPrdSta) && !isNullBlunk(chshtPrdEnd))
		{
			// 抽出期間-至が抽出期間−自より過去の場合エラー
			if (chshtPrdEnd.compareTo(chshtPrdSta) < 0)
			{
				String[] msgStr = {"抽出期間−自", "抽出期間-至"};
				String[] itemId = {"chsht_prd_sta_year", "chsht_prd_sta_mon", "chsht_prd_sta_day", "chsht_prd_end_year", "chsht_prd_end_mon", "chsht_prd_end_day"};
				loopSetMessageInfo(itemId, JPCOnlineMessageConstant.EKB4650_NW, msgStr);
				return false;
			}
		}
		return true;
	}

	/**
	 * ディレイド登録する電子ファイルを作成
	 * 
	 * @param bean DataBeanアクセスクラス
	 * @throws Exception
	 */
	private byte[] createEfile(X31SDataBeanAccess bean) throws Exception
	{
		
		// ------------------
		// 画面入力値の取得
		// ------------------
		String hnsoku_cd = bean.sendMessageString(KKW08801SFConst.HNSOKU_CD, X31CWebConst.DATABEAN_GET_VALUE); // 販売促進コード
		String chsht_trgt = bean.sendMessageString(KKW08801SFConst.CHSHT_TRGT_CD, X31CWebConst.DATABEAN_GET_VALUE); // 抽出対象
		String chsht_prd_sta = bean.sendMessageString(KKW08801SFConst.CHSHT_PRD_STA, X31CWebConst.DATABEAN_GET_VALUE); // 抽出期間−自
		String chsht_prd_end = bean.sendMessageString(KKW08801SFConst.CHSHT_PRD_END, X31CWebConst.DATABEAN_GET_VALUE); // 抽出期間−至
		
		// ------------------
		// CSV形式に設定
		// ------------------
		String csv_data = hnsoku_cd + "," + chsht_trgt + "," + chsht_prd_sta + "," + chsht_prd_end;
		
		// ------------------
		// byte型に変換
		// ------------------
		// TODO:[KSSOL 青木] 文字コード指定はいるか？
		return csv_data.getBytes();
		
	}
	
	/**
	 * ファイルアップロード用HashMapへファイル情報をセットする。 <BR>
	 * 
	 * @param attachMap ファイルアップロード用HashMap
	 * @param binaryFile アップロードするファイルの本体
	 * @exception Exception
	 */
	private void setDenshiFileAttachMap(HashMap<String, Object> attachMap, byte[] binaryFile) throws Exception
	{
		HashMap<String, Object> fileMap = new HashMap<String, Object>();
		ArrayList<HashMap<String, Object>> fileList = new ArrayList<HashMap<String, Object>>();
		
		fileMap.put(X31CWebConst.TELEGRAM_INFO_ATTACH_IDENTIFUCD, "SIF_ECC0111D010"); // ディレイド処理依頼登録
		// S-IF
		// ID
		fileMap.put(X31CWebConst.TELEGRAM_INFO_ATTACH_LIST_NAMAE, "up_load_list");
		fileMap.put(X31CWebConst.TELEGRAM_INFO_ATTACH_ITEM_NAMAE, "efile");
		fileMap.put(X31CWebConst.TELEGRAM_INFO_ATTACH_INDEX, "0");
		fileMap.put(X31CWebConst.TELEGRAM_INFO_ATTACH_FILE, binaryFile);
		// リストへ追加
		fileList.add(fileMap);
		attachMap.put(X31CWebConst.TELEGRAM_INFO_ATTACH_FILE_LIST, fileList);
	}
	
	/**
	 * データ抽出項目一覧照会の結果を判定
	 * 
	 * @param outputMap
	 * @return true:検索結果無し／false:検索結果有り
	 */
	@SuppressWarnings("unchecked")
	private boolean isNotExist_EKK1351B001(HashMap<String, Object> outputMap)
	{
		HashMap<String, Object> outMap = (HashMap<String, Object>) outputMap.get("KKSV022501SC");
		ArrayList dataList = (ArrayList)outMap.get("EKK1351B001CBSMsg1List");

		if (dataList.isEmpty())
		{
			return true;
		}
		return false;
	}

	/**
	 * データ抽出項目設定対象契約一覧照会（データ抽出項目コード）の結果を判定
	 * 
	 * @param outputMap
	 * @return true:検索結果無し／false:検索結果有り
	 */
	@SuppressWarnings("unchecked")
	private boolean isNotExist_EKK1401B002(HashMap<String, Object> outputMap)
	{
		HashMap<String, Object> outMap = (HashMap<String, Object>) outputMap.get("KKSV022502SC");
		ArrayList dataList = (ArrayList)outMap.get("EKK1401B002CBSMsg1List");

		if (dataList.isEmpty())
		{
			return true;
		}
		return false;
	}

	/**
	 * メッセージ設定メソッドをitemId配列数分呼び出す
	 * 
	 * @param msgId
	 * @param msgStr
	 * @param itemId
	 */
	private void loopSetMessageInfo(String[] itemId, String msgId, String[] msgStr)
	{
		for (int i = 0; i < itemId.length; i++)
		{
			JCCWebCommon.setMessageInfo(this, msgId, msgStr, itemId[i]);
		}
	}

	/**
	 * Null、又は空文字を判定
	 * 
	 * @param str
	 * @return true:nullか空文字の場合、false:文字列の設定がある
	 */
	private boolean isNullBlunk(String str)
	{
		if (str == null || "".equals(str))
		{
			return true;
		}
		return false;
	}
	
}
