Merge pull request #506 feature-NEWDWH2021-1922 into develop

This commit is contained in:
下田雅人 2025-06-17 16:57:01 +09:00
commit 724a5d6e53

View File

@ -115,10 +115,10 @@ class DcfInstMergeIO(JskultBatchEntrypoint):
# DCF施設削除新規マスタ出力 # DCF施設削除新規マスタ出力
logger.info('DCF施設削除新規マスタ出力を開始します。') logger.info('DCF施設削除新規マスタ出力を開始します。')
dcf_inst_merge_all_records = self._select_dcf_inst_merge_all(db) dcf_inst_merge_records = self._select_dcf_inst_merge(db)
file_path = self._make_csv_data( file_path = self._make_csv_data(
self.environment.DCF_INST_MERGE_SEND_FILE_NAME, self.environment.DCF_INST_MERGE_SEND_FILE_NAME,
dcf_inst_merge_all_records) dcf_inst_merge_records)
# CSVをS3にアップロード # CSVをS3にアップロード
self._upload_dcf_inst_merge_csv_file( self._upload_dcf_inst_merge_csv_file(
@ -284,16 +284,26 @@ class DcfInstMergeIO(JskultBatchEntrypoint):
return return
def _select_dcf_inst_merge_all(self, db: Database) -> tuple[bool, list[dict]]: def _select_dcf_inst_merge(self, db: Database) -> tuple[bool, list[dict]]:
try: try:
sql = """\ sql = """\
SELECT SELECT
* dcf_inst_cd,
dup_opp_cd,
start_month,
invalid_flg,
remarks,
enabled_flg,
creater,
create_date,
updater,
update_date
FROM FROM
src07.dcf_inst_merge src07.dcf_inst_merge
""" """
dcf_inst_merge_all_records = db.execute_select(sql) dcf_inst_merge_records = db.execute_select(sql)
return dcf_inst_merge_all_records return dcf_inst_merge_records
except Exception as e: except Exception as e:
raise BatchOperationException(e) raise BatchOperationException(e)
@ -301,17 +311,16 @@ class DcfInstMergeIO(JskultBatchEntrypoint):
temporary_dir = tempfile.mkdtemp() temporary_dir = tempfile.mkdtemp()
csv_file_path = path.join(temporary_dir, csv_file_name) csv_file_path = path.join(temporary_dir, csv_file_name)
head_str = ['DCF_INST_CD', 'DUP_OPP_CD', 'START_MONTH', head_str = ['DCF_INST_CD', 'DUP_OPP_CD', 'START_MONTH',
'INVALID_FLG', 'REMARKS', 'DCF_INST_CD_NEW', 'ENABLED_FLG', 'INVALID_FLG', 'REMARKS', 'ENABLED_FLG',
'CREATER', 'CREATE_DATE', 'UPDATER', 'UPDATE_DATE'] 'CREATER', 'CREATE_DATE', 'UPDATER', 'UPDATE_DATE']
with open(csv_file_path, mode='w', encoding='UTF-8') as csv_file: with open(csv_file_path, mode='w', encoding='UTF-8') as csv_file:
# ヘッダ行書き込みくくり文字をつけない為にwriterowではなく、writeを使用しています # UTF-8、CRLF、価囲いなしで書き込む
csv_file.write(f"{','.join(head_str)}\r\n")
# UTF-8、CRLF、価囲いありで書き込む
writer = csv.writer(csv_file, delimiter=',', lineterminator='\r\n', writer = csv.writer(csv_file, delimiter=',', lineterminator='\r\n',
quotechar='"', doublequote=True, quoting=csv.QUOTE_ALL, quoting=csv.QUOTE_NONE,
strict=True strict=True
) )
# データ部分書き込み(施設) writer.writerow(head_str)
# データ部分書き込み
for record_inst_data in record_inst: for record_inst_data in record_inst:
record_inst_value = list(record_inst_data.values()) record_inst_value = list(record_inst_data.values())
csv_data = [ csv_data = [