/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatCRChgMkmSohuInfOput
*	ソースファイル名	：JBSbatCRChgMkmSohuInfOput.java
*	作成者				：富士通　
*	作成日				：2012年06月27日
*＜機能概要＞
*　変更申込書類送付情報ＣＳＶ出力処理部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/06/27   富士通		新規作成
*********************************************************************/
package eo.business.service;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCRBatCommon;
import eo.business.util.table.JBSbatCR_M_ATICLE;
import eo.business.util.table.JBSbatCR_T_ATICLE_SOHU;
import eo.business.util.table.JBSbatCR_T_ATICLE_SOHU_KRK;
import eo.business.util.table.JBSbatCR_T_TAIO_KIROK;
import eo.common.constant.JCRStrConst;
import eo.common.constant.JPCBatchMessageConstant;
import eo.common.util.JCCFrameworkException;
import eo.common.util.JCRUtilCommon;
import eo.framework.application.JBSbatBusinessError;
import eo.framework.application.JCCbatFrameworkException;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.util.JBSbatBusinessFileUtil;

/**
* 変更申込書類送付情報ＣＳＶ出力処理 <p>
*<BR>
* @author 富士通
*/
public class JBSbatCRChgMkmSohuInfOput extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(資料送付)*/
	private static final String D_TBL_NAME_CR_T_ATICLE_SOHU = "CR_T_ATICLE_SOHU";

	/** テーブル(資料送付記録)*/
	private static final String D_TBL_NAME_CR_T_ATICLE_SOHU_KRK = "CR_T_ATICLE_SOHU_KRK";

	/** SQL定義キー(CR_SELECT_001)*/
	private static final String CR_T_ATICLE_SOHU_CR_SELECT_001 = "CR_SELECT_001";

	/** テーブルアクセスクラス(資料送付)*/
	private JBSbatSQLAccess db_CR_T_ATICLE_SOHU = null;

	/** テーブルアクセスクラス(資料送付記録)*/
	private JBSbatSQLAccess db_CR_T_ATICLE_SOHU_KRK = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/**
	 * ファイル名のプレフィックス
	 */
	private static final String PREFIX_FILE_NM = "CRIFE028_";

	/**
	 * 指定拡張子　データファイル用
	 */
	private static final String EXT_DATA_FILE = ".csv";

	/**
	 * 指定拡張子　件数ファイル用
	 */
	private static final String EXT_COUNT_FILE = ".cnt";

	/**
	 * 指定拡張子　フラグファイル用
	 */
	private static final String EXT_FLG_FILE = ".flg";

	/**
	 * 資料送付方法種別名　取得キー
	 */
	private static final String ATICLE_SOHU_SBT_NM = "ATICLE_SOHU_SBT_NM";

	/**
	 * 外部システムインターフェースID　変更申込書類送付情報　CRIFE028
	 */
	private static final String IF_ID = "CRIFE028";

	/** FTPエラー区分 */
	public static final String FTP_ERR_KBN = "ERR_KBN";

	/** FTPエラー区分（接続エラー） */
	public static final String FTP_ERR_KBN_CONNECT_ERR = "1";

	/** FTPエラー区分（ファイルエラー） */
	public static final String FTP_ERR_KBN_FILE_ERR = "2";

	/** FTP接続エラー（HashMap） */
	public static final String FTP_CONNECT_ERR = "CONNECT_ERR";

	/** FTPファイルエラー（HashMap） */
	public static final String FTP_FILE_ERR = "FILE_ERR";

	/** FTP接続エラーフラグ */
	public static final String FTP_CONNECT_ERR_FLG = "ERR_FLG";

	/** FTP接続エラーメッセージ */
	public static final String FTP_CONNECT_ERR_MESSAGE = "ERR_MESSAGE";

	/** FTPファイルエラーフラグ */
	public static final String FTP_FILE_ERR_FLG = "ERR_FLG";

	/** FTPファイルエラーメッセージ */
	public static final String FTP_FILE_ERR_MESSAGE = "ERR_MESSAGE";

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_CR_T_ATICLE_SOHU = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CR_T_ATICLE_SOHU);
		db_CR_T_ATICLE_SOHU_KRK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CR_T_ATICLE_SOHU_KRK);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		// (1) 変更申込書類送付情報ファイル保存先パス取得
		// シェルで${GAIBU_SEND_DIR_CR}/CRIFE028を設定
		String path = super.commonItem.getFreeItem();
		commonItem.getLogPrint().printDebugLog("変更申込書類送付情報ファイル保存先パス:" + path);

		if (path == null || "".equals(path))
		{
			// ECRB0190KW	%1%の内容が正しくありません。（%2%）
			String messageId = JPCBatchMessageConstant.ECRB0190KW;
			String[] logParam = new String[]{"シェル引数", "変更申込書類送付情報ファイル保存先パス未定義"};
			super.logPrint.printBusinessErrorLog(messageId, logParam);
			super.commonItem.setErrorCount(1);
			throw new JBSbatBusinessError();
		}
		else
		{
			File outputPath = JCRUtilCommon.checkDirExist(path);
			if (outputPath == null)
			{
				// 存在しない場合
				// ECRB0160KW:指定されたパスが存在しません。(%1%)
				String messageId = JPCBatchMessageConstant.ECRB0160KW;
				String[] logParam = new String[]{path};
				super.logPrint.printBusinessErrorLog(messageId, logParam);
				super.commonItem.setErrorCount(1);
				throw new JBSbatBusinessError();
			}
			super.logPrint.printDebugLog("変更申込書類送付情報ファイルが配置されるディレクトリーパス:" + outputPath);
		}

		// ファイル出力オブジェクト
		JBSbatBusinessFileUtil dataFileObj = null;		// データファイル
		JBSbatBusinessFileUtil countFileObj = null;		// 件数ファイル
		JBSbatBusinessFileUtil flgFileObj = null;		// フラグファイル

		String dataFilePath = null;
		String countFilePath = null;
		String flgFilePath = null;

		try
		{
			// (2) 変更申込書類送付情報取得
			String sysDt = JCRBatCommon.getSysDate();
			String[] params1 = new String[] {sysDt, sysDt};
			executeCR_T_ATICLE_SOHU_CR_SELECT_001(params1);
			List<JBSbatCommonDBInterface> selectedDataList = JCRBatCommon.getSelectedDataList(db_CR_T_ATICLE_SOHU);

			int outputDataCount = 0;

			if (selectedDataList != null)
			{
				JCRBatCommon.printShoriCountLog(commonItem, "変更申込書類送付情報ＣＳＶ出力　処理件数", selectedDataList.size());

				// 出力ファイル生成
				String sysYYYYMMDDHHMMSS = JCRBatCommon.getSysDateTime();		// ファイル名に付けるタイムスタンプ

				// データファイル
				dataFilePath = path + JCRStrConst.FILE_KUGIRI  + PREFIX_FILE_NM + sysYYYYMMDDHHMMSS +  EXT_DATA_FILE;
				dataFileObj = JCRBatCommon.createBusinessFileUtil(dataFilePath, JCRStrConst.DEFAULT_ENCODE, JCRStrConst.KAIGYO_CD, JCRStrConst.STR_HALF_COMMA);

				// 件数ファイル
				countFilePath = path + JCRStrConst.FILE_KUGIRI  + PREFIX_FILE_NM + sysYYYYMMDDHHMMSS +  EXT_COUNT_FILE;
				countFileObj = JCRBatCommon.createBusinessFileUtil(countFilePath, JCRStrConst.DEFAULT_ENCODE, JCRStrConst.KAIGYO_CD, JCRStrConst.STR_HALF_COMMA);

				// フラグファイル
				flgFilePath = path + JCRStrConst.FILE_KUGIRI  + PREFIX_FILE_NM + sysYYYYMMDDHHMMSS +  EXT_FLG_FILE;
				flgFileObj = JCRBatCommon.createBusinessFileUtil(flgFilePath, JCRStrConst.DEFAULT_ENCODE, JCRStrConst.KAIGYO_CD, JCRStrConst.STR_HALF_COMMA);

				for (int i = 0; i < selectedDataList.size(); i++)
				{
					// (3) データ1件読込
					JBSbatCommonDBInterface selectedData = selectedDataList.get(i);

					// (4) 出力項目編集
					ArrayList<String> outputDataList = makeOneLineData(selectedData);

					// データファイル書き込み
					JCRBatCommon.printBusinessFileUtil(dataFileObj, outputDataList);

					outputDataCount++;

					String taioKirokNo = selectedData.getString(JBSbatCR_T_TAIO_KIROK.TAIO_KIROK_NO);						// 問合せID(対応記録番号)
					String aticleSohuNo = selectedData.getString(JBSbatCR_T_ATICLE_SOHU.ATICLE_SOHU_NO);					// 資料送付番号
					String aticleSohuKirokNo = selectedData.getString(JBSbatCR_T_ATICLE_SOHU_KRK.ATICLE_SOHU_KIROK_NO);		// 資料送付記録番号

					// (5) 資料送付記録ステータス更新
					String[] updParam = new String[] {JCRStrConst.CD_DIV_SIRYOSOFU_KIROK_STAT_LABEL, JCRBatCommon.getSysDateTimeStamp(), batchUserId};
					String[] whereParam = new String[] {taioKirokNo, aticleSohuNo, aticleSohuKirokNo};
					executeCR_T_ATICLE_SOHU_KRK_PKUPDATE(updParam, whereParam);
				}

				// (6) ファイル出力
				// 件数ファイル出力
				ArrayList<String> countDataList = new ArrayList<String>();
				countDataList.add(JCRUtilCommon.addDblQut(Integer.toString(outputDataCount)));	// 件数
				JCRBatCommon.printBusinessFileUtil(countFileObj, countDataList);
			}
			else
			{
				JCRBatCommon.printShoriCountLog(commonItem, "変更申込書類送付情報ＣＳＶ出力　処理件数", 0);
			}

			if (outputDataCount > 0)
			{
				// 出力対象データがある場合

				// ファイルクローズ
				JCRBatCommon.closeBusinessFileUtil(dataFileObj);	// データファイル
				JCRBatCommon.closeBusinessFileUtil(countFileObj);	// 件数ファイル
				JCRBatCommon.closeBusinessFileUtil(flgFileObj);		// フラグファイル

				// (7) ファイル送信
				ArrayList<String> fileList = new ArrayList<String>();
				fileList.add(dataFilePath);		// データファイル
				fileList.add(countFilePath);	// 件数ファイル
				fileList.add(flgFilePath);		// フラグファイル
				// FTP
				boolean ftpRes = putFtp(fileList);

				if (ftpRes == true)
				{
					// コミット
					super.commit();
				}
				else
				{
					// FTP転送エラーの場合
					commonItem.getConnection().rollback();
					super.commonItem.setErrorCount(1);
					throw new JBSbatBusinessError();
				}
			}
		}
		catch (JCCbatFrameworkException bfe)
		{
			// 想定外の例外発生
			commonItem.getConnection().rollback();
			throw bfe;
		}
		catch (JCCFrameworkException fe)
		{
			// 想定外の例外発生
			commonItem.getConnection().rollback();
			throw fe;
		}
		finally
		{
			ArrayList<String> fileList = new ArrayList<String>();

			// データファイル
			if (dataFileObj != null)
			{
				JCRBatCommon.closeBusinessFileUtil(dataFileObj);
			}
			if (dataFilePath != null)
			{
				fileList.add(dataFilePath);
			}

			// 件数ファイル
			if (countFileObj != null)
			{
				JCRBatCommon.closeBusinessFileUtil(countFileObj);
			}
			if (countFilePath != null)
			{
				fileList.add(countFilePath);
			}

			// フラグファイル
			if (flgFileObj != null)
			{
				JCRBatCommon.closeBusinessFileUtil(flgFileObj);
			}
			if (flgFilePath != null)
			{
				fileList.add(flgFilePath);
			}

			// ファイル削除
			deleteFile(fileList);
		}

		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 出力データ1行生成
	 * @param selectedData 断面データ
	 * @return 生成した1行分のリスト
	 * @throws Exception 例外
	 */
	private ArrayList<String> makeOneLineData(JBSbatCommonDBInterface selectedData) throws Exception
	{
		String svcKeiNo = selectedData.getString(JBSbatCR_T_TAIO_KIROK.SVC_KEI_NO);										// お客様ID(サービス契約番号)
		String taioKirokNo = selectedData.getString(JBSbatCR_T_TAIO_KIROK.TAIO_KIROK_NO);								// 問合せID(対応記録番号)
		String aticleSohuNo = selectedData.getString(JBSbatCR_T_ATICLE_SOHU.ATICLE_SOHU_NO);							// 資料送付番号
		String aticleSohuKirokNo = selectedData.getString(JBSbatCR_T_ATICLE_SOHU_KRK.ATICLE_SOHU_KIROK_NO);				// 資料送付記録番号
		String aticleNm = selectedData.getString(JBSbatCR_M_ATICLE.ATICLE_NM);											// 資料名
		String suhuCnt = selectedData.getString(JBSbatCR_T_ATICLE_SOHU_KRK.SOHU_CNT);									// 送付部数
		String aticleSohuSbtNm = selectedData.getString(ATICLE_SOHU_SBT_NM);											// 資料送付方法種別
		String sohusNm = selectedData.getString(JBSbatCR_T_ATICLE_SOHU.SOHUS_NM);										// 送付先名
		String sohusKanaNm = selectedData.getString(JBSbatCR_T_ATICLE_SOHU.SOHUS_KANA_NM);								// 送付先カナ名
		String sohusPcd = selectedData.getString(JBSbatCR_T_ATICLE_SOHU.SOHUS_PCD);										// 送付先郵便番号
		String sohusStateNm = selectedData.getString(JBSbatCR_T_ATICLE_SOHU.SOHUS_STATE_NM);							// 送付先都道府県名
		String sohusCityNm = selectedData.getString(JBSbatCR_T_ATICLE_SOHU.SOHUS_CITY_NM);								// 送付先市区町村名
		String sohusOaztsuNm = selectedData.getString(JBSbatCR_T_ATICLE_SOHU.SOHUS_OAZTSU_NM);							// 送付先大字通称名
		String sohusAzchoNm = selectedData.getString(JBSbatCR_T_ATICLE_SOHU.SOHUS_AZCHO_NM);							// 送付先字丁目名
		String sohusBnchigo = selectedData.getString(JBSbatCR_T_ATICLE_SOHU.SOHUS_BNCHIGO);								// 送付先番地号
		String sohusAdrttm = selectedData.getString(JBSbatCR_T_ATICLE_SOHU.SOHUS_ADRTTM);								// 送付先住所補記・建物名
		String sohusAdrrm = selectedData.getString(JBSbatCR_T_ATICLE_SOHU.SOHUS_ADRRM);									// 送付先住所補記・部屋番号
		String sohusTelno = selectedData.getString(JBSbatCR_T_ATICLE_SOHU.SOHUS_TELNO);									// 送付先電話番号
		String aticleSohuKrkSakseiYmd = selectedData.getString(JBSbatCR_T_ATICLE_SOHU_KRK.ATICLE_SOHU_KRK_SAKSEI_YMD);	// 資料送付記録作成年月日

		// 出力レコード1行生成
		ArrayList<String> outputDataList = new ArrayList<String>();

		outputDataList.add(JCRUtilCommon.addDblQut(svcKeiNo));					// お客様ID(サービス契約番号)
		outputDataList.add(JCRUtilCommon.addDblQut(taioKirokNo));				// 問合せID(対応記録番号)
		outputDataList.add(JCRUtilCommon.addDblQut(aticleSohuNo));				// 資料送付番号
		outputDataList.add(JCRUtilCommon.addDblQut(aticleSohuKirokNo));			// 資料送付記録番号
		outputDataList.add(JCRUtilCommon.addDblQut(aticleNm));					// 資料名
		outputDataList.add(JCRUtilCommon.addDblQut(suhuCnt));					// 送付部数
		outputDataList.add(JCRUtilCommon.addDblQut(aticleSohuSbtNm));			// 資料送付方法種別
		outputDataList.add(JCRUtilCommon.addDblQut(sohusNm));					// 送付先名
		outputDataList.add(JCRUtilCommon.addDblQut(sohusKanaNm));				// 送付先カナ名
		outputDataList.add(JCRUtilCommon.addDblQut(sohusPcd));					// 送付先郵便番号
		outputDataList.add(JCRUtilCommon.addDblQut(sohusStateNm));				// 送付先都道府県名
		outputDataList.add(JCRUtilCommon.addDblQut(sohusCityNm));				// 送付先市区町村名
		outputDataList.add(JCRUtilCommon.addDblQut(sohusOaztsuNm));				// 送付先大字通称名
		outputDataList.add(JCRUtilCommon.addDblQut(sohusAzchoNm));				// 送付先字丁目名
		outputDataList.add(JCRUtilCommon.addDblQut(sohusBnchigo));				// 送付先番地号
		outputDataList.add(JCRUtilCommon.addDblQut(sohusAdrttm));				// 送付先住所補記・建物名
		outputDataList.add(JCRUtilCommon.addDblQut(sohusAdrrm));				// 送付先住所補記・部屋番号
		outputDataList.add(JCRUtilCommon.addDblQut(sohusTelno));				// 送付先電話番号
		outputDataList.add(JCRUtilCommon.addDblQut(aticleSohuKrkSakseiYmd));	// 資料送付記録作成年月日

		return outputDataList;
	}

	/**
	 * ファイル削除
	 * @param pathList 削除対象ファイルパスのリスト
	 */
	private void deleteFile(List<String> pathList)
	{
		if (pathList != null)
		{
			for (int i = 0; i < pathList.size(); i++)
			{
				new File(JCRUtilCommon.inspection(pathList.get(i))).delete();
			}
		}
	}

	/**
	 * FTP送信
	 * @param fileList 転送するファイルパスのリスト
	 * @return 転送結果
	 */
	private boolean putFtp(ArrayList<String> fileList)
	{
		HashMap<String, Object> ftpResMap = new HashMap<String, Object>();
		// ファイル送信
		boolean ftpRes = JCRBatCommon.putFTP(commonItem, fileList, IF_ID, ftpResMap);
		if (ftpRes != true)
		{
			// FTP失敗

			// エラー区分の取得
			String errKbn = ftpResMap.get(FTP_ERR_KBN).toString();

			// 接続エラーの場合
			if(FTP_ERR_KBN_CONNECT_ERR.equals(errKbn))
			{
				HashMap<?, ?> connectErrMap = (HashMap<?, ?>)ftpResMap.get(FTP_CONNECT_ERR);
				if(!Boolean.valueOf(connectErrMap.get(FTP_CONNECT_ERR_FLG).toString()))
				{
					// EKKB0200CE	%1%のファイル転送に失敗しました。(%2%)
					super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB0200CE,
						new String[]{"変更申込書類送付情報", connectErrMap.get(FTP_CONNECT_ERR_MESSAGE).toString()});
				}
			}
			// ファイルエラーの場合
			else if(FTP_ERR_KBN_FILE_ERR.equals(errKbn))
			{
				ArrayList<?> fileErrList = (ArrayList<?>)ftpResMap.get(FTP_FILE_ERR);
				for(int i = 0; i < fileErrList.size(); i++)
				{
					HashMap<?, ?> fileErrMap = (HashMap<?, ?>)fileErrList.get(i);
					if(!Boolean.valueOf(fileErrMap.get(FTP_FILE_ERR_FLG).toString()))
					{
						// EKKB0200CE	%1%のファイル転送に失敗しました。(%2%)
						super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB0200CE,
							new String[]{"変更申込書類送付情報", fileErrMap.get(FTP_FILE_ERR_MESSAGE).toString()});
					}
				}
			}
		}
		return ftpRes;
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_CR_T_ATICLE_SOHU.close();
		db_CR_T_ATICLE_SOHU_KRK.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * SQLKEY(CR_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 executeCR_T_ATICLE_SOHU_CR_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_CR_T_ATICLE_SOHU.selectBySqlDefine(paramList, CR_T_ATICLE_SOHU_CR_SELECT_001);
	}

	/**
	 * PK(ＰＫ　更新)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.引数で条件マップを作ります。<br>
	 *
	 * 3.DBアクセスを実行します。<br>
	 * 
	 * 4.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	資料送付記録ステータス				ATICLE_SOHU_KIROK_STAT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	TAIO_KIROK_NO
	 *		 	ATICLE_SOHU_NO
	 *		 	ATICLE_SOHU_KIROK_NO
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @param whereParam 条件項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCR_T_ATICLE_SOHU_KRK_PKUPDATE(Object[] setParam, Object[] whereParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("ATICLE_SOHU_KIROK_STAT", setParam[0]);
		setMap.setValue("UPD_DTM", setParam[1]);
		setMap.setValue("UPD_OPEACNT", setParam[2]);
	
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("TAIO_KIROK_NO", whereParam[0]);
		whereMap.setValue("ATICLE_SOHU_NO", whereParam[1]);
		whereMap.setValue("ATICLE_SOHU_KIROK_NO", whereParam[2]);

		// DBアクセスを実行します
		db_CR_T_ATICLE_SOHU_KRK.updateByPrimaryKeys(whereMap, setMap);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
}
