/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：TUW03601SFLogic
*	ソースファイル名：TUW03601SFLogic.java
*	作成者			：FJ
*	日付			：2024年02月28日
*＜機能概要＞
*	TUW03601のビューロジック
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v72.00.00	2024/02/28	FJ)謝		【ANK-4494-00-00】【eo定期】 双方向番ポ対応
*	v75.00.00	2025/04/18	FJ)金		【ANK-4685-00-00】【eo】双方向番ポSTEP3
**********************************************************************/
package eo.web.webview.TUW03601SF;

import java.util.HashMap;
import java.util.Map;

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.common.constant.JPCModelConstant;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.common.constant.JTUStrConst;
import eo.common.util.JTUStringUtil;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.TUW03601SF.TUW03601SFConst;
import eo.web.webview.TUW03602SF.TUW03602SFConst;
import eo.web.webview.TUW03603SF.TUW03603SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JTUScreenConst;
import eo.web.webview.common.JTUWebCommon;
import eo.web.webview.mapping.TUSV0104_TUSV0104OPDBMapper;
import eo.web.webview.mapping.TUSV0105_TUSV0105OPDBMapper;


/**
 * TUW03601のビューロジック
 * @author FJ
 *
 */
public class TUW03601SFLogic extends JCCWebBusinessLogic
{
	/** ユースケースＩＤ */
	private static final String UCID_TUSV0104 = "TUSV0104";
	/** オペレーションＩＤ */
	private static final String OPID_TUSV0104OP = "TUSV0104OP";
	/** ＣＣタイトル */
	private static final String CC_TITLE_TUSV010401CC = "TUSV010401CC";
	/** ユースケースＩＤ */
	private static final String UCID_TUSV0105 = "TUSV0105";
	/** オペレーションＩＤ */
	private static final String OPID_TUSV0105OP = "TUSV0105OP";
	/** "1"(一覧照会) */
	private static final String TUSV0104_TRANS_DIV_1 = "1";
	/** "2"(ＣＳＶ出力) */
	private static final String TUSV0104_TRANS_DIV_2 = "2";
	
	/**
	 * 初期表示処理
	 * @return boolean
	 * @throws Exception
	 */
	public boolean actionInit() throws Exception
	{
		// (1) 引継情報の取得
		// 画面情報を取得し、サービスフォームBeanに設定
		HashMap<String, Object> searchInfo = JCCWebCommon.getScreenInfo(this);
		
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
		
		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceBean = super.getServiceFormBean();
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JTUScreenConst.SCREEN_NAME_TUW03601);
		
		// 遷移先より戻った場合は再検索をする
		if (searchInfo != null)
		{
			// 検索条件を復元
			restoreSearchCondition(searchInfo);
			
			// 一覧照会
			boolean retErrFlg = execTUSV0104(TUSV0104_TRANS_DIV_1);
			
			// エラーなしの場合
			if (!retErrFlg)
			{
				setDispRadio(serviceBean);
			}
		}
		
