feat: 生物由来ロット分解処理の雛形を実装。クエリ実装はこれから
This commit is contained in:
parent
5a92b2c263
commit
65ccc61f13
@ -1,4 +1,6 @@
|
||||
from src.batch.common.batch_context import BatchContext
|
||||
from src.db.database import Database
|
||||
from src.error.exceptions import BatchOperationException
|
||||
from src.logging.get_logger import get_logger
|
||||
|
||||
batch_context = BatchContext.get_instance()
|
||||
@ -7,19 +9,56 @@ logger = get_logger('生物由来卸販売ロット分解')
|
||||
|
||||
def exec():
|
||||
"""生物由来卸販売ロット分解"""
|
||||
logger.debug('生物由来卸販売ロット分解:起動')
|
||||
logger.debug('生物由来卸販売ロット分解処理開始')
|
||||
|
||||
# 営業日ではない場合、処理をスキップする
|
||||
if batch_context.is_not_business_day:
|
||||
logger.info('営業日ではないため、生物由来卸販売ロット分解処理をスキップします。')
|
||||
return
|
||||
db = Database.get_instance()
|
||||
try:
|
||||
db.connect()
|
||||
db.begin()
|
||||
# 生物由来ロット分解データの未確定データを削除する
|
||||
_delete_not_confirm_data_in_bio_sales_lot(db)
|
||||
# 生物由来ロット分解データを作成する
|
||||
_insert_bio_sales_lot(db)
|
||||
# 生物由来ロット分解データの不要レコードを削除する
|
||||
_delete_empty_lot_record(db)
|
||||
# 製造ロット管理番号マスタから有効期限を生物由来ロット分解データにセットする
|
||||
_set_expr_dt_from_lot_num_mst(db)
|
||||
# Veeva取引区分が返品(2)の場合、数量をマイナスに反転する
|
||||
_reverse_qty_if_returns(db)
|
||||
db.commit()
|
||||
logger.debug('生物由来卸販売ロット分解処理終了')
|
||||
return
|
||||
except Exception as e:
|
||||
db.rollback()
|
||||
raise BatchOperationException(e)
|
||||
finally:
|
||||
db.disconnect()
|
||||
|
||||
# # 非同期処理のサンプル
|
||||
# import time
|
||||
# for _ in range(50):
|
||||
# logger.info('処理中')
|
||||
# time.sleep(0.5)
|
||||
|
||||
# TODO: ここに処理を追記していく
|
||||
def _delete_not_confirm_data_in_bio_sales_lot(db: Database):
|
||||
# 生物由来ロット分解データの未確定データ削除
|
||||
pass
|
||||
|
||||
logger.debug('生物由来卸販売ロット分解:終了')
|
||||
return
|
||||
|
||||
def _insert_bio_sales_lot(db: Database):
|
||||
# 生物由来ロット分解データを作成
|
||||
pass
|
||||
|
||||
|
||||
def _delete_empty_lot_record(db: Database):
|
||||
# 生物由来ロット分解データの製造番号が空のレコードを削除
|
||||
pass
|
||||
|
||||
|
||||
def _set_expr_dt_from_lot_num_mst(db: Database):
|
||||
# 製造ロット管理番号マスタから有効期限をセット
|
||||
pass
|
||||
|
||||
|
||||
def _reverse_qty_if_returns(db: Database):
|
||||
# Veeva取引区分が返品(2)の場合、数量をマイナスに反転する
|
||||
pass
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user