fix: COM_都道府県医療機能情報(疾患治療)の新規登録時に、前年件数に@マークが渡ってくる場合の考慮漏れでエラーになっていたのを修正

This commit is contained in:
shimoda.m@nds-tyo.co.jp 2023-11-28 09:47:13 +09:00
parent 14f4cafb1f
commit 7d6cd20a9a
4 changed files with 11 additions and 4 deletions

View File

@ -89,6 +89,10 @@ class ComPrefcMedDisTreatMapper(UltmarcTableMapper):
return
def __make_upsert_query(self):
# 修正のレコードだった場合はNULLに変換する
if self.record.pre_num == '@':
self.query_parameter['pre_num'] = None
# レコードの存在確認
record_count = self.db.execute_select(self.RECORD_EXISTS_QUERY, self.query_parameter)
# 存在しない場合はInsert
@ -96,10 +100,7 @@ class ComPrefcMedDisTreatMapper(UltmarcTableMapper):
return self.INSERT_QUERY
# 存在する場合はUpdate
# 前年件数が空の場合は更新しない
if self.record.pre_num is not None:
if self.record.pre_num == '@':
self.query_parameter['pre_num'] = None
if self.record.is_pre_num_not_empty:
return self.UPDATE_QUERY
else:
return None

View File

@ -23,8 +23,12 @@ class ComPrefcMedDisTreat(UltmarcTable):
self.adddel_div = record[6]
self.pre_num = record[9]
# Update判断フラグ。数値が空の場合は更新しない。
self.is_pre_num_not_empty = True
# smallint型のカラム値は、空文字で渡ってきた場合はNULLに変換する
self.pre_num = self.pre_num if len(self.pre_num) > 0 else None
self.is_pre_num_not_empty = self.pre_num is not None
# DCFDSF施設コード
self.dcfdsf_inst_code = ''.join([self.dcfhp_id, self.dcfhp_code, self.dcfhp_yobi])

View File

@ -6,3 +6,4 @@
"134","00","9929798","","A","0902","2","20141113","20141114",""
"134","00","9929798","","A","0915","2","20141113","20141114",""
"134","99","9999999","99","A","1234","2","20141113","20141114","123456"
"134","99","9999999","99","A","1235","2","20141113","20141114","@"

1 134 00 9901649 A 1001 2 20141113 20141114
6 134 00 9929798 A 0902 2 20141113 20141114
7 134 00 9929798 A 0915 2 20141113 20141114
8 134 99 9999999 99 A 1234 2 20141113 20141114 123456
9 134 99 9999999 99 A 1235 2 20141113 20141114 @

View File

@ -8,3 +8,4 @@
"009929798","0915","NULL","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper"
"009929798","0915","NULL","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper"
"99999999999","1234","123456","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper"
"99999999999","1235","NULL","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper"

1 dcf_dsf_inst_cd treatment_code pre_num regist_ymd update_ymd regist_date create_user update_date update_user sys_regist_date regist_prgm_id sys_update_date update_prgm_id
8 009929798 0915 NULL 20230510 NULL NULL NULL NULL NULL 2023/05/10 20:57:12 com_prefc_med_dis_treat_mapper 2023/05/10 20:57:12 com_prefc_med_dis_treat_mapper
9 009929798 0915 NULL 20230510 NULL NULL NULL NULL NULL 2023/05/10 20:57:12 com_prefc_med_dis_treat_mapper 2023/05/10 20:57:12 com_prefc_med_dis_treat_mapper
10 99999999999 1234 123456 20230510 NULL NULL NULL NULL NULL 2023/05/10 20:57:12 com_prefc_med_dis_treat_mapper 2023/05/10 20:57:12 com_prefc_med_dis_treat_mapper
11 99999999999 1235 NULL 20230510 NULL NULL NULL NULL NULL 2023/05/10 20:57:12 com_prefc_med_dis_treat_mapper 2023/05/10 20:57:12 com_prefc_med_dis_treat_mapper