feat: 仕様変更対応
This commit is contained in:
parent
a808e03ea8
commit
535ae8fa48
@ -55,12 +55,14 @@ def _set_disabled_dct_inst_merge(db: Database):
|
||||
_update_dcf_inst_cd_new(db, row['dcf_inst_cd'], row['dup_opp_cd'], '戻し')
|
||||
|
||||
|
||||
def _select_ult_ident_presc_ta_cd(db: Database, dcf_inst_cd: str) -> list[dict]:
|
||||
# 納入先処方元マスタから、DCF施設コードに対応した領域コードの取得
|
||||
def _select_ult_ident_presc_dcf_inst_cd(db: Database, dcf_inst_cd: str) -> list[dict]:
|
||||
# 納入先処方元マスタから、DCF施設コードに対応したレコードの取得
|
||||
try:
|
||||
sql = """
|
||||
SELECT
|
||||
ta_cd
|
||||
ta_cd,
|
||||
ult_ident_cd,
|
||||
ratio
|
||||
FROM
|
||||
src05.ult_ident_presc
|
||||
WHERE
|
||||
@ -70,9 +72,9 @@ def _select_ult_ident_presc_ta_cd(db: Database, dcf_inst_cd: str) -> list[dict]:
|
||||
params = {'dcf_inst_cd': dcf_inst_cd}
|
||||
ult_ident_presc_ta_cd_records = db.execute_select(sql, params)
|
||||
logging_sql(logger, sql)
|
||||
logger.info('納入先処方元マスタから領域コードの取得に成功')
|
||||
logger.info('納入先処方元マスタからDCF施設コードに対応したレコードの取得に成功')
|
||||
except Exception as e:
|
||||
logger.debug('納入先処方元マスタから領域コードの取得に失敗')
|
||||
logger.debug('納入先処方元マスタからDCF施設コードに対応したレコードの取得に失敗')
|
||||
raise e
|
||||
|
||||
return ult_ident_presc_ta_cd_records
|
||||
@ -83,11 +85,12 @@ def _add_ult_ident_presc(db: Database, enabled_dst_inst_merge_records: list[dict
|
||||
logger.info('納入先処方元マスタの登録 開始')
|
||||
for data_inst_cnt, enabled_merge_record in enumerate(enabled_dst_inst_merge_records, start=1):
|
||||
tekiyo_month_first_day = _get_first_day_of_month(enabled_merge_record['tekiyo_month'])
|
||||
ult_ident_presc_ta_cd_records = _select_ult_ident_presc_ta_cd(db, enabled_merge_record['dcf_inst_cd'])
|
||||
for ult_ident_presc_ta_cd_record in ult_ident_presc_ta_cd_records:
|
||||
ult_ident_presc_records = _select_ult_ident_presc(db, enabled_merge_record['dcf_inst_cd'],
|
||||
ult_ident_presc_source_records = _select_ult_ident_presc_dcf_inst_cd(db, enabled_merge_record['dcf_inst_cd'])
|
||||
for ult_ident_presc_source_record in ult_ident_presc_source_records:
|
||||
ult_ident_presc_records = _select_ult_ident_presc(db,
|
||||
enabled_merge_record['dcf_inst_cd'],
|
||||
enabled_merge_record['dup_opp_cd'],
|
||||
ult_ident_presc_ta_cd_record['ta_cd'])
|
||||
ult_ident_presc_source_record)
|
||||
for data_cnt, ult_ident_presc_row in enumerate(ult_ident_presc_records, start=1):
|
||||
logger.info(f'{data_inst_cnt}件目の移行施設の{data_cnt}レコード目処理 開始')
|
||||
# 処方元コード=重複時相手先コードが発生した場合
|
||||
@ -554,7 +557,8 @@ def _select_emp_chg_inst(db: Database, dcf_inst_cd: str, dup_opp_cd: str, ta_cd:
|
||||
return emp_chg_inst_records
|
||||
|
||||
|
||||
def _select_ult_ident_presc(db: Database, dcf_inst_cd: str, dup_opp_cd: str, ta_cd: str) -> list[dict]:
|
||||
def _select_ult_ident_presc(db: Database, dcf_inst_cd: str, dup_opp_cd: str,
|
||||
ult_ident_presc_row: dict) -> list[dict]:
|
||||
# ult_ident_prescからSELECT
|
||||
try:
|
||||
sql = """
|
||||
@ -572,6 +576,8 @@ def _select_ult_ident_presc(db: Database, dcf_inst_cd: str, dup_opp_cd: str, ta_
|
||||
WHERE
|
||||
uipopp.presc_cd = :dup_opp_cd
|
||||
AND uipopp.ta_cd = :ta_cd
|
||||
AND uipopp.ult_ident_cd = :ult_ident_cd
|
||||
AND uipopp.ratio = :ratio
|
||||
) AS opp_count
|
||||
FROM
|
||||
src05.ult_ident_presc AS uip
|
||||
@ -580,7 +586,13 @@ def _select_ult_ident_presc(db: Database, dcf_inst_cd: str, dup_opp_cd: str, ta_
|
||||
AND uip.ta_cd = :ta_cd
|
||||
AND (SELECT ht.syor_date FROM src05.hdke_tbl AS ht) < uip.end_date
|
||||
"""
|
||||
params = {'dcf_inst_cd': dcf_inst_cd, 'dup_opp_cd': dup_opp_cd, 'ta_cd': ta_cd}
|
||||
params = {
|
||||
'dcf_inst_cd': dcf_inst_cd,
|
||||
'dup_opp_cd': dup_opp_cd,
|
||||
'ta_cd': ult_ident_presc_row['ta_cd'],
|
||||
'ult_ident_cd': ult_ident_presc_row['ult_ident_cd'],
|
||||
'ratio': ult_ident_presc_row['ratio']
|
||||
}
|
||||
ult_ident_presc_records = db.execute_select(sql, params)
|
||||
logging_sql(logger, sql)
|
||||
logger.info('納入先処方元マスタの取得 成功')
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user