fix: バグ修正

This commit is contained in:
shimoda.m@nds-tyo.co.jp 2025-06-03 09:07:07 +09:00
parent 58abea45be
commit 7e8141a9d9
2 changed files with 29 additions and 15 deletions

View File

@ -15,6 +15,6 @@ RUN \
pip uninstall -y pipenv virtualenv-clone virtualenv
COPY src ./src
COPY entrypoint.py entrypoint.py
COPY entrypoint.py entrypoint.py
CMD ["python", "entrypoint.py"]

View File

@ -17,7 +17,7 @@ from src.manager.jskult_batch_status_manager import JskultBatchStatusManager
from src.manager.jskult_hdke_tbl_manager import JskultHdkeTblManager
from src.system_var import constants
logger = get_logger('DCF削除新規マスタ作成')
logger = get_logger('DCF削除新規マスタ作成/データ出力')
class DcfInstMergeIO(JskultBatchEntrypoint):
@ -34,7 +34,7 @@ class DcfInstMergeIO(JskultBatchEntrypoint):
return
def execute(self):
logger.info("DCF削除新規マスタ作成処理を開始します。")
logger.info("DCF削除新規マスタ作成/データ出力処理を開始します。")
jskult_hdke_tbl_manager = JskultHdkeTblManager()
jskult_batch_run_manager = JskultBatchRunManager(
@ -101,6 +101,7 @@ class DcfInstMergeIO(JskultBatchEntrypoint):
db.to_jst()
# アルトマーク取込が実行されていた場合にDCF施設削除新規マスタの作成処理を実行
if jskult_batch_status_manager.is_done_ultmarc_import():
logger.info("アルトマークデータが取り込まれているため、DCF削除新規マスタ作成処理を開始します。")
db.begin()
# COM_施設からDCF削除新規マスタに登録
(is_add_dcf_inst_merge,
@ -109,8 +110,11 @@ class DcfInstMergeIO(JskultBatchEntrypoint):
logger.info('[NOTICE]DCF施設削除新規マスタが追加されました。')
self._output_add_dcf_inst_merge_log(
duplication_inst_records)
logger.info("DCF削除新規マスタ作成処理が正常終了しました。")
db.commit()
# CSV出力
# DCF施設削除新規マスタ出力
logger.info('DCF施設削除新規マスタ出力を開始します。')
dcf_inst_merge_all_records = self._select_dcf_inst_merge_all(db)
file_path = self._make_csv_data(
self.environment.DCF_INST_MERGE_SEND_FILE_NAME,
@ -119,9 +123,10 @@ class DcfInstMergeIO(JskultBatchEntrypoint):
# CSVをS3にアップロード
self._upload_dcf_inst_merge_csv_file(
self.environment.DCF_INST_MERGE_SEND_FILE_NAME, process_date, file_path)
logger.info("DCF施設削除新規マスタ出力が正常終了しました。")
# 処理が全て正常終了した際に、バッチ実行管理テーブルに「success」で登録
logger.info("DCF削除新規マスタ作成処理を正常終了します。")
logger.info("DCF削除新規マスタ作成/データ出力処理を終了します。")
jskult_batch_run_manager.batch_success()
jskult_batch_status_manager.set_process_status(
constants.PROCESS_STATUS_DONE)
@ -146,13 +151,20 @@ class DcfInstMergeIO(JskultBatchEntrypoint):
SELECT
ci.dcf_dsf_inst_cd AS dcf_dsf_inst_cd,
ci.form_inst_name_kanji AS form_inst_name_kanji,
ci.delete_sche_reason_cd AS delete_sche_reason_cd,
ci.dup_opp_cd AS dup_opp_cd,
ci.sys_update_date AS sys_update_date
(
SELECT
dupci.form_inst_name_kanji
FROM
src05.com_inst AS dupci
WHERE
dupci.dcf_dsf_inst_cd = ci.dup_opp_cd
) AS dup_inst_name_kanji,
DATE_FORMAT((src07.get_syor_date() + INTERVAL 1 MONTH), '%Y%m') AS start_month
FROM
src05.com_inst AS ci
WHERE
ci.dup_opp_cd IS NOT NULL
(ci.dup_opp_cd IS NOT NULL OR CHAR_LENGTH(ci.dup_opp_cd) > 0)
AND
ci.delete_sche_reason_cd = 'D'
AND
@ -207,21 +219,23 @@ class DcfInstMergeIO(JskultBatchEntrypoint):
for clauses_no, row in enumerate(duplication_inst_records, start=1):
dcf_inst_cd_arr = f"dcf_inst_cd{clauses_no}"
dup_opp_cd_arr = f"dup_opp_cd{clauses_no}"
start_month_arr = f'start_month{clauses_no}'
values_clause = f"""(:{dcf_inst_cd_arr},
:{dup_opp_cd_arr},
DATE_FORMAT((src07.get_syor_date() + INTERVAL 1 MONTH),
:{start_month_arr},
NULL,
NULL,
NULL,
"Y",
batchuser,
CURRENT_USER(),
SYSDATE(),
batchuser,
CURRENT_USER(),
SYSDATE()
)"""
values_clauses.append(values_clause)
params[dcf_inst_cd_arr] = row['dcf_dsf_inst_cd']
params[dup_opp_cd_arr] = row['dup_opp_cd']
params[start_month_arr] = row['start_month']
insert_sql = f"""
INSERT INTO
src07.dcf_inst_merge (
@ -245,11 +259,11 @@ class DcfInstMergeIO(JskultBatchEntrypoint):
except Exception as e:
raise BatchOperationException(e)
def _output_add_dcf_inst_merge_log(duplication_inst_records: list[dict]):
sys_update_date = duplication_inst_records[0]['sys_update_date']
def _output_add_dcf_inst_merge_log(self, duplication_inst_records: list[dict]):
start_month = duplication_inst_records[0]['start_month']
set_year_month = '{set_year}{set_month}'.format(
set_year=sys_update_date[0:4],
set_month=sys_update_date[-2:]
set_year=start_month[0:4],
set_month=start_month[-2:]
)
add_dct_inst_merge = 'DCF施設コード {dcf_dsf_inst_cd} {form_inst_name_kanji},  重複時相手先コード {dup_opp_cd} {dup_inst_name_kanji}'
add_dct_inst_merge_list = []