/*********************************************************************
* All Right reserved,Copyright (c) Fujitsu, 2011
**********************************************************************
*＜プログラム内容＞
*   システム名      ：料金管理
*   モジュール名    ：通話明細再発行確認画面
*   ソースファイル名：ACW00603SFLogic.java
*   作成者          ：富士通
*   日付            ：2011年06月01日
*＜機能概要＞
*  通話明細再発行確認を行う画面です。
*＜修正履歴＞
*   バージョン  修正日       修正者        修正内容
*   v1.00.00    2011/06/01   FJ）富士通    新規作成
*   v3.00.00    2012/06/13   FJ）松本      障害対応(IT2-2012-0000754)
*   v5.00.00    2013/07/31   FJ) 伊藤      【IT1-2013-0001521】名称戻し対応
*
**********************************************************************/
package eo.web.webview.ACW00603SF;

import java.util.ArrayList;
import java.util.HashMap;
import com.fujitsu.futurity.web.x31.X31CMessageResult;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import eo.common.constant.JPCModelConstant;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JACCommonConst;
import eo.web.webview.common.JACScreenConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JCHPageTransferUtil;
import eo.web.webview.common.JCRWebCommon;
import eo.web.webview.mapping.ACSV0016_ACSV0016OPDBMapper;

/**
 * 通話明細再発行確認画面用ビューロジック
 * 
 * @author FJ
 * @since 2011-06-01
 */
@SuppressWarnings("serial")
public class ACW00603SFLogic extends JCCWebBusinessLogic
{
	/** 通話明細再発行確認・サービスID */
	private static final String SERVICE_ID_ACSV0016 = "ACSV0016";
	
	/** お客さまID */
	private static final String SVC_KEI_NO = "お客さまID";
	
	/** 請求先番号 */
	private static final String SEIKY_KEI_NO = "請求先番号";
	
	/** エラーメッセージコード1 */
	private static final String ERR_MSG_CD1 = "EKB8160-TW";
	
	/** 空文字 */
	private static final String KARA_MOJI = "";
	
	/** マップID */
	private static final String MAP_CC_ID = "ACSV001610CC";

