fix: バグ修正
This commit is contained in:
parent
af6d995e6d
commit
b7c3b8ca11
@ -14,7 +14,7 @@ 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 constants
|
from src.system_var import constants
|
||||||
|
|
||||||
logger = get_logger('生物由来卸販売ロット分解')
|
logger = get_logger('生物由来ロット分解')
|
||||||
|
|
||||||
|
|
||||||
class TrnResultDataBioLot(JskultBatchEntrypoint):
|
class TrnResultDataBioLot(JskultBatchEntrypoint):
|
||||||
@ -30,8 +30,8 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
return
|
return
|
||||||
|
|
||||||
def execute(self):
|
def execute(self):
|
||||||
"""生物由来卸販売ロット分解"""
|
"""生物由来ロット分解"""
|
||||||
logger.info('生物由来卸販売ロット分解処理開始')
|
logger.info('生物由来ロット分解処理開始')
|
||||||
|
|
||||||
jskult_hdke_tbl_manager = JskultHdkeTblManager()
|
jskult_hdke_tbl_manager = JskultHdkeTblManager()
|
||||||
jskult_batch_run_manager = JskultBatchRunManager(
|
jskult_batch_run_manager = JskultBatchRunManager(
|
||||||
@ -39,7 +39,7 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
self.environment.BATCH_EXECUTION_ID)
|
self.environment.BATCH_EXECUTION_ID)
|
||||||
if not jskult_hdke_tbl_manager.can_run_process():
|
if not jskult_hdke_tbl_manager.can_run_process():
|
||||||
logger.error(
|
logger.error(
|
||||||
'日次バッチ処理中またはdump取得が正常終了していないため、生物由来卸販売ロット分解処理を終了します。')
|
'日次バッチ処理中またはdump取得が正常終了していないため、生物由来ロット分解処理を終了します。')
|
||||||
# バッチ実行管理テーブルをfailedで登録
|
# バッチ実行管理テーブルをfailedで登録
|
||||||
jskult_batch_run_manager.batch_failed()
|
jskult_batch_run_manager.batch_failed()
|
||||||
return
|
return
|
||||||
@ -86,7 +86,7 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
|
|
||||||
return
|
return
|
||||||
except MaxRunCountReachedException:
|
except MaxRunCountReachedException:
|
||||||
logger.info('最大起動回数に到達したため、生物由来卸販売ロット分解処理を実行します。')
|
logger.info('最大起動回数に到達したため、生物由来ロット分解処理を実行します。')
|
||||||
|
|
||||||
jskult_batch_status_manager.set_process_status(
|
jskult_batch_status_manager.set_process_status(
|
||||||
constants.PROCESS_STATUS_DOING)
|
constants.PROCESS_STATUS_DOING)
|
||||||
@ -101,14 +101,14 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
# 生物由来ロット分解データの不要レコードを削除する
|
# 生物由来ロット分解データの不要レコードを削除する
|
||||||
self._delete_empty_lot_record(db)
|
self._delete_empty_lot_record(db)
|
||||||
# 製造ロット管理番号マスタから有効期限を生物由来ロット分解データにセットする
|
# 製造ロット管理番号マスタから有効期限を生物由来ロット分解データにセットする
|
||||||
self._set_expr_dt_from_lot_num_mst(db)
|
self._set_expr_dt_from_customer_lotno_all(db)
|
||||||
# 施設情報を生物由来ロット分解データにセットする
|
# 施設情報を生物由来ロット分解データにセットする
|
||||||
self._set_inst_info_from_com_inst_or_com_pharm_or_mst_inst_merck(
|
self._set_inst_info_from_com_inst_or_com_pharm_or_mst_inst_merck(
|
||||||
db)
|
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(
|
jskult_batch_status_manager.set_process_status(
|
||||||
constants.PROCESS_STATUS_DONE)
|
constants.PROCESS_STATUS_DONE)
|
||||||
@ -121,7 +121,7 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
db.disconnect()
|
db.disconnect()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
# 何らかのエラーが発生した際に、バッチ実行管理テーブルに「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(
|
jskult_batch_status_manager.set_process_status(
|
||||||
constants.PROCESS_STATUS_ERROR)
|
constants.PROCESS_STATUS_ERROR)
|
||||||
@ -186,8 +186,8 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
bio.cnvs_inst_cd AS cnvs_inst_cd,
|
bio.cnvs_inst_cd AS cnvs_inst_cd,
|
||||||
bio.cls_inst_nm AS cls_inst_nm,
|
bio.cls_inst_nm AS cls_inst_nm,
|
||||||
-- COM_施設 or COM_薬局 or メルク独自施設マスタから後ほどセット
|
-- COM_施設 or COM_薬局 or メルク独自施設マスタから後ほどセット
|
||||||
NULL AS inst_addr,
|
NULL AS address,
|
||||||
NULL AS inst_tel,
|
NULL AS tel_num,
|
||||||
bio.result_cd AS result_cd,
|
bio.result_cd AS result_cd,
|
||||||
bio.src_cd AS src_cd,
|
bio.src_cd AS src_cd,
|
||||||
-- 判定結果CDより値を設定する
|
-- 判定結果CDより値を設定する
|
||||||
@ -206,7 +206,7 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
WHEN 'S' THEN 'SCSK-VAN'
|
WHEN 'S' THEN 'SCSK-VAN'
|
||||||
END AS if_kind,
|
END AS if_kind,
|
||||||
-- 製品コード、ロット番号でロットマスタより後ほどセット
|
-- 製品コード、ロット番号でロットマスタより後ほどセット
|
||||||
NULL AS ck_last_dt_txt
|
NULL AS expr_dt
|
||||||
FROM
|
FROM
|
||||||
src07.trn_result_data_bio bio
|
src07.trn_result_data_bio bio
|
||||||
-- 生物由来変換マスタ
|
-- 生物由来変換マスタ
|
||||||
@ -254,7 +254,7 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
AND DATE_FORMAT(bio.cnvs_sales_dt, '%Y%m') BETWEEN mim.eff_start_ym
|
AND DATE_FORMAT(bio.cnvs_sales_dt, '%Y%m') BETWEEN mim.eff_start_ym
|
||||||
AND mim.eff_end_ym
|
AND mim.eff_end_ym
|
||||||
-- 施設住所
|
-- 施設住所
|
||||||
SET bio.inst_addr = (
|
SET bio.address = (
|
||||||
CASE LEFT(bio.cnvs_inst_cd, 2)
|
CASE LEFT(bio.cnvs_inst_cd, 2)
|
||||||
WHEN '00' THEN ci.inst_addr
|
WHEN '00' THEN ci.inst_addr
|
||||||
WHEN '03' THEN cp.inst_addr
|
WHEN '03' THEN cp.inst_addr
|
||||||
@ -262,10 +262,10 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
END
|
END
|
||||||
),
|
),
|
||||||
-- 施設電話番号
|
-- 施設電話番号
|
||||||
bio.inst_tel = (
|
bio.tel_num = (
|
||||||
CASE LEFT(bio.cnvs_inst_cd, 2)
|
CASE LEFT(bio.cnvs_inst_cd, 2)
|
||||||
WHEN '00' THEN ci.inst_phone_number
|
WHEN '00' THEN ci.inst_phone_number
|
||||||
WHEN '03' THEN cm.inst_phone_number
|
WHEN '03' THEN cp.inst_phone_number
|
||||||
ELSE mim.tel_no
|
ELSE mim.tel_no
|
||||||
END
|
END
|
||||||
)
|
)
|
||||||
@ -277,7 +277,7 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
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_expr_dt_from_customer_lotno_all(self, db: Database):
|
||||||
# ロットマスタから有効期限をセット
|
# ロットマスタから有効期限をセット
|
||||||
logger.info('ロットマスタから有効期限をセット開始')
|
logger.info('ロットマスタから有効期限をセット開始')
|
||||||
try:
|
try:
|
||||||
@ -288,7 +288,7 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
|||||||
ON bio.cnvs_prod_cd = cla.material_cd
|
ON bio.cnvs_prod_cd = cla.material_cd
|
||||||
AND bio.cnvs_lot_no = cla.lot_no_txt
|
AND bio.cnvs_lot_no = cla.lot_no_txt
|
||||||
SET
|
SET
|
||||||
bio.ck_last_dt_txt = cla.ck_last_dt_txt
|
bio.expr_dt = cla.ck_last_dt_txt
|
||||||
"""
|
"""
|
||||||
db.execute(sql)
|
db.execute(sql)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user