/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom, 2011
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：コード名称管理更新ViewLogic
*   ソースファイル名：ZMW07301SFLogic.java
*   作成者          ：富士通
*   日付            ：2011年05月23日
*＜機能概要＞
*   コード名称管理更新ViewLogicです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*	v1.00		2011/05/23   FJ) 木田	新規作成
*
**********************************************************************/

package eo.web.webview.ZMW07301SF;

import java.util.ArrayList;
import java.util.HashMap;

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.constant.JZMStrConst;
import eo.common.util.JPCEditString;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JZMScreenConst;
import eo.web.webview.common.JZMWebCommon;
import eo.web.webview.common.JZMWebConst;
import eo.web.webview.mapping.ZMSV0012_ZMSV0012OPDBMapper;
import eo.web.webview.mapping.ZMSV0014_ZMSV0014OPDBMapper;

/**
 * コード名称管理更新ViewLogic。
 * @author FJ
 */
@SuppressWarnings("serial")
public class ZMW07301SFLogic extends JCCWebBusinessLogic
{
	/** 機能コード1  */
	private static final String FUNC_CD_1 = JPCModelConstant.FUNC_CD_1;
	
	/** 機能コード2  */
	private static final String FUNC_CD_2 = JPCModelConstant.FUNC_CD_2;
	
	/** メッセージID EKB0300-KW  */
	private static final String EKB0300KW = JPCOnlineMessageConstant.EKB0300_KW;
	
	/** 置き換えエラーメッセージ */
	private static final String[] INSERT_ERR_MESSAGE = {"コード名称管理", "情報"};
	
	/** 置き換えinfoメッセージ */
	private static final String[] INSERT_INFO_MESSAGE = {"コード名称管理情報更新"};
	
	/**
	 * 初期表示処理.<br>
	 * 初期表示を行う。
	 * 
	 * @return boolean
	 * @exception Exception Exception
	 */
	@SuppressWarnings("unchecked")
	public boolean init() throws Exception 
	{
		
		// セッション情報取得
		HashMap<String, Object> searchInfo = JZMWebCommon.getScreenInfo(this);

		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();
		
		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();
		
		// ユースケースID格納用マップ
		HashMap paramMap = new HashMap();
		
		// マッピング用Map
		HashMap dataMap = new HashMap();

		// サービス実行結果データ用Map
		HashMap outputMap = new HashMap();
		
		// マッピングクラスを使用する為、配列化
		X31SDataBeanAccess[] paramBean = {bean};

		// ユースケースID格納
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JZMWebConst.SV12);

		// マッピングクラス
		ZMSV0012_ZMSV0012OPDBMapper mapper = new ZMSV0012_ZMSV0012OPDBMapper();

		// マッピング処理（上り）
		mapper.setZMSV001201SC(paramBean, dataMap, FUNC_CD_1);

		// サービス実行
		invokeService(paramMap, dataMap, outputMap);
		
		// マッピング処理（下り）
		mapper.getZMSV001201SC(paramBean, outputMap);
		
		// 検索エラーフラグの取得SV12
		String searchErrFlg = JZMWebCommon.getSearchErrFlg(JZMWebConst.SC1201, outputMap);
		
