/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：TUW00101SFLogic
*	ソースファイル名：TUW00101SFLogic.java
*	作成者			：FJ
*	日付			：2011年06月28日
*＜機能概要＞
*	VIEWロジッククラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v3.00.00	2011/06/28	FJ)楠神		新規作成
*	v3.00.00	2012/03/27	FJ)楠神		ANK-0024-00-00
*	v72.00.00	2024/04/17	FJ)黒田		ANK-4494-00-00_【eo定期】 双方向番ポ対応
*
**********************************************************************/

package eo.web.webview.TUW00101SF;

import java.text.ParseException;
import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CMessageResult;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.TUW00102SF.TUW00102SFConst;
import eo.web.webview.TUW03101SF.TUW03101SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JTUScreenConst;
import eo.web.webview.common.JTUWebCommon;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.common.constant.JTUStrConst;
import eo.common.constant.JPCModelConstant;
import eo.web.webview.mapping.TUSV0028_TUSV0028OPDBMapper;
import eo.web.webview.mapping.TUSV0029_TUSV0029OPDBMapper;

/**
 * TUW00101のビューロジック
 * @author FJ
 *
 */
public class TUW00101SFLogic extends JCCWebBusinessLogic
{
	
	/**
	 * 検索処理最大検索件数
	 */
	private static final String SEARCH_MAX_SHOW_CNT = "TUW00101_MAX_SHOW_CNT";

	/**
	 * 初期表示処理
	 * @return boolean
	 * @throws Exception
	 */
	public boolean action_init() throws Exception
	{
		return tuw00101_init();
	}
	
	/**
	 * 初期表示処理
	 * @return boolean
	 * @throws Exception
	 */
	private boolean tuw00101_init() throws Exception
	{
		
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();

		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME
								, X31CWebConst.DATABEAN_SET_VALUE, JTUScreenConst.SCREEN_NAME_TUW00101);
		
		/**
		 * 戻るボタン表示要否設定処理
		 */
		String backDspFlg = JTUWebCommon.getBackDispFlg(this, JTUScreenConst.SCREEN_ID_TUW00101);
		bean.sendMessageString(TUW00101SFConst.BACK_BTN_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, backDspFlg);
		
// ANK-4494-00-00 2024/04/17 DEL START
//		//帳票出力フラグを設定
//		saveOutputFlg();
// ANK-4494-00-00 2024/04/17 DEL END
		
		/**
		 * DataBean設定処理
		 */

		// セッション情報取得
		HashMap<String, Object> searchInfo = JCCWebCommon.getScreenInfo(this);

		String re_search_flg = JTUStrConst.RESEARCH_FLG_FALSE;
		
		if(searchInfo != null)
		{
			//再検索フラグ取得
			if(searchInfo.containsKey(JTUStrConst.RESEARCH_FLG_NM))
			{
				re_search_flg = searchInfo.get(JTUStrConst.RESEARCH_FLG_NM).toString();
				
				bean.sendMessageString(TUW00101SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.SVC_KEI_NO).toString());
				
				bean.sendMessageString(TUW00101SFConst.SEIRI_NO, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.SEIRI_NO).toString());
				
