feat: DCF施設統合マスタ作成

This commit is contained in:
高木要 2023-05-11 09:59:06 +09:00
parent 3215a92e70
commit 2be8461f5a

View File

@ -22,10 +22,10 @@ def exec():
db.begin()
logger.debug('DCF施設統合マスタ作成処理開始')
# COM施設からDCF施設統合マスタに登録
(success, result) = _insert_dcf_inst_merge_from_com_ci(db)
# DCF施設統合マスタが追加ログを出力する
if success:
_output_dcf_inst_merge_log(result)
(is_add_dcf_inst, result) = _insert_dcf_inst_merge_from_com_ci(db)
# DCF施設統合マスタの追加のログを出力する
if is_add_dcf_inst:
_output_add_dcf_inst_log(result)
logger.debug('DCF施設統合マスタ作成処理終了')
except Exception as e:
db.rollback()
@ -35,10 +35,10 @@ def exec():
def _insert_dcf_inst_merge_from_com_ci(db: Database) -> tuple[bool, list[dict]]:
# com_ciにdcf_inst_mergeにinsert
# com_ciからdcf_inst_mergeにinsert
# 重複コードがあるデータを取得する(処理日~システム日付を対象)
try:
result = db.execute_select(
"""
sql = """
SELECT
ci.dcf_dsf_inst_cd AS dcf_dsf_inst_cd,
ci.form_inst_name_kanji AS form_inst_name_kanji,
@ -85,9 +85,10 @@ def _insert_dcf_inst_merge_from_com_ci(db: Database) -> tuple[bool, list[dict]]:
sl.inst_cd = ci.dcf_dsf_inst_cd
)
)
"""
)
logger.debug('重複コードがあるデータの取得に成功')
"""
result = db.execute_select(sql)
logging_sql(logger, sql)
logger.info('重複コードがあるデータの取得に成功')
except Exception as e:
logger.debug('重複コードがあるデータの取得に失敗')
raise e
@ -96,9 +97,10 @@ def _insert_dcf_inst_merge_from_com_ci(db: Database) -> tuple[bool, list[dict]]:
logger.info('重複コードがあるデータはありません')
return False, None
# DCF施設統合マスタ追加
values_clauses = []
params = {}
clauses_no = 0
clauses_no = 1
for row in result:
dcfInstCdArr = f'dcfInstCd{clauses_no}'
dupOppCdArr = f'dupOppCd{clauses_no}'
@ -138,32 +140,26 @@ def _insert_dcf_inst_merge_from_com_ci(db: Database) -> tuple[bool, list[dict]]:
return (True, result)
def _output_dcf_inst_merge_log(result: list[dict]):
def _output_add_dcf_inst_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 = 'DCF施設コード {dcf_dsf_inst_cd} {form_inst_name_kanji},  重複時相手先コード {dup_opp_cd} {dup_inst_name_kanji}'
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.append(add_dct_inst.format(**row))
add_dct_inst_list = '\n'.join(add_dct_inst_list)
logger.info(
f"""[NOTICE]DCF施設統合マスタが追加されました。
**********************************************************
適用月度{setYearMonth}
適用月度 {setYearMonth}
**********************************************************
{add_dct_inst_list}
**********************************************************
合計 {len(result)}
"""
合計 {len(result)}"""
)
return