中途プッシュ
This commit is contained in:
parent
a7bc502f36
commit
9576dc054a
19
ecs/jskult-webapp/src/model/db/generic_kbn_mst.py
Normal file
19
ecs/jskult-webapp/src/model/db/generic_kbn_mst.py
Normal file
@ -0,0 +1,19 @@
|
||||
from datetime import datetime
|
||||
from typing import Optional
|
||||
|
||||
from src.model.db.base_db_model import BaseDBModel
|
||||
|
||||
|
||||
class GenericKbnMstModel(BaseDBModel):
|
||||
generic_kbn_cd: Optional[str]
|
||||
kbn_cd: Optional[str]
|
||||
kbn_fulll_name_jp: Optional[str]
|
||||
kbn_full_name_en: Optional[str]
|
||||
kbn_name: Optional[str]
|
||||
start_date: Optional[datetime]
|
||||
end_date: Optional[datetime]
|
||||
creator: Optional[str]
|
||||
create_date: Optional[datetime]
|
||||
updater: Optional[str]
|
||||
update_date: Optional[datetime]
|
||||
|
||||
@ -10,6 +10,7 @@ from src.repositories.mst_inst_repository import MstInstRepository
|
||||
from src.repositories.bu_master_cd_repository import BuMasterRepository
|
||||
from src.repositories.emp_master_repository import EmpMasterRepository
|
||||
from src.repositories.emp_chg_inst_repository import EmpChgInstRepository
|
||||
from src.repositories.generic_kbn_mst_repository import GenericKbnMstRepository
|
||||
from src.logging.get_logger import get_logger
|
||||
|
||||
logger = get_logger('マスターメンテ')
|
||||
@ -24,6 +25,7 @@ class MasterMainteCSVItem(metaclass=ABCMeta):
|
||||
emp_master_repository: EmpMasterRepository
|
||||
bu_master_repository: BuMasterRepository
|
||||
emp_chginst_repository: EmpChgInstRepository
|
||||
generic_kbn_mst_repository: GenericKbnMstRepository
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
@ -33,7 +35,8 @@ class MasterMainteCSVItem(metaclass=ABCMeta):
|
||||
mst_inst_repository: MstInstRepository,
|
||||
emp_master_repository: EmpMasterRepository,
|
||||
bu_master_repository: BuMasterRepository,
|
||||
emp_chginst_repository: EmpChgInstRepository
|
||||
emp_chginst_repository: EmpChgInstRepository,
|
||||
generic_kbn_mst_repository: GenericKbnMstRepository
|
||||
):
|
||||
self.csv_row = csv_row
|
||||
self.table_name = table_name
|
||||
@ -42,6 +45,7 @@ class MasterMainteCSVItem(metaclass=ABCMeta):
|
||||
self.emp_master_repository = emp_master_repository
|
||||
self.bu_master_repository = bu_master_repository
|
||||
self.emp_chginst_repository = emp_chginst_repository
|
||||
self.generic_kbn_mst_repository = generic_kbn_mst_repository
|
||||
|
||||
def validate(self) -> list[str]:
|
||||
"""
|
||||
@ -213,7 +217,8 @@ class MasterMainteNewInstEmpCSVItem(MasterMainteCSVItem):
|
||||
mst_inst_repository: MstInstRepository,
|
||||
emp_master_repository: EmpMasterRepository,
|
||||
bu_master_repository: BuMasterRepository,
|
||||
emp_chginst_repository: EmpChgInstRepository
|
||||
emp_chginst_repository: EmpChgInstRepository,
|
||||
generic_kbn_mst_repository: GenericKbnMstRepository
|
||||
):
|
||||
super().__init__(
|
||||
csv_row,
|
||||
@ -222,7 +227,8 @@ class MasterMainteNewInstEmpCSVItem(MasterMainteCSVItem):
|
||||
mst_inst_repository,
|
||||
emp_master_repository,
|
||||
bu_master_repository,
|
||||
emp_chginst_repository
|
||||
emp_chginst_repository,
|
||||
generic_kbn_mst_repository
|
||||
)
|
||||
self.inst_cd = super().get_csv_value(constants.CSV_NEW_INST_CD_COL_NO)
|
||||
self.inst_name = super().get_csv_value(constants.CSV_NEW_INST_NAME_COL_NO)
|
||||
@ -282,6 +288,14 @@ class MasterMainteNewInstEmpCSVItem(MasterMainteCSVItem):
|
||||
error_list.append(f'{self.line_num}行目の{constants.NEW_INST_EMP_CSV_LOGICAL_NAMES[constants.CSV_NEW_EMP_CD_COL_NO]}\
|
||||
は従業員マスタに存在しない もしくは 適用期間外のIDです。')
|
||||
return error_list
|
||||
|
||||
def check_emp_chg_type_cd_exists(self) -> list[str]:
|
||||
error_list = []
|
||||
# TODO
|
||||
# if is_not_empty(self.emp_chg_type_cd) and super().is_exist_emp_chg_type_cd() is False:
|
||||
# error_list.append(f'{self.line_num}行目の{constants.NEW_INST_EMP_CSV_LOGICAL_NAMES[constants.CSV_NEW_EMP_CHG_TYPE_CD_COL_NO]}\
|
||||
# は担当者種別マスタに存在しないコードです。')
|
||||
return error_list
|
||||
|
||||
def check_bu_cd_exists(self) -> list[str]:
|
||||
error_list = []
|
||||
@ -446,6 +460,12 @@ class MasterMainteChangeInstEmpCSVItem(MasterMainteCSVItem):
|
||||
error_list.append(f'{self.line_num}行目の{constants.CHANGE_INST_CSV_LOGICAL_NAMES[constants.CSV_CHANGE_EMP_CD_COL_NO]}\
|
||||
は従業員マスタに存在しない もしくは 適用期間外のIDです。')
|
||||
return error_list
|
||||
|
||||
def check_emp_chg_type_cd_exists(self) -> list[str]:
|
||||
error_list = []
|
||||
|
||||
# TODO if super().is
|
||||
return error_list
|
||||
|
||||
def check_bu_cd_exists(self) -> list[str]:
|
||||
error_list = []
|
||||
@ -537,7 +557,8 @@ class MasterMainteCSVItems:
|
||||
mst_inst_repository: MstInstRepository,
|
||||
emp_master_repository: EmpMasterRepository,
|
||||
bu_master_repository: BuMasterRepository,
|
||||
emp_chginst_repository: EmpChgInstRepository
|
||||
emp_chginst_repository: EmpChgInstRepository,
|
||||
generic_kbn_mst_repository: GenericKbnMstRepository
|
||||
) -> None:
|
||||
reader = csv.reader(file)
|
||||
csv_rows = []
|
||||
@ -552,7 +573,9 @@ class MasterMainteCSVItems:
|
||||
mst_inst_repository,
|
||||
emp_master_repository,
|
||||
bu_master_repository,
|
||||
emp_chginst_repository))
|
||||
emp_chginst_repository,
|
||||
generic_kbn_mst_repository
|
||||
))
|
||||
self.lines = csv_rows
|
||||
|
||||
def __select_function(self,
|
||||
@ -563,7 +586,8 @@ class MasterMainteCSVItems:
|
||||
mst_inst_repository: MstInstRepository,
|
||||
emp_master_repository: EmpMasterRepository,
|
||||
bu_master_repository: BuMasterRepository,
|
||||
emp_chginst_repository: EmpChgInstRepository) -> MasterMainteCSVItem:
|
||||
emp_chginst_repository: EmpChgInstRepository,
|
||||
generic_kbn_mst_repository: GenericKbnMstRepository) -> MasterMainteCSVItem:
|
||||
if function_type == 'new':
|
||||
return MasterMainteNewInstEmpCSVItem(
|
||||
row,
|
||||
@ -572,7 +596,8 @@ class MasterMainteCSVItems:
|
||||
mst_inst_repository,
|
||||
emp_master_repository,
|
||||
bu_master_repository,
|
||||
emp_chginst_repository)
|
||||
emp_chginst_repository,
|
||||
generic_kbn_mst_repository)
|
||||
elif function_type == 'change':
|
||||
return MasterMainteChangeInstEmpCSVItem(
|
||||
row,
|
||||
@ -581,4 +606,5 @@ class MasterMainteCSVItems:
|
||||
mst_inst_repository,
|
||||
emp_master_repository,
|
||||
bu_master_repository,
|
||||
emp_chginst_repository)
|
||||
emp_chginst_repository,
|
||||
generic_kbn_mst_repository)
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
from src.model.db.base_db_model import BaseDBModel
|
||||
from src.repositories.base_repository import BaseRepository
|
||||
from src.model.db.generic_kbn_mst import GenericKbnMstModel
|
||||
from src.logging.get_logger import get_logger
|
||||
|
||||
logger = get_logger('汎用区分マスタ')
|
||||
|
||||
class GenericKbnMstRepository(BaseRepository):
|
||||
|
||||
FETCH_SQL = """\
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
src05.generic_kbn_mst
|
||||
WHERE
|
||||
generic_kbn_mst.kbn_cd = :kbn_cd\
|
||||
"""
|
||||
|
||||
def fetch_all(self, parameter) -> list[BaseDBModel]:
|
||||
try:
|
||||
query = self.FETCH_SQL
|
||||
result = self._database.execute_select(query, parameter)
|
||||
models = [GenericKbnMstModel(**r) for r in result]
|
||||
if len(models) == 0:
|
||||
return None
|
||||
return models[0]
|
||||
except Exception as e:
|
||||
logger.error(f"DB Error : Exception={e}")
|
||||
raise e
|
||||
@ -19,6 +19,7 @@ from src.repositories.mst_inst_repository import MstInstRepository
|
||||
from src.repositories.bu_master_cd_repository import BuMasterRepository
|
||||
from src.repositories.emp_master_repository import EmpMasterRepository
|
||||
from src.repositories.emp_chg_inst_repository import EmpChgInstRepository
|
||||
from src.repositories.generic_kbn_mst_repository import GenericKbnMstRepository
|
||||
from src.model.internal.master_mainte_csv import MasterMainteCSVItems
|
||||
from src.model.internal.master_mainte_emp_chg_inst_function import NewEmpChgInstFunction
|
||||
from src.model.internal.master_mainte_emp_chg_inst_function import ChangeEmpChgInstFunction
|
||||
@ -38,6 +39,7 @@ class MasterMainteService(BaseService):
|
||||
'emp_master_repository': EmpMasterRepository,
|
||||
'bu_master_repository': BuMasterRepository,
|
||||
'emp_chginst_repository': EmpChgInstRepository,
|
||||
'generic_kbn_mst_repository': GenericKbnMstRepository,
|
||||
}
|
||||
|
||||
CLIENTS = {
|
||||
@ -48,6 +50,7 @@ class MasterMainteService(BaseService):
|
||||
emp_master_repository: EmpMasterRepository
|
||||
bu_master_repository: BuMasterRepository
|
||||
emp_chginst_repository: EmpChgInstRepository
|
||||
generic_kbn_mst_repository: GenericKbnMstRepository
|
||||
s3_client: S3Client
|
||||
|
||||
def __init__(self, repositories: dict[str, BaseRepository], clients: dict[str, AWSAPIClient]) -> None:
|
||||
@ -56,6 +59,7 @@ class MasterMainteService(BaseService):
|
||||
self.emp_master_repository = repositories['emp_master_repository']
|
||||
self.bu_master_repository = repositories['bu_master_repository']
|
||||
self.emp_chginst_repository = repositories['emp_chginst_repository']
|
||||
self.generic_kbn_mst_repository = repositories['generic_kbn_mst_repository']
|
||||
self.s3_client = clients['s3_client']
|
||||
|
||||
def prepare_mainte_csv_up_view(self,
|
||||
@ -77,7 +81,8 @@ class MasterMainteService(BaseService):
|
||||
self.mst_inst_repository,
|
||||
self.emp_master_repository,
|
||||
self.bu_master_repository,
|
||||
self.emp_chginst_repository
|
||||
self.emp_chginst_repository,
|
||||
self.generic_kbn_mst_repository
|
||||
)
|
||||
|
||||
error_message_list = []
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user