				bean.sendMessageString(TUW00101SFConst.NTT_KEI_TEL_KAISEN_NO, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.NTT_KEI_TEL_KAISEN_NO).toString());
				
				bean.sendMessageString(TUW00101SFConst.BMP_KOJI_STAT, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.BMP_KOJI_STAT).toString());
				
				X31SDataBeanAccess listDataBean = bean.getDataBeanArray(TUW00101SFConst.BMP_KOJI_STAT_LIST).getDataBean(0);
				
				listDataBean.sendMessageString(TUW00101SFConst.INDEX_01, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.INDEX_01).toString());
				
				bean.sendMessageString(TUW00101SFConst.BMP_KOJI_KIBO_YMDH_FROM, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.BMP_KOJI_KIBO_YMDH_FROM).toString());
				
				bean.sendMessageString(TUW00101SFConst.KOJI_KIBO_YMD_1, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.KOJI_KIBO_YMD_1).toString());
				
				bean.sendMessageString(TUW00101SFConst.KOJI_KIBO_YMD_2, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.KOJI_KIBO_YMD_2).toString());
				
				bean.sendMessageString(TUW00101SFConst.KOJI_KIBO_YMD_3, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.KOJI_KIBO_YMD_3).toString());
				
				bean.sendMessageString(TUW00101SFConst.BMP_KOJI_KIBO_YMDH_TO, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.BMP_KOJI_KIBO_YMDH_TO).toString());
				
				bean.sendMessageString(TUW00101SFConst.KOJI_KIBO_YMD_4, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.KOJI_KIBO_YMD_4).toString());
				
				bean.sendMessageString(TUW00101SFConst.KOJI_KIBO_YMD_5, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.KOJI_KIBO_YMD_5).toString());
				
				bean.sendMessageString(TUW00101SFConst.KOJI_KIBO_YMD_6, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.KOJI_KIBO_YMD_6).toString());
				
				bean.sendMessageString(TUW00101SFConst.BMP_KOJI_NO, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.BMP_KOJI_NO).toString());
			}
			
		}
		
		/**
		 * サービス呼出処理
		 */
		// ユースケースID格納用マップを生成。
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "TUSV0028");
		
		// マッピングクラスのインスタンスを生成
		TUSV0028_TUSV0028OPDBMapper mapper = new TUSV0028_TUSV0028OPDBMapper();
		// 上り格納マップ
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// 下り格納マップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		/*
		 * 上りマッピング
		 */
		// マッピングクラスの呼び出し
		mapper.setTUSV002801SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setTUSV002801CC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		
		// オペレーション日付取得
		String opeDate = JCCWebCommon.getOpeDate(this, null); 
		
		if (inputMap.containsKey("TUSV002801SC"))
		{
			((HashMap<String, Object>)inputMap.get("TUSV002801SC")).put("key_stdardymd", opeDate);
		}
		
		if (inputMap.containsKey("TUSV002801CC"))
		{
			((HashMap<String, Object>)inputMap.get("TUSV002801CC")).put(JTUStrConst.RESEARCH_FLG_NM, re_search_flg);
		}
		
		// ページリンク情報のマッピング
		JCCWebCommon.upmapperPageLinkInfo(this, "TUSV002801CC", inputMap);
		/**
		 * 検索コマンドIDの設定
		 */
		JCCWebCommon.setSearchCommand(this, "pageLink");
		
		/*
		 * サービス呼出 
		 */
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		/**
		 * サービス処理結果の取得
		 */
		
		// 一覧情報のクリア
		X31SDataBeanAccessArray beanList = paramBean[0].getDataBeanArray(TUW00101SFConst.ETU0011B010CBSMSG1LIST);
		if(beanList.getCount() != 0)
		{
			beanList.clearArray();
		}
		/*
		 * 下りマッピング
		 */
		// マッピングクラスの呼び出し
		mapper.getTUSV002801SC(paramBean, outputMap);
		mapper.getTUSV002801CC(paramBean, outputMap);
		
		//プルダウンリスト設定
		JTUWebCommon.setListNo(bean, TUW00101SFConst.BMP_KOJI_STAT_LIST, TUW00101SFConst.CD_NM_01);
		
		//コードの値をHiddenに保持
		JTUWebCommon.setCdCodeList(bean, TUW00101SFConst.BMP_KOJI_STAT_LIST, TUW00101SFConst.CD_01, TUW00101SFConst.BMP_KOJI_STAT_ALL);
		
		//行スタイル設定
		JTUWebCommon.setRowStyle(bean, TUW00101SFConst.ETU0011B010CBSMSG1LIST, TUW00101SFConst.ROW_STYLE_02);
		
		HashMap parentMap = null;
		if(outputMap.containsKey("TUSV002801CC"))
		{
			parentMap = (HashMap)outputMap.get("TUSV002801CC");
		}
		
		/**
		 * 取得データ件数チェック
		 */
		// 検索エラー取得
		String searchErrFlg = JCCWebCommon.getSearchErrFlg("TUSV002801CC", outputMap);
		
		if(JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
		{
			//0件の場合
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I);
			return true;
		}
		else if(JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg))
		{
			//最大件数を超えた場合
			
			String[] msgRpl = new String[]{JCCWebCommon.getSearchConst(SEARCH_MAX_SHOW_CNT)};
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0340__I, msgRpl);
			return true;
		}
		else if(parentMap.containsKey("ETU0011B010CBSMsg1List"))
		{
			// ページリンク情報のマッピング
			JCCWebCommon.downmapperPageLinkInfo(this, "TUSV002801CC", outputMap);
			
			/**
			 * 一覧表示フラグ設定処理
			 */
			bean.sendMessageString(TUW00101SFConst.LIST_DISP_FLG, X31CWebConst.DATABEAN_SET_VALUE, JTUStrConst.LIST_DISP_FLG_TRUE);
			
			/**
			 * 表示形式設定処理
			 */
			setDispStyle(bean);
			
			saveSessionSearchInfo();
			
			//明細のラジオボタンの初期値設定
			setDispRadio(bean);

		}
		
		return true;
	}
	
	
	/**
	 * 検索処理
	 * @return boolean
	 * @throws Exception
	 */
	public boolean action_search() throws Exception
	{
		
		//セッション情報を削除 
		JCCWebCommon.removeScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW00101);
		JCCWebCommon.clearPageLinkInfo(this, JTUScreenConst.SCREEN_ID_TUW00101 + "0PJP");
		
		return search();
	
	}
	
	
	/**
	 * ページング処理
	 * @return boolean
	 * @throws Exception
	 */
	public boolean action_paging() throws Exception
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// セッション情報取得
		HashMap<String, Object> searchInfo = JCCWebCommon.getScreenInfo(this);
		
		if(searchInfo != null)
		{
			//再検索フラグ取得
			if(searchInfo.containsKey(JTUStrConst.RESEARCH_FLG_NM))
			{
				
				bean.sendMessageString(TUW00101SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.SVC_KEI_NO).toString());
				
				bean.sendMessageString(TUW00101SFConst.SEIRI_NO, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.SEIRI_NO).toString());
				
				bean.sendMessageString(TUW00101SFConst.NTT_KEI_TEL_KAISEN_NO, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.NTT_KEI_TEL_KAISEN_NO).toString());
				
				bean.sendMessageString(TUW00101SFConst.BMP_KOJI_STAT, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.BMP_KOJI_STAT).toString());
				
				X31SDataBeanAccess listDataBean = bean.getDataBeanArray(TUW00101SFConst.BMP_KOJI_STAT_LIST).getDataBean(0);
				
				listDataBean.sendMessageString(TUW00101SFConst.INDEX_01, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.INDEX_01).toString());
				
				bean.sendMessageString(TUW00101SFConst.BMP_KOJI_KIBO_YMDH_FROM, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.BMP_KOJI_KIBO_YMDH_FROM).toString());
				
				bean.sendMessageString(TUW00101SFConst.KOJI_KIBO_YMD_1, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.KOJI_KIBO_YMD_1).toString());
				
				bean.sendMessageString(TUW00101SFConst.KOJI_KIBO_YMD_2, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.KOJI_KIBO_YMD_2).toString());
				
				bean.sendMessageString(TUW00101SFConst.KOJI_KIBO_YMD_3, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.KOJI_KIBO_YMD_3).toString());
				
				bean.sendMessageString(TUW00101SFConst.BMP_KOJI_KIBO_YMDH_TO, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.BMP_KOJI_KIBO_YMDH_TO).toString());
				
				bean.sendMessageString(TUW00101SFConst.KOJI_KIBO_YMD_4, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.KOJI_KIBO_YMD_4).toString());
				
				bean.sendMessageString(TUW00101SFConst.KOJI_KIBO_YMD_5, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.KOJI_KIBO_YMD_5).toString());
				
				bean.sendMessageString(TUW00101SFConst.KOJI_KIBO_YMD_6, X31CWebConst.DATABEAN_SET_VALUE
						, searchInfo.get(TUW00101SFConst.KOJI_KIBO_YMD_6).toString());
			}
			
		}
		
		return search();
	}

	/**
	 * 検索処理
	 * @return boolean
	 * @throws Exception
	 */
	private boolean search() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();

		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};
		
		/**
		 * DataBean設定処理
		 */
		setBeanSearchInfo(bean);

		// 一覧表示フラグの初期化
		bean.sendMessageString(TUW00101SFConst.LIST_DISP_FLG, X31CWebConst.DATABEAN_SET_VALUE, JTUStrConst.LIST_DISP_FLG_FALSE);
		
		/**
		 * サービス呼出処理
		 */
		//  ユースケースID格納用マップを生成。
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "TUSV0029");

		// マッピングクラスのインスタンスを生成
		TUSV0029_TUSV0029OPDBMapper mapper = new TUSV0029_TUSV0029OPDBMapper();
		// 上り格納マップ
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// 下り格納マップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		
		/*
		 * 上りマッピング
		 */
		// マッピングクラスの呼び出し
		mapper.setTUSV002901SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

		// ページリンク情報のマッピング
		JCCWebCommon.upmapperPageLinkInfo(this, "TUSV002901SC", inputMap);
		
		/*
		 * サービス呼出 
		 */
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);	
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		
		/**
		 * サービス処理結果の取得
		 */
		
		// 一覧情報のクリア
		X31SDataBeanAccessArray beanList = paramBean[0].getDataBeanArray(TUW00101SFConst.ETU0011B010CBSMSG1LIST);
		if(beanList.getCount() != 0)
		{
			beanList.clearArray();
		}
		/*
		 * 下りマッピング
		 */
		// マッピングクラスの呼び出し
		mapper.getTUSV002901SC(paramBean, outputMap);

		// ページリンク情報のマッピング
		JCCWebCommon.downmapperPageLinkInfo(this, "TUSV002901SC", outputMap);
		
		//行スタイル設定
		JTUWebCommon.setRowStyle(bean, TUW00101SFConst.ETU0011B010CBSMSG1LIST, TUW00101SFConst.ROW_STYLE_02);
		
		
		/**
		 * 取得データ件数チェック
		 */
		// 検索エラー取得
		String searchErrFlg = JCCWebCommon.getSearchErrFlg("TUSV002901SC", outputMap);
		
		if(JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
		{
			//0件の場合
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I);
			return true;
		}
		else if(JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg))
		{
			//最大件数を超えた場合
			String[] msgRpl = {JCCWebCommon.getSearchConst(SEARCH_MAX_SHOW_CNT)};
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0340__I, msgRpl);
			return true;
		}
		else if(JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchErrFlg))
		{
			//表示ページに該当するデータがない場合
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0350__I);
			return true;
		}
		else
		{
			/**
			 * 一覧表示フラグ設定処理
			 */
			bean.sendMessageString(TUW00101SFConst.LIST_DISP_FLG, X31CWebConst.DATABEAN_SET_VALUE, JTUStrConst.LIST_DISP_FLG_TRUE);
			
			/**
			 * 表示形式設定処理
			 */
			setDispStyle(bean);
		}

		/**
		 * 検索コマンドIDの設定
		 */
		JCCWebCommon.setSearchCommand(this, "pageLink");
		
		//検索条件をセッションに保存
		saveSessionSearchInfo();
		
		bean.sendMessageString(TUW00101SFConst.CHOICE, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf("0"));
		
		/**
		 * DataBean設定処理
		 */
		// 遷移先の情報を共有フォームBeanの項目に設定する。
		JTUWebCommon.setNextScreenInfo(commoninfoBean, JTUScreenConst.SCREEN_ID_TUW00101, JTUScreenConst.SCREEN_NAME_TUW00101);
		
		
		return true;
	}
	
	/**
	 * 更新遷移処理
	 * @return boolean
	 * @throws Exception
	 */
	public boolean action_update() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();

		/**
		 * DataBean設定処理
		 */
