/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム共通（共通（マスタ））
*   モジュール名    ：ZMW01901SFLogic
*   ソースファイル名：ZMW01901SFLogic.java
*   作成者          ：富士通
*   日付            ：2011年06月29日
*＜機能概要＞
*   電話番号登録のビューロジックです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v2.00	    2011/06/29   FJ）日野    新規作成
*   v3.00	    2011/02/01   FJ）日野    【UIZ-0004-00-00】視認性向上No.4(メッセージ領域背景黄色)対応
*   v4.00       2012/06/18   FJ）石松    【TAI-2012-0000059】コンボボックス脆弱性js対応
*   v5.00		2013/03/08   FJ) 日野    【TAI-2013-0000012】画面設計規約
*   v72.00		2024/04/05   FJ) 竹内    【ANK-4494-00-00】【eo定期】 双方向番ポ対応
*
**********************************************************************/

package eo.web.webview.ZMW01901SF;

import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;

import eo.common.constant.JPCModelConstant;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.common.util.JPCUtilCommon;
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.ZMSV0030_ZMSV0030OPDBMapper;
import eo.web.webview.mapping.ZMSV0031_ZMSV0031OPDBMapper;

/**
 * 電話番号登録のビューロジックです。
 * @author FJ
 *
 */
@SuppressWarnings("serial")
public class ZMW01901SFLogic extends JCCWebBusinessLogic
{
	
	/** メッセージ置換文字列　登録  */
	private static final String[] MSG_VALUE_ADD = {"電話番号情報登録"};
	
	/** 番号コード　050  */
	private static final String NO_CD_050 = "050";
	
	/**
	 * 初期表示処理を行います。<br>
	 * <br>
	 * @return boolean 処理結果
	 * @exception Exception 予期せぬエラー
	 */
	@SuppressWarnings("unchecked")
	public boolean init() throws Exception
	{
		
		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();
		
		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();
		
		// 戻り先IDの取得
		String screenId = JZMWebCommon.getScreenId(this);
		
		if(screenId == null)
		{
			// HashMapを設定する
			JZMWebCommon.setScreenId(this, JZMScreenConst.SCREEN_ID_ZMW01903, JZMScreenConst.SCREEN_ID_ZMW01901);
		}
		
		// 戻り先IDの有無で戻るボタン表示フラグを表示する
		JZMWebCommon.setSendMessageBoolean(bean, ZMW01901SFConst.BACK_BTN_DSP_FLG, null != screenId);
		
		// 開始年月日に運用日付の設定
		setOpeDateToTstaymd(bean);
		
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess[] paramBean = {bean};
		
		// ユースケースID格納用マップ
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// マッピング用Map
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		
		// サービス実行結果データ用Map
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JZMWebConst.SV30);
		
		// マッピングクラスのインスタンスを生成
		ZMSV0030_ZMSV0030OPDBMapper mapper = new ZMSV0030_ZMSV0030OPDBMapper();
		
