/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKCreditSkekkaChk
*	ソースファイル名	：JBSbatKKCreditSkekkaChk.java
*	作成者				：富士通　
*	作成日				：2011年10月28日
*＜機能概要＞
*　クレジット審査結果チェック部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/10/28   FJ)藤本	新規作成
*	v3.00.00	2012/11/02	 FJ)神吉	【ST1-2012-0000829】クレジット審査処理結果リスト出力不具合対応
*	v4.00.00	2013/03/08	 FJ)桑島	【ST1-2013-0000469】クレジットカード番号暗号化対応
*	v5.00.00	2013/07/29	 FJ)藤本	【KT1-2013-0000768】有効期限の補正処理追加
*	v5.00.01	2013/09/26	 FJ)柳		【OM-2013-0002479】障害対応
*	v5.00.02	2013/10/22	 FJ)古内	【OM-2013-0003416】有効性チェック結果がＯＫかつカード番号・有効期限に変更なしは対象外とする
*	v10.00.00	2014/08/29	 FJ)澁谷	【OM-2014-0002801】ファイル出力時にクレジットカード番号の先頭"0"カット
*	v20.00.00	2015/11/16	 FJ)阪口	【ANK-2565-00-00】クレジットカード番号預かりサービス導入（Step3：預かり番号化）
*   v20.00.01	2016/01/20	 FJ)黒田	【ANK-2565-06-00】【案件内仕変】クレジット有効性結果反映の更新サイン判定方法の変更
*	v53.00.00	2021/05/21	 FJ)謝		【ANK-4021-00-00】クレカカード会社 仕向け先変更対応
*	v54.00.00	2021/05/21	 GDC)k.abuan 【ANK-3971-00-00】クレカ請求データの有効期限設定対応
*	v59.00.00	2022/05/06	 FJ)謝		【OM-2022-0000260】「，」を含んだ契約が有効性依頼対象に含まれない
*	v58.00.00	2022/04/25	 GDC)M.Gungog【ANK-3846-00-00】【クレカ】クリアパス→ペイジェント移行
*	v72.00.00	2024/10/22	 GDC)J.Zabala【ANK-4606-00-00】代行オーソリ結果の洗替反映対応
*********************************************************************/
package eo.business.service;

import java.text.ParseException; 
import java.util.HashMap;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JBSbatMatchServiceInterface;
import eo.business.util.file.JBSbatKKIFE070;
import eo.business.util.file.JBSbatKKIFM035;
import eo.business.util.file.JBSbatKKIFM502;
import eo.business.util.table.JBSbatKK_T_SEIKY_KEI;
import eo.common.constant.JKKStrConst;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.util.JBSbatDateUtil;
import eo.framework.util.JBSbatStringUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKCreditSkekkaChk extends JBSbatBusinessService implements JBSbatMatchServiceInterface
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(クレジットカード会社)*/
	private static final String D_TBL_NAME_KK_M_CRECARD_COMP = "KK_M_CRECARD_COMP";
	
// ANK-3846-00-00 ADD START
	/** テーブル(請求契約)*/
	private static final String D_TBL_NAME_KK_T_SEIKY_KEI = "KK_T_SEIKY_KEI";
// ANK-3846-00-00 ADD END

	/** SQL定義キー(KK_SELECT_006)*/
	private static final String KK_M_CRECARD_COMP_KK_SELECT_006 = "KK_SELECT_006";

// ANK-3846-00-00 DEL START
//	/** SQL定義キー(KK_SELECT_007)*/
//	private static final String KK_M_CRECARD_COMP_KK_SELECT_007 = "KK_SELECT_007";
// ANK-3846-00-00 DEL END
	
// ANK-3846-00-00 ADD START
	/** SQL定義キー(KK_SELECT_071)*/
	private static final String KK_T_SEIKY_KEI_KK_SELECT_071 = "KK_SELECT_071";
// ANK-3846-00-00 ADD END

	/** テーブルアクセスクラス(クレジットカード会社)*/
	private JBSbatSQLAccess db_KK_M_CRECARD_COMP = null;
	
// ANK-3846-00-00 ADD START
	/** テーブルアクセスクラス(請求契約)*/
	private JBSbatSQLAccess db_KK_T_SEIKY_KEI = null;
// ANK-3846-00-00 ADD END

	/** キーマッチ処理フラグ*/
	private boolean matchProcFlg = false;

	/** マスタファイル処理フラグ*/
	private boolean mastProcFlg = false;

	/** トランファイル処理フラグ*/
	private boolean tranProcFlg = false;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/** 審査反映対象月 */
	private String sHaneiTaishoYM = "";

// ANK-4021-00-00 MOD START
//	/** 結果内容(F不整合) */
//	private static final String RESULT_F_FUSEIGO = "F不整合";
//
//	/** 結果内容(ｶｰﾄﾞ番号) */
//	private static final String RESULT_CARD_NO = "ｶｰﾄﾞ番号";
//
//	/** 結果内容(有効期限) */
//	private static final String RESULT_YK_KIGEN = "有効期限";
	/** 結果内容(不整合) */
	private static final String RESULT_F_FUSEIGO = "不整合";
	
	/** 結果内容(有効期限切れ(SMCC)) */
	private static final String RESULT_YK_KIGEN_KIRE_SMCC = "有効期限切れ(SMCC)";
	
	/** 結果内容(有効期限切れ) */
	private static final String RESULT_YK_KIGEN_KIRE = "有効期限切れ";
// ANK-4021-00-00 MOD END

	/** 結果内容(有効性NG) */
	private static final String RESULT_YK_NG = "有効性NG";

// ANK-3846-00-00 DEL START
//// ANK-4021-00-00 MOD START
////	/** 結果内容(有効性ｴﾗｰ) */
////	private static final String RESULT_YK_ERR = "有効性ｴﾗｰ";
//	/** 結果内容(有効性エラー) */
//	private static final String RESULT_YK_ERR = "有効性エラー";
//// ANK-4021-00-00 MOD END
// ANK-3846-00-00 DEL END
// ANK-3846-00-00 ADD START
	/** 結果内容(要求結果なし不整合) */
	private static final String RESULT_YK_NASHI_FUSEIGO = "要求結果なし不整合";
	
	/** 結果内容(要求なし不整合) */
	private static final String RESULT_CHK_YK_NASHI_FUSEIGO = "要求なし不整合";
	
	/** 結果内容(カード会社照合エラー) */
	private static final String RESULT_KADO_KAISHA_SHOGO_ERA = "カード会社照合エラー";
	
	/** 結果内容(請求停止) */
	private static final String RESULT_SEIKYU_TEISHI = "請求停止";
	
	/** 結果内容(カード会社契約無し) */
	private static final String RESULT_KADO_KAISHA_KEIYAKU_NASHI = "カード会社契約無し";
	
	/** 結果内容(ペイジェント照合エラー) */
	private static final String RESULT_PEIJENTO_SHOGO_ERA = "ペイジェント照合エラー";
// ANK-3846-00-00 ADD END

	// ANK-4606-00-00 ADD START
	/** 結果内容(有効性NG(UP LOAD分)) */
	private static final String RESULT_YK_NG_UPLOAD_BUN = "有効性NG(UP LOAD分)";
	// ANK-4606-00-00 ADD END
	
	/** 更新有無(有) */
	private static final String UPDATE_U = "有";

	/** 更新有無(無) */
	private static final String UPDATE_M = "無";

	/** 備考(要求結果の返却なし) */
	private static final String BIKO_YOKYU_KEKKA_HENKO_NON = "要求結果の返却なし";

	/** 備考(チェックの要求なし) */
	private static final String BIKO_CHK_YOKYU_NON = "チェックの要求なし";

// ANK-4021-00-00 DEL START
//	/** 備考(請求契約番号なし) */
//	private static final String BIKO_SEKYKEI_NO_NON = "請求契約番号なし";
//
//	/** 備考(DB変更有り) */
//	private static final String BIKO_DB_HENKO_U = "DB変更有り";
// ANK-4021-00-00 DEL END

	/** 有効性確認結果：0：有効性OK */
	private static final String YK_CFM_RSLT_OK = "0";
	
	/** 有効性確認結果：1：有効性NG */
	private static final String YK_CFM_RSLT_NG = "1";
	
	/** 有効性確認結果：2：照合エラー */
	private static final String YK_CFM_RSLT_ERR = "2";
	
// ANK-3846-00-00 ADD START
	/** 有効性確認結果：3:請求停止 */
	private static final String SEIKYU_TEISHI = "3";
	
	/** 有効性確認結果：4:カード会社契約無し */
	private static final String KADO_KAISHA_KEIYAKU_NASHI = "4";
	
	/** 有効性確認結果：5:有効性チェック非対応カード会社 */
	private static final String YK_CFM_RSLT_UNSUPPORTED = "5";
	
	/** 有効性確認結果：9:カード会社契約無し */
	private static final String PEIJENTO_SHOGO_ERA = "9";
// ANK-3846-00-00 ADD END
	
	// ANK-4606-00-00 ADD START
	/** 有効性確認結果：X:(有効性NG(UP LOAD分) */
	private static final String YK_NG_UPLOAD_BUN = "X";
	// ANK-4606-00-00 ADD END
	
	/** クレジットカード番号更新サイン：更新 */
	private static final String CRECA_NUM_UP_SIGHN_UP = "1";
	
// ANK-2565-00-00 ADD START
	/** クレジットカード有効期限更新サイン：変更あり */
	private static final String CRECA_YK_KIGEN_UP_SIGN_UP = "1";
	
	/** クレジットカード番号・有効期限更新サイン：変更なし */
	private static final String UP_SIGN_NONUP = "0";
// ANK-2565-00-00 ADD END
	
	/** 異動区分(クレジットカード有効期限変更) */
	private static final String IDO_DIV_CRECA_YK_CHG = "00059";

	/** 異動区分(クレジットカード番号変更) */
	private static final String IDO_DIV_CRECANO_CHG = "00060";

	/** 異動区分(クレジットカード無効) */
	private static final String IDO_DIV_CRECA_MK = "00058";
	
// ANK-3971-00-00 ADD START
	/** 異動区分(クレジットカード有効期限無効) */
	private static final String IDO_DIV_CRECA_YK_KIGEN_MK = "00092";
	
	/** 進捗ステータス(有効期限無効) */
	private static final String PRG_STAT_YK_KIGEN_MK = "4504";
// ANK-3971-00-00 ADD END
	
	/** 進捗ステータス(有効期限変更完了) */
	private static final String PRG_STAT_YK_KIGEN_CHG_FIN = "4502";

	/** 進捗ステータス(番号変更完了) */
	private static final String PRG_STAT_NO_CHG_FIN = "4503";

	/** 進捗ステータス(クレジットＣＤ無効) */
	private static final String PRG_STAT_CRDT_CD_MK = "4501";
	
	private static final String MATCH_STAT_MATCH = "1";
	
	private static final String MATCH_STAT_M_ONLY = "2";
	
	private static final String MATCH_STAT_T_ONLY = "3";
	
// ANK-3846-00-00 ADD START
	/** 空白 */
	private static final String EMPTY = "";
// ANK-3846-00-00 ADD END
	
// ANK-3846-00-00 DEL START
//	/** クレジットカード会社マスタ（KK_SELECT_007）のキャッシュ情報 */
//	private HashMap<String, String> cache_kk0521_select007 = new HashMap<String, String>();
// ANK-3846-00-00 DEL END
	
	/** クレジットカード会社マスタ（KK_SELECT_006）のキャッシュ情報 */
	private HashMap<String, String> cache_kk0521_select006 = new HashMap<String, String>();
// OM-2022-0000260 ADD START
	/** 半角空文字15桁 */
	private static final String HAFE_SPACE_15 = "               ";
// OM-2022-0000260 ADD END
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_M_CRECARD_COMP = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_CRECARD_COMP);
		
// ANK-3846-00-00 ADD START
		db_KK_T_SEIKY_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SEIKY_KEI);
// ANK-3846-00-00 ADD END
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		
		String[] freeItems = commonItem.getFreeItem().split(";");
		
		// 審査反映対象月の設定を行う。
		this.setSHaneiTaishoYM(freeItems[0]);
		
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param mastMap　入力電文(コンシューマ有効性チェック結果ファイル)
	 * @param tranMap　入力電文(クレジット審査チェックファイル)
	 * @param outputInItem  入力情報
	 * @return JBSbatOutputItem 出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		super.logPrint.printDebugLog("execute_START");
		
		JBSbatOutputItem outputBean = new JBSbatOutputItem();
		
		String matchStatus = inMap.getString(JBSbatKKIFM502.MATCH_STAT);
		
// ANK-2565-00-00 ADD START
// ANK-3846-00-00 MOD START
//		String crecardNoUpSign = inMap.getString(JBSbatKKIFM502.KKIFM013_CRECARD_NO_UP_SIGN);
		String crecardNoUpSign = inMap.getString(JBSbatKKIFM502.KKIFM013_CARD_NO_UPD_SAIN);
//		String crecardYkKigenUpSign = inMap.getString(JBSbatKKIFM502.KKIFM013_CRECARD_YK_KIGEN_UP_SIGN);
		String crecardYkKigenUpSign = inMap.getString(JBSbatKKIFM502.KKIFM013_YK_KIGEN_UPD_SAIN);