	/**
	 * 利用明細再発行画面 初期表示処理
	 * 
	 * @return 処理結果
	 * @throws Exception
	 */
	public boolean init() throws Exception
	{
		// 親画面から引き継ぎ項目を取得する
		HashMap<String, Object> paramMap = JCCWebCommon.getScreenInfo(this, JACScreenConst.SCREEN_ID_ACW00603);
		// サービス契約番号を取得
		String svcKeiNo = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_SVC_KEI_NO);
		// 請求契約番号を取得
		String seikyKeiNo = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_SEIKY_KEI_NO);
		// 電話番号を取得
		String telno = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_TELNO);
		// 通話開始年月日FROM1
		String pcallStaYmdFrom1 = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_PCALL_STA_YMD_FROM_1);
		// 通話開始年月日TO1
		String pcallStaYmdTo1 = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_PCALL_STA_YMD_TO_1);
		// 通話開始年月日FROM2
		String pcallStaYmdFrom2 = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_PCALL_STA_YMD_FROM_2);
		// 通話開始年月日TO2
		String pcallStaYmdTo2 = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_PCALL_STA_YMD_TO_2);
		// 課金状態
		String chrgStat = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_CHRG_STAT);
		// 料金グループコード
		String prcGrpCd = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_PRC_GRP_CD);
		// 料金コースコード
		String pcrsCd = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_PCRS_CD);
		// 機能コード
		String kinoCd = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_KINO_CD);
		// 手数料
		String commision = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_COMMISION_VALUE);
		// 手数料選択出力料金グループコード
		String selOutputPrcGrpCd = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_SEL_OUTPUT_PRC_GRP_CD);
		// 手数料選択出力料金コースコード
		String selOutPcrsCd = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_SEL_OUT_PCRS_CD);
		// 手数料選択出力料金サービスコード
		String selOutPrcSvcCd = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_SEL_OUT_PRC_SVC_CD);
		// 手数料選択出力料金項目コード
		String selOutPrcKmkCd = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_SEL_OUT_PRC_KMK_CD);
		// 選択手数料
		String selectCommision = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_SELECT_COMMISION);
		// 記事
		String kiji = (String)paramMap.get(JACCommonConst.SCREEN_HKTGI_KIJI);
		// 対応履歴登録
		Boolean taiorrki = (Boolean)paramMap.get(JACCommonConst.SCREEN_HKTGI_TAIORRKI);
		
		// サービス契約番号の存在チェック
		if (svcKeiNo == null || KARA_MOJI.equals(svcKeiNo))
		{
			JCCWebCommon.setMessageInfo(this, ERR_MSG_CD1, new String[] {SVC_KEI_NO});
			return true;
		}
		// 請求契約番号の存在チェック
		if (seikyKeiNo == null || KARA_MOJI.equals(seikyKeiNo))
		{
			JCCWebCommon.setMessageInfo(this, ERR_MSG_CD1, new String[] {SEIKY_KEI_NO});
			return true;
		}
		// 電話番号の存在チェック
		if (telno == null || KARA_MOJI.equals(telno))
		{
			JCCWebCommon.setMessageInfo(this, ERR_MSG_CD1, new String[] {ACW00603SFConst.TELNO});
			return true;
		}
		// 通話開始年月日FROM1の存在チェック
		if (pcallStaYmdFrom1 == null || KARA_MOJI.equals(pcallStaYmdFrom1))
		{
			JCCWebCommon.setMessageInfo(this, ERR_MSG_CD1, new String[] {ACW00603SFConst.PCALL_STA_YMD_FROM_1});
			return true;
		}
		// 通話開始年月日TO1の存在チェック
		if (pcallStaYmdTo1 == null || KARA_MOJI.equals(pcallStaYmdTo1))
		{
			JCCWebCommon.setMessageInfo(this, ERR_MSG_CD1, new String[] {ACW00603SFConst.PCALL_STA_YMD_TO_1});
			return true;
		}
		// 通話開始年月日FROM2の存在チェック
		if (pcallStaYmdFrom2 == null || KARA_MOJI.equals(pcallStaYmdFrom2))
		{
			JCCWebCommon.setMessageInfo(this, ERR_MSG_CD1, new String[] {ACW00603SFConst.PCALL_STA_YMD_FROM_2});
			return true;
		}
		// 通話開始年月日TO2の存在チェック
		if (pcallStaYmdTo2 == null || KARA_MOJI.equals(pcallStaYmdTo2))
		{
			JCCWebCommon.setMessageInfo(this, ERR_MSG_CD1, new String[] {ACW00603SFConst.PCALL_STA_YMD_TO_2});
			return true;
		}
		// 課金状態の存在チェック
		if (chrgStat == null || KARA_MOJI.equals(chrgStat))
		{
			JCCWebCommon.setMessageInfo(this, ERR_MSG_CD1, new String[] {ACW00603SFConst.CHRG_STAT});
			return true;
		}
		// 料金グループコードの存在チェック
		if (prcGrpCd == null || KARA_MOJI.equals(prcGrpCd))
		{
			JCCWebCommon.setMessageInfo(this, ERR_MSG_CD1, new String[] {ACW00603SFConst.PRC_GRP_CD});
			return true;
		}
		// 料金コースコードの存在チェック
		if (pcrsCd == null || KARA_MOJI.equals(pcrsCd))
		{
			JCCWebCommon.setMessageInfo(this, ERR_MSG_CD1, new String[] {ACW00603SFConst.PCRS_CD});
			return true;
		}
		// 機能コードの存在チェック
		if (kinoCd == null || KARA_MOJI.equals(kinoCd))
		{
			JCCWebCommon.setMessageInfo(this, ERR_MSG_CD1, new String[] {ACW00603SFConst.KINO_CD});
			return true;
		}
		// 手数料の存在チェック
		if (commision == null)
		{
			JCCWebCommon.setMessageInfo(this, ERR_MSG_CD1, new String[] {ACW00603SFConst.COMMISION});
			return true;
		}
		// 選択手数料の存在チェック
		if (selectCommision == null || KARA_MOJI.equals(selectCommision))
		{
			JCCWebCommon.setMessageInfo(this, ERR_MSG_CD1, new String[] {ACW00603SFConst.SELECT_COMMISION});
			return true;
		}
		// 記事の存在チェック
		if (kiji == null)
		{
			JCCWebCommon.setMessageInfo(this, ERR_MSG_CD1, new String[] {ACW00603SFConst.KIJI});
			return true;
		}
		// 対応履歴登録の存在チェック
		if (taiorrki == null)
		{
			JCCWebCommon.setMessageInfo(this, ERR_MSG_CD1, new String[] {ACW00603SFConst.TAIORRKI});
			return true;
		}

		// 年月日時分秒を取得
		String dtm = JCCWebCommon.getSysDateTime();
		
		
		// 共通フォームBean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		// ユーザIDを取得
		String userId = commonInfoBean.sendMessageString(CommonInfoCFConst.USER_ID, X31CWebConst.DATABEAN_GET_VALUE);
		//String userId = "123456";
		// ユーザ名を取得
		String userNm = commonInfoBean.sendMessageString(CommonInfoCFConst.USER_NM, X31CWebConst.DATABEAN_GET_VALUE);
		//String userNm = "ユーザ名";
		// 業務個別設定組織コードを取得
		String wkkbtOrgCd = JCRWebCommon.getWkkbtOrgCd(commonInfoBean);
		//String wkkbtOrgCd = "1234567890";
		// 業務個別設定組織名を取得
		String wkkbtOrgNm = JCRWebCommon.getWkkbtOrgNm(commonInfoBean);
		//String wkkbtOrgNm = "業務個別設定組織名";
		// サービスフォームBeanの初期化
		svcFormBean.sendMessageString(ACW00603SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, svcKeiNo);
		svcFormBean.sendMessageString(ACW00603SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, seikyKeiNo);
		svcFormBean.sendMessageString(ACW00603SFConst.TELNO, X31CWebConst.DATABEAN_SET_VALUE, telno);
		svcFormBean.sendMessageString(ACW00603SFConst.PCALL_STA_YMD_FROM_1, X31CWebConst.DATABEAN_SET_VALUE, pcallStaYmdFrom1);
		svcFormBean.sendMessageString(ACW00603SFConst.PCALL_STA_YMD_TO_1, X31CWebConst.DATABEAN_SET_VALUE, pcallStaYmdTo1);
		svcFormBean.sendMessageString(ACW00603SFConst.PCALL_STA_YMD_FROM_2, X31CWebConst.DATABEAN_SET_VALUE, pcallStaYmdFrom2);
		svcFormBean.sendMessageString(ACW00603SFConst.PCALL_STA_YMD_TO_2, X31CWebConst.DATABEAN_SET_VALUE, pcallStaYmdTo2);
		svcFormBean.sendMessageString(ACW00603SFConst.CHRG_STAT, X31CWebConst.DATABEAN_SET_VALUE, chrgStat);
		svcFormBean.sendMessageString(ACW00603SFConst.PRC_GRP_CD, X31CWebConst.DATABEAN_SET_VALUE, prcGrpCd);
		svcFormBean.sendMessageString(ACW00603SFConst.PCRS_CD, X31CWebConst.DATABEAN_SET_VALUE, pcrsCd);
		svcFormBean.sendMessageString(ACW00603SFConst.KINO_CD, X31CWebConst.DATABEAN_SET_VALUE, kinoCd);
		svcFormBean.sendMessageString(ACW00603SFConst.COMMISION, X31CWebConst.DATABEAN_SET_VALUE, commision);
		svcFormBean.sendMessageString(ACW00603SFConst.SEL_OUTPUT_PRC_GRP_CD, X31CWebConst.DATABEAN_SET_VALUE, selOutputPrcGrpCd);
		svcFormBean.sendMessageString(ACW00603SFConst.SEL_OUT_PCRS_CD, X31CWebConst.DATABEAN_SET_VALUE, selOutPcrsCd);
		svcFormBean.sendMessageString(ACW00603SFConst.SEL_PRC_SVC_CD, X31CWebConst.DATABEAN_SET_VALUE, selOutPrcSvcCd);
		svcFormBean.sendMessageString(ACW00603SFConst.SEL_OUT_PRC_KMK_CD, X31CWebConst.DATABEAN_SET_VALUE, selOutPrcKmkCd);
		svcFormBean.sendMessageString(ACW00603SFConst.SELECT_COMMISION, X31CWebConst.DATABEAN_SET_VALUE, selectCommision);
		svcFormBean.sendMessageString(ACW00603SFConst.KIJI, X31CWebConst.DATABEAN_SET_VALUE, kiji);
		svcFormBean.sendMessageBoolean(ACW00603SFConst.TAIORRKI, X31CWebConst.DATABEAN_SET_VALUE, taiorrki);
		svcFormBean.sendMessageString(ACW00603SFConst.DTM, X31CWebConst.DATABEAN_SET_VALUE, dtm);
		svcFormBean.sendMessageString(ACW00603SFConst.USER_ID, X31CWebConst.DATABEAN_SET_VALUE, userId);
		svcFormBean.sendMessageString(ACW00603SFConst.USER_NM, X31CWebConst.DATABEAN_SET_VALUE, userNm);
		svcFormBean.sendMessageString(ACW00603SFConst.WKKBT_ORG_CD, X31CWebConst.DATABEAN_SET_VALUE, wkkbtOrgCd);
		svcFormBean.sendMessageString(ACW00603SFConst.WKKBT_ORG_NM, X31CWebConst.DATABEAN_SET_VALUE, wkkbtOrgNm);
		svcFormBean.sendMessageString(ACW00603SFConst.TITLE, X31CWebConst.DATABEAN_SET_VALUE, getBlName());
		svcFormBean.sendMessageString(ACW00603SFConst.OUTPUT_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		// 処理結果を返す
		return true;
	}
	
	/**
	 * 利用明細再発行確認画面 修正処理
	 * 
	 * @return 処理結果
	 * @throws Exception
	 */
	public boolean back() throws Exception
	{
		// ユースケースID格納用のHashMap
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		// 引き継ぎ項目を設定
		paramMap.put(JACCommonConst.SCREEN_HKTGI_SVC_KEI_NO, svcFormBean.sendMessageString(ACW00603SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		paramMap.put(JACCommonConst.SCREEN_HKTGI_SEIKY_KEI_NO, 
				svcFormBean.sendMessageString(ACW00603SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		paramMap.put(JACCommonConst.SCREEN_HKTGI_TELNO, svcFormBean.sendMessageString(ACW00603SFConst.TELNO, X31CWebConst.DATABEAN_GET_VALUE));
		paramMap.put(JACCommonConst.SCREEN_HKTGI_PCALL_STA_YMD_FROM_1, 
				svcFormBean.sendMessageString(ACW00603SFConst.PCALL_STA_YMD_FROM_1, X31CWebConst.DATABEAN_GET_VALUE));
		paramMap.put(JACCommonConst.SCREEN_HKTGI_PCALL_STA_YMD_TO_1, 
				svcFormBean.sendMessageString(ACW00603SFConst.PCALL_STA_YMD_TO_1, X31CWebConst.DATABEAN_GET_VALUE));
		paramMap.put(JACCommonConst.SCREEN_HKTGI_PCALL_STA_YMD_FROM_2, 
				svcFormBean.sendMessageString(ACW00603SFConst.PCALL_STA_YMD_FROM_2, X31CWebConst.DATABEAN_GET_VALUE));
		paramMap.put(JACCommonConst.SCREEN_HKTGI_PCALL_STA_YMD_TO_2, 
				svcFormBean.sendMessageString(ACW00603SFConst.PCALL_STA_YMD_TO_2, X31CWebConst.DATABEAN_GET_VALUE));
		paramMap.put(JACCommonConst.SCREEN_HKTGI_CHRG_STAT, svcFormBean.sendMessageString(ACW00603SFConst.CHRG_STAT, X31CWebConst.DATABEAN_GET_VALUE));
		paramMap.put(JACCommonConst.SCREEN_HKTGI_PRC_GRP_CD, svcFormBean.sendMessageString(ACW00603SFConst.PRC_GRP_CD, X31CWebConst.DATABEAN_GET_VALUE));
		paramMap.put(JACCommonConst.SCREEN_HKTGI_PCRS_CD, svcFormBean.sendMessageString(ACW00603SFConst.PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE));
		paramMap.put(JACCommonConst.SCREEN_HKTGI_KINO_CD, svcFormBean.sendMessageString(ACW00603SFConst.KINO_CD, X31CWebConst.DATABEAN_GET_VALUE));
		paramMap.put(JACCommonConst.SCREEN_HKTGI_COMMISION_VALUE, 
				svcFormBean.sendMessageString(ACW00603SFConst.COMMISION, X31CWebConst.DATABEAN_GET_VALUE));
		paramMap.put(JACCommonConst.SCREEN_HKTGI_SELECT_COMMISION, 
				svcFormBean.sendMessageString(ACW00603SFConst.SELECT_COMMISION, X31CWebConst.DATABEAN_GET_VALUE));
		paramMap.put(JACCommonConst.SCREEN_HKTGI_KIJI, svcFormBean.sendMessageString(ACW00603SFConst.KIJI, X31CWebConst.DATABEAN_GET_VALUE));
		paramMap.put(JACCommonConst.SCREEN_HKTGI_TAIORRKI, svcFormBean.sendMessageBoolean(ACW00603SFConst.TAIORRKI, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 子画面に渡す情報を設定する
		JCCWebCommon.setScreenInfo(this, JACScreenConst.SCREEN_ID_ACW00602, paramMap);
		
		// 共有フォームBean設定（遷移先画面ID）
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		//共有BeanのSCREEN_ID、SCREEN_NMに遷移先の画面IDをセット
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JACScreenConst.SCREEN_ID_ACW00602);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JACScreenConst.SCREEN_NAME_ACW00602);

		// 処理結果を返す
		return true;
	}
	
	/**
	 * 利用明細再発行確認画面 確定確定処理
	 * 
	 * @return 処理結果
	 * @throws Exception
	 */
	public boolean fixFin() throws Exception
	{
		// ユースケースID格納用のHashMap
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		// マッピングクラスの結果を格納するHashMap
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// サービス呼出結果を格納するHashMap
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		// ファイル格納マップ
		HashMap<String, Object> attachMap = new HashMap<String, Object>();
		
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		// マッピングクラスに渡すため、配列に作り変える
		X31SDataBeanAccess[] paramBean = {svcFormBean};

		// 運用日付を取得
		String unyoYmd = JCCWebCommon.getOpeDate(this, null);
		svcFormBean.sendMessageString(ACW00603SFConst.UNYO_YM, X31CWebConst.DATABEAN_SET_VALUE, unyoYmd);
		
		// ユーザーIDの取得
		String userId = commoninfoBean.sendMessageString(CommonInfoCFConst.USER_ID, X31CWebConst.DATABEAN_GET_VALUE);

		// 機能コードを取得
		String kinoCd1 = svcFormBean.sendMessageString(ACW00603SFConst.KINO_CD, X31CWebConst.DATABEAN_GET_VALUE);
		
		// ユースケースID設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, SERVICE_ID_ACSV0016);
		// マッピングクラスのインスタンス作成
		ACSV0016_ACSV0016OPDBMapper mapper = new ACSV0016_ACSV0016OPDBMapper();
		// 上がりマッピング サービスフォームBean ⇒ サービス
		inputMap.put("taio_kirok", svcFormBean.sendMessageBoolean(ACW00603SFConst.TAIORRKI, X31CWebConst.DATABEAN_GET_VALUE));
		inputMap.put("commision", svcFormBean.sendMessageString(ACW00603SFConst.COMMISION, X31CWebConst.DATABEAN_GET_VALUE));
		mapper.setACSV001602CC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setACSV001603CC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setACSV001604CC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setACSV001611SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setACSV001605SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setACSV001606SC(paramBean, inputMap, kinoCd1);
		mapper.setACSV001607SC(paramBean, inputMap, "1");
		mapper.setACSV001608SC(paramBean, inputMap, "1");
		mapper.setACSV001609SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setACSV001610CC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		
		HashMap<String, Object> ccMap = (HashMap<String, Object>)inputMap.get(MAP_CC_ID);

		// ユーザーID
		ccMap.put("user_id", userId);

		// SQL呼出し
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap, attachMap);
		
		// エラーメッセージが存在する場合
		if(msgResult != null)
		{
			// メッセージ出力
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		// 出力する帳票の情報を取得
		HashMap outFileInfMap = ((HashMap)((ArrayList)attachMap.get("TELEGRAM_INFO_ATTACH_FILE_LIST")).get(0));
		// 出力するファイルデータを取得
		byte[] outFileData = (byte[])outFileInfMap.get("TELEGRAM_INFO_ATTACH_FILE");
		// 出力するファイル名を取得
		String outFileName = (String)outFileInfMap.get("TELEGRAM_INFO_ATTACH_ITEM_NAMAE");
		// 出力するファイルをセッションに格納する
		HashMap<String, Object> printInfo = new HashMap<String, Object>();
		printInfo.put("output_chohyo", outFileData);
		printInfo.put("chohyo_name", outFileName + ".pdf");

		JCCWebCommon.setScreenInfo(this, JACScreenConst.SCREEN_ID_ACW00699, printInfo);

		svcFormBean.sendMessageString(ACW00603SFConst.OUTPUT_FLG, X31CWebConst.DATABEAN_SET_VALUE, "1");
		
		// 処理結果を返す
		return true;
	}
	
	/**
	 * 利用明細再発行確認画面 印刷確定処理
	 * 
	 * @return 処理結果
	 * @throws Exception
	 */
	public boolean printFin() throws Exception
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		HashMap<String, Object> printInfo = JCCWebCommon.getScreenInfo(this, JACScreenConst.SCREEN_ID_ACW00699);
		if(printInfo != null && printInfo.containsKey("output_chohyo") && printInfo.containsKey("chohyo_name"))
		{
			JCCWebCommon.setTempDownloadFile(this, (byte[])printInfo.get("output_chohyo")
					, (String)printInfo.get("chohyo_name"));
			
			bean.sendMessageString(ACW00603SFConst.OUTPUT_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
			JCCWebCommon.removeScreenInfo(this, JACScreenConst.SCREEN_ID_ACW00603);
			
		}
		return true;
	}

	/**
	 * アンロード処理.<br>
	 * 自画面がクローズした時、呼び元に戻る。
	 * 
	 * @return boolean
	 * @throws Exception
	 */
	public boolean unload() throws Exception
	{
		// 遷移先画面IDを取得し、子画面を閉じる共通処理を呼出す
		return JCHPageTransferUtil.closeTransfer(this, JCCWebCommon.getScreenId(this));
	}
}