		// マッピング処理（上り）
		mapper.setZMSV003001SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		if(dataMap.containsKey(JZMWebConst.SC3001))
		{
			HashMap<String, Object> inDataMap = (HashMap<String, Object>)dataMap.get(JZMWebConst.SC3001);
			inDataMap.put(JZMWebConst.KEY_STDARDYMD, JZMWebCommon.getOpeDate(this, null));
		}
		mapper.setZMSV003002SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		if(dataMap.containsKey(JZMWebConst.SC3002))
		{
			HashMap<String, Object> inDataMap = (HashMap<String, Object>)dataMap.get(JZMWebConst.SC3002);
			inDataMap.put(JZMWebConst.KEY_STDARDYMD, JZMWebCommon.getOpeDate(this, null));
		}
		mapper.setZMSV003003SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		if(dataMap.containsKey(JZMWebConst.SC3003))
		{
			HashMap<String, Object> inDataMap = (HashMap<String, Object>)dataMap.get(JZMWebConst.SC3003);
			inDataMap.put(JZMWebConst.KEY_STDARDYMD, JZMWebCommon.getOpeDate(this, null));
		}
		mapper.setZMSV003004SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		if(dataMap.containsKey(JZMWebConst.SC3004))
		{
			HashMap<String, Object> inDataMap = (HashMap<String, Object>)dataMap.get(JZMWebConst.SC3004);
			inDataMap.put(JZMWebConst.KEY_STDARDYMD, JZMWebCommon.getOpeDate(this, null));
		}
		//【ANK-4494-00-00】双方向番ポ対応 DEL STRAT
//		mapper.setZMSV003005SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
//		if(dataMap.containsKey(JZMWebConst.SC3005))
//		{
//			HashMap<String, Object> inDataMap = (HashMap<String, Object>)dataMap.get(JZMWebConst.SC3005);
//			inDataMap.put(JZMWebConst.KEY_STDARDYMD, JZMWebCommon.getOpeDate(this, null));
//		}
		//【ANK-4494-00-00】双方向番ポ対応 DEL END
		mapper.setZMSV003006SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		//【ANK-4494-00-00】双方向番ポ対応 ADD STRAT
		if(dataMap.containsKey(JZMWebConst.SC3006))
		{
			HashMap<String, Object> inDataMap = (HashMap<String, Object>)dataMap.get(JZMWebConst.SC3006);
			inDataMap.put(JZMWebConst.KEY_STDARDYMD, JZMWebCommon.getOpeDate(this, null));
		}
		//【ANK-4494-00-00】双方向番ポ対応 ADD END
		mapper.setZMSV003007SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		//【ANK-4494-00-00】双方向番ポ対応 ADD STRAT
		if(dataMap.containsKey(JZMWebConst.SC3007))
		{
			HashMap<String, Object> inDataMap = (HashMap<String, Object>)dataMap.get(JZMWebConst.SC3007);
			inDataMap.put(JZMWebConst.KEY_STDARDYMD, JZMWebCommon.getOpeDate(this, null));
		}
		mapper.setZMSV003008SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		if(dataMap.containsKey(JZMWebConst.SC3008))
		{
			HashMap<String, Object> inDataMap = (HashMap<String, Object>)dataMap.get(JZMWebConst.SC3008);
			inDataMap.put(JZMWebConst.KEY_STDARDYMD, JZMWebCommon.getOpeDate(this, null));
		}
		mapper.setZMSV003009SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		if(dataMap.containsKey(JZMWebConst.SC3009))
		{
			HashMap<String, Object> inDataMap = (HashMap<String, Object>)dataMap.get(JZMWebConst.SC3009);
			inDataMap.put(JZMWebConst.KEY_STDARDYMD, JZMWebCommon.getOpeDate(this, null));
		}
		//【ANK-4494-00-00】双方向番ポ対応 ADD END
		
		//  サービスの呼び出し
		invokeService(paramMap, dataMap, outputMap);
		
		// マッピング処理（下り）
		mapper.getZMSV003001SC(paramBean, outputMap);
		mapper.getZMSV003002SC(paramBean, outputMap);
		mapper.getZMSV003003SC(paramBean, outputMap);
		mapper.getZMSV003004SC(paramBean, outputMap);
		//【ANK-4494-00-00】双方向番ポ対応 DEL STRAT
//		mapper.getZMSV003005SC(paramBean, outputMap);
		//【ANK-4494-00-00】双方向番ポ対応 DEL END
		mapper.getZMSV003006SC(paramBean, outputMap);
		mapper.getZMSV003007SC(paramBean, outputMap);
		//【ANK-4494-00-00】双方向番ポ対応 ADD STRAT
		mapper.getZMSV003008SC(paramBean, outputMap);
		mapper.getZMSV003009SC(paramBean, outputMap);
		//【ANK-4494-00-00】双方向番ポ対応 ADD END
		
		/* v4.00 追加開始 */
		
		// 番号コードデータ取得
		String div = JZMWebCommon.getPullDownAllValue(bean, ZMW01901SFConst.NO_CD_INFO, ZMW01901SFConst.NO_CD_VALUE_LIST_01);
		JZMWebCommon.setSendMessageString(bean, ZMW01901SFConst.NO_CD_DIV_DATA, div);
		
		/* v4.00 追加終了 */
		
		// 遷移先画面ID、名称を設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_ID_ZMW01901);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_NAME_ZMW01901);
		