		return true;
	}
	
	/**
	 * 検索処理
	 * @return boolean
	 * @throws Exception
	 */
	public boolean actionSearch() throws Exception
	{
		// ページリンク情報のクリア
		JCCWebCommon.clearPageLinkInfo(this, JTUScreenConst.SCREEN_ID_TUW03601);
		
		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceBean = super.getServiceFormBean();
		
		// 一覧照会
		execTUSV0104(TUSV0104_TRANS_DIV_1);
		
		// 選択情報のクリア
		serviceBean.sendMessageString(TUW03601SFConst.PORT_OUT_NO, X31CWebConst.DATABEAN_CLEAR);
		serviceBean.sendMessageString(TUW03601SFConst.CHOICE, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		return true;
	}
	
	//ANK-4685-00-00 ADD START
	/**
	 * 画面をクリアします。
	 * <br>
	 * @return boolean 処理結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean clear() throws Exception
	{
		boolean result = true;

		//サービスフォームBean
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		// テキスト項目のクリア
		bean.sendMessage(TUW03601SFConst.TRKM_DAY_STA, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.TRKM_DAY_STA_YEAR, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.TRKM_DAY_STA_MON, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.TRKM_DAY_STA_DAY, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.TRKM_DAY_END, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.TRKM_DAY_END_YEAR, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.TRKM_DAY_END_MON, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.TRKM_DAY_END_DAY, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.SEARCH_TELNO, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.SEARCH_UK_TNT_NM, X31CWebConst.DATABEAN_CLEAR);

		// チェックボックスのクリア
		bean.sendMessage(TUW03601SFConst.MKM_DIV_NEW_SHIN, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.MKM_DIV_KISAI_CHG, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.MKM_DIV_CNCL, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.MKM_DIV_CNCL_CL, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.MKM_DIV_CL, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.STAT_TRN_MI, X31CWebConst.DATABEAN_CLEAR);	
		bean.sendMessage(TUW03601SFConst.STAT_TRN_CHU, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.STAT_TRN_ZM, X31CWebConst.DATABEAN_CLEAR);	
		bean.sendMessage(TUW03601SFConst.STAT_CSV_OPUTZM, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.STAT_KJ_FIN, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.CHUMN_KIND_BMP_ITEN, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.CHUMN_KIND_BMP_RETURN, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.CHUMN_KIND_JGSK_ITEN, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.CHUMN_KIND_BMP_HAISHI, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.TK_KH_KA_ANSWER, X31CWebConst.DATABEAN_CLEAR);	
		bean.sendMessage(TUW03601SFConst.TK_KH_HI_ANSWER, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.TK_KH_MI_ANSWER, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.KOJIN_HJIN_KOJIN, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.KOJIN_HJIN_HJIN, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.ITENM_NOSK_ITENM, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.ITENM_NOSK_NOSK, X31CWebConst.DATABEAN_CLEAR);

		// 一覧情報のクリア
		bean.sendMessage(TUW03601SFConst.GK_TK_KH_CNT, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(TUW03601SFConst.GK_MI_TRN_CNT, X31CWebConst.DATABEAN_CLEAR);
		bean.getDataBeanArray(TUW03601SFConst.SEARCH_RSLT_LIST).clearArray();
		bean.sendMessageString(TUW03601SFConst.CHOICE, X31CWebConst.DATABEAN_SET_VALUE, "");
		
		JCCWebCommon.clearPageLinkInfo(this, JTUScreenConst.SCREEN_ID_TUW03601);
		return result;
	}
	//ANK-4685-00-00 ADD END
	/**
	 * ページ制御−ページリンク押下
	 * @return boolean
	 * @throws Exception
	 */
	public boolean changePage() throws Exception
	{
		// セッション情報取得
		HashMap<String, Object> searchInfo = JCCWebCommon.getScreenInfo(this);
		
		if(searchInfo != null)
		{
			// 検索条件を復元
			restoreSearchCondition(searchInfo);
		}
		
		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceBean = super.getServiceFormBean();
		
		// 一覧照会
		execTUSV0104(TUSV0104_TRANS_DIV_1);
		
		// 選択情報のクリア
		serviceBean.sendMessageString(TUW03601SFConst.PORT_OUT_NO, X31CWebConst.DATABEAN_CLEAR);
		serviceBean.sendMessageString(TUW03601SFConst.CHOICE, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		return true;
	}
	
	/**
	 * 更新処理
	 * @return boolean
	 * @throws Exception
	 */
	public boolean actionUpdate() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		
		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceBean = super.getServiceFormBean();
		
		X31SDataBeanAccessArray beanList = serviceBean.getDataBeanArray(TUW03601SFConst.SEARCH_RSLT_LIST);
		String tmp = serviceBean.sendMessageString(TUW03601SFConst.CHOICE, X31CWebConst.DATABEAN_GET_VALUE);
		int choice = Integer.parseInt(tmp);
		X31SDataBeanAccess childbean = beanList.getDataBean(choice);
		
		// ステータス
		String status = childbean.sendMessageString(TUW03601SFConst.STAT_01, X31CWebConst.DATABEAN_GET_VALUE);
		// 受付担当ＩＤ
		String ukTntId = childbean.sendMessageString(TUW03601SFConst.UK_TNT_ID_01, X31CWebConst.DATABEAN_GET_VALUE);
		// ログインユーザーＩＤ
		String userId = commoninfoBean.sendMessageString(CommonInfoCFConst.USER_ID, X31CWebConst.DATABEAN_GET_VALUE);
		
		// ステータスが未処理または
		// ステータスが処理中かつ受付担当ＩＤがログインユーザーＩＤと不一致の場合
		if (JTUStrConst.PORT_OUT_STAT_MI.equals(status)
				|| (JTUStrConst.PORT_OUT_STAT_SYRCHU.equals(status)
						&& (JTUStringUtil.isNull(ukTntId) || !ukTntId.equals(userId))))
		{
			// サービス呼出
			boolean retErrFlg = execTUSV0105();
			
			// エラーありの場合
			if (retErrFlg)
			{
				return true;
			}
		}
		
		// 引き継ぎ情報を格納するMAP
		HashMap<String, Object> hktgiMap = new HashMap<String, Object>();
		hktgiMap.put(TUW03602SFConst.PORT_OUT_NO, childbean.sendMessageString(TUW03601SFConst.PORT_OUT_NO_01, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03602SFConst.GENE_ADD_DTM, childbean.sendMessageString(TUW03601SFConst.GENE_ADD_DTM_01, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03602SFConst.STATUS_CD_BF, childbean.sendMessageString(TUW03601SFConst.STAT_01, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03602SFConst.UK_TNT_ID_BF, childbean.sendMessageString(TUW03601SFConst.UK_TNT_ID_01, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 引継情報の設定
		JCCWebCommon.setScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW03602, hktgiMap);
		JTUWebCommon.setScreenId(this, JTUScreenConst.SCREEN_ID_TUW03602, JTUScreenConst.SCREEN_ID_TUW03601);
		
		// 一覧照会画面にも選択情報を保持（再検索後、選択された情報を初期表示にて選択するため）
		HashMap<String, Object> listhktgiMap = JCCWebCommon.getScreenInfo(this);
		if (listhktgiMap != null)
		{
			listhktgiMap.put(TUW03601SFConst.PORT_OUT_NO, childbean.sendMessageString(TUW03601SFConst.PORT_OUT_NO_01, X31CWebConst.DATABEAN_GET_VALUE));
			JCCWebCommon.setScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW03601, listhktgiMap);
		}
		
		// 遷移先の情報を共有フォームBeanの項目に設定する。
		JTUWebCommon.setNextScreenInfo(commoninfoBean, JTUScreenConst.SCREEN_ID_TUW03602, JTUScreenConst.SCREEN_NAME_TUW03602);
		
		return true;
	}
	
	/**
	 * 詳細処理
	 * @return boolean
	 * @throws Exception
	 */
	public boolean actionDetail() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
		
		// セッション設定処理
		X31SDataBeanAccess serviceBean = super.getServiceFormBean();
		X31SDataBeanAccessArray beanList = serviceBean.getDataBeanArray(TUW03601SFConst.SEARCH_RSLT_LIST);
		String tmp = serviceBean.sendMessageString(TUW03601SFConst.CHOICE, X31CWebConst.DATABEAN_GET_VALUE);
		int choice = Integer.parseInt(tmp);
		X31SDataBeanAccess childbean = beanList.getDataBean(choice);
		
		// 引き継ぎ情報を格納するMAP
		HashMap<String, Object> hktgiMap = new HashMap<String, Object>();
		hktgiMap.put(TUW03603SFConst.PORT_OUT_NO, childbean.sendMessageString(TUW03601SFConst.PORT_OUT_NO_01, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03603SFConst.GENE_ADD_DTM, childbean.sendMessageString(TUW03601SFConst.GENE_ADD_DTM_01, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 引継情報の設定
		JCCWebCommon.setScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW03603, hktgiMap);
		JTUWebCommon.setScreenId(this, JTUScreenConst.SCREEN_ID_TUW03603, JTUScreenConst.SCREEN_ID_TUW03601);
		
		// 一覧照会画面にも選択情報を保持（再検索後、選択された情報を初期表示にて選択するため）
		HashMap<String, Object> listhktgiMap = JCCWebCommon.getScreenInfo(this);
		if (listhktgiMap != null)
		{
			listhktgiMap.put(TUW03601SFConst.PORT_OUT_NO, childbean.sendMessageString(TUW03601SFConst.PORT_OUT_NO_01, X31CWebConst.DATABEAN_GET_VALUE));
			JCCWebCommon.setScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW03601, listhktgiMap);
		}
		
		// 遷移先の情報を共有フォームBeanの項目に設定する。
		JTUWebCommon.setNextScreenInfo(commoninfoBean, JTUScreenConst.SCREEN_ID_TUW03603, JTUScreenConst.SCREEN_NAME_TUW03603);
		
		return true;
	}
	
	/**
	 * CSV出力処理
	 * @return boolean
	 * @throws Exceptions
	 */
	public boolean actionOutputCsv() throws Exception
	{
		// セッション情報取得
		HashMap<String, Object> searchInfo = JCCWebCommon.getScreenInfo(this);
		
		if(searchInfo != null)
		{
			// 検索条件を復元
			restoreSearchCondition(searchInfo);
		}
		
		// ＣＳＶ出力
		boolean retErrFlg = execTUSV0104(TUSV0104_TRANS_DIV_2);
		
		// エラーなしの場合
		if (!retErrFlg)
		{
			// 再検索する
			actionSearch();
		}
		
		return true;
	}
	
	/**
	 * 他社読込済申請結果確認一覧処理
	 * 
	 * @param tranDiv 処理区分
	 * @return boolean
	 * @throws Exception Exception
	 */
	@SuppressWarnings("unchecked")
	private boolean execTUSV0104(String tranDiv) throws Exception
	{
		// エラーフラグ
		boolean retErrFlg = false;
		
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
		
		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceBean = super.getServiceFormBean();
		
		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {serviceBean};
		
		// ANK-4685-00-00 MOD START
//		// 取込日
//		JTUWebCommon.setYMD(serviceBean, TUW03601SFConst.TRKM_DAY, TUW03601SFConst.TRKM_DAY_YEAR, TUW03601SFConst.TRKM_DAY_MON, TUW03601SFConst.TRKM_DAY_DAY);
		// 取込日（ＦＲＯＭ）
		JTUWebCommon.setYMD(serviceBean, TUW03601SFConst.TRKM_DAY_END, TUW03601SFConst.TRKM_DAY_END_YEAR, TUW03601SFConst.TRKM_DAY_END_MON, TUW03601SFConst.TRKM_DAY_END_DAY);
		// 取込日（ＴＯ）
		JTUWebCommon.setYMD(serviceBean, TUW03601SFConst.TRKM_DAY_STA, TUW03601SFConst.TRKM_DAY_STA_YEAR, TUW03601SFConst.TRKM_DAY_STA_MON, TUW03601SFConst.TRKM_DAY_STA_DAY);
		// 日付FROM-TO加減編集(取込日)
		JTUWebCommon.setDateFromTo(serviceBean, TUW03601SFConst.TRKM_DAY_STA, TUW03601SFConst.TRKM_DAY_STA_YEAR
				, TUW03601SFConst.TRKM_DAY_STA_MON, TUW03601SFConst.TRKM_DAY_STA_DAY, TUW03601SFConst.TRKM_DAY_END
				, TUW03601SFConst.TRKM_DAY_END_YEAR, TUW03601SFConst.TRKM_DAY_END_MON, TUW03601SFConst.TRKM_DAY_END_DAY, 1); 
		// ANK-4685-00-00 MOD END
		
		// 検索条件をセッションに保持
		saveSessionSearchInfo();
		
		// データBeanとBPをマッピングするインスタンスを生成
		TUSV0104_TUSV0104OPDBMapper mapper = new TUSV0104_TUSV0104OPDBMapper();
		
		// サービス検索条件格納用マップ
		HashMap<String, Map<String, String>> inputMap = new HashMap<String, Map<String, String>>();
		// サービス処理結果格納用マップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		// サービスIDをparamMapにセット
		Map<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, UCID_TUSV0104);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, OPID_TUSV0104OP);
		
		// サービスへのデータセット
		mapper.setTUSV010401CC(paramBean, inputMap, tranDiv);
		
		// ページング情報の設定
		JCCWebCommon.upmapperPageLinkInfo(this, CC_TITLE_TUSV010401CC, inputMap);
		
		// サービス呼出処理
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			retErrFlg = true;
			
			// 遷移先の情報を共有フォームBeanの項目に設定する。
			JTUWebCommon.setNextScreenInfo(commoninfoBean, JTUScreenConst.SCREEN_ID_TUW03601, JTUScreenConst.SCREEN_NAME_TUW03601);
			
			return retErrFlg;
		}
		
		// 検索エラーフラグ
		String searchErrFlg = "";
		// 関連チェックエラーメッセージＩＤ
		String errMsgId = "";
		// 関連チェックエラーメッセージ置換文字列
		String errMsgReplaceMoji = "";
		
		HashMap<String, Object> parentMap = (HashMap<String, Object>)outputMap.get(CC_TITLE_TUSV010401CC);
		if(parentMap != null)
		{
			searchErrFlg = (String)parentMap.get("search_err_flg");
			errMsgId = (String)parentMap.get("err_msg_id");
			errMsgReplaceMoji = (String)parentMap.get("err_msg_replace_moji");
		}
		
		// 一覧照会
		if (TUSV0104_TRANS_DIV_1.equals(tranDiv))
		{
			// 一覧初期化
			serviceBean.getDataBeanArray(TUW03601SFConst.SEARCH_RSLT_LIST).clearArray();
			serviceBean.sendMessage(TUW03601SFConst.GK_TK_KH_CNT, X31CWebConst.DATABEAN_CLEAR);
			serviceBean.sendMessage(TUW03601SFConst.GK_MI_TRN_CNT, X31CWebConst.DATABEAN_CLEAR);
			
			// サービス処理結果の取得
			// 取得情報の下りマッピング
			mapper.getTUSV010401CC(paramBean, outputMap);
			
			// ページング情報の設定
			JCCWebCommon.downmapperPageLinkInfo(this, CC_TITLE_TUSV010401CC, outputMap);
			
			// 行スタイル設定
			JTUWebCommon.setRowStyle(serviceBean, TUW03601SFConst.SEARCH_RSLT_LIST, TUW03601SFConst.ROW_STYLE_01);
			
			// 検索のコマンドIDを設定する（ページングのイベントIDを設定）
			JCCWebCommon.setSearchCommand(this, "B_CHANGE_PAGE");
			
			serviceBean.sendMessageString(TUW03601SFConst.CHOICE, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf("0"));
			
			// 各サービスインターフェイスの検索エラーフラグに応じて、以下のメッセージを設定する。
			// 検索結果が0件の場合
			if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
			{
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I);
				retErrFlg = true;
			}
			// 検索結果が最大検索件数超えの場合
			else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg))
			{
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0340__I, new String[] { JCCWebCommon.getSearchConst("TUW03601_MAX_SHOW_CNT") });
				retErrFlg = true;
			}
			// 表示ページに該当するデータがない場合
			else if (JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchErrFlg))
			{
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0350__I);
				retErrFlg = true;
			}
		}
		// ＣＳＶ出力の場合
		else if (TUSV0104_TRANS_DIV_2.equals(tranDiv))
		{
			// 関連チェック
			if (!JTUStringUtil.isNull(errMsgId))
			{
				if (!JTUStringUtil.isNull(errMsgReplaceMoji))
				{
					JCCWebCommon.setMessageInfo(this, errMsgId, errMsgReplaceMoji.split(JTUStrConst.CONMA));
				}
				else
				{
					JCCWebCommon.setMessageInfo(this, errMsgId);
				}
				retErrFlg = true;
			}
		}
		
		// 遷移先の情報を共有フォームBeanの項目に設定する。
		JTUWebCommon.setNextScreenInfo(commoninfoBean, JTUScreenConst.SCREEN_ID_TUW03601, JTUScreenConst.SCREEN_NAME_TUW03601);
		
		return retErrFlg;
	}
	
	/**
	 * 他社読込済申請結果確認更新処理
	 * 
	 * @return boolean
	 * @throws Exception Exception
	 */
	private boolean execTUSV0105() throws Exception
	{
		// エラーフラグ
		boolean retErrFlg = false;
		
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
		
		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceBean = super.getServiceFormBean();
		
		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {serviceBean, commoninfoBean};
		
		// データBeanとBPをマッピングするインスタンスを生成
		TUSV0105_TUSV0105OPDBMapper mapper = new TUSV0105_TUSV0105OPDBMapper();
			
		// サービス検索条件格納用マップ
		HashMap<String, Map<String, String>> inputMap = new HashMap<String, Map<String, String>>();
		// サービス処理結果格納用マップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		// サービスIDをparamMapにセット
		Map<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, UCID_TUSV0105);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, OPID_TUSV0105OP);
		
		// サービスへのデータセット
		mapper.setTUSV010501CC_01(paramBean, inputMap);
		
		// サービス呼出処理
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		return retErrFlg;
	}
	
	/**
	 * 検索条件をセッションに保持
	 */
	private void saveSessionSearchInfo()
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		// 引き継ぎ情報を格納するMAP
		HashMap<String, Object> hktgiMap = new HashMap<String, Object>();
		
		// 検索条件の保持
