feat: ログ出力処理追加

This commit is contained in:
高木要 2023-05-10 18:31:59 +09:00
parent 3a98128b11
commit 3215a92e70

View File

@ -13,8 +13,8 @@ def exec():
"""DCF施設統合マスタ作成"""
# アルトマーク取込が行われていない場合は処理をスキップする
# if not batch_context.is_ultmarc_imported:
# logger.info('アルトマーク取込が行われていないため、DCF施設統合マスタ作成処理をスキップします。')
if not batch_context.is_ultmarc_imported:
logger.info('アルトマーク取込が行われていないため、DCF施設統合マスタ作成処理をスキップします。')
db = Database.get_instance()
try:
@ -22,8 +22,10 @@ def exec():
db.begin()
logger.debug('DCF施設統合マスタ作成処理開始')
# COM施設からDCF施設統合マスタに登録
_insert_dcf_inst_merge_from_com_ci(db)
db.commit()
(success, result) = _insert_dcf_inst_merge_from_com_ci(db)
# DCF施設統合マスタが追加ログを出力する
if success:
_output_dcf_inst_merge_log(result)
logger.debug('DCF施設統合マスタ作成処理終了')
except Exception as e:
db.rollback()
@ -32,11 +34,8 @@ def exec():
db.disconnect()
def _insert_dcf_inst_merge_from_com_ci(db: Database):
def _insert_dcf_inst_merge_from_com_ci(db: Database) -> tuple[bool, list[dict]]:
# com_ciにdcf_inst_mergeにinsert
creater = 'batchuser'
enabledFlg = 'Y'
try:
result = db.execute_select(
"""
@ -95,16 +94,16 @@ def _insert_dcf_inst_merge_from_com_ci(db: Database):
if len(result) == 0:
logger.info('重複コードがあるデータはありません')
return
return False, None
values_clauses = []
params = {'enabledFlg': enabledFlg, 'creater': creater, "updater": creater}
params = {}
clauses_no = 0
for row in result:
dcfInstCdArr = f'dcfInstCd{clauses_no}'
dupOppCdArr = f'dupOppCd{clauses_no}'
tekiyoMonthArr = f'tekiyoMonth{clauses_no}'
placeholders = f'(:{dcfInstCdArr}, :{dupOppCdArr}, :{tekiyoMonthArr}, :enabledFlg, :creater, SYSDATE(), :updater, SYSDATE())'
placeholders = f'(:{dcfInstCdArr}, :{dupOppCdArr}, :{tekiyoMonthArr}, "Y", CURRENT_USER(), SYSDATE(), CURRENT_USER(), SYSDATE())'
values_clauses.append(placeholders)
params[dcfInstCdArr] = row['dcf_dsf_inst_cd']
params[dupOppCdArr] = row['dup_opp_cd']
@ -130,9 +129,41 @@ def _insert_dcf_inst_merge_from_com_ci(db: Database):
elapsed_time = ElapsedTime()
res = db.execute(insert_sql, params)
logging_sql(logger, insert_sql)
db.commit()
logger.info(f'COM施設からDCF施設統合マスタに登録成功, {res.rowcount} 行更新 ({elapsed_time.of})')
except Exception as e:
logger.debug('COM施設からDCF施設統合マスタの登録に失敗')
raise e
return (True, result)
def _output_dcf_inst_merge_log(result: list[dict]):
sys_update_date = result[0]['sys_update_date']
setYearMonth = '{set_year}{set_month}'.format(
set_year=sys_update_date[0:4],
set_month=sys_update_date[-2:]
)
add_dct_inst_list = []
for row in result:
add_dct_inst_list.append("""DCF施設コード {dcf_dsf_inst_cd} {form_inst_name_kanji},  重複時相手先コード {dup_opp_cd} {dup_inst_name_kanji}""".format(
dcf_dsf_inst_cd=row['dcf_dsf_inst_cd'],
form_inst_name_kanji=row['form_inst_name_kanji'],
dup_opp_cd=row['dup_opp_cd'],
dup_inst_name_kanji=row['dup_inst_name_kanji']
)
)
add_dct_inst_list = '\n'.join(add_dct_inst_list)
logger.info(
f"""[NOTICE]DCF施設統合マスタが追加されました。
**********************************************************
適用月度{setYearMonth}
**********************************************************
{add_dct_inst_list}
**********************************************************
合計 {len(result)}
"""
)
return