		return true;
	}
	
	/**
	 * 適用年月日に運用日付の設定を行います。<br>
	 * 
	 * @param bean
	 */
	private void setOpeDateToTstaymd(X31SDataBeanAccess bean)
	{
		// 運用日付の設定
		String opeDate = JZMWebCommon.getOpeDate(this, null);
		
		// 適用年月日-年
		bean.sendMessageString(ZMW01901SFConst.TELNO_TSTAYMD_YEAR, X31CWebConst.DATABEAN_SET_VALUE, opeDate.substring(0, 4));
		
		// 適用年月日-月
		bean.sendMessageString(ZMW01901SFConst.TELNO_TSTAYMD_MON, X31CWebConst.DATABEAN_SET_VALUE, opeDate.substring(4, 6));
		
		// 適用年月日-日
		bean.sendMessageString(ZMW01901SFConst.TELNO_TSTAYMD_DAY, X31CWebConst.DATABEAN_SET_VALUE, opeDate.substring(6, 8));
	}
	
	/**
	 * 戻るボタン押下処理を行います。<br>
	 * 
	 * @return boolean 処理結果
	 * @exception Exception 予期せぬエラー
	 */
	public boolean back() throws Exception
	{
		
		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();
		
		// 戻り先画面IDの取得
		String screenId = JZMWebCommon.getScreenId(this);
		
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, screenId);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JZMWebConst.BLANK);
		
		return true;
	}
	
	/**
	 * 登録確認ボタン押下処理を行います。<br>
	 * 
	 * @return boolean 処理結果
	 * @exception Exception 予期せぬエラー
	 */
	public boolean addCfm() throws Exception
	{
		
		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();
		
		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();
		
		// ユースケースID格納用マップ
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// マッピング用Map
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		
		// サービス実行結果データ用Map
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		
		// 番号コード
		String no_cd = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.NO_CD_INFO,
				ZMW01901SFConst.NO_CD_VALUE_LIST_01, ZMW01901SFConst.NO_CD_IDX_01);
		String no_cd_nm = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.NO_CD_INFO,
				ZMW01901SFConst.NO_CD_NM_LIST_01, ZMW01901SFConst.NO_CD_IDX_01);
		bean.sendMessageString(ZMW01901SFConst.NO_CD, X31CWebConst.DATABEAN_SET_VALUE, no_cd);
		bean.sendMessageString(ZMW01901SFConst.NO_CD_NM, X31CWebConst.DATABEAN_SET_VALUE, no_cd_nm);
		
		//【ANK-4494-00-00】双方向番ポ対応 DEL STRAT
		// 割当通信事業者コード
//		String wariate_tsjgs_cd = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.WARIATE_TSJGS_CD_INFO,
//				ZMW01901SFConst.WARIATE_TSJGS_CD_VALUE_LIST_02, ZMW01901SFConst.WARIATE_TSJGS_CD_IDX_02);
//		String wariate_tsjgs_cd_nm = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.WARIATE_TSJGS_CD_INFO,
//				ZMW01901SFConst.WARIATE_TSJGS_CD_NM_LIST_02, ZMW01901SFConst.WARIATE_TSJGS_CD_IDX_02);
//		bean.sendMessageString(ZMW01901SFConst.WARIATE_TSJGS_CD, X31CWebConst.DATABEAN_SET_VALUE, wariate_tsjgs_cd);
//		bean.sendMessageString(ZMW01901SFConst.WARIATE_TSJGS_CD_NM, X31CWebConst.DATABEAN_SET_VALUE, wariate_tsjgs_cd_nm);
		
		// 使用通信事業者コード
