newdwh2021/ecs/jskult-webapp/src/services/batch_status_service.py
shimoda.m@nds-tyo.co.jp 65acc3ce09 style: format適用
2023-05-12 13:39:14 +09:00

42 lines
1.7 KiB
Python

from src.aws.aws_api_client import AWSAPIClient
from src.error.exceptions import DBException
from src.model.db.hdke_tbl import HdkeTblModel
from src.repositories.base_repository import BaseRepository
from src.repositories.hdke_tbl_repository import HdkeTblRepository
from src.services.base_service import BaseService
class BatchStatusService(BaseService):
REPOSITORIES = {
'hdke_table_repository': HdkeTblRepository
}
hdke_table_repository: HdkeTblRepository
__hdke_table_record: list[HdkeTblModel] = []
def __init__(self, repositories: dict[str, BaseRepository], clients: dict[str, AWSAPIClient]) -> None:
super().__init__(repositories, clients)
self.hdke_table_repository = repositories['hdke_table_repository']
# サービスインスタンス生成時に日付テーブルを取得する。取得できない場合は例外とする
try:
self.__hdke_table_record = self.hdke_table_repository.fetch_all()
except Exception as e:
raise DBException(e)
@property
def hdke_table_record(self) -> HdkeTblModel:
# 日付マスタのレコードがあることを確認
self.__assert_record_exists()
# 日付テーブルのレコードは必ず1件
return self.__hdke_table_record[0]
def is_batch_processing(self):
# 日付マスタのレコードがあることを確認
self.__assert_record_exists()
return self.hdke_table_record.bch_actf == '1' # TODO: 定数化する
def __assert_record_exists(self):
# 日付マスタのレコードがない場合は例外とする
if len(self.__hdke_table_record) == 0:
raise DBException('日付テーブルのレコードが存在しません')