/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *  システム名      ：契約管理システム
 *  モジュール名    ：
 *  ソースファイル名：KKW06102SFLogic.java
 *  作成者          ：富士通
 *  日付            ：2011年11月05日
 *＜機能概要＞
 *  
 *  
 *＜修正履歴＞
 *  バージョン 修正日    修正者   修正内容
 *  v1.00.00  2011/11/05 富士通   新規作成
 *
 **********************************************************************/
package eo.web.webview.KKW06102SF;

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.common.JCCWebCommon;
import eo.web.webview.common.JKKCommonConst;
import eo.web.webview.common.JKKScreenConst;
import eo.web.webview.mapping.KKSV0399_KKSV0399OPDBMapper;

/**
 * 
 * 
 * <BR>
 * 
 * @author 富士通
 */
@SuppressWarnings("serial")
public class KKW06102SFLogic extends JCCWebBusinessLogic
{

	/**
	 * 初期表示処理を行います。 <br>
	 * 
	 * @return true:正常
	 * @exception Exception
	 */
	public boolean actionInit() throws Exception
	{
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		// 引継情報を取得
		JCCWebCommon.getScreenInfo(this);

		X31SDataBeanAccessArray custKeiHktgiList = svcFormBean.getDataBeanArray(KKW06102SFConst.CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiInf = custKeiHktgiList.getDataBean(0);

		//異動区分
		String buf = custKeiHktgiInf.sendMessageString(KKW06102SFConst.IDO_DIV_NM_01, X31CWebConst.DATABEAN_GET_VALUE);
		svcFormBean.sendMessageString(KKW06102SFConst.IDO_DIV_NM, X31CWebConst.DATABEAN_SET_VALUE, buf);

		//異動理由
		int maxIndex = (Integer)custKeiHktgiInf.sendMessage(KKW06102SFConst.IDO_RSN_01, X31CWebConst.DATABEAN_GET_COUNT);
		for (int i = 0; i < maxIndex; i++)
		{
			String idoRsnCd = custKeiHktgiInf.sendMessageString(KKW06102SFConst.IDO_RSN_01, X31CWebConst.DATABEAN_GET_VALUE, i);
			// IT2-2012-0000480 2012/05/06 MOD START
			svcFormBean.sendMessageString(KKW06102SFConst.IDO_RSN, X31CWebConst.DATABEAN_SET_VALUE, i, idoRsnCd);
			// IT2-2012-0000480 2012/05/06 MOD END
		}

		//異動ステータス
		buf = (String) custKeiHktgiInf.sendMessageString(KKW06102SFConst.PRG_STAT_NM_01, X31CWebConst.DATABEAN_GET_VALUE);
		svcFormBean.sendMessageString(KKW06102SFConst.PRG_STAT_NM, X31CWebConst.DATABEAN_SET_VALUE, buf);
		//進捗日時
		buf = (String) custKeiHktgiInf.sendMessageString(KKW06102SFConst.PRG_TIME_01, X31CWebConst.DATABEAN_GET_VALUE);
		svcFormBean.sendMessageString(KKW06102SFConst.PRG_TIME, X31CWebConst.DATABEAN_SET_VALUE, buf);
		//特記事項１
		buf = (String) custKeiHktgiInf.sendMessageString(KKW06102SFConst.TKJK_1_01, X31CWebConst.DATABEAN_GET_VALUE);
		svcFormBean.sendMessageString(KKW06102SFConst.TKJK_1, X31CWebConst.DATABEAN_SET_VALUE, buf);
		//特記事項２
		buf = (String) custKeiHktgiInf.sendMessageString(KKW06102SFConst.TKJK_2_01, X31CWebConst.DATABEAN_GET_VALUE);
		svcFormBean.sendMessageString(KKW06102SFConst.TKJK_2, X31CWebConst.DATABEAN_SET_VALUE, buf);
		//進捗メモ
		buf = (String) custKeiHktgiInf.sendMessageString(KKW06102SFConst.PRG_MEMO_01, X31CWebConst.DATABEAN_GET_VALUE);
		svcFormBean.sendMessageString(KKW06102SFConst.PRG_MEMO, X31CWebConst.DATABEAN_SET_VALUE, buf);
		//進捗番号
		buf = (String) custKeiHktgiInf.sendMessageString(KKW06102SFConst.PRG_NO_01, X31CWebConst.DATABEAN_GET_VALUE);
		svcFormBean.sendMessageString(KKW06102SFConst.PRG_NO, X31CWebConst.DATABEAN_SET_VALUE, buf);
		//更新年月日時分秒
		buf = (String) custKeiHktgiInf.sendMessageString(KKW06102SFConst.UPD_DTM_01, X31CWebConst.DATABEAN_GET_VALUE);
		svcFormBean.sendMessageString(KKW06102SFConst.UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, buf);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * 登録処理を行います。 <br>
	 * 
	 * @return true:正常
	 * @throws Exception
	 */
	public boolean actionFix() 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>();

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		// マッピング用Bean作成
		X31SDataBeanAccess[] paramBean =
		{
			svcFormBean
		};

		// サービスパラメタ設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0399);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0399OP);

		// 上りマッピング(サービス項目-DataBean項目マッピング)
		KKSV0399_KKSV0399OPDBMapper mapper = new KKSV0399_KKSV0399OPDBMapper();
		mapper.setKKSV039901SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1);

		invokeService(paramMap, inputMap, outputMap);

		// 遷移先情報設定
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW06103, JKKScreenConst.SCREEN_ID_KKW06102);

		// 共有フォームBean設定
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_ID_KKW06103);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_NAME_KKW06103);

		// メッセージ表示処理
		String[] str =
		{
			"進捗記事の更新"
		};
		JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB4390__I, str);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}
	
}
