レビュー指摘対応と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_hdke_tbl_manager import JskultHdkeTblManager
|
||||
from src.system_var import environment
|
||||
from src.system_var import constants
|
||||
|
||||
logger = get_logger('メルク施設マスタ作成')
|
||||
|
||||
@ -74,119 +75,56 @@ class MstInstAll(JskultBatchEntrypoint):
|
||||
)
|
||||
try:
|
||||
|
||||
jskult_batch_status_manager.set_process_status("start")
|
||||
jskult_batch_status_manager.set_process_status(
|
||||
constants.PROCESS_STATUS_START)
|
||||
try:
|
||||
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」で登録
|
||||
jskult_batch_run_manager.batch_retry()
|
||||
|
||||
return
|
||||
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施設削除新規マスタの作成処理を実行
|
||||
if jskult_batch_status_manager.is_done_ultmarc_import():
|
||||
self._db = Database.get_instance()
|
||||
self._db.connect()
|
||||
logger.debug('メルク施設マスタ作成処理開始')
|
||||
# mst_inst_allをTruncate
|
||||
self._truncate_mst_inst_all(self._db)
|
||||
# com_instから、mst_inst_allへInsert
|
||||
self._insert_mst_inst_all_from_com_inst(self._db)
|
||||
# com_pharmから、mst_inst_allへInsert
|
||||
self._insert_mst_inst_all_from_com_pharm(self._db)
|
||||
logger.debug('メルク施設マスタ作成処理終了')
|
||||
db = Database.get_instance()
|
||||
db.connect()
|
||||
logger.info("メルク施設マスタ作成処理開始")
|
||||
# mst_inst_allをTruncate
|
||||
self._truncate_mst_inst_all(db)
|
||||
# com_instから、mst_inst_allへInsert
|
||||
self._insert_mst_inst_all_from_com_inst(db)
|
||||
# com_pharmから、mst_inst_allへInsert
|
||||
self._insert_mst_inst_all_from_com_pharm(db)
|
||||
logger.info("メルク施設マスタ作成処理終了")
|
||||
|
||||
jskult_batch_run_manager.batch_success()
|
||||
jskult_batch_status_manager.set_process_status(
|
||||
constants.PROCESS_STATUS_DONE)
|
||||
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)
|
||||
finally:
|
||||
self._db.disconnect()
|
||||
db.disconnect()
|
||||
|
||||
def _truncate_mst_inst_all(self, db: Database):
|
||||
try:
|
||||
db.execute("TRUNCATE TABLE src07.mst_inst_all")
|
||||
except Exception as e:
|
||||
logger.debug("メルク施設マスタの全件削除に失敗")
|
||||
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_薬局からメルク施設マスタに登録失敗")
|
||||
logger.info("メルク施設マスタの全件削除に失敗")
|
||||
raise e
|
||||
|
||||
logger.info("メルク施設マスタの全件削除に成功")
|
||||
return
|
||||
|
||||
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'
|
||||
"""
|
||||
db.execute(sql)
|
||||
logger.debug("オプティマイザのderived_mergeフラグ = Off")
|
||||
logger.info("オプティマイザのderived_mergeフラグ = Off")
|
||||
except Exception as e:
|
||||
logger.debug("オプティマイザのderived_mergeフラグの値変更に失敗")
|
||||
logger.info("オプティマイザのderived_mergeフラグの値変更に失敗")
|
||||
raise e
|
||||
|
||||
# com_instから、mst_inst_allへInsert
|
||||
@ -265,9 +203,81 @@ class MstInstAll(JskultBatchEntrypoint):
|
||||
ON ci.inst_div_cd = cid.inst_div_cd
|
||||
"""
|
||||
res = db.execute(sql)
|
||||
logger.info(f'COM_施設からメルク施設マスタに登録成功')
|
||||
logger.info("COM_施設からメルク施設マスタに登録成功")
|
||||
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
|
||||
|
||||
return
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user