#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：顧客管理
#
# シェル名      ：オプトインメール受信設定変更要求情報受信
#
# 機能          ：オプトインメール受信設定変更要求情報受信
#
# コマンド形式  ：EO1080110J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v71.00.00       2024/05/29  GDC)J.Zabala ANK-4584-00-00_Gmail迷惑メール対策強化に伴うワンクリック購読解除実現
# 
#
##############################################################

##############################################################
# 環境変数定義
##############################################################

#
#---ツール格納場所
#
G_TOOLSH=.

#
#---環境変数定義Shell呼び出し
#
. EOK010110J0.sh

#
#---ＪＯＢ名
#
JOBNAME=`basename $0 | sed -e "s/\.sh//g"`

#
#---サービス（業務プロセス）
#
SVC=$JOBNAME

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#
#xxx=xxxxxxx
##############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME

#
#---パラメタ定義
#

P1="OPD=$OPD,"
P2="SVCCTL=,"
P3="JOB=EO1080110J0,"
P4="IND1=,"
P5="INF1=,"
P6="IND2=,"
P7="INF2=,"
P8="OTD1=,"
P9="OTF1=,"
P10="OTD2=,"
P11="OTF2=,"
P12="TABLENAME=,"
P13="SQLKEY=,"
P14="SQLPARAM=,"
P15="ERRFILE=,"
P16="RECOVERY=,"
P17="BREAKPTN=,"
P18="FREE="
PARA="$P1$P2$P3$P4$P5$P6$P7$P8$P9$P10$P11$P12$P13$P14$P15$P16$P17$P18"

sh ${G_TOOLSH}/EOK010210J0.sh CS00027I $JOBNAME

# OMSからのファイルの場所 (顧客管理システム)
RCV_DIR_OMS=${GAIBU_RECEIVE_DIR_CK}/CKIFE072/
# cXDPからのファイルの場所 (顧客管理システム)
RCV_DIR_CXDP=${GAIBU_RECEIVE_DIR_CK}/CKIFE073/
# 中間ファイルストレージ (顧客管理システム)
MID_DIR=${MID_DIR_CK}/
# OMS (顧客管理システム) からのファイルの場所 (バックアップ)
RCV_DIR_OMS_BK=${GAIBU_RECEIVE_DIR_CK}/CKIFE072/bk/
# cXDP (顧客管理システム) からのファイルの場所 (バックアップ)
RCV_DIR_CXDP_BK=${GAIBU_RECEIVE_DIR_CK}/CKIFE073/bk/

# 閾値
REC_CNT_THRESHOLD=1001

# リターンコード
rc=${G_RTN_NORMAL}

# OMSからファイルを読み込む

# ファイル存在チェック
RCV_FILE_CNT_OMS=`find ${RCV_DIR_OMS} -maxdepth 1 -type f | wc -l`
if [[ $RCV_FILE_CNT_OMS -gt 0 ]]; then
	for RCV_FILE_OMS in `find ${RCV_DIR_OMS} -maxdepth 1 -type f`; do

		# ファイル件数チェック
		LINE_CNT=`cat ${RCV_FILE_OMS} | wc -l`
		if [[ $LINE_CNT -gt $REC_CNT_THRESHOLD ]]; then
			sh ${G_TOOLSH}/EOK010210J0.sh CS00003W $JOBNAME "${RCV_FILE_OMS}：レコード件数が1000件を超えています。"
			rc=${G_RTN_WARN}
		fi
	
		# 中間フォルダにファイルをコピーする
		cp $RCV_FILE_OMS $MID_DIR
	
		# ファイルをバックアップフォルダに移動する
		mv $RCV_FILE_OMS $RCV_DIR_OMS_BK
	
	done
fi

# cXDPからファイルを読み込む

# ファイル存在チェック
RCV_FILE_CNT_CXDP=`find ${RCV_DIR_CXDP} -maxdepth 1 -type f | wc -l`
if [[ $RCV_FILE_CNT_CXDP -gt 0 ]]; then
	for RCV_FILE_CXDP in `find ${RCV_DIR_CXDP} -maxdepth 1 -type f`; do

		# ファイル件数チェック
		LINE_CNT=`cat ${RCV_FILE_CXDP} | wc -l`
		if [[ $LINE_CNT -gt $REC_CNT_THRESHOLD ]]; then
			sh ${G_TOOLSH}/EOK010210J0.sh CS00003W $JOBNAME "${RCV_FILE_CXDP}：レコード件数が1000件を超えています。"
			rc=${G_RTN_WARN}
		fi
	
		# 中間フォルダにファイルをコピーする
		cp $RCV_FILE_CXDP $MID_DIR
	
		# ファイルをバックアップフォルダに移動する
		mv $RCV_FILE_CXDP $RCV_DIR_CXDP_BK
	
	done
fi

if [ $RCV_FILE_CNT_OMS = 0 ] && [ $RCV_FILE_CNT_CXDP = 0 ]; then
	sh ${G_TOOLSH}/EOK010210J0.sh CS00003W $JOBNAME "連携された処理対象ファイルが存在しません。"
	rc=${G_RTN_WARN}
fi

#
#--- ジョブの終了メッセージを出力する
#
sh ${G_TOOLSH}/EOK010210J0.sh CS00028I $JOBNAME
sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME

exit $rc
