format: フォーマット適用
This commit is contained in:
parent
655e512f0d
commit
31a8f79fca
@ -1,25 +1,22 @@
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
from src.aws.s3 import JskTransferListBucket
|
from src.aws.s3 import JskTransferListBucket
|
||||||
from src.batch.environment.trn_result_data_bio_lot_environment import \
|
from src.batch.environment.trn_result_data_bio_lot_environment import \
|
||||||
TrnResultDataBioLotEnvironment
|
TrnResultDataBioLotEnvironment
|
||||||
from src.batch.jskult_batch_entrypoint import JskultBatchEntrypoint
|
from src.batch.jskult_batch_entrypoint import JskultBatchEntrypoint
|
||||||
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.db.database import Database
|
from src.db.database import Database
|
||||||
from src.error.exceptions import (BatchOperationException,
|
from src.error.exceptions import (BatchOperationException,
|
||||||
EnvironmentVariableNotSetException,
|
EnvironmentVariableNotSetException,
|
||||||
MaxRunCountReachedException)
|
MaxRunCountReachedException)
|
||||||
from src.logging.get_logger import get_logger
|
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 constants
|
from src.system_var import constants
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
logger = get_logger('生物由来卸販売ロット分解')
|
logger = get_logger('生物由来卸販売ロット分解')
|
||||||
|
|
||||||
|
|
||||||
class TrnResultDataBioLot(JskultBatchEntrypoint):
|
class TrnResultDataBioLot(JskultBatchEntrypoint):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
@ -36,7 +33,6 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
"""生物由来卸販売ロット分解"""
|
"""生物由来卸販売ロット分解"""
|
||||||
logger.info('生物由来卸販売ロット分解処理開始')
|
logger.info('生物由来卸販売ロット分解処理開始')
|
||||||
|
|
||||||
|
|
||||||
jskult_hdke_tbl_manager = JskultHdkeTblManager()
|
jskult_hdke_tbl_manager = JskultHdkeTblManager()
|
||||||
jskult_batch_run_manager = JskultBatchRunManager(
|
jskult_batch_run_manager = JskultBatchRunManager(
|
||||||
self.environment.BATCH_MANAGE_DYNAMODB_TABLE_NAME,
|
self.environment.BATCH_MANAGE_DYNAMODB_TABLE_NAME,
|
||||||
@ -77,12 +73,14 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
)
|
)
|
||||||
try:
|
try:
|
||||||
|
|
||||||
jskult_batch_status_manager.set_process_status(constants.BATCH_ACTF_BATCH_START)
|
jskult_batch_status_manager.set_process_status(
|
||||||
|
constants.BATCH_ACTF_BATCH_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(constants.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()
|
||||||
@ -91,7 +89,8 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
except MaxRunCountReachedException:
|
except MaxRunCountReachedException:
|
||||||
logger.info('最大起動回数に到達したため、生物由来卸販売ロット分解処理を実行します。')
|
logger.info('最大起動回数に到達したため、生物由来卸販売ロット分解処理を実行します。')
|
||||||
|
|
||||||
jskult_batch_status_manager.set_process_status(constants.PROCESS_STATUS_DOING)
|
jskult_batch_status_manager.set_process_status(
|
||||||
|
constants.PROCESS_STATUS_DOING)
|
||||||
db = Database.get_instance()
|
db = Database.get_instance()
|
||||||
try:
|
try:
|
||||||
db.connect()
|
db.connect()
|
||||||
@ -105,15 +104,17 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
# 製造ロット管理番号マスタから有効期限を生物由来ロット分解データにセットする
|
# 製造ロット管理番号マスタから有効期限を生物由来ロット分解データにセットする
|
||||||
self._set_expr_dt_from_lot_num_mst(db)
|
self._set_expr_dt_from_lot_num_mst(db)
|
||||||
# 施設情報を生物由来ロット分解データにセットする
|
# 施設情報を生物由来ロット分解データにセットする
|
||||||
self._set_inst_info_from_com_inst_or_com_pharm_or_mst_inst_merck(db)
|
self._set_inst_info_from_com_inst_or_com_pharm_or_mst_inst_merck(
|
||||||
|
db)
|
||||||
db.commit()
|
db.commit()
|
||||||
logger.info('生物由来卸販売ロット分解処理終了')
|
logger.info('生物由来卸販売ロット分解処理終了')
|
||||||
# 処理が全て正常終了した際に、バッチ実行管理テーブルに「success」で登録
|
# 処理が全て正常終了した際に、バッチ実行管理テーブルに「success」で登録
|
||||||
logger.info("生物由来卸販売ロット分解処理を正常終了します。")
|
logger.info("生物由来卸販売ロット分解処理を正常終了します。")
|
||||||
jskult_batch_run_manager.batch_success()
|
jskult_batch_run_manager.batch_success()
|
||||||
jskult_batch_status_manager.set_process_status(constants.PROCESS_STATUS_DONE)
|
jskult_batch_status_manager.set_process_status(
|
||||||
|
constants.PROCESS_STATUS_DONE)
|
||||||
return
|
return
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
raise BatchOperationException(e)
|
raise BatchOperationException(e)
|
||||||
@ -123,8 +124,8 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
# 何らかのエラーが発生した際に、バッチ実行管理テーブルに「failed」で登録
|
# 何らかのエラーが発生した際に、バッチ実行管理テーブルに「failed」で登録
|
||||||
logger.exception(f'予期せぬエラーが発生したため、生物由来卸販売ロット分解処理を終了します。{e}')
|
logger.exception(f'予期せぬエラーが発生したため、生物由来卸販売ロット分解処理を終了します。{e}')
|
||||||
jskult_batch_run_manager.batch_failed()
|
jskult_batch_run_manager.batch_failed()
|
||||||
jskult_batch_status_manager.set_process_status(constants.PROCESS_STATUS_ERROR)
|
jskult_batch_status_manager.set_process_status(
|
||||||
|
constants.PROCESS_STATUS_ERROR)
|
||||||
|
|
||||||
def _delete_not_confirm_data_in_trn_result_data_bio_lot(self, db: Database):
|
def _delete_not_confirm_data_in_trn_result_data_bio_lot(self, db: Database):
|
||||||
logger.info('生物由来ロット分解データの未確定データ削除開始')
|
logger.info('生物由来ロット分解データの未確定データ削除開始')
|
||||||
@ -136,13 +137,12 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
AND bio.seq_no = lot.seq_no
|
AND bio.seq_no = lot.seq_no
|
||||||
AND IFNULL(bio.upd_date, bio.ins_date) >= src07.get_syor_date()
|
AND IFNULL(bio.upd_date, bio.ins_date) >= src07.get_syor_date()
|
||||||
"""
|
"""
|
||||||
res = db.execute(sql)
|
db.execute(sql)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.info('生物由来ロット分解データの未確定データ削除に失敗')
|
logger.info('生物由来ロット分解データの未確定データ削除に失敗')
|
||||||
raise e
|
raise e
|
||||||
logger.info('生物由来ロット分解データの未確定データ削除に成功')
|
logger.info('生物由来ロット分解データの未確定データ削除に成功')
|
||||||
|
|
||||||
|
|
||||||
def _insert_trn_result_data_bio_lot(self, db: Database):
|
def _insert_trn_result_data_bio_lot(self, db: Database):
|
||||||
logger.info('生物由来ロット分解データの作成開始')
|
logger.info('生物由来ロット分解データの作成開始')
|
||||||
try:
|
try:
|
||||||
@ -222,7 +222,6 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
raise e
|
raise e
|
||||||
logger.info('生物由来ロット分解データの作成に成功')
|
logger.info('生物由来ロット分解データの作成に成功')
|
||||||
|
|
||||||
|
|
||||||
def _delete_empty_lot_record(self, db: Database):
|
def _delete_empty_lot_record(self, db: Database):
|
||||||
logger.info('生物由来ロット分解データのロット番号が空のレコードを削除開始')
|
logger.info('生物由来ロット分解データのロット番号が空のレコードを削除開始')
|
||||||
try:
|
try:
|
||||||
@ -232,13 +231,12 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
-- 空白15桁のデータはロット情報が空とみなして削除する
|
-- 空白15桁のデータはロット情報が空とみなして削除する
|
||||||
lot.cnvs_lot_no = REPEAT(' ', 15) OR lot.cnvs_lot_no IS NULL
|
lot.cnvs_lot_no = REPEAT(' ', 15) OR lot.cnvs_lot_no IS NULL
|
||||||
"""
|
"""
|
||||||
res = db.execute(sql)
|
db.execute(sql)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.info('生物由来ロット分解データのロット番号が空のレコードを削除に失敗')
|
logger.info('生物由来ロット分解データのロット番号が空のレコードを削除に失敗')
|
||||||
raise e
|
raise e
|
||||||
logger.info('生物由来ロット分解データのロット番号が空のレコードを削除に成功')
|
logger.info('生物由来ロット分解データのロット番号が空のレコードを削除に成功')
|
||||||
|
|
||||||
|
|
||||||
def _set_inst_info_from_com_inst_or_com_pharm_or_mst_inst_merck(self, db: Database):
|
def _set_inst_info_from_com_inst_or_com_pharm_or_mst_inst_merck(self, db: Database):
|
||||||
logger.info('COM_施設 or COM_薬局 or メルク独自施設マスタから施設情報を生物由来ロット分解データにセット開始')
|
logger.info('COM_施設 or COM_薬局 or メルク独自施設マスタから施設情報を生物由来ロット分解データにセット開始')
|
||||||
try:
|
try:
|
||||||
@ -273,13 +271,13 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
END
|
END
|
||||||
)
|
)
|
||||||
"""
|
"""
|
||||||
res = db.execute(sql)
|
db.execute(sql)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.info('COM_施設 or COM_薬局 or メルク独自施設マスタから施設情報を生物由来ロット分解データにセット失敗')
|
logger.info(
|
||||||
|
'COM_施設 or COM_薬局 or メルク独自施設マスタから施設情報を生物由来ロット分解データにセット失敗')
|
||||||
raise e
|
raise e
|
||||||
logger.info('COM_施設 or COM_薬局 or メルク独自施設マスタから施設情報を生物由来ロット分解データにセット成功')
|
logger.info('COM_施設 or COM_薬局 or メルク独自施設マスタから施設情報を生物由来ロット分解データにセット成功')
|
||||||
|
|
||||||
|
|
||||||
def _set_ck_last_dt_txt_from_customer_lotno_all(self, db: Database):
|
def _set_ck_last_dt_txt_from_customer_lotno_all(self, db: Database):
|
||||||
# ロットマスタから有効期限をセット
|
# ロットマスタから有効期限をセット
|
||||||
logger.info('ロットマスタから有効期限をセット開始')
|
logger.info('ロットマスタから有効期限をセット開始')
|
||||||
@ -293,7 +291,7 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
SET
|
SET
|
||||||
bio.ck_last_dt_txt = cla.ck_last_dt_txt
|
bio.ck_last_dt_txt = cla.ck_last_dt_txt
|
||||||
"""
|
"""
|
||||||
res = db.execute(sql)
|
db.execute(sql)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.info('ロットマスタから有効期限をセット失敗')
|
logger.info('ロットマスタから有効期限をセット失敗')
|
||||||
raise e
|
raise e
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user