		if(JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
		{
			// 検索結果が0件の場合、エラーメッセージを表示
			JZMWebCommon.setMessageInfo(this, EKB0300KW, INSERT_ERR_MESSAGE );
			
			setBackScreenId(commoninfoBean, true);
			return true;
		}
		
		// コード区分情報Beanの取得
		X31SDataBeanAccess listBean = bean.getDataBeanArray(ZMW07301SFConst.CD_KBN_LIST).getDataBean(0);
		
		// コード種別コードをセット
		bean.sendMessageString(ZMW07301SFConst.CD_SBT_CD,
				X31CWebConst.DATABEAN_SET_VALUE, listBean.sendMessageString(
						ZMW07301SFConst.CD_SBT_CD_01,
						X31CWebConst.DATABEAN_GET_VALUE));
		
		// コード種別名をセット
		bean.sendMessageString(ZMW07301SFConst.CD_SBT_NM,
				X31CWebConst.DATABEAN_SET_VALUE, listBean.sendMessageString(
						ZMW07301SFConst.CD_SBT_NM_01,
						X31CWebConst.DATABEAN_GET_VALUE));
		
		// コード種別説明をセット
		bean.sendMessageString(ZMW07301SFConst.CD_SBT_SETMEI,
				X31CWebConst.DATABEAN_SET_VALUE, listBean.sendMessageString(
						ZMW07301SFConst.CD_SBT_SETMEI_01,
						X31CWebConst.DATABEAN_GET_VALUE));
		
		// 適用終了年月日を設定
		JZMWebCommon.replaceTendymd(bean, ZMW07301SFConst.CD_KBN_LIST, ZMW07301SFConst.CD_TENDYMD_01);
		
		// 背景色のスタイルクラスを設定
		JZMWebCommon.setRowStyleClass(bean, ZMW07301SFConst.CD_KBN_LIST, ZMW07301SFConst.ROW_STYLE_CLASS_01);
		
		// 取得明細を編集
		for (int i = 0; i < bean.getDataBeanArray(ZMW07301SFConst.CD_KBN_LIST).getCount(); i++) 
		{
			listBean = bean.getDataBeanArray(ZMW07301SFConst.CD_KBN_LIST).getDataBean(i);
			
			// 更新フラグを設定
			listBean.sendMessageString(ZMW07301SFConst.UPD_FLG_01
					, X31CWebConst.DATABEAN_SET_VALUE, JZMStrConst.FLG_ON);
			
			// 適用開始年を設定
			listBean.sendMessageString(ZMW07301SFConst.TSTA_YEAR_01,
					X31CWebConst.DATABEAN_SET_VALUE, JPCEditString
							.toYearFromYmd(listBean.sendMessageString(
									ZMW07301SFConst.CD_TSTAYMD_01,
									X31CWebConst.DATABEAN_GET_VALUE)));
			// 適用開始月を設定
			listBean.sendMessageString(ZMW07301SFConst.TSTA_MON_01,
					X31CWebConst.DATABEAN_SET_VALUE, JPCEditString
							.toMonthFromYmd(listBean.sendMessageString(
									ZMW07301SFConst.CD_TSTAYMD_01,
									X31CWebConst.DATABEAN_GET_VALUE)));
			// 適用開始日を設定
			listBean.sendMessageString(ZMW07301SFConst.TSTA_DAY_01,
					X31CWebConst.DATABEAN_SET_VALUE, JPCEditString
							.toDayFromYmd(listBean.sendMessageString(
									ZMW07301SFConst.CD_TSTAYMD_01,
									X31CWebConst.DATABEAN_GET_VALUE)));
			// 適用終了年を設定
			listBean.sendMessageString(ZMW07301SFConst.TEND_YEAR_01,
					X31CWebConst.DATABEAN_SET_VALUE, JPCEditString
							.toYearFromYmd(listBean.sendMessageString(
									ZMW07301SFConst.CD_TENDYMD_01,
									X31CWebConst.DATABEAN_GET_VALUE)));
			// 適用終了月を設定
			listBean.sendMessageString(ZMW07301SFConst.TEND_MON_01,
					X31CWebConst.DATABEAN_SET_VALUE, JPCEditString
							.toMonthFromYmd(listBean.sendMessageString(
									ZMW07301SFConst.CD_TENDYMD_01,
									X31CWebConst.DATABEAN_GET_VALUE)));
			// 適用終了日を設定
			listBean.sendMessageString(ZMW07301SFConst.TEND_DAY_01,
					X31CWebConst.DATABEAN_SET_VALUE, JPCEditString
							.toDayFromYmd(listBean.sendMessageString(
									ZMW07301SFConst.CD_TENDYMD_01,
									X31CWebConst.DATABEAN_GET_VALUE)));
		}
		
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_ID_ZMW07301);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_NAME_ZMW07301);

		return true;
	}
	
	/**
	 * 行追加処理.<br>
	 * 行追加を行う。
	 * 
	 * @return boolean
	 * @exception Exception Exception
	 */
	public boolean rowAdd() throws Exception
	{
		
		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();

		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();

		// オンライン運用日付の取得
		String opedate = JZMWebCommon.getOpeDate(this, null);
		
		// コード区分情報リストの取得
		X31SDataBeanAccessArray dataList = bean.getDataBeanArray(ZMW07301SFConst.CD_KBN_LIST); 
		
		// 空DataBeanをセット
		dataList.addDataBean();
		
		// コード区分情報Beanの取得
		X31SDataBeanAccess listBean = dataList.getDataBean(dataList.getCount() - 1);

		// 適用開始年の初期値を設定
		listBean.sendMessageString(ZMW07301SFConst.TSTA_YEAR_01,
				X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toYearFromYmd(opedate));
		
		// 適用開始月の初期値を設定
		listBean.sendMessageString(ZMW07301SFConst.TSTA_MON_01,
				X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toMonthFromYmd(opedate));
		
		// 適用開始日の初期値を設定
		listBean.sendMessageString(ZMW07301SFConst.TSTA_DAY_01,
				X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toDayFromYmd(opedate));
		
		// 更新フラグを設定
		listBean.sendMessageString(ZMW07301SFConst.UPD_FLG_01,
				X31CWebConst.DATABEAN_SET_VALUE, JZMStrConst.FLG_OFF);
		
		// 背景色のスタイルクラスを設定
		JZMWebCommon.setRowStyleClass(bean, ZMW07301SFConst.CD_KBN_LIST, ZMW07301SFConst.ROW_STYLE_CLASS_01);
		
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_ID_ZMW07301);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_NAME_ZMW07301);

		return true;
	}
	
	/**
	 * 行削除処理.<br>
	 * 行削除を行う。
	 * 
	 * @return boolean
	 * @exception Exception Exception
	 */
	public boolean rowDel() throws Exception
	{
		
		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();

		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();

		// コード区分情報リストの取得
		X31SDataBeanAccessArray dataList = bean.getDataBeanArray(ZMW07301SFConst.CD_KBN_LIST); 
		
		// 選択チェックリストを設定
		ArrayList<Integer> checkList = new ArrayList<Integer>();
		
		
		for(int i = 0; i < dataList.getCount(); i++)
		{
			
			// コード区分情報Beanの取得
			X31SDataBeanAccess listBean = bean.getDataBeanArray(ZMW07301SFConst.CD_KBN_LIST).getDataBean(i);
			
			// 選択の取得
			boolean  check = listBean.sendMessageBoolean(ZMW07301SFConst.CHOICE_01, X31CWebConst.DATABEAN_GET_VALUE);
			
			// 選択がチェックされている場合indexを設置
			if (check) 
			{
				checkList.add(i);
			}
		
		}
		
		for(int j = 0 ; j < checkList.size(); j++)
		{
			int getcnt = checkList.size() - (j + 1);
			
			// コード区分情報Beanの取得
			X31SDataBeanAccess listBean = bean.getDataBeanArray(ZMW07301SFConst.CD_KBN_LIST).getDataBean(checkList.get(getcnt));			
			
			// 更新フラグの取得
			String upd_flg = listBean.sendMessageString(ZMW07301SFConst.UPD_FLG_01, X31CWebConst.DATABEAN_GET_VALUE);
			
			if((JZMStrConst.FLG_ON).equals(upd_flg))
			{
				
				// コード区分削除情報リストの取得
				X31SDataBeanAccessArray delList = bean.getDataBeanArray(ZMW07301SFConst.CD_KBN_DEL_LIST);
				
				X31SDataBeanAccess delBean = null;
				
				delBean = delList.addDataBean();
				
				// コード種別コードを設定
				delBean.sendMessageString(ZMW07301SFConst.CD_SBT_CD_02,
						X31CWebConst.DATABEAN_SET_VALUE, listBean
								.sendMessageString(
										ZMW07301SFConst.CD_SBT_CD_01,
										X31CWebConst.DATABEAN_GET_VALUE));
				
				// コード区分を設定
				delBean.sendMessageString(ZMW07301SFConst.CD_DIV_02,
						X31CWebConst.DATABEAN_SET_VALUE, listBean
								.sendMessageString(
										ZMW07301SFConst.CD_DIV_01,
										X31CWebConst.DATABEAN_GET_VALUE));
				
				// 更新年月日時分秒を設定
				delBean.sendMessageString(ZMW07301SFConst.UPD_DTM_02,
						X31CWebConst.DATABEAN_SET_VALUE, listBean
								.sendMessageString(
										ZMW07301SFConst.UPD_DTM_02,
										X31CWebConst.DATABEAN_GET_VALUE));
			} 
			
			// 選択がチェックされているDataBeanを削除
			bean.getDataBeanArray(ZMW07301SFConst.CD_KBN_LIST).removeDataBean(checkList.get(getcnt));
		
		}
		
		// 背景色のスタイルクラスを設定
		JZMWebCommon.setRowStyleClass(bean, ZMW07301SFConst.CD_KBN_LIST, ZMW07301SFConst.ROW_STYLE_CLASS_01);
		
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_ID_ZMW07301);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_NAME_ZMW07301);

		return true;
	}
	
	/**
	 * 更新確認処理.<br>
	 * 更新確認処理を行う。
	 * 
	 * @return boolean
	 * @exception Exception Exception
	 */
	@SuppressWarnings("unchecked")
	public boolean updCfm() throws Exception
	{
		
		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();

		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();
		
		// ユースケースID格納用マップ
		HashMap paramMap = new HashMap();
		
		// マッピング用Map
		HashMap dataMap = new HashMap();
		
		// サービス実行結果データ用Map
		HashMap outputMap = new HashMap();
		
		// マッピングクラスを使用する為、配列化
		X31SDataBeanAccess[] paramBean = {bean};
		
		// コード区分情報リストの取得
		X31SDataBeanAccessArray dataList = bean.getDataBeanArray(ZMW07301SFConst.CD_KBN_LIST); 
		
		for(int i = 0; i < dataList.getCount(); i++)
		{
			
			// コード区分情報Beanの取得
			X31SDataBeanAccess listBean = bean.getDataBeanArray(ZMW07301SFConst.CD_KBN_LIST).getDataBean(i);

			// コード種別コードの設定
			listBean.sendMessageString(ZMW07301SFConst.CD_SBT_CD_01, X31CWebConst.DATABEAN_SET_VALUE,
					bean.sendMessageString(ZMW07301SFConst.CD_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE));
			
			// コード種別名の設定
			listBean.sendMessageString(ZMW07301SFConst.CD_SBT_NM_01, X31CWebConst.DATABEAN_SET_VALUE,
					bean.sendMessageString(ZMW07301SFConst.CD_SBT_NM, X31CWebConst.DATABEAN_GET_VALUE));
			
			// コード種別説明の設定
			listBean.sendMessageString(ZMW07301SFConst.CD_SBT_SETMEI_01, X31CWebConst.DATABEAN_SET_VALUE,
					bean.sendMessageString(ZMW07301SFConst.CD_SBT_SETMEI, X31CWebConst.DATABEAN_GET_VALUE));
			
			// 適用開始年月日の設定
			StringBuilder tstaymd = new StringBuilder(JZMWebConst.BLANK);
			tstaymd.append(listBean.sendMessageString(ZMW07301SFConst.TSTA_YEAR_01, X31CWebConst.DATABEAN_GET_VALUE));
			tstaymd.append(listBean.sendMessageString(ZMW07301SFConst.TSTA_MON_01, X31CWebConst.DATABEAN_GET_VALUE));
			tstaymd.append(listBean.sendMessageString(ZMW07301SFConst.TSTA_DAY_01, X31CWebConst.DATABEAN_GET_VALUE));
			listBean.sendMessageString(ZMW07301SFConst.CD_TSTAYMD_01, X31CWebConst.DATABEAN_SET_VALUE, tstaymd.toString());

			// 適用終了年月日の設定
			StringBuilder tendymd = new StringBuilder(JZMWebConst.BLANK);
			tendymd.append(listBean.sendMessageString(ZMW07301SFConst.TEND_YEAR_01, X31CWebConst.DATABEAN_GET_VALUE));
			tendymd.append(listBean.sendMessageString(ZMW07301SFConst.TEND_MON_01, X31CWebConst.DATABEAN_GET_VALUE));
			tendymd.append(listBean.sendMessageString(ZMW07301SFConst.TEND_DAY_01, X31CWebConst.DATABEAN_GET_VALUE));
			listBean.sendMessageString(ZMW07301SFConst.CD_TENDYMD_01, X31CWebConst.DATABEAN_SET_VALUE, tendymd.toString());
			
		}
		
		// ユースケースID格納
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JZMWebConst.SV14);
		
		// マッピングクラス
		ZMSV0014_ZMSV0014OPDBMapper mapper = new ZMSV0014_ZMSV0014OPDBMapper();
		
		// マッピング処理（上り）
		mapper.setZMSV001401CC(paramBean, dataMap, FUNC_CD_2);
		
		// サービス実行
		invokeService(paramMap, dataMap, outputMap);
		
		// 適用終了年月日を設定
		JZMWebCommon.replaceTendymd(bean, ZMW07301SFConst.CD_KBN_LIST, ZMW07301SFConst.CD_TENDYMD_01);
		
		// メッセージを表示
		JZMWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0370__I, INSERT_INFO_MESSAGE);
		JZMWebCommon.setMessageAreaBackColor(this, JZMWebConst.ONE);
		
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_ID_ZMW07302);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_NAME_ZMW07302);
		
		return true;
	}
	
	/**
	 * 戻る処理.<br>
	 * 戻る処理を行う。
	 * 
	 * @return boolean
	 * @exception Exception Exception
	 */
	public boolean back() throws Exception
	{
		
		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();

		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE,  JZMWebCommon.getScreenId(this));
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JZMWebConst.BLANK);

		return true;
	}
	
	/**
	 * 確定処理.<br>
	 * 確定を行う。
	 * 
	 * @return boolean
	 * @exception Exception Exception
	 */
	@SuppressWarnings("unchecked")
	public boolean fix() throws Exception
	{
		
		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();

		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();
		
		// ユースケースID格納用マップ
		HashMap paramMap = new HashMap();
		
		// マッピング用Map
		HashMap dataMap = new HashMap();
		
		// サービス実行結果データ用Map
		HashMap outputMap = new HashMap();
		
		// コード区分情報リストの取得
		X31SDataBeanAccessArray dataList = bean.getDataBeanArray(ZMW07301SFConst.CD_KBN_LIST); 
		
		for(int i = 0; i < dataList.getCount(); i++)
		{
			
			// コード区分情報Beanの取得
			X31SDataBeanAccess listBean = bean.getDataBeanArray(ZMW07301SFConst.CD_KBN_LIST).getDataBean(i);
			
			// コード種別コードの設定
			if((JZMStrConst.FLG_ON).equals(listBean.sendMessageString(ZMW07301SFConst.SHK_DSP_CD_FLG_01, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				listBean.sendMessageBoolean(ZMW07301SFConst.SHK_DSP_CD_01, X31CWebConst.DATABEAN_SET_VALUE, true);
			}
			else
			{
				listBean.sendMessageBoolean(ZMW07301SFConst.SHK_DSP_CD_01, X31CWebConst.DATABEAN_SET_VALUE, false);
			}
			
		}
		
		// マッピングクラスを使用する為、配列化
		X31SDataBeanAccess[] paramBean = {bean};
		
		// ユースケースID格納
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JZMWebConst.SV14);
		
		// マッピングクラス
		ZMSV0014_ZMSV0014OPDBMapper mapper = new ZMSV0014_ZMSV0014OPDBMapper();
		
		// マッピング処理（上り）
		mapper.setZMSV001401CC(paramBean, dataMap, FUNC_CD_1);
		
		// サービス実行
		invokeService(paramMap, dataMap, outputMap);
		
		// メッセージを表示
		JZMWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0380__I, INSERT_INFO_MESSAGE);
		
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_ID_ZMW07303);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_NAME_ZMW07303);

		return true;
	}
	
	/**
	 * 修正処理.<br>
	 * 修正処理を行う。
	 * 
	 * @return boolean
	 * @exception Exception Exception
	 */
	public boolean shusei() throws Exception
	{
		
		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();
		
		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();
		
		// コード区分情報リストの取得
		X31SDataBeanAccessArray dataList = bean.getDataBeanArray(ZMW07301SFConst.CD_KBN_LIST); 
		
		for(int i = 0; i < dataList.getCount(); i++)
		{
			
			// コード区分情報Beanの取得
			X31SDataBeanAccess listBean = bean.getDataBeanArray(ZMW07301SFConst.CD_KBN_LIST).getDataBean(i);
			
			// コード種別コードの設定
			if((JZMStrConst.FLG_ON).equals(listBean.sendMessageString(ZMW07301SFConst.SHK_DSP_CD_FLG_01, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				listBean.sendMessageBoolean(ZMW07301SFConst.SHK_DSP_CD_01, X31CWebConst.DATABEAN_SET_VALUE, true);
			}
			else
			{
				listBean.sendMessageBoolean(ZMW07301SFConst.SHK_DSP_CD_01, X31CWebConst.DATABEAN_SET_VALUE, false);
			}
			
		}
		
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_ID_ZMW07301);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_NAME_ZMW07301);

		return true;
	}
	
	/**
	 * 完了処理.<br>
	 * 完了処理を行う。
	 * 
	 * @return boolean
	 * @exception Exception Exception
	 */
	public boolean fin() throws Exception
	{
		
		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();

		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JZMWebCommon.getScreenId(this));
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JZMWebConst.BLANK);

		return true;
	}
	
	/**
	 * セッションから遷移先画面を取得し共通ビーンに設定する
	 * <br>
	 * @param commonBean 共通フォームBean
	 * @param transfer	強制転送するかどうか
	 */
	private void setBackScreenId(X31SDataBeanAccess commonBean, boolean transfer)
	{
		String screenId = JZMWebCommon.getScreenId(this);

		// 遷移先画面ID、名称の設定
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, screenId);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JZMWebConst.BLANK);
		
		if(transfer)
		{
			setTransferPageId(screenId + JZMWebConst.PJP);
		}
	}

}
