/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：契約管理
 *   モジュール名    ：照査取消
 *   ソースファイル名：KKW00190SFLogic.java
 *   作成者          ：富士通
 *   日付            ：2011年10月27日
 *＜機能概要＞
 *   照査取消部品です。
 *＜修正履歴＞
 *   バージョン  修正日       修正者      修正内容
 *   v1.00.00    2011/04/04   FJ）富士通  新規作成
 *   v5.00.00    2012/02/09   FJ）江藤    IT1-2013-0000148 照査ＮＧ取消の追加 
 *   v8.00.00    2014/03/27   FJ）藤本    【OM-2013-0002656】対応履歴情報に「テスト用全機能利用権限者」と登録される
 *
 **********************************************************************/
package eo.web.webview.KKW00191SF;


import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.common.JSYwebLog;
import com.fujitsu.futurity.web.x31.X31BWebBusinessLogic;
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.JKKStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JKKCommonConst;
import eo.web.webview.common.JKKScreenConst;
import eo.web.webview.common.JKKSvkeiUpdScreenUtil;
import eo.web.webview.mapping.KKSV0408_KKSV0408OPDBMapper;

/**
 * <dd>クラス名：KKW00191SFLogic 
 * <dd>クラス説明：該当サービス契約の照査取消を行う。 
 * <dd>備考：なし。
 * 
 * @version 1.00.00 2011/10/27
 * @author 富士通
 */
@SuppressWarnings("serial")
public class KKW00191SFLogic extends JCCWebBusinessLogic
{
	
	/** 引継ぎ項目キー **/
	public static final String sysid = "sysid";
	public static final String svc_kei_no = "svc_kei_no";
	public static final String kaisen_place_state_nm = "kaisen_place_state_nm";
	public static final String kaisen_place_city_nm = "kaisen_place_city_nm";
	public static final String kaisen_place_oaztsu_nm = "kaisen_place_oaztsu_nm";
	public static final String kaisen_place_azcho_nm = "kaisen_place_azcho_nm";
	public static final String kaisen_place_bnchigo = "kaisen_place_bnchigo";
	public static final String cust_nm = "cust_nm";
	public static final String cust_kana = "cust_kana";
	public static final String keisha_state_nm = "keisha_state_nm";
	public static final String keisha_city_nm = "keisha_city_nm";
	public static final String keisha_oaztsu_nm = "keisha_oaztsu_nm";
	public static final String keisha_azcho_nm = "keisha_azcho_nm";
	public static final String keisha_bnchigo = "keisha_bnchigo";
	public static final String keisha_telno = "keisha_telno";

	/** SYSID
	 * @since 2012-05-16 巻@　指示書CC取込み対応 */
	private String sysidVal = null;

	/**
	 * <dd>メソッド名：照査取消初期表示
	 * <dd>メソッド説明：照査取消初期表示の初期表示を行う。
	 * 
	 * @return true/false
	 */
	public boolean actionInit()
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean =
		{
			bean
		};
		
		//引継ぎ項目の取得と設定
		initServiceFormBean(bean);
		
		// IT1-2013-0000148 20130208 照査NG取消処理の追加 MOD START
//		//サービス呼び出し
//		invokeService(paramBean);
		
		// 照査解約完了コード
		String shosaDslFinCd = bean.sendMessageString(KKW00191SFConst.SHOSA_DSL_FIN_CD, X31CWebConst.DATABEAN_GET_VALUE);
		if (JKKStrConst.CD00469_1.equals(shosaDslFinCd))
		{
			// 照査OKの場合、照査取消サービス呼出
			invokeService(paramBean);
		}
		else if(JKKStrConst.CD00469_2.equals(shosaDslFinCd))
		{
			// 照査NGの場合、照査NG取消サービス呼出
			shosaNgCl(paramBean);
		}
		// IT1-2013-0000148 20130208 照査NG取消処理の追加 MOD END

		//↓↓↓2012-05-16追加　巻@　指示書CC取込み対応↓↓↓
		if (!JKKSvkeiUpdScreenUtil.executeAxMRnkSjisho(JKKCommonConst.IDO_DIV_VALUE_00001, sysidVal, this))
		{
			// DataBeanログ出力
			JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

			return false;
		}
		//↑↑↑2012-05-16追加　巻@　指示書CC取込み対応↑↑↑