// ANK-4685-00-00 MOD START
//		hktgiMap.put(TUW03601SFConst.TRKM_DAY, bean.sendMessageString(TUW03601SFConst.TRKM_DAY, X31CWebConst.DATABEAN_GET_VALUE));
//		hktgiMap.put(TUW03601SFConst.TRKM_DAY_YEAR, bean.sendMessageString(TUW03601SFConst.TRKM_DAY_YEAR, X31CWebConst.DATABEAN_GET_VALUE));
//		hktgiMap.put(TUW03601SFConst.TRKM_DAY_MON, bean.sendMessageString(TUW03601SFConst.TRKM_DAY_MON, X31CWebConst.DATABEAN_GET_VALUE));
//		hktgiMap.put(TUW03601SFConst.TRKM_DAY_DAY, bean.sendMessageString(TUW03601SFConst.TRKM_DAY_DAY, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.TRKM_DAY_STA, bean.sendMessageString(TUW03601SFConst.TRKM_DAY_STA, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.TRKM_DAY_STA_YEAR, bean.sendMessageString(TUW03601SFConst.TRKM_DAY_STA_YEAR, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.TRKM_DAY_STA_MON, bean.sendMessageString(TUW03601SFConst.TRKM_DAY_STA_MON, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.TRKM_DAY_STA_DAY, bean.sendMessageString(TUW03601SFConst.TRKM_DAY_STA_DAY, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.TRKM_DAY_END, bean.sendMessageString(TUW03601SFConst.TRKM_DAY_END, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.TRKM_DAY_END_YEAR, bean.sendMessageString(TUW03601SFConst.TRKM_DAY_END_YEAR, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.TRKM_DAY_END_MON, bean.sendMessageString(TUW03601SFConst.TRKM_DAY_END_MON, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.TRKM_DAY_END_DAY, bean.sendMessageString(TUW03601SFConst.TRKM_DAY_END_DAY, X31CWebConst.DATABEAN_GET_VALUE));
// ANK-4685-00-00 MOD END
		hktgiMap.put(TUW03601SFConst.MKM_DIV_NEW_SHIN, bean.sendMessageBoolean(TUW03601SFConst.MKM_DIV_NEW_SHIN, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.MKM_DIV_KISAI_CHG, bean.sendMessageBoolean(TUW03601SFConst.MKM_DIV_KISAI_CHG, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.MKM_DIV_CNCL, bean.sendMessageBoolean(TUW03601SFConst.MKM_DIV_CNCL, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.MKM_DIV_CNCL_CL, bean.sendMessageBoolean(TUW03601SFConst.MKM_DIV_CNCL_CL, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.MKM_DIV_CL, bean.sendMessageBoolean(TUW03601SFConst.MKM_DIV_CL, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.STAT_TRN_MI, bean.sendMessageBoolean(TUW03601SFConst.STAT_TRN_MI, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.STAT_TRN_CHU, bean.sendMessageBoolean(TUW03601SFConst.STAT_TRN_CHU, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.STAT_TRN_ZM, bean.sendMessageBoolean(TUW03601SFConst.STAT_TRN_ZM, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.STAT_CSV_OPUTZM, bean.sendMessageBoolean(TUW03601SFConst.STAT_CSV_OPUTZM, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.STAT_KJ_FIN, bean.sendMessageBoolean(TUW03601SFConst.STAT_KJ_FIN, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.CHUMN_KIND_BMP_ITEN, bean.sendMessageBoolean(TUW03601SFConst.CHUMN_KIND_BMP_ITEN, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.CHUMN_KIND_BMP_RETURN, bean.sendMessageBoolean(TUW03601SFConst.CHUMN_KIND_BMP_RETURN, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.CHUMN_KIND_JGSK_ITEN, bean.sendMessageBoolean(TUW03601SFConst.CHUMN_KIND_JGSK_ITEN, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.CHUMN_KIND_BMP_HAISHI, bean.sendMessageBoolean(TUW03601SFConst.CHUMN_KIND_BMP_HAISHI, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.TK_KH_KA_ANSWER, bean.sendMessageBoolean(TUW03601SFConst.TK_KH_KA_ANSWER, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.TK_KH_HI_ANSWER, bean.sendMessageBoolean(TUW03601SFConst.TK_KH_HI_ANSWER, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.TK_KH_MI_ANSWER, bean.sendMessageBoolean(TUW03601SFConst.TK_KH_MI_ANSWER, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.KOJIN_HJIN_KOJIN, bean.sendMessageBoolean(TUW03601SFConst.KOJIN_HJIN_KOJIN, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.KOJIN_HJIN_HJIN, bean.sendMessageBoolean(TUW03601SFConst.KOJIN_HJIN_HJIN, X31CWebConst.DATABEAN_GET_VALUE));
		
		//ANK-4685-00-00 ADD START
		hktgiMap.put(TUW03601SFConst.ITENM_NOSK_ITENM, bean.sendMessageBoolean(TUW03601SFConst.ITENM_NOSK_ITENM, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put(TUW03601SFConst.ITENM_NOSK_NOSK, bean.sendMessageBoolean(TUW03601SFConst.ITENM_NOSK_NOSK, X31CWebConst.DATABEAN_GET_VALUE));
		//ANK-4685-00-00 ADD END
		// 引継情報の設定
		JCCWebCommon.setScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW03601, hktgiMap);
	}
	
	/**
	 * 検索条件を保存用検索条件領域から復元
	 * @param searchInfo
	 */
	private void restoreSearchCondition(HashMap<String, Object> searchInfo)
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
// ANK-4685-00-00 MOD START
//		bean.sendMessageString(TUW03601SFConst.TRKM_DAY, X31CWebConst.DATABEAN_SET_VALUE, searchInfo.get(TUW03601SFConst.TRKM_DAY).toString());
//		bean.sendMessageString(TUW03601SFConst.TRKM_DAY_YEAR, X31CWebConst.DATABEAN_SET_VALUE, searchInfo.get(TUW03601SFConst.TRKM_DAY_YEAR).toString());
//		bean.sendMessageString(TUW03601SFConst.TRKM_DAY_MON, X31CWebConst.DATABEAN_SET_VALUE, searchInfo.get(TUW03601SFConst.TRKM_DAY_MON).toString());
//		bean.sendMessageString(TUW03601SFConst.TRKM_DAY_DAY, X31CWebConst.DATABEAN_SET_VALUE, searchInfo.get(TUW03601SFConst.TRKM_DAY_DAY).toString());
		bean.sendMessageString(TUW03601SFConst.TRKM_DAY_STA, X31CWebConst.DATABEAN_SET_VALUE, searchInfo.get(TUW03601SFConst.TRKM_DAY_STA).toString());
		bean.sendMessageString(TUW03601SFConst.TRKM_DAY_STA_YEAR, X31CWebConst.DATABEAN_SET_VALUE, searchInfo.get(TUW03601SFConst.TRKM_DAY_STA_YEAR).toString());
		bean.sendMessageString(TUW03601SFConst.TRKM_DAY_STA_MON, X31CWebConst.DATABEAN_SET_VALUE, searchInfo.get(TUW03601SFConst.TRKM_DAY_STA_MON).toString());
		bean.sendMessageString(TUW03601SFConst.TRKM_DAY_STA_DAY, X31CWebConst.DATABEAN_SET_VALUE, searchInfo.get(TUW03601SFConst.TRKM_DAY_STA_DAY).toString());
		bean.sendMessageString(TUW03601SFConst.TRKM_DAY_END, X31CWebConst.DATABEAN_SET_VALUE, searchInfo.get(TUW03601SFConst.TRKM_DAY_END).toString());
		bean.sendMessageString(TUW03601SFConst.TRKM_DAY_END_YEAR, X31CWebConst.DATABEAN_SET_VALUE, searchInfo.get(TUW03601SFConst.TRKM_DAY_END_YEAR).toString());
		bean.sendMessageString(TUW03601SFConst.TRKM_DAY_END_MON, X31CWebConst.DATABEAN_SET_VALUE, searchInfo.get(TUW03601SFConst.TRKM_DAY_END_MON).toString());
		bean.sendMessageString(TUW03601SFConst.TRKM_DAY_END_DAY, X31CWebConst.DATABEAN_SET_VALUE, searchInfo.get(TUW03601SFConst.TRKM_DAY_END_DAY).toString());
// ANK-4685-00-00 MOD END
		bean.sendMessageBoolean(TUW03601SFConst.MKM_DIV_NEW_SHIN, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.MKM_DIV_NEW_SHIN));
		bean.sendMessageBoolean(TUW03601SFConst.MKM_DIV_KISAI_CHG, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.MKM_DIV_KISAI_CHG));
		bean.sendMessageBoolean(TUW03601SFConst.MKM_DIV_CNCL, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.MKM_DIV_CNCL));
		bean.sendMessageBoolean(TUW03601SFConst.MKM_DIV_CNCL_CL, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.MKM_DIV_CNCL_CL));
		bean.sendMessageBoolean(TUW03601SFConst.MKM_DIV_CL, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.MKM_DIV_CL));
		bean.sendMessageBoolean(TUW03601SFConst.STAT_TRN_MI, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.STAT_TRN_MI));
		bean.sendMessageBoolean(TUW03601SFConst.STAT_TRN_CHU, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.STAT_TRN_CHU));
		bean.sendMessageBoolean(TUW03601SFConst.STAT_TRN_ZM, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.STAT_TRN_ZM));
		bean.sendMessageBoolean(TUW03601SFConst.STAT_CSV_OPUTZM, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.STAT_CSV_OPUTZM));
		bean.sendMessageBoolean(TUW03601SFConst.STAT_KJ_FIN, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.STAT_KJ_FIN));
		bean.sendMessageBoolean(TUW03601SFConst.CHUMN_KIND_BMP_ITEN, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.CHUMN_KIND_BMP_ITEN));
		bean.sendMessageBoolean(TUW03601SFConst.CHUMN_KIND_BMP_RETURN, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.CHUMN_KIND_BMP_RETURN));
		bean.sendMessageBoolean(TUW03601SFConst.CHUMN_KIND_JGSK_ITEN, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.CHUMN_KIND_JGSK_ITEN));
		bean.sendMessageBoolean(TUW03601SFConst.CHUMN_KIND_BMP_HAISHI, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.CHUMN_KIND_BMP_HAISHI));
		bean.sendMessageBoolean(TUW03601SFConst.TK_KH_KA_ANSWER, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.TK_KH_KA_ANSWER));
		bean.sendMessageBoolean(TUW03601SFConst.TK_KH_HI_ANSWER, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.TK_KH_HI_ANSWER));
		bean.sendMessageBoolean(TUW03601SFConst.TK_KH_MI_ANSWER, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.TK_KH_MI_ANSWER));
		bean.sendMessageBoolean(TUW03601SFConst.KOJIN_HJIN_KOJIN, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.KOJIN_HJIN_KOJIN));
		bean.sendMessageBoolean(TUW03601SFConst.KOJIN_HJIN_HJIN, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.KOJIN_HJIN_HJIN));
		//ANK-4685-00-00 ADD START
		bean.sendMessageBoolean(TUW03601SFConst.ITENM_NOSK_ITENM, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.ITENM_NOSK_ITENM));
		bean.sendMessageBoolean(TUW03601SFConst.ITENM_NOSK_NOSK, X31CWebConst.DATABEAN_SET_VALUE, (Boolean)searchInfo.get(TUW03601SFConst.ITENM_NOSK_NOSK));
		//ANK-4685-00-00 ADD END
	}
	
	/**
	 * 選択された情報が存在すれば初期値に設定
	 * @param bean
	 */
	private void setDispRadio(X31SDataBeanAccess bean)
	{
		
		String key = bean.sendMessageString(TUW03601SFConst.PORT_OUT_NO, X31CWebConst.DATABEAN_GET_VALUE);
		String str = "0";
		
		if(JTUStringUtil.isNull(key))
		{
			bean.sendMessageString(TUW03601SFConst.CHOICE, X31CWebConst.DATABEAN_SET_VALUE, str);
			return;
		}
		
		X31SDataBeanAccessArray listDataBean = bean.getDataBeanArray(TUW03601SFConst.SEARCH_RSLT_LIST);
		int len = listDataBean.getCount();
		X31SDataBeanAccess childBean = null;
		String tmp = "";
		for(int i = 0; i < len; i++)
		{
			childBean = listDataBean.getDataBean(i);
			tmp = childBean.sendMessageString(TUW03601SFConst.PORT_OUT_NO_01, X31CWebConst.DATABEAN_GET_VALUE);
			if(key.equals(tmp))
			{
				str = String.valueOf(i);
				break;
			}
		}
		
		bean.sendMessageString(TUW03601SFConst.CHOICE, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(str));
		
		return;
	}
}

