42 lines
1.7 KiB
Python
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('日付テーブルのレコードが存在しません')
|