DBのconnectの修正と文体の修正
This commit is contained in:
parent
fa408d2a83
commit
fdabeb9d3d
@ -2,12 +2,6 @@ import os
|
|||||||
from src.error.exceptions import MaxRunCountReachedException
|
from src.error.exceptions import MaxRunCountReachedException
|
||||||
from src.db.database import Database
|
from src.db.database import Database
|
||||||
|
|
||||||
DB_USERNAME = os.environ.get("DB_USERNAME")
|
|
||||||
DB_PASSWORD = os.environ.get("DB_PASSWORD")
|
|
||||||
DB_HOST = os.environ.get("DB_HOST")
|
|
||||||
DB_PORT = os.environ.get("DB_PORT")
|
|
||||||
DB_SCHEMA = os.environ.get("DB_SCHEMA")
|
|
||||||
|
|
||||||
# 実消化&アルトマーク_バッチステータス管理テーブルを管理するクラス
|
# 実消化&アルトマーク_バッチステータス管理テーブルを管理するクラス
|
||||||
|
|
||||||
|
|
||||||
@ -27,21 +21,33 @@ class JskultBatchStatusManager:
|
|||||||
self._receive_file_count: str = receive_file_count
|
self._receive_file_count: str = receive_file_count
|
||||||
|
|
||||||
# DB接続モジュール(バッチ)のget_instanceを呼び出し設定
|
# DB接続モジュール(バッチ)のget_instanceを呼び出し設定
|
||||||
self._db = Database(DB_USERNAME, DB_PASSWORD, DB_HOST,
|
self._db = Database.get_instance()
|
||||||
DB_PORT, DB_SCHEMA).get_instance()
|
|
||||||
|
|
||||||
# 処理ステータスの登録および更新を行う
|
# 処理ステータスの登録および更新を行う
|
||||||
|
|
||||||
def set_process_status(self, process_status: str):
|
def set_process_status(self, process_status: str):
|
||||||
try:
|
try:
|
||||||
|
# DB接続開始
|
||||||
|
self._db.connect()
|
||||||
self._db.begin()
|
self._db.begin()
|
||||||
|
self._db.to_jst()
|
||||||
self._db.execute(
|
self._db.execute(
|
||||||
f"CALL upsert_jskult_batch_status_manage({self._process_name}, {self._process_type}, {process_status}, NULL, NULL);"
|
f"""
|
||||||
|
CALL
|
||||||
|
internal07.upsert_jskult_batch_status_manage(
|
||||||
|
{self._process_name},
|
||||||
|
{self._process_type},
|
||||||
|
{process_status},
|
||||||
|
NULL,
|
||||||
|
NULL
|
||||||
|
);"""
|
||||||
)
|
)
|
||||||
self._db.commit()
|
self._db.commit()
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
||||||
# Exceptionをcatchした場合はrollback
|
# Exceptionをcatchした場合はrollback
|
||||||
|
print(self._db)
|
||||||
self._db.rollback()
|
self._db.rollback()
|
||||||
raise e
|
raise e
|
||||||
|
|
||||||
@ -49,9 +55,20 @@ class JskultBatchStatusManager:
|
|||||||
def can_run_post_process(self):
|
def can_run_post_process(self):
|
||||||
|
|
||||||
# SELECTの結果からレコード数を取得
|
# SELECTの結果からレコード数を取得
|
||||||
record_count = self._db.execute_select(
|
record = self._db.execute_select(
|
||||||
f"SELECT * FROM internal07.jskult_batch_status_manage WHERE process_name = {self._process_name} AND process_date = src07.get_syor_date();"
|
f"""
|
||||||
).count()
|
SELECT
|
||||||
|
COUNT(*)
|
||||||
|
FROM
|
||||||
|
internal07.jskult_batch_status_manage
|
||||||
|
WHERE
|
||||||
|
process_name = {self._process_name}
|
||||||
|
AND
|
||||||
|
process_date = src07.get_syor_date();
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
|
||||||
|
record_count = record[0]['count']
|
||||||
|
|
||||||
if record_count == 0:
|
if record_count == 0:
|
||||||
raise ValueError("レコードの取得が出来ませんでした。")
|
raise ValueError("レコードの取得が出来ませんでした。")
|
||||||
@ -76,9 +93,20 @@ class JskultBatchStatusManager:
|
|||||||
def can_run_business_day_update(self):
|
def can_run_business_day_update(self):
|
||||||
|
|
||||||
# SELECTの結果からレコード数を取得
|
# SELECTの結果からレコード数を取得
|
||||||
record_count = self._db.execute_select(
|
record = self._db.execute_select(
|
||||||
f"SELECT * FROM internal07.jskult_batch_status_manage WHERE process_name = {self._process_name} AND process_date = src07.get_syor_date();"
|
f"""
|
||||||
).count()
|
SELECT
|
||||||
|
COUNT(*)
|
||||||
|
FROM
|
||||||
|
internal07.jskult_batch_status_manage
|
||||||
|
WHERE
|
||||||
|
process_name = {self._process_name}
|
||||||
|
AND
|
||||||
|
process_date = src07.get_syor_date();
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
|
||||||
|
record_count = record[0]['count']
|
||||||
|
|
||||||
if record_count == 0:
|
if record_count == 0:
|
||||||
raise ValueError("レコードの取得が出来ませんでした。")
|
raise ValueError("レコードの取得が出来ませんでした。")
|
||||||
@ -106,10 +134,19 @@ class JskultBatchStatusManager:
|
|||||||
|
|
||||||
# SELECTの結果からレコード数を取得
|
# SELECTの結果からレコード数を取得
|
||||||
record_count = self._db.execute_select(
|
record_count = self._db.execute_select(
|
||||||
f"SELECT * FROM internal07.jskult_batch_status_manage WHERE process_name = 'jskult-batch-ultmarc-io' AND process_date = src07.get_syor_date();"
|
f"""
|
||||||
).count()
|
SELECT
|
||||||
|
COUNT(*)
|
||||||
|
FROM
|
||||||
|
internal07.jskult_batch_status_manage
|
||||||
|
WHERE
|
||||||
|
process_name = 'jskult-batch-ultmarc-io'
|
||||||
|
AND
|
||||||
|
process_date = src07.get_syor_date();
|
||||||
|
"""
|
||||||
|
)
|
||||||
# アルトマークデータ連携が無かった場合
|
# アルトマークデータ連携が無かった場合
|
||||||
if record_count == 0:
|
if record_count.pop() == 0:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
return True
|
return True
|
||||||
@ -117,16 +154,37 @@ class JskultBatchStatusManager:
|
|||||||
# 起動回数をインクリメントする
|
# 起動回数をインクリメントする
|
||||||
def _increment_run_count(self):
|
def _increment_run_count(self):
|
||||||
try:
|
try:
|
||||||
|
# DB接続開始
|
||||||
|
self._db.connect()
|
||||||
self._db.begin()
|
self._db.begin()
|
||||||
|
self._db.to_jst()
|
||||||
# SELECTの結果からレコードを取得
|
# SELECTの結果からレコードを取得
|
||||||
record = self._db.execute_select(
|
record = self._db.execute_select(
|
||||||
f"SELECT * FROM internal07.jskult_batch_status_manage WHERE process_name = {self._process_name} AND process_date = src07.get_syor_date();"
|
f"""
|
||||||
|
SELECT
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
internal07.jskult_batch_status_manage
|
||||||
|
WHERE
|
||||||
|
process_name = {self._process_name}
|
||||||
|
AND
|
||||||
|
process_date = src07.get_syor_date();
|
||||||
|
"""
|
||||||
)
|
)
|
||||||
|
|
||||||
run_count += record[0]['run_count']
|
run_count += record[0]['run_count']
|
||||||
|
|
||||||
self._db.execute(
|
self._db.execute(
|
||||||
f"CALL upsert_jskult_batch_status_manage({self._process_name}, {self._process_type}, NULL, {run_count}, NULL);")
|
f"""
|
||||||
|
CALL
|
||||||
|
upsert_jskult_batch_status_manage(
|
||||||
|
{self._process_name},
|
||||||
|
{self._process_type},
|
||||||
|
NULL,
|
||||||
|
{run_count},
|
||||||
|
NULL);
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
|
||||||
self._db.commit()
|
self._db.commit()
|
||||||
|
|
||||||
@ -140,9 +198,22 @@ class JskultBatchStatusManager:
|
|||||||
def _is_done_data_import(self):
|
def _is_done_data_import(self):
|
||||||
|
|
||||||
# SELECTの結果からレコード数を取得
|
# SELECTの結果からレコード数を取得
|
||||||
record_count = self._db.execute_select(
|
record = self._db.execute_select(
|
||||||
f"SELECT * FROM internal07.jskult_batch_status_manage WHERE process_type = {self._process_type} AND process_status = 'done' AND process_date = src07.get_syor_date();"
|
f"""
|
||||||
).count()
|
SELECT
|
||||||
|
COUNT(*)
|
||||||
|
FROM
|
||||||
|
internal07.jskult_batch_status_manage
|
||||||
|
WHERE
|
||||||
|
process_type = {self._process_type}
|
||||||
|
AND
|
||||||
|
process_status = 'done'
|
||||||
|
AND
|
||||||
|
process_date = src07.get_syor_date();
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
|
||||||
|
record_count = record[0]['count']
|
||||||
|
|
||||||
# データ取込数が一致している場合
|
# データ取込数が一致している場合
|
||||||
if (self._receive_file_count == record_count):
|
if (self._receive_file_count == record_count):
|
||||||
@ -153,12 +224,15 @@ class JskultBatchStatusManager:
|
|||||||
# 後続処理のすべての処理が完了しているかを判定する
|
# 後続処理のすべての処理が完了しているかを判定する
|
||||||
def _is_done_post_process(self):
|
def _is_done_post_process(self):
|
||||||
|
|
||||||
|
# 生物由来データロット分解のチェック
|
||||||
if not self._is_done_process("jskult-batch-trn-result-data-bio-lot"):
|
if not self._is_done_process("jskult-batch-trn-result-data-bio-lot"):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
# メルク施設マスタ作成のチェック
|
||||||
if not self._is_done_process("jskult-batch-mst-inst"):
|
if not self._is_done_process("jskult-batch-mst-inst"):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
# DCF削除新規マスタ作成のチェック
|
||||||
if not self._is_done_process("jskult-batch-dcf-inst-merge-io"):
|
if not self._is_done_process("jskult-batch-dcf-inst-merge-io"):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@ -170,9 +244,22 @@ class JskultBatchStatusManager:
|
|||||||
def _is_done_process(self):
|
def _is_done_process(self):
|
||||||
|
|
||||||
# SELECTの結果からレコード数を取得
|
# SELECTの結果からレコード数を取得
|
||||||
record_count = self._db.execute_select(
|
record = self._db.execute_select(
|
||||||
f"SELECT * FROM internal07.jskult_batch_status_manage WHERE process_name = {self._process_name} AND process_status = 'done' AND process_date = src07.get_syor_date();"
|
f"""
|
||||||
).count()
|
SELECT
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
internal07.jskult_batch_status_manage
|
||||||
|
WHERE
|
||||||
|
process_name = {self._process_name}
|
||||||
|
AND
|
||||||
|
process_status = 'done'
|
||||||
|
AND
|
||||||
|
process_date = src07.get_syor_date();
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
|
||||||
|
record_count = record[0]['count']
|
||||||
|
|
||||||
if (record_count == 0):
|
if (record_count == 0):
|
||||||
return False
|
return False
|
||||||
@ -183,9 +270,18 @@ class JskultBatchStatusManager:
|
|||||||
|
|
||||||
def _is_max_run_count_reached(self):
|
def _is_max_run_count_reached(self):
|
||||||
|
|
||||||
# SELECTの結果からレコード数を取得
|
# SELECTの結果からレコードを取得
|
||||||
record = self._db.execute_select(
|
record = self._db.execute_select(
|
||||||
f"SELECT * FROM internal07.jskult_batch_status_manage WHERE process_name = {self._process_name} AND process_date = src07.get_syor_date();"
|
f"""
|
||||||
|
SELECT
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
internal07.jskult_batch_status_manage
|
||||||
|
WHERE
|
||||||
|
process_name = {self._process_name}
|
||||||
|
AND
|
||||||
|
process_date = src07.get_syor_date();
|
||||||
|
"""
|
||||||
)
|
)
|
||||||
|
|
||||||
run_count = record[0]['run_count']
|
run_count = record[0]['run_count']
|
||||||
@ -198,11 +294,23 @@ class JskultBatchStatusManager:
|
|||||||
|
|
||||||
def _activate_max_run_count_flg(self):
|
def _activate_max_run_count_flg(self):
|
||||||
try:
|
try:
|
||||||
|
# DB接続開始
|
||||||
|
self._db.connect()
|
||||||
self._db.begin()
|
self._db.begin()
|
||||||
|
self._db.to_jst()
|
||||||
|
|
||||||
# 最大起動回数フラグにフラグを立てる
|
# 最大起動回数フラグにフラグを立てる
|
||||||
self._db.execute(
|
self._db.execute(
|
||||||
f"CALL upsert_jskult_batch_status_manage({self._process_name}, {self._process_type}, NULL, NULL, 1);")
|
f"""
|
||||||
|
CALL
|
||||||
|
upsert_jskult_batch_status_manage(
|
||||||
|
{self._process_name},
|
||||||
|
{self._process_type},
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
1);
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
|
||||||
self._db.commit()
|
self._db.commit()
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user