From 1eaf2e99bb7d202ee34ca08c29af3249333b14c7 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Wed, 29 Nov 2023 16:04:54 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20COM=5F=E8=96=AC=E5=B1=80=20=E9=A0=85?= =?UTF-8?q?=E7=9B=AE=E3=82=AF=E3=83=AA=E3=82=A2=E3=81=AE=E8=80=83=E6=85=AE?= =?UTF-8?q?=E6=BC=8F=E3=82=8C=20=E3=82=B3=E3=83=BC=E3=83=89=E3=81=AE?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E3=80=82=E3=83=86=E3=82=B9=E3=83=88=E3=82=82?= =?UTF-8?q?=E3=83=91=E3=82=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../table_mapper/concrete/com_pharm_mapper.py | 76 ++++++++++++++----- .../com_pharm/expect_com_pharm_insert.csv | 2 +- 2 files changed, 56 insertions(+), 22 deletions(-) diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_pharm_mapper.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_pharm_mapper.py index b234815d..bfe4f982 100644 --- a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_pharm_mapper.py +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_pharm_mapper.py @@ -143,6 +143,9 @@ class ComPharmMapper(UltmarcTableMapper): return def __make_upsert_query(self): + # 「@」による項目クリアを設定 + self.__set_clearing_item() + # レコードの存在確認 record_count = self.db.execute_select(self.RECORD_EXISTS_QUERY, self.query_parameter) # 存在しない場合はInsert @@ -175,7 +178,6 @@ class ComPharmMapper(UltmarcTableMapper): # 住所不明理由コード if self.record.hp_addr_lost_code != '': set_clauses.append('addr_unknown_reason_cd = :hp_addr_lost_code') - self.query_parameter['hp_addr_lost_code'] = None if self.record.hp_addr_lost_code == '@' else self.record.hp_addr_lost_code # 正式施設名カナ if self.record.hp_name_kana != '': @@ -197,42 +199,31 @@ class ComPharmMapper(UltmarcTableMapper): if len(self.record.close_flg + self.record.close_yearmonth) > 0: set_clauses.append('close_flg = :close_flg') set_clauses.append('close_start_ym = :close_yearmonth') - if self.record.close_flg == '@': - self.query_parameter['close_flg'] = None - self.query_parameter['close_yearmonth'] = None # 開業予定フラグ、開業予定年月 if len(self.record.open_flag + self.record.open_yearmonth) > 0: set_clauses.append('estab_sche_flg = :open_flag') set_clauses.append('estab_sche_ym = :open_yearmonth') - if self.record.open_flag == '@': - self.query_parameter['open_flag'] = None - self.query_parameter['open_yearmonth'] = None # 施設代表者カナ if self.record.president_Kana != '': set_clauses.append('inst_repre_kana = :president_Kana') - self.query_parameter['president_Kana'] = None if self.record.president_Kana == '@' else self.record.president_Kana - # 施設代表者 ※@が大文字 + # 施設代表者 if self.record.president != '': set_clauses.append('inst_repre = :president') - self.query_parameter['president'] = None if self.record.president == '@' else self.record.president # 電話番号なしフラグ if self.record.tel_nothing_flag != '': set_clauses.append('phone_number_non_flg = :tel_nothing_flag') - self.query_parameter['tel_nothing_flag'] = None if self.record.tel_nothing_flag == '@' else self.record.tel_nothing_flag # 未確認フラグ if self.record.unconf_flg != '': set_clauses.append('unconf_flg = :unconf_flg') - self.query_parameter['unconf_flg'] = None if self.record.unconf_flg == '@' else self.record.unconf_flg # 施設電話番号 if self.record.tel_number != '': set_clauses.append('inst_phone_number = :tel_number') - self.query_parameter['tel_number'] = None if self.record.tel_number == '@' else self.record.tel_number # 施設住所カナ if self.record.addr_kana != '': @@ -255,7 +246,6 @@ class ComPharmMapper(UltmarcTableMapper): # 住所表示番号 if self.record.addr_number != '': set_clauses.append('addr_display_number = :addr_number') - self.query_parameter['addr_number'] = None if self.record.addr_number == '@' else self.record.addr_number # 住所カウント(集合項目である県コードが入っていればカウントをセットする) if len(self.record.prefc_cd) > 0: @@ -265,32 +255,76 @@ class ComPharmMapper(UltmarcTableMapper): # 経営体コード if self.record.mgtclass_code != '': set_clauses.append('manage_cd = :mgtclass_code') - self.query_parameter['mgtclass_code'] = None if self.record.mgtclass_code == '@' else self.record.mgtclass_code # 削除予定理由コード if self.record.del_cd != '': set_clauses.append('delete_sche_reason_cd = :del_cd') - self.query_parameter['del_cd'] = None if self.record.del_cd == '@' else self.record.del_cd # 重複時相手先コード if self.record.dup_opp_cd != '': set_clauses.append('dup_opp_cd = :dup_opp_cd') - self.query_parameter['dup_opp_cd'] = None if self.record.dup_opp_cd == '@' else self.record.dup_opp_cd # 管理薬剤師名(漢字)※@が大文字 if self.record.pharmacist != '': set_clauses.append('supervising_pharmacist = :pharmacist') - self.query_parameter['pharmacist'] = None if self.record.pharmacist == '@' else self.record.pharmacist # 管理薬剤師名(カナ) if self.record.pharmacist_kana != '': set_clauses.append('supervising_pharmacist_kana = :pharmacist_kana') - self.query_parameter['pharmacist_kana'] = None if self.record.pharmacist_kana == '@' else self.record.pharmacist_kana # チェーン店本部コード if self.record.franchise_hq_id != '': set_clauses.append('franchise_hq_cd = :franchise_hq_cd') - if self.record.franchise_hq_id == '@': - self.query_parameter['franchise_hq_cd'] = None return set_clauses + + def __set_clearing_item(self): + # 住所不明理由コード + if self.record.hp_addr_lost_code == '@': + self.query_parameter['hp_addr_lost_code'] = None + # 休院フラグ、休院予定年月 + if self.record.close_flg == '@': + self.query_parameter['close_flg'] = None + self.query_parameter['close_yearmonth'] = None + # 開業予定フラグ、開業予定年月 + if self.record.open_flag == '@': + self.query_parameter['open_flag'] = None + self.query_parameter['open_yearmonth'] = None + # 施設代表者カナ + if self.record.president_Kana == '@': + self.query_parameter['president_Kana'] = None + # 施設代表者 ※@が大文字 + if self.record.president == '@': + self.query_parameter['president'] = None + # 電話番号なしフラグ + if self.record.tel_nothing_flag == '@': + self.query_parameter['tel_nothing_flag'] = None + # 未確認フラグ + if self.record.unconf_flg == '@': + self.query_parameter['unconf_flg'] = None + # 施設電話番号 + if self.record.tel_number == '@': + self.query_parameter['tel_number'] = None + # 住所表示番号 + if self.record.addr_number == '@': + self.query_parameter['addr_number'] = None + # 経営体コード + if self.record.mgtclass_code == '@': + self.query_parameter['mgtclass_code'] = None + # 削除予定理由コード + if self.record.del_cd == '@': + self.query_parameter['del_cd'] = None + # 重複時相手先コード + if self.record.duphp_id == '@': + self.query_parameter['dup_opp_cd'] = None + # 管理薬剤師名(漢字) ※@が大文字 + if self.record.pharmacist == '@': + self.query_parameter['pharmacist'] = None + # 管理薬剤師名(カナ) + if self.record.pharmacist_kana == '@': + self.query_parameter['pharmacist_kana'] = None + # チェーン店本部コード + if self.record.franchise_hq_id == '@': + self.query_parameter['franchise_hq_cd'] = None + + return diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_pharm/expect_com_pharm_insert.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_pharm/expect_com_pharm_insert.csv index 4d1e8c3b..e4d10126 100644 --- a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_pharm/expect_com_pharm_insert.csv +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_pharm/expect_com_pharm_insert.csv @@ -117,4 +117,4 @@ "033673870","85",,"セイシキテンポメイモジ70","リヤクシキモジ70","薮藪篭籠","薮藪篭籠",,,,,"ダイヒヨウシヤメイモジ70 タロウ","薮藪篭籠 太郎",,,"03-3249-8231","トウキヨウト チユウオウク ニホンバシハマチヨウ 2-45-1 モジ70","東京都中央区日本橋浜町2-45-1 薮藪篭籠","103-0007","13102242","13","102","2-45-1-70","07071202","03030502","471",,,"薮藪篭籠 太郎","カンリヤクザイシメイモジ70 タロウ",,"2","NULL","0","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","2023/04/12 00:00:00","com_pharm_mapper","2023/04/12 00:00:00","com_pharm_mapper" "033673871","85",,"セイシキテンポメイモジ71","リヤクシキモジ71","尭堯槙槇遥遙瑶瑤凜熙","尭堯槙槇遥遙瑶瑤凜熙",,,,,"ダイヒヨウシヤメイモジ71 タロウ","尭堯槙槇遥遙瑶瑤凜熙 太郎",,,"03-3249-8231","トウキヨウト チユウオウク ニホンバシハマチヨウ 2-45-1 モジ71","東京都中央区日本橋浜町2-45-1 尭堯槙槇遥遙瑶瑤凜熙","103-0007","13102242","13","102","2-45-1-71","07071202","03030502","471",,,"尭堯槙槇遥遙瑶瑤凜熙 太郎","カンリヤクザイシメイモジ71 タロウ",,"2","NULL","0","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","2023/04/12 00:00:00","com_pharm_mapper","2023/04/12 00:00:00","com_pharm_mapper" "033673872","85",,"セイシキテンポメイモジ72","リヤクシキモジ72","ツッー-一医院薬鈴田","ツッー-一医院薬鈴田",,,,,"ダイヒヨウシヤメイモジ72 タロウ","ツッー-一医院薬鈴田 太郎",,,"03-3249-8231","トウキヨウト チユウオウク ニホンバシハマチヨウ 2-45-1 モジ72","東京都中央区日本橋浜町2-45-1 ツッー-一医院薬鈴田","103-0007","13102242","13","102","2-45-1-72","07071202","03030502","471",,,"ツッー-一医院薬鈴田 太郎","カンリヤクザイシメイモジ72 タロウ",,"2","NULL","0","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","2023/04/12 00:00:00","com_pharm_mapper","2023/04/12 00:00:00","com_pharm_mapper" -"033673873","66","NULL","セイカナ","リヤクカナ","正漢字","略漢字","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","ジユウシヨカナ","住所漢字","001-6234","61626364","61","622","NULL","05060708","01020304","471","NULL","NULL","NULL","NULL","NULL","2","NULL","0","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","2023/04/12 00:00:00","com_pharm_mapper","2023/04/12 00:00:00","com_pharm_mapper" +"033673873","66","NULL","セイカナ","リヤクカナ","正漢字","略漢字","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","ジユウシヨカナ","住所漢字","001-6234","61626364","61","62","NULL","05060708","01020304","471","NULL","NULL","NULL","NULL","NULL","2","NULL","0","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","2023/04/12 00:00:00","com_pharm_mapper","2023/04/12 00:00:00","com_pharm_mapper"