//		String use_tsjgs_cd = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.USE_TSJGS_CD_INFO,
//				ZMW01901SFConst.USE_TSJGS_CD_VALUE_LIST_03, ZMW01901SFConst.USE_TSJGS_CD_IDX_03);
//		String use_tsjgs_cd_nm = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.USE_TSJGS_CD_INFO,
//				ZMW01901SFConst.USE_TSJGS_CD_NM_LIST_03, ZMW01901SFConst.USE_TSJGS_CD_IDX_03);
//		bean.sendMessageString(ZMW01901SFConst.USE_TSJGS_CD, X31CWebConst.DATABEAN_SET_VALUE, use_tsjgs_cd);
//		bean.sendMessageString(ZMW01901SFConst.USE_TSJGS_CD_NM, X31CWebConst.DATABEAN_SET_VALUE, use_tsjgs_cd_nm);
		//【ANK-4494-00-00】双方向番ポ対応 DEL END
		
		// サービス区分
		String svc_div = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.SVC_DIV_INFO,
				ZMW01901SFConst.SVC_DIV_VALUE_LIST_04, ZMW01901SFConst.SVC_DIV_IDX_04);
		String svc_div_nm = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.SVC_DIV_INFO,
				ZMW01901SFConst.SVC_DIV_NM_LIST_04, ZMW01901SFConst.SVC_DIV_IDX_04);
		bean.sendMessageString(ZMW01901SFConst.SVC_DIV, X31CWebConst.DATABEAN_SET_VALUE, svc_div);
		bean.sendMessageString(ZMW01901SFConst.SVC_DIV_NM, X31CWebConst.DATABEAN_SET_VALUE, svc_div_nm);
		
		// 引当制約種別コード
		String hkat_siyk_sbt_cd = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.HKAT_SIYK_SBT_CD_INFO,
				ZMW01901SFConst.HKAT_SIYK_SBT_CD_VALUE_LIST_05, ZMW01901SFConst.HKAT_SIYK_SBT_CD_IDX_05);
		String hkat_siyk_sbt_cd_nm = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.HKAT_SIYK_SBT_CD_INFO,
				ZMW01901SFConst.HKAT_SIYK_SBT_CD_NM_LIST_05, ZMW01901SFConst.HKAT_SIYK_SBT_CD_IDX_05);
		bean.sendMessageString(ZMW01901SFConst.HKAT_SIYK_SBT_CD, X31CWebConst.DATABEAN_SET_VALUE, hkat_siyk_sbt_cd);
		bean.sendMessageString(ZMW01901SFConst.HKAT_SIYK_SBT_CD_NM, X31CWebConst.DATABEAN_SET_VALUE, hkat_siyk_sbt_cd_nm);
		
		// 引当制約設定年月日時分秒
		String hkat_siyk_set_dtm = JZMWebConst.BLANK;
		if(!(JZMWebConst.BLANK.equals(hkat_siyk_sbt_cd)))
		{
			hkat_siyk_set_dtm = JZMWebCommon.getOpeDateTimeStamp(this, null);
		}
		bean.sendMessageString(ZMW01901SFConst.HKAT_SIYK_SET_DTM, X31CWebConst.DATABEAN_SET_VALUE, hkat_siyk_set_dtm);
		
		// 個人法人電話番号帯コード
		if(NO_CD_050.equals(no_cd_nm))
		{
			JZMWebCommon.setPullDownIndex(bean, ZMW01901SFConst.KOJIN_HOJIN_TLN_TAI_CD_INFO, ZMW01901SFConst.KOJIN_HOJIN_TLN_TAI_CD_IDX_06, JZMWebConst.ZERO);
		}
		String kojin_hojin_tln_tai_cd = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.KOJIN_HOJIN_TLN_TAI_CD_INFO,
				ZMW01901SFConst.KOJIN_HOJIN_TLN_TAI_CD_VALUE_LIST_06, ZMW01901SFConst.KOJIN_HOJIN_TLN_TAI_CD_IDX_06);
		String kojin_hojin_tln_tai_cd_nm = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.KOJIN_HOJIN_TLN_TAI_CD_INFO,
				ZMW01901SFConst.KOJIN_HOJIN_TLN_TAI_CD_NM_LIST_06, ZMW01901SFConst.KOJIN_HOJIN_TLN_TAI_CD_IDX_06);
		bean.sendMessageString(ZMW01901SFConst.KOJIN_HOJIN_TLN_TAI_CD, X31CWebConst.DATABEAN_SET_VALUE, kojin_hojin_tln_tai_cd);
		bean.sendMessageString(ZMW01901SFConst.KOJIN_HOJIN_TLN_TAI_CD_NM, X31CWebConst.DATABEAN_SET_VALUE, kojin_hojin_tln_tai_cd_nm);
		
		//【ANK-4494-00-00】双方向番ポ対応 DEL STRAT
		// Ｃ５サーバ号機識別コード
