/*********************************************************************
*	All Rights reserved,Copyright K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JCKWebCommon
*	ソースファイル名：JCKWebCommon.java
*	作成者			：富士通
*	日付			：2012年01月27日
*＜機能概要＞
*	顧客管理システムWeb共通部品アクセッサ
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/01/27	富士通		新規作成
*	v3.00.00	2012/02/01	富士通		日付整合性チェック(isValidDate)の追加
*
**********************************************************************/

package eo.web.webview.common;

import java.util.HashMap;

import com.fujitsu.futurity.model.base.jcc.util.JCCCalendarException;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;

/**
 * 顧客管理システムWeb共通アクセッサー部品<p>
 * <BR>
 * @author 富士通
 */
public class JCKWebCommon extends JCCWebCommon
{
	/**
	 * プルダウン項目、コード取得処理です。
	 * 
	 * @param bean フォームDataBean
	 * @param pullDownId プルダウン項目ID
	 * @param indexId インデックス項目ID
	 * @param codeListId コードリストID
	 * @return 変換後コード
	 */
	public static String convertCode(X31SDataBeanAccess bean, String pullDownId, String indexId, String codeListId) {
		return JKKGetDataUtil.convertCode(bean, pullDownId, indexId, codeListId);
	}

	/**
	 * プルダウン項目、インデックス取得処理です。
	 * 
	 * @param bean フォームDataBean
	 * @param code 対象コード
	 * @param pullDownId プルダウン項目ID
	 * @param indexId インデックス項目ID
	 * @param codeListId コードリストID
	 * @return 変換後インデックス
	 */
	public static String convertIndex(X31SDataBeanAccess bean, String code, String pullDownId, String indexId, String codeListId) {
		return JKKGetDataUtil.convertIndex(bean, code, pullDownId, indexId, codeListId);
	}
	
	/**
	 * プルダウン項目・インデックス取得処理です。
	 * プルダウン項目から、指定コードが設定された場合のインデックスを取得します。
	 * 
	 * @param bean フォームDataBean
	 * @param selectedCode 選択コード
	 * @param pullDownId プルダウン項目ID
	 * @param codeListId コードリストID
	 * @return 選択インデックス
	 */
	public static String getPullDownIndex(X31SDataBeanAccess bean, String selectedCode, String pullDownId, String codeListId)
	{
		return JKKGetDataUtil.getPullDownIndex(bean, selectedCode, pullDownId, codeListId);
	}
	
	/**
	 * プルダウン項目・名称取得処理です。
	 * プルダウン項目から、選択された名称を取得します。
	 * 
	 * @param bean フォームDataBean
	 * @param pullDownId プルダウン項目ID
	 * @param indexId インデックス項目ID
	 * @param codeListId コードリストID
	 * @param nameListId 名称リストID
	 * @param dataBeanIndex データBean要素番号
	 * @return 選択名称
	 */
	public static String getPullDownName(X31SDataBeanAccess bean, String pullDownId, String indexId, String codeListId, String nameListId)
	{
		return JKKGetDataUtil.getPullDownName(bean, pullDownId, indexId, codeListId, nameListId, 0);
	}

	
	/**
	 * 項目取得処理です。
	 * 
	 * @param outputMap 出力Map
	 * @param mapKey プルダウン項目ID
	 * @param listKey インデックス項目ID
	 * @param itemKey コードリストID
	 * @return 取得文字列
	 */
	public static String getColumnValue(HashMap  outputMap, String mapKey, String listKey, String itemKey) {
		return JKKGetDataUtil.getColumnValue(outputMap, mapKey, listKey, itemKey);
	}

	/**
	 * 固定値取得処理です。
	 * @param param 固定値
	 * @return 固定値
	 */
	public static String getConstantValue(String param){
		return JKKGetDataUtil.getConstantValue(param);
	}

	/**
	 * 漢字年号付和暦文字列取得処理です。
	 * 設定されている標準文字列に、漢字年号と区切り文字をつけた文字列を返します。
	 * 
	 * @param stdstr 西暦年月日の標準文字列（"YYYYMMDD"）
	 * @return 和暦年月日（例：昭和58年7月21日）
	 */
	public static String getJapaneseCalendar(String stdstr) throws JCCCalendarException
	{
		return JKKGetDataUtil.getJapaneseCalendar(stdstr);
	}
	
	/**
	 * 漢字年号付和暦文字変換処理です。
	 * 設定された漢字年号と年月日の値を西暦年月日の標準文字列にして返します。
	 * 
	 * @param wareki 和暦(元号コード)
	 * @param year 年
	 * @param month 月
	 * @param day 日
	 * @return 西暦年月日（例：20111231）
	 */
	public static String getAdCalendar(String wareki, String year, String month, String day) 
	{
		try {
			return JKKGetDataUtil.getAdCalendar(wareki, year, month, day) ;
		} catch (JCCCalendarException e) {
			// TODO 自動生成された catch ブロック
			return "";
		}
	}

	/**
	 * <dd>メソッド名	：setPulldownList
	 * <dd>メソッド説明	：下り情報Mapから取得したコードリスト、コード名リストを
	 *                    プルダウン情報Beanに設定します。
	 * 
	 * @param bean データBeanアクセスクラス
	 * @param outputMap 下り情報Map
	 * @param pulldownKey プルダウン情報取得キー
	 * @param outMapKey 下り情報Map取得キー
	 * @param blankFlag 1行目ブランク付与フラグ  true:付与する,false:付与しない
	 * @exception Exceptionがスローされます。
	 */
	public static void  setPulldownList(X31SDataBeanAccess bean, HashMap<String, Object> outputMap,
			String pulldownKey, String outMapKey, boolean blankFlag) throws Exception
	{
		JKKPulldownUtil.setPulldownList(bean, outputMap, pulldownKey, outMapKey, blankFlag);
	}

//	/**
//	 * <dd>メソッド名	：setPulldownListNoIndex
//	 * <dd>メソッド説明	：下り情報Mapから取得したコードリスト、コード名リストを
//	 *                    プルダウン情報Beanに設定します。
//	 * <br>
//	 * <br>
//	 * <dd>プルダウン情報Beanには、コード、コード名（添え字あり）、コード名（添え字なし）を設定します。
//	 * @param bean データBeanアクセスクラス
//	 * @param outputMap 下り情報Map
//	 * @param pulldownKey プルダウン情報取得キー
//	 * @param outMapKey 下り情報Map取得キー
//	 * @param blankFlag 1行目ブランク付与フラグ  true:付与する,false:付与しない
//	 * @exception Exceptionがスローされます。
//	 */
//	public static void  setPulldownListNoIndex(X31SDataBeanAccess bean, HashMap<String, Object> outputMap,
//			String pulldownKey, String outMapKey, boolean blankFlag) throws Exception
//	{
//		JKKPulldownUtil.setPulldownListNoIndex(bean, outputMap, pulldownKey, outMapKey, blankFlag);
//	}
	
	/**
	 * 日付の整合性チェックを行います。
	 * @param yyyymmdd チェック対象となる日付(yyyyMMdd形式)
	 * @return 存在する日付の場合はtrue、それ以外はfalseを返します。
	 */
	public static boolean isValidDate(String yyyymmdd)
	{
		return JKKGetDataUtil.isValidDate(yyyymmdd);
	}
}
