Merge branch 'fix-NEWDWH2021-1360' of nds-tyo.git.backlog.com:/NEWDWH2021/newsdwh2021 into fix-NEWDWH2021-1360

This commit is contained in:
shimoda.m@nds-tyo.co.jp 2023-11-29 14:48:31 +09:00
commit 9f54152c6f
3 changed files with 30 additions and 18 deletions

View File

@ -1,6 +1,9 @@
from src.batch.ultmarc.utmp_tables.table_mapper.ultmarc_table_mapper import \ from src.batch.ultmarc.utmp_tables.table_mapper.ultmarc_table_mapper import (
UltmarcTableMapper UltmarcTableMapper,
from src.batch.ultmarc.utmp_tables.tables.com_prefc_med_sp_outpat import ComPrefcMedSpOutpat )
from src.batch.ultmarc.utmp_tables.tables.com_prefc_med_sp_outpat import (
ComPrefcMedSpOutpat,
)
class ComPrefcMedSpOutpatMapper(UltmarcTableMapper): class ComPrefcMedSpOutpatMapper(UltmarcTableMapper):
@ -73,15 +76,18 @@ class ComPrefcMedSpOutpatMapper(UltmarcTableMapper):
def __init__(self, record: list[str], db) -> None: def __init__(self, record: list[str], db) -> None:
super().__init__(record, db, ComPrefcMedSpOutpat) super().__init__(record, db, ComPrefcMedSpOutpat)
program_name = __name__.split('.')[-1] # 当モジュール名(現行から変わっている) program_name = __name__.split(".")[-1] # 当モジュール名(現行から変わっている)
# モジュール名をクエリパラメータに設定 # モジュール名をクエリパラメータに設定
self.query_parameter['program_name'] = program_name self.query_parameter["program_name"] = program_name
# 読み込んだレコード値もクエリパラメータに追加 # 読み込んだレコード値もクエリパラメータに追加
self.query_parameter = {**self.query_parameter, **self.record.to_sql_parameter()} self.query_parameter = {
**self.query_parameter,
**self.record.to_sql_parameter(),
}
def make_query(self): def make_query(self):
# 『修正区分がB(修正)かつ追加削除区分が1(退職)』の場合、物理削除 # 『修正区分がB(修正)かつ追加削除区分が1(退職)』の場合、物理削除
if self.record.maint_flag == 'B' and self.record.adddel_div == '1': if self.record.maint_flag == "B" and self.record.adddel_div == "1":
self.queries.append(self.PHYSICAL_DELETE_QUERY) self.queries.append(self.PHYSICAL_DELETE_QUERY)
return return
@ -90,10 +96,16 @@ class ComPrefcMedSpOutpatMapper(UltmarcTableMapper):
return return
def __make_upsert_query(self): def __make_upsert_query(self):
# 修正のレコードだった場合はNULLに変換する
if self.record.sectsub_cd == "@":
self.query_parameter["sectsub_cd"] = None
# レコードの存在確認 # レコードの存在確認
record_count = self.db.execute_select(self.RECORD_EXISTS_QUERY, self.query_parameter) record_count = self.db.execute_select(
self.RECORD_EXISTS_QUERY, self.query_parameter
)
# 存在しない場合はInsert # 存在しない場合はInsert
if record_count[0]['count_num'] == 0: if record_count[0]["count_num"] == 0:
return self.INSERT_QUERY return self.INSERT_QUERY
# 存在する場合ではUpdate # 存在する場合ではUpdate
@ -104,22 +116,20 @@ class ComPrefcMedSpOutpatMapper(UltmarcTableMapper):
# ソートキー # ソートキー
if len(self.record.sort_key) > 0: if len(self.record.sort_key) > 0:
set_clauses.append('sort_key = :sort_key') set_clauses.append("sort_key = :sort_key")
# 分類補助コード # 分類補助コード
if len(self.record.sectsub_cd) > 0: if len(self.record.sectsub_cd) > 0:
set_clauses.append('sectsub_cd = :sectsub_cd') set_clauses.append("sectsub_cd = :sectsub_cd")
if self.record.sectsub_cd == '@': if self.record.sectsub_cd == "@":
self.query_parameter['sectsub_cd'] = None self.query_parameter["sectsub_cd"] = None
update_columns = ','.join(set_clauses) update_columns = ",".join(set_clauses)
# 何も更新項目が無い場合はNoneとする更新処理は行わない # 何も更新項目が無い場合はNoneとする更新処理は行わない
if len(update_columns) == 0: if len(update_columns) == 0:
return None return None
else: else:
# 末尾にカンマを付けてSET句を完成させる # 末尾にカンマを付けてSET句を完成させる
update_columns += ',' update_columns += ","
update_query = self.UPDATE_QUERY.format( update_query = self.UPDATE_QUERY.format(update_columns=update_columns)
update_columns=update_columns
)
return update_query return update_query