// ANK-4494-00-00 2024/04/17 MOD START
//		saveSelectedInfo();
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccessArray beanList = bean.getDataBeanArray(TUW00101SFConst.ETU0011B010CBSMSG1LIST);
		
		X31SDataBeanAccess childbean = null;
		
		String tmp = bean.sendMessageString(TUW00101SFConst.CHOICE, X31CWebConst.DATABEAN_GET_VALUE);
		
		int i = Integer.parseInt(tmp);
		
		childbean = beanList.getDataBean(i);
		String sendSbt = childbean.sendMessageString(TUW00101SFConst.SEND_SBT_02, X31CWebConst.DATABEAN_GET_VALUE);
		saveSelectedInfo(sendSbt,"1");
// ANK-4494-00-00 2024/04/17 MOD END

		JTUWebCommon.setScreenId(this, JTUScreenConst.SCREEN_ID_TUW00102, JTUScreenConst.SCREEN_ID_TUW00101);
		JTUWebCommon.setScreenId(this, JTUScreenConst.SCREEN_ID_TUW00103, JTUScreenConst.SCREEN_ID_TUW00101);
		
		// 遷移先の情報を共有フォームBeanの項目に設定する。
		JTUWebCommon.setNextScreenInfo(commoninfoBean, JTUScreenConst.SCREEN_ID_TUW00102, JTUScreenConst.SCREEN_NAME_TUW00102);
		
		return true;
	}
	
	/**
	 * 詳細遷移処理
	 * @return boolean
	 * @throws Exception
	 */
	public boolean action_detail() throws Exception
	{

		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
		
		/**
		 * DataBean設定処理
		 */
		
// ANK-4494-00-00 2024/04/17 MOD START
//		saveSelectedInfo();
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccessArray beanList = bean.getDataBeanArray(TUW00101SFConst.ETU0011B010CBSMSG1LIST);
		
		X31SDataBeanAccess childbean = null;
		
		String tmp = bean.sendMessageString(TUW00101SFConst.CHOICE, X31CWebConst.DATABEAN_GET_VALUE);
		
		int i = Integer.parseInt(tmp);
		
		childbean = beanList.getDataBean(i);
		String sendSbt = childbean.sendMessageString(TUW00101SFConst.SEND_SBT_02, X31CWebConst.DATABEAN_GET_VALUE);
		saveSelectedInfo(sendSbt,null);
// ANK-4494-00-00 2024/04/17 MOD END
		
		JTUWebCommon.setScreenId(this, JTUScreenConst.SCREEN_ID_TUW00105, JTUScreenConst.SCREEN_ID_TUW00101);
		
		// 遷移先の情報を共有フォームBeanの項目に設定する。
		JTUWebCommon.setNextScreenInfo(commoninfoBean, JTUScreenConst.SCREEN_ID_TUW00105, JTUScreenConst.SCREEN_NAME_TUW00105);
		
		return true;
	}
	
	
	/**
	 * 戻る遷移処理
	 * @return boolean
	 * @throws Exception
	 */
	public boolean action_back() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
		
		//セッション情報を削除 
		JCCWebCommon.removeScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW00101);
		JCCWebCommon.clearPageLinkInfo(this, JTUScreenConst.SCREEN_ID_TUW00101 + "0PJP");
		
		/**
		 * DataBean設定処理
		 */
		// 遷移先の情報を共有フォームBeanの項目に設定する。
		JTUWebCommon.setNextScreenInfo(commoninfoBean, JTUWebCommon.getScreenId(this), "");
		
		return true;
	}
	
