/*********************************************************************
*  All Rights reserved,Copyright (c) Fujitsu ,2011					 *
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatACNHKWtchegIfTrkm
*	ソースファイル名	：JBSbatACNHKWtchegIfTrkm.java
*	作成者				：富士通　
*	作成日				：2011年06月30日
*＜機能概要＞
*　NHK視聴課金取込部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/06/30   富士通		新規作成
*	v3.00		2012/08/17   FJ)後藤	【TAI-2012-0000054】サービス契約内訳の参照を削除・カナ変換追加
*	v3.01		2012/08/29   FJ)岡田	【TG1-2012-0000137・138】金額の属性チェック変更
*	v5.00.00	2013/10/15   FJ)前田	【OM-2013-0001120】ディレイド二重起動防止対応
*	v5.01.00	2013/10/24   FJ)早崎	【OM-2013-0003587】対象のサービス契約情報が複数取得された場合の対応
*	v5.02.00	2013/11/21   FJ)田内	【OM-2013-0004451】各チェック処理にて、サービス契約ステータスの絞込みを追加
*	v12.00.00	2014/10/01   FJ)岡田	【ANK-2248-00-00】NHK団体一括契約の受付拡充
*	v12.00.01	2014/11/10   FJ)鈴木	【IT2-2014-0000322】請求年月の取得方法を変更
*********************************************************************/
package eo.business.service;

import java.math.BigDecimal;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

import eo.business.common.JACbatDebugLogUtil;
import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCCbatShoriIraiUtil;
import eo.business.common.JCHbatSeikyKaknoBusinessUtil;
import eo.business.util.table.JBSbatAC_T_NHK_WTCHCRG_TJK;
import eo.business.util.table.JBSbatCH_M_PRC_SCHDL_TEIGI;
import eo.business.util.table.JBSbatCK_T_CUST;
import eo.business.util.table.JBSbatKK_T_SEIOPSVC_KEI;
import eo.business.util.table.JBSbatKK_T_SVC_KEI;
import eo.business.util.table.JBSbatZM_M_WORK_PARAM_KNRI;
import eo.common.constant.JACStrConst;
import eo.common.constant.JPCBatchMessageConstant;
import eo.common.util.JPCConvertString;
import eo.framework.application.JBSbatBusinessException;
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.JBSbatCheckUtil;
import eo.framework.util.JBSbatStringUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatACNHKWtchegIfTrkm extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	// ANK-2248-00-00 DEL START
	/** テーブル(サービス契約)*/
	//private static final String D_TBL_NAME_KK_T_SVC_KEI = "KK_T_SVC_KEI";

	/** テーブル(オプションサービス契約)*/
	//private static final String D_TBL_NAME_KK_T_OP_SVC_KEI = "KK_T_OP_SVC_KEI";

	/** テーブル(課金先)*/
	//private static final String D_TBL_NAME_KK_T_KAKINS = "KK_T_KAKINS";
	// ANK-2248-00-00 DEL END
	
	// ANK-2248-00-00 ADD START
	/** テーブル(請求オプションサービス契約)*/
	private static final String D_TBL_NAME_KK_T_SEIOPSVC_KEI = "KK_T_SEIOPSVC_KEI";
	// ANK-2248-00-00 ADD END

	/** テーブル(お客様)*/
	private static final String D_TBL_NAME_CK_T_CUST = "CK_T_CUST";

	/** テーブル(業務パラメータ管理)*/
	private static final String D_TBL_NAME_ZM_M_WORK_PARAM_KNRI = "ZM_M_WORK_PARAM_KNRI";

	/** テーブル(ＮＨＫ視聴課金処理状況)*/
	private static final String D_TBL_NAME_AC_T_NHK_WTCHCRG_TJK = "AC_T_NHK_WTCHCRG_TJK";

	/** テーブル(ＮＨＫ視聴課金明細)*/
	private static final String D_TBL_NAME_AC_T_NHK_WTCHCRG_DTL = "AC_T_NHK_WTCHCRG_DTL";

	/** テーブル(料金スケジュール定義)*/
	private static final String D_TBL_NAME_CH_M_PRC_SCHDL_TEIGI = "CH_M_PRC_SCHDL_TEIGI";

	// ANK-2248-00-00 DEL START
	/** SQL定義キー(AC_SELECT_004)*/
	//private static final String KK_T_SVC_KEI_AC_SELECT_004 = "AC_SELECT_004";

	/** SQL定義キー(AC_SELECT_001)*/
	//private static final String KK_T_OP_SVC_KEI_AC_SELECT_001 = "AC_SELECT_001";

	/** SQL定義キー(AC_SELECT_004)*/
	//private static final String KK_T_KAKINS_AC_SELECT_004 = "AC_SELECT_004";
	// ANK-2248-00-00 DEL END
	
	// ANK-2248-00-00 ADD START
	/** SQL定義キー(AC_SELECT_001)*/
	private static final String KK_T_SEIOPSVC_KEI_AC_SELECT_001 = "AC_SELECT_001";
	
	/** SQL定義キー(AC_SELECT_002)*/
	private static final String KK_T_SEIOPSVC_KEI_AC_SELECT_002 = "AC_SELECT_002";
	// ANK-2248-00-00 ADD END

	/** SQL定義キー(AC_SELECT_001)*/
	private static final String CK_T_CUST_AC_SELECT_001 = "AC_SELECT_001";

	/** SQL定義キー(AC_SELECT_001)*/
	private static final String ZM_M_WORK_PARAM_KNRI_AC_SELECT_001 = "AC_SELECT_001";

	/** SQL定義キー(AC_SELECT_001)*/
	private static final String AC_T_NHK_WTCHCRG_TJK_AC_SELECT_001 = "AC_SELECT_001";

	// ANK-2248-00-00 DEL START
	/** SQL定義キー(AC_SELECT_003)*/
	//private static final String AC_T_NHK_WTCHCRG_DTL_AC_SELECT_003 = "AC_SELECT_003";
	// ANK-2248-00-00 DEL END

	/** SQL定義キー(AC_SELECT_001)*/
	private static final String CH_M_PRC_SCHDL_TEIGI_AC_SELECT_001 = "AC_SELECT_001";

	/** SQL定義キー(AC_DELETE_001)*/
	private static final String AC_T_NHK_WTCHCRG_DTL_AC_DELETE_001 = "AC_DELETE_001";

	// ANK-2248-00-00 DEL START
	/** テーブルアクセスクラス(サービス契約)*/
	//private JBSbatSQLAccess db_KK_T_SVC_KEI = null;

	/** テーブルアクセスクラス(オプションサービス契約)*/
	//private JBSbatSQLAccess db_KK_T_OP_SVC_KEI = null;

	/** テーブルアクセスクラス(課金先)*/
	//private JBSbatSQLAccess db_KK_T_KAKINS = null;
	// ANK-2248-00-00 DEL END
	
	// ANK-2248-00-00 ADD START
	/** テーブルアクセスクラス(請求オプションサービス契約)*/
	private JBSbatSQLAccess db_KK_T_SEIOPSVC_KEI = null;
	// ANK-2248-00-00 ADD END

	/** テーブルアクセスクラス(お客様)*/
	private JBSbatSQLAccess db_CK_T_CUST = null;

	/** テーブルアクセスクラス(業務パラメータ管理)*/
	private JBSbatSQLAccess db_ZM_M_WORK_PARAM_KNRI = null;

	/** テーブルアクセスクラス(ＮＨＫ視聴課金処理状況)*/
	private JBSbatSQLAccess db_AC_T_NHK_WTCHCRG_TJK = null;

	/** テーブルアクセスクラス(ＮＨＫ視聴課金明細)*/
	private JBSbatSQLAccess db_AC_T_NHK_WTCHCRG_DTL = null;

	/** テーブルアクセスクラス(料金スケジュール定義)*/
	private JBSbatSQLAccess db_CH_M_PRC_SCHDL_TEIGI = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/
	
	/** 請求サイクルチェック(1:チェックあり) */
	private static final String CHECK_ARI = "1";
	
	/** 請求年月 */
	private String seikyYm = "";
// 2014.11.10 IT2-2014-0000322 add start
	private String seikyYmIni = "";
// 2014.11.10 IT2-2014-0000322 add end
	
	/** 業務パラメータ */
	private HashMap<String, Object> workMap = null;
	
	/** NHK視聴課金番号 */
	private String nhkWatchChrgTrnNo = "";
	
	/** ディレイド処理依頼番号 */
	private String shoriIraiNo = "";
	
	/** 単項目チェック用名称Map */
	private HashMap<String, String> itemValueMap = null;
	
	/** サービス契約.サービス契約番号 */
	private String svckeiNo = "";
	
	/** サービス契約.SYSID */
	private String sysId = "";
	
	// ANK-2248-00-00 DEL START
	/** サービス契約.SVC_KEI_STAT */
	//private String svcKeiStat = "";
	// ANK-2248-00-00 DEL END
	
	/** オプションサービス契約.オプションサービス契約番号 */
	private String opSvcKeiNo = "";
	
	/** サービス課金開始年月日 */
	private String svcChrgStaYmd = "";
	
	/** サービス開始年月日 */
	private String svcStaYmd = "";
	
	/** サービス終了年月日 */
	private String svcEndYmd = "";
	
	/** NHK団体一括支払サイクルコード */
	private String nhkGrpIktPayCycleCd = "";
	
	/** NHKエラーコード */
	private String nhkErrCd = "";
	
	/** 単項目チェックエラー：単項目エラー内容 */
	private String itemChkErrNaiyo = "";

	/** 単項目チェックエラー：キー項目 */
	private String itemChkErrKey = "";

	/** 単項目チェックエラー：エラー項目 */
	private String itemChkErrKmk = "";
	
	/** 単項目チェックエラー：必須チェックエラー */
	private String itemChkErrMes1 = "必須チェックエラー";

	/** 単項目チェックエラー：属性チェックエラー */
	private String itemChkErrMes2 = "属性チェックエラー";

	/** 単項目チェックエラー：キー項目名 */
	private String itemChkErrKeyNm = "ＮＨＫお客様番号";

	
	/** データ取込件数 */
	private long dataTorikomiCount = 0;
	
	// ANK-2248-00-00 ADD START
	/** 請求オプションサービス契約.SEIOPSVC_KEI_STAT */
	private String seiopsvcKeiStat = "";
	
	/** 請求オプションサービス契約.請求契約番号 */
	private String seikyKeiNo = "";
	
	/** 請求オプションサービス契約.サービス解約年月日 */
	private String svcDslYmd = "";
	
	/** 課金対象件数 */
	private long chrgTgCount = 0;
	
	/** 課金金額合計 */
	private BigDecimal chrgAmntTotal= BigDecimal.ZERO;
	// ANK-2248-00-00 ADD END
	
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		// ANK-2248-00-00 DEL START
		//db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
		//db_KK_T_OP_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_OP_SVC_KEI);
		//db_KK_T_KAKINS = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KAKINS);
		// ANK-2248-00-00 DEL END
		// ANK-2248-00-00 ADD START
		db_KK_T_SEIOPSVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SEIOPSVC_KEI);
		// ANK-2248-00-00 ADD END
		db_CK_T_CUST = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CK_T_CUST);
		db_ZM_M_WORK_PARAM_KNRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_M_WORK_PARAM_KNRI);
		db_AC_T_NHK_WTCHCRG_TJK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_AC_T_NHK_WTCHCRG_TJK);
		db_AC_T_NHK_WTCHCRG_DTL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_AC_T_NHK_WTCHCRG_DTL);
		db_CH_M_PRC_SCHDL_TEIGI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CH_M_PRC_SCHDL_TEIGI);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		
		/** (1) 請求年月取得 */
		// 料金スケジュール定義より料金スケジュール管理年月(請求年月)を取得