// ANK-3846-00-00 MOD END
// ANK-2565-00-00 ADD END
// ANK-4021-00-00 ADD START
// ANK-3846-00-00 MOD START
//		String ykCfmRslt = inMap.getString(JBSbatKKIFM502.KKIFM013_YK_CFM_RSLT);										// 有効性確認結果
		String ykCfmRslt = inMap.getString(JBSbatKKIFM502.KKIFM013_YK_JDGRSLT);											// 有効性確認結果
// ANK-3846-00-00 MOD END
// ANK-3846-00-00 DEL START
//		String crecaYkKigen = inMap.getString(JBSbatKKIFM502.KKIFM013_CRECARD_YK_KIGEN);								// クレジットカード有効期限
//		String newCrecaYkKigen = inMap.getString(JBSbatKKIFM502.KKIFM013_NEW_CRECARD_YK_KIGEN).replaceAll(" ", "0");	// 新クレジットカード有効期限
//		String jdgCrecaYkKigen = "";																					// 判定用クレジットカード有効期限(YYYYMM)
// ANK-3846-00-00 DEL END
		String opeDateTogtu = super.opeDate.substring(0, 6);															// 当月(YYYYMM)

// ANK-3846-00-00 DEL START
//		// 新クレジットカード有効期限をint型で保持する
//		int intNewCrecaYkKigen = Integer.parseInt(this.convStringZero(newCrecaYkKigen));
//		if(0 == intNewCrecaYkKigen)
//		{
//			jdgCrecaYkKigen = "20" + crecaYkKigen;
//		}
//		else
//		{
//			jdgCrecaYkKigen = "20" + newCrecaYkKigen;
//		}
// ANK-3846-00-00 DEL END
// ANK-4021-00-00 ADD END
		
		if (MATCH_STAT_M_ONLY.equals(matchStatus))
		{
// ANK-4021-00-00 ADD START
			// コンシューマ有効性チェック結果ファイルの有効性確認結果「OK」かつ有効期限「当月以前」でない場合
// ANK-3846-00-00 MOD START
//			if (YK_CFM_RSLT_OK.equals(ykCfmRslt) && opeDateTogtu.compareTo(jdgCrecaYkKigen) < 0)
			String jdgCrecaYkKigen = dateConversion(inMap.getString(JBSbatKKIFM502.KKIFM013_CARD_YK_KIGEN));				// カード有効期限(YYYYMM)
			if ((YK_CFM_RSLT_OK.equals(ykCfmRslt) 
					|| YK_CFM_RSLT_UNSUPPORTED.equals(ykCfmRslt))
					&& opeDateTogtu.compareTo(jdgCrecaYkKigen) < 0)
// ANK-3846-00-00 MOD END
			{
				// 出力なし。
				super.logPrint.printDebugLog("コンシューマ有効性チェック結果ファイルの有効性確認結果「OK」かつ有効期限「当月以前」でないため出力しません");
				return outputBean;
			}
// ANK-4021-00-00 ADD END
			
// ANK-3846-00-00 ADD START
			String [] param = new String[1];
			param[0] = inMap.getString(JBSbatKKIFM502.KKIFM013_CUST_ID);	// 顧客ＩＤ
			
			this.executeKK_T_SEIKY_KEI_KK_SELECT_071(param);
			JBSbatCommonDBInterface outMap = db_KK_T_SEIKY_KEI.selectNext();
			
			String seikyKeiNo = "";
			// 取得できない場合は、請求契約番号を空白として１件出力する。
			if (outMap == null)
			{
				outputBean.addOutMapList(this.createCreditSkekkaListFrom013(inMap, ""));
			}
			
			// 取得した請求契約番号の件数分出力する。
			while(outMap !=null)
			{
// ANK-3846-00-00 ADD END

				// クレジット審査処理結果リストの作成を行う。
// ANK-3846-00-00 MOD START
//				outputBean.addOutMapList(this.createCreditSkekkaListFrom013(inMap));
				seikyKeiNo = outMap.getString(JBSbatKK_T_SEIKY_KEI.SEIKY_KEI_NO);
				outputBean.addOutMapList(this.createCreditSkekkaListFrom013(inMap, seikyKeiNo));
// ANK-3846-00-00 MOD END
				
// ANK-3846-00-00 ADD START
				outMap = db_KK_T_SEIKY_KEI.selectNext();
			}
// ANK-3846-00-00 ADD END
		}
		else if (MATCH_STAT_T_ONLY.equals(matchStatus))
		{
// ************** v5.00.01 add start *****************
			// 有効性結果ＯＫ且つ、「カード番号」「有効期限」が変更無しの場合、処理対象外とする。
// ANK-3846-00-00 MOD START
//			String ykCfmRslt = inMap.getString(JBSbatKKIFM502.KKIFM013_YK_CFM_RSLT);										// 有効性確認結果
			String yk_cfm_rslt = inMap.getString(JBSbatKKIFM502.KKIFM013_YK_JDGRSLT);											// 有効性確認結果
// ANK-3846-00-00 MOD END
// ANK-2565-00-00 DEL START
//			String new_credit_card_no = inMap.getString(JBSbatKKIFM502.KKIFM013_NEW_CRECARD_NO);							// 新クレジットカード番号
//			String new_creca_yk_kigen = inMap.getString(JBSbatKKIFM502.KKIFM013_NEW_CRECARD_YK_KIGEN).replaceAll(" ", "0");	// 新クレジットカード有効期限
//			long int_new_credit_card_no = Long.parseLong(this.convStringZero(new_credit_card_no));
//			int int_new_creca_yk_kigen = Integer.parseInt(this.convStringZero(new_creca_yk_kigen));
// ANK-2565-00-00 DEL START
			
// ANK-2565-06-00 MOD START
//// ANK-2565-00-00 MOD START
////			// コンシューマ有効性チェック結果ファイルの有効性確認結果「OK」、新クレジットカード番号、新クレジットカード有効期限共に変更なし（オール0）の場合
////			if(YK_CFM_RSLT_OK.equals(yk_cfm_rslt) && 0 == int_new_credit_card_no && 0 == int_new_creca_yk_kigen)
//			// コンシューマ有効性チェック結果ファイルの有効性確認結果「OK」、クレジットカード番号更新サイン・クレジットカード有効期限更新サイン共に「変更なし」の場合
//			if (YK_CFM_RSLT_OK.equals(yk_cfm_rslt) && UP_SIGN_NONUP.equals(crecardNoUpSign) && UP_SIGN_NONUP.equals(crecardYkKigenUpSign))
//// ANK-2565-00-00 MOD END
			// コンシューマ有効性チェック結果ファイルの有効性確認結果「OK」、クレジットカード番号更新サイン・クレジットカード有効期限更新サイン共に「変更あり」以外の場合
			if (YK_CFM_RSLT_OK.equals(yk_cfm_rslt) && !CRECA_NUM_UP_SIGHN_UP.equals(crecardNoUpSign) && !CRECA_YK_KIGEN_UP_SIGN_UP.equals(crecardYkKigenUpSign))
// ANK-2565-06-00 MOD END
			{
				// 出力なし。
				super.logPrint.printDebugLog("コンシューマ有効性チェック結果ファイルの有効性確認結果「OK」、クレジットカード番号、クレジットカード有効期限共に変更なしのため出力しません");
				return outputBean;
			}
// ************** v5.00.01 add end *****************
			// クレジット審査処理結果リストの作成を行う。
			outputBean.addOutMapList(this.createCreditSkekkaListFrom036(inMap));
		}
		else
		{
// ************** v5.00.01 add start *****************
// ANK-4021-00-00 DEL START
//			// 有効性結果ＯＫ且つ、「カード番号」「有効期限」が変更無しの場合、処理対象外とする。
//			String yk_cfm_rslt = inMap.getString(JBSbatKKIFM502.KKIFM013_YK_CFM_RSLT);
//// ANK-2565-00-00 DEL START
////			String new_credit_card_no = inMap.getString(JBSbatKKIFM502.KKIFM013_NEW_CRECARD_NO);							// 新クレジットカード番号
////			String new_creca_yk_kigen = inMap.getString(JBSbatKKIFM502.KKIFM013_NEW_CRECARD_YK_KIGEN).replaceAll(" ", "0");	// 新クレジットカード有効期限
////			long int_new_credit_card_no = Long.parseLong(this.convStringZero(new_credit_card_no));
////			int int_new_creca_yk_kigen = Integer.parseInt(this.convStringZero(new_creca_yk_kigen));
//// ANK-2565-00-00 DEL END
//			
//// ANK-2565-06-00 MOD START
////// ANK-2565-00-00 MOD START
//////			// コンシューマ有効性チェック結果ファイルの有効性確認結果「OK」、新クレジットカード番号、新クレジットカード有効期限共に変更なし（オール0）の場合
//////			if(YK_CFM_RSLT_OK.equals(yk_cfm_rslt) && 0 == int_new_credit_card_no && 0 == int_new_creca_yk_kigen)
////			// コンシューマ有効性チェック結果ファイルの有効性確認結果「OK」、クレジットカード番号更新サイン・クレジットカード有効期限更新サイン共に「変更なし」の場合
////			if (YK_CFM_RSLT_OK.equals(yk_cfm_rslt) && UP_SIGN_NONUP.equals(crecardNoUpSign) && UP_SIGN_NONUP.equals(crecardYkKigenUpSign))
////// ANK-2565-00-00 MOD END
//			// コンシューマ有効性チェック結果ファイルの有効性確認結果「OK」、クレジットカード番号更新サイン・クレジットカード有効期限更新サイン共に「変更あり」以外の場合
//			if (YK_CFM_RSLT_OK.equals(yk_cfm_rslt) && !CRECA_NUM_UP_SIGHN_UP.equals(crecardNoUpSign) && !CRECA_YK_KIGEN_UP_SIGN_UP.equals(crecardYkKigenUpSign))
//// ANK-2565-06-00 MOD END
//			{
//				// 出力なし。
//				super.logPrint.printDebugLog("コンシューマ有効性チェック結果ファイルの有効性確認結果「OK」、クレジットカード番号、クレジットカード有効期限共に変更なしのため出力しません");
//				return outputBean;
//			}
// ANK-4021-00-00 DEL END
// ************** v5.00.01 add end *****************
			// クレジット審査処理結果リスト、クレジット審査処理結果更新ファイルの作成を行う。
			this.createCreditSkekkaListSame(outputBean, inMap);
		}
		
		super.logPrint.printDebugLog("execute_END");
		return outputBean;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_M_CRECARD_COMP.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}
	
	/**
	 * 審査反映対象月の設定。
	 * クレジット審査チェックファイルの先頭レコードより対象年月を取得し設定します。<br>
	 * <p>
	 * @param tranMap 入力情報（クレジット審査チェックファイル）
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void setSHaneiTaishoYM(String judgeHaneiYM) throws Exception
	{
		// データレコードより対象年月を抽出し、審査反映対象月に設定する。
		this.sHaneiTaishoYM= judgeHaneiYM;
		if("".equals(this.sHaneiTaishoYM.trim()))
		{
			// 対象年月が未設定の場合はバッチ運用日の１ヶ月後の年月を設定。
			this.sHaneiTaishoYM = JBSbatDateUtil.adjustMonth(super.opeDate, 1).substring(0, 6);
		}
	}
	
	/**
	 * クレジット審査処理結果リスト作成。
	 * クレジット審査チェックファイルにのみ存在する場合の処理です。<br>
	 * <p>
	 * @param tranMap 入力情報（クレジット審査チェックファイル）
	 * @return outmap_070 出力ファイル(クレジット審査処理結果リスト(KKIFE070))オブジェクト
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatServiceInterfaceMap createCreditSkekkaListFrom036(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		// データレコードより項目を抽出
// ANK-3846-00-00 MOD START
//		String taisho_ym = inMap.getString(JBSbatKKIFM502.KKIFM036_JUDGE_HANEI_TRGT_MON);				// 対象年月
		String taisho_ym = inMap.getString(JBSbatKKIFM502.KKIFM036_TRGT_YM);							// 対象年月
// ANK-3846-00-00 MOD END
		if("".equals(taisho_ym.trim()))
		{
			// 対象年月が未設定の場合はバッチ運用日の１ヶ月後の年月を設定。
			taisho_ym = JBSbatDateUtil.adjustMonth(super.opeDate, 1).substring(0, 6);
		}
		
		String credit_comp_cd   = inMap.getString(JBSbatKKIFM502.KKIFM036_CRECARD_COMP_CD);           // クレジットカード会社コード
// ANK-3846-00-00 MOD START
//		String credit_kokan_cd  = inMap.getString(JBSbatKKIFM502.CREDIT_KOKAN_CD);                    // クレジット交換コード
		String credit_kokan_cd  = inMap.getString(JBSbatKKIFM502.KKIFM036_CREDIT_KOKAN_CD);           // クレジット交換コード
//		String credit_card_no   = inMap.getString(JBSbatKKIFM502.CRECARD_NO);                         // クレジットカード番号
		String credit_card_no   = inMap.getString(JBSbatKKIFM502.KKIFM036_CRECARD_NO);                // クレジットカード番号
// ANK-3846-00-00 MOD END
		String seiky_kei_no     = inMap.getString(JBSbatKKIFM502.KKIFM036_SEIKY_KEI_NO);              // 請求契約番号
		String creca_meigi_kana = inMap.getString(JBSbatKKIFM502.KKIFM036_CRECARD_NM_KANA);           // クレジットカード名義カナ名
		String sohusaki_tel_no  = inMap.getString(JBSbatKKIFM502.KKIFM036_SOHUS_TELNO);               // 送付先電話番号
// ANK-3846-00-00 MOD START
//		String creca_yk_kigen   = inMap.getString(JBSbatKKIFM502.KKIFM036_CRECARD_YK_KIGEN_YYYYMM);   // クレジットカード有効期限
		String creca_yk_kigen   = inMap.getString(JBSbatKKIFM502.KKIFM036_CRECARD_YK_KIGEN);   		  // クレジットカード有効期限
// ANK-3846-00-00 MOD END
		
		// 出力ファイル(クレジット審査処理結果リスト(KKIFE070))へ設定
		JBSbatServiceInterfaceMap outmap_070 = new JBSbatServiceInterfaceMap();
		outmap_070.setString(JBSbatKKIFE070.TAISYO_YY, taisho_ym.substring(2, 4));			// 対象年月（年）
		outmap_070.setString(JBSbatKKIFE070.TAISYO_MM, taisho_ym.substring(4, 6));			// 対象年月（月）
		
		if (!cache_kk0521_select006.containsKey(credit_comp_cd))
		{
			// クレジットカード会社コード、審査反映月1日（対象年月1日）
			// を条件とし、クレジットカード会社マスタ．会社略称を取得する
			String [] param = new String[3];
			param[0] = credit_comp_cd;
			param[1] = taisho_ym + "01";
			param[2] = taisho_ym + "01";
			
			// 検索結果を取得します。
			this.executeKK_M_CRECARD_COMP_KK_SELECT_006(param);
			JBSbatCommonDBInterface outMap = db_KK_M_CRECARD_COMP.selectNext();
			
			String crecard_comp_ali = "";
			// 検索結果があれば
			if(null != outMap)
			{
				// 15桁以上の場合はカットする。
				crecard_comp_ali = outMap.getString("CRECARD_COMP_ALI");
				if(15 < crecard_comp_ali.length() )
				{
					crecard_comp_ali = crecard_comp_ali.substring(0, 15);
				}
			}
			cache_kk0521_select006.put(credit_comp_cd, crecard_comp_ali);
		}
		outmap_070.setString(JBSbatKKIFE070.CRECARD_COMP_NAME, cache_kk0521_select006.get(credit_comp_cd));   // クレジットカード会社名
		
		outmap_070.setString(JBSbatKKIFE070.CREDIT_KOKAN_CD, 	credit_kokan_cd);														// クレジット交換コード
// ANK-3846-00-00 MOD START
//		outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, 		RESULT_F_FUSEIGO);														// 結果内容
		outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, 		RESULT_YK_NASHI_FUSEIGO);												// 結果内容
// ANK-3846-00-00 MOD END
		outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, 			UPDATE_M);																// 更新有無
// ************** v10.00.00 修正開始 *****************
//		outmap_070.setString(JBSbatKKIFE070.CRECARD_NO, 		JCCBatCommon.getEncryptResultPassword(credit_card_no));														// クレジットカード番号
// ANK-2565-00-00 MOD START
//		outmap_070.setString(JBSbatKKIFE070.CRECARD_NO, 		JCCBatCommon.getEncryptResultPassword(this.getCrecardnoZeroCut(credit_card_no)));	// クレジットカード番号
		outmap_070.setString(JBSbatKKIFE070.CRECARD_NO, 		"");																	// クレジットカード番号
// ANK-2565-00-00 MOD END
// ANK-2565-00-00 ADD START
		outmap_070.setString(JBSbatKKIFE070.CRECARD_NO_AZKRI_ID, credit_card_no);														// カード預りID
// ANK-2565-00-00 ADD END
// ************** v10.00.00 修正終了 *****************
		outmap_070.setString(JBSbatKKIFE070.SEIKY_KEI_NO, 		seiky_kei_no);															// 請求契約番号
// OM-2022-0000260 MOD START
//		outmap_070.setString(JBSbatKKIFE070.SOHUS_KANA, 		creca_meigi_kana);														// 送付先カナ名
		outmap_070.setString(JBSbatKKIFE070.SOHUS_KANA, 		HAFE_SPACE_15);															// 送付先カナ名
// OM-2022-0000260 MOD END
		outmap_070.setString(JBSbatKKIFE070.SOHUS_TEL_NO, 		sohusaki_tel_no);														// 送付先電話番号
// ************** v10.00.00 修正開始 *****************
//		outmap_070.setString(JBSbatKKIFE070.OLD_CRECARD_NO, 	JCCBatCommon.getEncryptResultPassword(credit_card_no));														// 旧クレジットカード番号
// ANK-2565-00-00 DEL START
//		outmap_070.setString(JBSbatKKIFE070.OLD_CRECARD_NO, 	JCCBatCommon.getEncryptResultPassword(this.getCrecardnoZeroCut(credit_card_no)));		// 旧クレジットカード番号
// ANK-2565-00-00 DEL END
// ************** v10.00.00 修正終了 *****************
		outmap_070.setString(JBSbatKKIFE070.YK_KIGEN, 			creca_yk_kigen.substring(2, 4) + "/" + creca_yk_kigen.substring(4, 6));	// 有効期限
		outmap_070.setString(JBSbatKKIFE070.BIKOU, 				BIKO_YOKYU_KEKKA_HENKO_NON);	// 備考
		
		// クレジット審査処理結果リスト出力
		outmap_070.setOutFlg(true);
		
		return outmap_070;
	}
	
	/**
	 * クレジット審査処理結果リスト作成。
	 * コンシューマ有効性チェック結果ファイルにのみ存在する場合の処理です。<br>
	 * <p>
	 * @param mastMap 入力情報（コンシューマ有効性チェック結果ファイル）
	 * @return outmap_070 出力ファイル(クレジット審査処理結果リスト(KKIFE070))オブジェクト
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
// ANK-3846-00-00 MOD START
//	private JBSbatServiceInterfaceMap createCreditSkekkaListFrom013(JBSbatServiceInterfaceMap mastMap) throws Exception
	private JBSbatServiceInterfaceMap createCreditSkekkaListFrom013(JBSbatServiceInterfaceMap mastMap, String seikyKeiNo) throws Exception
// ANK-3846-00-00 MOD END
	{
		// コンシューマ有効性チェック結果ファイルより項目を抽出
// ANK-3846-00-00 DEL START
//		String credit_kokan_cd = mastMap.getString(JBSbatKKIFM502.CREDIT_KOKAN_CD);				// クレジット交換コード
//		String credit_card_no = mastMap.getString(JBSbatKKIFM502.CRECARD_NO);					// クレジットカード番号(※カード預りID)
// ANK-3846-00-00 DEL END
// ANK-3846-00-00 MOD START
//		String yk_cfm_rslt = inMap.getString(JBSbatKKIFM502.KKIFM013_YK_CFM_RSLT);										// 有効性確認結果
		String yk_cfm_rslt = mastMap.getString(JBSbatKKIFM502.KKIFM013_YK_JDGRSLT);											// 有効性確認結果
// ANK-3846-00-00 MOD END
// ANK-3846-00-00 MOD START
//		String crecard_no_up_sign = inMap.getString(JBSbatKKIFM502.KKIFM013_CRECARD_NO_UP_SIGN); 		// クレジットカード番号更新サイン
		String crecard_no_up_sign = mastMap.getString(JBSbatKKIFM502.KKIFM013_CARD_NO_UPD_SAIN); 		// クレジットカード番号更新サイン
// ANK-3846-00-00 MOD END
// ANK-3846-00-00 DEL START		
//		String new_credit_card_no = mastMap.getString(JBSbatKKIFM502.KKIFM013_NEW_CRECARD_NO);			// 新クレジットカード番号
//		String membstr_nin_use1 = mastMap.getString(JBSbatKKIFM502.KKIFM013_MEMBSTR_NIN_USE_RAN1);		// 加盟店任意使用欄1
//		String membstr_nin_use2 = mastMap.getString(JBSbatKKIFM502.KKIFM013_MEMBSTR_NIN_USE_RAN2);		// 加盟店任意使用欄2
// ANK-3846-00-00 DEL END
// ANK-3846-00-00 MOD START
//		String crecard_yk_kigen = mastMap.getString(JBSbatKKIFM502.KKIFM013_CRECARD_YK_KIGEN);	// クレジットカード有効期限
		String crecard_yk_kigen = mastMap.getString(JBSbatKKIFM502.KKIFM013_CARD_YK_KIGEN);	// カード有効期限
// ANK-3846-00-00 MOD END
// ANK-3846-00-00 ADD START
		String maskCardNo = mastMap.getString(JBSbatKKIFM502.KKIFM013_MASK_CARD_NO); 			// マスクされたカード番号
		String custId = mastMap.getString(JBSbatKKIFM502.KKIFM013_CUST_ID);								// 顧客ＩＤ
// ANK-3846-00-00 ADD END
		
		// 出力ファイル(クレジット審査処理結果リスト(KKIFE070))へ設定
		JBSbatServiceInterfaceMap outmap_070 = new JBSbatServiceInterfaceMap();
		
		// 保持した審査反映対象年月より設定。
		outmap_070.setString(JBSbatKKIFE070.TAISYO_YY, sHaneiTaishoYM.substring(2, 4));		// 対象年月（年）
		outmap_070.setString(JBSbatKKIFE070.TAISYO_MM, sHaneiTaishoYM.substring(4, 6));		// 対象年月（月）
// ANK-3846-00-00 ADD START
		outmap_070.setString(JBSbatKKIFE070.CRECARD_COMP_NAME, EMPTY);						// クレジットカード会社名
		outmap_070.setString(JBSbatKKIFE070.CREDIT_KOKAN_CD, EMPTY);						// クレジット交換コード
// ANK-3846-00-00 ADD END
		
// ANK-3846-00-00 DEL START
//		if (!cache_kk0521_select007.containsKey(credit_kokan_cd))
//		{
//			// クレジットカード交換コード、審査反映月1日（対象年月1日）
//			// を条件とし、クレジットカード会社マスタ．会社略称を取得する
//			String [] param = new String[3];
//			param[0] = credit_kokan_cd;
//			param[1] = sHaneiTaishoYM + "01";
//			param[2] = sHaneiTaishoYM + "01";
//			
//			// 検索結果を取得します。
//			this.executeKK_M_CRECARD_COMP_KK_SELECT_007(param);
//			JBSbatCommonDBInterface outMap = db_KK_M_CRECARD_COMP.selectNext();
//			
//			String crecard_comp_ali = "";
//			if (outMap != null) {
//				crecard_comp_ali = outMap.getString("CRECARD_COMP_ALI");
//				if(15 < crecard_comp_ali.length() )
//				{
//					crecard_comp_ali = crecard_comp_ali.substring(0, 15);
//				}
//			}
//			cache_kk0521_select007.put(credit_kokan_cd, crecard_comp_ali);
//		}
//		
//		outmap_070.setString(JBSbatKKIFE070.CRECARD_COMP_NAME, cache_kk0521_select007.get(credit_kokan_cd));   // クレジットカード会社名

//		outmap_070.setString(JBSbatKKIFE070.CREDIT_KOKAN_CD, 	credit_kokan_cd);				// クレジット交換コード
//		outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, 		RESULT_F_FUSEIGO);				// 結果内容
//		outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, 			UPDATE_M);						// 更新有無
// ANK-3846-00-00 DEL END
// ANK-3846-00-00 ADD START
		outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, 		RESULT_CHK_YK_NASHI_FUSEIGO);			// 結果内容
		outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, 			UPDATE_M);								// 更新有無
// ANK-3846-00-00 ADD END
		
// ANK-2565-00-00 MOD START
//		// 有効性確認結果「OK」、クレジットカード番号更新サイン「更新」、新クレジットカード番号「オール0」以外
//		if(yk_cfm_rslt.equals(YK_CFM_RSLT_OK)
//				&& crecard_no_up_sign.equals(CRECA_NUM_UP_SIGHN_UP)
//				&& 0 != (Long.parseLong(this.convStringZero(new_credit_card_no))))
		// 有効性確認結果「OK」、クレジットカード番号更新サイン「変更あり」
// ANK-3846-00-00 MOD START
//		if (YK_CFM_RSLT_OK.equals(yk_cfm_rslt)
//				&& CRECA_NUM_UP_SIGHN_UP.equals(crecard_no_up_sign))
		if ((YK_CFM_RSLT_OK.equals(yk_cfm_rslt) 
				|| YK_CFM_RSLT_UNSUPPORTED.equals(yk_cfm_rslt))
				&& CRECA_NUM_UP_SIGHN_UP.equals(crecard_no_up_sign))
// ANK-3846-00-00 MOD END
// ANK-2565-00-00 MOD END
		{
// ************** v10.00.00 修正開始 *****************
//			outmap_070.setString(JBSbatKKIFE070.CRECARD_NO, JCCBatCommon.getEncryptResultPassword(new_credit_card_no));					// クレジットカード番号
// ANK-2565-00-00 MOD START
//			outmap_070.setString(JBSbatKKIFE070.CRECARD_NO, JCCBatCommon.getEncryptResultPassword(this.getCrecardnoZeroCut(new_credit_card_no)));	// クレジットカード番号
// ANK-3846-00-00 MOD START
//			if (new_credit_card_no.length() > 4)
//			{
//				new_credit_card_no = new_credit_card_no.substring(new_credit_card_no.length() - 4);
//			}
			if (maskCardNo.length() > 4)
			{
				maskCardNo = maskCardNo.substring(maskCardNo.length() - 4);
			}
// ANK-4021-00-00 MOD START
//			outmap_070.setString(JBSbatKKIFE070.CRECARD_NO, JCCBatCommon.getEncryptResultPassword(new_credit_card_no));					// クレジットカード番号
//			outmap_070.setString(JBSbatKKIFE070.CRECARD_NO, new_credit_card_no);					// クレジットカード番号
			outmap_070.setString(JBSbatKKIFE070.CRECARD_NO, maskCardNo);							// クレジットカード番号
// ANK-3846-00-00 MOD END
// ANK-4021-00-00 MOD END
// ANK-2565-00-00 MOD END
// ************** v10.00.00 修正終了 *****************
		}
		else
		{
// ************** v10.00.00 修正開始 *****************
//			outmap_070.setString(JBSbatKKIFE070.CRECARD_NO, JCCBatCommon.getEncryptResultPassword(credit_card_no));						// クレジットカード番号
// ANK-2565-00-00 MOD START
//			outmap_070.setString(JBSbatKKIFE070.CRECARD_NO, JCCBatCommon.getEncryptResultPassword(this.getCrecardnoZeroCut(credit_card_no)));	// クレジットカード番号
			outmap_070.setString(JBSbatKKIFE070.CRECARD_NO, "");																			// クレジットカード番号
// ANK-2565-00-00 MOD END
// ************** v10.00.00 修正終了 *****************
		}
// ANK-2565-00-00 ADD START
// ANK-3846-00-00 MOD START
//		outmap_070.setString(JBSbatKKIFE070.CRECARD_NO_AZKRI_ID, credit_card_no);															// カード預りID
		outmap_070.setString(JBSbatKKIFE070.CRECARD_NO_AZKRI_ID, custId);																	// カード預りID
// ANK-3846-00-00 MOD END
// ANK-2565-00-00 ADD END
		
// ANK-3846-00-00 MOD START
//		outmap_070.setString(JBSbatKKIFE070.SEIKY_KEI_NO, 	membstr_nin_use1.substring(0, 10));												// 請求契約番号
//// OM-2022-0000260 MOD START
////		outmap_070.setString(JBSbatKKIFE070.SOHUS_KANA, 	membstr_nin_use2);																// 送付先カナ名
//		outmap_070.setString(JBSbatKKIFE070.SOHUS_KANA, 	HAFE_SPACE_15);																	// 送付先カナ名
//// OM-2022-0000260 MOD END
		outmap_070.setString(JBSbatKKIFE070.SEIKY_KEI_NO, 	seikyKeiNo);												// 請求契約番号
		outmap_070.setString(JBSbatKKIFE070.SOHUS_KANA, 	EMPTY);																			// 送付先カナ名

//		outmap_070.setString(JBSbatKKIFE070.SOHUS_TEL_NO, 	"");																			// 送付先電話番号
		outmap_070.setString(JBSbatKKIFE070.SOHUS_TEL_NO, 	EMPTY);																			// 送付先電話番号
// ANK-3846-00-00 MOD END
// ************** v10.00.00 修正開始 *****************
//		outmap_070.setString(JBSbatKKIFE070.OLD_CRECARD_NO, 	JCCBatCommon.getEncryptResultPassword(credit_card_no));															// 旧クレジットカード番号
// ANK-2565-00-00 DEL START
//		outmap_070.setString(JBSbatKKIFE070.OLD_CRECARD_NO, 	JCCBatCommon.getEncryptResultPassword(this.getCrecardnoZeroCut(credit_card_no)));	// 旧クレジットカード番号
// ANK-2565-00-00 DEL END
// ************** v10.00.00 修正終了 *****************
// ANK-3846-00-00 MOD START
//		outmap_070.setString(JBSbatKKIFE070.YK_KIGEN, 		crecard_yk_kigen.substring(0, 2) + "/" + crecard_yk_kigen.substring(2, 4));		// 有効期限(YYMM→YY/MMに)
		outmap_070.setString(JBSbatKKIFE070.YK_KIGEN, 		crecard_yk_kigen.substring(2, 4) + "/" + crecard_yk_kigen.substring(0, 2));		// 有効期限(MMYY→YY/MMに)
// ANK-3846-00-00 MOD END
		outmap_070.setString(JBSbatKKIFE070.BIKOU, 			BIKO_CHK_YOKYU_NON);															// 備考
		
		// クレジット審査処理結果リスト出力
		outmap_070.setOutFlg(true);
		
		return outmap_070;
	}
	
	/**
	 * クレジット審査処理結果リスト作成。
	 * コンシューマ有効性チェック結果ファイルとクレジット審査チェックファイルに存在する場合の処理です。<br>
	 * <p>
	 * @param outputBean 入力情報
	 * @param mastMap 入力情報（コンシューマ有効性チェック結果ファイル）
	 * @param tranMap 入力情報（クレジット審査チェックファイル）
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void createCreditSkekkaListSame(JBSbatOutputItem outputBean, JBSbatServiceInterfaceMap inMap) throws Exception
	{
		
		// コンシューマ有効性チェック結果ファイルより項目を抽出
// ANK-3846-00-00 MOD START
//		String yk_cfm_rslt = inMap.getString(JBSbatKKIFM502.KKIFM013_YK_CFM_RSLT);										// 有効性確認結果
		String yk_cfm_rslt = inMap.getString(JBSbatKKIFM502.KKIFM013_YK_JDGRSLT);											// 有効性確認結
		
		// データレコードより項目を抽出
//		String credit_card_no      = inMap.getString(JBSbatKKIFM502.CRECARD_NO);                        // クレジットカード番号（※カード預りID）
		String credit_card_no      = inMap.getString(JBSbatKKIFM502.KKIFM036_CRECARD_NO);               // クレジットカード番号（※カード預りID）
//		String creca_yk_kigen      = inMap.getString(JBSbatKKIFM502.KKIFM036_CRECARD_YK_KIGEN_YYYYMM);  // クレジットカード有効期限
		String creca_yk_kigen      = inMap.getString(JBSbatKKIFM502.KKIFM036_CRECARD_YK_KIGEN);  		// クレジットカード有効期限
// ANK-3846-00-00 MOD END
		String add_credit_comp_cd  = inMap.getString(JBSbatKKIFM502.KKIFM036_ADD_CRECARD_COMP_CD);      // 登録クレジットカード会社コード
		String add_credit_kokan_cd = inMap.getString(JBSbatKKIFM502.KKIFM036_ADD_CREDIT_KOKAN_CD);      // 登録クレジット交換コード
// ANK-2565-00-00 ADD START
// ANK-3846-00-00 MOD START
//		String crecaNoUpSign = inMap.getString(JBSbatKKIFM502.KKIFM013_CRECARD_NO_UP_SIGN);		// クレジットカード番号更新サイン
		String crecaNoUpSign = inMap.getString(JBSbatKKIFM502.KKIFM013_CARD_NO_UPD_SAIN);			// クレジットカード番号更新サイン
//		String crecardYkKigenUpSign = inMap.getString(JBSbatKKIFM502.KKIFM013_CRECARD_YK_KIGEN_UP_SIGN);	// クレジットカード有効期限更新サイン
		String crecaYkKigenUpSign = inMap.getString(JBSbatKKIFM502.KKIFM013_YK_KIGEN_UPD_SAIN);			// クレジットカード有効期限更新サイン
// ANK-3846-00-00 MOD END
// ANK-2565-00-00 ADD END
// ANK-3971-00-00 ADD START
// ANK-3846-00-00 MOD START
//		String creditKokanCd  = inMap.getString(JBSbatKKIFM502.CREDIT_KOKAN_CD);                    // クレジット交換コード
		String creditKokanCd  = inMap.getString(JBSbatKKIFM502.KKIFM036_CREDIT_KOKAN_CD);           // クレジット交換コード
// ANK-3846-00-00 MOD END
// ANK-3971-00-00 ADD END
// ANK-4021-00-00 ADD START
// ANK-3846-00-00 DEL START
//		String crecaYkKigen        = inMap.getString(JBSbatKKIFM502.KKIFM013_CRECARD_YK_KIGEN);								// クレジットカード有効期限
//		String newCrecaYkKigen     = inMap.getString(JBSbatKKIFM502.KKIFM013_NEW_CRECARD_YK_KIGEN).replaceAll(" ", "0");	// 新クレジットカード有効期限
// ANK-3846-00-00 DEL END
// ANK-3846-00-00 MOD START
//		String jdgCrecaYkKigen = "";																					// 判定用クレジットカード有効期限(YYYYMM)
		String jdgCrecaYkKigen = dateConversion(inMap.getString(JBSbatKKIFM502.KKIFM013_CARD_YK_KIGEN));				// カード有効期限(YYYYMM)
// ANK-3846-00-00 MOD END
		String opeDateTogtu        = super.opeDate.substring(0, 6);															// 当月(YYYYMM)

// ANK-3846-00-00 DEL START
//		// 新クレジットカード有効期限をint型で保持する
//		int intNewCrecaYkKigen = Integer.parseInt(this.convStringZero(newCrecaYkKigen));
//		if(0 == intNewCrecaYkKigen)
//		{
//			jdgCrecaYkKigen = "20" + crecaYkKigen;
//		}
//		else
//		{
//			jdgCrecaYkKigen = "20" + newCrecaYkKigen;
//		}
// ANK-3846-00-00 DEL END
// ANK-4021-00-00 ADD END
		
// ANK-2565-00-00 DEL START
//		// KKIFM013より新「クレジットカード番号」及び「新クレジットカード有効期限」を取得する。
//		String new_credit_card_no = inMap.getString(JBSbatKKIFM502.KKIFM013_NEW_CRECARD_NO);							// 新クレジットカード番号
//		String new_creca_yk_kigen = inMap.getString(JBSbatKKIFM502.KKIFM013_NEW_CRECARD_YK_KIGEN).replaceAll(" ", "0");	// 新クレジットカード有効期限
//		
//		// 数値型に変換し保持する。
//		long int_credit_card_no = Long.parseLong(this.convStringZero(credit_card_no));
//		long int_new_credit_card_no = Long.parseLong(this.convStringZero(new_credit_card_no));
//		int int_new_creca_yk_kigen = Integer.parseInt(this.convStringZero(new_creca_yk_kigen));
// ANK-2565-00-00 DEL END
		
		String kk0491_geneAddDtm = inMap.getString(JBSbatKKIFM502.KK0491_GENE_ADD_DTM);
		
		// 検索結果のチェック
		if(kk0491_geneAddDtm == null || "".equals(kk0491_geneAddDtm))
		{
// ANK-4021-00-00 DEL START
//			// 備考に「請求契約番号なし」を設定し、クレジット審査処理結果リストに出力する。
//			outputBean.addOutMapList(this.createCreditSkekkaList(inMap, BIKO_SEKYKEI_NO_NON));
// ANK-4021-00-00 DEL END
		}
		else
		{
			String kk0521_seikyWayNoCrecard = inMap.getString(JBSbatKKIFM502.KK0521_SEIKY_WAY_NO_CRECARD);
			
			// 検索結果が存在しない場合（KK0521 KK_T_CRECARD）
			if (kk0521_seikyWayNoCrecard == null || "".equals(kk0521_seikyWayNoCrecard))
			{
// ANK-4021-00-00 DEL START
//				// 備考に「DB変更有り」を設定し、クレジット審査処理結果リストに出力する。
//				outputBean.addOutMapList(this.createCreditSkekkaList(inMap, BIKO_DB_HENKO_U));
// ANK-4021-00-00 DEL END
			}
// ANK-2565-00-00 MOD START
//			// クレジットカード番号に違いがある場合
//			else if (!String.valueOf(int_credit_card_no).equals(JCCBatCommon.getDecryptResult(commonItem, inMap.getString(JBSbatKKIFM502.KK0521_CRECARD_NO))))
			// クレジットカード番号（※カード預りID）に違いがある場合
			else if (!credit_card_no.equals(inMap.getString(JBSbatKKIFM502.KK0521_CRECARD_NO)))
// ANK-2565-00-00 MOD END
			{
// ANK-4021-00-00 DEL START
//				// 備考に「DB変更有り」を設定し、クレジット審査処理結果リストに出力する。
//				outputBean.addOutMapList(this.createCreditSkekkaList(inMap, BIKO_DB_HENKO_U));
// ANK-4021-00-00 DEL END
			}
			// クレジットカード有効期限に違いがある場合
			else if (!creca_yk_kigen.equals(inMap.getString(JBSbatKKIFM502.KK0521_CRECARD_YK_KIGEN)))
			{
// ANK-4021-00-00 DEL START
//				// 備考に「DB変更有り」を設定し、クレジット審査処理結果リストに出力する。
//				outputBean.addOutMapList(this.createCreditSkekkaList(inMap, BIKO_DB_HENKO_U));
// ANK-4021-00-00 DEL END
			}
			// クレジット会社コードに違いがある場合
			else if (!JBSbatStringUtil.Rtrim(add_credit_comp_cd).equals(JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKKIFM502.KK0521_CRECARD_COMP_CD))))
			{
// ANK-4021-00-00 DEL START
//				// 備考に「DB変更有り」を設定し、クレジット審査処理結果リストに出力する。
//				outputBean.addOutMapList(this.createCreditSkekkaList(inMap, BIKO_DB_HENKO_U));
// ANK-4021-00-00 DEL END
			}
			// クレジット会社交換コードに違いがある場合
			else if (!JBSbatStringUtil.Rtrim(add_credit_kokan_cd).equals(JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKKIFM502.KK0521_CREDIT_KOKAN_CD))))
			{
// ANK-4021-00-00 DEL START
//				// 備考に「DB変更有り」を設定し、クレジット審査処理結果リストに出力する。
//				outputBean.addOutMapList(this.createCreditSkekkaList(inMap, BIKO_DB_HENKO_U));
// ANK-4021-00-00 DEL END
			}
			else
			{
// ANK-2565-06-00 MOD START
//// ANK-2565-00-00 MOD START
////				// コンシューマ有効性チェック結果ファイルの有効性確認結果「OK」、新クレジットカード番号、新クレジットカード有効期限共に変更なし（オール0）の場合
////				if(yk_cfm_rslt.equals(YK_CFM_RSLT_OK) && 0 == int_new_credit_card_no && 0 == int_new_creca_yk_kigen)
//				// コンシューマ有効性チェック結果ファイルの有効性確認結果「OK」、クレジットカード番号更新サイン・クレジットカード有効期限更新サイン共に「変更なし」の場合
//				if (YK_CFM_RSLT_OK.equals(yk_cfm_rslt) && UP_SIGN_NONUP.equals(crecaNoUpSign) && UP_SIGN_NONUP.equals(crecaYkKigenUpSign))
//// ANK-2565-00-00 MOD END
				// コンシューマ有効性チェック結果ファイルの有効性確認結果「OK」、クレジットカード番号更新サイン・クレジットカード有効期限更新サイン共に「変更あり」以外の場合
// ANK-3846-00-00 MOD START
//				if (YK_CFM_RSLT_OK.equals(yk_cfm_rslt) && !CRECA_NUM_UP_SIGHN_UP.equals(crecaNoUpSign) && !CRECA_YK_KIGEN_UP_SIGN_UP.equals(crecaYkKigenUpSign))
				if ((YK_CFM_RSLT_OK.equals(yk_cfm_rslt) 
						|| YK_CFM_RSLT_UNSUPPORTED.equals(yk_cfm_rslt)) 
						&& !CRECA_NUM_UP_SIGHN_UP.equals(crecaNoUpSign) && !CRECA_YK_KIGEN_UP_SIGN_UP.equals(crecaYkKigenUpSign))
// ANK-3846-00-00 MOD END
// ANK-2565-06-00 MOD END
				{
// ANK-4021-00-00 MOD START
//					// 出力なし。
//					super.logPrint.printDebugLog("コンシューマ有効性チェック結果ファイルの有効性確認結果「OK」、クレジットカード番号、クレジットカード有効期限共に変更なしのため出力しません");
					// 有効期限が「当月以前」の場合
					if (opeDateTogtu.compareTo(jdgCrecaYkKigen) >= 0)
					{
						// クレジット審査処理結果リストに出力する。
						outputBean.addOutMapList(this.createCreditSkekkaList(inMap, ""));
					}
					else
					{
						// 出力なし。
						super.logPrint.printDebugLog("コンシューマ有効性チェック結果ファイルの有効性確認結果「OK」かつ有効期限「当月以前」でないため出力しません");
					}
// ANK-4021-00-00 MOD END
// ANK-3971-00-00 ADD START
					// 有効期限が「当月以前」の場合
					if (opeDateTogtu.compareTo(jdgCrecaYkKigen) >= 0 && JKKStrConst.CREDIT_KOKAN_CD_VISA.equals(creditKokanCd))
					{
						// クレジット審査処理結果更新ファイルに出力する。
						outputBean.addOutMapList_2(this.createCreditSkekkaUpFile(inMap));
					}					
// ANK-3971-00-00 ADD END
				}
				// コンシューマ有効性チェック結果ファイルの「有効性確認結果」が「OK」、新クレジットカード番号または新クレジットカード有効期限が変更ありの場合
				// コンシューマ有効性チェック結果ファイルの「有効性確認結果」が「NG」(2)または「ｴﾗｰ」(3)の場合
				else
				{
// ANK-4021-00-00 MOD START
//					// クレジット審査処理結果リストに出力する。
//					outputBean.addOutMapList(this.createCreditSkekkaList(inMap, ""));
// ANK-3846-00-00 MOD START
//					// コンシューマ有効性チェック結果ファイルの「有効性確認結果」が「OK」、新クレジットカード番号または新クレジットカード有効期限が変更ありの場合
//					if (YK_CFM_RSLT_OK.equals(yk_cfm_rslt))
					// コンシューマ有効性チェック結果ファイルの「有効性確認結果」が「OK」「有効性チェック非対応カード会社」、新クレジットカード番号または新クレジットカード有効期限が変更ありの場合
					if (YK_CFM_RSLT_OK.equals(yk_cfm_rslt) || YK_CFM_RSLT_UNSUPPORTED.equals(yk_cfm_rslt))
// ANK-3846-00-00 MOD END
					{
						// 有効期限が「当月以前」の場合
						if (opeDateTogtu.compareTo(jdgCrecaYkKigen) >= 0)
						{
							// クレジット審査処理結果リストに出力する。
							outputBean.addOutMapList(this.createCreditSkekkaList(inMap, ""));
						}
					}
					// コンシューマ有効性チェック結果ファイルの「有効性確認結果」が「NG」(2)または「ｴﾗｰ」(3)の場合
					else
					{
						// クレジット審査処理結果リストに出力する。
						outputBean.addOutMapList(this.createCreditSkekkaList(inMap, ""));
					}
// ANK-4021-00-00 MOD END
					// クレジット審査処理結果更新ファイルに出力する。
					outputBean.addOutMapList_2(this.createCreditSkekkaUpFile(inMap));
				}
			}
		}
	}
	
	/**
	 * クレジット審査処理結果リスト作成。
	 * コンシューマ有効性チェック結果ファイルとクレジット審査チェックファイルに存在する場合に
	 * 指定された「備考」を設定し、クレジット審査処理結果リストを作成します。<br>
	 * <p>
	 * @param mastMap 入力情報（コンシューマ有効性チェック結果ファイル）
	 * @param tranMap 入力情報（クレジット審査チェックファイル）
	 * @param biko 備考
	 * @return outmap_070 出力ファイル(クレジット審査処理結果リスト(KKIFE070))オブジェクト
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatServiceInterfaceMap createCreditSkekkaList(JBSbatServiceInterfaceMap inMap, String biko)
			throws Exception
	{
		// コンシューマ有効性チェック結果ファイルより項目を抽出
// ANK-3846-00-00 MOD START		
//		String credit_card_no     = inMap.getString(JBSbatKKIFM502.CRECARD_NO);											// クレジットカード番号（※カード預りID）
		String credit_card_no     = inMap.getString(JBSbatKKIFM502.KKIFM036_CRECARD_NO);								// クレジットカード番号（※カード預りID）
// ANK-3846-00-00 MOD END
// ANK-3846-00-00 DEL START
//		String creca_yk_kigen     = inMap.getString(JBSbatKKIFM502.KKIFM013_CRECARD_YK_KIGEN);							// クレジットカード有効期限
//		String new_credit_card_no = inMap.getString(JBSbatKKIFM502.KKIFM013_NEW_CRECARD_NO);							// 新クレジットカード番号
//		String new_creca_yk_kigen = inMap.getString(JBSbatKKIFM502.KKIFM013_NEW_CRECARD_YK_KIGEN).replaceAll(" ", "0");	// 新クレジットカード有効期限
// ANK-3846-00-00 DEL END
// ANK-3846-00-00 MOD START
//		String crecardNoUpSign = inMap.getString(JBSbatKKIFM502.KKIFM013_CRECARD_NO_UP_SIGN); 		// クレジットカード番号更新サイン
		String crecard_no_up_sign = inMap.getString(JBSbatKKIFM502.KKIFM013_CARD_NO_UPD_SAIN); 		// クレジットカード番号更新サイン
// ANK-3846-00-00 MOD END
// ANK-3846-00-00 MOD START
//		String ykCfmRslt = inMap.getString(JBSbatKKIFM502.KKIFM013_YK_CFM_RSLT);										// 有効性確認結果
		String yk_cfm_rslt = inMap.getString(JBSbatKKIFM502.KKIFM013_YK_JDGRSLT);											// 有効性確認結果
// ANK-3846-00-00 MOD END
// ANK-2565-00-00 ADD START
// ANK-3846-00-00 MOD START
//		String crecardYkKigenUpSign = inMap.getString(JBSbatKKIFM502.KKIFM013_CRECARD_YK_KIGEN_UP_SIGN);	// クレジットカード有効期限更新サイン
		String crecaYkKigenUpSign = inMap.getString(JBSbatKKIFM502.KKIFM013_YK_KIGEN_UPD_SAIN);			// クレジットカード有効期限更新サイン
// ANK-3846-00-00 MOD END
// ANK-2565-00-00 ADD END
// ANK-4021-00-00 ADD START
// ANK-3846-00-00 MOD START
//		String creditKokanCd      = inMap.getString(JBSbatKKIFM502.CREDIT_KOKAN_CD);									// クレジット交換コード
		String creditKokanCd      = inMap.getString(JBSbatKKIFM502.KKIFM036_CREDIT_KOKAN_CD);									// [KKIFM036]クレジット交換コード
// ANK-3846-00-00 MOD END
// ANK-3846-00-00 DEL START
//		String crecaYkKigen036    = inMap.getString(JBSbatKKIFM502.KKIFM036_CRECARD_YK_KIGEN_YYYYMM);					// [KKIFM036]クレジットカード有効期限（YYYYMM）
// ANK-3846-00-00 DEL END
// ANK-3846-00-00 MOD START
//		String jdgCrecaYkKigen = "";																					// 判定用クレジットカード有効期限(YYYYMM)
		String jdgCrecaYkKigen = dateConversion(inMap.getString(JBSbatKKIFM502.KKIFM013_CARD_YK_KIGEN));				// カード有効期限(YYYYMM)
// ANK-3846-00-00 MOD END
// ANK-3846-00-00 MOD START
		String maskCardNo = inMap.getString(JBSbatKKIFM502.KKIFM013_MASK_CARD_NO); 				// マスクされたカード番号
		String cardNoUpdSain = inMap.getString(JBSbatKKIFM502.KKIFM013_CARD_NO_UPD_SAIN);		// [KKIFM013]カード番号更新サイン
		String crecardYkKigen = inMap.getString(JBSbatKKIFM502.KKIFM036_CRECARD_YK_KIGEN);		// [KKIFM036]クレジットカード有効期限
		String newCrecardYkKigen = inMap.getString(JBSbatKKIFM502.KKIFM013_CARD_YK_KIGEN);		// [KKIFM013]カード有効期限
// ANK-3846-00-00 MOD END
		String opeDateTogtu       = super.opeDate.substring(0, 6);														// 当月(YYYYMM)
		
// ANK-3846-00-00 DEL START
//		// 新クレジットカード有効期限をint型で保持する
//		int intNewCrecaYkKigen = Integer.parseInt(this.convStringZero(new_creca_yk_kigen));
//		if(0 == intNewCrecaYkKigen)
//		{
//			jdgCrecaYkKigen = "20" + creca_yk_kigen;
//		}
//		else
//		{
//			jdgCrecaYkKigen = "20" + new_creca_yk_kigen;
//		}
//// ANK-3846-00-00 DEL END
// ANK-4021-00-00 ADD END
		
		// クレジット審査処理結果リストを作成する。
		JBSbatServiceInterfaceMap outmap_070 = this.createCreditSkekkaListFrom036(inMap);
		
// ANK-2565-00-00 DEL START
//		// ■結果内容、更新有無を再編集する。
//		long int_new_credit_card_no = Long.parseLong(this.convStringZero(new_credit_card_no));
//		int int_new_creca_yk_kigen = Integer.parseInt(this.convStringZero(new_creca_yk_kigen));
// ANK-2565-00-00 DEL END
		
// ANK-2565-00-00 MOD START
//		// 有効性確認結果「OK」、新クレジットカード番号「オール0ではない」
//		if(yk_cfm_rslt.equals(YK_CFM_RSLT_OK) && 0 != int_new_credit_card_no)
// ANK-4021-00-00 MOD START
//		// 有効性確認結果「OK」、クレジットカード番号更新サイン「更新あり」
//		if (yk_cfm_rslt.equals(YK_CFM_RSLT_OK) && CRECA_NUM_UP_SIGHN_UP.equals(crecard_no_up_sign))
//// ANK-2565-00-00 MOD END
//		{
//			outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, RESULT_CARD_NO);
//			outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, UPDATE_U);
//		}
//// ANK-2565-06-00 MOD START
////// ANK-2565-00-00 MOD START
//////		// 有効性確認結果「OK」、新クレジットカード番号「オール0」、新ｸﾚｼﾞｯﾄｶｰﾄﾞ有効期限「オール0ではない」
//////		else if(yk_cfm_rslt.equals(YK_CFM_RSLT_OK) && 0 == int_new_credit_card_no && 0 != int_new_creca_yk_kigen)
////		// 有効性確認結果「OK」、クレジットカード番号更新サイン「変更なし」、クレジットカード有効期限更新サイン「変更あり」
////		else if (YK_CFM_RSLT_OK.equals(yk_cfm_rslt) && UP_SIGN_NONUP.equals(crecard_no_up_sign) && CRECA_YK_KIGEN_UP_SIGN_UP.equals(crecaYkKigenUpSign))
////// ANK-2565-00-00 MOD END
//		// 有効性確認結果「OK」、クレジットカード番号更新サイン「変更あり」以外、クレジットカード有効期限更新サイン「変更あり」
//		else if (YK_CFM_RSLT_OK.equals(yk_cfm_rslt) && !CRECA_NUM_UP_SIGHN_UP.equals(crecard_no_up_sign) && CRECA_YK_KIGEN_UP_SIGN_UP.equals(crecaYkKigenUpSign))
//// ANK-2565-06-00 MOD END
//		{
//			outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, RESULT_YK_KIGEN);
//			outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, UPDATE_U);
//		}
// ANK-3971-00-00 MOD START
//		// 有効性確認結果「OK」、有効期限「当月以前」
//		if (yk_cfm_rslt.equals(YK_CFM_RSLT_OK) && opeDateTogtu.compareTo(jdgCrecaYkKigen) >= 0)
//		{
//			// カード会社「SMCC」
//			if (JKKStrConst.CREDIT_KOKAN_CD_VISA.equals(creditKokanCd))
//			{
//				outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, RESULT_YK_KIGEN_KIRE_SMCC);
//				outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, UPDATE_U);
//			}
//			// カード会社「上記以外」
//			else
//			{
//				outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, RESULT_YK_KIGEN_KIRE);
//				outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, UPDATE_U);
//			}
//		}
//// ANK-4021-00-00 MOD END
//		// 有効性確認結果「NG」
//		else if(yk_cfm_rslt.equals(YK_CFM_RSLT_NG))
//		{
//			outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, RESULT_YK_NG);
//			outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, UPDATE_U);
//		}
//		// 有効性確認結果「エラー」
//		else if(yk_cfm_rslt.equals(YK_CFM_RSLT_ERR))
//		{
//			outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, RESULT_YK_ERR);
//			outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, UPDATE_U);
//		}
//		else
//		{
//			outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, RESULT_F_FUSEIGO);
//			outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, UPDATE_M);
//		}
		// 結果内容を設定
		// 有効性確認結果「OK」、有効期限「当月以前」
// ANK-3846-00-00 MOD START
//		if (yk_cfm_rslt.equals(YK_CFM_RSLT_OK) && opeDateTogtu.compareTo(jdgCrecaYkKigen) >= 0)
		if ((yk_cfm_rslt.equals(YK_CFM_RSLT_OK)
				|| yk_cfm_rslt.equals(YK_CFM_RSLT_UNSUPPORTED)) 
				&& opeDateTogtu.compareTo(jdgCrecaYkKigen) >= 0)
// ANK-3846-00-00 MOD END
		{
			// カード会社「SMCC」
			if (JKKStrConst.CREDIT_KOKAN_CD_VISA.equals(creditKokanCd))
			{
				outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, RESULT_YK_KIGEN_KIRE_SMCC);
//				outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, UPDATE_U);
			}
			// カード会社「上記以外」
			else
			{
				outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, RESULT_YK_KIGEN_KIRE);
//				outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, UPDATE_U);
			}
		}
// ANK-4021-00-00 MOD END
		// 有効性確認結果「NG」
		else if(yk_cfm_rslt.equals(YK_CFM_RSLT_NG))
		{
			outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, RESULT_YK_NG);
//			outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, UPDATE_U);
		}
		// 有効性確認結果「エラー」
		else if(yk_cfm_rslt.equals(YK_CFM_RSLT_ERR))
		{
// ANK-3846-00-00 MOD START
//			outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, RESULT_YK_ERR);
			outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, RESULT_KADO_KAISHA_SHOGO_ERA);
// ANK-3846-00-00 MOD END
//			outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, UPDATE_U);
		}
// ANK-3846-00-00 ADD START
		// 有効性確認結果「請求停止」
		else if(yk_cfm_rslt.equals(SEIKYU_TEISHI))
		{
			outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, RESULT_SEIKYU_TEISHI);
		}
		// 有効性確認結果「カード会社契約無し」
		else if(yk_cfm_rslt.equals(KADO_KAISHA_KEIYAKU_NASHI))
		{
			outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, RESULT_KADO_KAISHA_KEIYAKU_NASHI);
		}
		// 有効性確認結果「ペイジェント照合エラー」
		else if(yk_cfm_rslt.equals(PEIJENTO_SHOGO_ERA))
		{
			outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, RESULT_PEIJENTO_SHOGO_ERA);
		}
// ANK-3846-00-00 ADD END
		// ANK-4606-00-00 ADD START
		else if(yk_cfm_rslt.equals(YK_NG_UPLOAD_BUN))
		{
			outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, RESULT_YK_NG_UPLOAD_BUN);
		}
		// ANK-4606-00-00 ADD END
		else
		{
			outmap_070.setString(JBSbatKKIFE070.RESULT_NAIYOU, RESULT_F_FUSEIGO);
//			outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, UPDATE_M);
		}
		
		
		// 更新有無を設定
		// 有効性確認結果「OK」
		if (yk_cfm_rslt.equals(YK_CFM_RSLT_OK))
		{
			// 有効期限「当月以前」、  クレジット交換コード「99663:VISA(SMCC)」 
			if (JKKStrConst.CREDIT_KOKAN_CD_VISA.equals(creditKokanCd) && opeDateTogtu.compareTo(jdgCrecaYkKigen) >= 0)
			{
				outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, UPDATE_U);
			}
			// クレジットカード番号更新サイン 「変更あり」
			if (UP_SIGN_NONUP.equals(crecard_no_up_sign))
			{
				outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, UPDATE_U);
			}
			else 
			{
				// クレジットカード番号更新サイン 「変更なし」、クレジットカード有効期限更新サイン「変更あり」
				if(CRECA_YK_KIGEN_UP_SIGN_UP.equals(crecaYkKigenUpSign))
				{
					outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, UPDATE_U);
				}
			}
		}
		// 有効性確認結果「NG」
		else if(yk_cfm_rslt.equals(YK_CFM_RSLT_NG))
		{
			outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, UPDATE_U);
		}
		// 有効性確認結果「エラー」
		else if(yk_cfm_rslt.equals(YK_CFM_RSLT_ERR))
		{
			outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, UPDATE_U);
		}
		else
		{
			outmap_070.setString(JBSbatKKIFE070.UPDATE_UM, UPDATE_M);
		}
// ANK-3971-00-00 MOD END
		
		// ■クレジットカード番号を再編集する。
// ANK-2565-00-00 MOD START
//		// 有効性確認結果「OK」、クレジットカード番号更新サイン「更新」、新クレジットカード番号が「オール0以外」
//		if(yk_cfm_rslt.equals(YK_CFM_RSLT_OK) && crecard_no_up_sign.equals(CRECA_NUM_UP_SIGHN_UP) && 0 != int_new_credit_card_no)
		// 有効性確認結果「OK」、クレジットカード番号更新サイン「変更あり」
// ANK-3846-00-00 MOD START
		if ((YK_CFM_RSLT_OK.equals(yk_cfm_rslt) 
				|| YK_CFM_RSLT_UNSUPPORTED.equals(yk_cfm_rslt)) 
			&& CRECA_NUM_UP_SIGHN_UP.equals(crecard_no_up_sign))
// ANK-3846-00-00 MOD END
// ANK-2565-00-00 MOD END
		{
// ************** v10.00.00 修正開始 *****************
//			outmap_070.setString(JBSbatKKIFE070.CRECARD_NO, JCCBatCommon.getEncryptResultPassword(new_credit_card_no));
// ANK-2565-00-00 MOD START
//			outmap_070.setString(JBSbatKKIFE070.CRECARD_NO, JCCBatCommon.getEncryptResultPassword(this.getCrecardnoZeroCut(new_credit_card_no)));
// ANK-3846-00-00 MOD START
//			if (new_credit_card_no.length() > 4)
//			{
//				new_credit_card_no = new_credit_card_no.substring(new_credit_card_no.length() - 4);
//			}
			if (maskCardNo.length() > 4)
			{
				maskCardNo = maskCardNo.substring(maskCardNo.length() - 4);
			}
// ANK-3846-00-00 MOD END
// ANK-4021-00-00 MOD START
//			outmap_070.setString(JBSbatKKIFE070.CRECARD_NO, JCCBatCommon.getEncryptResultPassword(new_credit_card_no));
// ANK-3846-00-00 MOD START
//			outmap_070.setString(JBSbatKKIFE070.CRECARD_NO, new_credit_card_no);
			outmap_070.setString(JBSbatKKIFE070.CRECARD_NO, maskCardNo);
// ANK-3846-00-00 MOD END
// ANK-4021-00-00 MOD END
// ANK-2565-00-00 MOD END
// ************** v10.00.00 修正終了 *****************
		}
		else
		{
// ************** v10.00.00 修正開始 *****************
//			outmap_070.setString(JBSbatKKIFE070.CRECARD_NO, JCCBatCommon.getEncryptResultPassword(credit_card_no));
// ANK-2565-00-00 MOD START
//			outmap_070.setString(JBSbatKKIFE070.CRECARD_NO, JCCBatCommon.getEncryptResultPassword(this.getCrecardnoZeroCut(credit_card_no)));
			outmap_070.setString(JBSbatKKIFE070.CRECARD_NO, "");
// ANK-2565-00-00 MOD END
// ************** v10.00.00 修正終了 *****************
		}
		
// ANK-2565-00-00 ADD START
		// ■カード預りID
		outmap_070.setString(JBSbatKKIFE070.CRECARD_NO_AZKRI_ID, credit_card_no);
// ANK-2565-00-00 ADD END
		
		// ■有効期限を再編集する。
// ANK-2565-00-00 MOD START
//		// 有効性確認結果「OK」、新クレジットカード有効期限「オール0以外」
//		if(yk_cfm_rslt.equals(YK_CFM_RSLT_OK) && 0 != int_new_creca_yk_kigen)
		// 有効性確認結果「OK」、クレジットカード番号更新サインかクレジットカード有効期限更新サインが「変更あり」
// ANK-3846-00-00 MOD START
//		if (yk_cfm_rslt.equals(YK_CFM_RSLT_OK) && (CRECA_NUM_UP_SIGHN_UP.equals(crecard_no_up_sign) || CRECA_YK_KIGEN_UP_SIGN_UP.equals(crecaYkKigenUpSign)))
		if ((yk_cfm_rslt.equals(YK_CFM_RSLT_OK) 
				||  YK_CFM_RSLT_UNSUPPORTED.equals(yk_cfm_rslt))
				&& (CRECA_NUM_UP_SIGHN_UP.equals(cardNoUpdSain) || CRECA_YK_KIGEN_UP_SIGN_UP.equals(crecaYkKigenUpSign)))
// ANK-3846-00-00 MOD END
// ANK-2565-00-00 MOD END
		{
			// コンシューマ有効性チェック結果ファイルの「クレジットカード有効期限」「新クレジットカード有効期限」を「yy/mm→yy/mm」 の形式に編集し、設定。
// ANK-3846-00-00 MOD START
//			outmap_070.setString(JBSbatKKIFE070.YK_KIGEN,
//									creca_yk_kigen.substring(0, 2) + "/" + creca_yk_kigen.substring(2)
//									+ "→" + 
//									new_creca_yk_kigen.substring(0, 2) + "/" + new_creca_yk_kigen.substring(2));
			outmap_070.setString(JBSbatKKIFE070.YK_KIGEN,
					crecardYkKigen.substring(2, 4) + "/" + crecardYkKigen.substring(4, 6)
					+ "→" + 
					newCrecardYkKigen.substring(2) + "/" + newCrecardYkKigen.substring(0, 2));
// ANK-3846-00-00 MOD END
		}
		else
		{
// ANK-4021-00-00 MOD START
//			outmap_070.setString(JBSbatKKIFE070.YK_KIGEN, "");
			// クレジット審査チェックファイルの「クレジットカード有効期限」を設定する
// ANK-3846-00-00 MOD START
//			outmap_070.setString(JBSbatKKIFE070.YK_KIGEN, crecaYkKigen036.substring(2, 4) + "/" + crecaYkKigen036.substring(4, 6));
			outmap_070.setString(JBSbatKKIFE070.YK_KIGEN, crecardYkKigen.substring(2, 4) + "/" + crecardYkKigen.substring(4, 6));
// ANK-3846-00-00 MOD END
// ANK-4021-00-00 MOD END
		}
		
		// ■備考
		outmap_070.setString(JBSbatKKIFE070.BIKOU, biko);
		
		return outmap_070;
	}
	
	/**
	 * クレジット審査処理結果更新ファイル作成。
	 * コンシューマ有効性チェック結果ファイルとクレジット審査チェックファイルに存在する場合に
	 * クレジット審査処理結果更新ファイルを作成します。<br>
	 * <p>
	 * @param mastMap 入力情報（コンシューマ有効性チェック結果ファイル）
	 * @param tranMap 入力情報（クレジット審査チェックファイル）
	 * @return outmap_035 出力ファイル(クレジット審査処理結果更新ファイル(KKIFM035))オブジェクト
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatServiceInterfaceMap createCreditSkekkaUpFile(JBSbatServiceInterfaceMap inMap) throws Exception
	{

		// コンシューマ有効性チェック結果ファイルより項目を抽出
// ANK-3846-00-00 DEL START
//		String new_credit_card_no = inMap.getString(JBSbatKKIFM502.KKIFM013_NEW_CRECARD_NO);							// 新クレジットカード番号
//		String new_creca_yk_kigen = inMap.getString(JBSbatKKIFM502.KKIFM013_NEW_CRECARD_YK_KIGEN).replaceAll(" ", "0");	// 新クレジットカード有効期限
// ANK-3846-00-00 DEL END
// ANK-3846-00-00 MOD START
//		String yk_cfm_rslt = inMap.getString(JBSbatKKIFM502.KKIFM013_YK_CFM_RSLT);										// 有効性確認結果
		String yk_cfm_rslt = inMap.getString(JBSbatKKIFM502.KKIFM013_YK_JDGRSLT);											// 有効性確認結果
// ANK-3846-00-00 MOD END
// ANK-2565-00-00 ADD START
// ANK-3846-00-00 DEL START
//		String crecaNoUpSign      = inMap.getString(JBSbatKKIFM502.KKIFM013_CRECARD_NO_UP_SIGN);			// クレジットカード番号更新サイン
//		String crecaUkKigenUpSign = inMap.getString(JBSbatKKIFM502.KKIFM013_CRECARD_YK_KIGEN_UP_SIGN);		// クレジットカード有効期限更新サイン
// ANK-3846-00-00 DEL END
// ANK-2565-00-00 ADD END
		
// ANK-3846-00-00 DEL START
//		// 新クレジットカード有効期限をint型で保持
//		int int_new_creca_yk_kigen = Integer.parseInt(this.convStringZero(new_creca_yk_kigen));
// ANK-3846-00-00 DEL END
		
		// データレコードより項目を抽出
// ANK-3846-00-00 MOD START
//		String taisho_ym = inMap.getString(JBSbatKKIFM502.KKIFM036_JUDGE_HANEI_TRGT_MON);				// 対象年月
		String taisho_ym = inMap.getString(JBSbatKKIFM502.KKIFM036_TRGT_YM);							// 対象年月
// ANK-3846-00-00 MOD END
		String credit_comp_cd   = inMap.getString(JBSbatKKIFM502.KKIFM036_ADD_CRECARD_COMP_CD);          // クレジットカード会社コード
		String credit_kokan_cd  = inMap.getString(JBSbatKKIFM502.KKIFM036_ADD_CREDIT_KOKAN_CD);                   // クレジット交換コード
// ANK-3846-00-00 MOD START
//		String credit_card_no   = inMap.getString(JBSbatKKIFM502.CRECARD_NO);                        // クレジットカード番号（※カード預りID）
		String credit_card_no   = inMap.getString(JBSbatKKIFM502.KKIFM036_CRECARD_NO);               // クレジットカード番号（※カード預りID）
//		String creca_yk_kigen   = inMap.getString(JBSbatKKIFM502.KKIFM036_CRECARD_YK_KIGEN_YYYYMM);  // クレジットカード有効期限
		String creca_yk_kigen   = inMap.getString(JBSbatKKIFM502.KKIFM036_CRECARD_YK_KIGEN);  		 // クレジットカード有効期限
// ANK-3846-00-00 MOD END
		String seiky_kei_no     = inMap.getString(JBSbatKKIFM502.KKIFM036_SEIKY_KEI_NO);             // 請求契約番号
		String creca_meigi_kana = inMap.getString(JBSbatKKIFM502.KKIFM036_CRECARD_NM_KANA);          // クレジットカード名義カナ名
// ANK-3971-00-00 ADD START
		// ANK-3846-00-00 MOD START
//		String jdgCrecaYkKigen = "";																					// 判定用クレジットカード有効期限(YYYYMM)
		String jdgCrecaYkKigen = dateConversion(inMap.getString(JBSbatKKIFM502.KKIFM013_CARD_YK_KIGEN));				// カード有効期限(YYYYMM)
// ANK-3846-00-00 MOD END
		String opeDateTogtu       = super.opeDate.substring(0, 6);														// 当月(YYYYMM)
// ANK-3971-00-00 ADD END
// ANK-3846-00-00 ADD START
		String maskCardNo = inMap.getString(JBSbatKKIFM502.KKIFM013_MASK_CARD_NO);          // [KKIFM013]マスクされたカード番号
		String cardYkKigen = inMap.getString(JBSbatKKIFM502.KKIFM013_CARD_YK_KIGEN);		// [KKIFM013]カード有効期限
		String cardNoUpdSain = inMap.getString(JBSbatKKIFM502.KKIFM013_CARD_NO_UPD_SAIN);		// [KKIFM013]カード番号更新サイン
		String ykKigenUpdSain = inMap.getString(JBSbatKKIFM502.KKIFM013_YK_KIGEN_UPD_SAIN);		// [KKIFM013]有効期限更新サイン
// ANK-3846-00-00 ADD END
		
		// 出力ファイル(クレジット審査処理結果更新ファイル(KKIFM035))へ設定
		JBSbatServiceInterfaceMap outmap_035 = new JBSbatServiceInterfaceMap();
		outmap_035.setString(JBSbatKKIFM035.SEIKY_KEI_NO,         seiky_kei_no);          // 請求契約番号
		outmap_035.setString(JBSbatKKIFM035.JUDGE_HANEI_TRGT_MON, taisho_ym);             // 審査反映対象月
		outmap_035.setString(JBSbatKKIFM035.CRECARD_COMP_CD,      credit_comp_cd);        // クレジットカード会社コード
		outmap_035.setString(JBSbatKKIFM035.CREDIT_KOKAN_CD,      credit_kokan_cd);       // クレジット交換コード
		outmap_035.setString(JBSbatKKIFM035.OLD_CRECARD_NO,       credit_card_no);        // 旧クレジットカード番号（※カード預りID）
		outmap_035.setString(JBSbatKKIFM035.OLD_CRECARD_YK_KIGEN, creca_yk_kigen);        // 旧クレジットカード有効期限
// ANK-3846-00-00 MOD START
//		outmap_035.setString(JBSbatKKIFM035.NEW_CRECARD_NO,       new_credit_card_no);    // 新クレジットカード番号
		outmap_035.setString(JBSbatKKIFM035.NEW_CRECARD_NO,       maskCardNo.replaceAll("\\*", "0"));    // 新クレジットカード番号
// ANK-3846-00-00 MOD END

// ANK-3846-00-00 DEL START
//		// 新クレジットカード有効期限が「オール0」の場合
//		if(0 == int_new_creca_yk_kigen)
//		{
//			outmap_035.setString(JBSbatKKIFM035.NEW_CRECARD_YK_KIGEN, 	"00" + new_creca_yk_kigen);	// 新クレジットカード有効期限(YYMM→YYYYMMへ)
//// ANK-3971-00-00 ADD START
//			jdgCrecaYkKigen = creca_yk_kigen;
//// ANK-3971-00-00 ADD END
//		}
//		else
//		{
//			outmap_035.setString(JBSbatKKIFM035.NEW_CRECARD_YK_KIGEN, 	"20" + new_creca_yk_kigen);	// 新クレジットカード有効期限(YYMM→YYYYMMへ)
//			// ANK-3971-00-00 ADD START
//			jdgCrecaYkKigen = "20" + new_creca_yk_kigen;
//			// ANK-3971-00-00 ADD END
//		}
// ANK-3846-00-00 DEL END
// ANK-3846-00-00 ADD START
		outmap_035.setString(JBSbatKKIFM035.NEW_CRECARD_YK_KIGEN, 	dateConversion(cardYkKigen));	// 新クレジットカード有効期限(MMYY→YYYYMMへ)
// ANK-3846-00-00 ADD END
		
		outmap_035.setString(JBSbatKKIFM035.CRECARD_NM_KANA, 		creca_meigi_kana);			// クレジットカード名義カナ名
// ANK-3971-00-00 MOD START
// ANK-3846-00-00 MOD START
//		String creditKokanCd  = inMap.getString(JBSbatKKIFM502.CREDIT_KOKAN_CD);                    // クレジット交換コード
		String creditKokanCd  = inMap.getString(JBSbatKKIFM502.KKIFM036_CREDIT_KOKAN_CD);           // クレジット交換コード
// ANK-3846-00-00 MOD END
//		outmap_035.setString(JBSbatKKIFM035.YK_CFM_RSLT_DIV, 		yk_cfm_rslt);				// 有効性確認結果区分
// ANK-3846-00-00 MOD START
//		if (YK_CFM_RSLT_OK.equals(yk_cfm_rslt) && opeDateTogtu.compareTo(jdgCrecaYkKigen) >= 0
//				&& JKKStrConst.CREDIT_KOKAN_CD_VISA.equals(creditKokanCd))
		if ((YK_CFM_RSLT_OK.equals(yk_cfm_rslt) 
				|| YK_CFM_RSLT_UNSUPPORTED.equals(yk_cfm_rslt))
				&& opeDateTogtu.compareTo(jdgCrecaYkKigen) >= 0
				&& JKKStrConst.CREDIT_KOKAN_CD_VISA.equals(creditKokanCd))
// ANK-3846-00-00 MOD END
			// 「有効性NG」を設定
			outmap_035.setString(JBSbatKKIFM035.YK_CFM_RSLT_DIV, YK_CFM_RSLT_NG);				// 有効性確認結果区分
		else
		{
// ANK-3846-00-00 MOD START
//			// 「コンシューマ有効性チェック結果ファイルの有効性確認結果」を設定
//			outmap_035.setString(JBSbatKKIFM035.YK_CFM_RSLT_DIV, yk_cfm_rslt);				// 有効性確認結果区分
			if (YK_CFM_RSLT_OK.equals(yk_cfm_rslt)
					|| YK_CFM_RSLT_UNSUPPORTED.equals(yk_cfm_rslt))
			{
				// 「有効性OK」を設定
				outmap_035.setString(JBSbatKKIFM035.YK_CFM_RSLT_DIV, YK_CFM_RSLT_OK);				// 有効性確認結果区分
			}
			// ANK-4606-00-00 MOD START
//			else if (YK_CFM_RSLT_NG.equals(yk_cfm_rslt)
//					|| SEIKYU_TEISHI.equals(yk_cfm_rslt)
//					|| KADO_KAISHA_KEIYAKU_NASHI.equals(yk_cfm_rslt)
//					|| PEIJENTO_SHOGO_ERA.equals(yk_cfm_rslt))
			else if (YK_CFM_RSLT_NG.equals(yk_cfm_rslt)
					|| SEIKYU_TEISHI.equals(yk_cfm_rslt)
					|| KADO_KAISHA_KEIYAKU_NASHI.equals(yk_cfm_rslt)
					|| PEIJENTO_SHOGO_ERA.equals(yk_cfm_rslt)
					|| YK_NG_UPLOAD_BUN.equals(yk_cfm_rslt))
			// ANK-4606-00-00 MOD END
			{
				// 「有効性NG」を設定
				outmap_035.setString(JBSbatKKIFM035.YK_CFM_RSLT_DIV, YK_CFM_RSLT_NG);				// 有効性確認結果区分
			}
			
			else if (YK_CFM_RSLT_ERR.equals(yk_cfm_rslt))
			{
				// 「有効性NG」を設定
				outmap_035.setString(JBSbatKKIFM035.YK_CFM_RSLT_DIV, YK_CFM_RSLT_ERR);				// 有効性確認結果区分
			}
// ANK-3846-00-00 MOD END
		}
		
//// ANK-2565-06-00 MOD START
////// ANK-2565-00-00 MOD START
//////		// 有効性確認結果区分「OK」、コンシューマ有効性チェック結果ファイルの新クレジットカード番号「オール0」
//////		if(yk_cfm_rslt.equals(YK_CFM_RSLT_OK) && 0 == Long.parseLong(this.convStringZero(new_credit_card_no)))
////		// 有効性確認結果区分「OK」、コンシューマ有効性チェック結果ファイルのクレジットカード番号更新サイン「変更なし」
////		if (YK_CFM_RSLT_OK.equals(yk_cfm_rslt) && UP_SIGN_NONUP.equals(crecaNoUpSign))
////// ANK-2565-00-00 MOD END
//		// 有効性確認結果区分「OK」、コンシューマ有効性チェック結果ファイルのクレジットカード番号更新サイン「変更あり」以外
//		if (YK_CFM_RSLT_OK.equals(yk_cfm_rslt) && !CRECA_NUM_UP_SIGHN_UP.equals(crecaNoUpSign))
//// ANK-2565-06-00 MOD END
//		{
//			// クレジットカード有効期限変更」を設定
//			outmap_035.setString(JBSbatKKIFM035.IDO_DIV, IDO_DIV_CRECA_YK_CHG);		// 異動区分
//			
//			// 「有効期限変更完了」を設定
//			outmap_035.setString(JBSbatKKIFM035.PRG_STAT, PRG_STAT_YK_KIGEN_CHG_FIN);		// 進捗ステータス
//		}
//		else
//		{
//			// クレジットカード番号変更」を設定
//			outmap_035.setString(JBSbatKKIFM035.IDO_DIV, IDO_DIV_CRECANO_CHG);		// 異動区分
//			
//			// 「番号変更完了」を設定
//			outmap_035.setString(JBSbatKKIFM035.PRG_STAT, PRG_STAT_NO_CHG_FIN);		// 進捗ステータス
//		}
		// ANK-2565-06-00 MOD START
	//// ANK-2565-00-00 MOD START
////			// 有効性確認結果区分「OK」、コンシューマ有効性チェック結果ファイルの新クレジットカード番号「オール0」
////			if(yk_cfm_rslt.equals(YK_CFM_RSLT_OK) && 0 == Long.parseLong(this.convStringZero(new_credit_card_no)))
//			// 有効性確認結果区分「OK」、コンシューマ有効性チェック結果ファイルのクレジットカード番号更新サイン「変更なし」
//			if (YK_CFM_RSLT_OK.equals(yk_cfm_rslt) && UP_SIGN_NONUP.equals(crecaNoUpSign))
	//// ANK-2565-00-00 MOD END
// ANK-3846-00-00 MOD START
//		// 「有効性確認結果」が「0:有効性OK」且つ「有効期限」が運用日当月以前且つ「クレジット交換コード」が「99663:VISA(SMCC)」の場合
		// 「有効性確認結果」が「0:有効性OK」または「5:有効性チェック非対且つ「有効期限」が運用日当月以前且つ「クレジット交換コード」が「99663:VISA(SMCC)」の場合
//		if(YK_CFM_RSLT_OK.equals(yk_cfm_rslt) && opeDateTogtu.compareTo(jdgCrecaYkKigen) >= 0 
//				&& JKKStrConst.CREDIT_KOKAN_CD_VISA.equals(creditKokanCd))
		if((YK_CFM_RSLT_OK.equals(yk_cfm_rslt) 
				|| YK_CFM_RSLT_UNSUPPORTED.equals(yk_cfm_rslt))
				&& opeDateTogtu.compareTo(jdgCrecaYkKigen) >= 0 
				&& JKKStrConst.CREDIT_KOKAN_CD_VISA.equals(creditKokanCd))
// ANK-3846-00-00 MOD END
		{
			// 「クレジットカード有効期限無効」を設定
			outmap_035.setString(JBSbatKKIFM035.IDO_DIV, IDO_DIV_CRECA_YK_KIGEN_MK);		// 異動区分
			
			// 「有効期限無効」を設定
			outmap_035.setString(JBSbatKKIFM035.PRG_STAT, PRG_STAT_YK_KIGEN_MK);		// 進捗ステータス
		}
		else
		{
// ANK-3846-00-00 MOD START
//			// 上記以外の場合且つ、「有効性確認結果区分」が 「0:有効性OK」且つ「クレジットカード番号更新サイン」が「1:変更あり」の場合
//			if (YK_CFM_RSLT_OK.equals(yk_cfm_rslt) && CRECA_NUM_UP_SIGHN_UP.equals(crecaNoUpSign))
			// 上記以外の場合且つ、「有効性確認結果区分」が 「0:有効性OK」「5:有効性チェック非対応カード会社」且つ「クレジットカード番号更新サイン」が「1:変更あり」の場合
			if ((YK_CFM_RSLT_OK.equals(yk_cfm_rslt) 
					|| YK_CFM_RSLT_UNSUPPORTED.equals(yk_cfm_rslt))
				&& CRECA_NUM_UP_SIGHN_UP.equals(cardNoUpdSain))
// ANK-3846-00-00 MOD END
			{
				// 「クレジットカード番号変更」を設定
				outmap_035.setString(JBSbatKKIFM035.IDO_DIV, IDO_DIV_CRECANO_CHG);		// 異動区分
				
				// 「番号変更完了」を設定
				outmap_035.setString(JBSbatKKIFM035.PRG_STAT, PRG_STAT_NO_CHG_FIN);		// 進捗ステータス
			}
			else
			{
				// 「クレジットカード有効期限変更」を設定
				outmap_035.setString(JBSbatKKIFM035.IDO_DIV, IDO_DIV_CRECA_YK_CHG);		// 異動区分
				
				// 「有効期限変更完了」を設定
				outmap_035.setString(JBSbatKKIFM035.PRG_STAT, PRG_STAT_YK_KIGEN_CHG_FIN);		// 進捗ステータス
			}
		}
// ANK-3971-00-00 MOD END
		
// ANK-3846-00-00 MOD START
//		// 有効性確認結果区分「OK」以外
//		if(!yk_cfm_rslt.equals(YK_CFM_RSLT_OK))
		// 有効性確認結果区分が「0:有効性OK」「5:有効性チェック非対応カード会社」以外の場合
		if(!YK_CFM_RSLT_OK.equals(yk_cfm_rslt) && !YK_CFM_RSLT_UNSUPPORTED.equals(yk_cfm_rslt))
// ANK-3846-00-00 MOD END
		{
			// クレジットカード無効」を設定
			outmap_035.setString(JBSbatKKIFM035.IDO_DIV, IDO_DIV_CRECA_MK);			// 異動区分
			
			// 「クレジットＣＤ無効」を設定
			outmap_035.setString(JBSbatKKIFM035.PRG_STAT, PRG_STAT_CRDT_CD_MK);		// 進捗ステータス
		}
		
// ANK-2565-00-00 ADD START
// ANK-3846-00-00 MOD START
//		outmap_035.setString(JBSbatKKIFM035.CRECARD_NO_UP_SIGN,       crecaNoUpSign);       // クレジットカード番号更新サイン
		outmap_035.setString(JBSbatKKIFM035.CRECARD_NO_UP_SIGN,       cardNoUpdSain);       // クレジットカード番号更新サイン
//		outmap_035.setString(JBSbatKKIFM035.CRECARD_YK_KIGEN_UP_SIGN, crecaUkKigenUpSign);  // クレジットカード有効期限更新サイン
		outmap_035.setString(JBSbatKKIFM035.CRECARD_YK_KIGEN_UP_SIGN, ykKigenUpdSain);  // クレジットカード有効期限更新サイン
// ANK-3846-00-00 MOD END
// ANK-2565-00-00 ADD END
		
		// クレジット審査処理結果更新ファイル出力
		outmap_035.setOutFlg(true);
		
		return outmap_035;
	}
	
// ANK-3846-00-00 DEL START
//	/**
//	 * String変換　空白の場合"0"を返却、それ以外はそのまま返却。<br>
//	 * <p>
//	 * @param value 対象文字列
//	 * @return String 変換後文字列
//	 */
//	private String convStringZero(String value)
//	{
//		if("".equals(value.trim()))
//		{
//			return "0";
//		}
//		return value;
//	}
// ANK-3846-00-00 DEL END
	
	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	
	/**
	 * @return mastProcFlg を戻します。
	 */
	public boolean isMastProcFlg()
	{
		return mastProcFlg;
	}

	/**
	 * @return matchProcFlg を戻します。
	 */
	public boolean isMatchProcFlg()
	{
		return matchProcFlg;
	}

	/**
	 * @return tranProcFlg を戻します。
	 */
	public boolean isTranProcFlg()
	{
		return tranProcFlg;
	}

	/**
	 * @param mast_ProcFlg 設定する mastProcFlg。
	 */
	public void setMastProcFlg(boolean mast_ProcFlg)
	{
		this.mastProcFlg = mast_ProcFlg;
	}

	/**
	 * @param match_ProcFlg 設定する matchProcFlg。
	 */
	public void setMatchProcFlg(boolean match_ProcFlg)
	{
		this.matchProcFlg = match_ProcFlg;
	}

	/**
	 * @param tran_ProcFlg 設定する tranProcFlg。
	 */
	public void setTranProcFlg(boolean tran_ProcFlg)
	{
		this.tranProcFlg = tran_ProcFlg;
	}

	/**
	 * SQLKEY(KK_SELECT_006)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	CRECARD_COMP_CD
	 *		 	CRECARD_COMP_TSTAYMD
	 *		 	RSV_APLY_YMD
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_M_CRECARD_COMP_KK_SELECT_006(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_KK_M_CRECARD_COMP.selectBySqlDefine(paramList, KK_M_CRECARD_COMP_KK_SELECT_006);
	}

// ANK-3846-00-00 DEL START
//	/**
//	 * SQLKEY(KK_SELECT_007)でDBアクセスを行います。<br>
//	 * <p>
//	 * <b>処理フロー</b><br>
//	 * <pre>
//	 * 1.引数でバイント変数を設定します。<br>
//	 *
//	 * 2.DBアクセスを実行します。<br>
//	 * 
//	 * 3.メソッドの呼び出し方です。<br>
//	 *		引数:
//	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
//	 *		 	CREDIT_KOKAN_CD
//	 *		 	CRECARD_COMP_TSTAYMD
//	 *		 	RSV_APLY_YMD
//	 * </pre>
//	 * <p>
//	 * @param param バイント変数の値配列。
//	 * @throws Exception 業務サービス内で発生した例外全般。
//	 */
//	private void executeKK_M_CRECARD_COMP_KK_SELECT_007(Object[] param) throws Exception
//	{
//		// バイント変数のリストを生成します
//		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
//		paramList.setValue(param[0].toString());
//		paramList.setValue(param[1].toString());
//		paramList.setValue(param[2].toString());
//
//		// DBアクセスを実行します
//		db_KK_M_CRECARD_COMP.selectBySqlDefine(paramList, KK_M_CRECARD_COMP_KK_SELECT_007);
//	}
// ANK-3846-00-00 DEL END
	
