diff --git a/ecs/jskult-batch/src/batch/mst_inst_all.py b/ecs/jskult-batch/src/batch/mst_inst_all.py index c5b99021..9d1108a7 100644 --- a/ecs/jskult-batch/src/batch/mst_inst_all.py +++ b/ecs/jskult-batch/src/batch/mst_inst_all.py @@ -1,9 +1,6 @@ -import csv import json -import os.path as path -import tempfile -from src.aws.s3 import JskSendBucket, JskTransferListBucket +from src.aws.s3 import JskTransferListBucket from src.batch.environment.mst_inst_all_environment import \ MstInstAllEnvironment from src.batch.jskult_batch_entrypoint import JskultBatchEntrypoint @@ -15,7 +12,6 @@ from src.logging.get_logger import get_logger from src.manager.jskult_batch_run_manager import JskultBatchRunManager from src.manager.jskult_batch_status_manager import JskultBatchStatusManager from src.manager.jskult_hdke_tbl_manager import JskultHdkeTblManager -from src.system_var import environment from src.system_var import constants logger = get_logger('メルク施設マスタ作成') @@ -58,6 +54,7 @@ class MstInstAll(JskultBatchEntrypoint): logger.exception(f'転送ファイル一覧の取得に失敗しました。 {e}') # バッチ実行管理テーブルをfailedで登録 jskult_batch_run_manager.batch_failed() + return with open(transfer_list_file_path) as f: transfer_list = json.load(f) @@ -67,10 +64,9 @@ class MstInstAll(JskultBatchEntrypoint): transfer_list['jsk_transfer_list']) + len(transfer_list['ult_transfer_list']) jskult_batch_status_manager = JskultBatchStatusManager( - environment.PROCESS_NAME, - # TODO チケットNEWDWH2021-1847の実装で作成した定数に置き換え - 'post_process', - environment.MAX_RUN_COUNT, + self.environment.PROCESS_NAME, + constants.PROCESS_TYPE_POST_PROCESS, + self.environment.MAX_RUN_COUNT, receive_file_count ) try: @@ -86,6 +82,7 @@ class MstInstAll(JskultBatchEntrypoint): # バッチ実行管理テーブルに「retry」で登録 jskult_batch_run_manager.batch_retry() + logger.info('起動条件を満たしていないため、メルク施設マスタ作成処理を終了します') return except MaxRunCountReachedException: @@ -130,17 +127,6 @@ class MstInstAll(JskultBatchEntrypoint): return def _insert_mst_inst_all_from_com_inst(self, db: Database): - # オプティマイザのderived_mergeフラグをoffにする - try: - sql = """ - SET SESSION optimizer_switch = 'derived_merge=off' - """ - db.execute(sql) - logger.info("オプティマイザのderived_mergeフラグ = Off") - except Exception as e: - logger.info("オプティマイザのderived_mergeフラグの値変更に失敗") - raise e - # com_instから、mst_inst_allへInsert try: sql = """ @@ -188,10 +174,10 @@ class MstInstAll(JskultBatchEntrypoint): ci.inst_div_cd, LEFT(cid.inst_div_name, 40), null, - ci.create_user, - ci.regist_date, - ci.update_user, - ci.update_date + ci.regist_prgm_id, + ci.sys_regist_date, + ci.update_prgm_id, + ci.sys_update_date FROM src05.com_inst AS ci LEFT OUTER JOIN src05.mst_prefc AS mp @@ -204,7 +190,7 @@ class MstInstAll(JskultBatchEntrypoint): LEFT OUTER JOIN src05.com_inst_div AS cid ON ci.inst_div_cd = cid.inst_div_cd """ - res = db.execute(sql) + db.execute(sql) logger.info("COM_施設からメルク施設マスタに登録成功") except Exception as e: logger.info("COM_施設からメルク施設マスタに登録失敗") @@ -260,10 +246,10 @@ class MstInstAll(JskultBatchEntrypoint): cp.inst_div_cd, LEFT(cid.inst_div_name, 40), null, - cp.create_user, - cp.regist_date, - cp.update_user, - cp.update_date + cp.regist_prgm_id, + cp.sys_regist_date, + cp.update_prgm_id, + cp.sys_update_date FROM src05.com_pharm AS cp LEFT OUTER JOIN src05.mst_prefc AS mp @@ -276,7 +262,7 @@ class MstInstAll(JskultBatchEntrypoint): LEFT OUTER JOIN src05.com_inst_div AS cid ON cp.inst_div_cd = cid.inst_div_cd """ - res = db.execute(sql) + db.execute(sql) logger.info("COM_薬局からメルク施設マスタに登録成功") except Exception as e: logger.info("COM_薬局からメルク施設マスタに登録失敗") @@ -284,7 +270,7 @@ class MstInstAll(JskultBatchEntrypoint): return - def _insert_mst_inst_all_from_mst_inst_merck(self, db:Database): + def _insert_mst_inst_all_from_mst_inst_merck(self, db: Database): # mst_inst_merckから、mst_inst_allへInsert try: sql = """ @@ -325,7 +311,7 @@ class MstInstAll(JskultBatchEntrypoint): mim.jis_city_cd, mjp.jis_pref_nm_kj, LEFT(mjc.jis_city_nm_kj, 40), - CONCAT(mim.addr1_nm_kj, mim.addr2_nm_kj), + CONCAT_WS('', mim.addr1_nm_kj, mim.addr2_nm_kj), mim.postal_no, mim.tel_no, null, @@ -333,15 +319,15 @@ class MstInstAll(JskultBatchEntrypoint): null, CASE mim.eff_end_ym WHEN '999912' THEN null - ELSE CONCAT(mim.eff_end_ym, DATE_FORMAT(LAST_DAY(STR_TO_DATE(mim.eff_end_ym, '%Y%m')), '%d')) + ELSE CONCAT(LAST_DAY(STR_TO_DATE(CONCAT(mim.eff_end_ym, '01'), '%Y%m%d'))) END, null, null, null, - mim.ins_user, - mim.ins_date, - mim.upd_user, - mim.upd_date + mim.create_id, + mim.create_dtt, + mim.last_upd_id, + mim.last_upd_dtt FROM src07.mst_inst_merck AS mim INNER JOIN ( @@ -349,19 +335,19 @@ class MstInstAll(JskultBatchEntrypoint): FROM src07.mst_inst_merck AS mim GROUP BY mim.inst_cd ) AS mim_max_end_ym - ON mim.inst_cd = mim_max_end_ym.inst_cd + ON mim.inst_cd = mim_max_end_ym.inst_cd AND mim.eff_end_ym = mim_max_end_ym.max_end_ym LEFT OUTER JOIN src07.mst_jis_pref AS mjp ON mim.jis_pref_cd = mjp.jis_pref_cd LEFT OUTER JOIN src07.mst_jis_city AS mjc ON mim.jis_pref_cd = mjc.jis_pref_cd AND mim.jis_city_cd = mjc.jis_city_cd; - + """ - res = db.execute(sql) + db.execute(sql) logger.info("メルク独自施設マスタからメルク施設マスタに登録成功") except Exception as e: logger.info("メルク独自施設マスタからメルク施設マスタに登録失敗") raise e - return \ No newline at end of file + return diff --git a/s3/config/jskult/task_settings/mst_inst_all_task_settings.env b/s3/config/jskult/task_settings/mst_inst_all_task_settings.env index 85e70ad1..96aad4ac 100644 --- a/s3/config/jskult/task_settings/mst_inst_all_task_settings.env +++ b/s3/config/jskult/task_settings/mst_inst_all_task_settings.env @@ -1,6 +1,6 @@ # task environment file. LOG_LEVEL=INFO -ENTRYPOINT_MODULE_NAME=jskult-batch-mst-inst-all +PROCESS_NAME=jskult-batch-mst-inst-all TRANSFER_RESULT_FOLDER=transfer_result TRANSFER_RESULT_FILE_NAME=transfer_result.json DB_CONNECTION_MAX_RETRY_ATTEMPT=4