レビュー指摘対応とset_process_statusの引数を変更
This commit is contained in:
parent
80da987224
commit
a232923909
@ -16,6 +16,7 @@ from src.manager.jskult_batch_run_manager import JskultBatchRunManager
|
|||||||
from src.manager.jskult_batch_status_manager import JskultBatchStatusManager
|
from src.manager.jskult_batch_status_manager import JskultBatchStatusManager
|
||||||
from src.manager.jskult_hdke_tbl_manager import JskultHdkeTblManager
|
from src.manager.jskult_hdke_tbl_manager import JskultHdkeTblManager
|
||||||
from src.system_var import environment
|
from src.system_var import environment
|
||||||
|
from src.system_var import constants
|
||||||
|
|
||||||
logger = get_logger('メルク施設マスタ作成')
|
logger = get_logger('メルク施設マスタ作成')
|
||||||
|
|
||||||
@ -74,119 +75,56 @@ class MstInstAll(JskultBatchEntrypoint):
|
|||||||
)
|
)
|
||||||
try:
|
try:
|
||||||
|
|
||||||
jskult_batch_status_manager.set_process_status("start")
|
jskult_batch_status_manager.set_process_status(
|
||||||
|
constants.PROCESS_STATUS_START)
|
||||||
try:
|
try:
|
||||||
if not jskult_batch_status_manager.can_run_post_process():
|
if not jskult_batch_status_manager.can_run_post_process():
|
||||||
# 後続処理の起動条件を満たしていない場合
|
# 後続処理の起動条件を満たしていない場合
|
||||||
# 処理ステータスを「処理待」に設定
|
# 処理ステータスを「処理待」に設定
|
||||||
jskult_batch_status_manager.set_process_status("waiting")
|
jskult_batch_status_manager.set_process_status(
|
||||||
|
constants.PROCESS_STATUS_WAITING)
|
||||||
|
|
||||||
# バッチ実行管理テーブルに「retry」で登録
|
# バッチ実行管理テーブルに「retry」で登録
|
||||||
jskult_batch_run_manager.batch_retry()
|
jskult_batch_run_manager.batch_retry()
|
||||||
|
|
||||||
return
|
return
|
||||||
except MaxRunCountReachedException:
|
except MaxRunCountReachedException:
|
||||||
logger.info('最大起動回数に到達したため、メルク施設マスタ作成処理を実行します。')
|
logger.info("最大起動回数に到達したため、メルク施設マスタ作成処理を実行します。")
|
||||||
|
|
||||||
jskult_batch_status_manager.set_process_status("doing")
|
jskult_batch_status_manager.set_process_status(
|
||||||
|
constants.PROCESS_STATUS_DOING)
|
||||||
|
|
||||||
# アルトマーク取込が実行されていた場合にDCF施設削除新規マスタの作成処理を実行
|
db = Database.get_instance()
|
||||||
if jskult_batch_status_manager.is_done_ultmarc_import():
|
db.connect()
|
||||||
self._db = Database.get_instance()
|
logger.info("メルク施設マスタ作成処理開始")
|
||||||
self._db.connect()
|
|
||||||
logger.debug('メルク施設マスタ作成処理開始')
|
|
||||||
# mst_inst_allをTruncate
|
# mst_inst_allをTruncate
|
||||||
self._truncate_mst_inst_all(self._db)
|
self._truncate_mst_inst_all(db)
|
||||||
# com_instから、mst_inst_allへInsert
|
# com_instから、mst_inst_allへInsert
|
||||||
self._insert_mst_inst_all_from_com_inst(self._db)
|
self._insert_mst_inst_all_from_com_inst(db)
|
||||||
# com_pharmから、mst_inst_allへInsert
|
# com_pharmから、mst_inst_allへInsert
|
||||||
self._insert_mst_inst_all_from_com_pharm(self._db)
|
self._insert_mst_inst_all_from_com_pharm(db)
|
||||||
logger.debug('メルク施設マスタ作成処理終了')
|
logger.info("メルク施設マスタ作成処理終了")
|
||||||
|
|
||||||
|
jskult_batch_run_manager.batch_success()
|
||||||
|
jskult_batch_status_manager.set_process_status(
|
||||||
|
constants.PROCESS_STATUS_DONE)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
logger.exception(e)
|
||||||
|
jskult_batch_run_manager.batch_failed()
|
||||||
|
jskult_batch_status_manager.set_process_status(
|
||||||
|
constants.PROCESS_STATUS_ERROR)
|
||||||
raise BatchOperationException(e)
|
raise BatchOperationException(e)
|
||||||
finally:
|
finally:
|
||||||
self._db.disconnect()
|
db.disconnect()
|
||||||
|
|
||||||
def _truncate_mst_inst_all(self, db: Database):
|
def _truncate_mst_inst_all(self, db: Database):
|
||||||
try:
|
try:
|
||||||
db.execute("TRUNCATE TABLE src07.mst_inst_all")
|
db.execute("TRUNCATE TABLE src07.mst_inst_all")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug("メルク施設マスタの全件削除に失敗")
|
logger.info("メルク施設マスタの全件削除に失敗")
|
||||||
raise e
|
|
||||||
|
|
||||||
logger.debug("メルク施設マスタの全件削除に成功")
|
|
||||||
return
|
|
||||||
|
|
||||||
def _insert_mst_inst_all_from_com_pharm(self, db: Database):
|
|
||||||
# com_pharmから、mst_inst_allへInsert
|
|
||||||
try:
|
|
||||||
sql = """
|
|
||||||
INSERT INTO
|
|
||||||
src07.mst_inst_all (
|
|
||||||
inst_cd,
|
|
||||||
inst_clas_cd,
|
|
||||||
inst_name_form,
|
|
||||||
inst_name,
|
|
||||||
pref_cd,
|
|
||||||
city_cd,
|
|
||||||
pref_name,
|
|
||||||
city_name,
|
|
||||||
address,
|
|
||||||
postal_cd,
|
|
||||||
tel_num,
|
|
||||||
bed_num,
|
|
||||||
manage_cd,
|
|
||||||
manage_name,
|
|
||||||
delete_date,
|
|
||||||
inst_div_cd,
|
|
||||||
inst_div_name,
|
|
||||||
yobi,
|
|
||||||
creater,
|
|
||||||
create_date,
|
|
||||||
updater,
|
|
||||||
update_date
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
cp.dcf_dsf_inst_cd,
|
|
||||||
'2',
|
|
||||||
cp.form_inst_name_kanji,
|
|
||||||
cp.inst_name_kanji,
|
|
||||||
cp.prefc_cd,
|
|
||||||
cp.city_cd,
|
|
||||||
mp.prefc_name,
|
|
||||||
LEFT(mc.city_name, 40),
|
|
||||||
cp.inst_addr,
|
|
||||||
cp.postal_number,
|
|
||||||
null,
|
|
||||||
null,
|
|
||||||
null,
|
|
||||||
LEFT(cm.manage_name, 40),
|
|
||||||
cp.abolish_ymd,
|
|
||||||
cp.inst_div_cd,
|
|
||||||
LEFT(cid.inst_div_name, 40),
|
|
||||||
null,
|
|
||||||
cp.create_user,
|
|
||||||
cp.regist_date,
|
|
||||||
cp.update_user,
|
|
||||||
cp.update_date
|
|
||||||
FROM
|
|
||||||
src05.com_pharm AS cp
|
|
||||||
LEFT OUTER JOIN src05.mst_prefc AS mp
|
|
||||||
ON cp.prefc_cd = mp.prefc_cd
|
|
||||||
LEFT OUTER JOIN src05.mst_city AS mc
|
|
||||||
ON cp.prefc_cd = mc.prefc_cd
|
|
||||||
AND cp.city_cd = mc.city_cd
|
|
||||||
LEFT OUTER JOIN src05.com_manage AS cm
|
|
||||||
ON cp.manage_cd = cm.manage_cd
|
|
||||||
LEFT OUTER JOIN src05.com_inst_div AS cid
|
|
||||||
ON cp.inst_div_cd = cid.inst_div_cd
|
|
||||||
"""
|
|
||||||
res = db.execute(sql)
|
|
||||||
logger.info(f'COM_薬局からメルク施設マスタに登録成功')
|
|
||||||
except Exception as e:
|
|
||||||
logger.debug("COM_薬局からメルク施設マスタに登録失敗")
|
|
||||||
raise e
|
raise e
|
||||||
|
|
||||||
|
logger.info("メルク施設マスタの全件削除に成功")
|
||||||
return
|
return
|
||||||
|
|
||||||
def _insert_mst_inst_all_from_com_inst(self, db: Database):
|
def _insert_mst_inst_all_from_com_inst(self, db: Database):
|
||||||
@ -196,9 +134,9 @@ class MstInstAll(JskultBatchEntrypoint):
|
|||||||
SET SESSION optimizer_switch = 'derived_merge=off'
|
SET SESSION optimizer_switch = 'derived_merge=off'
|
||||||
"""
|
"""
|
||||||
db.execute(sql)
|
db.execute(sql)
|
||||||
logger.debug("オプティマイザのderived_mergeフラグ = Off")
|
logger.info("オプティマイザのderived_mergeフラグ = Off")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug("オプティマイザのderived_mergeフラグの値変更に失敗")
|
logger.info("オプティマイザのderived_mergeフラグの値変更に失敗")
|
||||||
raise e
|
raise e
|
||||||
|
|
||||||
# com_instから、mst_inst_allへInsert
|
# com_instから、mst_inst_allへInsert
|
||||||
@ -265,9 +203,81 @@ class MstInstAll(JskultBatchEntrypoint):
|
|||||||
ON ci.inst_div_cd = cid.inst_div_cd
|
ON ci.inst_div_cd = cid.inst_div_cd
|
||||||
"""
|
"""
|
||||||
res = db.execute(sql)
|
res = db.execute(sql)
|
||||||
logger.info(f'COM_施設からメルク施設マスタに登録成功')
|
logger.info("COM_施設からメルク施設マスタに登録成功")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug("COM_施設からメルク施設マスタに登録失敗")
|
logger.info("COM_施設からメルク施設マスタに登録失敗")
|
||||||
|
raise e
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
|
def _insert_mst_inst_all_from_com_pharm(self, db: Database):
|
||||||
|
# com_pharmから、mst_inst_allへInsert
|
||||||
|
try:
|
||||||
|
sql = """
|
||||||
|
INSERT INTO
|
||||||
|
src07.mst_inst_all (
|
||||||
|
inst_cd,
|
||||||
|
inst_clas_cd,
|
||||||
|
inst_name_form,
|
||||||
|
inst_name,
|
||||||
|
pref_cd,
|
||||||
|
city_cd,
|
||||||
|
pref_name,
|
||||||
|
city_name,
|
||||||
|
address,
|
||||||
|
postal_cd,
|
||||||
|
tel_num,
|
||||||
|
bed_num,
|
||||||
|
manage_cd,
|
||||||
|
manage_name,
|
||||||
|
delete_date,
|
||||||
|
inst_div_cd,
|
||||||
|
inst_div_name,
|
||||||
|
yobi,
|
||||||
|
creater,
|
||||||
|
create_date,
|
||||||
|
updater,
|
||||||
|
update_date
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
cp.dcf_dsf_inst_cd,
|
||||||
|
'2',
|
||||||
|
cp.form_inst_name_kanji,
|
||||||
|
cp.inst_name_kanji,
|
||||||
|
cp.prefc_cd,
|
||||||
|
cp.city_cd,
|
||||||
|
mp.prefc_name,
|
||||||
|
LEFT(mc.city_name, 40),
|
||||||
|
cp.inst_addr,
|
||||||
|
cp.postal_number,
|
||||||
|
cp.inst_phone_number,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
cp.abolish_ymd,
|
||||||
|
cp.inst_div_cd,
|
||||||
|
LEFT(cid.inst_div_name, 40),
|
||||||
|
null,
|
||||||
|
cp.create_user,
|
||||||
|
cp.regist_date,
|
||||||
|
cp.update_user,
|
||||||
|
cp.update_date
|
||||||
|
FROM
|
||||||
|
src05.com_pharm AS cp
|
||||||
|
LEFT OUTER JOIN src05.mst_prefc AS mp
|
||||||
|
ON cp.prefc_cd = mp.prefc_cd
|
||||||
|
LEFT OUTER JOIN src05.mst_city AS mc
|
||||||
|
ON cp.prefc_cd = mc.prefc_cd
|
||||||
|
AND cp.city_cd = mc.city_cd
|
||||||
|
LEFT OUTER JOIN src05.com_manage AS cm
|
||||||
|
ON cp.manage_cd = cm.manage_cd
|
||||||
|
LEFT OUTER JOIN src05.com_inst_div AS cid
|
||||||
|
ON cp.inst_div_cd = cid.inst_div_cd
|
||||||
|
"""
|
||||||
|
res = db.execute(sql)
|
||||||
|
logger.info("COM_薬局からメルク施設マスタに登録成功")
|
||||||
|
except Exception as e:
|
||||||
|
logger.info("COM_薬局からメルク施設マスタに登録失敗")
|
||||||
raise e
|
raise e
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user