From e93c6c78f8261dd017716eb39e33522e855baa08 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Tue, 19 Sep 2023 21:15:32 +0900 Subject: [PATCH 01/14] =?UTF-8?q?fix:=20=E7=94=9F=E7=89=A9=E7=94=B1?= =?UTF-8?q?=E6=9D=A5Excel=E5=87=BA=E5=8A=9B=E3=81=A7=E3=80=81=E4=BB=A5?= =?UTF-8?q?=E4=B8=8B=E3=81=AE=E4=BF=AE=E6=AD=A3=E5=AF=BE=E5=BF=9C=E3=82=92?= =?UTF-8?q?=E5=AE=9F=E6=96=BD=20=E3=83=BBVeeva=E5=8D=B8=E3=82=B3=E3=83=BC?= =?UTF-8?q?=E3=83=89=E3=80=81Veeva=E5=8D=B8=E7=B5=84=E7=B9=94=E3=82=B3?= =?UTF-8?q?=E3=83=BC=E3=83=89=E3=80=81Veeva=E5=8F=96=E5=BC=95=E5=8C=BA?= =?UTF-8?q?=E5=88=86=E3=82=B3=E3=83=BC=E3=83=89=E3=81=8C=E6=95=B0=E5=80=A4?= =?UTF-8?q?=E5=9E=8B=E3=81=A7=E5=87=BA=E5=8A=9B=E3=81=95=E3=82=8C=E3=81=A6?= =?UTF-8?q?=E3=81=84=E3=81=9F=E3=81=AE=E3=82=92=E3=80=81=E6=96=87=E5=AD=97?= =?UTF-8?q?=E5=88=97=E5=9E=8B=E3=81=AB=E5=A4=89=E6=8F=9B=20=E3=83=BB?= =?UTF-8?q?=E5=87=BA=E5=8A=9B=E3=81=97=E3=81=9FExcel=E3=81=AB=E7=BD=AB?= =?UTF-8?q?=E7=B7=9A=E3=82=92=E5=BC=95=E3=81=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repositories/bio_sales_lot_repository.py | 6 +++--- .../src/services/bio_view_service.py | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py b/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py index 10c7cba3..ef10aa32 100644 --- a/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py +++ b/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py @@ -45,10 +45,10 @@ class BioSalesLotRepository(BaseRepository): inst_name_form, address, tel_num, - v_whs_cd, - v_whsorg_cd, + CAST(v_whs_cd AS CHAR) AS v_whs_cd, + CAST(v_whsorg_cd AS CHAR) AS v_whsorg_cd, whs_org_name, - v_tran_cd, + CAST(v_tran_cd AS CHAR) AS v_tran_cd, iko_flg FROM src05.bio_sales_lot diff --git a/ecs/jskult-webapp/src/services/bio_view_service.py b/ecs/jskult-webapp/src/services/bio_view_service.py index cf9961ac..45b80162 100644 --- a/ecs/jskult-webapp/src/services/bio_view_service.py +++ b/ecs/jskult-webapp/src/services/bio_view_service.py @@ -5,6 +5,7 @@ import shutil from datetime import datetime import pandas as pd +from openpyxl.styles.borders import Border, Side from src.aws.aws_api_client import AWSAPIClient from src.aws.s3 import S3Client @@ -155,9 +156,20 @@ class BioViewService(BaseService): data_frame_chunk_size = 2000 # 各部分データフレームのサイズ is_first = True # ループの初回 data_frame_range = len(data_frame) + side = Side(style='thin', color='000000') + border = Border(top=side, bottom=side, left=side, right=side) + # 出力したExcelに罫線を引く + workbook = writer.book + sheet = workbook['Sheet1'] + for row in sheet[f'A1:AK{i + data_frame_chunk_size}']: + for cell in row: + cell.border = border + + # 指定行数ごとにデータを分割して処理 for i in range(0, data_frame_range, data_frame_chunk_size): chunk_df = data_frame.iloc[i:i + data_frame_chunk_size] + start_row = i + 1 # 1回目の分割では、ヘッダ部分を上書きしないようにする if is_first: @@ -166,6 +178,13 @@ class BioViewService(BaseService): await loop.run_in_executor(None, functools.partial( chunk_df.to_excel, writer, header=False, index=False, startrow=start_row, startcol=0)) + # workbook = writer.book + # sheet = workbook['Sheet1'] + # side = Side(style='thin', color='000000') + # border = Border(top=side, bottom=side, left=side, right=side) + # for row in sheet[f'A1:AK{data_frame_range + 1}']: + # for cell in row: + # cell.border = border return output_file_path From d33519f83d84bc36657c4dfdd4cbba19e93e6385 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Tue, 19 Sep 2023 22:32:58 +0900 Subject: [PATCH 02/14] =?UTF-8?q?fix:=20Excel=E6=9B=B8=E3=81=8D=E5=87=BA?= =?UTF-8?q?=E3=81=97=E3=81=AB=E5=A4=B1=E6=95=97=E3=81=97=E3=81=A6=E3=81=84?= =?UTF-8?q?=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 --- ecs/jskult-webapp/src/services/bio_view_service.py | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/ecs/jskult-webapp/src/services/bio_view_service.py b/ecs/jskult-webapp/src/services/bio_view_service.py index 45b80162..3b320114 100644 --- a/ecs/jskult-webapp/src/services/bio_view_service.py +++ b/ecs/jskult-webapp/src/services/bio_view_service.py @@ -158,14 +158,13 @@ class BioViewService(BaseService): data_frame_range = len(data_frame) side = Side(style='thin', color='000000') border = Border(top=side, bottom=side, left=side, right=side) - # 出力したExcelに罫線を引く + # Excelに罫線を引く workbook = writer.book sheet = workbook['Sheet1'] - for row in sheet[f'A1:AK{i + data_frame_chunk_size}']: + for row in sheet[f'A1:AK{data_frame_chunk_size + 1}']: for cell in row: cell.border = border - # 指定行数ごとにデータを分割して処理 for i in range(0, data_frame_range, data_frame_chunk_size): chunk_df = data_frame.iloc[i:i + data_frame_chunk_size] @@ -178,13 +177,6 @@ class BioViewService(BaseService): await loop.run_in_executor(None, functools.partial( chunk_df.to_excel, writer, header=False, index=False, startrow=start_row, startcol=0)) - # workbook = writer.book - # sheet = workbook['Sheet1'] - # side = Side(style='thin', color='000000') - # border = Border(top=side, bottom=side, left=side, right=side) - # for row in sheet[f'A1:AK{data_frame_range + 1}']: - # for cell in row: - # cell.border = border return output_file_path From 1a8bf7f3bac9dc86f4b25e39530d6de7c9d7322e Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Tue, 19 Sep 2023 22:44:31 +0900 Subject: [PATCH 03/14] =?UTF-8?q?fix:=20=E7=BD=AB=E7=B7=9A=E3=81=8C?= =?UTF-8?q?=E9=80=94=E4=B8=AD=E3=81=A7=E5=88=87=E3=82=8C=E3=81=A6=E3=81=84?= =?UTF-8?q?=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 --- ecs/jskult-webapp/src/services/bio_view_service.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ecs/jskult-webapp/src/services/bio_view_service.py b/ecs/jskult-webapp/src/services/bio_view_service.py index 3b320114..719e90d4 100644 --- a/ecs/jskult-webapp/src/services/bio_view_service.py +++ b/ecs/jskult-webapp/src/services/bio_view_service.py @@ -153,18 +153,18 @@ class BioViewService(BaseService): # DF内のヘッダと連番を書き込みたくない場合、`header`と`index`をFalseに指定する。 # `startrow`と`startcol`で、Excelの書き込み位置を決定する。省略した場合はA1セルから書く。 - data_frame_chunk_size = 2000 # 各部分データフレームのサイズ - is_first = True # ループの初回 data_frame_range = len(data_frame) - side = Side(style='thin', color='000000') - border = Border(top=side, bottom=side, left=side, right=side) # Excelに罫線を引く workbook = writer.book sheet = workbook['Sheet1'] - for row in sheet[f'A1:AK{data_frame_chunk_size + 1}']: + side = Side(style='thin', color='000000') + border = Border(top=side, bottom=side, left=side, right=side) + for row in sheet[f'A1:AK{data_frame_range + 1}']: for cell in row: cell.border = border + data_frame_chunk_size = 2000 # 1回あたりの書き出し行数 + is_first = True # ループの初回 # 指定行数ごとにデータを分割して処理 for i in range(0, data_frame_range, data_frame_chunk_size): chunk_df = data_frame.iloc[i:i + data_frame_chunk_size] From 87f89621a9f3da55a6903cb424a41bbe3e7e1271 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Wed, 20 Sep 2023 00:20:56 +0900 Subject: [PATCH 04/14] =?UTF-8?q?fix:=20JSON=E3=81=A7=E8=A8=B1=E5=8F=AF?= =?UTF-8?q?=E3=81=95=E3=82=8C=E3=81=AA=E3=81=84Unicode=E5=88=B6=E5=BE=A1?= =?UTF-8?q?=E6=96=87=E5=AD=97=E5=88=97=E3=82=92=E3=83=95=E3=83=AD=E3=83=B3?= =?UTF-8?q?=E3=83=88=E5=81=B4=E3=81=A7=E5=A4=89=E6=8F=9B=E3=81=99=E3=82=8B?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecs/jskult-webapp/src/templates/bioSearchList.html | 3 ++- ecs/jskult-webapp/src/templates/docSearch.html | 3 ++- ecs/jskult-webapp/src/templates/instSearch.html | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ecs/jskult-webapp/src/templates/bioSearchList.html b/ecs/jskult-webapp/src/templates/bioSearchList.html index f0d47570..64fa09b5 100644 --- a/ecs/jskult-webapp/src/templates/bioSearchList.html +++ b/ecs/jskult-webapp/src/templates/bioSearchList.html @@ -370,7 +370,8 @@ // {% autoescape False%} // ジェネレータですこしずつ取得してリストに詰める // {% for bio_data_json_str in bio.bio_data_json_str() %} - searchResultData.push(...JSON.parse('{{bio_data_json_str}}')) + // unicode制御文字をエスケープしてからJSON.parseする + searchResultData.push(...JSON.parse('{{bio_data_json_str}}'.replace(/[\u0000-\u001F]+/g, " "))) // {% endfor %} // {% endautoescape%} // {% endif %} diff --git a/ecs/jskult-webapp/src/templates/docSearch.html b/ecs/jskult-webapp/src/templates/docSearch.html index c9e30752..6d50f29b 100644 --- a/ecs/jskult-webapp/src/templates/docSearch.html +++ b/ecs/jskult-webapp/src/templates/docSearch.html @@ -273,7 +273,8 @@ // {% autoescape False%} // ジェネレータですこしずつ取得してリストに詰める // {% for ultmarc_data_json_str in ultmarc.ultmarc_data_json_str() %} - searchResultData.push(...JSON.parse('{{ultmarc_data_json_str}}')) + // unicode制御文字をエスケープしてからJSON.parseする + searchResultData.push(...JSON.parse('{{ultmarc_data_json_str}}'.replace(/[\u0000-\u001F]+/g, " "))) // {% endfor %} // {% endautoescape%} // {% endif %} diff --git a/ecs/jskult-webapp/src/templates/instSearch.html b/ecs/jskult-webapp/src/templates/instSearch.html index d977dcae..2bb81667 100644 --- a/ecs/jskult-webapp/src/templates/instSearch.html +++ b/ecs/jskult-webapp/src/templates/instSearch.html @@ -257,7 +257,8 @@ // {% autoescape False%} // ジェネレータですこしずつ取得してリストに詰める // {% for ultmarc_data_json_str in ultmarc.ultmarc_data_json_str() %} - searchResultData.push(...JSON.parse('{{ultmarc_data_json_str}}')) + // unicode制御文字をエスケープしてからJSON.parseする + searchResultData.push(...JSON.parse('{{ultmarc_data_json_str}}'.replace(/[\u0000-\u001F]+/g, " "))) // {% endfor %} // {% endautoescape%} // {% endif %} From 714575c624cece041dd2e4e6a0c1ca57809b8315 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Wed, 20 Sep 2023 11:11:19 +0900 Subject: [PATCH 05/14] =?UTF-8?q?style:=20CAST=E3=81=97=E3=81=A6=E3=81=84?= =?UTF-8?q?=E3=82=8B=E7=90=86=E7=94=B1=E3=82=92=E3=82=B3=E3=83=A1=E3=83=B3?= =?UTF-8?q?=E3=83=88=E3=81=A7=E8=BF=BD=E8=A8=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py b/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py index ef10aa32..9a83be99 100644 --- a/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py +++ b/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py @@ -45,6 +45,7 @@ class BioSalesLotRepository(BaseRepository): inst_name_form, address, tel_num, + -- Excel出力のため、数値型のコード値を文字列として取得(Veeva卸コード、Veeva卸組織コード、Veeva取引区分コード) CAST(v_whs_cd AS CHAR) AS v_whs_cd, CAST(v_whsorg_cd AS CHAR) AS v_whsorg_cd, whs_org_name, From 088136d76c750d781e6eadfc25d6edc693c5ebc5 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Wed, 20 Sep 2023 15:08:50 +0900 Subject: [PATCH 06/14] =?UTF-8?q?feat:=20=E3=82=A8=E3=82=B9=E3=82=B1?= =?UTF-8?q?=E3=83=BC=E3=83=97=E3=82=92=E3=82=B7=E3=83=B3=E3=83=97=E3=83=AB?= =?UTF-8?q?=E3=81=AB=E3=81=99=E3=82=8B=E3=81=9F=E3=82=81=E3=81=AB=E3=80=81?= =?UTF-8?q?=E3=83=90=E3=83=83=E3=82=AF=E3=82=AF=E3=82=A9=E3=83=BC=E3=83=88?= =?UTF-8?q?=E3=81=A7=E5=9B=B2=E3=82=80=E3=82=88=E3=81=86=E3=81=AB=E3=81=97?= =?UTF-8?q?=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecs/jskult-webapp/src/model/view/bio_view_model.py | 6 +++--- .../src/model/view/ultmarc_doctor_search_view_model.py | 6 +++--- .../src/model/view/ultmarc_inst_search_view_model.py | 6 +++--- ecs/jskult-webapp/src/templates/bioSearchList.html | 2 +- ecs/jskult-webapp/src/templates/docSearch.html | 2 +- ecs/jskult-webapp/src/templates/instSearch.html | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ecs/jskult-webapp/src/model/view/bio_view_model.py b/ecs/jskult-webapp/src/model/view/bio_view_model.py index 7ad9e8cb..e5731c2d 100644 --- a/ecs/jskult-webapp/src/model/view/bio_view_model.py +++ b/ecs/jskult-webapp/src/model/view/bio_view_model.py @@ -62,9 +62,9 @@ class BioViewModel(BaseModel): part_size = 500 for i in range(0, search_data_len, part_size): json_str = json.dumps(search_data_list[i:i + part_size], ensure_ascii=False, default=date_handler) - # JavaScriptに埋め込むため、クォートをエスケープ - json_str = json_str.replace("'", "\\'") - json_str = json_str.replace('\\"', '\\\\"') + # JavaScriptに埋め込むため、バックスラッシュ、バッククォートをエスケープ + json_str = json_str.replace('\\', '\\\\') + json_str = json_str.replace("`", "\\`") yield json_str def make_whs_name(self): diff --git a/ecs/jskult-webapp/src/model/view/ultmarc_doctor_search_view_model.py b/ecs/jskult-webapp/src/model/view/ultmarc_doctor_search_view_model.py index cecfd77d..a3bfdd49 100644 --- a/ecs/jskult-webapp/src/model/view/ultmarc_doctor_search_view_model.py +++ b/ecs/jskult-webapp/src/model/view/ultmarc_doctor_search_view_model.py @@ -28,9 +28,9 @@ class UltmarcDoctorSearchViewModel(BaseModel): part_size = 50 for i in range(0, search_data_len, part_size): json_str = json.dumps(search_data_list[i:i + part_size], ensure_ascii=False, default=date_handler) - # JavaScriptに埋め込むため、クォートをエスケープ - json_str = json_str.replace("'", "\\'") - json_str = json_str.replace('\\"', '\\\\"') + # JavaScriptに埋め込むため、バックスラッシュ、バッククォートをエスケープ + json_str = json_str.replace('\\', '\\\\') + json_str = json_str.replace("`", "\\`") yield json_str # ページネーションのページ番号 diff --git a/ecs/jskult-webapp/src/model/view/ultmarc_inst_search_view_model.py b/ecs/jskult-webapp/src/model/view/ultmarc_inst_search_view_model.py index 2a5a0dd5..c8317400 100644 --- a/ecs/jskult-webapp/src/model/view/ultmarc_inst_search_view_model.py +++ b/ecs/jskult-webapp/src/model/view/ultmarc_inst_search_view_model.py @@ -30,9 +30,9 @@ class UltmarcInstSearchViewModel(BaseModel): part_size = 50 for i in range(0, search_data_len, part_size): json_str = json.dumps(search_data_list[i:i + part_size], ensure_ascii=False, default=date_handler) - # JavaScriptに埋め込むため、クォートをエスケープ - json_str = json_str.replace("'", "\\'") - json_str = json_str.replace('\\"', '\\\\"') + # JavaScriptに埋め込むため、バックスラッシュ、バッククォートをエスケープ + json_str = json_str.replace('\\', '\\\\') + json_str = json_str.replace("`", "\\`") yield json_str # ページネーションのページ番号 diff --git a/ecs/jskult-webapp/src/templates/bioSearchList.html b/ecs/jskult-webapp/src/templates/bioSearchList.html index 64fa09b5..c978a9df 100644 --- a/ecs/jskult-webapp/src/templates/bioSearchList.html +++ b/ecs/jskult-webapp/src/templates/bioSearchList.html @@ -371,7 +371,7 @@ // ジェネレータですこしずつ取得してリストに詰める // {% for bio_data_json_str in bio.bio_data_json_str() %} // unicode制御文字をエスケープしてからJSON.parseする - searchResultData.push(...JSON.parse('{{bio_data_json_str}}'.replace(/[\u0000-\u001F]+/g, " "))) + searchResultData.push(...JSON.parse(`{{bio_data_json_str}}`.replace(/[\u0000-\u001F]+/g, " "))) // {% endfor %} // {% endautoescape%} // {% endif %} diff --git a/ecs/jskult-webapp/src/templates/docSearch.html b/ecs/jskult-webapp/src/templates/docSearch.html index 6d50f29b..c8bd7609 100644 --- a/ecs/jskult-webapp/src/templates/docSearch.html +++ b/ecs/jskult-webapp/src/templates/docSearch.html @@ -274,7 +274,7 @@ // ジェネレータですこしずつ取得してリストに詰める // {% for ultmarc_data_json_str in ultmarc.ultmarc_data_json_str() %} // unicode制御文字をエスケープしてからJSON.parseする - searchResultData.push(...JSON.parse('{{ultmarc_data_json_str}}'.replace(/[\u0000-\u001F]+/g, " "))) + searchResultData.push(...JSON.parse(`{{ultmarc_data_json_str}}`.replace(/[\u0000-\u001F]+/g, " "))) // {% endfor %} // {% endautoescape%} // {% endif %} diff --git a/ecs/jskult-webapp/src/templates/instSearch.html b/ecs/jskult-webapp/src/templates/instSearch.html index 2bb81667..92f08e10 100644 --- a/ecs/jskult-webapp/src/templates/instSearch.html +++ b/ecs/jskult-webapp/src/templates/instSearch.html @@ -258,7 +258,7 @@ // ジェネレータですこしずつ取得してリストに詰める // {% for ultmarc_data_json_str in ultmarc.ultmarc_data_json_str() %} // unicode制御文字をエスケープしてからJSON.parseする - searchResultData.push(...JSON.parse('{{ultmarc_data_json_str}}'.replace(/[\u0000-\u001F]+/g, " "))) + searchResultData.push(...JSON.parse(`{{ultmarc_data_json_str}}`.replace(/[\u0000-\u001F]+/g, " "))) // {% endfor %} // {% endautoescape%} // {% endif %} From 12744406cf9ba7061b743dee213749abe94a307a Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Wed, 20 Sep 2023 16:22:21 +0900 Subject: [PATCH 07/14] =?UTF-8?q?feat:=20Excel=E3=81=AE=E7=BD=AB=E7=B7=9A?= =?UTF-8?q?=E3=82=92=E5=BC=95=E3=81=8F=E5=87=A6=E7=90=86=E3=82=92=E9=AB=98?= =?UTF-8?q?=E9=80=9F=E5=8C=96=E3=80=82=E8=A8=AD=E5=AE=9A=E6=B8=88=E3=81=BF?= =?UTF-8?q?=E3=81=AE=E6=9B=B8=E5=BC=8F=E3=82=92=E5=8F=8D=E6=98=A0=E3=81=95?= =?UTF-8?q?=E3=81=9B=E3=81=A6=E3=81=84=E3=81=8F=E6=96=B9=E5=BC=8F=E3=81=AB?= =?UTF-8?q?=E3=81=97=E3=81=9F=E3=80=82template=E3=81=AEExcel=E3=81=AEA2?= =?UTF-8?q?=E3=82=BB=E3=83=AB=E3=81=AB=E4=BA=88=E3=82=81=E8=A8=AD=E5=AE=9A?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/data/BioData_template.xlsx | Bin 10423 -> 10529 bytes .../src/services/bio_view_service.py | 9 ++++----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/ecs/jskult-webapp/src/data/BioData_template.xlsx b/ecs/jskult-webapp/src/data/BioData_template.xlsx index ec1575a2932f20bd823620b1001e6192ca7f420b..c548d30828ed6f81555c9211fc37a14aedde2297 100644 GIT binary patch delta 4053 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 Yq8DIh0$zCv08n4`_A3)DzQ1Pw0NHz0L;wH) delta 3876 zcmZ8k2T&8t)(xRZs3DXfqO^o2p@!BpN|X-L1O<$MfCAE@bfid;A}ti@ z3euY(O+xQT=p6(e&Oh^g|9iVLJ9lT!-krU7@0@$m^(u9XXJ|lLH-*dcfdGIA;R**B)y}4J~c`U*Vl{yhJV3{vbrVAOd?s=sRXQZyKK{8+M5E%1IL5i&SjJ3 z!3VkQK!BZIvZ*P&-o>~_!#={G8E%Z{z{CwS>Ph(N+i6J?+?_icnFD$EG(=&}ERd5c z4CThOEv=!0@VE-Z)dJ1%E zFLbds^oHGaV84A?3~EE^_0Xg%{pN-TAKeQQ2HKZ*q^=Q{3;Y3u$YA<&2(9#lop6$eW#Q;+bh&G}}rd`hh}Mpj9BnWogJq`ld0bVKCM3&0WRCoBCn z^FtPqZqzes4F{7ZwoEsu@%=!gWu{oVySu7WguPj&_q#4k;V*l^!%^Id0>kZVvt3=M z@rGu`F5QdZsDwVpSX~Vpi82f`{jBl;CLt`4+26LkV%;SWnC#gvvejWvwf=L{tF7aP z-%DL?KXG zPAfj6yt{JQ>xW1L@9>3e9*>{*(NP2Zq@Uh&6_JYzNEI8Or%W|!URQaCeA2(bN5?=3 zxt^hQ8#r))Y2-M~a@Bmb)a0A4g|zZp;MKi)*OD%O>6>dcfjW=~)6j>mT$Ra!8{W>| z&F%PGd3JfI!h~o?5xVKo8z#VUQun?1TL*7yRJ5i0GfR%c`vPuGHw|!eNAYrB7pfLl z{&Rsq0b(Q0&`1M8ibXkx4AcNXFTn@Gk9SFuWD8ywT2+B$7XqjbqqG9PY_49eI@$nabiWM-s1zyQXv}{~vX(>|2sxeD$tq$4NRf~+i_|oXS z$26ygq&w^EHV(+#LP$*ZGd=0PG^}NMwryLt+PgmlG3FaCnpZQtn;8lou75Z8DX&iE zH}) z55B!#gwmt8Tx-{W8gfSEgj+1gZV|clD8G*vK#Vj@!d$WPQr!z zCmasMt3S98eJ1BNrJxu~n9aFv74aO3*)$g1m9!Z)iygWRL7{|@boI(5 z)Q@|Dupdfe+sHiSrC)B2w@Q1P4wuOl{C89PK>r`8FOD}V z7@etF2AJ+DT$EWdy_1%|hqE=3bmq_}5nUj-?}i*?d*-1}`eUyQId>VGXeJ^Qbeg0w z7t};gx0ucqC!o7Z*H;FJ;oI6DLUT^t8U_KhgEplKt}Hqh>|ky9tE z*wmr7+{S4=fY!XcndjBk=@C5+~-c6R|SWk8f^emYS|owhxUb*K&_gypsiTVT25ov`Q{&? z4iakEF>hC^=FiX^>{zrFc=rSN(-Ddm=QqZ(TvrRM)<#YtKcdk)`>f_JY8+#~9l0 zegag#>wO^UYpoFs&&~J;QlcOFSG(U%TNC2b*$)GM%E!H8*%D2#d{y5OOzZz%Q|h)Q z+?tI*;J64;?y_93iBegttr4#AS%2bwN=fYEh`)fB*<{lzIS&bn0RUh;kBYaWguBNx z$4Bns-cF9S*l}l)3|l=0T*@$4^xOgnX2m+xiqZ@i1EgB_H7W50D z@Clq?yHrd;8C-ks<-`K}Q}nOsv26dvvT_NSp2Fl|k3{d>Gcz|2)%TC}V6qAz$qatN zO+0HS)tN`abCvKiK7OGGbcs`pg9nE@Bp1O^N7*`KU3)N!Hf8F))JnGUE4Za^nIIMrYWcXW2QT-uP*tmUv?!_r#Le@xoo z4I78;@r$baDnlS)LJQEVCsf((d2X9v_)HUZ*_>FVzu5=RCRv`*hM@aoJbJu$+Dn*( zma|%;z=~&fq=U$MLO{muA&*8oyd}V>WWGb`?E_OpKd11!Wta_4gnC-$=2M87y6u%8 zLJ$TK3)UUhszp<{>E#O;S*3^`e;~@Y^%(W0r7gs1jElaoQ+N?N)Rr3Na~5P_Z^o

