From 7d6cd20a9aaa2a545b2638dc8419fd3fdeb9cf23 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Tue, 28 Nov 2023 09:47:13 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20COM=5F=E9=83=BD=E9=81=93=E5=BA=9C?= =?UTF-8?q?=E7=9C=8C=E5=8C=BB=E7=99=82=E6=A9=9F=E8=83=BD=E6=83=85=E5=A0=B1?= =?UTF-8?q?(=E7=96=BE=E6=82=A3=E6=B2=BB=E7=99=82)=E3=81=AE=E6=96=B0?= =?UTF-8?q?=E8=A6=8F=E7=99=BB=E9=8C=B2=E6=99=82=E3=81=AB=E3=80=81=E5=89=8D?= =?UTF-8?q?=E5=B9=B4=E4=BB=B6=E6=95=B0=E3=81=AB@=E3=83=9E=E3=83=BC?= =?UTF-8?q?=E3=82=AF=E3=81=8C=E6=B8=A1=E3=81=A3=E3=81=A6=E3=81=8F=E3=82=8B?= =?UTF-8?q?=E5=A0=B4=E5=90=88=E3=81=AE=E8=80=83=E6=85=AE=E6=BC=8F=E3=82=8C?= =?UTF-8?q?=E3=81=A7=E3=82=A8=E3=83=A9=E3=83=BC=E3=81=AB=E3=81=AA=E3=81=A3?= =?UTF-8?q?=E3=81=A6=E3=81=84=E3=81=9F=E3=81=AE=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../concrete/com_prefc_med_dis_treat_mapper.py | 9 +++++---- .../utmp_tables/tables/com_prefc_med_dis_treat.py | 4 ++++ .../com_prefc_med_dis_treat_insert.csv | 1 + .../expect_com_prefc_med_dis_treat_insert.csv | 1 + 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_dis_treat_mapper.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_dis_treat_mapper.py index 0cc65001..28c072a6 100644 --- a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_dis_treat_mapper.py +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_dis_treat_mapper.py @@ -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 diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_prefc_med_dis_treat.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_prefc_med_dis_treat.py index f7bacedd..979e40a9 100644 --- a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_prefc_med_dis_treat.py +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_prefc_med_dis_treat.py @@ -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]) diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/com_prefc_med_dis_treat_insert.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/com_prefc_med_dis_treat_insert.csv index 037c46c2..8091022c 100644 --- a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/com_prefc_med_dis_treat_insert.csv +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/com_prefc_med_dis_treat_insert.csv @@ -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","@" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/expect_com_prefc_med_dis_treat_insert.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/expect_com_prefc_med_dis_treat_insert.csv index 819aa6dc..4e56268a 100644 --- a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/expect_com_prefc_med_dis_treat_insert.csv +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/expect_com_prefc_med_dis_treat_insert.csv @@ -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"