From 6d7917a7f79ea5179eaa4fe0d7707a4c2d0c6970 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Tue, 10 Jun 2025 14:10:11 +0900 Subject: [PATCH 1/3] =?UTF-8?q?refactor:=20=E3=83=95=E3=82=A1=E3=82=A4?= =?UTF-8?q?=E3=83=AB=E5=B1=95=E9=96=8B=E5=87=A6=E7=90=86=E3=82=92=E5=85=B1?= =?UTF-8?q?=E9=80=9A=E5=8C=96=E3=81=99=E3=82=8B=E3=81=AB=E3=81=82=E3=81=9F?= =?UTF-8?q?=E3=82=8A=E3=80=81=E5=AE=9A=E6=95=B0=E3=81=AE=E9=87=8D=E8=A4=87?= =?UTF-8?q?=E3=82=92common=E3=81=AB=E4=B8=80=E6=9C=AC=E5=8C=96=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecs/dataimport/dataimport/chk.py | 90 ++------------------ ecs/dataimport/dataimport/common.py | 122 +++++++++++++++++++++++++++- ecs/dataimport/dataimport/main.py | 50 +----------- 3 files changed, 131 insertions(+), 131 deletions(-) diff --git a/ecs/dataimport/dataimport/chk.py b/ecs/dataimport/dataimport/chk.py index 91f59d04..7b8b3ba6 100644 --- a/ecs/dataimport/dataimport/chk.py +++ b/ecs/dataimport/dataimport/chk.py @@ -2,57 +2,16 @@ import csv import io import os import sys -import zipfile from datetime import datetime import boto3 -from common import convert_quotechar, debug_log +from common import (ERROR, INFO, LINE_FEED_CODE, SETTINGS_ITEM, + convert_quotechar, debug_log, uncompress_zip) from end import end from error import error # 定数 DIRECTORY_WORK = '/work/' -LOCAL_DIRECTORY_TMP = '/tmp' -# チェック処理で解凍した圧縮ファイルの中身を格納するフォルダ -LOCAL_TEMPORARY_FILE_PATH = f'{LOCAL_DIRECTORY_TMP}/temporary_file.dat' -LOG_LEVEL = {'i': 'Info', 'e': 'Error', 'w': "Warning"} -SETTINGS_ITEM = { - 'dataSource': 0, - 'delimiter': 1, - 'charCode': 2, - 'quotechar': 3, - 'lineFeedCode': 4, - 'headerFlag': 5, - 'csvNumItems': 6, - 'csvNameItems': 7, - 'dbColumuName': 8, - 'storageSchemaName': 9, - 'loadSchemaName': 10, - 'exSqlFileName': 11, - 'commaReplaceColumns': 12, - 'importManner': 13, - 'bulkImportFlag': 14, - 'compressedFlag': 15, - 'compression': 16, - 'reserved1': 17, - 'reserved2': 18, - 'reserved3': 19, - 'reserved4': 20, - 'reserved5': 21, - 'reserved6': 22, - 'reserved7': 23, - 'reserved8': 24 -} - -LINE_FEED_CODE = { - 'CR': '\r', - 'LF': '\n', - 'CRLF': '\r\n', -} - -INFO = LOG_LEVEL["i"] -ERROR = LOG_LEVEL["e"] -WARNING = LOG_LEVEL["w"] # クラス変数 s3_client = boto3.client('s3') @@ -236,50 +195,19 @@ def uncompress_file(work_data_file: bytes, settings_list: list, log_info) -> byt print( f'{datetime.now():%Y-%m-%d %H:%M:%S} {log_info} {INFO} I-CHK-11 - 投入ファイルが圧縮されているため、展開処理を行います。圧縮形式:{compression}') + file_bytes: bytes = None if compression == 'zip': - file_bytes = None - with zipfile.ZipFile(work_data_file, 'r') as zip_ref: - # 昇順でソートする。 - file_list: list[str] = sorted(zip_ref.namelist()) + # zipファイルを展開し、ファイルを書き出す。 + file_bytes = uncompress_zip() - if len(file_list) > 1: - # 圧縮ファイル内に複数ファイルが存在する場合、warningログを出力する。 - print( - f'{datetime.now():%Y-%m-%d %H:%M:%S} {log_info} {WARNING} W-CHK-01 - 圧縮データ内に複数ファイルが存在したため、{file_list[0]}のみ登録を行います。') - - target_file_name = file_list[0] - # 末尾が「/」で終わるのはフォルダ - if target_file_name.endswith('/'): - # 圧縮ファイル内の先頭がフォルダの場合、エラー処理を行う。 - raise Exception( - f'展開したデータはファイルではありません。ファイルパス: {target_file_name}') - - # zipファイル内には1ファイルのみ - with zip_ref.open(target_file_name) as file: - file_bytes = file.read() - - # ファイルを一時ディレクトリに書き出す。 - encoding = settings_list[SETTINGS_ITEM["charCode"]] - line_feed = LINE_FEED_CODE[settings_list[SETTINGS_ITEM["lineFeedCode"]]] - delimiter = settings_list[SETTINGS_ITEM["delimiter"]] - quote_char = convert_quotechar( - settings_list[SETTINGS_ITEM["quotechar"]]) - uncompressed_file = io.TextIOWrapper(io.BytesIO(file_bytes), encoding=encoding, - newline=line_feed) - csv_reader = csv.reader(uncompressed_file, quotechar=convert_quotechar(settings_list[SETTINGS_ITEM["quotechar"]]), - delimiter=delimiter) - with open(LOCAL_TEMPORARY_FILE_PATH, 'w', encoding=encoding, newline='') as csvfile: - csv_writer = csv.writer(csvfile, quotechar=quote_char, - delimiter=delimiter) - for row in csv_reader: - csv_writer.writerow(row) - print( - f'{datetime.now():%Y-%m-%d %H:%M:%S} {log_info} {INFO} I-CHK-12 - 投入ファイルの展開が正常終了しました') - return file_bytes # MEMO: zip以外の圧縮形式に対応する際に追記すること else: raise ValueError("圧縮形式が一致しません") + print( + f'{datetime.now():%Y-%m-%d %H:%M:%S} {log_info} {INFO} I-CHK-12 - 投入ファイルの展開が正常終了しました') + return file_bytes + def reverse_readline_stream(f: io.BytesIO, line_feed: str, chunk_size=4096): """バイトモードのファイルストリームを後ろから読み、1行ずつ返すジェネレータ。 diff --git a/ecs/dataimport/dataimport/common.py b/ecs/dataimport/dataimport/common.py index 1361ff53..22adf07d 100644 --- a/ecs/dataimport/dataimport/common.py +++ b/ecs/dataimport/dataimport/common.py @@ -1,16 +1,80 @@ +import csv +import io +import zipfile from datetime import datetime # 定数 -LOG_LEVEL = {"d": 'Debug'} +LOG_LEVEL = { + "d": 'Debug', + 'i': 'Info', + 'e': 'Error', + 'w': "Warning" +} + +INFO = LOG_LEVEL["i"] +ERROR = LOG_LEVEL["e"] +WARNING = LOG_LEVEL["w"] + + +LINE_FEED_CODE = { + 'CR': '\r', + 'LF': '\n', + 'CRLF': '\r\n', +} + +# LOAD DATA文で文字コードを指定するために、個別設定ファイルの文字コード指定をMySQLの文字コード表記に変換する +MYSQL_CHARSET_CODE = { + 'utf-8': 'utf8mb4', + 'utf8': 'utf8mb4', + 'utf-8-sig': 'utf8mb4', + 'shift_jis': 'cp932', + 'cp932': 'cp932', +} + MODE_TYPE = { 'n': 'normal', 'd': 'debug', } +# 設定ファイルのの項目行数のマップ +SETTINGS_ITEM = { + 'dataSource': 0, + 'delimiter': 1, + 'charCode': 2, + 'quotechar': 3, + 'lineFeedCode': 4, + 'headerFlag': 5, + 'csvNumItems': 6, + 'csvNameItems': 7, + 'dbColumuName': 8, + 'storageSchemaName': 9, + 'loadSchemaName': 10, + 'exSqlFileName': 11, + 'commaReplaceColumns': 12, + 'importManner': 13, + 'bulkImportFlag': 14, + 'compressedFlag': 15, + 'compression': 16, + 'reserved1': 17, + 'reserved2': 18, + 'reserved3': 19, + 'reserved4': 20, + 'reserved5': 21, + 'reserved6': 22, + 'reserved7': 23, + 'reserved8': 24 +} + +LOCAL_DIRECTORY_TMP = '/tmp' +# チェック処理で解凍した圧縮ファイルの中身を格納するフォルダ +LOCAL_TEMPORARY_FILE_PATH = f'{LOCAL_DIRECTORY_TMP}/temporary_file.dat' + def debug_log(log, log_info, mode): if MODE_TYPE['d'] == mode: - print(f'{datetime.now():%Y-%m-%d %H:%M:%S} {log_info} {LOG_LEVEL["d"]} {log}') + print( + f'{datetime.now():%Y-%m-%d %H:%M:%S} {log_info} {LOG_LEVEL["d"]} {log}') + def convert_quotechar(quotechar): """csvモジュールの囲い文字を変換する @@ -26,3 +90,57 @@ def convert_quotechar(quotechar): return None return quotechar + + +def uncompress_zip(work_data_file: bytes, settings_list: list, log_info) -> bytes: + """zip圧縮されているファイルを展開する + + Args: + work_data_file (bytes): 展開対象のバイナリ + settings_list (list): 個別設定ファイルの情報 + log_info (_type_): ログ情報 + + Raises: + Exception: 展開したものがファイルではなかった場合 + + Returns: + bytes: 展開後ファイルのバイナリ + """ + file_bytes = None + with zipfile.ZipFile(work_data_file, 'r') as zip_ref: + # 昇順でソートする。 + file_list: list[str] = sorted(zip_ref.namelist()) + + if len(file_list) > 1: + # 圧縮ファイル内に複数ファイルが存在する場合、warningログを出力する。 + print( + f'{datetime.now():%Y-%m-%d %H:%M:%S} {log_info} {WARNING}' + + f'W-CHK-01 - 圧縮データ内に複数ファイルが存在したため、{file_list[0]}のみ登録を行います。' + ) + + target_file_name = file_list[0] + # 末尾が「/」で終わるのはフォルダ + if target_file_name.endswith('/'): + # 圧縮ファイル内の先頭がフォルダの場合、エラー処理を行う。 + raise Exception( + f'展開したデータはファイルではありません。ファイルパス: {target_file_name}') + + # zipファイル内には1ファイルのみ + with zip_ref.open(target_file_name) as file: + file_bytes = file.read() + + # ファイルを一時ディレクトリに書き出す。 + encoding = settings_list[SETTINGS_ITEM["charCode"]] + line_feed = LINE_FEED_CODE[settings_list[SETTINGS_ITEM["lineFeedCode"]]] + delimiter = settings_list[SETTINGS_ITEM["delimiter"]] + quote_char = convert_quotechar( + settings_list[SETTINGS_ITEM["quotechar"]]) + uncompressed_file = io.TextIOWrapper(io.BytesIO(file_bytes), encoding=encoding, + newline=line_feed) + csv_reader = csv.reader(uncompressed_file, quotechar=convert_quotechar(settings_list[SETTINGS_ITEM["quotechar"]]), + delimiter=delimiter) + with open(LOCAL_TEMPORARY_FILE_PATH, 'w', encoding=encoding, newline='') as csvfile: + csv_writer = csv.writer(csvfile, quotechar=quote_char, + delimiter=delimiter) + for row in csv_reader: + csv_writer.writerow(row) diff --git a/ecs/dataimport/dataimport/main.py b/ecs/dataimport/dataimport/main.py index aa717847..13f9c0c9 100644 --- a/ecs/dataimport/dataimport/main.py +++ b/ecs/dataimport/dataimport/main.py @@ -5,65 +5,19 @@ from datetime import datetime import boto3 import pymysql from chk import LOCAL_TEMPORARY_FILE_PATH -from common import convert_quotechar, debug_log +from common import (ERROR, INFO, LINE_FEED_CODE, MYSQL_CHARSET_CODE, + SETTINGS_ITEM, WARNING, convert_quotechar, debug_log) from error import error from pymysql.constants import CLIENT # 定数 DIRECTORY_WORK = '/work/' -LOG_LEVEL = {"i": 'Info', "e": 'Error', "w": 'Warning'} -SETTINGS_ITEM = { - 'dataSource': 0, - 'delimiter': 1, - 'charCode': 2, - 'quotechar': 3, - 'lineFeedCode': 4, - 'headerFlag': 5, - 'csvNumItems': 6, - 'csvNameItems': 7, - 'dbColumuName': 8, - 'storageSchemaName': 9, - 'loadSchemaName': 10, - 'exSqlFileName': 11, - 'commaReplaceColumns': 12, - 'importManner': 13, - 'bulkImportFlag': 14, - 'compressedFlag': 15, - 'compression': 16, - 'reserved1': 17, - 'reserved2': 18, - 'reserved3': 19, - 'reserved4': 20, - 'reserved5': 21, - 'reserved6': 22, - 'reserved7': 23, - 'reserved8': 24 -} - -LINE_FEED_CODE = { - 'CR': '\r', - 'LF': '\n', - 'CRLF': '\r\n', -} - -# LOAD DATA文で文字コードを指定するために、個別設定ファイルの文字コード指定をMySQLの文字コード表記に変換する -MYSQL_CHARSET_CODE = { - 'utf-8': 'utf8mb4', - 'utf8': 'utf8mb4', - 'utf-8-sig': 'utf8mb4', - 'shift_jis': 'cp932', - 'cp932': 'cp932', -} DIRECTORY_SETTINGS = '/settings/' TRUNCATE_SRC_TABLE_SYMBOL = 'truncate_src_table:' TRUNCATE_SRC_TABLE_IDENTIFY_SYMBOL_FORMAT = f'{TRUNCATE_SRC_TABLE_SYMBOL}[蓄積スキーマのテーブル名]' INVALID_CONFIG_EXCEPTION_MESSAGE = f'個別設定ファイルのインポート方法に不備がありました。 インポート方法は "{TRUNCATE_SRC_TABLE_IDENTIFY_SYMBOL_FORMAT}" のように設定してください' -INFO = LOG_LEVEL['i'] -WARNING = LOG_LEVEL['w'] -ERROR = LOG_LEVEL['e'] - # クラス変数 s3_client = boto3.client('s3') From 363a177559690688f12f7f3a3d68ced2b2628032 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Tue, 10 Jun 2025 16:13:37 +0900 Subject: [PATCH 2/3] =?UTF-8?q?feat:=20gz=E8=A7=A3=E5=87=8D=E3=81=AB?= =?UTF-8?q?=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecs/dataimport/dataimport/chk.py | 27 ++++++++------- ecs/dataimport/dataimport/common.py | 53 +++++++++++++++++++++++++++-- ecs/dataimport/dataimport/main.py | 6 ++-- 3 files changed, 69 insertions(+), 17 deletions(-) diff --git a/ecs/dataimport/dataimport/chk.py b/ecs/dataimport/dataimport/chk.py index 7b8b3ba6..de3feca6 100644 --- a/ecs/dataimport/dataimport/chk.py +++ b/ecs/dataimport/dataimport/chk.py @@ -6,7 +6,8 @@ from datetime import datetime import boto3 from common import (ERROR, INFO, LINE_FEED_CODE, SETTINGS_ITEM, - convert_quotechar, debug_log, uncompress_zip) + convert_quotechar, debug_log, uncompress_gzip, + uncompress_zip) from end import end from error import error @@ -181,7 +182,7 @@ def is_empty_file(work_csv_row: list, settings_list: list): return len(work_csv_row) == 0 -def uncompress_file(work_data_file: bytes, settings_list: list, log_info) -> bytes: +def uncompress_file(work_data_file: io.BytesIO, settings_list: list, log_info) -> bytes: """指定された形式で圧縮ファイルを展開し、ローカルに書き出す。 Args: work_data_file (bytes): S3から読み込んだ登録 @@ -198,7 +199,9 @@ def uncompress_file(work_data_file: bytes, settings_list: list, log_info) -> byt file_bytes: bytes = None if compression == 'zip': # zipファイルを展開し、ファイルを書き出す。 - file_bytes = uncompress_zip() + file_bytes = uncompress_zip(work_data_file, settings_list, log_info) + elif compression == 'gzip': + file_bytes = uncompress_gzip(work_data_file, settings_list, log_info) # MEMO: zip以外の圧縮形式に対応する際に追記すること else: @@ -259,12 +262,12 @@ def reverse_readline_stream(f: io.BytesIO, line_feed: str, chunk_size=4096): # ローカル実行用コード # 値はよしなに変えてください -# if __name__ == '__main__': -# check( -# bucket_name='バケット名', -# target_data_source='データソース名', -# target_file_name='targetフォルダ内のファイル名', -# settings_key='個別設定ファイル名', -# log_info='Info', -# mode='i' -# ) +if __name__ == '__main__': + check( + bucket_name='test-shimoda-bucket', + target_data_source='test', + target_file_name='compress_test.gz', + settings_key='test/settings/compress_test_gzip.txt', + log_info='Info', + mode='i' + ) diff --git a/ecs/dataimport/dataimport/common.py b/ecs/dataimport/dataimport/common.py index 22adf07d..0afea617 100644 --- a/ecs/dataimport/dataimport/common.py +++ b/ecs/dataimport/dataimport/common.py @@ -1,4 +1,5 @@ import csv +import gzip import io import zipfile from datetime import datetime @@ -92,11 +93,11 @@ def convert_quotechar(quotechar): return quotechar -def uncompress_zip(work_data_file: bytes, settings_list: list, log_info) -> bytes: +def uncompress_zip(work_data_file: io.BytesIO, settings_list: list, log_info) -> bytes: """zip圧縮されているファイルを展開する Args: - work_data_file (bytes): 展開対象のバイナリ + work_data_file (io.BytesIO): 展開対象のバイナリ(.zip) settings_list (list): 個別設定ファイルの情報 log_info (_type_): ログ情報 @@ -144,3 +145,51 @@ def uncompress_zip(work_data_file: bytes, settings_list: list, log_info) -> byte delimiter=delimiter) for row in csv_reader: csv_writer.writerow(row) + + +def uncompress_gzip(work_data_file: io.BytesIO, settings_list: list, log_info) -> bytes: + """gzip 圧縮されたファイルを展開する + + Args: + work_data_file (io.BytesIO): 展開対象のバイナリ (.gz) + settings_list (list): 個別設定ファイルの情報 + log_info (_type_): ログ情報 + + Raises: + Exception: 展開に失敗した場合 + + Returns: + bytes: 展開後ファイルのバイナリ + """ + + gz_bytes = work_data_file.getvalue() + try: + # GZIP をバイト列ごと展開する + file_bytes = gzip.decompress(gz_bytes) + except (OSError, EOFError) as e: + raise Exception(f"GZIP 解凍に失敗しました: {e}") + + # ファイルを一時ディレクトリに書き出す。 + encoding = settings_list[SETTINGS_ITEM["charCode"]] + line_feed = LINE_FEED_CODE[settings_list[SETTINGS_ITEM["lineFeedCode"]]] + delimiter = settings_list[SETTINGS_ITEM["delimiter"]] + quote_char = convert_quotechar(settings_list[SETTINGS_ITEM["quotechar"]]) + + uncompressed_file = io.TextIOWrapper( + io.BytesIO(file_bytes), + encoding=encoding, + newline=line_feed + ) + csv_reader = csv.reader( + uncompressed_file, + quotechar=convert_quotechar(settings_list[SETTINGS_ITEM["quotechar"]]), + delimiter=delimiter + ) + + with open(LOCAL_TEMPORARY_FILE_PATH, 'w', encoding=encoding, newline='') as csvfile: + csv_writer = csv.writer( + csvfile, quotechar=quote_char, delimiter=delimiter) + for row in csv_reader: + csv_writer.writerow(row) + + return file_bytes diff --git a/ecs/dataimport/dataimport/main.py b/ecs/dataimport/dataimport/main.py index 13f9c0c9..13cdbfa1 100644 --- a/ecs/dataimport/dataimport/main.py +++ b/ecs/dataimport/dataimport/main.py @@ -4,9 +4,9 @@ from datetime import datetime import boto3 import pymysql -from chk import LOCAL_TEMPORARY_FILE_PATH -from common import (ERROR, INFO, LINE_FEED_CODE, MYSQL_CHARSET_CODE, - SETTINGS_ITEM, WARNING, convert_quotechar, debug_log) +from common import (ERROR, INFO, LINE_FEED_CODE, LOCAL_TEMPORARY_FILE_PATH, + MYSQL_CHARSET_CODE, SETTINGS_ITEM, WARNING, + convert_quotechar, debug_log) from error import error from pymysql.constants import CLIENT From 846afc56dd88625b836c08eda4a02ecc7e809603 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Tue, 10 Jun 2025 16:30:03 +0900 Subject: [PATCH 3/3] =?UTF-8?q?feat:=20=E5=80=8B=E5=88=A5=E8=A8=AD?= =?UTF-8?q?=E5=AE=9A=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB=E3=81=AE=E5=9C=A7?= =?UTF-8?q?=E7=B8=AE=E5=BD=A2=E5=BC=8F=E3=82=92gzip=E3=81=AB=E5=A4=89?= =?UTF-8?q?=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- s3/data/jsk/settings/ATC_PHARM.txt | 2 +- s3/data/jsk/settings/CUSTOMER_LOTNO_ALL.txt | 2 +- s3/data/jsk/settings/EMP.txt | 2 +- s3/data/jsk/settings/HST_RESULT_DATA.txt | 2 +- s3/data/jsk/settings/IM_PLN_PROD.txt | 2 +- s3/data/jsk/settings/INST_IM_PLN.txt | 2 +- s3/data/jsk/settings/MR_YR_PLN_INST_KY.txt | 2 +- s3/data/jsk/settings/MST_ASSN_PROD_GRP.txt | 2 +- .../jsk/settings/MST_ATC_PHARM_PROD_GRP.txt | 2 +- s3/data/jsk/settings/MST_COMPANY.txt | 2 +- s3/data/jsk/settings/MST_COMPANY_GRP.txt | 2 +- s3/data/jsk/settings/MST_DEAL_DIV.txt | 2 +- s3/data/jsk/settings/MST_GENERAL.txt | 2 +- s3/data/jsk/settings/MST_INST_ASSN.txt | 2 +- s3/data/jsk/settings/MST_INST_MERCK.txt | 2 +- s3/data/jsk/settings/MST_JIS_CITY.txt | 2 +- s3/data/jsk/settings/MST_JIS_PREF.txt | 2 +- s3/data/jsk/settings/MST_PROD_PKG.txt | 2 +- s3/data/jsk/settings/MST_SALES_PLACE.txt | 2 +- s3/data/jsk/settings/MST_WAREHOUSE.txt | 2 +- s3/data/jsk/settings/MST_WHLSLR.txt | 2 +- s3/data/jsk/settings/ORG_LVL1.txt | 2 +- s3/data/jsk/settings/ORG_LVL2.txt | 2 +- s3/data/jsk/settings/ORG_LVL3.txt | 2 +- s3/data/jsk/settings/ORG_LVL4.txt | 2 +- s3/data/jsk/settings/PROD_ASSN_TEAM.txt | 2 +- s3/data/jsk/settings/PROD_PRICE.txt | 2 +- s3/data/jsk/settings/TRN_RESULT_DATA.txt | 2 +- s3/data/jsk/settings/TRN_RESULT_DATA_BIO.txt | 2 +- s3/data/jsk/settings/TRN_Recive_Inventry.txt | 2 +- s3/data/jsk/settings/WHLSLR_LVL1.txt | 2 +- s3/data/jsk/settings/WHLSLR_LVL2.txt | 2 +- s3/data/jsk/settings/WHLSLR_LVL3.txt | 2 +- s3/data/jsk/settings/WHLSLR_LVL4.txt | 2 +- s3/data/jsk/settings/configmap.config | 68 +++++++++---------- 35 files changed, 68 insertions(+), 68 deletions(-) diff --git a/s3/data/jsk/settings/ATC_PHARM.txt b/s3/data/jsk/settings/ATC_PHARM.txt index b34e0061..af0b0f5f 100644 --- a/s3/data/jsk/settings/ATC_PHARM.txt +++ b/s3/data/jsk/settings/ATC_PHARM.txt @@ -14,4 +14,4 @@ ATC_PHARM_ex.sql truncate_src_table:src07.atc_pharm 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/CUSTOMER_LOTNO_ALL.txt b/s3/data/jsk/settings/CUSTOMER_LOTNO_ALL.txt index 50c6ef5c..df0bac75 100644 --- a/s3/data/jsk/settings/CUSTOMER_LOTNO_ALL.txt +++ b/s3/data/jsk/settings/CUSTOMER_LOTNO_ALL.txt @@ -14,4 +14,4 @@ CUSTOMER_LOTNO_ALL_ex.sql truncate_src_table:src07.customer_lotno_all 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/EMP.txt b/s3/data/jsk/settings/EMP.txt index 2ec5ed7a..d2cf8ab1 100644 --- a/s3/data/jsk/settings/EMP.txt +++ b/s3/data/jsk/settings/EMP.txt @@ -14,4 +14,4 @@ EMP_ex.sql truncate_src_table:src07.emp 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/HST_RESULT_DATA.txt b/s3/data/jsk/settings/HST_RESULT_DATA.txt index 37d32628..cabe8601 100644 --- a/s3/data/jsk/settings/HST_RESULT_DATA.txt +++ b/s3/data/jsk/settings/HST_RESULT_DATA.txt @@ -14,4 +14,4 @@ HST_RESULT_DATA_ex.sql truncate_src_table:src07.hst_result_data 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/IM_PLN_PROD.txt b/s3/data/jsk/settings/IM_PLN_PROD.txt index 30240da5..994ed195 100644 --- a/s3/data/jsk/settings/IM_PLN_PROD.txt +++ b/s3/data/jsk/settings/IM_PLN_PROD.txt @@ -14,4 +14,4 @@ IM_PLN_PROD_ex.sql truncate_src_table:src07.im_pln_prod 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/INST_IM_PLN.txt b/s3/data/jsk/settings/INST_IM_PLN.txt index 835042bc..48e68fd0 100644 --- a/s3/data/jsk/settings/INST_IM_PLN.txt +++ b/s3/data/jsk/settings/INST_IM_PLN.txt @@ -14,4 +14,4 @@ INST_IM_PLN_ex.sql truncate_src_table:src07.inst_im_pln 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/MR_YR_PLN_INST_KY.txt b/s3/data/jsk/settings/MR_YR_PLN_INST_KY.txt index dab80da3..08172307 100644 --- a/s3/data/jsk/settings/MR_YR_PLN_INST_KY.txt +++ b/s3/data/jsk/settings/MR_YR_PLN_INST_KY.txt @@ -14,4 +14,4 @@ MR_YR_PLN_INST_KY_ex.sql truncate_src_table:src07.mr_yr_pln_inst_ky 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/MST_ASSN_PROD_GRP.txt b/s3/data/jsk/settings/MST_ASSN_PROD_GRP.txt index 3a56c6c0..f50f74a0 100644 --- a/s3/data/jsk/settings/MST_ASSN_PROD_GRP.txt +++ b/s3/data/jsk/settings/MST_ASSN_PROD_GRP.txt @@ -14,4 +14,4 @@ MST_ASSN_PROD_GRP_ex.sql truncate_src_table:src07.mst_assn_prod_grp 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/MST_ATC_PHARM_PROD_GRP.txt b/s3/data/jsk/settings/MST_ATC_PHARM_PROD_GRP.txt index 20c68270..a5bcf823 100644 --- a/s3/data/jsk/settings/MST_ATC_PHARM_PROD_GRP.txt +++ b/s3/data/jsk/settings/MST_ATC_PHARM_PROD_GRP.txt @@ -14,4 +14,4 @@ MST_ATC_PHARM_PROD_GRP_ex.sql truncate_src_table:src07.mst_atc_pharm_prod_grp 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/MST_COMPANY.txt b/s3/data/jsk/settings/MST_COMPANY.txt index 3f1678b9..e1ac7cb4 100644 --- a/s3/data/jsk/settings/MST_COMPANY.txt +++ b/s3/data/jsk/settings/MST_COMPANY.txt @@ -14,4 +14,4 @@ MST_COMPANY_ex.sql truncate_src_table:src07.mst_company 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/MST_COMPANY_GRP.txt b/s3/data/jsk/settings/MST_COMPANY_GRP.txt index 0df07bb3..b5994a10 100644 --- a/s3/data/jsk/settings/MST_COMPANY_GRP.txt +++ b/s3/data/jsk/settings/MST_COMPANY_GRP.txt @@ -14,4 +14,4 @@ MST_COMPANY_GRP_ex.sql truncate_src_table:src07.mst_company_grp 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/MST_DEAL_DIV.txt b/s3/data/jsk/settings/MST_DEAL_DIV.txt index 4d5fc34f..e223096f 100644 --- a/s3/data/jsk/settings/MST_DEAL_DIV.txt +++ b/s3/data/jsk/settings/MST_DEAL_DIV.txt @@ -14,4 +14,4 @@ MST_DEAL_DIV_ex.sql truncate_src_table:src07.mst_deal_div 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/MST_GENERAL.txt b/s3/data/jsk/settings/MST_GENERAL.txt index ff8162e9..5b3b3ec7 100644 --- a/s3/data/jsk/settings/MST_GENERAL.txt +++ b/s3/data/jsk/settings/MST_GENERAL.txt @@ -14,4 +14,4 @@ MST_GENERAL_ex.sql truncate_src_table:src07.mst_general 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/MST_INST_ASSN.txt b/s3/data/jsk/settings/MST_INST_ASSN.txt index d7034e14..9d9509b7 100644 --- a/s3/data/jsk/settings/MST_INST_ASSN.txt +++ b/s3/data/jsk/settings/MST_INST_ASSN.txt @@ -14,4 +14,4 @@ MST_INST_ASSN_ex.sql truncate_src_table:src07.mst_inst_assn 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/MST_INST_MERCK.txt b/s3/data/jsk/settings/MST_INST_MERCK.txt index 595a6c02..c91ade2e 100644 --- a/s3/data/jsk/settings/MST_INST_MERCK.txt +++ b/s3/data/jsk/settings/MST_INST_MERCK.txt @@ -14,4 +14,4 @@ MST_INST_MERCK_ex.sql truncate_src_table:src07.mst_inst_merck 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/MST_JIS_CITY.txt b/s3/data/jsk/settings/MST_JIS_CITY.txt index e3b26cbb..e656f840 100644 --- a/s3/data/jsk/settings/MST_JIS_CITY.txt +++ b/s3/data/jsk/settings/MST_JIS_CITY.txt @@ -14,4 +14,4 @@ MST_JIS_CITY_ex.sql truncate_src_table:src07.mst_jis_city 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/MST_JIS_PREF.txt b/s3/data/jsk/settings/MST_JIS_PREF.txt index a51eefb1..d68ad5c7 100644 --- a/s3/data/jsk/settings/MST_JIS_PREF.txt +++ b/s3/data/jsk/settings/MST_JIS_PREF.txt @@ -14,4 +14,4 @@ MST_JIS_PREF_ex.sql truncate_src_table:src07.mst_jis_pref 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/MST_PROD_PKG.txt b/s3/data/jsk/settings/MST_PROD_PKG.txt index 07a62000..bdfc863f 100644 --- a/s3/data/jsk/settings/MST_PROD_PKG.txt +++ b/s3/data/jsk/settings/MST_PROD_PKG.txt @@ -14,4 +14,4 @@ MST_PROD_PKG_ex.sql truncate_src_table:src07.mst_prod_pkg 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/MST_SALES_PLACE.txt b/s3/data/jsk/settings/MST_SALES_PLACE.txt index c74b1b5f..9f66f4e7 100644 --- a/s3/data/jsk/settings/MST_SALES_PLACE.txt +++ b/s3/data/jsk/settings/MST_SALES_PLACE.txt @@ -14,4 +14,4 @@ MST_SALES_PLACE_ex.sql truncate_src_table:src07.mst_sales_place 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/MST_WAREHOUSE.txt b/s3/data/jsk/settings/MST_WAREHOUSE.txt index 7beeda1b..0b0f5514 100644 --- a/s3/data/jsk/settings/MST_WAREHOUSE.txt +++ b/s3/data/jsk/settings/MST_WAREHOUSE.txt @@ -14,4 +14,4 @@ MST_WAREHOUSE_ex.sql truncate_src_table:src07.mst_warehouse 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/MST_WHLSLR.txt b/s3/data/jsk/settings/MST_WHLSLR.txt index 9b102994..3d8a3153 100644 --- a/s3/data/jsk/settings/MST_WHLSLR.txt +++ b/s3/data/jsk/settings/MST_WHLSLR.txt @@ -14,4 +14,4 @@ MST_WHLSLR_ex.sql truncate_src_table:src07.mst_whlslr 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/ORG_LVL1.txt b/s3/data/jsk/settings/ORG_LVL1.txt index b5a3b8b7..abff4a74 100644 --- a/s3/data/jsk/settings/ORG_LVL1.txt +++ b/s3/data/jsk/settings/ORG_LVL1.txt @@ -14,4 +14,4 @@ ORG_LVL1_ex.sql truncate_src_table:src07.org_lvl1 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/ORG_LVL2.txt b/s3/data/jsk/settings/ORG_LVL2.txt index 07a75685..65154a2e 100644 --- a/s3/data/jsk/settings/ORG_LVL2.txt +++ b/s3/data/jsk/settings/ORG_LVL2.txt @@ -14,4 +14,4 @@ ORG_LVL2_ex.sql truncate_src_table:src07.org_lvl2 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/ORG_LVL3.txt b/s3/data/jsk/settings/ORG_LVL3.txt index 85a66e88..93d57285 100644 --- a/s3/data/jsk/settings/ORG_LVL3.txt +++ b/s3/data/jsk/settings/ORG_LVL3.txt @@ -14,4 +14,4 @@ ORG_LVL3_ex.sql truncate_src_table:src07.org_lvl3 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/ORG_LVL4.txt b/s3/data/jsk/settings/ORG_LVL4.txt index 6f7a9e45..d0e4f457 100644 --- a/s3/data/jsk/settings/ORG_LVL4.txt +++ b/s3/data/jsk/settings/ORG_LVL4.txt @@ -14,4 +14,4 @@ ORG_LVL4_ex.sql truncate_src_table:src07.org_lvl4 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/PROD_ASSN_TEAM.txt b/s3/data/jsk/settings/PROD_ASSN_TEAM.txt index da70b136..ce203539 100644 --- a/s3/data/jsk/settings/PROD_ASSN_TEAM.txt +++ b/s3/data/jsk/settings/PROD_ASSN_TEAM.txt @@ -14,4 +14,4 @@ PROD_ASSN_TEAM_ex.sql truncate_src_table:src07.prod_assn_team 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/PROD_PRICE.txt b/s3/data/jsk/settings/PROD_PRICE.txt index d73854d6..cc0df9ab 100644 --- a/s3/data/jsk/settings/PROD_PRICE.txt +++ b/s3/data/jsk/settings/PROD_PRICE.txt @@ -14,4 +14,4 @@ PROD_PRICE_ex.sql truncate_src_table:src07.prod_price 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/TRN_RESULT_DATA.txt b/s3/data/jsk/settings/TRN_RESULT_DATA.txt index fa81ec31..185e4921 100644 --- a/s3/data/jsk/settings/TRN_RESULT_DATA.txt +++ b/s3/data/jsk/settings/TRN_RESULT_DATA.txt @@ -14,4 +14,4 @@ TRN_RESULT_DATA_ex.sqlTRN_RESULT_DATA_ex.sql truncate_src_table:src07.trn_result_data 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/TRN_RESULT_DATA_BIO.txt b/s3/data/jsk/settings/TRN_RESULT_DATA_BIO.txt index 34973620..79271b7a 100644 --- a/s3/data/jsk/settings/TRN_RESULT_DATA_BIO.txt +++ b/s3/data/jsk/settings/TRN_RESULT_DATA_BIO.txt @@ -14,4 +14,4 @@ TRN_RESULT_DATA_BIO_ex.sql 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/TRN_Recive_Inventry.txt b/s3/data/jsk/settings/TRN_Recive_Inventry.txt index afdff014..f07a1fff 100644 --- a/s3/data/jsk/settings/TRN_Recive_Inventry.txt +++ b/s3/data/jsk/settings/TRN_Recive_Inventry.txt @@ -14,4 +14,4 @@ TRN_Recive_Inventry_ex.sql 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/WHLSLR_LVL1.txt b/s3/data/jsk/settings/WHLSLR_LVL1.txt index e68dd74c..4a201195 100644 --- a/s3/data/jsk/settings/WHLSLR_LVL1.txt +++ b/s3/data/jsk/settings/WHLSLR_LVL1.txt @@ -14,4 +14,4 @@ WHLSLR_LVL1_ex.sql truncate_src_table:src07.whlslr_lvl1 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/WHLSLR_LVL2.txt b/s3/data/jsk/settings/WHLSLR_LVL2.txt index cdc2da1a..8c8bee7b 100644 --- a/s3/data/jsk/settings/WHLSLR_LVL2.txt +++ b/s3/data/jsk/settings/WHLSLR_LVL2.txt @@ -14,4 +14,4 @@ WHLSLR_LVL2_ex.sql truncate_src_table:src07.whlslr_lvl2 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/WHLSLR_LVL3.txt b/s3/data/jsk/settings/WHLSLR_LVL3.txt index 2ef65748..4a894fc6 100644 --- a/s3/data/jsk/settings/WHLSLR_LVL3.txt +++ b/s3/data/jsk/settings/WHLSLR_LVL3.txt @@ -14,4 +14,4 @@ WHLSLR_LVL3_ex.sql truncate_src_table:src07.whlslr_lvl3 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/WHLSLR_LVL4.txt b/s3/data/jsk/settings/WHLSLR_LVL4.txt index 704c1a0b..0c57f5de 100644 --- a/s3/data/jsk/settings/WHLSLR_LVL4.txt +++ b/s3/data/jsk/settings/WHLSLR_LVL4.txt @@ -14,4 +14,4 @@ WHLSLR_LVL4_ex.sql truncate_src_table:src07.whlslr_lvl4 1 1 -zip \ No newline at end of file +gzip \ No newline at end of file diff --git a/s3/data/jsk/settings/configmap.config b/s3/data/jsk/settings/configmap.config index e375ae14..209250e7 100644 --- a/s3/data/jsk/settings/configmap.config +++ b/s3/data/jsk/settings/configmap.config @@ -1,35 +1,35 @@ /* 【実消化連携】 */ -TRN_RESULT_DATA_[0-9]{14}\.(ZIP|zip) TRN_RESULT_DATA.txt -HST_RESULT_DATA_[0-9]{14}\.(ZIP|zip) HST_RESULT_DATA.txt -TRN_RESULT_DATA_BIO_[0-9]{14}\.(ZIP|zip) TRN_RESULT_DATA_BIO.txt -TRN_Recive_Inventry_[0-9]{14}\.(ZIP|zip) TRN_Recive_Inventry.txt -INST_IM_PLN_[0-9]{14}\.(ZIP|zip) INST_IM_PLN.txt -MR_YR_PLN_INST_KY_[0-9]{14}\.(ZIP|zip) MR_YR_PLN_INST_KY.txt -MST_WHLSLR_[0-9]{14}\.(ZIP|zip) MST_WHLSLR.txt -MST_SALES_PLACE_[0-9]{14}\.(ZIP|zip) MST_SALES_PLACE.txt -WHLSLR_LVL4_[0-9]{14}\.(ZIP|zip) WHLSLR_LVL4.txt -WHLSLR_LVL3_[0-9]{14}\.(ZIP|zip) WHLSLR_LVL3.txt -WHLSLR_LVL2_[0-9]{14}\.(ZIP|zip) WHLSLR_LVL2.txt -WHLSLR_LVL1_[0-9]{14}\.(ZIP|zip) WHLSLR_LVL1.txt -MST_COMPANY_[0-9]{14}\.(ZIP|zip) MST_COMPANY.txt -MST_COMPANY_GRP_[0-9]{14}\.(ZIP|zip) MST_COMPANY_GRP.txt -MST_DEAL_DIV_[0-9]{14}\.(ZIP|zip) MST_DEAL_DIV.txt -MST_PROD_PKG_[0-9]{14}\.(ZIP|zip) MST_PROD_PKG.txt -PROD_PRICE_[0-9]{14}\.(ZIP|zip) PROD_PRICE.txt -IM_PLN_PROD_[0-9]{14}\.(ZIP|zip) IM_PLN_PROD.txt -MST_ASSN_PROD_GRP_[0-9]{14}\.(ZIP|zip) MST_ASSN_PROD_GRP.txt -PROD_ASSN_TEAM_[0-9]{14}\.(ZIP|zip) PROD_ASSN_TEAM.txt -MST_ATC_PHARM_PROD_GRP_[0-9]{14}\.(ZIP|zip) MST_ATC_PHARM_PROD_GRP.txt -CUSTOMER_LOTNO_ALL_[0-9]{14}\.(ZIP|zip) CUSTOMER_LOTNO_ALL.txt -MST_INST_[0-9]{14}\.(ZIP|zip) MST_INST_MERCK.txt -ATC_PHARM_[0-9]{14}\.(ZIP|zip) ATC_PHARM.txt -MST_WAREHOUSE_[0-9]{14}\.(ZIP|zip) MST_WAREHOUSE.txt -EMP_[0-9]{14}\.(ZIP|zip) EMP.txt -ORG_LVL4_[0-9]{14}\.(ZIP|zip) ORG_LVL4.txt -ORG_LVL3_[0-9]{14}\.(ZIP|zip) ORG_LVL3.txt -ORG_LVL2_[0-9]{14}\.(ZIP|zip) ORG_LVL2.txt -ORG_LVL1_[0-9]{14}\.(ZIP|zip) ORG_LVL1.txt -MST_JIS_PREF_[0-9]{14}\.(ZIP|zip) MST_JIS_PREF.txt -MST_JIS_CITY_[0-9]{14}\.(ZIP|zip) MST_JIS_CITY.txt -MST_INST_ASSN_[0-9]{14}\.(ZIP|zip) MST_INST_ASSN.txt -MST_GENERAL_[0-9]{14}\.(ZIP|zip) MST_GENERAL.txt \ No newline at end of file +TRN_RESULT_DATA_[0-9]{14}\.(GZ|gz) TRN_RESULT_DATA.txt +HST_RESULT_DATA_[0-9]{14}\.(GZ|gz) HST_RESULT_DATA.txt +TRN_RESULT_DATA_BIO_[0-9]{14}\.(GZ|gz) TRN_RESULT_DATA_BIO.txt +TRN_Recive_Inventry_[0-9]{14}\.(GZ|gz) TRN_Recive_Inventry.txt +INST_IM_PLN_[0-9]{14}\.(GZ|gz) INST_IM_PLN.txt +MR_YR_PLN_INST_KY_[0-9]{14}\.(GZ|gz) MR_YR_PLN_INST_KY.txt +MST_WHLSLR_[0-9]{14}\.(GZ|gz) MST_WHLSLR.txt +MST_SALES_PLACE_[0-9]{14}\.(GZ|gz) MST_SALES_PLACE.txt +WHLSLR_LVL4_[0-9]{14}\.(GZ|gz) WHLSLR_LVL4.txt +WHLSLR_LVL3_[0-9]{14}\.(GZ|gz) WHLSLR_LVL3.txt +WHLSLR_LVL2_[0-9]{14}\.(GZ|gz) WHLSLR_LVL2.txt +WHLSLR_LVL1_[0-9]{14}\.(GZ|gz) WHLSLR_LVL1.txt +MST_COMPANY_[0-9]{14}\.(GZ|gz) MST_COMPANY.txt +MST_COMPANY_GRP_[0-9]{14}\.(GZ|gz) MST_COMPANY_GRP.txt +MST_DEAL_DIV_[0-9]{14}\.(GZ|gz) MST_DEAL_DIV.txt +MST_PROD_PKG_[0-9]{14}\.(GZ|gz) MST_PROD_PKG.txt +PROD_PRICE_[0-9]{14}\.(GZ|gz) PROD_PRICE.txt +IM_PLN_PROD_[0-9]{14}\.(GZ|gz) IM_PLN_PROD.txt +MST_ASSN_PROD_GRP_[0-9]{14}\.(GZ|gz) MST_ASSN_PROD_GRP.txt +PROD_ASSN_TEAM_[0-9]{14}\.(GZ|gz) PROD_ASSN_TEAM.txt +MST_ATC_PHARM_PROD_GRP_[0-9]{14}\.(GZ|gz) MST_ATC_PHARM_PROD_GRP.txt +CUSTOMER_LOTNO_ALL_[0-9]{14}\.(GZ|gz) CUSTOMER_LOTNO_ALL.txt +MST_INST_[0-9]{14}\.(GZ|gz) MST_INST_MERCK.txt +ATC_PHARM_[0-9]{14}\.(GZ|gz) ATC_PHARM.txt +MST_WAREHOUSE_[0-9]{14}\.(GZ|gz) MST_WAREHOUSE.txt +EMP_[0-9]{14}\.(GZ|gz) EMP.txt +ORG_LVL4_[0-9]{14}\.(GZ|gz) ORG_LVL4.txt +ORG_LVL3_[0-9]{14}\.(GZ|gz) ORG_LVL3.txt +ORG_LVL2_[0-9]{14}\.(GZ|gz) ORG_LVL2.txt +ORG_LVL1_[0-9]{14}\.(GZ|gz) ORG_LVL1.txt +MST_JIS_PREF_[0-9]{14}\.(GZ|gz) MST_JIS_PREF.txt +MST_JIS_CITY_[0-9]{14}\.(GZ|gz) MST_JIS_CITY.txt +MST_INST_ASSN_[0-9]{14}\.(GZ|gz) MST_INST_ASSN.txt +MST_GENERAL_[0-9]{14}\.(GZ|gz) MST_GENERAL.txt \ No newline at end of file