From f238cfb19b8c50b7a9fc54ba39ed7f0a15047c4c Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Sat, 16 Sep 2023 16:17:01 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20V=E3=83=A1=E3=83=BC=E3=82=AB=E3=83=BC?= =?UTF-8?q?=E5=8D=B8=E7=B5=84=E7=B9=94=E5=B1=95=E9=96=8B=E8=A1=A8=E3=81=AE?= =?UTF-8?q?=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/batch/vjsk/vjsk_recv_file_mapper.py | 112 +++++++++--------- .../batch/vjsk/vjsk_load/test_vjsk_load.py | 10 +- .../testdata/mkr_org_horizon_202304280000.tsv | 2 + .../testdata/mkr_org_horizon_202304290000.tsv | 4 +- 4 files changed, 65 insertions(+), 63 deletions(-) diff --git a/ecs/jskult-batch-daily/src/batch/vjsk/vjsk_recv_file_mapper.py b/ecs/jskult-batch-daily/src/batch/vjsk/vjsk_recv_file_mapper.py index b88851bf..3de47515 100644 --- a/ecs/jskult-batch-daily/src/batch/vjsk/vjsk_recv_file_mapper.py +++ b/ecs/jskult-batch-daily/src/batch/vjsk/vjsk_recv_file_mapper.py @@ -483,43 +483,43 @@ class VjskReceiveFileMapper: SELECT t.vid_kind_1 ,t.v_cd_1 - ,t.name_1 + ,medaca_common.convert_empty_to_null(t.name_1) ,t.dsp_odr_1 ,t.vid_kind_2 ,t.v_cd_2 - ,t.name_2 + ,medaca_common.convert_empty_to_null(t.name_2) ,t.dsp_odr_2 ,t.vid_kind_3 ,t.v_cd_3 - ,t.name_3 + ,medaca_common.convert_empty_to_null(t.name_3) ,t.dsp_odr_3 ,t.vid_kind_4 ,t.v_cd_4 - ,t.name_4 + ,medaca_common.convert_empty_to_null(t.name_4) ,t.dsp_odr_4 ,t.vid_kind_5 ,t.v_cd_5 - ,t.name_5 + ,medaca_common.convert_empty_to_null(t.name_5) ,t.dsp_odr_5 ,t.vid_kind_6 ,t.v_cd_6 - ,t.name_6 + ,medaca_common.convert_empty_to_null(t.name_6) ,t.dsp_odr_6 ,t.vid_kind_7 ,t.v_cd_7 - ,t.name_7 + ,medaca_common.convert_empty_to_null(t.name_7) ,t.dsp_odr_7 ,t.vid_kind_8 ,t.v_cd_8 - ,t.name_8 + ,medaca_common.convert_empty_to_null(t.name_8) ,t.dsp_odr_8 ,t.vid_kind_9 ,t.v_cd_9 - ,t.name_9 + ,medaca_common.convert_empty_to_null(t.name_9) ,t.dsp_odr_9 ,t.vid_kind_10 ,t.v_cd_10 - ,t.name_10 + ,medaca_common.convert_empty_to_null(t.name_10) ,t.dsp_odr_10 ,t.v_whs_cd ,t.start_date @@ -530,52 +530,52 @@ class VjskReceiveFileMapper: ,SYSDATE() FROM org05.mkr_org_horizon_v AS t ON DUPLICATE KEY UPDATE - vid_kind_1=t.vid_kind_1 - ,v_cd_1=t.v_cd_1 - ,name_1=t.name_1 - ,dsp_odr_1=t.dsp_odr_1 - ,vid_kind_2=t.vid_kind_2 - ,v_cd_2=t.v_cd_2 - ,name_2=t.name_2 - ,dsp_odr_2=t.dsp_odr_2 - ,vid_kind_3=t.vid_kind_3 - ,v_cd_3=t.v_cd_3 - ,name_3=t.name_3 - ,dsp_odr_3=t.dsp_odr_3 - ,vid_kind_4=t.vid_kind_4 - ,v_cd_4=t.v_cd_4 - ,name_4=t.name_4 - ,dsp_odr_4=t.dsp_odr_4 - ,vid_kind_5=t.vid_kind_5 - ,v_cd_5=t.v_cd_5 - ,name_5=t.name_5 - ,dsp_odr_5=t.dsp_odr_5 - ,vid_kind_6=t.vid_kind_6 - ,v_cd_6=t.v_cd_6 - ,name_6=t.name_6 - ,dsp_odr_6=t.dsp_odr_6 - ,vid_kind_7=t.vid_kind_7 - ,v_cd_7=t.v_cd_7 - ,name_7=t.name_7 - ,dsp_odr_7=t.dsp_odr_7 - ,vid_kind_8=t.vid_kind_8 - ,v_cd_8=t.v_cd_8 - ,name_8=t.name_8 - ,dsp_odr_8=t.dsp_odr_8 - ,vid_kind_9=t.vid_kind_9 - ,v_cd_9=t.v_cd_9 - ,name_9=t.name_9 - ,dsp_odr_9=t.dsp_odr_9 - ,vid_kind_10=t.vid_kind_10 - ,v_cd_10=t.v_cd_10 - ,name_10=t.name_10 - ,dsp_odr_10=t.dsp_odr_10 - ,v_whs_cd=t.v_whs_cd - ,start_date=t.start_date - ,end_date=t.end_date - ,rec_sts_kbn=t.rec_sts_kbn - ,ins_dt=nullif(t.ins_dt, 0) - ,upd_dt=nullif(t.upd_dt, 0) + vid_kind_1=VALUES(vid_kind_1) + ,v_cd_1=VALUES(v_cd_1) + ,name_1=VALUES(name_1) + ,dsp_odr_1=VALUES(dsp_odr_1) + ,vid_kind_2=VALUES(vid_kind_2) + ,v_cd_2=VALUES(v_cd_2) + ,name_2=VALUES(name_2) + ,dsp_odr_2=VALUES(dsp_odr_2) + ,vid_kind_3=VALUES(vid_kind_3) + ,v_cd_3=VALUES(v_cd_3) + ,name_3=VALUES(name_3) + ,dsp_odr_3=VALUES(dsp_odr_3) + ,vid_kind_4=VALUES(vid_kind_4) + ,v_cd_4=VALUES(v_cd_4) + ,name_4=VALUES(name_4) + ,dsp_odr_4=VALUES(dsp_odr_4) + ,vid_kind_5=VALUES(vid_kind_5) + ,v_cd_5=VALUES(v_cd_5) + ,name_5=VALUES(name_5) + ,dsp_odr_5=VALUES(dsp_odr_5) + ,vid_kind_6=VALUES(vid_kind_6) + ,v_cd_6=VALUES(v_cd_6) + ,name_6=VALUES(name_6) + ,dsp_odr_6=VALUES(dsp_odr_6) + ,vid_kind_7=VALUES(vid_kind_7) + ,v_cd_7=VALUES(v_cd_7) + ,name_7=VALUES(name_7) + ,dsp_odr_7=VALUES(dsp_odr_7) + ,vid_kind_8=VALUES(vid_kind_8) + ,v_cd_8=VALUES(v_cd_8) + ,name_8=VALUES(name_8) + ,dsp_odr_8=VALUES(dsp_odr_8) + ,vid_kind_9=VALUES(vid_kind_9) + ,v_cd_9=VALUES(v_cd_9) + ,name_9=VALUES(name_9) + ,dsp_odr_9=VALUES(dsp_odr_9) + ,vid_kind_10=VALUES(vid_kind_10) + ,v_cd_10=VALUES(v_cd_10) + ,name_10=VALUES(name_10) + ,dsp_odr_10=VALUES(dsp_odr_10) + ,v_whs_cd=VALUES(v_whs_cd) + ,start_date=VALUES(start_date) + ,end_date=VALUES(end_date) + ,rec_sts_kbn=VALUES(rec_sts_kbn) + ,ins_dt=VALUES(ins_dt) + ,upd_dt=VALUES(upd_dt) ,dwh_upd_dt=SYSDATE() ; """) diff --git a/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/test_vjsk_load.py b/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/test_vjsk_load.py index 2b2afd01..94cbf055 100644 --- a/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/test_vjsk_load.py +++ b/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/test_vjsk_load.py @@ -617,7 +617,7 @@ class TestImportFileToDb: self.batch_context.is_vjsk_stock_import_day = True self.db.execute(f"truncate table {table_name_src}") - # assertion1 (insert 4row) + # assertion1 (insert 6row) # 処理実行 target_dict = { @@ -633,7 +633,7 @@ class TestImportFileToDb: # 突合から除外する項目 ignore_columns = ['dwh_upd_dt'] # orgテーブル結果が期待値通りかを突合 - assert_table_results(result_org, assert_list, ignore_columns) + assert_table_results(result_org, assert_list, ignore_columns, is_loaddata=True) # srcテーブル結果を取得 result_src = self.db.execute_select(f"select * from {table_name_src}") # 突合から除外する項目 @@ -662,7 +662,7 @@ class TestImportFileToDb: # 突合から除外する項目 ignore_columns = ['dwh_upd_dt'] # orgテーブル結果が期待値通りかを突合 - assert_table_results(result_org, assert_list, ignore_columns) + assert_table_results(result_org, assert_list, ignore_columns, is_loaddata=True) # srcテーブル結果(orgテーブル結果のPK値で一致するもの)を取得 result_src = self.db.execute_select( f"select * from {table_name_src} where dwh_upd_dt > :dt_value", {"dt_value": assetion1_done_dt}) @@ -671,9 +671,9 @@ class TestImportFileToDb: # srcテーブル結果が期待値通りかを突合 assert_table_results(result_src, assert_list, ignore_columns) - # srcテーブル結果のレコード件数 (insert 4row + update 0row + insert 4row = 8row) ※PK項目がないテーブルなのですべてinsertになる + # srcテーブル結果のレコード件数 (insert 6row + update 0row + insert 4row = 10row) ※PK項目がないテーブルなのですべてinsertになる result_src_count = self.db.execute_select(f"select count(*) from {table_name_src} ") - assert result_src_count[0]['count(*)'] == 8 + assert result_src_count[0]['count(*)'] == 10 # teardown diff --git a/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/mkr_org_horizon_202304280000.tsv b/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/mkr_org_horizon_202304280000.tsv index 3755e224..a782e200 100644 --- a/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/mkr_org_horizon_202304280000.tsv +++ b/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/mkr_org_horizon_202304280000.tsv @@ -3,3 +3,5 @@ "3" "300003138" "北関東甲信越営業本部" "0" "3" "300003195" "首都圏移管組織" "0" "3" "300003195" "首都圏移管組織" "0" "3" "300003195" "首都圏移管組織" "0" "3" "300003195" "首都圏移管組織" "0" "3" "300003195" "首都圏移管組織" "0" "3" "300003195" "首都圏移管組織" "0" "3" "300003195" "首都圏移管組織" "0" "3" "300003195" "首都圏移管組織" "0" "3" "300003195" "首都圏移管組織" "0" "200000007" "20190401" "99991231" "0" "19-04-11 11:30:59" "23-04-12 17:52:38" "3" "300003202" "その他営業本部卸" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "200000007" "20190401" "99991231" "0" "19-04-11 11:30:59" "23-04-12 17:52:38" "a" "300003144" "メディカル営業本部1" "1" "b" "300003202" "東海スタッフ医療2" "2" "c" "300003203" "東海スタッフ医療3" "3" "d" "300003204" "東海スタッフ医療4" "4" "e" "300003205" "東海スタッフ医療5" "5" "f" "300003206" "東海スタッフ医療6" "6" "g" "300003207" "東海スタッフ医療7" "7" "h" "300003208" "東海スタッフ医療8" "8" "i" "300003209" "東海スタッフ医療9" "9" "j" "300003210" "東海スタッフ医療10" "10" "200000007" "20190401" "99991231" "0" "19-04-11 11:30:59" "23-04-12 17:52:38" +"1" "300003144" "" "1" "2" "300003202" "" "2" "c" "300003203" "" "3" "d" "300003204" "" "4" "e" "300003205" "" "5" "f" "300003206" "" "6" "g" "300003207" "" "7" "h" "300003208" "" "8" "i" "300003209" "" "9" "j" "300003210" "" "10" "200000007" "20190401" "99991231" "0" "19-04-11 11:30:59" "23-04-12 17:52:38" +"2" "300003144" "メディカル営業本部1" "1" "b" "300003202" "東海スタッフ医療2" "2" "c" "300003203" "東海スタッフ医療3" "3" "d" "300003204" "東海スタッフ医療4" "4" "e" "300003205" "東海スタッフ医療5" "5" "f" "300003206" "東海スタッフ医療6" "6" "g" "300003207" "東海スタッフ医療7" "7" "h" "300003208" "東海スタッフ医療8" "8" "i" "300003209" "東海スタッフ医療9" "9" "j" "300003210" "東海スタッフ医療10" "10" "200000007" "20190401" "99991231" "0" "19-04-11 11:30:59" "23-04-12 17:52:38" diff --git a/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/mkr_org_horizon_202304290000.tsv b/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/mkr_org_horizon_202304290000.tsv index 71f9d85b..7482316d 100644 --- a/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/mkr_org_horizon_202304290000.tsv +++ b/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/mkr_org_horizon_202304290000.tsv @@ -1,5 +1,5 @@ "vid_kind_1" "v_cd_1" "nm_1" "dsp_odr_1" "vid_kind_2" "v_cd_2" "nm_2" "dsp_odr_2" "vid_kind_3" "v_cd_3" "nm_3" "dsp_odr_3" "vid_kind_4" "v_cd_4" "nm_4" "dsp_odr_4" "vid_kind_5" "v_cd_5" "nm_5" "dsp_odr_5" "vid_kind_6" "v_cd_6" "nm_6" "dsp_odr_6" "vid_kind_7" "v_cd_7" "nm_7" "dsp_odr_7" "vid_kind_8" "v_cd_8" "nm_8" "dsp_odr_8" "vid_kind_9" "v_cd_9" "nm_9" "dsp_odr_9" "vid_kind_10" "v_cd_10" "nm_10" "dsp_odr_10" "v_whs_cd" "start_dt" "end_dt" "rec_sts_kbn" "ins_dt" "upd_dt" +"1" "300003144" "メディカル営業本部1" "1" "b" "300003202" "東海スタッフ医療2" "2" "c" "300003203" "東海スタッフ医療3" "3" "d" "300003204" "東海スタッフ医療4" "4" "e" "300003205" "東海スタッフ医療5" "5" "f" "300003206" "東海スタッフ医療6" "6" "g" "300003207" "東海スタッフ医療7" "7" "h" "300003208" "東海スタッフ医療8" "8" "i" "300003209" "東海スタッフ医療9" "9" "j" "300003210" "東海スタッフ医療10" "10" "200000007" "20190401" "99991231" "0" "19-04-11 11:30:59" "23-04-12 17:52:38" +"2" "300003144" "" "1" "2" "300003202" "" "2" "c" "300003203" "" "3" "d" "300003204" "" "4" "e" "300003205" "" "5" "f" "300003206" "" "6" "g" "300003207" "" "7" "h" "300003208" "" "8" "i" "300003209" "" "9" "j" "300003210" "" "10" "200000007" "20190401" "99991231" "0" "19-04-11 11:30:59" "23-04-12 17:52:38" "3" "300003202" "その他営業本部卸" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "200000007" "20190401" "99991231" "0" "19-04-11 11:30:59" "23-04-12 17:52:38" "3" "300003144" "メディカル営業本部" "0" "3" "300003201" "東海スタッフ医療" "0" "3" "300003201" "東海スタッフ医療" "0" "3" "300003201" "東海スタッフ医療" "0" "3" "300003201" "東海スタッフ医療" "0" "3" "300003201" "東海スタッフ医療" "0" "3" "300003201" "東海スタッフ医療" "0" "3" "300003201" "東海スタッフ医療" "0" "3" "300003201" "東海スタッフ医療" "0" "3" "300003201" "東海スタッフ医療" "0" "200000007" "20190401" "99991231" "0" "19-04-11 11:30:59" "23-04-12 17:52:38" -"3" "300003202" "その他営業本部卸" "0" "3" "300003224" "岐阜第二(回収)" "0" "3" "300003224" "岐阜第二(回収)" "0" "3" "300003224" "岐阜第二(回収)" "0" "3" "300003224" "岐阜第二(回収)" "0" "3" "300003224" "岐阜第二(回収)" "0" "3" "300003224" "岐阜第二(回収)" "0" "3" "300003224" "岐阜第二(回収)" "0" "3" "300003224" "岐阜第二(回収)" "0" "3" "300003224" "岐阜第二(回収)" "0" "200000007" "20190401" "99991231" "0" "19-04-11 11:30:59" "23-04-12 17:52:38" -"3" "300003143" "医薬営業統括本部" "0" "3" "300003196" "医薬その他" "0" "3" "300003196" "医薬その他" "0" "3" "300003196" "医薬その他" "0" "3" "300003196" "医薬その他" "0" "3" "300003196" "医薬その他" "0" "3" "300003196" "医薬その他" "0" "3" "300003196" "医薬その他" "0" "3" "300003196" "医薬その他" "0" "3" "300003196" "医薬その他" "0" "200000007" "20190401" "20190930" "0" "19-04-11 11:30:59" "23-04-12 17:52:38"