//		String c5_server_goki_skbt_cd = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.C5_SERVER_GOKI_SKBT_CD_INFO,
//				ZMW01901SFConst.C5_SERVER_GOKI_SKBT_CD_VALUE_LIST_07, ZMW01901SFConst.C5_SERVER_GOKI_SKBT_CD_IDX_07);
//		String c5_server_goki_skbt_cd_nm = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.C5_SERVER_GOKI_SKBT_CD_INFO,
//				ZMW01901SFConst.C5_SERVER_GOKI_SKBT_CD_NM_LIST_07, ZMW01901SFConst.C5_SERVER_GOKI_SKBT_CD_IDX_07);
//		bean.sendMessageString(ZMW01901SFConst.C5_SERVER_GOKI_SKBT_CD, X31CWebConst.DATABEAN_SET_VALUE, c5_server_goki_skbt_cd);
//		bean.sendMessageString(ZMW01901SFConst.C5_SERVER_GOKI_SKBT_CD_NM, X31CWebConst.DATABEAN_SET_VALUE, c5_server_goki_skbt_cd_nm);
		//【ANK-4494-00-00】双方向番ポ対応 DEL END
		
		// 電話番号適用開始年月日
		String tstaymd = JPCUtilCommon.concatYmd(
				bean.sendMessageString(ZMW01901SFConst.TELNO_TSTAYMD_YEAR, X31CWebConst.DATABEAN_GET_VALUE),
				bean.sendMessageString(ZMW01901SFConst.TELNO_TSTAYMD_MON, X31CWebConst.DATABEAN_GET_VALUE),
				bean.sendMessageString(ZMW01901SFConst.TELNO_TSTAYMD_DAY, X31CWebConst.DATABEAN_GET_VALUE));
		bean.sendMessageString(ZMW01901SFConst.TELNO_TSTAYMD, X31CWebConst.DATABEAN_SET_VALUE, JZMWebCommon.nullToBlank(tstaymd));
		
		// 電話番号適用終了年月日
		String tendymd = JPCUtilCommon.concatYmd(
				bean.sendMessageString(ZMW01901SFConst.TELNO_TENDYMD_YEAR, X31CWebConst.DATABEAN_GET_VALUE),
				bean.sendMessageString(ZMW01901SFConst.TELNO_TENDYMD_MON, X31CWebConst.DATABEAN_GET_VALUE),
				bean.sendMessageString(ZMW01901SFConst.TELNO_TENDYMD_DAY, X31CWebConst.DATABEAN_GET_VALUE));
		bean.sendMessageString(ZMW01901SFConst.TELNO_TENDYMD, X31CWebConst.DATABEAN_SET_VALUE, JZMWebCommon.nullToBlank(tendymd));
		
		// 局番
		if(NO_CD_050.equals(no_cd_nm))
		{
			bean.sendMessageString(ZMW01901SFConst.KYOKU_NO, X31CWebConst.DATABEAN_SET_VALUE, JZMWebConst.BLANK);
		}
		
		//【ANK-4494-00-00】双方向番ポ対応 ADD STRAT
		// 初期個人法人電話番号帯コード
		if(NO_CD_050.equals(no_cd_nm))
		{
			JZMWebCommon.setPullDownIndex(bean, ZMW01901SFConst.SHK_KOJIN_HOJIN_TLN_TAI_CD_INFO, ZMW01901SFConst.SHK_KOJIN_HOJIN_TLN_TAI_CD_IDX_08, JZMWebConst.ZERO);
		}
		String shk_kojin_hojin_tln_tai_cd = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.SHK_KOJIN_HOJIN_TLN_TAI_CD_INFO,
				ZMW01901SFConst.SHK_KOJIN_HOJIN_TLN_TAI_CD_VALUE_LIST_08, ZMW01901SFConst.SHK_KOJIN_HOJIN_TLN_TAI_CD_IDX_08);
		String shk_kojin_hojin_tln_tai_cd_nm = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.SHK_KOJIN_HOJIN_TLN_TAI_CD_INFO,
				ZMW01901SFConst.SHK_KOJIN_HOJIN_TLN_TAI_CD_NM_LIST_08, ZMW01901SFConst.SHK_KOJIN_HOJIN_TLN_TAI_CD_IDX_08);
		bean.sendMessageString(ZMW01901SFConst.SHK_KOJIN_HOJIN_TLN_TAI_CD, X31CWebConst.DATABEAN_SET_VALUE, shk_kojin_hojin_tln_tai_cd);
		bean.sendMessageString(ZMW01901SFConst.SHK_KOJIN_HOJIN_TLN_TAI_CD_NM, X31CWebConst.DATABEAN_SET_VALUE, shk_kojin_hojin_tln_tai_cd_nm);
		
		// 電話番号取得通信事業者コード
		if(NO_CD_050.equals(no_cd_nm))
		{
			JZMWebCommon.setPullDownIndex(bean, ZMW01901SFConst.TLN_STKU_TSJGS_CD_INFO, ZMW01901SFConst.TLN_STKU_TSJGS_CD_IDX_09, JZMWebConst.ZERO);
		}
		String tln_stku_tsjgs_cd = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.TLN_STKU_TSJGS_CD_INFO,
				ZMW01901SFConst.TLN_STKU_TSJGS_CD_VALUE_LIST_09, ZMW01901SFConst.TLN_STKU_TSJGS_CD_IDX_09);
		String tln_stku_tsjgs_cd_nm = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.TLN_STKU_TSJGS_CD_INFO,
				ZMW01901SFConst.TLN_STKU_TSJGS_CD_NM_LIST_09, ZMW01901SFConst.TLN_STKU_TSJGS_CD_IDX_09);
		bean.sendMessageString(ZMW01901SFConst.TLN_STKU_TSJGS_CD, X31CWebConst.DATABEAN_SET_VALUE, tln_stku_tsjgs_cd);
		bean.sendMessageString(ZMW01901SFConst.TLN_STKU_TSJGS_CD_NM, X31CWebConst.DATABEAN_SET_VALUE, tln_stku_tsjgs_cd_nm);
		
		// 移転元通信事業者コード
		if(NO_CD_050.equals(no_cd_nm))
		{
			JZMWebCommon.setPullDownIndex(bean, ZMW01901SFConst.ITNM_TSJGS_CD_INFO, ZMW01901SFConst.ITNM_TSJGS_CD_IDX_10, JZMWebConst.ZERO);
		}
		String itnm_tsjgs_cd = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.ITNM_TSJGS_CD_INFO,
				ZMW01901SFConst.ITNM_TSJGS_CD_VALUE_LIST_10, ZMW01901SFConst.ITNM_TSJGS_CD_IDX_10);
		String itnm_tsjgs_cd_nm = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.ITNM_TSJGS_CD_INFO,
				ZMW01901SFConst.ITNM_TSJGS_CD_NM_LIST_10, ZMW01901SFConst.ITNM_TSJGS_CD_IDX_10);
		bean.sendMessageString(ZMW01901SFConst.ITNM_TSJGS_CD, X31CWebConst.DATABEAN_SET_VALUE, itnm_tsjgs_cd);
		bean.sendMessageString(ZMW01901SFConst.ITNM_TSJGS_CD_NM, X31CWebConst.DATABEAN_SET_VALUE, itnm_tsjgs_cd_nm);

		// 移転先通信事業者コード
		if(NO_CD_050.equals(no_cd_nm))
		{
			JZMWebCommon.setPullDownIndex(bean, ZMW01901SFConst.ITNS_TSJGS_CD_INFO, ZMW01901SFConst.ITNS_TSJGS_CD_IDX_11, JZMWebConst.ZERO);
		}
		String itns_tsjgs_cd = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.ITNS_TSJGS_CD_INFO,
				ZMW01901SFConst.ITNS_TSJGS_CD_VALUE_LIST_11, ZMW01901SFConst.ITNS_TSJGS_CD_IDX_11);
		String itns_tsjgs_cd_nm = JZMWebCommon.getPullDownSelectedValue(bean, ZMW01901SFConst.ITNS_TSJGS_CD_INFO,
				ZMW01901SFConst.ITNS_TSJGS_CD_NM_LIST_11, ZMW01901SFConst.ITNS_TSJGS_CD_IDX_11);
		bean.sendMessageString(ZMW01901SFConst.ITNS_TSJGS_CD, X31CWebConst.DATABEAN_SET_VALUE, itns_tsjgs_cd);
		bean.sendMessageString(ZMW01901SFConst.ITNS_TSJGS_CD_NM, X31CWebConst.DATABEAN_SET_VALUE, itns_tsjgs_cd_nm);
		//【ANK-4494-00-00】双方向番ポ対応 ADD END
		
		// マッピングクラスを使用する為、配列化
		X31SDataBeanAccess[] paramBean = {bean};
		
		// ユースケースID格納
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JZMWebConst.SV31);
		
		// マッピングクラスのインスタンスを生成
		ZMSV0031_ZMSV0031OPDBMapper mapper = new ZMSV0031_ZMSV0031OPDBMapper();
		
		// マッピング処理（上り）
		mapper.setZMSV003101SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_2);
		
		// サービス実行
		invokeService(paramMap, dataMap, outputMap);
		
		// メッセージの表示
		JZMWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0370__I, MSG_VALUE_ADD);
		JZMWebCommon.setMessageAreaBackColor(this, JZMWebConst.ONE);
		
		// 遷移先画面ID、名称を設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_ID_ZMW01902);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_NAME_ZMW01902);
		
		return true;
	}
	
	
	/**
	 * 修正ボタン押下処理を行います。<br>
	 * 
	 * @return boolean 処理結果
	 * @exception Exception 予期せぬエラー
	 */
	public boolean shusei() throws Exception
	{
		
		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();
		
		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();
		
		// 初期化
		bean.sendMessageString(ZMW01901SFConst.HKAT_SIYK_SET_DTM, X31CWebConst.DATABEAN_SET_VALUE, JZMWebConst.BLANK);
		
		// 遷移先画面ID、名称を設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_ID_ZMW01901);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_NAME_ZMW01901);
		
		return true;
	}
	
	/**
	 * 確定ボタン押下処理を行います。<br>
	 * 
	 * @return boolean 処理結果
	 * @exception Exception 予期せぬエラー
	 */
	public boolean fix() throws Exception
	{
		
		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();
		
		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();
		
		// ユースケースID格納用マップ
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// マッピング用Map
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		
		// サービス実行結果データ用Map
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		
		// マッピングクラスを使用する為、配列化
		X31SDataBeanAccess[] paramBean = {bean};
		
		// ユースケースID格納
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JZMWebConst.SV31);
		
		// マッピングクラスのインスタンスを生成
		ZMSV0031_ZMSV0031OPDBMapper mapper = new ZMSV0031_ZMSV0031OPDBMapper();
		
		// マッピング処理（上り）
		mapper.setZMSV003101SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		
		// サービス実行
		invokeService(paramMap, dataMap, outputMap);
		
		// メッセージの表示
		JZMWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0380__I, MSG_VALUE_ADD);
		
		// 遷移先画面ID、名称を設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_ID_ZMW01903);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_NAME_ZMW01903);
		
		return true;
	}
	
	/**
	 * 完了ボタン押下処理を行います。<br>
	 * 
	 * @return boolean 処理結果
	 * @exception Exception 予期せぬエラー
	 */
	public boolean fin() throws Exception
	{
		
		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();
		
		// 戻り先画面IDの取得
		String screenId = JZMWebCommon.getScreenId(this);
		String screenNm = null;
		
		
		if(JZMScreenConst.SCREEN_ID_ZMW01901.equals(screenId))
		{
			screenNm = JZMScreenConst.SCREEN_NAME_ZMW01901;
			
			// サービスフォームBeanの内容の取得
			X31SDataBeanAccess bean = getServiceFormBean();
			
			// 各項目初期化
			JZMWebCommon.setNullToBeanClm(bean, ZMW01901SFConst.TELNO);
			JZMWebCommon.setNullToBeanClm(bean, ZMW01901SFConst.KYOKU_NO);
			JZMWebCommon.setPullDownIndex(bean, ZMW01901SFConst.NO_CD_INFO, ZMW01901SFConst.NO_CD_IDX_01, JZMWebConst.ZERO);
			//【ANK-4494-00-00】双方向番ポ対応 DEL STRAT
//			JZMWebCommon.setPullDownIndex(bean, ZMW01901SFConst.WARIATE_TSJGS_CD_INFO, ZMW01901SFConst.WARIATE_TSJGS_CD_IDX_02, JZMWebConst.ZERO);
//			JZMWebCommon.setPullDownIndex(bean, ZMW01901SFConst.USE_TSJGS_CD_INFO, ZMW01901SFConst.USE_TSJGS_CD_IDX_03, JZMWebConst.ZERO);
			//【ANK-4494-00-00】双方向番ポ対応 DEL END
			JZMWebCommon.setPullDownIndex(bean, ZMW01901SFConst.SVC_DIV_INFO, ZMW01901SFConst.SVC_DIV_IDX_04, JZMWebConst.ZERO);
			JZMWebCommon.setPullDownIndex(bean, ZMW01901SFConst.HKAT_SIYK_SBT_CD_INFO, ZMW01901SFConst.HKAT_SIYK_SBT_CD_IDX_05, JZMWebConst.ZERO);
			JZMWebCommon.setNullToBeanClm(bean, ZMW01901SFConst.HKAT_SIYK_SET_DTM);
			JZMWebCommon.setNullToBeanClm(bean, ZMW01901SFConst.TLN_SETMEI);
			JZMWebCommon.setPullDownIndex(bean, ZMW01901SFConst.KOJIN_HOJIN_TLN_TAI_CD_INFO, ZMW01901SFConst.KOJIN_HOJIN_TLN_TAI_CD_IDX_06, JZMWebConst.ZERO);
			//【ANK-4494-00-00】双方向番ポ対応 DEL STRAT
//			JZMWebCommon.setPullDownIndex(bean, ZMW01901SFConst.C5_SERVER_GOKI_SKBT_CD_INFO, ZMW01901SFConst.C5_SERVER_GOKI_SKBT_CD_IDX_07, JZMWebConst.ZERO);
			//【ANK-4494-00-00】双方向番ポ対応 DEL END
			//【ANK-4494-00-00】双方向番ポ対応 ADD STRAT
			JZMWebCommon.setPullDownIndex(bean, ZMW01901SFConst.SHK_KOJIN_HOJIN_TLN_TAI_CD_INFO, ZMW01901SFConst.SHK_KOJIN_HOJIN_TLN_TAI_CD_IDX_08, JZMWebConst.ZERO);
			JZMWebCommon.setPullDownIndex(bean, ZMW01901SFConst.TLN_STKU_TSJGS_CD_INFO, ZMW01901SFConst.TLN_STKU_TSJGS_CD_IDX_09, JZMWebConst.ZERO);
			JZMWebCommon.setPullDownIndex(bean, ZMW01901SFConst.ITNM_TSJGS_CD_INFO, ZMW01901SFConst.ITNM_TSJGS_CD_IDX_10, JZMWebConst.ZERO);
			JZMWebCommon.setPullDownIndex(bean, ZMW01901SFConst.ITNS_TSJGS_CD_INFO, ZMW01901SFConst.ITNS_TSJGS_CD_IDX_11, JZMWebConst.ZERO);
			//【ANK-4494-00-00】双方向番ポ対応 ADD END
			setOpeDateToTstaymd(bean);
			JZMWebCommon.setNullToBeanClm(bean, ZMW01901SFConst.TELNO_TSTAYMD);
			JZMWebCommon.setNullToBeanClm(bean, ZMW01901SFConst.TELNO_TENDYMD_YEAR);
			JZMWebCommon.setNullToBeanClm(bean, ZMW01901SFConst.TELNO_TENDYMD_MON);
			JZMWebCommon.setNullToBeanClm(bean, ZMW01901SFConst.TELNO_TENDYMD_DAY);
			JZMWebCommon.setNullToBeanClm(bean, ZMW01901SFConst.TELNO_TENDYMD);
			JZMWebCommon.setNullToBeanClm(bean, ZMW01901SFConst.NRN_NO);
			
		}
		else
		{
			screenNm = JZMWebConst.BLANK;
		}
		
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, screenId);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, screenNm);
		
		return true;
	}

}
