/*********************************************************************
 *  All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *	システム名			：eo顧客基幹システム
 *	モジュール名		：JBSbatWCChkCSVLinkInfGet
 *	ソースファイル名	：JBSbatWCChkCSVLinkInfGet.java
 *	作成者				：富士通　
 *	作成日				：2012年02月27日
 *＜機能概要＞
 *　チェック＿ＣＳＶリンク＿情報取得部品です。
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	v1.00.00	2012/02/27   富士通		新規作成
 *	v3.00.00	2012/05/01	FJ)大山		【ANK-0315-00-00】宅内対応を実施
 *	v3.01.00	2012/08/31	FJ)大山		【TAI-2012-0000094】JBSbatSQLAccessのinitial化対応
 *	v3.01.01	2012/12/10	FJ)水谷		【TAI-2012-0000138】対応を実施
 *	v54.00.00	2021/09/01	FJ)星野		 ANK-4069-00-00_バッチ・DBサーバーリプレース対応
 *********************************************************************/
package eo.business.service;

import java.util.ArrayList;
import java.util.HashMap;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCCBatCommon;
import eo.business.common.JCCbatShoriIraiUtil;
import eo.business.common.JWCBatCommon;
import eo.common.constant.JPCBatchMessageConstant;
import eo.common.constant.JWCStrConst;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.log.JBSbatLogPrintControl;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.util.JBSbatCheckUtil;

/**
 * (クラスの機能概要) <p>
 *<BR>
 * @author 富士通
 */
