/*********************************************************************
* All Rights reserved.Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：顧客管理システム
*   モジュール名    ：通秘データ活用同意履歴一覧照会
*   ソースファイル名：CKW00404SFLogic.java
 *	作成者			：FJ
 *	日付			：2021年10月12日
*＜機能概要＞
*   通秘データ活用同意履歴一覧照会部品です。
*＜修正履歴＞
*	バージョン	修正日			修正者		修正内容
*   v55.00.00   2021/10/12      FJ         【ANK-4112-00-00】通秘データ(通信量等)の活用に向けた取り組みに対するシステム対応
*
**********************************************************************/
package eo.web.webview.CKW00404SF;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.common.JSYwebLog;
import com.fujitsu.futurity.web.x31.X31CVector;
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.JPCModelConstant;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.common.util.JCCFrameworkException;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.CKW00404SF.CKW00404SFConst;
import eo.web.webview.CKW02601SF.CKW02601SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JCKScreenConst;
import eo.web.webview.common.JKKCommonConst;
import eo.web.webview.mapping.CKSV0073_CKSV0073OPDBMapper;

/**
 * 通秘データ活用同意履歴一覧照会を行います。<p>
 * <BR>
 * @author FJ
 */
@SuppressWarnings("serial")
public class CKW00404SFLogic extends JCCWebBusinessLogic
{

	
	/**
	 * 初期表示処理<br>
	 * <br>
	 * @return 正常／異常
	 * @throws Exception 
	 */
	public boolean actionInit() throws Exception
	{
		// 変数の定義
		HashMap<String, Object> paramMap = null;
		HashMap<String, Object> inputMap = null;
		HashMap<String, Object> outputMap = null;

		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = {bean};

		// セッション情報取得・引継情報をDataBeanにセット
		getSessionCKW00404SFBean(paramBean[0]);

		// 共有フォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// 自画面名設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JCKScreenConst.SCREEN_NAME_CKW00404);

		// 一覧表示フラグ ← TRUE
		paramBean[0].sendMessageBoolean(CKW00404SFConst.ICRN_DISP_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);

		// 通秘データ活用同意履歴一覧照会初期表示サービス
		paramMap = new HashMap<String, Object>(); // パラメタ設定用マップ
		inputMap = new HashMap<String, Object>(); // 入力用マップ
		outputMap = new HashMap<String, Object>(); // 結果格納用マップ
		
		// パラメタ設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CKSV0073");
		
		// 上りマッピング(サービス項目-DataBean項目マッピング)
		CKSV0073_CKSV0073OPDBMapper mapper = new CKSV0073_CKSV0073OPDBMapper();
		mapper.setCKSV007301SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		// 通秘データ活用同意履歴一覧照会サービス
		invokeService(paramMap, inputMap, outputMap);

		// 取得情報の下りマッピング
		mapper.getCKSV007301SC(paramBean, outputMap);

		HashMap parentMap = (HashMap)outputMap.get("CKSV007301SC");
		ArrayList details = (ArrayList)parentMap.get("ECK0301B020CBSMsg1List");

		// 検索結果が0件の場合の処理
		if(details.size() == 0) 
		{
			// エラーメッセージ
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB2190_KW, new String[] {"通秘データ活用同意履歴"});
			// 一覧表示フラグ
			paramBean[0].sendMessageBoolean(CKW00404SFConst.ICRN_DISP_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);
		}

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * 引き継ぎ情報を取得し、活用データ同意履歴一覧照会サービスフォームBeanに設定する
	 * @param  svcFormBean  DataBeanアクセスクラス
	 * @throws Exception
	 */
	private void getSessionCKW00404SFBean(X31SDataBeanAccess svcFormBean) throws Exception
	{
		//セッションデータ取得
		JCCWebCommon.getScreenInfo(this);
		
		// 引継情報を取得
		X31SDataBeanAccessArray custKeiHktgiList =  svcFormBean.getDataBeanArray(JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiInf = custKeiHktgiList.getDataBean(0);
		
		// ＳＹＳＩＤ
		String sys_id = custKeiHktgiInf.sendMessageString(JKKCommonConst.HKTGI_SYSID, X31CWebConst.DATABEAN_GET_VALUE);
		
		// 引継情報をDataBeanに設定
		svcFormBean.sendMessageString(CKW00404SFConst.SYSID, X31CWebConst.DATABEAN_SET_VALUE, sys_id); // ＳＹＳＩＤ
	}


}