diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_dr_mapper.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_dr_mapper.py index 36e51552..f19c10bd 100644 --- a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_dr_mapper.py +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_dr_mapper.py @@ -214,6 +214,9 @@ class ComDrMapper(UltmarcTableMapper): # 西暦の取得 self.__set_era() + # 「@」による項目クリアを設定 + self.__set_clearing_item() + # レコードの存在確認 record_count = self.db.execute_select(self.RECORD_EXISTS_QUERY, self.query_parameter) # 存在しない場合はInsert @@ -247,14 +250,10 @@ class ComDrMapper(UltmarcTableMapper): # 削除予定理由 if len(self.record.drdel_code) > 0: set_clauses.append('delete_sche_reason_cd = :drdel_code') - if self.record.drdel_code == '@': - self.query_parameter['drdel_code'] = None # 重複時相手先コード if len(self.record.opp_dup_code) > 0: set_clauses.append('opp_dup_cd = :opp_dup_code') - if self.record.reptdr_id == '@': - self.query_parameter['opp_dup_code'] = None # 医師名(漢字) if len(self.record.dr_name) > 0: @@ -275,12 +274,6 @@ class ComDrMapper(UltmarcTableMapper): set_clauses.append('birthday_month = :birthday_month') set_clauses.append('birthday_day = :birthday_day') set_clauses.append('birthday = :birth_day') - if self.record.birthday_era == '@': - self.query_parameter['birthday_era'] = None - self.query_parameter['birthday_year'] = None - self.query_parameter['birthday_month'] = None - self.query_parameter['birthday_day'] = None - self.query_parameter['birth_day'] = None # 出身都道府県コード if len(self.record.home_town_code) > 0: @@ -295,10 +288,6 @@ class ComDrMapper(UltmarcTableMapper): set_clauses.append('grad_year = :grad_year') set_clauses.append('grad_era = :grad_yearera') set_clauses.append('grad_y = :grad_y') - if self.record.grad_yearera == '@': - self.query_parameter['grad_yearera'] = None - self.query_parameter['grad_year'] = None - self.query_parameter['grad_y'] = None # 出身校コード if len(self.record.graduniv_code) > 0: @@ -313,16 +302,10 @@ class ComDrMapper(UltmarcTableMapper): set_clauses.append('drday_era = :drda_yera') set_clauses.append('drday_year = :drday_year') set_clauses.append('drday_y = :drday_y') - if self.record.drda_yera == '@': - self.query_parameter['drda_yera'] = None - self.query_parameter['drday_year'] = None - self.query_parameter['drday_y'] = None # 住所不明 if len(self.record.dr_addr_lost_code) > 0: set_clauses.append('addr_unknown_reason_cd = :dr_addr_lost_code') - if self.record.dr_addr_lost_code == '@': - self.query_parameter['dr_addr_lost_code'] = None # 住所 # 集合項目のいずれかに入力がある場合に更新 @@ -340,32 +323,22 @@ class ComDrMapper(UltmarcTableMapper): # 自宅電話番号 if len(self.record.dr_tel) > 0: set_clauses.append('home_phone_number = :dr_tel') - if self.record.dr_tel == '@': - self.query_parameter['dr_tel'] = None # 利用停止区分 if len(self.record.use_stop_flag) > 0: set_clauses.append('use_stop_div = :use_stop_flag') - if self.record.use_stop_flag == '@': - self.query_parameter['use_stop_flag'] = None # 利用停止理由 if len(self.record.use_stopc_ode) > 0: set_clauses.append('use_stop_reason_cd = :use_stopc_ode') - if self.record.use_stopc_ode == '@': - self.query_parameter['use_stopc_ode'] = None # 利用停止登録年月日 if len(self.record.cre_stop_date) > 0: set_clauses.append('use_stop_regist_ymd = :cre_stop_date') - if self.record.cre_stop_date == '@': - self.query_parameter['cre_stop_date'] = None # 利用停止解除年月日 if len(self.record.release_date) > 0: set_clauses.append('use_stop_cancel_ymd = :release_date') - if self.record.release_date == '@': - self.query_parameter['release_date'] = None # 開勤区分 if len(self.record.pract_class_code) > 0: @@ -376,10 +349,6 @@ class ComDrMapper(UltmarcTableMapper): set_clauses.append('estab_era = :pract_yearera') set_clauses.append('estab_year = :pract_year') set_clauses.append('estab_y = :estab_y') - if self.record.pract_yearera == '@': - self.query_parameter['pract_yearera'] = None - self.query_parameter['pract_year'] = None - self.query_parameter['estab_y'] = None # 一括登録フラグ if len(self.record.bskregst_flag) > 0: @@ -459,3 +428,53 @@ class ComDrMapper(UltmarcTableMapper): # 月日も空の場合、生年月日は空 return '' + + def __set_clearing_item(self): + # 削除予定理由 + if self.record.drdel_code == '@': + self.query_parameter['drdel_code'] = None + # 重複時相手先コード + if self.record.reptdr_id == '@': + self.query_parameter['opp_dup_code'] = None + # 生年月日 + if self.record.birthday_era == '@': + self.query_parameter['birthday_era'] = None + self.query_parameter['birthday_year'] = None + self.query_parameter['birthday_month'] = None + self.query_parameter['birthday_day'] = None + self.query_parameter['birth_day'] = None + # 卒年 + if self.record.grad_yearera == '@': + self.query_parameter['grad_yearera'] = None + self.query_parameter['grad_year'] = None + self.query_parameter['grad_y'] = None + # 登録年 + if self.record.drda_yera == '@': + self.query_parameter['drda_yera'] = None + self.query_parameter['drday_year'] = None + self.query_parameter['drday_y'] = None + # 住所不明 + if self.record.dr_addr_lost_code == '@': + self.query_parameter['dr_addr_lost_code'] = None + # 自宅電話番号 + if self.record.dr_tel == '@': + self.query_parameter['dr_tel'] = None + # 利用停止区分 + if self.record.use_stop_flag == '@': + self.query_parameter['use_stop_flag'] = None + # 利用停止理由 + if self.record.use_stopc_ode == '@': + self.query_parameter['use_stopc_ode'] = None + # 利用停止登録年月日 + if self.record.cre_stop_date == '@': + self.query_parameter['cre_stop_date'] = None + # 利用停止解除年月日 + if self.record.release_date == '@': + self.query_parameter['release_date'] = None + # 開業年 + if self.record.pract_yearera == '@': + self.query_parameter['pract_yearera'] = None + self.query_parameter['pract_year'] = None + self.query_parameter['estab_y'] = None + + return