public class JBSbatWCChkCSVLinkInfGet extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(視聴制御ディレイド処理結果機器確認)*/
	private static final String D_TBL_NAME_WC_T_WC_DTR_KIKI_CFM = "WC_T_WC_DTR_KIKI_CFM";

	/** テーブル(視聴制御ＨＵＬＦＴ送信実績)*/
	private static final String D_TBL_NAME_WC_T_WC_HULFT_SDJSK = "WC_T_WC_HULFT_SDJSK";

	/** SQL定義キー(WC_SELECT_001)*/
	private static final String WC_T_WC_DTR_KIKI_CFM_WC_SELECT_001 = "WC_SELECT_001";

	/** SQL定義キー(WC_DELETE_001)*/
	private static final String WC_T_WC_DTR_KIKI_CFM_WC_DELETE_001 = "WC_DELETE_001";

	/** SQL定義キー(WC_INSERT_001)*/
	private static final String WC_T_WC_HULFT_SDJSK_WC_INSERT_001 = "WC_INSERT_001";

	/** テーブルアクセスクラス(視聴制御ディレイド処理結果機器確認)*/
	private JBSbatSQLAccess db_WC_T_WC_DTR_KIKI_CFM = null;

	/** テーブルアクセスクラス(視聴制御ＨＵＬＦＴ送信実績)*/
	private JBSbatSQLAccess db_WC_T_WC_HULFT_SDJSK = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/** 特殊ティアコード */
	private String tokusyu_Tia = "";

	/** グループＩＤ１ */
	private String groud_Id1 = "";

	/** ファイル行数最大件数 **/
	private int maxSize = 2000;

	/** ＳＴＢＩＤ（システムエラー **/
	private static final String ERR_STBID = "";

	/**
	 * ファイル出力件数
	 */
	private int outputCount = 0;

	/**
	 * ファイル出力ストリーム
	 */
	private JBSbatOutputItem  outputBean = new JBSbatOutputItem();

	/**
	 * 電子ファイル管理番号
	 */
	private String chohyoTeigiNo = "";

	/**
	 * ディレイド処理依頼番号
	 */
	private String delayedno = "";

	/**
	 * 出力ファイル名
	 */
	private String str_outputFile = "";

	/**
	 * 入力ファイル名
	 */
	private String str_inputFile = "";

	/**
	 * エラーステータス
	 */
	private String errStatus = "";

	/**
	 * 処理名称
	 */
	private String shoriName = "";
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
		/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EWCB0010AI, 
				new String[]{"チェック＿ＣＳＶリンク＿情報取得"});
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_WC_T_WC_DTR_KIKI_CFM = new JBSbatSQLAccess(commonItem, D_TBL_NAME_WC_T_WC_DTR_KIKI_CFM);
		db_WC_T_WC_HULFT_SDJSK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_WC_T_WC_HULFT_SDJSK);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		String freeItem = commonItem.getFreeItem();
		String[] strArray = freeItem.split(JWCStrConst.FREE_PARAM_DELM);

		// 出力ファイル名をフリー項目から取得
		this.str_outputFile = strArray[0];

		this.logPrint.printDebugLog("*******************************************");
		this.logPrint.printDebugLog("出力ファイル名      =" + this.str_outputFile);
		this.maxSize = JWCBatCommon.getMaxDlydCount(commonItem);
		this.logPrint.printDebugLog("ディレイド最大処理件数 =" + this.maxSize);
		/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute() throws Exception
	{
		/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		// ディレイド処理取得
		super.commonItem.getLogPrint().printDebugLog("ジョブＩＤ:" + super.jobid);
		ArrayList<HashMap<String, Object>>  delayedInfoList = JCCbatShoriIraiUtil.getShoriIraiInfo(commonItem, super.jobid);

		if(delayedInfoList == null) 
		{
			super.commonItem.getLogPrint().printDebugLog("処理依頼０件");
			return null;
		}
		else 
		{
			// ファイル行番号
			int lineno = 0;

			try 
			{
				
				// 処理名称取得
				shoriName = JWCBatCommon.getShoriNaiyo(commonItem, 0);
				
				HashMap<String, Object> delayedInfo = delayedInfoList.get(0);
				this.errStatus = "1";
				// エラーチェックフラグ（true)で処理ＯＫデータ存在
				boolean errChkFlg = false;

				this.chohyoTeigiNo = (String)delayedInfo.get("INPUT_EFILE_KANRI_NO");
				this.delayedno = (String)delayedInfo.get("DLYD_TRN_REQ_NO");
				this.str_inputFile = JCCBatCommon.searchDenshiFile(commonItem, chohyoTeigiNo);

				commonItem.getLogPrint().printDebugLog("ディレイド管理番号:" + delayedno);
				commonItem.getLogPrint().printDebugLog("入力ファイル:" + str_inputFile);

				// 視聴制御ディレイド処理結果機器確認テーブルの確認
				JWCBatCommon.chkDLRD_TRN_TBL(commonItem, delayedno, db_WC_T_WC_DTR_KIKI_CFM);

				// 処理名称取得
				shoriName = JWCBatCommon.getShoriNaiyo(commonItem, 1);

				// 電子ファイルの取得チェック
				if(this.str_inputFile != null && !"".equals(str_inputFile))
				{
					// CSVファイルの読み取り
					ArrayList<ArrayList<String>> teigiFileList = JWCBatCommon.readCSVFile(commonItem, str_inputFile, "");

					// ＣＳＶファイルの件数が２０００件を超えている場合には、エラーとする。
					if(teigiFileList.size() > this.maxSize) 
					{
						// エラー処理
						commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EWCB0400JE,new String[]{Integer.toString(this.maxSize)});
						this.errStatus = "2";
						String errNaiyo = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EWCB0400JE,new String[]{Integer.toString(this.maxSize)});

						// 視聴制御ディレイド処理結果機器確認テーブルの登録
						String[] dtr_kiki_cmf_param = JWCBatCommon.createWC_T_WC_DTR_KIKI_CFM_WC_INSERT_001Param(commonItem,delayedno,ERR_STBID,"","","",errNaiyo,"","","","","","","","");

						JWCBatCommon.executeWC_T_WC_DTR_KIKI_CFM_WC_INSERT_001(commonItem, dtr_kiki_cmf_param, db_WC_T_WC_DTR_KIKI_CFM);

						return null;
					}
					else 
					{

						// 処理名称取得
						shoriName = JWCBatCommon.getShoriNaiyo(commonItem, 2);

						for(ArrayList<String> linedata :teigiFileList)
						{
							lineno++;
							// エラー内容
							String errNaiyo = "";
							// STB-ID
							String stb_id = "";
							// 機器製造番号
							String kikiseizo_no =  "";
							// CCASカードＩＤ
							String ccasid = "";
							// BCASカードＩＤ
							String bcasid = "";
							// 処理スキップフラグ
							boolean skipflg = false;

							HashMap rsMap = new HashMap();

							if(linedata.size() == 4) 
							{
								// STB-IDを取得
								stb_id = linedata.get(0);
								// 機器製造番号を取得
								kikiseizo_no = linedata.get(1);
								// CCASカードＩＤを取得
								ccasid = linedata.get(2);
								// BCASカードＩＤを取得
								bcasid = linedata.get(3);
							}
							else if(linedata.size() == 3) 
							{
								// STB-IDを取得
								stb_id = linedata.get(0);
								// 機器製造番号を取得
								kikiseizo_no = linedata.get(1);
								// CCASカードＩＤを取得
								ccasid = linedata.get(2);
							}
							commonItem.getLogPrint().printDebugLog("ＳＴＢＩＤ:" + stb_id);
							commonItem.getLogPrint().printDebugLog("機器製造番号:" + kikiseizo_no);
							commonItem.getLogPrint().printDebugLog("ＣＣＡＳカード番号:" + ccasid);
							commonItem.getLogPrint().printDebugLog("ＢＣＡＳカード番号:" + bcasid);

							if(!"".equals(stb_id))
							{
								rsMap.put("STB_ID",stb_id);
							}
							if(!"".equals(kikiseizo_no))
							{
								rsMap.put("KIKI_SEIZO_NO",kikiseizo_no);
							}
							if(!"".equals(ccasid))
							{
								rsMap.put("CCAS_CARD_NO",ccasid);
							}
							if(!"".equals(bcasid))
							{
								rsMap.put("BCAS_CARD_NO",bcasid);
							}

							// CSVファイルの形式チェック処理
							ArrayList<String>retList =  JWCBatCommon.isSingleCheckWCIFM020(commonItem, rsMap);

							if(retList.size() != 0) {
								// エラー処理
								this.errStatus = "2";
								errNaiyo = retList.get(0);
								skipflg = true;
							}

							if(!skipflg) 
							{
								// 宅内機器情報抽出送信ファイルのデータを設定する。
								// 出力ファイル設定メソッドを呼び出す。
								JBSbatServiceInterfaceMap outmap = JWCBatCommon.setJBSbatWCIFE006param(commonItem, this.outputCount + 1, "", "",stb_id);
								outmap.setOutFlg(true);

								outputBean.addOutMapList(outmap);

								this.outputCount++;
							}

							// データ内に有効なデータがあれば、登録ＯＫとする。
							if(!skipflg && !errChkFlg)
							{
								errChkFlg = true;
							}

							// 処理名称取得
							shoriName = JWCBatCommon.getShoriNaiyo(commonItem, 3);

							// 視聴制御ディレイド処理結果機器確認テーブルの登録
							String[] dtr_kiki_cmf_param = JWCBatCommon.createWC_T_WC_DTR_KIKI_CFM_WC_INSERT_001Param(commonItem,delayedno,stb_id,kikiseizo_no,ccasid,bcasid,errNaiyo,"","","","","","","","");
							JWCBatCommon.executeWC_T_WC_DTR_KIKI_CFM_WC_INSERT_001(commonItem, dtr_kiki_cmf_param, db_WC_T_WC_DTR_KIKI_CFM);

						} // CSVファイル内部処理の繰り返し
					}
				}
				else 
				{

					// 処理名称取得
					shoriName = JWCBatCommon.getShoriNaiyo(commonItem, 3);

					this.outputCount = 0;
					this.outputBean = null;

					commonItem.getConnection().rollback();
					commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EWCB0390CE, new String[]{chohyoTeigiNo});
					this.errStatus = "3";
					String errNaiyo = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EWCB0390CE,new String[]{Integer.toString(this.maxSize)});

					// 視聴制御ディレイド処理結果機器確認テーブルの登録
					String[] dtr_kiki_cmf_param = JWCBatCommon.createWC_T_WC_DTR_KIKI_CFM_WC_INSERT_001Param(commonItem,delayedno,ERR_STBID,"","","",errNaiyo,"","","","","","","","");
					JWCBatCommon.executeWC_T_WC_DTR_KIKI_CFM_WC_INSERT_001(commonItem, dtr_kiki_cmf_param, db_WC_T_WC_DTR_KIKI_CFM);


					return null;
				}

			}
			catch(Exception e)
			{
				this.outputCount = 0;
				this.outputBean = null;

				commonItem.getConnection().rollback();

				commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EWCB0230CE, new String[]{shoriName});
				String errNaiyo = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EWCB0230CE,  new String[]{shoriName});
				errNaiyo = errNaiyo + "(行番号：" + Integer.toString(lineno) + ")";

				// 視聴制御ディレイド処理結果機器確認テーブルの登録
				String[] dtr_kiki_cmf_param = JWCBatCommon.createWC_T_WC_DTR_KIKI_CFM_WC_INSERT_001Param(commonItem,delayedno,JBSbatWCChkCSVLinkInfGet.ERR_STBID,"","","",errNaiyo,"","","","","","","","");
				JWCBatCommon.executeWC_T_WC_DTR_KIKI_CFM_WC_INSERT_001(commonItem, dtr_kiki_cmf_param, db_WC_T_WC_DTR_KIKI_CFM);

				this.errStatus = "3";
				return null;
			}
		}

		return outputBean;
		/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
		/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		try 
		{
			// 処理名称取得
			shoriName = JWCBatCommon.getShoriNaiyo(commonItem, 4);

			if(this.outputCount != 0) {

				/**
				// 視聴制御HULFT送信管理テーブルを登録する。
				String str_datetimestamp = JCCBatCommon.getSysDateTimeStamp();

				String str_seq_hulft_no = JBSbatOracleSeqUtil.getFormatedNextSeq(commonItem.getConnection() ,JWCStrConst.SEQ_WC_HULFT_SDJSK_NO , "",10);
				// HULFT送信実績の書き込みを行う。
				String[] paramList = new String[14];

				//視聴制御HULFT送信実績番号
				paramList[0] = str_seq_hulft_no;
				//HULFT送信年月日時分秒
				paramList[1] = JWCBatCommon.getTknFileTimeStamp(commonItem, this.str_outputFile) ;
				//送信ファイル名
				paramList[2] = this.str_outputFile;
				//連携ファイル名
				paramList[3] = this.str_inputFile;
				//継続処理ジョブＩＤ(制御＿視聴変更）
				paramList[4] = JWCStrConst.KEIZKJOB_EOC090210J0;
				//ディレイド処理依頼番号
				paramList[5] = this.delayedno;
				//宅内機器情報抽出ファイル名
				paramList[6] = "";
				//登録年月日時分秒
				paramList[7] = str_datetimestamp;
				//登録オペレータアカウント
				paramList[8] = super.commonItem.getBatchUserId();
				//更新年月日時分秒
				paramList[9] = str_datetimestamp;
				//更新オペレータアカウント
				paramList[10] = super.commonItem.getBatchUserId();
				//削除年月日時分秒
				paramList[11] = "";
				//削除オペレータアカウント
				paramList[12] = "";
				//無効フラグ
				paramList[13] = "0";
				 **/


				String[] paramList = JWCBatCommon.createWC_T_WC_HULFT_SDJSK_WC_INSERT_001(commonItem, JWCBatCommon.getTknFileTimeStamp(commonItem, this.str_outputFile), this.str_outputFile, this.str_inputFile, JWCStrConst.KEIZKJOB_EOC090210J0, this.delayedno, "");
				JWCBatCommon.executeWC_T_WC_HULFT_SDJSK_WC_INSERT_001(commonItem , paramList,db_WC_T_WC_HULFT_SDJSK);

				super.commonItem.getOutPutFile().close();
// ANK-4069-00-00対応 20210901 星野 DEL START
//				JWCBatCommon.putFtp(commonItem, this.str_outputFile, JWCStrConst.FILEID_WCIFE006, this.outputCount);
// ANK-4069-00-00対応 20210901 星野 DEL END

			}
			else
			{
				if(this.delayedno != null && !"".equals(this.delayedno))
				{
					// ディレイド処理結果を登録する。
					HashMap<String, String> map = JCCBatCommon.updateShoriIraiResult(commonItem, delayedno, errStatus, null);
				}
			}
		}
		catch(Exception e)
		{
			this.outputCount = 0;
			this.outputBean = null;

			commonItem.getConnection().rollback();

			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EWCB0230CE, new String[]{shoriName});
			String errNaiyo = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EWCB0230CE, new String[]{shoriName});

			// 視聴制御ディレイド処理結果機器確認テーブルの登録
			String[] dtr_kiki_cmf_param = JWCBatCommon.createWC_T_WC_DTR_KIKI_CFM_WC_INSERT_001Param(commonItem,delayedno,JBSbatWCChkCSVLinkInfGet.ERR_STBID,"","","",errNaiyo,"","","","","","","","");
			JWCBatCommon.executeWC_T_WC_DTR_KIKI_CFM_WC_INSERT_001(commonItem, dtr_kiki_cmf_param, db_WC_T_WC_DTR_KIKI_CFM);

			this.errStatus = "3";

			// ディレイド処理結果を登録する。
			HashMap<String, String> map = JCCBatCommon.updateShoriIraiResult(commonItem, delayedno, errStatus, null);

		}
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_WC_T_WC_DTR_KIKI_CFM.close();
		db_WC_T_WC_HULFT_SDJSK.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
		commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EWCB0020AI, 
				new String[]{"チェック＿ＣＳＶリンク＿情報取得"});
		/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 *入力情報（ＣＳＶリンクアップロード）の単項目チェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.単項目チェックを行います。<br>
	 * 
	 * 2.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		rsMap:(項目、値)を(key、value)として、データをrsMapに入れます
	 *		itemvalueMap:埋め込み文字の値をitemvalueMapに入れます。キーの値は、以下に説明します。
	 *			 TXT-WCIFM020-.STB_ID			ＣＳＶリンクアップロード.ＳＴＢＩＤ
	 *			 TXT-WCIFM020-.STB_ID			ＣＳＶリンクアップロード.ＳＴＢＩＤ
	 *			 TXT-WCIFM020-.KIKI_SEIZO_NO			ＣＳＶリンクアップロード.機器製造番号
	 *			 TXT-WCIFM020-.KIKI_SEIZO_NO			ＣＳＶリンクアップロード.機器製造番号
	 *			 TXT-WCIFM020-.CCAS_CARD_NO			ＣＳＶリンクアップロード.Ｃ−ＣＡＳカード番号
	 *			 TXT-WCIFM020-.CCAS_CARD_NO			ＣＳＶリンクアップロード.Ｃ−ＣＡＳカード番号
	 *			 TXT-WCIFM020-.BCAS_CARD_NO			ＣＳＶリンクアップロード.Ｂ−ＣＡＳカード番号
	 *			 TXT-WCIFM020-.BCAS_CARD_NO			ＣＳＶリンクアップロード.Ｂ−ＣＡＳカード番号
	 * </pre>
	 * <p>
	 * @param rsMap 入力データ（TXT又はDB）を格納されたHashMap。
	 * @param itemvalueMap エラーメッセージに関する項目値を格納されたHashMap。
	 * @return  boolean trueである場合、エラーがありません。falseである場合、エラーを発生しました。
	 */
	private boolean isSingleCheckWCIFM020(HashMap rsMap, HashMap itemvalueMap)
	{
		// 単項目チェックを行います
		String strValue = null;

		// ＳＴＢＩＤ項目チェック
		strValue = (String)rsMap.get("STB_ID");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EWCB0070TW", new String[]{
			"ＳＴＢＩＤ"});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "20"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EWCB0080TW", new String[]{
					"ＳＴＢＩＤ",
					(String)itemvalueMap.get("TXT-WCIFM020-.STB_ID")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EWCB0090TW", new String[]{
					"ＳＴＢＩＤ",
					(String)itemvalueMap.get("TXT-WCIFM020-.STB_ID")});
			return false;
		}

		// 機器製造番号項目チェック
		strValue = (String)rsMap.get("KIKI_SEIZO_NO");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EWCB0070TW", new String[]{
			"機器製造番号"});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "20"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EWCB0080TW", new String[]{
					"機器製造番号",
					(String)itemvalueMap.get("TXT-WCIFM020-.KIKI_SEIZO_NO")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EWCB0090TW", new String[]{
					"機器製造番号",
					(String)itemvalueMap.get("TXT-WCIFM020-.KIKI_SEIZO_NO")});
			return false;
		}

		// Ｃ−ＣＡＳカード番号項目チェック
		strValue = (String)rsMap.get("CCAS_CARD_NO");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EWCB0070TW", new String[]{
			"Ｃ−ＣＡＳカード番号"});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "20"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EWCB0080TW", new String[]{
					"Ｃ−ＣＡＳカード番号",
					(String)itemvalueMap.get("TXT-WCIFM020-.CCAS_CARD_NO")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EWCB0090TW", new String[]{
					"Ｃ−ＣＡＳカード番号",
					(String)itemvalueMap.get("TXT-WCIFM020-.CCAS_CARD_NO")});
			return false;
		}

		// Ｂ−ＣＡＳカード番号項目チェック
		strValue = (String)rsMap.get("BCAS_CARD_NO");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "20"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EWCB0080TW", new String[]{
					"Ｂ−ＣＡＳカード番号",
					(String)itemvalueMap.get("TXT-WCIFM020-.BCAS_CARD_NO")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EWCB0090TW", new String[]{
					"Ｂ−ＣＡＳカード番号",
					(String)itemvalueMap.get("TXT-WCIFM020-.BCAS_CARD_NO")});
			return false;
		}

		return true;
	}

	/**
	 * SQLKEY(WC_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 executeWC_T_WC_DTR_KIKI_CFM_WC_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_WC_T_WC_DTR_KIKI_CFM.selectBySqlDefine(paramList, WC_T_WC_DTR_KIKI_CFM_WC_SELECT_001);
	}

	/**
	 * SQLKEY(WC_DELETE_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 executeWC_T_WC_DTR_KIKI_CFM_WC_DELETE_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_WC_T_WC_DTR_KIKI_CFM.executeBySqlDefine(paramList, WC_T_WC_DTR_KIKI_CFM_WC_DELETE_001);
	}

	/**
	 * SQLKEY(WC_INSERT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	視聴制御HULFT送信実績番号
	 *		 	HULFT_SEND_DTM
	 *		 	送信ファイル名
	 *		 	連携ファイル名
	 *		 	継続ジョブID
	 *		 	ディレイド処理依頼番号
	 *		 	宅内機器情報抽出ファイル名
	 *		 	登録年月日時分秒
	 *		 	登録オペレータアカウント
	 *		 	更新年月日時分秒
	 *		 	更新オペレータアカウント
	 *		 	削除年月日時分秒
	 *		 	削除オペレータアカウント
	 *		 	無効フラグ
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeWC_T_WC_HULFT_SDJSK_WC_INSERT_001(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());
		paramList.setValue(param[8].toString());
		paramList.setValue(param[9].toString());
		paramList.setValue(param[10].toString());
		paramList.setValue(param[11].toString());
		paramList.setValue(param[12].toString());
		paramList.setValue(param[13].toString());

		// DBアクセスを実行します
		db_WC_T_WC_HULFT_SDJSK.executeBySqlDefine(paramList, WC_T_WC_HULFT_SDJSK_WC_INSERT_001);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
}