		//画面にメッセージ表示
		JCCWebCommon.setMessageInfo(this,JPCOnlineMessageConstant.EKB4390__I,new String[]{"サービス契約の照査取消"});
		
		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}
	
	/**
	 * <dd>メソッド名：完了ボタン押下イベントハンドラ
	 * 
	 * @return true/false
	 */
	public boolean actionComp()
	{
//↓↓↓2012-12-05削除　ロット２IT2-2012-0001905（照査取消後、サービス契約一覧照会画面で戻るボタンを押すとエラー）↓↓↓
//KKW01101サービス契約一覧照会画面の戻り先を上書きしてしまっているので、削除
//		//サービス契約一覧照会画面への遷移
//		String prevScreenId = JCCWebCommon.getScreenId(this);
//
//		//遷移先情報設定
//		JCCWebCommon.setScreenId(this, prevScreenId, JKKScreenConst.SCREEN_ID_KKW00191);
//↑↑↑2012-12-05削除　ロット２IT2-2012-0001905（照査取消後、サービス契約一覧照会画面で戻るボタンを押すとエラー）↑↑↑

		//共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		
		//遷移先の指定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, 
				JKKScreenConst.SCREEN_ID_KKW01101);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, 
				JKKScreenConst.SCREEN_NAME_KKW01101);

		return true;
	}
	
	/**
	 * サービス呼び出し
	 * @param paramBean サービスフォームBean[]
	 */
	public void invokeService(X31SDataBeanAccess[] paramBean)
	{
		//ユースケースID格納用のHashMap
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		//マッピングクラスの結果を格納するHashMap
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		//サービス呼出結果を格納するHashMap
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		//予約適用年月日
		paramBean[0].sendMessageString(
				KKW00191SFConst.RSV_APLY_YMD, 
				X31CWebConst.DATABEAN_SET_VALUE, 
				JCCWebCommon.getOpeDate(this, null));
		
		//サービスパラメタ設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0408);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0408OP);

		KKSV0408_KKSV0408OPDBMapper mapper;
		mapper = new KKSV0408_KKSV0408OPDBMapper();
		
		//上りマッピング
		mapper.setKKSV040802SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setKKSV040803SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setKKSV040805SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		// OM-2013-0002656 対応履歴情報に「テスト用全機能利用権限者」と登録される 2014/03/27 START
//		mapper.setJKKSvkeiShosaClCC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		X31SDataBeanAccess subCfBean = commoninfoBean.getDataBeanArray(CommonInfoCFConst.KGGRP_CD_LIST).getDataBean(1);
		// 組織コード、組織名を取得
		String orgCd = subCfBean.sendMessageString(CommonInfoCFConst.ORG_CD_01, X31CWebConst.DATABEAN_GET_VALUE);
		String orgNm = subCfBean.sendMessageString(CommonInfoCFConst.ORG_NM_01, X31CWebConst.DATABEAN_GET_VALUE);
		mapper.setJKKSvkeiShosaClCC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1, orgCd, orgNm);
		// OM-2013-0002656 対応履歴情報に「テスト用全機能利用権限者」と登録される 2014/03/27 END
		mapper.setJKKButuryuCtrlCC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setJKKHakkoSODCC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setJKKTchishoAddCC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		
		//サービス呼び出しｓ
		invokeService(paramMap, inputMap, outputMap);

		//下りマッピング
		mapper.getKKSV040803SC(paramBean, outputMap);
		mapper.getKKSV040804SC(paramBean, outputMap);
		mapper.getKKSV040805SC(paramBean, outputMap);
		
		//結果の移し変え
		editServiceFormBean(paramBean[0]);
		
		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

	}
	
	/**
	 * サービスからの情報から画面表示用にデータ移し変え
	 * @param  svcFormBean  DataBeanアクセスクラス	
	 */
	public void editServiceFormBean(X31SDataBeanAccess svcFormBean)
	{
		
		X31SDataBeanAccessArray beanArray;
		X31SDataBeanAccess bean;
		String ymd;
		
		//--申込明細一意照会
		beanArray = svcFormBean.getDataBeanArray(KKW00191SFConst.MSKM_DTL_LIST);
		//申込年月日
		ymd = beanArray.getDataBean(0).sendMessageString(KKW00191SFConst.MSKM_YMD_02,X31CWebConst.DATABEAN_GET_VALUE);
		svcFormBean.sendMessageString(
				KKW00191SFConst.MSKM_YMD, 
				X31CWebConst.DATABEAN_SET_VALUE,
				ymd.substring(0, 4) + "/" + ymd.substring(4, 6) + "/" + ymd.substring(6,8)
		);
		
		//申込書番号
		svcFormBean.sendMessageString(
				KKW00191SFConst.MSKMSHO_NO, 
				X31CWebConst.DATABEAN_SET_VALUE, 
				beanArray.getDataBean(0).sendMessageString(
						KKW00191SFConst.MSKMSHO_NO_02, 
						X31CWebConst.DATABEAN_GET_VALUE)
		);
		
		//--サービス契約一意照会
		beanArray = svcFormBean.getDataBeanArray(KKW00191SFConst.SVC_KEI_LIST);

		//照査年月日
		ymd = beanArray.getDataBean(0).sendMessageString(KKW00191SFConst.SHOSA_YMD_01,X31CWebConst.DATABEAN_GET_VALUE);
		svcFormBean.sendMessageString(
				KKW00191SFConst.SHOSA_YMD, 
				X31CWebConst.DATABEAN_SET_VALUE, 
				ymd.substring(0, 4) + "/" + ymd.substring(4, 6) + "/" + ymd.substring(6,8)
		);
		
		//サービスコード名称
		svcFormBean.sendMessageString(
				KKW00191SFConst.SVC_CD_NM, 
				X31CWebConst.DATABEAN_SET_VALUE, 
				beanArray.getDataBean(0).sendMessageString(
						KKW00191SFConst.SVC_CD_NM, 
						X31CWebConst.DATABEAN_GET_VALUE));
		
		//料金プランコード名称
		svcFormBean.sendMessageString(
				KKW00191SFConst.PPLAN_CD_NM, 
				X31CWebConst.DATABEAN_SET_VALUE, 
				beanArray.getDataBean(0).sendMessageString(
						KKW00191SFConst.PPLAN_CD_NM_01, 
						X31CWebConst.DATABEAN_GET_VALUE));
		
		//--サービス契約共通情報一覧照会
		beanArray = svcFormBean.getDataBeanArray(KKW00191SFConst.SVC_KEI_COM_LIST);
		//マンションＩＤ
		svcFormBean.sendMessageString(
				KKW00191SFConst.MANSION_ID, 
				X31CWebConst.DATABEAN_SET_VALUE, 
				beanArray.getDataBean(0).sendMessageString(
						KKW00191SFConst.MANSION_ID_03, 
						X31CWebConst.DATABEAN_GET_VALUE));
		
		//マンション名
		svcFormBean.sendMessageString(
				KKW00191SFConst.MANSION_NM, 
				X31CWebConst.DATABEAN_SET_VALUE, 
				beanArray.getDataBean(0).sendMessageString(
						KKW00191SFConst.MANSION_NM_03, 
						X31CWebConst.DATABEAN_GET_VALUE));
		
	}
	
	/**	
	 * 引き継ぎ情報を取得し、サービスフォームBeanに設定する	
	 * @param  svcFormBean  DataBeanアクセスクラス	
	 */	
	public void initServiceFormBean(X31SDataBeanAccess svcFormBean)
	{

		//引継ぎデータ
		JCCWebCommon.getScreenInfo(this);
		
		//データの移し変え
		X31SDataBeanAccessArray cUST_KEI_HKTGI_LIST;
		X31SDataBeanAccess hktgElement;
		
		cUST_KEI_HKTGI_LIST = svcFormBean.getDataBeanArray(KKW00191SFConst.CUST_KEI_HKTGI_LIST);
		hktgElement = cUST_KEI_HKTGI_LIST.getDataBean(0);
		sysidVal = hktgElement.sendMessageString(JKKCommonConst.HKTGI_SYSID, X31CWebConst.DATABEAN_GET_VALUE);
		svcFormBean.sendMessageString(
				KKW00191SFConst.SYSID, 
				X31CWebConst.DATABEAN_SET_VALUE,
				hktgElement.sendMessageString(KKW00191SFConst.SYSID_04, X31CWebConst.DATABEAN_GET_VALUE));
		
		svcFormBean.sendMessageString(
				KKW00191SFConst.SVC_KEI_NO, 
				X31CWebConst.DATABEAN_SET_VALUE,
				hktgElement.sendMessageString(KKW00191SFConst.SVC_KEI_NO_04, X31CWebConst.DATABEAN_GET_VALUE));
		
		svcFormBean.sendMessageString(
				KKW00191SFConst.KAISEN_PLACE_STATE_NM, 
				X31CWebConst.DATABEAN_SET_VALUE,
				hktgElement.sendMessageString(KKW00191SFConst.KAISEN_PLACE_STATE_NM_04, X31CWebConst.DATABEAN_GET_VALUE));
		
		svcFormBean.sendMessageString(
				KKW00191SFConst.KAISEN_PLACE_CITY_NM, 
				X31CWebConst.DATABEAN_SET_VALUE,
				hktgElement.sendMessageString(KKW00191SFConst.KAISEN_PLACE_CITY_NM_04, X31CWebConst.DATABEAN_GET_VALUE));
		
		svcFormBean.sendMessageString(
				KKW00191SFConst.KAISEN_PLACE_OAZTSU_NM, 
				X31CWebConst.DATABEAN_SET_VALUE,
				hktgElement.sendMessageString(KKW00191SFConst.KAISEN_PLACE_OAZTSU_NM_04, X31CWebConst.DATABEAN_GET_VALUE));
		
		svcFormBean.sendMessageString(
				KKW00191SFConst.KAISEN_PLACE_AZCHO_NM, 
				X31CWebConst.DATABEAN_SET_VALUE,
				hktgElement.sendMessageString(KKW00191SFConst.KAISEN_PLACE_AZCHO_NM_04, X31CWebConst.DATABEAN_GET_VALUE));
		
		svcFormBean.sendMessageString(
				KKW00191SFConst.KAISEN_PLACE_BNCHIGO, 
				X31CWebConst.DATABEAN_SET_VALUE,
				hktgElement.sendMessageString(KKW00191SFConst.KAISEN_PLACE_BNCHIGO_04, X31CWebConst.DATABEAN_GET_VALUE));
		
		svcFormBean.sendMessageString(
				KKW00191SFConst.CUST_NM, 
				X31CWebConst.DATABEAN_SET_VALUE,
				hktgElement.sendMessageString(KKW00191SFConst.CUST_NM_04, X31CWebConst.DATABEAN_GET_VALUE));
		
		svcFormBean.sendMessageString(
				KKW00191SFConst.CUST_KANA, 
				X31CWebConst.DATABEAN_SET_VALUE,
				hktgElement.sendMessageString(KKW00191SFConst.CUST_KANA_04, X31CWebConst.DATABEAN_GET_VALUE));
		
		svcFormBean.sendMessageString(
				KKW00191SFConst.KEISHA_STATE_NM, 
				X31CWebConst.DATABEAN_SET_VALUE,
				hktgElement.sendMessageString(KKW00191SFConst.KEISHA_STATE_NM_04, X31CWebConst.DATABEAN_GET_VALUE));
		
		svcFormBean.sendMessageString(
				KKW00191SFConst.KEISHA_CITY_NM, 
				X31CWebConst.DATABEAN_SET_VALUE,
				hktgElement.sendMessageString(KKW00191SFConst.KEISHA_CITY_NM_04, X31CWebConst.DATABEAN_GET_VALUE));
		
		svcFormBean.sendMessageString(
				KKW00191SFConst.KEISHA_OAZTSU_NM, 
				X31CWebConst.DATABEAN_SET_VALUE,
				hktgElement.sendMessageString(KKW00191SFConst.KEISHA_OAZTSU_NM_04, X31CWebConst.DATABEAN_GET_VALUE));
		
		svcFormBean.sendMessageString(
				KKW00191SFConst.KEISHA_AZCHO_NM, 
				X31CWebConst.DATABEAN_SET_VALUE,
				hktgElement.sendMessageString(KKW00191SFConst.KEISHA_AZCHO_NM_04, X31CWebConst.DATABEAN_GET_VALUE));
		
		svcFormBean.sendMessageString(
				KKW00191SFConst.KEISHA_BNCHIGO, 
				X31CWebConst.DATABEAN_SET_VALUE,
				hktgElement.sendMessageString(KKW00191SFConst.KEISHA_BNCHIGO_04, X31CWebConst.DATABEAN_GET_VALUE));
		
		svcFormBean.sendMessageString(
				KKW00191SFConst.KEISHA_TELNO, 
				X31CWebConst.DATABEAN_SET_VALUE,
				hktgElement.sendMessageString(KKW00191SFConst.KEISHA_TELNO_04, X31CWebConst.DATABEAN_GET_VALUE));
		
		//利用場所住所
		StringBuffer buffer;
		buffer = new StringBuffer();
		buffer.append(hktgElement.sendMessageString(KKW00191SFConst.KAISEN_PLACE_STATE_NM, X31CWebConst.DATABEAN_GET_VALUE));
		buffer.append(hktgElement.sendMessageString(KKW00191SFConst.KAISEN_PLACE_CITY_NM, X31CWebConst.DATABEAN_GET_VALUE));
		buffer.append(hktgElement.sendMessageString(KKW00191SFConst.KAISEN_PLACE_OAZTSU_NM, X31CWebConst.DATABEAN_GET_VALUE));
		buffer.append(hktgElement.sendMessageString(KKW00191SFConst.KAISEN_PLACE_AZCHO_NM, X31CWebConst.DATABEAN_GET_VALUE));
		buffer.append(hktgElement.sendMessageString(KKW00191SFConst.KAISEN_PLACE_BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE));
		svcFormBean.sendMessageString(
				KKW00191SFConst.KAISEN_ADDR,
				X31CWebConst.DATABEAN_SET_VALUE,
				buffer.toString());
		
		//契約者住所
		buffer = new StringBuffer();
		buffer.append(hktgElement.sendMessageString(KKW00191SFConst.KEISHA_STATE_NM, X31CWebConst.DATABEAN_GET_VALUE));
		buffer.append(hktgElement.sendMessageString(KKW00191SFConst.KEISHA_CITY_NM, X31CWebConst.DATABEAN_GET_VALUE));
		buffer.append(hktgElement.sendMessageString(KKW00191SFConst.KEISHA_OAZTSU_NM, X31CWebConst.DATABEAN_GET_VALUE));
		buffer.append(hktgElement.sendMessageString(KKW00191SFConst.KEISHA_AZCHO_NM, X31CWebConst.DATABEAN_GET_VALUE));
		buffer.append(hktgElement.sendMessageString(KKW00191SFConst.KEISHA_BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE));
		svcFormBean.sendMessageString(
				KKW00191SFConst.KEISHA_ADDR,
				X31CWebConst.DATABEAN_SET_VALUE,
				buffer.toString());
		// IT1-2013-0000148 20130209 照査解約完了コードの追加 ADD START
		svcFormBean.sendMessageString(
				KKW00191SFConst.SHOSA_DSL_FIN_CD, 
				X31CWebConst.DATABEAN_SET_VALUE,
				hktgElement.sendMessageString(KKW00191SFConst.SHOSA_DSL_FIN_CD_04, X31CWebConst.DATABEAN_GET_VALUE));
		// IT1-2013-0000148 20130209 照査解約完了コードの追加 ADD END
		
	}
	// IT1-2013-0000148 20130208 照査NG取消サービスの呼び出しを追加 ADD END
	/**
	 * 照査NG取消処理
	 * @param paramBean サービスフォームBean[]
	 */
	private void shosaNgCl(X31SDataBeanAccess[] paramBean)
	{
		// ユースケースID格納用のHashMap
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// マッピングクラスの結果を格納するHashMap
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		
		// サービス呼出結果を格納するHashMap
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0742);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0742OP);
		
		// 上りマッピング
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		HashMap<String, Object> trgt_data = new HashMap<String, Object>();
		ArrayList<HashMap<String, Object>> trgtDataList = new ArrayList<HashMap<String,Object>>();
		HashMap<String, Object> trgtDataListElement = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", JPCModelConstant.FUNC_CD_1);
		
		//照査取消リスト要素
		trgtDataListElement.put("svc_kei_no", paramBean[0].sendMessageString(KKW00191SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		trgtDataList.add(trgtDataListElement);

		//照査NG取消リスト
		trgt_data.put("trgt_data_list", trgtDataList);

		inputMap.put("KKSV074201CC", trgt_data);
		
		// サービス呼出
		invokeService(paramMap, inputMap, outputMap);
		
	}
	// IT1-2013-0000148 20130208 照査NG取消サービスの呼び出しを追加 ADD END

}