// ANK-4494-00-00 2024/04/17 DEL START
//	/**
//	 * ダウンロード処理
//	 * @return boolean
//	 * @throws Exception
//	 */
//	public boolean action_download() throws Exception
//	{
//
//		// サービスフォームBeanのデータBeanアクセスクラスを取得。
//		X31SDataBeanAccess bean = super.getServiceFormBean();
//		
//		HashMap<String, Object> printInfo = JCCWebCommon.getScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW00199);
//		if(printInfo != null && printInfo.containsKey("output_chohyo") && printInfo.containsKey("chohyo_id"))
//		{
//			JCCWebCommon.setTempDownloadFile(this, (byte[])printInfo.get("output_chohyo")
//					, (String)printInfo.get("chohyo_id") + "." + JTUStrConst.CHOHYO_EXTENSION);
//			
//			bean.sendMessageString(TUW00101SFConst.OUTPUT_FLG, X31CWebConst.DATABEAN_SET_VALUE, JTUStrConst.OPUT_FLG_OFF);
//			JCCWebCommon.removeScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW00199);
//			
//		}
//		return true;
//	}
// ANK-4494-00-00 2024/04/17 DEL END

	/**
	 * 廃止登録遷移処理
	 * @return boolean
	 * @throws Exception
	 */
	public boolean action_insert() throws Exception
	{

		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
		
		// 遷移判断
		if (haishiAddSeniChk())
		{
			/**
			 * DataBean設定処理
			 */
			
// ANK-4494-00-00 2024/04/17 MOD START
//			saveSelectedInfo();
//			
//			JTUWebCommon.setScreenId(this, JTUScreenConst.SCREEN_ID_TUW00201, JTUScreenConst.SCREEN_ID_TUW00101);
//			JTUWebCommon.setScreenId(this, JTUScreenConst.SCREEN_ID_TUW00203, JTUScreenConst.SCREEN_ID_TUW00101);
//			
//			// 遷移先の情報を共有フォームBeanの項目に設定する。
//			JTUWebCommon.setNextScreenInfo(commoninfoBean, JTUScreenConst.SCREEN_ID_TUW00201, JTUScreenConst.SCREEN_ID_TUW00201);
			saveSelectedInfo(JTUStrConst.BMP_REQ_NAIYO_HAISHI, "2");
			
			JTUWebCommon.setScreenId(this, JTUScreenConst.SCREEN_ID_TUW00102, JTUScreenConst.SCREEN_ID_TUW00101);
			JTUWebCommon.setScreenId(this, JTUScreenConst.SCREEN_ID_TUW00103, JTUScreenConst.SCREEN_ID_TUW00101);
			
			// 遷移先の情報を共有フォームBeanの項目に設定する。
			JTUWebCommon.setNextScreenInfo(commoninfoBean, JTUScreenConst.SCREEN_ID_TUW00102, JTUScreenConst.SCREEN_NAME_TUW00102);
// ANK-4494-00-00 2024/04/17 MOD END
		}
		else
		{
// ANK-4494-00-00 2024/04/17 MOD START
//			String[] msgRpl = new String[]{"選択したデータの異動内容", "廃止である", "廃止登録"};
			String[] msgRpl = new String[]{"選択したデータの送信種別", "廃止申請である", "廃止登録"};
// ANK-4494-00-00 2024/04/17 MOD END
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0780_KW, msgRpl);
		}
		
		return true;
	}
	
	/**
	 * 検索条件を設定
	 * @param bean
	 * @throws ParseException 
	 */
	private void setBeanSearchInfo(X31SDataBeanAccess bean) throws ParseException
	{
		/**
		 * DataBean設定処理
		 */
		//番ポ工事希望年月日時＿ＦＲＯＭ
		JTUWebCommon.setYMD(bean, TUW00101SFConst.BMP_KOJI_KIBO_YMDH_FROM
				, TUW00101SFConst.KOJI_KIBO_YMD_1, TUW00101SFConst.KOJI_KIBO_YMD_2, TUW00101SFConst.KOJI_KIBO_YMD_3);
		
		//番ポ工事希望年月日時＿ＴＯ
		JTUWebCommon.setYMD(bean, TUW00101SFConst.BMP_KOJI_KIBO_YMDH_TO
				, TUW00101SFConst.KOJI_KIBO_YMD_4, TUW00101SFConst.KOJI_KIBO_YMD_5, TUW00101SFConst.KOJI_KIBO_YMD_6);
		
		// 番ポ工事ステータス
		JTUWebCommon.setListSelectedValue(bean, TUW00101SFConst.BMP_KOJI_STAT
				, TUW00101SFConst.BMP_KOJI_STAT_LIST, TUW00101SFConst.INDEX_01, TUW00101SFConst.CD_01);
		
		// 番ポ工事ステータス名称
		JTUWebCommon.setListSelectedValue(bean, TUW00101SFConst.BMP_KOJI_STAT_NM
				, TUW00101SFConst.BMP_KOJI_STAT_LIST, TUW00101SFConst.INDEX_01, TUW00101SFConst.CD_NM_01);
		
		// 日付FROM-TO加減編集(番ポ工事希望年月日時)
		JTUWebCommon.setDateFromTo(bean, TUW00101SFConst.BMP_KOJI_KIBO_YMDH_FROM, TUW00101SFConst.KOJI_KIBO_YMD_1
				, TUW00101SFConst.KOJI_KIBO_YMD_2, TUW00101SFConst.KOJI_KIBO_YMD_3, TUW00101SFConst.BMP_KOJI_KIBO_YMDH_TO
				, TUW00101SFConst.KOJI_KIBO_YMD_4, TUW00101SFConst.KOJI_KIBO_YMD_5, TUW00101SFConst.KOJI_KIBO_YMD_6, 1);
	}

	/**
	 * 検索条件をセッションに保持
	 */
	private void saveSessionSearchInfo()
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		/**
		 * セッション設定処理
		 */
		// 引き継ぎ情報を格納するMAP
		HashMap<String, Object> hktgiMap = new HashMap<String, Object>();
		
		// 検索済み
		hktgiMap.put(JTUStrConst.RESEARCH_FLG_NM, JTUStrConst.RESEARCH_FLG_TRUE);
		
		// 検索条件の保持
		hktgiMap.put(TUW00101SFConst.SVC_KEI_NO, 
				bean.sendMessageString(TUW00101SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		
		hktgiMap.put(TUW00101SFConst.SEIRI_NO, 
				bean.sendMessageString(TUW00101SFConst.SEIRI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		
		hktgiMap.put(TUW00101SFConst.NTT_KEI_TEL_KAISEN_NO, 
				bean.sendMessageString(TUW00101SFConst.NTT_KEI_TEL_KAISEN_NO, X31CWebConst.DATABEAN_GET_VALUE));
		
		hktgiMap.put(TUW00101SFConst.BMP_KOJI_STAT, 
				bean.sendMessageString(TUW00101SFConst.BMP_KOJI_STAT, X31CWebConst.DATABEAN_GET_VALUE));
		
		X31SDataBeanAccess listDataBean = bean.getDataBeanArray(TUW00101SFConst.BMP_KOJI_STAT_LIST).getDataBean(0);
		String idx = listDataBean.sendMessageString(TUW00101SFConst.INDEX_01, X31CWebConst.DATABEAN_GET_VALUE);
		
		hktgiMap.put(TUW00101SFConst.INDEX_01, idx);
		
		hktgiMap.put(TUW00101SFConst.BMP_KOJI_KIBO_YMDH_FROM, 
				bean.sendMessageString(TUW00101SFConst.BMP_KOJI_KIBO_YMDH_FROM, X31CWebConst.DATABEAN_GET_VALUE));
		
		hktgiMap.put(TUW00101SFConst.KOJI_KIBO_YMD_1, 
				bean.sendMessageString(TUW00101SFConst.KOJI_KIBO_YMD_1, X31CWebConst.DATABEAN_GET_VALUE));
		
		hktgiMap.put(TUW00101SFConst.KOJI_KIBO_YMD_2, 
				bean.sendMessageString(TUW00101SFConst.KOJI_KIBO_YMD_2, X31CWebConst.DATABEAN_GET_VALUE));
		
		hktgiMap.put(TUW00101SFConst.KOJI_KIBO_YMD_3, 
				bean.sendMessageString(TUW00101SFConst.KOJI_KIBO_YMD_3, X31CWebConst.DATABEAN_GET_VALUE));
		
		hktgiMap.put(TUW00101SFConst.BMP_KOJI_KIBO_YMDH_TO, 
				bean.sendMessageString(TUW00101SFConst.BMP_KOJI_KIBO_YMDH_TO, X31CWebConst.DATABEAN_GET_VALUE));
		
		hktgiMap.put(TUW00101SFConst.KOJI_KIBO_YMD_4, 
				bean.sendMessageString(TUW00101SFConst.KOJI_KIBO_YMD_4, X31CWebConst.DATABEAN_GET_VALUE));
		
		hktgiMap.put(TUW00101SFConst.KOJI_KIBO_YMD_5, 
				bean.sendMessageString(TUW00101SFConst.KOJI_KIBO_YMD_5, X31CWebConst.DATABEAN_GET_VALUE));
		
		hktgiMap.put(TUW00101SFConst.KOJI_KIBO_YMD_6, 
				bean.sendMessageString(TUW00101SFConst.KOJI_KIBO_YMD_6, X31CWebConst.DATABEAN_GET_VALUE));
		
		/**
		 * 引継情報の設定
		 */
		JCCWebCommon.setScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW00101, hktgiMap);
	}

	/**
	 * 選択された情報をセッションに保持
	 */
//	private void saveSelectedInfo()
	private void saveSelectedInfo(String sendSbt, String seniBtnSkbtCd)
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		X31SDataBeanAccessArray beanList = bean.getDataBeanArray(TUW00101SFConst.ETU0011B010CBSMSG1LIST);
		
		X31SDataBeanAccess childbean = null;
		
		String tmp = bean.sendMessageString(TUW00101SFConst.CHOICE, X31CWebConst.DATABEAN_GET_VALUE);
		
		int i = Integer.parseInt(tmp);
		
		childbean = beanList.getDataBean(i);
		
		
		/**
		 * セッション設定処理
		 */
		// 引き継ぎ情報を格納するMAP
		HashMap<String, Object> hktgiMap = new HashMap<String, Object>();
		// 検索条件の保持
		hktgiMap.put(TUW00102SFConst.SVC_KEI_NO_03, 
				childbean.sendMessageString(TUW00101SFConst.SVC_KEI_NO_DISP_02, X31CWebConst.DATABEAN_GET_VALUE));
		
		hktgiMap.put(TUW00102SFConst.BMP_KOJI_NO_03, 
				childbean.sendMessageString(TUW00101SFConst.BMP_KOJI_NO_02, X31CWebConst.DATABEAN_GET_VALUE));
		
		hktgiMap.put(TUW00102SFConst.GENE_ADD_DTM_03, 
				childbean.sendMessageString(TUW00101SFConst.GENE_ADD_DTM_02, X31CWebConst.DATABEAN_GET_VALUE));
		
		hktgiMap.put(TUW00102SFConst.UPD_DTM_BF_03, 
				childbean.sendMessageString(TUW00101SFConst.UPD_DTM_02, X31CWebConst.DATABEAN_GET_VALUE));
		
// ANK-4494-00-00 2024/04/17 ADD START
		hktgiMap.put(TUW00102SFConst.SEND_SBT_03, sendSbt);
		hktgiMap.put(TUW00102SFConst.SENI_BTN_SKBT_CD, seniBtnSkbtCd);
// ANK-4494-00-00 2024/04/17 ADD END

		/**
		 * 引継情報の設定
		 */
		JCCWebCommon.setScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW00102, hktgiMap);
		JCCWebCommon.setScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW00105, hktgiMap);
		JCCWebCommon.setScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW00201, hktgiMap);
		
		/*
		 * 一覧照会画面にも選択情報を保持（再検索後、選択された情報を初期表示にて選択するため）
		 */
		HashMap<String, Object> listhktgiMap = JCCWebCommon.getScreenInfo(this);
		
		listhktgiMap.put(TUW00101SFConst.BMP_KOJI_NO, 
				childbean.sendMessageString(TUW00101SFConst.BMP_KOJI_NO_02, X31CWebConst.DATABEAN_GET_VALUE));
		
		JCCWebCommon.setScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW00101, listhktgiMap);

	}
	
	/**
	 * 表示形式を設定
	 * @param bean
	 * @param msgListName
	 * @param rowStyleName
	 */
	private void setDispStyle(X31SDataBeanAccess bean)
	{
		X31SDataBeanAccessArray listDataBean = bean.getDataBeanArray(TUW00101SFConst.ETU0011B010CBSMSG1LIST);
		int len = listDataBean.getCount();
		X31SDataBeanAccess childBean = null;
		String tmp = "";
		for(int i = 0; i < len; i++)
		{
			childBean = listDataBean.getDataBean(i);
			tmp = childBean.sendMessageString(TUW00101SFConst.BMP_KOJI_KIBO_YMDH_02, X31CWebConst.DATABEAN_GET_VALUE);
			if(tmp != null && tmp.length() > 8)
			{
				childBean.sendMessageString(TUW00101SFConst.BMP_KOJI_KIBO_YMDH_02, X31CWebConst.DATABEAN_SET_VALUE, tmp.substring(0, 8));
			}
// ANK-4494-00-00 2024/04/17 DEL START
//			tmp = "";
//			tmp = childBean.sendMessageString(TUW00101SFConst.TAJGS_RNKI_SEND_DTM_02, X31CWebConst.DATABEAN_GET_VALUE);
//			if(tmp != null && tmp.length() > 8)
//			{
//				childBean.sendMessageString(TUW00101SFConst.TAJGS_RNKI_SEND_DTM_02, X31CWebConst.DATABEAN_SET_VALUE, tmp.substring(0, 8));
//			}
// ANK-4494-00-00 2024/04/17 DEL END
			tmp = "";
			tmp = childBean.sendMessageString(TUW00101SFConst.NTT_RNKI_SEND_DTM_02, X31CWebConst.DATABEAN_GET_VALUE);
			if(tmp != null && tmp.length() > 8)
			{
				childBean.sendMessageString(TUW00101SFConst.NTT_RNKI_SEND_DTM_02, X31CWebConst.DATABEAN_SET_VALUE, tmp.substring(0, 8));
			}
		}

	}

	/**
	 * 選択された情報が存在すれば初期値に設定
	 * @param bean
	 */
	private void setDispRadio(X31SDataBeanAccess bean)
	{
		
		String key = bean.sendMessageString(TUW00101SFConst.BMP_KOJI_NO, X31CWebConst.DATABEAN_GET_VALUE);
		String str = "0";
		
		if(key == null)
		{
			bean.sendMessageString(TUW00101SFConst.CHOICE, X31CWebConst.DATABEAN_SET_VALUE, str);
			return;
		}
		
		X31SDataBeanAccessArray listDataBean = bean.getDataBeanArray(TUW00101SFConst.ETU0011B010CBSMSG1LIST);
		int len = listDataBean.getCount();
		X31SDataBeanAccess childBean = null;
		String tmp = "";
		for(int i = 0; i < len; i++)
		{
			childBean = listDataBean.getDataBean(i);
			tmp = childBean.sendMessageString(TUW00101SFConst.BMP_KOJI_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
			if(key.equals(tmp))
			{
				str = String.valueOf(i);
				break;
			}
		}
		
		bean.sendMessageString(TUW00101SFConst.CHOICE, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(str));
		return;
		
	}

// ANK-4494-00-00 2024/04/17 DEL START
//	/**
//	 * 帳票出力フラグをBeanに設定
//	 */
//	private void saveOutputFlg()
//	{
//		X31SDataBeanAccess bean = super.getServiceFormBean();
//		
//		/*
//		 * 帳票情報を取得
//		 */
//		HashMap<String, Object> listhktgiMap = JCCWebCommon.getScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW00199);
//		
//		if(listhktgiMap != null && listhktgiMap.containsKey("output_chohyo") && listhktgiMap.containsKey("chohyo_id"))
//		{
//			bean.sendMessageString(TUW00101SFConst.OUTPUT_FLG, X31CWebConst.DATABEAN_SET_VALUE, JTUStrConst.OPUT_FLG_ON);
//		}
//
//	}
// ANK-4494-00-00 2024/04/17 DEL END
	
	/**
	 * 廃止登録遷移チェック
	 * @return true:遷移する false:遷移しない
	 */
	private boolean haishiAddSeniChk()
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		X31SDataBeanAccessArray beanList = bean.getDataBeanArray(TUW00101SFConst.ETU0011B010CBSMSG1LIST);
		
		X31SDataBeanAccess childbean = null;
		
		String tmp = bean.sendMessageString(TUW00101SFConst.CHOICE, X31CWebConst.DATABEAN_GET_VALUE);
		
		int i = Integer.parseInt(tmp);
		
		childbean = beanList.getDataBean(i);
		
		// 番ポ申込書タイプコード
		String bmpMskmshoTypeCd = childbean.sendMessageString(TUW00101SFConst.BMP_MSKMSHO_TYPE_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
		
		if (JTUStrConst.BMP_REQ_NAIYO_HAISHI.equals(bmpMskmshoTypeCd))
		{
			return false;
		}
		else
		{
			return true;
		}
	}
}
	