W z-j?m@5oN9IFvt-X-vjk#bCnj7hg()?YV5;@Qh8>-D$jWsGkwgIiED&P_gemX>yFC1p#0p}@ z%koPw6IW5aEOF7_-Q^+8Q6sU6*XQV;=jLJ1$w%~cM!wA42VrvU5E;Y4B%6t(9HdLF zY;A5nnf{e+vKd6l8b+C)Ec3JumXkm0n~Gz}8Z33=h|LT_Gj$rt)6WOFQA}J|MELVu3%y6hWi0}%KsmAkTN%-c-t z$IJ#MLy0u@AUgYEPLWjCqefL)&p(T(NJlA$z|Y$9PGn~XhZ`>ijs+8=N3M4lB<#z? z;I(?SCj6F+y5Fvr>Y+M$kDCkmHnI=5_$S`adzD$vf;%}DBd+@Tj|p` z@RHbP@!+%%(UIFo7o*lpa$y`XFuB(#nckch>-&2srOQi~;q7zlxrWeY1sk7dB{fzx z0jr>%3bs`04)E!|`m1vKRd84$mXLb?l;Ur)K*P!Qx3bQ2Bt|Ub<)ye7Q{sFsHiGwo zei!_GG;bmT8q+x0w89t|39EdU@z*?$pPg+kwh9c+7Z%2FsFY1SvQpAe4d^)-t9BA} zMn3FSdIN)e;TBz&Wc3N3(QClxV80lt}UW>XqK)iRha zhc$B5ZY|WS-Q7~SCjncdHH$dBFHIB5=i1kQ7Q8Uw;k)Tfbm274@4csgA5ZzcasW9* z#p8FYJuc-Nrad<|-udl4fNHg+;0oZS3@id+a(zw( zvMO-?v;G{_a&bP3o=EBX@5VaA3UfN1e4UUnj_t({!)p5y zYr(xmi%{Z@N{6;muE^n5_bzJ;h@FVLA`c{J3chCiM-I{e0L+AGK{kS-5I12!kPBD< zB5VkXasSh9LjVBIa}xb`OwtoxLbwPF!lFPv7J{rWocn(X_g`!?lu#+eb6&k%!1PN5 zJ_Zg#m=M_HpBg^bqb&b|&n@z0008G=t>fnM#9hML#qH5w%GS}K03rZv02%=8IfM`J y&-Xg#c<_H6uP0Oq3lPkNxey5g|KE|PyN8R@|GA<*e=q<*e?GsR-#!KZyZaCCvl^cO diff --git a/ecs/jskult-webapp/src/services/bio_view_service.py b/ecs/jskult-webapp/src/services/bio_view_service.py index 719e90d4..28a96621 100644 --- a/ecs/jskult-webapp/src/services/bio_view_service.py +++ b/ecs/jskult-webapp/src/services/bio_view_service.py @@ -5,7 +5,6 @@ import shutil from datetime import datetime import pandas as pd -from openpyxl.styles.borders import Border, Side from src.aws.aws_api_client import AWSAPIClient from src.aws.s3 import S3Client @@ -157,11 +156,11 @@ class BioViewService(BaseService): # Excelに罫線を引く workbook = writer.book sheet = workbook['Sheet1'] - side = Side(style='thin', color='000000') - border = Border(top=side, bottom=side, left=side, right=side) - for row in sheet[f'A1:AK{data_frame_range + 1}']: + # A2セルに罫線の書式を設定しておき、同じ書式を設定する + formatted_cell = sheet['A2'] + for row in sheet[f'A2:AK{data_frame_range + 1}']: for cell in row: - cell.border = border + cell._style = formatted_cell._style data_frame_chunk_size = 2000 # 1回あたりの書き出し行数 is_first = True # ループの初回 From dbc9ac9f6da67681e611ffd0d9736ca4adf68540 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Wed, 20 Sep 2023 18:49:02 +0900 Subject: [PATCH 08/14] =?UTF-8?q?fix:=20=E5=87=BA=E5=8A=9B=E3=83=87?= =?UTF-8?q?=E3=83=BC=E3=82=BF=E3=81=AE=E5=BD=A2=E5=BC=8F=E3=81=8C=E3=81=8A?= =?UTF-8?q?=E3=81=8B=E3=81=97=E3=81=8F=E3=81=AA=E3=82=8B=E3=81=9F=E3=82=81?= =?UTF-8?q?=E3=80=81=E6=9B=B8=E5=BC=8F=E3=81=AF=E3=82=B3=E3=83=94=E3=83=BC?= =?UTF-8?q?=E3=81=97=E3=80=81=E5=85=83=E3=81=AE=E6=9B=B8=E5=BC=8F=E3=81=AF?= =?UTF-8?q?=E6=96=87=E5=AD=97=E5=88=97=E3=81=A7=E3=81=AF=E3=81=AA=E3=81=8F?= =?UTF-8?q?=E6=A8=99=E6=BA=96=E3=81=AB=E3=81=97=E3=81=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/data/BioData_template.xlsx | Bin 10529 -> 10525 bytes .../src/services/bio_view_service.py | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ecs/jskult-webapp/src/data/BioData_template.xlsx b/ecs/jskult-webapp/src/data/BioData_template.xlsx index c548d30828ed6f81555c9211fc37a14aedde2297..4d5717acd6b45484ea41e9fb6d64de02f3879146 100644 GIT binary patch delta 2672 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 E0Q@rcegFUf diff --git a/ecs/jskult-webapp/src/services/bio_view_service.py b/ecs/jskult-webapp/src/services/bio_view_service.py index 28a96621..88d28b50 100644 --- a/ecs/jskult-webapp/src/services/bio_view_service.py +++ b/ecs/jskult-webapp/src/services/bio_view_service.py @@ -2,6 +2,7 @@ import asyncio import functools import os import shutil +from copy import copy from datetime import datetime import pandas as pd @@ -160,7 +161,7 @@ class BioViewService(BaseService): formatted_cell = sheet['A2'] for row in sheet[f'A2:AK{data_frame_range + 1}']: for cell in row: - cell._style = formatted_cell._style + cell._style = copy(formatted_cell._style) data_frame_chunk_size = 2000 # 1回あたりの書き出し行数 is_first = True # ループの初回 From 39398b68633117dfed02f8a9ad354f788862bd41 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Mon, 25 Sep 2023 11:34:14 +0900 Subject: [PATCH 09/14] =?UTF-8?q?feat:=20Excel=E3=81=AE=E7=BD=AB=E7=B7=9A?= =?UTF-8?q?=E3=82=92=E5=BC=95=E3=81=8B=E3=81=AA=E3=81=84=E3=82=88=E3=81=86?= =?UTF-8?q?=E3=81=AB=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/data/BioData_template.xlsx | Bin 10525 -> 10519 bytes .../src/services/bio_view_service.py | 10 ---------- 2 files changed, 10 deletions(-) diff --git a/ecs/jskult-webapp/src/data/BioData_template.xlsx b/ecs/jskult-webapp/src/data/BioData_template.xlsx index 4d5717acd6b45484ea41e9fb6d64de02f3879146..3b9fb03aa1f154de5b9f2cb5c9b8ba794cd41bb3 100644 GIT binary patch delta 3418 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 delta 3402 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 diff --git a/ecs/jskult-webapp/src/services/bio_view_service.py b/ecs/jskult-webapp/src/services/bio_view_service.py index 88d28b50..553ab359 100644 --- a/ecs/jskult-webapp/src/services/bio_view_service.py +++ b/ecs/jskult-webapp/src/services/bio_view_service.py @@ -2,7 +2,6 @@ import asyncio import functools import os import shutil -from copy import copy from datetime import datetime import pandas as pd @@ -154,15 +153,6 @@ class BioViewService(BaseService): # `startrow`と`startcol`で、Excelの書き込み位置を決定する。省略した場合はA1セルから書く。 data_frame_range = len(data_frame) - # Excelに罫線を引く - workbook = writer.book - sheet = workbook['Sheet1'] - # A2セルに罫線の書式を設定しておき、同じ書式を設定する - formatted_cell = sheet['A2'] - for row in sheet[f'A2:AK{data_frame_range + 1}']: - for cell in row: - cell._style = copy(formatted_cell._style) - data_frame_chunk_size = 2000 # 1回あたりの書き出し行数 is_first = True # ループの初回 # 指定行数ごとにデータを分割して処理 From 9d9ece366d9243b53440b0de15cc5b6210f95a38 Mon Sep 17 00:00:00 2001 From: Takagi Date: Thu, 28 Sep 2023 10:00:23 +0900 Subject: [PATCH 10/14] =?UTF-8?q?feat:=20#138=20DSP=E8=96=AC=E5=B1=80?= =?UTF-8?q?=E3=83=87=E3=83=BC=E3=82=BF=E3=81=AE=E4=BD=8F=E6=89=80=E3=82=AB?= =?UTF-8?q?=E3=82=A6=E3=83=B3=E3=83=88=E3=81=8C=EF=BC=98=E6=A1=81=E3=81=AB?= =?UTF-8?q?=E3=81=AA=E3=81=A3=E3=81=A6=E3=81=84=E3=81=AA=E3=81=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/batch/ultmarc/utmp_tables/tables/com_dr.py | 4 ++-- .../batch/ultmarc/utmp_tables/tables/com_pharm.py | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_dr.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_dr.py index 0377774a..6023d6f5 100644 --- a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_dr.py +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_dr.py @@ -143,9 +143,9 @@ class ComDr(UltmarcTable): # 住所(町字)コード self.addr_village_cd = ''.join([self.pref_code, self.city_code, self.addr_code1, self.addr_code2]) # 住所カウントカナ - self.addr_cnt_kana = ''.join([self.dr_addr_kana_cnt1, self.dr_addr_kana_cnt2, self.dr_addr_kana_cnt3, self.dr_addr_kana_cnt4]) + self.addr_cnt_kana = ''.join([self.dr_addr_kana_cnt1.zfill(2), self.dr_addr_kana_cnt2.zfill(2), self.dr_addr_kana_cnt3.zfill(2), self.dr_addr_kana_cnt4.zfill(2)]) # 住所カウント - self.addr_cnt = ''.join([self.dr_addr_kanj_cnt1, self.dr_addr_kanj_cnt2, self.dr_addr_kanj_cnt3, self.dr_addr_kanj_cnt4]) + self.addr_cnt = ''.join([self.dr_addr_kanj_cnt1.zfill(2), self.dr_addr_kanj_cnt2.zfill(2), self.dr_addr_kanj_cnt3.zfill(2), self.dr_addr_kanj_cnt4.zfill(2)]) # 相手先重複コード self.opp_dup_code = ''.join([self.reptdr_id, self.reptdr_code, self.reptdr_yobi]) diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_pharm.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_pharm.py index 977e8f0b..25e2887f 100644 --- a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_pharm.py +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_pharm.py @@ -108,6 +108,18 @@ class ComPharm(UltmarcTable): self.franchise_hq_code = record[46] self.franchise_hq_yobi = record[47] + # 住所カウント_漢字の0埋め + self.addrkanacnt1 = self.addrkanacnt1.zfill(2) + self.addrkanacnt2 = self.addrkanacnt2.zfill(2) + self.addrkanacnt3 = self.addrkanacnt3.zfill(2) + self.addrkanacnt4 = self.addrkanacnt4.zfill(2) + + # 住所カウント_カナの0埋め + self.addrkanjcnt1 = self.addrkanjcnt1.zfill(2) + self.addrkanjcnt2 = self.addrkanjcnt2.zfill(2) + self.addrkanjcnt3 = self.addrkanjcnt3.zfill(2) + self.addrkanjcnt4 = self.addrkanjcnt4.zfill(2) + # 施設コード(2+3+4) self.dcfdsf_inst_cd = ''.join([self.dcfhp_id, self.dcfhp_cd, self.dcfhp_yobi]) From f85274942c1479cf94ab1435dd950e39a388fa7b Mon Sep 17 00:00:00 2001 From: "x.azuma.m@nds-tyo.co.jp" Date: Fri, 29 Sep 2023 09:57:09 +0900 Subject: [PATCH 11/14] =?UTF-8?q?V=E6=96=BD=E8=A8=AD=E3=83=9E=E3=82=B9?= =?UTF-8?q?=E3=82=BF=E3=81=AEins=5Fdt,=20upd=5Fdt=E3=81=AFdatetime?= =?UTF-8?q?=E3=81=A7=E3=81=AF=E3=81=AA=E3=81=8Fvarchar=E3=81=AA=E3=81=AE?= =?UTF-8?q?=E3=81=A7=E3=80=81nullif=E3=82=92=E3=81=AF=E3=81=8C=E3=81=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/batch/vjsk/vjsk_recv_file_mapper.py | 4 ++-- 1 file changed, 2 insertions(+), 2 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 905691a2..a3377b40 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 @@ -743,8 +743,8 @@ class VjskReceiveFileMapper: ,medaca_common.convert_empty_to_null(t.admin_kbn) ,medaca_common.convert_empty_to_null(t.fcl_type) ,t.rec_sts_kbn - ,nullif(t.ins_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する - ,nullif(t.upd_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する + ,medaca_common.convert_empty_to_null(t.ins_dt) -- (留意)fcm_mst_vではvarchar型 + ,medaca_common.convert_empty_to_null(t.upd_dt) -- (留意)fcm_mst_vではvarchar型 ,SYSDATE() FROM org05.fcl_mst_v AS t ON DUPLICATE KEY UPDATE From cb9c19d58d20ea46ebadaf2db26a8a7d81fddf42 Mon Sep 17 00:00:00 2001 From: "x.azuma.m@nds-tyo.co.jp" Date: Fri, 29 Sep 2023 11:49:11 +0900 Subject: [PATCH 12/14] =?UTF-8?q?fcl=5Fmst=5Fv.ins=5Fdt=E3=80=81fcl=5Fmst?= =?UTF-8?q?=5Fv.upd=5Fdt=E3=80=81=E3=81=AB=E5=80=A4=E3=81=8C=E3=81=82?= =?UTF-8?q?=E3=82=8B=E3=83=90=E3=83=AA=E3=82=A8=E3=83=BC=E3=82=B7=E3=83=A7?= =?UTF-8?q?=E3=83=B3=E3=82=92=E3=83=86=E3=82=B9=E3=83=88=E3=82=B3=E3=83=BC?= =?UTF-8?q?=E3=83=89=E3=81=AB=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tests/batch/vjsk/vjsk_load/test_vjsk_load.py | 4 ++-- .../batch/vjsk/vjsk_load/testdata/fcl_mst_202304280000.tsv | 2 +- ecs/jskult-batch-daily/tests/testing_vjsk_utility.py | 2 ++ 3 files changed, 5 insertions(+), 3 deletions(-) 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 d40550ce..cdb77970 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 @@ -564,7 +564,7 @@ class TestImportFileToDb: # 突合から除外する項目 ignore_columns = ['dwh_upd_dt'] # 日付型に変換して比較する項目 - force_cast_to_str_columns = ['closed_dt'] + force_cast_to_str_columns = ['closed_dt', 'ins_dt', 'upd_dt'] # orgテーブル結果が期待値通りかを突合 assert_table_results(result_org, assert_list, ignore_columns, force_cast_to_str_columns, is_loaddata=True) # srcテーブル結果を取得 @@ -572,7 +572,7 @@ class TestImportFileToDb: # 突合から除外する項目 ignore_columns = ['dwh_upd_dt'] # 日付型に変換して比較する項目 - force_cast_to_str_columns = ['closed_dt'] + force_cast_to_str_columns = ['closed_dt', 'ins_dt', 'upd_dt'] # srcテーブル結果が期待値通りかを突合 assert_table_results(result_src, assert_list, ignore_columns, force_cast_to_str_columns) diff --git a/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/fcl_mst_202304280000.tsv b/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/fcl_mst_202304280000.tsv index 705bfe65..0d97de4d 100644 --- a/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/fcl_mst_202304280000.tsv +++ b/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/fcl_mst_202304280000.tsv @@ -1,5 +1,5 @@ "fcl_cd" "sub_no" "start_dt" "end_dt" "closed_dt" "nm" "kn_nm" "sht_nm" "sht_kn_nm" "mkr_cd" "jsk_proc_kbn" "fmt_addr" "fmt_kn_addr" "post_cd" "prft_cd" "prft_nm" "city_nm" "addr_line_1" "tel_no" "admin_kbn" "fcl_type" "rec_sts_kbn" "ins_dt" "upd_dt" -"670229430760653825" "0" "20000101" "99991231" "" "駅前町歯科診療所" "エキマエチョウシカシンリョウジョ" "駅前町歯科診療所" "エキマエチョウシカシンリョウジョ" "" "0" "700-0023 岡山県岡山市北区駅前町1−6−20" "オカヤマケン オカヤマシキタク エキマエチョウ1-6-20" "700-0023" "33" "岡山県" "岡山市北区" "駅前町1−6−20" "0862236468" "33101" "30" "1" "" "" +"670229430760653825" "0" "20000101" "99991231" "" "駅前町歯科診療所" "エキマエチョウシカシンリョウジョ" "駅前町歯科診療所" "エキマエチョウシカシンリョウジョ" "" "0" "700-0023 岡山県岡山市北区駅前町1−6−20" "オカヤマケン オカヤマシキタク エキマエチョウ1-6-20" "700-0023" "33" "岡山県" "岡山市北区" "駅前町1−6−20" "0862236468" "33101" "30" "1" "2023-09-29 09:43:55" "2023-09-29 09:48:44" "670229435466662922" "0" "20000101" "99991231" "" "医療法人社団仁卓会 ほりかわ歯科クリニック" "イリョウホウジンシャダンジンタクカイ ホリカワシカクリニック" "ほりかわ歯科クリニック (医社)" "ホリカワシカクリニック (イシャ)" "" "0" "675-0101 兵庫県加古川市平岡町新在家1573−1−4F" "ヒョウゴケン カコガワシ ヒラオカチョウシンザイケ1573-1-4F" "675-0101" "28" "兵庫県" "加古川市" "平岡町新在家1573−1−4F" "0794244617" "28210" "30" "1" "" "" "670229435785430019" "0" "20000101" "99991231" "" "株式会社コミュニティメディカル なつめ薬局 千歳船橋店" "カブシキガイシャコミュニティメディカル ナツメヤッキョク チトセフナバシテン" "なつめ薬局 千歳船橋店 (株)" "ナツメヤッキョク チトセフナバシテン (カ)" "" "0" "156-0054 東京都世田谷区桜丘2−24−2" "トウキョウト セタガヤク サクラガオカ2-24-2" "156-0054" "13" "東京都" "世田谷区" "桜丘2−24−2" "0364136189" "13112" "20" "1" "" "" "670229447437206529" "0" "20000101" "20230407" "2023-04-07" "ヒカリ薬局" "ヒカリヤッキョク" "ヒカリ薬局" "ヒカリヤッキョク" "" "0" "670-0955 兵庫県姫路市安田4−47−8−1F" "ヒョウゴケン ヒメジシ ヤスダ4-47-8-1F" "670-0955" "28" "兵庫県" "姫路市" "安田4−47−8−1F" "0792846396" "28201" "20" "1" "" "" diff --git a/ecs/jskult-batch-daily/tests/testing_vjsk_utility.py b/ecs/jskult-batch-daily/tests/testing_vjsk_utility.py index c93ba52d..dbbeb1c2 100644 --- a/ecs/jskult-batch-daily/tests/testing_vjsk_utility.py +++ b/ecs/jskult-batch-daily/tests/testing_vjsk_utility.py @@ -93,6 +93,8 @@ def assert_table_results(actual_rows: list[dict], expect_rows: list[dict], ignor # DB項目(varchar)に日付型としてキャスト可能な値が期待値である場合、force_cast_to_str_columnsに基づいて強制的に文字列キャストする if type(expect_value).__name__ == 'date': expect_value = expect_value.strftime('%Y-%m-%d') + elif type(expect_value).__name__ == 'datetime': + expect_value = expect_value.strftime('%Y-%m-%d %H:%M:%S') elif not is_loaddata and expect_value == "": expect_value = None elif isinstance(actual_value, (int)): From c5ecf3b3204883f9f004ade287187c7f97e8fcca Mon Sep 17 00:00:00 2001 From: "x.azuma.m@nds-tyo.co.jp" Date: Fri, 29 Sep 2023 13:14:31 +0900 Subject: [PATCH 13/14] =?UTF-8?q?Asert=E3=81=99=E3=82=8B=E3=83=87=E3=83=BC?= =?UTF-8?q?=E3=82=BF=E3=81=AE=E4=B8=A6=E3=81=B3=E9=A0=86=E3=81=8C=E3=81=9A?= =?UTF-8?q?=E3=82=8C=E3=81=A6=E6=AD=A3=E3=81=97=E3=81=8F=E5=8B=95=E4=BD=9C?= =?UTF-8?q?=E3=81=97=E3=81=AA=E3=81=84=E3=81=AE=E3=81=A7=E3=80=81=E4=B8=A6?= =?UTF-8?q?=E3=81=B3=E9=A0=86=E3=82=92=E5=9B=BA=E5=AE=9A=E3=81=AB=E3=81=99?= =?UTF-8?q?=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tests/batch/vjsk/vjsk_load/test_vjsk_load.py | 4 ++-- .../vjsk/vjsk_load/testdata/lot_num_mst_202304290000.tsv | 4 ++-- .../vjsk/vjsk_load/testdata/whs_customer_mst_202304290000.tsv | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) 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 cdb77970..de7ddcb3 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 @@ -895,7 +895,7 @@ class TestImportFileToDb: # orgテーブル結果が期待値通りかを突合 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}") + result_src = self.db.execute_select(f"select * from {table_name_src} order by customer_cd") # 突合から除外する項目 ignore_columns = ['dwh_upd_dt'] # srcテーブル結果が期待値通りかを突合 @@ -1085,7 +1085,7 @@ class TestImportFileToDb: # orgテーブル結果が期待値通りかを突合 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}") + result_src = self.db.execute_select(f"select * from {table_name_src} order by ser_num, lot_num") # 突合から除外する項目 ignore_columns = ['dwh_upd_dt'] # srcテーブル結果が期待値通りかを突合 diff --git a/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/lot_num_mst_202304290000.tsv b/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/lot_num_mst_202304290000.tsv index bdcbd308..da441c96 100644 --- a/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/lot_num_mst_202304290000.tsv +++ b/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/lot_num_mst_202304290000.tsv @@ -1,5 +1,5 @@ "ser_no" "lot_num" "expr_dt" "frst_mov_dt" "ins_dt" "ins_usr" -"F0110602" "BAVA001" "20231031" "20210719" "23-05-08 20:40:41" "batch" -"F0110602" "BAVA002" "20231031" "20210823" "23-05-08 20:40:41" "" "F0110601" "BAVA005" "20231031" "20210927" "23-05-08 20:40:41" "batch" "F0110601" "BAVA006" "20240131" "20211025" "23-05-08 20:40:41" "batch" +"F0110602" "BAVA001" "20231031" "20210719" "23-05-08 20:40:41" "batch" +"F0110602" "BAVA002" "20231031" "20210823" "23-05-08 20:40:41" "" diff --git a/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/whs_customer_mst_202304290000.tsv b/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/whs_customer_mst_202304290000.tsv index 3b15a520..e31cf296 100644 --- a/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/whs_customer_mst_202304290000.tsv +++ b/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/whs_customer_mst_202304290000.tsv @@ -1,5 +1,5 @@ "whs_cd" "whs_sub_cd" "customer_cd" "sub_no" "start_dt" "end_dt" "org_cd" "src_org_cd" "nm" "kn_nm" "addr" "kn_addr" "zip_cd" "tel_no" "rec_sts_kbn" "ins_dt" "upd_dt" -"006" "01" "1009200000" "0" "20000101" "99991231" "11" "1121A2224212" "山口医院2                  " "ヤマグチイイン" "長崎県 佐世保市春日町29−14                " "ナガサキケン サセボシカスガチヨウ29-14" "8570011" "0956228610" "0" "23-04-14 11:53:14" "23-04-14 11:53:14" -"006" "01" "1009300000" "0" "20000101" "99991231" "" "" "" "" "" "" "" "" "0" "23-04-14 11:53:14" "23-04-14 11:53:14" "006" "01" "1008000000" "0" "20000101" "99991231" "11" "1131A2283316" "北原整形外科医院2              " "キタハラセイケイゲカ イイン" "長崎県 佐世保市瀬戸越町4丁目1298−1           " "ナガサキケン サセボシセトゴシチヨウ 1298-1" "8570135" "0956497773" "0" "23-04-14 11:53:14" "23-04-14 11:53:14" "006" "01" "1009100000" "0" "20000101" "99991231" "11" "1121A2224212" "山口医院2                  " "ヤマグチイイン" "長崎県 佐世保市春日町29−14                " "ナガサキケン サセボシカスガチヨウ29-14" "8570011" "0956228610" "0" "23-04-14 11:53:14" "23-04-14 11:53:14" +"006" "01" "1009200000" "0" "20000101" "99991231" "11" "1121A2224212" "山口医院2                  " "ヤマグチイイン" "長崎県 佐世保市春日町29−14                " "ナガサキケン サセボシカスガチヨウ29-14" "8570011" "0956228610" "0" "23-04-14 11:53:14" "23-04-14 11:53:14" +"006" "01" "1009300000" "0" "20000101" "99991231" "" "" "" "" "" "" "" "" "0" "23-04-14 11:53:14" "23-04-14 11:53:14" From 2c77230215307bc8b4c1b4c7512abb17c5f064bb Mon Sep 17 00:00:00 2001 From: "x.azuma.m@nds-tyo.co.jp" Date: Fri, 29 Sep 2023 13:41:51 +0900 Subject: [PATCH 14/14] =?UTF-8?q?MySQL8.0.20=E4=BB=A5=E9=99=8D=E3=80=81?= =?UTF-8?q?=E9=9D=9E=E6=8E=A8=E5=A5=A8=E3=81=A8=E3=81=AA=E3=81=A3=E3=81=9F?= =?UTF-8?q?=20VALUES()=20=E3=81=AE=E9=99=A4=E5=8E=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/batch/vjsk/vjsk_recv_file_mapper.py | 694 +++++++++--------- 1 file changed, 347 insertions(+), 347 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 a3377b40..5087eae9 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 @@ -211,89 +211,89 @@ class VjskReceiveFileMapper: ,SYSDATE() FROM org05.sales AS t ON DUPLICATE KEY UPDATE - rec_data=VALUES(rec_data) - ,rec_whs_cd=VALUES(rec_whs_cd) - ,rec_whs_sub_cd=VALUES(rec_whs_sub_cd) - ,rec_whs_org_cd=VALUES(rec_whs_org_cd) - ,rec_cust_cd=VALUES(rec_cust_cd) - ,rec_comm_cd=VALUES(rec_comm_cd) - ,rec_tran_kbn=VALUES(rec_tran_kbn) - ,rev_hsdnymd_wrk=VALUES(rev_hsdnymd_wrk) - ,rev_hsdnymd_srk=VALUES(rev_hsdnymd_srk) - ,rec_urag_num=VALUES(rec_urag_num) - ,rec_qty=VALUES(rec_qty) - ,rec_nonyu_price=VALUES(rec_nonyu_price) - ,rec_nonyu_amt=VALUES(rec_nonyu_amt) - ,rec_comm_name=VALUES(rec_comm_name) - ,rec_nonyu_fcl_name=VALUES(rec_nonyu_fcl_name) - ,free_item=VALUES(free_item) - ,rec_nonyu_fcl_addr=VALUES(rec_nonyu_fcl_addr) - ,rec_nonyu_fcl_post=VALUES(rec_nonyu_fcl_post) - ,rec_nonyu_fcl_tel=VALUES(rec_nonyu_fcl_tel) - ,rec_bef_hsdn_ymd=VALUES(rec_bef_hsdn_ymd) - ,rec_bef_slip_num=VALUES(rec_bef_slip_num) - ,rec_ymd=VALUES(rec_ymd) - ,sale_data_cat=VALUES(sale_data_cat) - ,slip_file_name=VALUES(slip_file_name) - ,slip_mgt_num=VALUES(slip_mgt_num) - ,row_num=VALUES(row_num) - ,hsdn_ymd=VALUES(hsdn_ymd) - ,exec_dt=VALUES(exec_dt) - ,v_tran_cd=VALUES(v_tran_cd) - ,tran_kbn_name=VALUES(tran_kbn_name) - ,whs_org_cd=VALUES(whs_org_cd) - ,v_whsorg_cd=VALUES(v_whsorg_cd) - ,whs_org_name=VALUES(whs_org_name) - ,whs_org_kn=VALUES(whs_org_kn) - ,v_whs_cd=VALUES(v_whs_cd) - ,whs_name=VALUES(whs_name) - ,nonyu_fcl_cd=VALUES(nonyu_fcl_cd) - ,v_inst_cd=VALUES(v_inst_cd) - ,v_inst_kn=VALUES(v_inst_kn) - ,v_inst_name=VALUES(v_inst_name) - ,v_inst_addr=VALUES(v_inst_addr) - ,comm_cd=VALUES(comm_cd) - ,comm_name=VALUES(comm_name) - ,nonyu_qty=VALUES(nonyu_qty) - ,nonyu_price=VALUES(nonyu_price) - ,nonyu_amt=VALUES(nonyu_amt) - ,shikiri_price=VALUES(shikiri_price) - ,shikiri_amt=VALUES(shikiri_amt) - ,nhi_price=VALUES(nhi_price) - ,nhi_amt=VALUES(nhi_amt) - ,whspos_err_kbn=VALUES(whspos_err_kbn) - ,htdnymd_err_kbn=VALUES(htdnymd_err_kbn) - ,prd_exis_kbn=VALUES(prd_exis_kbn) - ,fcl_exis_kbn=VALUES(fcl_exis_kbn) - ,bef_hsdn_ymd=VALUES(bef_hsdn_ymd) - ,bef_slip_num=VALUES(bef_slip_num) - ,slip_org_kbn=VALUES(slip_org_kbn) - ,err_flg1=VALUES(err_flg1) - ,err_flg2=VALUES(err_flg2) - ,err_flg3=VALUES(err_flg3) - ,err_flg4=VALUES(err_flg4) - ,err_flg5=VALUES(err_flg5) - ,err_flg6=VALUES(err_flg6) - ,err_flg7=VALUES(err_flg7) - ,err_flg8=VALUES(err_flg8) - ,err_flg9=VALUES(err_flg9) - ,err_flg10=VALUES(err_flg10) - ,err_flg11=VALUES(err_flg11) - ,err_flg12=VALUES(err_flg12) - ,err_flg13=VALUES(err_flg13) - ,err_flg14=VALUES(err_flg14) - ,err_flg15=VALUES(err_flg15) - ,err_flg16=VALUES(err_flg16) - ,err_flg17=VALUES(err_flg17) - ,err_flg18=VALUES(err_flg18) - ,err_flg19=VALUES(err_flg19) - ,err_flg20=VALUES(err_flg20) - ,kjyo_ym=VALUES(kjyo_ym) - ,tksnbk_kbn=VALUES(tksnbk_kbn) - ,fcl_exec_kbn=VALUES(fcl_exec_kbn) - ,rec_sts_kbn=VALUES(rec_sts_kbn) - ,ins_dt=VALUES(ins_dt) - ,ins_usr=VALUES(ins_usr) + rec_data=medaca_common.convert_empty_to_null(t.rec_data) + ,rec_whs_cd=medaca_common.convert_empty_to_null(t.rec_whs_cd) + ,rec_whs_sub_cd=medaca_common.convert_empty_to_null(t.rec_whs_sub_cd) + ,rec_whs_org_cd=medaca_common.convert_empty_to_null(t.rec_whs_org_cd) + ,rec_cust_cd=medaca_common.convert_empty_to_null(t.rec_cust_cd) + ,rec_comm_cd=medaca_common.convert_empty_to_null(t.rec_comm_cd) + ,rec_tran_kbn=medaca_common.convert_empty_to_null(t.rec_tran_kbn) + ,rev_hsdnymd_wrk=medaca_common.convert_empty_to_null(t.rev_hsdnymd_wrk) + ,rev_hsdnymd_srk=medaca_common.convert_empty_to_null(t.rev_hsdnymd_srk) + ,rec_urag_num=medaca_common.convert_empty_to_null(t.rec_urag_num) + ,rec_qty=medaca_common.convert_empty_to_null(t.rec_qty) + ,rec_nonyu_price=medaca_common.convert_empty_to_null(t.rec_nonyu_price) + ,rec_nonyu_amt=medaca_common.convert_empty_to_null(t.rec_nonyu_amt) + ,rec_comm_name=medaca_common.convert_empty_to_null(t.rec_comm_name) + ,rec_nonyu_fcl_name=medaca_common.convert_empty_to_null(t.rec_nonyu_fcl_name) + ,free_item=medaca_common.convert_empty_to_null(t.free_item) + ,rec_nonyu_fcl_addr=medaca_common.convert_empty_to_null(t.rec_nonyu_fcl_addr) + ,rec_nonyu_fcl_post=medaca_common.convert_empty_to_null(t.rec_nonyu_fcl_post) + ,rec_nonyu_fcl_tel=medaca_common.convert_empty_to_null(t.rec_nonyu_fcl_tel) + ,rec_bef_hsdn_ymd=medaca_common.convert_empty_to_null(t.rec_bef_hsdn_ymd) + ,rec_bef_slip_num=medaca_common.convert_empty_to_null(t.rec_bef_slip_num) + ,rec_ymd=medaca_common.convert_empty_to_null(t.rec_ymd) + ,sale_data_cat=medaca_common.convert_empty_to_null(t.sale_data_cat) + ,slip_file_name=medaca_common.convert_empty_to_null(t.slip_file_name) + ,slip_mgt_num=t.slip_mgt_num + ,row_num=t.row_num + ,hsdn_ymd=medaca_common.convert_empty_to_null(t.hsdn_ymd) + ,exec_dt=medaca_common.convert_empty_to_null(t.exec_dt) + ,v_tran_cd=t.v_tran_cd + ,tran_kbn_name=medaca_common.convert_empty_to_null(t.tran_kbn_name) + ,whs_org_cd=medaca_common.convert_empty_to_null(t.whs_org_cd) + ,v_whsorg_cd=t.v_whsorg_cd + ,whs_org_name=medaca_common.convert_empty_to_null(t.whs_org_name) + ,whs_org_kn=medaca_common.convert_empty_to_null(t.whs_org_kn) + ,v_whs_cd=t.v_whs_cd + ,whs_name=medaca_common.convert_empty_to_null(t.whs_name) + ,nonyu_fcl_cd=medaca_common.convert_empty_to_null(t.nonyu_fcl_cd) + ,v_inst_cd=medaca_common.convert_empty_to_null(t.v_inst_cd) + ,v_inst_kn=medaca_common.convert_empty_to_null(t.v_inst_kn) + ,v_inst_name=medaca_common.convert_empty_to_null(t.v_inst_name) + ,v_inst_addr=medaca_common.convert_empty_to_null(t.v_inst_addr) + ,comm_cd=medaca_common.convert_empty_to_null(t.comm_cd) + ,comm_name=medaca_common.convert_empty_to_null(t.comm_name) + ,nonyu_qty=t.nonyu_qty + ,nonyu_price=t.nonyu_price + ,nonyu_amt=t.nonyu_amt + ,shikiri_price=t.shikiri_price + ,shikiri_amt=t.shikiri_amt + ,nhi_price=t.nhi_price + ,nhi_amt=t.nhi_amt + ,whspos_err_kbn=medaca_common.convert_empty_to_null(t.whspos_err_kbn) + ,htdnymd_err_kbn=medaca_common.convert_empty_to_null(t.htdnymd_err_kbn) + ,prd_exis_kbn=medaca_common.convert_empty_to_null(t.prd_exis_kbn) + ,fcl_exis_kbn=medaca_common.convert_empty_to_null(t.fcl_exis_kbn) + ,bef_hsdn_ymd=medaca_common.convert_empty_to_null(t.bef_hsdn_ymd) + ,bef_slip_num=medaca_common.convert_empty_to_null(t.bef_slip_num) + ,slip_org_kbn=t.slip_org_kbn + ,err_flg1=medaca_common.convert_empty_to_null(t.err_flg1) + ,err_flg2=medaca_common.convert_empty_to_null(t.err_flg2) + ,err_flg3=medaca_common.convert_empty_to_null(t.err_flg3) + ,err_flg4=medaca_common.convert_empty_to_null(t.err_flg4) + ,err_flg5=medaca_common.convert_empty_to_null(t.err_flg5) + ,err_flg6=medaca_common.convert_empty_to_null(t.err_flg6) + ,err_flg7=medaca_common.convert_empty_to_null(t.err_flg7) + ,err_flg8=medaca_common.convert_empty_to_null(t.err_flg8) + ,err_flg9=medaca_common.convert_empty_to_null(t.err_flg9) + ,err_flg10=medaca_common.convert_empty_to_null(t.err_flg10) + ,err_flg11=medaca_common.convert_empty_to_null(t.err_flg11) + ,err_flg12=medaca_common.convert_empty_to_null(t.err_flg12) + ,err_flg13=medaca_common.convert_empty_to_null(t.err_flg13) + ,err_flg14=medaca_common.convert_empty_to_null(t.err_flg14) + ,err_flg15=medaca_common.convert_empty_to_null(t.err_flg15) + ,err_flg16=medaca_common.convert_empty_to_null(t.err_flg16) + ,err_flg17=medaca_common.convert_empty_to_null(t.err_flg17) + ,err_flg18=medaca_common.convert_empty_to_null(t.err_flg18) + ,err_flg19=medaca_common.convert_empty_to_null(t.err_flg19) + ,err_flg20=medaca_common.convert_empty_to_null(t.err_flg20) + ,kjyo_ym=medaca_common.convert_empty_to_null(t.kjyo_ym) + ,tksnbk_kbn=medaca_common.convert_empty_to_null(t.tksnbk_kbn) + ,fcl_exec_kbn=medaca_common.convert_empty_to_null(t.fcl_exec_kbn) + ,rec_sts_kbn=medaca_common.convert_empty_to_null(t.rec_sts_kbn) + ,ins_dt=nullif(t.ins_dt, 0) + ,ins_usr=medaca_common.convert_empty_to_null(t.ins_usr) ,dwh_upd_dT=SYSDATE() ; """) @@ -337,17 +337,17 @@ class VjskReceiveFileMapper: ,SYSDATE() FROM org05.hld_mst_v AS t ON DUPLICATE KEY UPDATE - v_hld_cd=VALUES(v_hld_cd) - ,sub_num=VALUES(sub_num) - ,name=VALUES(name) - ,kn_name=VALUES(kn_name) - ,abb_name=VALUES(abb_name) - ,start_date=VALUES(start_date) - ,end_date=VALUES(end_date) - ,dsp_odr=VALUES(dsp_odr) - ,rec_sts_kbn=VALUES(rec_sts_kbn) - ,ins_dt=VALUES(ins_dt) - ,upd_dt=VALUES(upd_dt) + v_hld_cd=t.v_hld_cd + ,sub_num=t.sub_num + ,name=t.name + ,kn_name=medaca_common.convert_empty_to_null(t.kn_name) + ,abb_name=medaca_common.convert_empty_to_null(t.abb_name) + ,start_date=t.start_date + ,end_date=t.end_date + ,dsp_odr=t.dsp_odr + ,rec_sts_kbn=t.rec_sts_kbn + ,ins_dt=nullif(t.ins_dt, 0) + ,upd_dt=nullif(t.upd_dt, 0) ,dwh_upd_dt=SYSDATE() ; """) @@ -401,22 +401,22 @@ class VjskReceiveFileMapper: ,SYSDATE() FROM org05.whs_mst_v AS t ON DUPLICATE KEY UPDATE - v_whs_cd=VALUES(v_whs_cd) - ,sub_num=VALUES(sub_num) - ,name=VALUES(name) - ,kn_name=VALUES(kn_name) - ,abb_name=VALUES(abb_name) - ,postal_cd=VALUES(postal_cd) - ,addr=VALUES(addr) - ,kn_addr=VALUES(kn_addr) - ,tel_num=VALUES(tel_num) - ,v_hld_cd=VALUES(v_hld_cd) - ,start_date=VALUES(start_date) - ,end_date=VALUES(end_date) - ,dsp_odr=VALUES(dsp_odr) - ,rec_sts_kbn=VALUES(rec_sts_kbn) - ,ins_dt=VALUES(ins_dt) - ,upd_dt=VALUES(upd_dt) + v_whs_cd=t.v_whs_cd + ,sub_num=t.sub_num + ,name=t.name + ,kn_name=medaca_common.convert_empty_to_null(t.kn_name) + ,abb_name=medaca_common.convert_empty_to_null(t.abb_name) + ,postal_cd=medaca_common.convert_empty_to_null(t.postal_cd) + ,addr=medaca_common.convert_empty_to_null(t.addr) + ,kn_addr=medaca_common.convert_empty_to_null(t.kn_addr) + ,tel_num=medaca_common.convert_empty_to_null(t.tel_num) + ,v_hld_cd=t.v_hld_cd + ,start_date=t.start_date + ,end_date=t.end_date + ,dsp_odr=t.dsp_odr + ,rec_sts_kbn=t.rec_sts_kbn + ,ins_dt=nullif(t.ins_dt, 0) + ,upd_dt=nullif(t.upd_dt, 0) ,dwh_upd_dt=SYSDATE() ; """) @@ -530,52 +530,52 @@ class VjskReceiveFileMapper: ,SYSDATE() FROM org05.mkr_org_horizon_v AS t ON DUPLICATE KEY UPDATE - 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) + vid_kind_1=t.vid_kind_1 + ,v_cd_1=t.v_cd_1 + ,name_1=medaca_common.convert_empty_to_null(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=medaca_common.convert_empty_to_null(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=medaca_common.convert_empty_to_null(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=medaca_common.convert_empty_to_null(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=medaca_common.convert_empty_to_null(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=medaca_common.convert_empty_to_null(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=medaca_common.convert_empty_to_null(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=medaca_common.convert_empty_to_null(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=medaca_common.convert_empty_to_null(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=medaca_common.convert_empty_to_null(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) ,dwh_upd_dt=SYSDATE() ; """) @@ -670,15 +670,15 @@ class VjskReceiveFileMapper: ,SYSDATE() FROM org05.tran_kbn_mst_v AS t ON DUPLICATE KEY UPDATE - v_tran_cd=VALUES(v_tran_cd) - ,sub_num=VALUES(sub_num) - ,name=VALUES(name) - ,start_date=VALUES(start_date) - ,end_date=VALUES(end_date) - ,dsp_odr=VALUES(dsp_odr) - ,rec_sts_kbn=VALUES(rec_sts_kbn) - ,ins_dt=VALUES(ins_dt) - ,upd_dt=VALUES(upd_dt) + v_tran_cd=t.v_tran_cd + ,sub_num=t.sub_num + ,name=medaca_common.convert_empty_to_null(t.name) + ,start_date=t.start_date + ,end_date=t.end_date + ,dsp_odr=t.dsp_odr + ,rec_sts_kbn=t.rec_sts_kbn + ,ins_dt=nullif(t.ins_dt, 0) + ,upd_dt=nullif(t.upd_dt, 0) ,dwh_upd_dt=SYSDATE() ; """) @@ -748,30 +748,30 @@ class VjskReceiveFileMapper: ,SYSDATE() FROM org05.fcl_mst_v AS t ON DUPLICATE KEY UPDATE - v_inst_cd=VALUES(v_inst_cd) - ,sub_num=VALUES(sub_num) - ,start_date=VALUES(start_date) - ,end_date=VALUES(end_date) - ,closed_dt=VALUES(closed_dt) - ,fcl_name=VALUES(fcl_name) - ,fcl_kn_name=VALUES(fcl_kn_name) - ,fcl_abb_name=VALUES(fcl_abb_name) - ,fcl_abb_kn_name=VALUES(fcl_abb_kn_name) - ,mkr_cd=VALUES(mkr_cd) - ,jsk_proc_kbn=VALUES(jsk_proc_kbn) - ,fmt_addr=VALUES(fmt_addr) - ,fmt_kn_addr=VALUES(fmt_kn_addr) - ,postal_cd=VALUES(postal_cd) - ,prft_cd=VALUES(prft_cd) - ,prft_name=VALUES(prft_name) - ,city_name=VALUES(city_name) - ,addr_line_1=VALUES(addr_line_1) - ,tel_num=VALUES(tel_num) - ,admin_kbn=VALUES(admin_kbn) - ,fcl_type=VALUES(fcl_type) - ,rec_sts_kbn=VALUES(rec_sts_kbn) - ,ins_dt=VALUES(ins_dt) - ,upd_dt=VALUES(upd_dt) + v_inst_cd=t.v_inst_cd + ,sub_num=t.sub_num + ,start_date=t.start_date + ,end_date=t.end_date + ,closed_dt=medaca_common.convert_empty_to_null(t.closed_dt) + ,fcl_name=medaca_common.convert_empty_to_null(t.fcl_name) + ,fcl_kn_name=medaca_common.convert_empty_to_null(t.fcl_kn_name) + ,fcl_abb_name=medaca_common.convert_empty_to_null(t.fcl_abb_name) + ,fcl_abb_kn_name=medaca_common.convert_empty_to_null(t.fcl_abb_kn_name) + ,mkr_cd=medaca_common.convert_empty_to_null(t.mkr_cd) + ,jsk_proc_kbn=t.jsk_proc_kbn + ,fmt_addr=medaca_common.convert_empty_to_null(t.fmt_addr) + ,fmt_kn_addr=medaca_common.convert_empty_to_null(t.fmt_kn_addr) + ,postal_cd=medaca_common.convert_empty_to_null(t.postal_cd) + ,prft_cd=medaca_common.convert_empty_to_null(t.prft_cd) + ,prft_name=medaca_common.convert_empty_to_null(t.prft_name) + ,city_name=medaca_common.convert_empty_to_null(t.city_name) + ,addr_line_1=medaca_common.convert_empty_to_null(t.addr_line_1) + ,tel_num=medaca_common.convert_empty_to_null(t.tel_num) + ,admin_kbn=medaca_common.convert_empty_to_null(t.admin_kbn) + ,fcl_type=medaca_common.convert_empty_to_null(t.fcl_type) + ,rec_sts_kbn=t.rec_sts_kbn + ,ins_dt=medaca_common.convert_empty_to_null(t.ins_dt) + ,upd_dt=medaca_common.convert_empty_to_null(t.upd_dt) ,dwh_upd_dt=SYSDATE() ; """) @@ -849,34 +849,34 @@ class VjskReceiveFileMapper: ,SYSDATE() FROM org05.phm_prd_mst_v AS t ON DUPLICATE KEY UPDATE - prd_cd=VALUES(prd_cd) - ,sub_num=VALUES(sub_num) - ,prd_name=VALUES(prd_name) - ,prd_e_name=VALUES(prd_e_name) - ,mkr_cd=VALUES(mkr_cd) - ,mkr_inf_1=VALUES(mkr_inf_1) - ,mkr_inf_2=VALUES(mkr_inf_2) - ,phm_itm_cd=VALUES(phm_itm_cd) - ,itm_name=VALUES(itm_name) - ,itm_abb_name=VALUES(itm_abb_name) - ,form_cd=VALUES(form_cd) - ,form_name=VALUES(form_name) - ,vol_cd=VALUES(vol_cd) - ,vol_name=VALUES(vol_name) - ,cont_cd=VALUES(cont_cd) - ,cont_name=VALUES(cont_name) - ,pkg_cd=VALUES(pkg_cd) - ,pkg_name=VALUES(pkg_name) - ,cnv_num=VALUES(cnv_num) - ,jsk_start_dt=VALUES(jsk_start_dt) - ,prd_sale_kbn=VALUES(prd_sale_kbn) - ,jsk_proc_kbn=VALUES(jsk_proc_kbn) - ,start_date=VALUES(start_date) - ,end_date=VALUES(end_date) - ,dsp_odr=VALUES(dsp_odr) - ,rec_sts_kbn=VALUES(rec_sts_kbn) - ,ins_dt=VALUES(ins_dt) - ,upd_dt=VALUES(upd_dt) + prd_cd=t.prd_cd + ,sub_num=t.sub_num + ,prd_name=t.prd_name + ,prd_e_name=medaca_common.convert_empty_to_null(t.prd_e_name) + ,mkr_cd=medaca_common.convert_empty_to_null(t.mkr_cd) + ,mkr_inf_1=medaca_common.convert_empty_to_null(t.mkr_inf_1) + ,mkr_inf_2=medaca_common.convert_empty_to_null(t.mkr_inf_2) + ,phm_itm_cd=medaca_common.convert_empty_to_null(t.phm_itm_cd) + ,itm_name=medaca_common.convert_empty_to_null(t.itm_name) + ,itm_abb_name=medaca_common.convert_empty_to_null(t.itm_abb_name) + ,form_cd=medaca_common.convert_empty_to_null(t.form_cd) + ,form_name=medaca_common.convert_empty_to_null(t.form_name) + ,vol_cd=medaca_common.convert_empty_to_null(t.vol_cd) + ,vol_name=medaca_common.convert_empty_to_null(t.vol_name) + ,cont_cd=medaca_common.convert_empty_to_null(t.cont_cd) + ,cont_name=medaca_common.convert_empty_to_null(t.cont_name) + ,pkg_cd=medaca_common.convert_empty_to_null(t.pkg_cd) + ,pkg_name=medaca_common.convert_empty_to_null(t.pkg_name) + ,cnv_num=t.cnv_num + ,jsk_start_dt=nullif(t.jsk_start_dt, 0) + ,prd_sale_kbn=t.prd_sale_kbn + ,jsk_proc_kbn=t.jsk_proc_kbn + ,start_date=t.start_date + ,end_date=t.end_date + ,dsp_odr=t.dsp_odr + ,rec_sts_kbn=t.rec_sts_kbn + ,ins_dt=nullif(t.ins_dt, 0) + ,upd_dt=nullif(t.upd_dt, 0) ,dwh_upd_dt=SYSDATE() ; """) @@ -1018,23 +1018,23 @@ class VjskReceiveFileMapper: ,SYSDATE() FROM org05.whs_customer_mst_v AS t ON DUPLICATE KEY UPDATE - whs_cd=VALUES(whs_cd) - ,whs_sub_cd=VALUES(whs_sub_cd) - ,customer_cd=VALUES(customer_cd) - ,sub_num=VALUES(sub_num) - ,start_date=VALUES(start_date) - ,end_date=VALUES(end_date) - ,whs_org_cd=VALUES(whs_org_cd) - ,src_org_cd=VALUES(src_org_cd) - ,name=VALUES(name) - ,kn_name=VALUES(kn_name) - ,addr=VALUES(addr) - ,kn_addr=VALUES(kn_addr) - ,postal_cd=VALUES(postal_cd) - ,tel_num=VALUES(tel_num) - ,rec_sts_kbn=VALUES(rec_sts_kbn) - ,ins_dt=VALUES(ins_dt) - ,upd_dt=VALUES(upd_dt) + whs_cd=t.whs_cd + ,whs_sub_cd=t.whs_sub_cd + ,customer_cd=t.customer_cd + ,sub_num=t.sub_num + ,start_date=t.start_date + ,end_date=t.end_date + ,whs_org_cd=medaca_common.convert_empty_to_null(t.whs_org_cd) + ,src_org_cd=medaca_common.convert_empty_to_null(t.src_org_cd) + ,name=medaca_common.convert_empty_to_null(t.name) + ,kn_name=medaca_common.convert_empty_to_null(t.kn_name) + ,addr=medaca_common.convert_empty_to_null(t.addr) + ,kn_addr=medaca_common.convert_empty_to_null(t.kn_addr) + ,postal_cd=medaca_common.convert_empty_to_null(t.postal_cd) + ,tel_num=medaca_common.convert_empty_to_null(t.tel_num) + ,rec_sts_kbn=t.rec_sts_kbn + ,ins_dt=nullif(t.ins_dt, 0) + ,upd_dt=nullif(t.upd_dt, 0) ,dwh_upd_dt=SYSDATE() ; """) @@ -1160,35 +1160,35 @@ class VjskReceiveFileMapper: ,SYSDATE() FROM org05.whole_stock AS t ON DUPLICATE KEY UPDATE - rec_data=VALUES(rec_data) - ,rec_whs_cd=VALUES(rec_whs_cd) - ,rec_whs_sub_cd=VALUES(rec_whs_sub_cd) - ,rec_sto_place=VALUES(rec_sto_place) - ,rec_stock_ymd=VALUES(rec_stock_ymd) - ,rec_comm_cd=VALUES(rec_comm_cd) - ,rec_qty=VALUES(rec_qty) - ,rec_stock_no_sign=VALUES(rec_stock_no_sign) - ,rec_jan_cd=VALUES(rec_jan_cd) - ,free_item=VALUES(free_item) - ,rec_ymd=VALUES(rec_ymd) - ,sale_data_cat=VALUES(sale_data_cat) - ,slip_file_name=VALUES(slip_file_name) - ,slip_mgt_num=VALUES(slip_mgt_num) - ,row_num=VALUES(row_num) - ,exec_dt=VALUES(exec_dt) - ,err_flg1=VALUES(err_flg1) - ,err_flg2=VALUES(err_flg2) - ,err_flg3=VALUES(err_flg3) - ,err_flg4=VALUES(err_flg4) - ,err_flg5=VALUES(err_flg5) - ,err_flg6=VALUES(err_flg6) - ,err_flg7=VALUES(err_flg7) - ,err_flg8=VALUES(err_flg8) - ,err_flg9=VALUES(err_flg9) - ,err_flg10=VALUES(err_flg10) - ,rec_sts_kbn=VALUES(rec_sts_kbn) - ,ins_dt=VALUES(ins_dt) - ,ins_usr=VALUES(ins_usr) + rec_data=medaca_common.convert_empty_to_null(t.rec_data) + ,rec_whs_cd=medaca_common.convert_empty_to_null(t.rec_whs_cd) + ,rec_whs_sub_cd=medaca_common.convert_empty_to_null(t.rec_whs_sub_cd) + ,rec_sto_place=medaca_common.convert_empty_to_null(t.rec_sto_place) + ,rec_stock_ymd=medaca_common.convert_empty_to_null(t.rec_stock_ymd) + ,rec_comm_cd=medaca_common.convert_empty_to_null(t.rec_comm_cd) + ,rec_qty=medaca_common.convert_empty_to_null(t.rec_qty) + ,rec_stock_no_sign=medaca_common.convert_empty_to_null(t.rec_stock_no_sign) + ,rec_jan_cd=medaca_common.convert_empty_to_null(t.rec_jan_cd) + ,free_item=medaca_common.convert_empty_to_null(t.free_item) + ,rec_ymd=medaca_common.convert_empty_to_null(t.rec_ymd) + ,sale_data_cat=medaca_common.convert_empty_to_null(t.sale_data_cat) + ,slip_file_name=medaca_common.convert_empty_to_null(t.slip_file_name) + ,slip_mgt_num=t.slip_mgt_num + ,row_num=t.row_num + ,exec_dt=medaca_common.convert_empty_to_null(t.exec_dt) + ,err_flg1=medaca_common.convert_empty_to_null(t.err_flg1) + ,err_flg2=medaca_common.convert_empty_to_null(t.err_flg2) + ,err_flg3=medaca_common.convert_empty_to_null(t.err_flg3) + ,err_flg4=medaca_common.convert_empty_to_null(t.err_flg4) + ,err_flg5=medaca_common.convert_empty_to_null(t.err_flg5) + ,err_flg6=medaca_common.convert_empty_to_null(t.err_flg6) + ,err_flg7=medaca_common.convert_empty_to_null(t.err_flg7) + ,err_flg8=medaca_common.convert_empty_to_null(t.err_flg8) + ,err_flg9=medaca_common.convert_empty_to_null(t.err_flg9) + ,err_flg10=medaca_common.convert_empty_to_null(t.err_flg10) + ,rec_sts_kbn=medaca_common.convert_empty_to_null(t.rec_sts_kbn) + ,ins_dt=nullif(t.ins_dt, 0) + ,ins_usr=medaca_common.convert_empty_to_null(t.ins_usr) ,dwh_upd_dt=SYSDATE() ; """) @@ -1366,84 +1366,84 @@ class VjskReceiveFileMapper: ,SYSDATE() FROM org05.bio_sales AS t ON DUPLICATE KEY UPDATE - rec_data=VALUES(rec_data) - ,rec_whs_cd=VALUES(rec_whs_cd) - ,rec_whs_sub_cd=VALUES(rec_whs_sub_cd) - ,rec_whs_org_cd=VALUES(rec_whs_org_cd) - ,rec_cust_cd=VALUES(rec_cust_cd) - ,rec_comm_cd=VALUES(rec_comm_cd) - ,rec_tran_kbn=VALUES(rec_tran_kbn) - ,rev_hsdnymd_wrk=VALUES(rev_hsdnymd_wrk) - ,rev_hsdnymd_srk=VALUES(rev_hsdnymd_srk) - ,rec_urag_num=VALUES(rec_urag_num) - ,rec_comm_name=VALUES(rec_comm_name) - ,rec_nonyu_fcl_name=VALUES(rec_nonyu_fcl_name) - ,rec_nonyu_fcl_addr=VALUES(rec_nonyu_fcl_addr) - ,rec_lot_num1=VALUES(rec_lot_num1) - ,rec_qty1=VALUES(rec_qty1) - ,rec_lot_num2=VALUES(rec_lot_num2) - ,rec_qty2=VALUES(rec_qty2) - ,rec_lot_num3=VALUES(rec_lot_num3) - ,rec_qty3=VALUES(rec_qty3) - ,rec_ymd=VALUES(rec_ymd) - ,sale_data_cat=VALUES(sale_data_cat) - ,slip_file_name=VALUES(slip_file_name) - ,slip_mgt_num=VALUES(slip_mgt_num) - ,row_num=VALUES(row_num) - ,hsdn_ymd=VALUES(hsdn_ymd) - ,exec_dt=VALUES(exec_dt) - ,v_tran_cd=VALUES(v_tran_cd) - ,tran_kbn_name=VALUES(tran_kbn_name) - ,whs_org_cd=VALUES(whs_org_cd) - ,v_whsorg_cd=VALUES(v_whsorg_cd) - ,whs_org_name=VALUES(whs_org_name) - ,whs_org_kn=VALUES(whs_org_kn) - ,v_whs_cd=VALUES(v_whs_cd) - ,whs_name=VALUES(whs_name) - ,nonyu_fcl_cd=VALUES(nonyu_fcl_cd) - ,v_inst_cd=VALUES(v_inst_cd) - ,v_inst_name=VALUES(v_inst_name) - ,v_inst_kn=VALUES(v_inst_kn) - ,v_inst_addr=VALUES(v_inst_addr) - ,comm_cd=VALUES(comm_cd) - ,product_name=VALUES(product_name) - ,htdnymd_err_kbn=VALUES(htdnymd_err_kbn) - ,prd_exis_kbn=VALUES(prd_exis_kbn) - ,fcl_exis_kbn=VALUES(fcl_exis_kbn) - ,qty1=VALUES(qty1) - ,qty2=VALUES(qty2) - ,qty3=VALUES(qty3) - ,slip_org_kbn=VALUES(slip_org_kbn) - ,bef_slip_mgt_num=VALUES(bef_slip_mgt_num) - ,whs_rep_comm_name=VALUES(whs_rep_comm_name) - ,whs_rep_nonyu_fcl_name=VALUES(whs_rep_nonyu_fcl_name) - ,whs_rep_nonyu_fcl_addr=VALUES(whs_rep_nonyu_fcl_addr) - ,err_flg1=VALUES(err_flg1) - ,err_flg2=VALUES(err_flg2) - ,err_flg3=VALUES(err_flg3) - ,err_flg4=VALUES(err_flg4) - ,err_flg5=VALUES(err_flg5) - ,err_flg6=VALUES(err_flg6) - ,err_flg7=VALUES(err_flg7) - ,err_flg8=VALUES(err_flg8) - ,err_flg9=VALUES(err_flg9) - ,err_flg10=VALUES(err_flg10) - ,err_flg11=VALUES(err_flg11) - ,err_flg12=VALUES(err_flg12) - ,err_flg13=VALUES(err_flg13) - ,err_flg14=VALUES(err_flg14) - ,err_flg15=VALUES(err_flg15) - ,err_flg16=VALUES(err_flg16) - ,err_flg17=VALUES(err_flg17) - ,err_flg18=VALUES(err_flg18) - ,err_flg19=VALUES(err_flg19) - ,err_flg20=VALUES(err_flg20) - ,kjyo_ym=VALUES(kjyo_ym) - ,tksnbk_kbn=VALUES(tksnbk_kbn) - ,fcl_exec_kbn=VALUES(fcl_exec_kbn) - ,rec_sts_kbn=VALUES(rec_sts_kbn) - ,ins_dt=VALUES(ins_dt) - ,ins_usr=VALUES(ins_usr) + rec_data=medaca_common.convert_empty_to_null(t.rec_data) + ,rec_whs_cd=medaca_common.convert_empty_to_null(t.rec_whs_cd) + ,rec_whs_sub_cd=medaca_common.convert_empty_to_null(t.rec_whs_sub_cd) + ,rec_whs_org_cd=medaca_common.convert_empty_to_null(t.rec_whs_org_cd) + ,rec_cust_cd=medaca_common.convert_empty_to_null(t.rec_cust_cd) + ,rec_comm_cd=medaca_common.convert_empty_to_null(t.rec_comm_cd) + ,rec_tran_kbn=medaca_common.convert_empty_to_null(t.rec_tran_kbn) + ,rev_hsdnymd_wrk=medaca_common.convert_empty_to_null(t.rev_hsdnymd_wrk) + ,rev_hsdnymd_srk=medaca_common.convert_empty_to_null(t.rev_hsdnymd_srk) + ,rec_urag_num=medaca_common.convert_empty_to_null(t.rec_urag_num) + ,rec_comm_name=medaca_common.convert_empty_to_null(t.rec_comm_name) + ,rec_nonyu_fcl_name=medaca_common.convert_empty_to_null(t.rec_nonyu_fcl_name) + ,rec_nonyu_fcl_addr=medaca_common.convert_empty_to_null(t.rec_nonyu_fcl_addr) + ,rec_lot_num1=medaca_common.convert_empty_to_null(t.rec_lot_num1) + ,rec_qty1=medaca_common.convert_empty_to_null(t.rec_qty1) + ,rec_lot_num2=medaca_common.convert_empty_to_null(t.rec_lot_num2) + ,rec_qty2=medaca_common.convert_empty_to_null(t.rec_qty2) + ,rec_lot_num3=medaca_common.convert_empty_to_null(t.rec_lot_num3) + ,rec_qty3=medaca_common.convert_empty_to_null(t.rec_qty3) + ,rec_ymd=medaca_common.convert_empty_to_null(t.rec_ymd) + ,sale_data_cat=medaca_common.convert_empty_to_null(t.sale_data_cat) + ,slip_file_name=medaca_common.convert_empty_to_null(t.slip_file_name) + ,slip_mgt_num=t.slip_mgt_num + ,row_num=t.row_num + ,hsdn_ymd=medaca_common.convert_empty_to_null(t.hsdn_ymd) + ,exec_dt=medaca_common.convert_empty_to_null(t.exec_dt) + ,v_tran_cd=t.v_tran_cd + ,tran_kbn_name=medaca_common.convert_empty_to_null(t.tran_kbn_name) + ,whs_org_cd=medaca_common.convert_empty_to_null(t.whs_org_cd) + ,v_whsorg_cd=t.v_whsorg_cd + ,whs_org_name=medaca_common.convert_empty_to_null(t.whs_org_name) + ,whs_org_kn=medaca_common.convert_empty_to_null(t.whs_org_kn) + ,v_whs_cd=t.v_whs_cd + ,whs_name=medaca_common.convert_empty_to_null(t.whs_name) + ,nonyu_fcl_cd=medaca_common.convert_empty_to_null(t.nonyu_fcl_cd) + ,v_inst_cd=nullif(t.v_inst_cd,'') + ,v_inst_name=nullif(t.v_inst_name,'') + ,v_inst_kn=nullif(t.v_inst_kn,'') + ,v_inst_addr=nullif(t.v_inst_addr,'') + ,comm_cd=nullif(t.comm_cd,'') + ,product_name=nullif(t.product_name,'') + ,htdnymd_err_kbn=nullif(t.htdnymd_err_kbn,'') + ,prd_exis_kbn=nullif(t.prd_exis_kbn,'') + ,fcl_exis_kbn=nullif(t.fcl_exis_kbn,'') + ,qty1=t.qty1 + ,qty2=t.qty2 + ,qty3=t.qty3 + ,slip_org_kbn=t.slip_org_kbn + ,bef_slip_mgt_num=medaca_common.convert_empty_to_null(t.bef_slip_mgt_num) + ,whs_rep_comm_name=medaca_common.convert_empty_to_null(t.whs_rep_comm_name) + ,whs_rep_nonyu_fcl_name=medaca_common.convert_empty_to_null(t.whs_rep_nonyu_fcl_name) + ,whs_rep_nonyu_fcl_addr=medaca_common.convert_empty_to_null(t.whs_rep_nonyu_fcl_addr) + ,err_flg1=medaca_common.convert_empty_to_null(t.err_flg1) + ,err_flg2=medaca_common.convert_empty_to_null(t.err_flg2) + ,err_flg3=medaca_common.convert_empty_to_null(t.err_flg3) + ,err_flg4=medaca_common.convert_empty_to_null(t.err_flg4) + ,err_flg5=medaca_common.convert_empty_to_null(t.err_flg5) + ,err_flg6=medaca_common.convert_empty_to_null(t.err_flg6) + ,err_flg7=medaca_common.convert_empty_to_null(t.err_flg7) + ,err_flg8=medaca_common.convert_empty_to_null(t.err_flg8) + ,err_flg9=medaca_common.convert_empty_to_null(t.err_flg9) + ,err_flg10=medaca_common.convert_empty_to_null(t.err_flg10) + ,err_flg11=medaca_common.convert_empty_to_null(t.err_flg11) + ,err_flg12=medaca_common.convert_empty_to_null(t.err_flg12) + ,err_flg13=medaca_common.convert_empty_to_null(t.err_flg13) + ,err_flg14=medaca_common.convert_empty_to_null(t.err_flg14) + ,err_flg15=medaca_common.convert_empty_to_null(t.err_flg15) + ,err_flg16=medaca_common.convert_empty_to_null(t.err_flg16) + ,err_flg17=medaca_common.convert_empty_to_null(t.err_flg17) + ,err_flg18=medaca_common.convert_empty_to_null(t.err_flg18) + ,err_flg19=medaca_common.convert_empty_to_null(t.err_flg19) + ,err_flg20=medaca_common.convert_empty_to_null(t.err_flg20) + ,kjyo_ym=medaca_common.convert_empty_to_null(t.kjyo_ym) + ,tksnbk_kbn=medaca_common.convert_empty_to_null(t.tksnbk_kbn) + ,fcl_exec_kbn=medaca_common.convert_empty_to_null(t.fcl_exec_kbn) + ,rec_sts_kbn=medaca_common.convert_empty_to_null(t.rec_sts_kbn) + ,ins_dt=nullif(t.ins_dt, 0) + ,ins_usr=medaca_common.convert_empty_to_null(t.ins_usr) ,dwh_upd_dt=SYSDATE() ; """) @@ -1477,12 +1477,12 @@ class VjskReceiveFileMapper: ,SYSDATE() FROM org05.lot_num_mst AS t ON DUPLICATE KEY UPDATE - ser_num=VALUES(ser_num) - ,lot_num=VALUES(lot_num) - ,expr_dt=VALUES(expr_dt) - ,frst_mov_dt=VALUES(frst_mov_dt) - ,ins_dt=VALUES(ins_dt) - ,ins_usr=VALUES(ins_usr) + ser_num=t.ser_num + ,lot_num=t.lot_num + ,expr_dt=t.expr_dt + ,frst_mov_dt=t.frst_mov_dt + ,ins_dt=nullif(t.ins_dt, 0) + ,ins_usr=medaca_common.convert_empty_to_null(t.ins_usr) ,dwh_upd_dt=SYSDATE() ; """)