fix: INSERT時の@項目クリアの横展開修正( COM_専門分野)
This commit is contained in:
parent
2e3c0ec0f9
commit
00b8cca1c4
@ -104,6 +104,10 @@ class ComSpFieldMapper(UltmarcTableMapper):
|
||||
|
||||
# レコードの存在確認
|
||||
record_count = self.db.execute_select(self.RECORD_EXISTS_QUERY, self.query_parameter)
|
||||
|
||||
# 項目クリアを設定
|
||||
self.__set_clearing_item()
|
||||
|
||||
# 存在しない場合はInsert
|
||||
if record_count[0]['count_num'] == 0:
|
||||
return self.INSERT_QUERY
|
||||
@ -112,26 +116,17 @@ class ComSpFieldMapper(UltmarcTableMapper):
|
||||
if len(self.record.specialist_maint_div) > 0:
|
||||
set_clauses.append('specialist_maint_div = :specialist_maint_div')
|
||||
|
||||
if len(self.record.specialist_flg) > 0:
|
||||
if self.record.specialist_flg is not None and len(self.record.specialist_flg) > 0:
|
||||
set_clauses.append('specialist_flg = :specialist_flg')
|
||||
set_clauses.append('specialist_publsh_ymd = :specialist_publsh_ymd')
|
||||
if self.record.specialist_flg == '@':
|
||||
self.query_parameter['specialist_flg'] = None
|
||||
self.query_parameter['specialist_publsh_ymd'] = None
|
||||
|
||||
if len(self.record.ackn_med_flg) > 0:
|
||||
if self.record.ackn_med_flg is not None and len(self.record.ackn_med_flg) > 0:
|
||||
set_clauses.append('ackn_med_flg = :ackn_med_flg')
|
||||
set_clauses.append('ackn_med_publsh_ymd = :ackn_med_publsh_ymd')
|
||||
if self.record.ackn_med_flg == '@':
|
||||
self.query_parameter['ackn_med_flg'] = None
|
||||
self.query_parameter['ackn_med_publsh_ymd'] = None
|
||||
|
||||
if len(self.record.guide_med_flg) > 0:
|
||||
if self.record.guide_med_flg is not None and len(self.record.guide_med_flg) > 0:
|
||||
set_clauses.append('guide_med_flg = :guide_med_flg')
|
||||
set_clauses.append('guide_med_publsh_ymd = :guide_med_publsh_ymd')
|
||||
if self.record.guide_med_flg == '@':
|
||||
self.query_parameter['guide_med_flg'] = None
|
||||
self.query_parameter['guide_med_publsh_ymd'] = None
|
||||
|
||||
update_columns = ','.join(set_clauses)
|
||||
# 何も更新項目が無い場合はNoneとする(更新処理は行わない)
|
||||
@ -144,3 +139,20 @@ class ComSpFieldMapper(UltmarcTableMapper):
|
||||
update_columns=update_columns
|
||||
)
|
||||
return update_query
|
||||
|
||||
def __set_clearing_item(self):
|
||||
|
||||
# 専門医の集合項目クリア
|
||||
if self.record.specialist_flg == '@':
|
||||
self.query_parameter['specialist_flg'] = None
|
||||
self.query_parameter['specialist_publsh_ymd'] = None
|
||||
# 認定医の集合項目クリア
|
||||
if self.record.ackn_med_flg == '@':
|
||||
self.query_parameter['ackn_med_flg'] = None
|
||||
self.query_parameter['ackn_med_publsh_ymd'] = None
|
||||
# 指導医の集合項目クリア
|
||||
if self.record.guide_med_flg == '@':
|
||||
self.query_parameter['guide_med_flg'] = None
|
||||
self.query_parameter['guide_med_publsh_ymd'] = None
|
||||
|
||||
return
|
||||
|
||||
@ -5,3 +5,4 @@
|
||||
"511","01","999613","00","A","0056","2","20141113","20141114","1","20140706","","","1","20140706"
|
||||
"511","91","999999","99","B","9999","2","","","1","20220628","1","20230425","1","20230425"
|
||||
"511","99","999999","99","A","9999","2","","","1","20220628","1","20230425","1","20230425"
|
||||
"511","01","999988","99","A","9999","2",,,"@","20220628","@","20230425","@","20230425"
|
||||
|
||||
|
@ -6,3 +6,4 @@
|
||||
"0199961300","0056","2","1","20140706","","","1","20140706","20230425","NULL","NULL","NULL","NULL","NULL","NULL","2023/01/08 17:05:14","com_sp_field_mapper","2023/01/08 17:05:14","com_sp_field_mapper"
|
||||
"9199999999","9999","2","1","20220628","1","20230425","1","20230425","20230425","NULL","NULL","NULL","NULL","NULL","NULL","2023/01/08 17:05:14","com_sp_field_mapper","2023/01/08 17:05:14","com_sp_field_mapper"
|
||||
"9999999999","9999","2","1","20220628","1","20230425","1","20230425","20230425","NULL","NULL","NULL","NULL","NULL","NULL","2023/01/08 17:05:14","com_sp_field_mapper","2023/01/08 17:05:14","com_sp_field_mapper"
|
||||
"0199998899","9999","2","NULL","NULL","NULL","NULL","NULL","NULL","20230425","NULL","NULL","NULL","NULL","NULL","NULL","2023/01/08 17:05:14","com_sp_field_mapper","2023/01/08 17:05:14","com_sp_field_mapper"
|
||||
|
||||
|
@ -136,6 +136,8 @@ def is_valid_date_format(date_str: str, date_format):
|
||||
Returns:
|
||||
_type_: 正しい日付文字列の場合、True、それ以外はFalse
|
||||
"""
|
||||
if date_str is None:
|
||||
return False
|
||||
try:
|
||||
datetime.strptime(date_str, date_format)
|
||||
return True
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user