View File

@ -1,3 +1,4 @@
"136","99","9999999","88","A","あいうえお","2","20141113","20141114","123","@"
"136","00","9901649","","A","テスト 小児 内分泌・腎臓外来","2","20141113","20141114","5","030" "136","00","9901649","","A","テスト 小児 内分泌・腎臓外来","2","20141113","20141114","5","030"
"136","00","9904439","","A","テスト アルコール症専門外来","2","20141113","20141114","1","019" "136","00","9904439","","A","テスト アルコール症専門外来","2","20141113","20141114","1","019"
"136","00","9904439","","A","テスト メンタルヘルス専門外来","2","20141113","20141114","7","019" "136","00","9904439","","A","テスト メンタルヘルス専門外来","2","20141113","20141114","7","019"

1 136 00 99 9901649 9999999 88 A テスト 小児 内分泌・腎臓外来 あいうえお 2 20141113 20141114 5 123 030 @
1 136 99 9999999 88 A あいうえお 2 20141113 20141114 123 @
2 136 00 00 9901649 9901649 A テスト 小児 内分泌・腎臓外来 テスト 小児 内分泌・腎臓外来 2 20141113 20141114 5 5 030 030
3 136 00 00 9904439 9904439 A テスト アルコール症専門外来 テスト アルコール症専門外来 2 20141113 20141114 1 1 019 019
4 136 00 00 9904439 9904439 A テスト メンタルヘルス専門外来 テスト メンタルヘルス専門外来 2 20141113 20141114 7 7 019 019

View File

@ -1,4 +1,5 @@
"dcf_dsf_inst_cd","specialclinic_name","sort_key","sectsub_cd","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" "dcf_dsf_inst_cd","specialclinic_name","sort_key","sectsub_cd","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id"
"99999999988","あいうえお","123","NULL","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_prefc_med_sp_outpat_mapper","2017/10/08 20:57:12","com_prefc_med_sp_outpat_mapper"
"009901649","テスト 小児 内分泌・腎臓外来","5","030","20230511","NULL","NULL","NULL","NULL","NULL","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper" "009901649","テスト 小児 内分泌・腎臓外来","5","030","20230511","NULL","NULL","NULL","NULL","NULL","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper"
"009904439","テスト アルコール症専門外来","1","019","20230511","NULL","NULL","NULL","NULL","NULL","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper" "009904439","テスト アルコール症専門外来","1","019","20230511","NULL","NULL","NULL","NULL","NULL","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper"
"009904439","テスト メンタルヘルス専門外来","7","019","20230511","NULL","NULL","NULL","NULL","NULL","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper" "009904439","テスト メンタルヘルス専門外来","7","019","20230511","NULL","NULL","NULL","NULL","NULL","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper"

1 dcf_dsf_inst_cd specialclinic_name sort_key sectsub_cd regist_ymd update_ymd regist_date create_user update_date update_user sys_regist_date regist_prgm_id sys_update_date update_prgm_id
2 99999999988 あいうえお 123 NULL 20171008 NULL NULL NULL NULL NULL 2017/10/08 20:57:12 com_prefc_med_sp_outpat_mapper 2017/10/08 20:57:12 com_prefc_med_sp_outpat_mapper
3 009901649 テスト 小児 内分泌・腎臓外来 5 030 20230511 NULL NULL NULL NULL NULL 2023/05/11 10:57:12 com_prefc_med_sp_outpat_mapper 2023/05/11 10:57:12 com_prefc_med_sp_outpat_mapper
4 009904439 テスト アルコール症専門外来 1 019 20230511 NULL NULL NULL NULL NULL 2023/05/11 10:57:12 com_prefc_med_sp_outpat_mapper 2023/05/11 10:57:12 com_prefc_med_sp_outpat_mapper
5 009904439 テスト メンタルヘルス専門外来 7 019 20230511 NULL NULL NULL NULL NULL 2023/05/11 10:57:12 com_prefc_med_sp_outpat_mapper 2023/05/11 10:57:12 com_prefc_med_sp_outpat_mapper