// 2014.11.10 IT2-2014-0000322 mod start
		// イベントコード（料金計算日）を使うように修正。実際は入力ファイルの請求年月で置き換える。
//		executeCH_M_PRC_SCHDL_TEIGI_AC_SELECT_001(new Object[] {JACStrConst.EVENT_CD_SIKY_TRN_DAY, super.onlineOpeDate});
		executeCH_M_PRC_SCHDL_TEIGI_AC_SELECT_001(new Object[] {JACStrConst.EVENT_CD_PRC_CALC_DAY, super.onlineOpeDate});
// 2014.11.10 IT2-2014-0000322 mod end
		JBSbatCommonDBInterface prcRecord = db_CH_M_PRC_SCHDL_TEIGI.selectNext();
// 2011.07.28 Update Start
		//if(record != null)
		if(prcRecord.getString(JBSbatCH_M_PRC_SCHDL_TEIGI.SEIKY_YM) != null)
// 2011.07.28 Update End
		{
			seikyYm = prcRecord.getString(JBSbatCH_M_PRC_SCHDL_TEIGI.SEIKY_YM);
			seikyYm = seikyYm.substring(2, 4) + "/" + seikyYm.substring(4, 6);
// 2014.11.10 IT2-2014-0000322 add start
			seikyYmIni = new String(seikyYm);
// 2014.11.10 IT2-2014-0000322 add end
		}
		else
		{
			// 料金スケジュール管理テーブルから取得できない場合はエラーとする
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EACB0440CE, new String[] { JBSbatCH_M_PRC_SCHDL_TEIGI.TABLE_NAME });
			
		}
		
		/** (2) チェック有無情報取得 */
		// 検索条件の設定
		List<String> searchList = new ArrayList<String>();
		searchList.add(JACStrConst.WKPARA_AC_SIKYCYCLECHK);	// 請求サイクルチェック
		searchList.add(JACStrConst.WKPARA_AC_KEIPRDCHK);	// 契約期間チェック
		searchList.add(JACStrConst.WKPARA_AC_KANACHK);		// カナ名チェック
		
		// 業務パラメータ管理からNHKエラー名称を取得
		workMap = new HashMap<String, Object>();
		for (int i = 0; i < searchList.size(); i++)
		{
			executeZM_M_WORK_PARAM_KNRI_AC_SELECT_001(new Object[] {searchList.get(i), super.onlineOpeDate, super.onlineOpeDate});
			JBSbatCommonDBInterface workRecord = db_ZM_M_WORK_PARAM_KNRI.selectNext();
			if (workRecord != null)
			{
				workMap.put((String)searchList.get(i), workRecord.getString(JBSbatZM_M_WORK_PARAM_KNRI.WORK_PARAM_SETTE_VALUE));
			}
			else
			{
				// 業務パラメータ管理テーブルから取得できない場合はエラーとする
				throw new JBSbatBusinessException(JPCBatchMessageConstant.EACB0440CE, new String[] { JBSbatZM_M_WORK_PARAM_KNRI.TABLE_NAME });
			}	
		}
		
		// NHK視聴課金処理状況取得
		executeAC_T_NHK_WTCHCRG_TJK_AC_SELECT_001();
		JBSbatCommonDBInterface nhkRecord = db_AC_T_NHK_WTCHCRG_TJK.selectNext();
		if(nhkRecord != null)
		{
			nhkWatchChrgTrnNo = nhkRecord.getString(JBSbatAC_T_NHK_WTCHCRG_TJK.NHK_WTCHCRG_TJK_NO);
			shoriIraiNo = nhkRecord.getString(JBSbatAC_T_NHK_WTCHCRG_TJK.DLYD_TRN_REQ_NO);
		}
		else
		{
			// NHK視聴課金処理状況テーブルから取得できない場合はエラーとする
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EACB0440CE, new String[] { JBSbatAC_T_NHK_WTCHCRG_TJK.TABLE_NAME });
		}
		
		// NHK視聴課金明細削除
		executeAC_T_NHK_WTCHCRG_DTL_AC_DELETE_001();
		
		// 単項目チェック用に保持
		itemValueMap = new HashMap<String, String>();
		this.itemValueMap.put("TXT-ACIFM025-INF1.NHK_KYOKU_CD", "ＮＨＫコード局コード");
		this.itemValueMap.put("TXT-ACIFM025-INF1.NHK_CITY_CD", "ＮＨＫコード市区郡コード");
		this.itemValueMap.put("TXT-ACIFM025-INF1.NHK_CKIA", "ＮＨＫコード地域Ａ");
		this.itemValueMap.put("TXT-ACIFM025-INF1.NHK_CKIB", "ＮＨＫコード地域Ｂ");
		this.itemValueMap.put("TXT-ACIFM025-INF1.KEISHA_KANA", "お名前カナ氏名");
		this.itemValueMap.put("TXT-ACIFM025-INF1.KEISHA_KANJI", "お名前漢字氏名");
		this.itemValueMap.put("TXT-ACIFM025-INF1.NHK_CUST_NO", "ＮＨＫお客様番号");
		this.itemValueMap.put("TXT-ACIFM025-INF1.CATV_SST_DBRI_CD", "ＣＡＴＶ施設コード大分類コード");
		this.itemValueMap.put("TXT-ACIFM025-INF1.CATV_SST_NO", "ＣＡＴＶ施設コード施設Ｎｏ");
		this.itemValueMap.put("TXT-ACIFM025-INF1.CATV_SST_YOBI", "ＣＡＴＶ施設コード予備");
		this.itemValueMap.put("TXT-ACIFM025-INF1.CATV_KNYSHA_CD", "ＣＡＴＶ施設コード加入者コード");
		this.itemValueMap.put("TXT-ACIFM025-INF1.TELNO_AREACD", "電話番号市外局番");
		this.itemValueMap.put("TXT-ACIFM025-INF1.TELNO_CITYCD", "電話番号市内局番");
		this.itemValueMap.put("TXT-ACIFM025-INF1.TELNO_KNYSHA_NO", "電話番号加入者番号");
		this.itemValueMap.put("TXT-ACIFM025-INF1.SIKY_STA_YM", "請求期間請求始月");
		this.itemValueMap.put("TXT-ACIFM025-INF1.SIKY_END_YM", "請求期間終入年月");
		this.itemValueMap.put("TXT-ACIFM025-INF1.SIKY_AMNT", "請求内容請求金額");
		this.itemValueMap.put("TXT-ACIFM025-INF1.SSN_AMNT_SAIKEI", "請求内容精算金額（再掲）");
		this.itemValueMap.put("TXT-ACIFM025-INF1.SIKY_CNT", "請求内容口数");
		this.itemValueMap.put("TXT-ACIFM025-INF1.PAY_WAY_CD", "支払内容支払方法");
		this.itemValueMap.put("TXT-ACIFM025-INF1.PAY_COURSE_CD", "支払内容支払コース");
		this.itemValueMap.put("TXT-ACIFM025-INF1.PAY_CYCLE_STA_MON", "支払内容サイクル始月");
		this.itemValueMap.put("TXT-ACIFM025-INF1.FAMILY_JIGSHO_WRIB_SKBT_CD", "家族・事業所　割引識別");
		this.itemValueMap.put("TXT-ACIFM025-INF1.NEXT_PAY_COURSE", "次回支払内容次回支払コース");
		this.itemValueMap.put("TXT-ACIFM025-INF1.STLT_KEI_CNT", "契約件数内訳衛星");
		this.itemValueMap.put("TXT-ACIFM025-INF1.STLT_NORMAL_KEI_CNT", "契約件数内訳衛星普通");
		this.itemValueMap.put("TXT-ACIFM025-INF1.SPCL_KEI_CNT", "契約件数内訳特別");
		this.itemValueMap.put("TXT-ACIFM025-INF1.CHIJO_KEI_CNT", "契約件数内訳地上");
		this.itemValueMap.put("TXT-ACIFM025-INF1.NORMAL_KEI_CNT", "契約件数内訳普通");
		this.itemValueMap.put("TXT-ACIFM025-INF1.F3", "Ｆ３");
		this.itemValueMap.put("TXT-ACIFM025-INF1.JOSEI_MENJO_CD", "助成・免除ＩＤ");
		this.itemValueMap.put("TXT-ACIFM025-INF1.IKT_SIKY_SKBT_CD", "一括請求識別一括識別");
		this.itemValueMap.put("TXT-ACIFM025-INF1.IKT_PAY_STA_YM", "一括請求識別一括支払開始月");
		this.itemValueMap.put("TXT-ACIFM025-INF1.KEI_JURI_YM", "契約受理年月");
		this.itemValueMap.put("TXT-ACIFM025-INF1.SESN_STDT_EXPTN_SKBT_CD", "例外識別季節・学生");
		this.itemValueMap.put("TXT-ACIFM025-INF1.SAIGI_MENJO_EXPTN_MON", "例外識別災害・免除");
		this.itemValueMap.put("TXT-ACIFM025-INF1.KEISHA_KANA_AD", "カナ住所");
		this.itemValueMap.put("TXT-ACIFM025-INF1.DAIHYO_KSH_KYOKU_CD", "代表契約者局コード");
		this.itemValueMap.put("TXT-ACIFM025-INF1.DAIHYO_KSH_CUST_NO", "代表契約者お客様番号");
		this.itemValueMap.put("TXT-ACIFM025-INF1.DAIHYO_KSH_KANA_NM", "代表契約者カナ氏名");
		this.itemValueMap.put("TXT-ACIFM025-INF1.SIKY_YM", "請求年月");
		
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][execute]");
		
		// 変数宣言
		Object[] setParam = null;
		Object[] whereParam = null;
		boolean checkFlg = false;
		HashMap resultMap = new HashMap();


		// 変数の初期化
		svckeiNo = "";
		sysId = "";
		opSvcKeiNo = "";
		// ANK-2248-00-00 ADD START
		seikyKeiNo = "";
		svcDslYmd = "";
		// ANK-2248-00-00 ADD END
		svcChrgStaYmd = "";
		svcStaYmd = "";
		svcEndYmd = "";
		nhkGrpIktPayCycleCd = "";
		nhkErrCd = "0";

		/** (1) ファイルレイアウトチェック */
		//  ファイルレイアウトチェック
		if (!isSingleCheckACIFM025_INF1(inMap.getMap(), itemValueMap))
		{
			// ロールバック実行
			this.commonItem.getConnection().rollback();

			//  エラー情報更新
			// NHK視聴課金処理状況更新
			// ANK-2248-00-00 MOD START
			//setParam = new Object[] {0, JACStrConst.AC_T_NHK_WTCHCRG_TJK_TRKM_ERR};
			setParam = new Object[] {0, JACStrConst.AC_T_NHK_WTCHCRG_TJK_TRKM_ERR, 0, 0};
			// ANK-2248-00-00 MOD END
			whereParam = new Object[] {nhkWatchChrgTrnNo};
			executeAC_T_NHK_WTCHCRG_TJK_PKUPDATE(setParam, whereParam);

			//  更新エラー情報を取得(初期処理で取得済)
			//  処理結果コード更新
			// ディレイド処理依頼更新
			JCCbatShoriIraiUtil.updateShoriIraiResult(commonItem, shoriIraiNo, "2", null);

			// コミット実行
			this.commonItem.getConnection().commit();

			// メッセージ
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EACB0890TE, new String[] {itemChkErrNaiyo, itemChkErrKmk, itemChkErrKey});
		}
		
		try
		{
			/** (2) データチェック */
			
			// １レコードを取得
			resultMap = inMap.getMap();
			
			// ＣＡＴＶ施設コード加入者コード
			String catvKnyshaCd = JBSbatStringUtil.trim((String)resultMap.get("CATV_KNYSHA_CD"));

// 2014.11.10 IT2-2014-0000322 add start
			// 請求年月：入力ファイルの請求年月を使うように修正
			String inSeiky_Ym = JBSbatStringUtil.trim((String)resultMap.get("SIKY_YM"));
			super.logPrint.printDebugLog("入力ファイルから取得したSIKY_YM：" + inSeiky_Ym);

			// トリムされているので４桁（YYMM）
			if (inSeiky_Ym != null && inSeiky_Ym.length() >= 4) {
				seikyYm = inSeiky_Ym.substring(0, 2) + "/" + inSeiky_Ym.substring(2, 4);
				super.logPrint.printDebugLog("置き換え後seikyYm：" + seikyYm);
			} else {
				// 料金スケジュール定義より設定（通らないはず）
				seikyYm = seikyYmIni;
				super.logPrint.printDebugLog("料金スケジュール定義よりseikyYm：" + seikyYm);
			}
			super.logPrint.printDebugLog("seikyYm：" + seikyYm);
// 2014.11.10 IT2-2014-0000322 add end
			
			
			super.logPrint.printDebugLog("onlineOpeDate：" + super.onlineOpeDate);
			super.logPrint.printDebugLog("catvKnyshaCd：" + catvKnyshaCd);
			
			// (a) 契約者存在チェック
			// ANK-2248-00-00 MOD START
			//setParam = new Object[] {super.onlineOpeDate, catvKnyshaCd};
			setParam = new Object[] {catvKnyshaCd, super.onlineOpeDate};
			// ANK-2248-00-00 MOD END
			checkFlg = selectKeishaCheck(setParam);
			
			// ANK-2248-00-00 ADD START
			// (b) 回線契約存在チェック
			if (!checkFlg)
			{
				setParam = new Object[] {super.onlineOpeDate
											, super.onlineOpeDate
											, super.onlineOpeDate
											, super.onlineOpeDate
											, super.onlineOpeDate
											, super.onlineOpeDate
											, catvKnyshaCd
											, super.onlineOpeDate};
				checkFlg = this.selectKaisenKeiCheck(setParam);
			}
			// ANK-2248-00-00 ADD END

			// (c) 解約日存在チェック
			if (!checkFlg)
			{
				checkFlg = selectDslDayCheck(catvKnyshaCd);
			}
			
			// 請求オプションサービス契約ステータスが「100:サービス提供中」の場合
			//   （NHK団体のレコードの請求オプションサービスステータスは「100:サービス提供中」、「910:解約済み」のみ）
			// ANK-2248-00-00 MOD START
			//if (JACStrConst.SVC_KEI_STAT_SVCTK.equals(svcKeiStat) || JACStrConst.SVC_KEI_STAT_KYUSHI.equals(svcKeiStat) || 
			//		JACStrConst.SVC_KEI_STAT_STP.equals(svcKeiStat))
			//{
			if (JACStrConst.SVC_KEI_STAT_SVCTK.equals(seiopsvcKeiStat))
			{
			// ANK-2248-00-00 MOD END
				
				// (d) 課金開始日チェック
				if (!checkFlg)
				{
					super.logPrint.printDebugLog("ChrgStaYmdCheck_START");
					
					// (a)で取得したサービス課金開始年月日が存在しない場合
					if (svcChrgStaYmd == null || "".equals(svcChrgStaYmd))
					{
						// NHKエラーコード設定(3:課金開始日エラー)
						nhkErrCd = JACStrConst.NHK_ERR_CD_CHRG_STAYMD;
						checkFlg = true;
					}
					super.logPrint.printDebugLog("nhkErrCd：" + nhkErrCd);
					super.logPrint.printDebugLog("checkFlg：" + checkFlg);
					super.logPrint.printDebugLog("ChrgStaYmdCheck_END");
				}

				// ANK-2248-00-00 DEL START
				// (d) 請求サイクルチェック
				// 初期処理で取得したチェック有無情報が「1:チェックあり」の場合
				//if (!checkFlg && CHECK_ARI.equals((String)workMap.get(JACStrConst.WKPARA_AC_SIKYCYCLECHK)))
				//{	
				//	checkFlg = seikyCycleCheck((String)resultMap.get("PAY_COURSE_CD"));

				//}
				// ANK-2248-00-00 DEL END

				// (e) 契約期間チェック
				// 初期処理で取得したチェック有無情報が「1:チェックあり」の場合
				if (!checkFlg && CHECK_ARI.equals((String)workMap.get(JACStrConst.WKPARA_AC_KEIPRDCHK)))
				{
					checkFlg = keiPrdCheck(JBSbatStringUtil.trim((String)resultMap.get("SIKY_END_YM")));
				}

				// (f) カナ名チェック
				// 初期処理で取得したチェック有無情報が「1:チェックあり」の場合
				if (!checkFlg && CHECK_ARI.equals((String)workMap.get(JACStrConst.WKPARA_AC_KANACHK)))
				{
					checkFlg = kanaCheck(JBSbatStringUtil.trim((String)resultMap.get("KEISHA_KANA")));
				}
			}

			/** (3) 付加情報取得 */
			// (a) 請求契約番号取得
			// ANK-2248-00-00 DEL START
			//String seikyKeiNo = "";
			//executeKK_T_KAKINS_AC_SELECT_004(new Object[] {svckeiNo, super.onlineOpeDate, super.onlineOpeDate});
			//JBSbatCommonDBInterface kakinRecord = db_KK_T_KAKINS.selectNext();
			//if(kakinRecord != null)
			//{
			//	seikyKeiNo = kakinRecord.getString(JBSbatKK_T_KAKINS.SEIKY_KEI_NO);
			//}
			// ANK-2248-00-00 DEL END

			// 取込件数のカウントアップ
			dataTorikomiCount = dataTorikomiCount + 1;
			
			// ANK-2248-00-00 ADD START
			// 課金対象件数、課金金額合計の集計
			// 請求金額
			BigDecimal sikyAmnt = BigDecimal.ZERO;
			sikyAmnt = new BigDecimal(JBSbatStringUtil.trim((String)resultMap.get("SIKY_AMNT")));
			
			if (null != sikyAmnt)
			{
				super.logPrint.printDebugLog("請求金額       ：" + sikyAmnt);
				super.logPrint.printDebugLog("NHKエラーコード：" + nhkErrCd);
				
				// 請求金額が０円以外で、NHK視聴課金明細にNHKエラーコード「0：正常」で登録の場合設定します。
				if (sikyAmnt.compareTo(BigDecimal.ZERO) > 0 && JACStrConst.NHK_ERR_CD_NORMAL.equals(nhkErrCd))
				{
					super.logPrint.printDebugLog("★課金対象件数、課金金額合計の集計実施★");
					
					// 課金対象件数のカウントアップ
					chrgTgCount = chrgTgCount + 1;
					
					// 課金金額合計の集計
					chrgAmntTotal = chrgAmntTotal.add(sikyAmnt);
				}
			}
			super.logPrint.printDebugLog("NHK視聴課金明細TBL登録");
			super.logPrint.printDebugLog("CATV施設加入者コード      ：" + catvKnyshaCd);
			super.logPrint.printDebugLog("請求年月                  ：" + seikyYm);
			super.logPrint.printDebugLog("請求契約番号              ：" + seikyKeiNo);
			super.logPrint.printDebugLog("サービス契約番号          ：" + svckeiNo);
			super.logPrint.printDebugLog("オプションサービス契約番号：" + opSvcKeiNo);
			super.logPrint.printDebugLog("NHKエラーコード           ：" + nhkErrCd);
			// ANK-2248-00-00 ADD END

			/** (4) データ登録 */
			setParam = new Object[] {
							catvKnyshaCd,
							seikyYm,
							JBSbatStringUtil.trim((String)resultMap.get("NHK_KYOKU_CD")),
							JBSbatStringUtil.trim((String)resultMap.get("NHK_CITY_CD")),
							JBSbatStringUtil.trim((String)resultMap.get("NHK_CKIA")),
							JBSbatStringUtil.trim((String)resultMap.get("NHK_CKIB")),
							JBSbatStringUtil.trim((String)resultMap.get("KEISHA_KANA")),
							JBSbatStringUtil.trim((String)resultMap.get("KEISHA_KANJI")),
							JBSbatStringUtil.trim((String)resultMap.get("NHK_CUST_NO")),
							JBSbatStringUtil.trim((String)resultMap.get("CATV_SST_DBRI_CD")),
							JBSbatStringUtil.trim((String)resultMap.get("CATV_SST_NO")),
							JBSbatStringUtil.trim((String)resultMap.get("CATV_SST_YOBI")),
							JBSbatStringUtil.trim((String)resultMap.get("TELNO_AREACD")),
							JBSbatStringUtil.trim((String)resultMap.get("TELNO_CITYCD")),
							JBSbatStringUtil.trim((String)resultMap.get("TELNO_KNYSHA_NO")),
							editDate((String)resultMap.get("SIKY_STA_YM")),
							editDate((String)resultMap.get("SIKY_END_YM")),
							JBSbatStringUtil.trim((String)resultMap.get("SIKY_AMNT")),
							JBSbatStringUtil.trim((String)resultMap.get("SSN_AMNT_SAIKEI")),
							JBSbatStringUtil.trim((String)resultMap.get("SIKY_CNT")),
							JBSbatStringUtil.trim((String)resultMap.get("PAY_WAY_CD")),
							JBSbatStringUtil.trim((String)resultMap.get("PAY_COURSE_CD")),
							JBSbatStringUtil.trim((String)resultMap.get("PAY_CYCLE_STA_MON")),
							JBSbatStringUtil.trim((String)resultMap.get("FAMILY_JIGSHO_WRIB_SKBT_CD")),
							JBSbatStringUtil.trim((String)resultMap.get("NEXT_PAY_COURSE")),
							JBSbatStringUtil.trim((String)resultMap.get("STLT_KEI_CNT")),
							JBSbatStringUtil.trim((String)resultMap.get("STLT_NORMAL_KEI_CNT")),
							JBSbatStringUtil.trim((String)resultMap.get("SPCL_KEI_CNT")),
							JBSbatStringUtil.trim((String)resultMap.get("CHIJO_KEI_CNT")),
							JBSbatStringUtil.trim((String)resultMap.get("NORMAL_KEI_CNT")),
							JBSbatStringUtil.trim((String)resultMap.get("F3")),
							JBSbatStringUtil.trim((String)resultMap.get("JOSEI_MENJO_CD")),
							JBSbatStringUtil.trim((String)resultMap.get("IKT_SIKY_SKBT_CD")),
							editDate((String)resultMap.get("IKT_PAY_STA_YM")),
							editDate((String)resultMap.get("KEI_JURI_YM")),
							JBSbatStringUtil.trim((String)resultMap.get("SESN_STDT_EXPTN_SKBT_CD")),
							JBSbatStringUtil.trim((String)resultMap.get("SAIGI_MENJO_EXPTN_MON")),
							JBSbatStringUtil.trim((String)resultMap.get("KEISHA_KANA_AD")),
							JBSbatStringUtil.trim((String)resultMap.get("DAIHYO_KSH_KYOKU_CD")),
							JBSbatStringUtil.trim((String)resultMap.get("DAIHYO_KSH_CUST_NO")),
							JBSbatStringUtil.trim((String)resultMap.get("DAIHYO_KSH_KANA_NM")),
							seikyKeiNo,
							svckeiNo,
							opSvcKeiNo,
							nhkErrCd,
							null
			};

			nhkDeleteInsert(setParam);
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][execute]");
			return null;
		}
		catch (Exception e)
		{
			// ロールバック実行
			this.commonItem.getConnection().rollback();

			//  エラー情報更新
			// NHK視聴課金処理状況更新
			// ANK-2248-00-00 MOD START
			//setParam = new Object[] {0, JACStrConst.AC_T_NHK_WTCHCRG_TJK_TRKM_ERR};
			setParam = new Object[] {0, JACStrConst.AC_T_NHK_WTCHCRG_TJK_TRKM_ERR, 0, 0};
			// ANK-2248-00-00 MOD END
			whereParam = new Object[] {nhkWatchChrgTrnNo};
			executeAC_T_NHK_WTCHCRG_TJK_PKUPDATE(setParam, whereParam);

			//  更新エラー情報を取得(初期処理で取得済)
			//  処理結果コード更新
			// ディレイド処理依頼更新
			JCCbatShoriIraiUtil.updateShoriIraiResult(commonItem, shoriIraiNo, JACStrConst.DLYD_TRN_RSLT_CD_SYS_ERR, null);

			// コミット実行
			this.commonItem.getConnection().commit();

			// メッセージ
			throw e;
		}
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		try
		{
			// ANK-2248-00-00 DEL START
			// 変数宣言
//			long dtlCount = 0;
//			String nhkstatus = "";
			
			/** (1) データ更新 */
			// (a) NHK視聴課金処理状況更新
			//  NHKエラーコード「4:請求サイクルエラー」検索
/*			executeAC_T_NHK_WTCHCRG_DTL_AC_SELECT_003(new Object[] {JACStrConst.NHK_ERR_CD_SEIKY_CYCLE});
			JBSbatCommonDBInterface record = db_AC_T_NHK_WTCHCRG_DTL.selectNext();
			dtlCount = Integer.parseInt(record.getString("CNT"));
	
			
			// 取得件数が0件の場合
			if (dtlCount == 0)
			{
				nhkstatus = JACStrConst.AC_T_NHK_WTCHCRG_TJK_SUCCES;
	
			}
			else
			{
				nhkstatus = JACStrConst.AC_T_NHK_WTCHCRG_TJK_CYCLE_ERR;
				
			}
*/
			// ANK-2248-00-00 DEL END
			
			/** (1) データ更新 */
			// (a) NHK視聴課金処理状況更新
			//  更新条件取得(初期処理で取得済)
			//  更新
			// 更新する値の設定
			// ANK-2248-00-00 MOD START
			//Object[] updateParam = new Object[] {dataTorikomiCount, nhkstatus};
			Object[] updateParam = new Object[] {
					dataTorikomiCount, JACStrConst.AC_T_NHK_WTCHCRG_TJK_SUCCES, chrgTgCount, chrgAmntTotal};
			
			super.logPrint.printDebugLog("NHK視聴課金処理状況更新");
			super.logPrint.printDebugLog("データ取込件数：" + dataTorikomiCount);
			super.logPrint.printDebugLog("課金対象件数  ：" + chrgTgCount);
			super.logPrint.printDebugLog("課金金額合計  ：" + chrgAmntTotal);
			super.logPrint.printDebugLog("nhkWatchChrgTrnNo  ：" + nhkWatchChrgTrnNo);
			// ANK-2248-00-00 MOD END
			Object[] whereParam = new Object[] {nhkWatchChrgTrnNo};
			executeAC_T_NHK_WTCHCRG_TJK_PKUPDATE(updateParam, whereParam);
		}
		catch(Exception ex)
		{
			// ロールバック実行
			this.commonItem.getConnection().rollback();
			Object[] setParam = null;
			Object[] whereParam = null;
			//  エラー情報更新
			// NHK視聴課金処理状況更新
			// ANK-2248-00-00 MOD START
			//setParam = new Object[] {0, JACStrConst.AC_T_NHK_WTCHCRG_TJK_TRKM_ERR};
			setParam = new Object[] {0, JACStrConst.AC_T_NHK_WTCHCRG_TJK_TRKM_ERR, 0, 0};
			// ANK-2248-00-00 MOD END
			whereParam = new Object[] {nhkWatchChrgTrnNo};
			executeAC_T_NHK_WTCHCRG_TJK_PKUPDATE(setParam, whereParam);

			//  更新エラー情報を取得(初期処理で取得済)
			//  処理結果コード更新
			// ディレイド処理依頼更新
			JCCbatShoriIraiUtil.updateShoriIraiResult(commonItem, shoriIraiNo, JACStrConst.DLYD_TRN_RSLT_CD_SYS_ERR, null);

			// コミット実行
			this.commonItem.getConnection().commit();

			// メッセージ
			throw ex;
		}
		
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		// ANK-2248-00-00 DEL START
		//db_KK_T_SVC_KEI.close();
		//db_KK_T_OP_SVC_KEI.close();
		//db_KK_T_KAKINS.close();
		// ANK-2248-00-00 DEL END
		// ANK-2248-00-00 ADD START
		db_KK_T_SEIOPSVC_KEI.close();
		// ANK-2248-00-00 ADD END
		db_CK_T_CUST.close();
		db_ZM_M_WORK_PARAM_KNRI.close();
		db_AC_T_NHK_WTCHCRG_TJK.close();
		db_AC_T_NHK_WTCHCRG_DTL.close();
		db_CH_M_PRC_SCHDL_TEIGI.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}
	
	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 *入力情報（NHK視聴課金情報）の単項目チェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.単項目チェックを行います。<br>
	 * 
	 * 2.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		rsMap:(項目、値)を(key、value)として、データをrsMapに入れます
	 *		itemvalueMap:埋め込み文字の値をitemvalueMapに入れます。キーの値は、以下に説明します。
	 *      TXT-ACIFM025-INF1.NHK_KYOKU_CD			NHK視聴課金情報.ＮＨＫコード局コード
	 *		TXT-ACIFM025-INF1.NHK_CITY_CD			NHK視聴課金情報.ＮＨＫコード市区郡コード
	 *		TXT-ACIFM025-INF1.NHK_CKIA				NHK視聴課金情報.ＮＨＫコード地域Ａ
	 *		TXT-ACIFM025-INF1.NHK_CKIB				NHK視聴課金情報.ＮＨＫコード地域Ｂ
	 *		TXT-ACIFM025-INF1.KEISHA_KANA			NHK視聴課金情報.お名前カナ氏名
	 *		TXT-ACIFM025-INF1.KEISHA_KANJI			NHK視聴課金情報.お名前漢字氏名
	 *		TXT-ACIFM025-INF1.NHK_CUST_NO			NHK視聴課金情報.ＮＨＫお客様番号
	 *		TXT-ACIFM025-INF1.CATV_KNYSHA_CD		NHK視聴課金情報.ＣＡＴＶ施設コード加入者コード
	 *		TXT-ACIFM025-INF1.SIKY_END_YM			NHK視聴課金情報.請求期間終入年月
	 *		TXT-ACIFM025-INF1.SIKY_AMNT				NHK視聴課金情報.請求内容請求金額
	 *		TXT-ACIFM025-INF1.SSN_AMNT_SAIKEI		NHK視聴課金情報.請求内容精算金額（再掲）
	 *		TXT-ACIFM025-INF1.SIKY_CNT				NHK視聴課金情報.請求内容口数
	 *		TXT-ACIFM025-INF1.PAY_WAY_CD			NHK視聴課金情報.支払内容支払方法
	 *		TXT-ACIFM025-INF1.PAY_COURSE_CD			NHK視聴課金情報.支払内容支払コース
	 *		TXT-ACIFM025-INF1.NEXT_PAY_COURSE		NHK視聴課金情報.次回支払内容次回支払コース
	 *		TXT-ACIFM025-INF1.STLT_KEI_CNT			NHK視聴課金情報.契約件数内訳衛星
	 *		TXT-ACIFM025-INF1.STLT_NORMAL_KEI_CNT	NHK視聴課金情報.契約件数内訳衛星普通
	 *		TXT-ACIFM025-INF1.SPCL_KEI_CNT			NHK視聴課金情報.契約件数内訳特別
	 *		TXT-ACIFM025-INF1.SPCL_KEI_CNT			NHK視聴課金情報.契約件数内訳特別
	 *		TXT-ACIFM025-INF1.CHIJO_KEI_CNT			NHK視聴課金情報.契約件数内訳地上
	 *		TXT-ACIFM025-INF1.CHIJO_KEI_CNT			NHK視聴課金情報.契約件数内訳地上
	 *		TXT-ACIFM025-INF1.NORMAL_KEI_CNT		NHK視聴課金情報.契約件数内訳普通
	 *		TXT-ACIFM025-INF1.NORMAL_KEI_CNT		NHK視聴課金情報.契約件数内訳普通
	 *		TXT-ACIFM025-INF1.IKT_SIKY_SKBT_CD		NHK視聴課金情報.一括請求識別一括識別
	 *		TXT-ACIFM025-INF1.IKT_PAY_STA_YM		NHK視聴課金情報.一括請求識別一括支払開始月
	 *		TXT-ACIFM025-INF1.KEI_JURI_YM			NHK視聴課金情報.契約受理年月
	 *		TXT-ACIFM025-INF1.DAIHYO_KSH_KYOKU_CD	NHK視聴課金情報.代表契約者局コード
	 *		TXT-ACIFM025-INF1.DAIHYO_KSH_CUST_NO	NHK視聴課金情報.代表契約者お客様番号
	 *		TXT-ACIFM025-INF1.DAIHYO_KSH_KANA_NM	NHK視聴課金情報.代表契約者カナ氏名
	 *		TXT-ACIFM025-INF1.SIKY_YM				NHK視聴課金情報.請求年月
	 * </pre>
	 * <p>
	 * @param rsMap 入力データ（TXT又はDB）を格納されたHashMap。
	 * @param itemvalueMap エラーメッセージに関する項目値を格納されたHashMap。
	 * @return  boolean trueである場合、エラーがありません。falseである場合、エラーを発生しました。
	 */
	private boolean isSingleCheckACIFM025_INF1(HashMap rsMap, HashMap itemvalueMap)
	{
		
		// キー項目(NHKお客様番号)
		String recordKey = JBSbatStringUtil.trim((String)rsMap.get("NHK_CUST_NO"));
		
		// 単項目チェックを行います
		String strValue = null;

		// ＮＨＫコード局コード項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("NHK_KYOKU_CD"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.NHK_KYOKU_CD")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.NHK_KYOKU_CD"), strValue);
			
			return false;
		}

		// ＮＨＫコード市区郡コード項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("NHK_CITY_CD"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.NHK_CITY_CD")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.NHK_CITY_CD"), strValue);
			
			return false;
		}

		// ＮＨＫコード地域Ａ項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("NHK_CKIA"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.NHK_CKIA")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.NHK_CKIA"), strValue);
			
			return false;
		}

		// ＮＨＫコード地域Ｂ項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("NHK_CKIB"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.NHK_CKIB")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.NHK_CKIB"), strValue);
			
			return false;
		}

		// お名前カナ氏名項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("KEISHA_KANA"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.KEISHA_KANA")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.KEISHA_KANA"), strValue);
			
			return false;
		}

		// お名前漢字氏名項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("KEISHA_KANJI"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.KEISHA_KANJI")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.KEISHA_KANJI"), strValue);
			
			return false;
		}

		// ＮＨＫお客様番号項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("NHK_CUST_NO"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.NHK_CUST_NO")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.NHK_CUST_NO"), strValue);
			
			return false;
		}

		// ＣＡＴＶ施設コード加入者コード項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("CATV_KNYSHA_CD"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.CATV_KNYSHA_CD")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.CATV_KNYSHA_CD"), strValue);
			
			return false;
		}

		// 請求期間終入年月項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("SIKY_END_YM"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.SIKY_END_YM")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.SIKY_END_YM"), strValue);
			
			return false;
		}

		// 請求内容請求金額項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("SIKY_AMNT"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.SIKY_AMNT")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.SIKY_AMNT"), strValue);
			
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0460CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.SIKY_AMNT")});
			
			makeErrLogMes(recordKey, itemChkErrMes2, (String)itemvalueMap.get("TXT-ACIFM025-INF1.SIKY_AMNT"), strValue);
			
			return false;
		}

		// 請求内容精算金額（再掲）項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("SSN_AMNT_SAIKEI"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.SSN_AMNT_SAIKEI")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.SSN_AMNT_SAIKEI"), strValue);
			
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0460CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.SSN_AMNT_SAIKEI")});
			
			makeErrLogMes(recordKey, itemChkErrMes2, (String)itemvalueMap.get("TXT-ACIFM025-INF1.SSN_AMNT_SAIKEI"), strValue);
			
			return false;
		}

		// 請求内容口数項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("SIKY_CNT"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.SIKY_CNT")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.SIKY_CNT"), strValue);
			
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0460CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.SIKY_CNT")});
			
			makeErrLogMes(recordKey, itemChkErrMes2, (String)itemvalueMap.get("TXT-ACIFM025-INF1.SIKY_CNT"), strValue);
			
			return false;
		}

		// 支払内容支払方法項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("PAY_WAY_CD"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.PAY_WAY_CD")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.PAY_WAY_CD"), strValue);
			
			return false;
		}

		// 支払内容支払コース項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("PAY_COURSE_CD"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.PAY_COURSE_CD")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.PAY_COURSE_CD"), strValue);
			
			return false;
		}

		// 契約件数内訳衛星項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("STLT_KEI_CNT"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.STLT_KEI_CNT")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.STLT_KEI_CNT"), strValue);
			
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0460CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.STLT_KEI_CNT")});
			
			makeErrLogMes(recordKey, itemChkErrMes2, (String)itemvalueMap.get("TXT-ACIFM025-INF1.STLT_KEI_CNT"), strValue);
			
			return false;
		}

		// 契約件数内訳衛星普通項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("STLT_NORMAL_KEI_CNT"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.STLT_NORMAL_KEI_CNT")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.STLT_NORMAL_KEI_CNT"), strValue);
			
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0460CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.STLT_NORMAL_KEI_CNT")});
			
			makeErrLogMes(recordKey, itemChkErrMes2, (String)itemvalueMap.get("TXT-ACIFM025-INF1.STLT_NORMAL_KEI_CNT"), strValue);
			
			return false;
		}

		// 契約件数内訳特別項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("SPCL_KEI_CNT"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.SPCL_KEI_CNT")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.SPCL_KEI_CNT"), strValue);
			
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0460CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.SPCL_KEI_CNT")});
			
			makeErrLogMes(recordKey, itemChkErrMes2, (String)itemvalueMap.get("TXT-ACIFM025-INF1.SPCL_KEI_CNT"), strValue);
			
			return false;
		}

		// 契約件数内訳地上項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("CHIJO_KEI_CNT"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.CHIJO_KEI_CNT")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.CHIJO_KEI_CNT"), strValue);
			
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0460CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.CHIJO_KEI_CNT")});
			
			makeErrLogMes(recordKey, itemChkErrMes2, (String)itemvalueMap.get("TXT-ACIFM025-INF1.CHIJO_KEI_CNT"), strValue);
			
			return false;
		}

		// 契約件数内訳普通項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("NORMAL_KEI_CNT"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.NORMAL_KEI_CNT")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.NORMAL_KEI_CNT"), strValue);
			
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0460CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.NORMAL_KEI_CNT")});
			
			makeErrLogMes(recordKey, itemChkErrMes2, (String)itemvalueMap.get("TXT-ACIFM025-INF1.NORMAL_KEI_CNT"), strValue);
			
			return false;
		}

		// 一括請求識別一括識別項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("IKT_SIKY_SKBT_CD"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.IKT_SIKY_SKBT_CD")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.IKT_SIKY_SKBT_CD"), strValue);
			
			return false;
		}

		// 一括請求識別一括支払開始月項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("IKT_PAY_STA_YM"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.IKT_PAY_STA_YM")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.IKT_PAY_STA_YM"), strValue);
			
			return false;
		}

		// 契約受理年月項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("KEI_JURI_YM"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.KEI_JURI_YM")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.KEI_JURI_YM"), strValue);
			
			return false;
		}

		// 代表契約者局コード項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("DAIHYO_KSH_KYOKU_CD"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.DAIHYO_KSH_KYOKU_CD")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.DAIHYO_KSH_KYOKU_CD"), strValue);
			
			return false;
		}

		// 代表契約者お客様番号項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("DAIHYO_KSH_CUST_NO"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.DAIHYO_KSH_CUST_NO")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.DAIHYO_KSH_CUST_NO"), strValue);
			
			return false;
		}

		// 代表契約者カナ氏名項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("DAIHYO_KSH_KANA_NM"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.DAIHYO_KSH_KANA_NM")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.DAIHYO_KSH_KANA_NM"), strValue);
			
			return false;
		}

		// 請求年月項目チェック
		strValue = JBSbatStringUtil.trim((String)rsMap.get("SIKY_YM"));
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EACB0450CE, new String[]{
															(String)itemvalueMap.get("TXT-ACIFM025-INF1.SIKY_YM")});
			
			makeErrLogMes(recordKey, itemChkErrMes1, (String)itemvalueMap.get("TXT-ACIFM025-INF1.SIKY_YM"), strValue);
			
			return false;
		}

		return true;
	}
	// ANK-2248-00-00 DEL START
	/**
	 * SQLKEY(AC_SELECT_004)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	予約適用年月日
	 *		 	外部連携契約コード
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
/*	private void executeKK_T_SVC_KEI_AC_SELECT_004(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_AC_SELECT_004);
	}
*/
	/**
	 * SQLKEY(AC_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	予約適用年月日
	 *		 	外部連携契約コード
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
/*	private void executeKK_T_OP_SVC_KEI_AC_SELECT_001(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_T_OP_SVC_KEI.selectBySqlDefine(paramList, KK_T_OP_SVC_KEI_AC_SELECT_001);
	}
*/
	/**
	 * SQLKEY(AC_SELECT_004)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 *		 	課金先適用開始年月日
	 *		 	課金先適用終了年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
/*	private void executeKK_T_KAKINS_AC_SELECT_004(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_T_KAKINS.selectBySqlDefine(paramList, KK_T_KAKINS_AC_SELECT_004);
	}
*/
	// ANK-2248-00-00 DEL END
	
	// ANK-2248-00-00 ADD START
	/**
	 * SQLKEY(AC_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	外部連携契約コード
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SEIOPSVC_KEI_AC_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_SEIOPSVC_KEI.selectBySqlDefine(paramList, KK_T_SEIOPSVC_KEI_AC_SELECT_001);
	}
	
	/**
	 * SQLKEY(AC_SELECT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	課金先適用開始年月日
	 *		 	課金先適用終了年月日
	 *			予約適用年月日
	 *			予約適用年月日
	 *			料金グループ適用開始年月日
	 *			料金グループ適用終了年月日
	 *			NHK外部連携契約コード
	 *			予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SEIOPSVC_KEI_AC_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		paramList.setValue(param[4].toString());
		paramList.setValue(param[5].toString());
		paramList.setValue(param[6].toString());
		paramList.setValue(param[7].toString());

		// DBアクセスを実行します
		db_KK_T_SEIOPSVC_KEI.selectBySqlDefine(paramList, KK_T_SEIOPSVC_KEI_AC_SELECT_002);
	}
	// ANK-2248-00-00 ADD END

	/**
	 * SQLKEY(AC_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	SYSID
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCK_T_CUST_AC_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_CK_T_CUST.selectBySqlDefine(paramList, CK_T_CUST_AC_SELECT_001);
	}

	/**
	 * SQLKEY(AC_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	業務パラメータID
	 *		 	業務パラメータ適用開始年月日
	 *		 	業務パラメータ適用終了年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZM_M_WORK_PARAM_KNRI_AC_SELECT_001(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_ZM_M_WORK_PARAM_KNRI.selectBySqlDefine(paramList, ZM_M_WORK_PARAM_KNRI_AC_SELECT_001);
	}

	/**
	 * SQLKEY(AC_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:なし
	 * </pre>
	 * <p>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeAC_T_NHK_WTCHCRG_TJK_AC_SELECT_001() throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();

		// DBアクセスを実行します
		db_AC_T_NHK_WTCHCRG_TJK.selectBySqlDefine(paramList, AC_T_NHK_WTCHCRG_TJK_AC_SELECT_001);
	}

	// ANK-2248-00-00 DEL START
	/**
	 * SQLKEY(AC_SELECT_003)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	NHKエラーコード
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
/*	private void executeAC_T_NHK_WTCHCRG_DTL_AC_SELECT_003(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_AC_T_NHK_WTCHCRG_DTL.selectBySqlDefine(paramList, AC_T_NHK_WTCHCRG_DTL_AC_SELECT_003);
	}
*/
	// ANK-2248-00-00 DEL END
	/**
	 * SQLKEY(AC_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	イベントコード
	 *		 	イベント日付
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCH_M_PRC_SCHDL_TEIGI_AC_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_CH_M_PRC_SCHDL_TEIGI.selectBySqlDefine(paramList, CH_M_PRC_SCHDL_TEIGI_AC_SELECT_001);
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	ＣＡＴＶ施設加入者コード	CATV_KNYSHA_CD
	 *		 	ＮＨＫ請求年月				NHK_SIKY_YM
	 *		 	ＮＨＫ局コード				NHK_KYOKU_CD
	 *		 	ＮＨＫ市区郡コード			NHK_CITY_CD
	 *		 	ＮＨＫ地域Ａ				NHK_CKIA
	 *		 	ＮＨＫ地域Ｂ				NHK_CKIB
	 *		 	契約者カナ名				KEISHA_KANA
	 *		 	契約者漢字名				KEISHA_KANJI
	 *		 	ＮＨＫお客様番号			NHK_CUST_NO
	 *		 	ＣＡＴＶ施設大分類コード	CATV_SST_DBRI_CD
	 *		 	ＣＡＴＶ施設施設番号		CATV_SST_NO
	 *		 	ＣＡＴＶ施設予備			CATV_SST_YOBI
	 *		 	電話番号市外局番			TELNO_AREACD
	 *		 	電話番号市内局番			TELNO_CITYCD
	 *		 	電話番号加入者番号			TELNO_KNYSHA_NO
	 *		 	請求開始年月				SIKY_STA_YM
	 *		 	請求終入年月				SIKY_END_YM
	 *		 	請求金額					SIKY_AMNT
	 *		 	精算金額（再掲）			SSN_AMNT_SAIKEI
	 *		 	請求口数					SIKY_CNT
	 *		 	支払方法コード				PAY_WAY_CD
	 *		 	支払コースコード			PAY_COURSE_CD
	 *		 	支払いサイクル開始月		PAY_CYCLE_STA_MON
	 *		 	家族・事業所割引識別コード	FAMILY_JIGSHO_WRIB_SKBT_CD
	 *		 	次回支払コース				NEXT_PAY_COURSE
	 *		 	衛星契約件数				STLT_KEI_CNT
	 *		 	衛星普通契約件数			STLT_NORMAL_KEI_CNT
	 *		 	特別契約件数				SPCL_KEI_CNT
	 *		 	地上契約件数				CHIJO_KEI_CNT
	 *		 	普通契約件数				NORMAL_KEI_CNT
	 *		 	Ｆ３						F3
	 *		 	助成・免除コード			JOSEI_MENJO_CD
	 *		 	一括請求識別コード			IKT_SIKY_SKBT_CD
	 *		 	一括支払開始年月			IKT_PAY_STA_YM
	 *		 	契約受理年月				KEI_JURI_YM
	 *		 	季節・学生例外識別コード	SESN_STDT_EXPTN_SKBT_CD
	 *		 	災害・免除例外月			SAIGI_MENJO_EXPTN_MON
	 *		 	契約者カナ住所				KEISHA_KANA_AD
	 *		 	代表契約者局コード			DAIHYO_KSH_KYOKU_CD
	 *		 	代表契約者お客様番号		DAIHYO_KSH_CUST_NO
	 *		 	代表契約者カナ氏名			DAIHYO_KSH_KANA_NM
	 *		 	請求契約番号				SEIKY_KEI_NO
	 *		 	サービス契約番号			SVC_KEI_NO
	 *		 	オプションサービス契約番号	OP_SVC_KEI_NO
	 *		 	ＮＨＫエラーコード			NHK_ERR_CD
	 *		 	料金計算取込年月日			PRC_CALC_TRKM_YMD
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeAC_T_NHK_WTCHCRG_DTL_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("CATV_KNYSHA_CD", setParam[0]);
		setMap.setValue("NHK_SIKY_YM", setParam[1]);
		setMap.setValue("NHK_KYOKU_CD", setParam[2]);
		setMap.setValue("NHK_CITY_CD", setParam[3]);
		setMap.setValue("NHK_CKIA", setParam[4]);
		setMap.setValue("NHK_CKIB", setParam[5]);
		setMap.setValue("KEISHA_KANA", setParam[6]);
		setMap.setValue("KEISHA_KANJI", setParam[7]);
		setMap.setValue("NHK_CUST_NO", setParam[8]);
		setMap.setValue("CATV_SST_DBRI_CD", setParam[9]);
		setMap.setValue("CATV_SST_NO", setParam[10]);
		setMap.setValue("CATV_SST_YOBI", setParam[11]);
		setMap.setValue("TELNO_AREACD", setParam[12]);
		setMap.setValue("TELNO_CITYCD", setParam[13]);
		setMap.setValue("TELNO_KNYSHA_NO", setParam[14]);
		setMap.setValue("SIKY_STA_YM", setParam[15]);
		setMap.setValue("SIKY_END_YM", setParam[16]);
		setMap.setValue("SIKY_AMNT", setParam[17]);
		setMap.setValue("SSN_AMNT_SAIKEI", setParam[18]);
		setMap.setValue("SIKY_CNT", setParam[19]);
		setMap.setValue("PAY_WAY_CD", setParam[20]);
		setMap.setValue("PAY_COURSE_CD", setParam[21]);
		setMap.setValue("PAY_CYCLE_STA_MON", setParam[22]);
		setMap.setValue("FAMILY_JIGSHO_WRIB_SKBT_CD", setParam[23]);
		setMap.setValue("NEXT_PAY_COURSE", setParam[24]);
		setMap.setValue("STLT_KEI_CNT", setParam[25]);
		setMap.setValue("STLT_NORMAL_KEI_CNT", setParam[26]);
		setMap.setValue("SPCL_KEI_CNT", setParam[27]);
		setMap.setValue("CHIJO_KEI_CNT", setParam[28]);
		setMap.setValue("NORMAL_KEI_CNT", setParam[29]);
		setMap.setValue("F3", setParam[30]);
		setMap.setValue("JOSEI_MENJO_CD", setParam[31]);
		setMap.setValue("IKT_SIKY_SKBT_CD", setParam[32]);
		setMap.setValue("IKT_PAY_STA_YM", setParam[33]);
		setMap.setValue("KEI_JURI_YM", setParam[34]);
		setMap.setValue("SESN_STDT_EXPTN_SKBT_CD", setParam[35]);
		setMap.setValue("SAIGI_MENJO_EXPTN_MON", setParam[36]);
		setMap.setValue("KEISHA_KANA_AD", setParam[37]);
		setMap.setValue("DAIHYO_KSH_KYOKU_CD", setParam[38]);
		setMap.setValue("DAIHYO_KSH_CUST_NO", setParam[39]);
		setMap.setValue("DAIHYO_KSH_KANA_NM", setParam[40]);
		setMap.setValue("SEIKY_KEI_NO", setParam[41]);
		setMap.setValue("SVC_KEI_NO", setParam[42]);
		setMap.setValue("OP_SVC_KEI_NO", setParam[43]);
		setMap.setValue("NHK_ERR_CD", setParam[44]);
		setMap.setValue("PRC_CALC_TRKM_YMD", setParam[45]);
	
		// DBアクセスを実行します
		db_AC_T_NHK_WTCHCRG_DTL.insertByPrimaryKeys(setMap);
	}

	/**
	 * PK(ＰＫ　更新)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.引数で条件マップを作ります。<br>
	 *
	 * 3.DBアクセスを実行します。<br>
	 * 
	 * 4.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	データ取込件数				DATA_TRKM_CNT
	 *		 	ＮＨＫ視聴課金処理コード				NHK_WATCH_CHRG_TRN_CD
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *			課金対象件数				CHRG_TG_CNT
	 *			課金金額合計				CHRG_AMNT_GK
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	NHK_WTCHCRG_TJK_NO
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @param whereParam 条件項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeAC_T_NHK_WTCHCRG_TJK_PKUPDATE(Object[] setParam, Object[] whereParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("DATA_TRKM_CNT", setParam[0]);
		setMap.setValue("NHK_WATCH_CHRG_TRN_CD", setParam[1]);
		// ANK-2248-00-00 MOD START
		setMap.setValue("CHRG_TG_CNT", setParam[2]);
		setMap.setValue("CHRG_AMNT_GK", setParam[3]);
		// ANK-2248-00-00 MOD END
	
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("NHK_WTCHCRG_TJK_NO", whereParam[0]);

		// DBアクセスを実行します
		db_AC_T_NHK_WTCHCRG_TJK.updateByPrimaryKeys(whereMap, setMap);
	}

	/**
	 * SQLKEY(AC_DELETE_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:なし
	 * </pre>
	 * <p>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeAC_T_NHK_WTCHCRG_DTL_AC_DELETE_001() throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();

		// DBアクセスを実行します
		db_AC_T_NHK_WTCHCRG_DTL.executeBySqlDefine(paramList, AC_T_NHK_WTCHCRG_DTL_AC_DELETE_001);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	/**
	 * 契約者存在チェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 * </pre>
	 * <p>
	 * @param param 請求オプションサービス契約の検索を行うためのバイント変数の値配列。
	 * @return チェック結果
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private boolean selectKeishaCheck(Object[] param) throws Exception
	{
		super.logPrint.printDebugLog("selectKeishaCheck_START");
		
		// 変数宣言
		boolean checkFlg = false;
		
		// NHK視聴者課金情報の加入者コードに該当する請求オプションサービス契約情報を取得
		// ANK-2248-00-00 MOD START
		//executeKK_T_SVC_KEI_AC_SELECT_004(param);
		//JBSbatCommonDBInterface record = db_KK_T_SVC_KEI.selectNext();
		executeKK_T_SEIOPSVC_KEI_AC_SELECT_001(param);
		JBSbatCommonDBInterface record = db_KK_T_SEIOPSVC_KEI.selectNext();
		// ANK-2248-00-00 MOD END
		
		// 取得結果が存在しない場合
		if(record == null)
		{
			//NHKエラーコード設定(1:契約者存在エラー)
			nhkErrCd = JACStrConst.NHK_ERR_CD_KEISHA;
			checkFlg = true;
		}
		// ANK-2248-00-00 ADD START
		// 取得結果が存在した場合
		else
		{
			// 検索結果の取得
			// 請求オプションサービス契約番号
			opSvcKeiNo = record.getString(JBSbatKK_T_SEIOPSVC_KEI.SEIOPSVC_KEI_NO);
			// サービス課金開始年月日
			svcChrgStaYmd = record.getString(JBSbatKK_T_SEIOPSVC_KEI.SVC_CHRG_STAYMD);
			// サービス開始年月日
			svcStaYmd = record.getString(JBSbatKK_T_SEIOPSVC_KEI.SVC_STA_YMD);
			// サービス終了年月日
			svcEndYmd = record.getString(JBSbatKK_T_SEIOPSVC_KEI.SVC_ENDYMD);
			// サービス解約年月日
			svcDslYmd = record.getString(JBSbatKK_T_SEIOPSVC_KEI.SVC_DSL_YMD);
			// NHK団体一括支払サイクルコード
			nhkGrpIktPayCycleCd = record.getString(JBSbatKK_T_SEIOPSVC_KEI.NHK_GRP_IKT_PAY_CYCLE_CD);
			// SYSID
			sysId = record.getString(JBSbatKK_T_SEIOPSVC_KEI.SYSID);
			// 請求オプションサービス契約ステータス
			seiopsvcKeiStat = record.getString(JBSbatKK_T_SEIOPSVC_KEI.SEIOPSVC_KEI_STAT);
			// 請求契約番号
			seikyKeiNo = record.getString(JBSbatKK_T_SEIOPSVC_KEI.SEIKY_KEI_NO);
			
			super.logPrint.printDebugLog("opSvcKeiNo         ：" + opSvcKeiNo);
			super.logPrint.printDebugLog("svcChrgStaYmd      ：" + svcChrgStaYmd);
			super.logPrint.printDebugLog("svcStaYmd          ：" + svcStaYmd);
			super.logPrint.printDebugLog("svcEndYmd          ：" + svcEndYmd);
			super.logPrint.printDebugLog("svcDslYmd          ：" + svcDslYmd);
			super.logPrint.printDebugLog("nhkGrpIktPayCycleCd：" + nhkGrpIktPayCycleCd);
			super.logPrint.printDebugLog("sysId              ：" + sysId);
			super.logPrint.printDebugLog("seiopsvcKeiStat    ：" + seiopsvcKeiStat);
			super.logPrint.printDebugLog("seikyKeiNo         ：" + seikyKeiNo);
		}
		super.logPrint.printDebugLog("nhkErrCd：" + nhkErrCd);
		super.logPrint.printDebugLog("checkFlg：" + checkFlg);
		super.logPrint.printDebugLog("selectKeishaCheck_END");
		// ANK-2248-00-00 ADD END
		
		return checkFlg;
	}
	// ANK-2248-00-00 ADD START
	/**
	 * 回線契約存在チェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 * </pre>
	 * <p>
	 * @param param 請求オプションサービス契約の検索を行うためのバイント変数の値配列。
	 * @return チェック結果
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private boolean selectKaisenKeiCheck(Object[] param) throws Exception
	{
		super.logPrint.printDebugLog("selectKaisenKeiCheck_START");
		
		// 変数宣言
		boolean checkFlg = false;
		
		// 請求オプションサービス契約より請求先配下のサービス契約情報を取得
		executeKK_T_SEIOPSVC_KEI_AC_SELECT_002(param);
		JBSbatCommonDBInterface record = db_KK_T_SEIOPSVC_KEI.selectNext();
		
		// 取得結果が存在しない場合
		if (null == record)
		{
			// NHKエラーコード設定(7:回線契約なし)
			nhkErrCd = JACStrConst.NHK_ERR_CD_KAISEN_KEI;
			
			checkFlg = true;
		}
		// 回線契約が存在した場合
		else
		{
			// サービス契約番号を取得します。
			svckeiNo = record.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
		}
		super.logPrint.printDebugLog("nhkErrCd：" + nhkErrCd);
		super.logPrint.printDebugLog("checkFlg：" + checkFlg);
		super.logPrint.printDebugLog("selectKaisenKeiCheck_END");
		return checkFlg;
	}
	// ANK-2248-00-00 ADD END
	
	/**
	 * 解約日存在チェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 * </pre>
	 * <p>
	 * @param param 請求オプションサービス契約の検索を行うためのバイント変数。
	 * @return チェック結果
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private boolean selectDslDayCheck(String param) throws Exception
	{
		super.logPrint.printDebugLog("selectDslDayCheck_START");
		
		// 変数宣言
		boolean checkFlg = false;

		// ANK-2248-00-00 MOD START
		// オプションサービス契約の検索条件設定
/*		Object[] optionParam = new Object[] {super.onlineOpeDate, param, super.onlineOpeDate};

		// オプションサービス契約の検索実施
		executeKK_T_OP_SVC_KEI_AC_SELECT_001(optionParam);
		JBSbatCommonDBInterface optionRecord = db_KK_T_OP_SVC_KEI.selectNext();
		
		// 取得結果が存在する場合
		if(optionRecord != null)
		{
			// 検索結果の取得
			// サービス契約番号取得
			svckeiNo = optionRecord.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
			// サービス契約ステータス
			svcKeiStat = optionRecord.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT);
			// サービス契約ステータスが「100:サービス提供中」、「210:休止・中断中」、または「220:停止中」の場合
			if (JACStrConst.SVC_KEI_STAT_SVCTK.equals(svcKeiStat) || JACStrConst.SVC_KEI_STAT_KYUSHI.equals(svcKeiStat) || 
					JACStrConst.SVC_KEI_STAT_STP.equals(svcKeiStat))
			{
				// オプションサービス契約番号
				opSvcKeiNo = optionRecord.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_KEI_NO);
				// サービス課金開始年月日
				svcChrgStaYmd = optionRecord.getString(JBSbatKK_T_OP_SVC_KEI.SVC_CHRG_STAYMD);
				// サービス開始年月日
				svcStaYmd = optionRecord.getString(JBSbatKK_T_OP_SVC_KEI.SVC_STAYMD);
				// サービス終了年月日
				svcEndYmd = optionRecord.getString(JBSbatKK_T_OP_SVC_KEI.SVC_ENDYMD);
				// NHK団体一括支払サイクルコード
				nhkGrpIktPayCycleCd = optionRecord.getString(JBSbatKK_T_OPSVKEI_TV.NHK_GRP_IKT_PAY_CYCLE_CD);
				// SYSID
				sysId = optionRecord.getString(JBSbatKK_T_SVC_KEI.SYSID);
			}
			
			// サービス解約年月日
			String svcDslYmd = optionRecord.getString(JBSbatKK_T_OP_SVC_KEI.SVC_DSL_YMD);
			
			// サービス解約年月日が入力されており、サービス契約ステータスが「910:解約済み」の場合
			if(svcDslYmd != null && JACStrConst.SVC_KEI_STAT_DSL.equals(svcKeiStat))
			{
				checkFlg = true;
			}
		}
		// 取得結果が存在しない場合
		else
		{
			checkFlg = true;
		}
*/
		// サービス解約年月日が設定されており、サービス契約ステータスが「910:解約済み」の場合
		if (null != svcDslYmd && !"".equals(svcDslYmd) && JACStrConst.SVC_KEI_STAT_DSL.equals(seiopsvcKeiStat))
		{
			checkFlg = true;
		}
		// ANK-2248-00-00 MOD END

		// エラーの場合
		if (checkFlg)
		{
			//  NHKエラーコード設定(2:解約日エラー)
			nhkErrCd = JACStrConst.NHK_ERR_CD_DSL_DAY;
		}
		super.logPrint.printDebugLog("nhkErrCd：" + nhkErrCd);
		super.logPrint.printDebugLog("checkFlg：" + checkFlg);
		super.logPrint.printDebugLog("selectDslDayCheck_END");
		return checkFlg;
	}
	
	// ANK-2248-00-00 DEL START
	/**
	 * 請求サイクルチェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * NHK団体一括支払サイクルコード、NHK視聴課金情報.支払内容支払コースが
	 * 異なった場合にNHKエラーコードを設定します。<br>
	 * </pre>
	 * <p>
	 * @param payCourseCd NHK視聴課金情報.支払内容支払コース
	 * @return チェック結果
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
/*	private boolean seikyCycleCheck(String payCourseCd) throws Exception
	{
		boolean checkFlg = false;
		// NHK団体一括支払サイクルコード、NHK視聴課金情報.支払内容支払コースが異なる場合
		if (!nhkGrpIktPayCycleCd.equals(payCourseCd))
		{
			// NHKエラーコード設定(4:請求サイクルエラー)
			nhkErrCd = JACStrConst.NHK_ERR_CD_SEIKY_CYCLE;
			checkFlg = true;
			
		}
		
		return checkFlg;
	}
*/
	// ANK-2248-00-00 DEL END
	
	/**
	 * 契約期間チェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * NHK視聴課金情報.請求期間終入年月がサービス開始年月日、終了年月日の
	 * 範囲外だった場合にNHKエラーコードを設定します。<br>
	 * </pre>
	 * <p>
	 * @param strSikyEndYm NHK視聴課金情報.請求期間終了年月
	 * @return チェック結果
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private boolean keiPrdCheck(String strSikyEndYm) throws Exception
	{
		super.logPrint.printDebugLog("keiPrdCheck_START");
		
		boolean checkFlg = false;
		// 各日付をData型へ変換
		DateFormat formatYYMM = new SimpleDateFormat("yyMM");
		DateFormat formatYYYYMM = new SimpleDateFormat("yyyyMM");
		// NHK視聴課金情報.請求期間終了年月		
		Date sikyEndYm = formatYYMM.parse(strSikyEndYm);
		// サービス開始年月日
		Date svcStaYm = formatYYYYMM.parse(svcStaYmd.substring(0, 6));
		// サービス終了年月日
		Date svcEndYm = formatYYYYMM.parse(svcEndYmd.substring(0, 6));

		// NHK視聴課金情報.請求期間終了年月がサービス開始年月、終了年月の範囲外の場合
		if (svcStaYm.compareTo(sikyEndYm) > 0 || svcEndYm.compareTo(sikyEndYm) < 0)
		{
			// NHKエラーコード設定(5:契約期間エラー)
			nhkErrCd = JACStrConst.NHK_ERR_CD_KEI_PRD;
			checkFlg = true;
		}
		super.logPrint.printDebugLog("nhkErrCd：" + nhkErrCd);
		super.logPrint.printDebugLog("checkFlg：" + checkFlg);
		super.logPrint.printDebugLog("keiPrdCheck_END");
		return checkFlg;
	}
	
	/**
	 * カナ名チェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * NHK視聴課金情報.お名前カナ氏名、お客様.お客様カナ名が
	 * 異なった場合にNHKエラーコードを設定します。<br>
	 * </pre>
	 * <p>
	 * @param nameKana NHK視聴課金情報.お客様カナ氏名
	 * @return チェック結果
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private boolean kanaCheck(String nameKana) throws Exception
	{
		super.logPrint.printDebugLog("kanaCheck_START");
		
		boolean checkFlg = false;
		
		// お客様の検索実施
		executeCK_T_CUST_AC_SELECT_001(new Object[] {sysId, super.onlineOpeDate});
		JBSbatCommonDBInterface record = db_CK_T_CUST.selectNext();
		if (record != null)
		{
			String custName = JCHbatSeikyKaknoBusinessUtil.formatZenToHan(JPCConvertString.convFullToHalfByKata(record.getString(JBSbatCK_T_CUST.CUST_KANA)));
			// NHK視聴課金情報.お名前カナ氏名、お客様.お客様カナ名が異なる場合
			if (!nameKana.equals(custName))
			{
				checkFlg = true;
				
			}
		}
		else
		{
			checkFlg = true;
			
		}
		
		// エラーの場合
		if (checkFlg)
		{
			// NHKエラーコード設定(6:カナ名エラー)
			nhkErrCd = JACStrConst.NHK_ERR_CD_KANA;
		}
		super.logPrint.printDebugLog("nhkErrCd：" + nhkErrCd);
		super.logPrint.printDebugLog("checkFlg：" + checkFlg);
		super.logPrint.printDebugLog("kanaCheck_END");
		return checkFlg;
	}
	
	/**
	 * NHK視聴課金明細へのDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 * </pre>
	 * <p>
	 * @param param NHK視聴課金処理状況の登録を行うためのバイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void nhkDeleteInsert(Object[] param) throws Exception
	{
		// (a) NHK視聴課金明細削除実施(初期処理で実施)
		// (b) NHK視聴課金明細登録実施
		executeAC_T_NHK_WTCHCRG_DTL_PKINSERT(param);
	}
	
	/**
	 * 日付編集<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 引数で設定された日付(yyMM)を前後空白を削除したうえで
	 * 「/」を付与した日付に編集<br>
	 * </pre>
	 * <p>
	 * @param targetYYMM 編集対象日付(YYMM)
	 * @return 編集した日付(YY/MM)
	 */
	private String editDate(String targetYYMM)
	{
		// 変数宣言
		String yymm = "";
		
		// 前後空白削除
		String trimYymm = JBSbatStringUtil.trim(targetYYMM);
		
		if (!"".equals(trimYymm))
		{
			// 文字列分割
			String yy = trimYymm.substring(0, 2);
			String mm = trimYymm.substring(2, 4);
			yymm = yy + "/" + mm; 
						
		}

		return yymm;
	}
	
	/**
	 * エラーログメッセージ出力引数設定<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * エラーログメッセージ出力引数を設定します<br>
	 * </pre>
	 * <p>
	 * @param errKey キー項目値
	 * @param errNaiyo エラー内容
	 * @param errItemNm エラー項目名
	 * @param errItem エラー項目値
	 */
	private void makeErrLogMes(String errKey, String errNaiyo, String errItemNm, String errItem)
	{
		this.itemChkErrKey = this.itemChkErrKeyNm.concat("=").concat("'").concat(errKey).concat("'");
		
		this.itemChkErrKmk = errItemNm.concat("=").concat("'").concat(errItem).concat("'");
		
		this.itemChkErrNaiyo = errNaiyo;
	}
}