// ANK-3846-00-00 ADD START
	/**
	 * SQLKEY(KK_SELECT_071)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	CUST_ID
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SEIKY_KEI_KK_SELECT_071(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_SEIKY_KEI.selectBySqlDefine(paramList, KK_T_SEIKY_KEI_KK_SELECT_071);
	}
// ANK-3846-00-00 ADD END
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
// ANK-2565-00-00 DEL START
//	// ************** v10.00.00 追加開始 *****************
//	/**
//	 * クレジットカード番号の前０を最大５桁までカットします。
//	 * <br>
//	 * @param crecardNo 成形前のクレジットカード番号
//	 * @return String 成形後のクレジットカード番号
//	 */
//	private String getCrecardnoZeroCut(String crecardNo)
//	{
//		String value = crecardNo;
//		
//		// クレジットカード番号がオール"0"(16桁)の場合は対象外
//		if(0 == (Long.parseLong(this.convStringZero(crecardNo))))
//		{
//			return value;
//		}
//		
//		// クレジットカード番号の文字列より先頭が0の場合カットする。（最大５桁）
//		for(int i = 0; i < 5; i ++)
//		{
//			char c = crecardNo.charAt(i);
//			if("0".equals(String.valueOf(c)))
//			{
//				value = crecardNo.substring(i + 1);
//			}
//			else
//			{
//				break;
//			}
//		}
//		
//		return value;
//	}
//	// ************** v10.00.00 追加終了 *****************
// ANK-2565-00-00 DEL END
// ANK-3846-00-00 ADD START
	/**
	 * <br>
	 * @param cardYkKigen (MMYY)
	 * @return cardYkKigenFormatted (YYYYMM)
	 * @throws ParseException
	 */
	private String dateConversion(String cardYkKigen) throws ParseException
	{
		 String MM = cardYkKigen.substring(0, 2);
		 String YY = cardYkKigen.substring(2, 4);
//		 String cardYkKigenDate = MM + "/" + YY;
//		 
//		 SimpleDateFormat parser = new SimpleDateFormat("MM/yy");
//		 SimpleDateFormat formatter = new SimpleDateFormat("yyyyMM");
//		 
//		 String cardYkKigenFormatted = formatter.format(parser.parse(cardYkKigenDate));
		 
		 String cardYkKigenFormatted = "20" + YY + MM;
		 return cardYkKigenFormatted;
	}
// ANK-3846-00-00 ADD START
}
