From df0f2d129f6f893894c96919d3bf064a7330e37b Mon Sep 17 00:00:00 2001 From: "nik.n" Date: Wed, 17 Apr 2024 10:23:33 +0900 Subject: [PATCH] =?UTF-8?q?=E6=8B=85=E5=BD=93=E8=80=85=E7=A8=AE=E5=88=A5?= =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=83=89CSV=E3=82=A2=E3=83=83=E3=83=97?= =?UTF-8?q?=E3=83=AD=E3=83=BC=E3=83=89=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/model/internal/master_mainte_csv.py | 14 +++++++++----- .../master_mainte_emp_chg_inst_function.py | 1 + .../src/repositories/emp_chg_inst_repository.py | 3 ++- .../repositories/generic_kbn_mst_repository.py | 15 ++++++++------- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/ecs/jskult-webapp/src/model/internal/master_mainte_csv.py b/ecs/jskult-webapp/src/model/internal/master_mainte_csv.py index 9910aa3b..3f1d5c42 100644 --- a/ecs/jskult-webapp/src/model/internal/master_mainte_csv.py +++ b/ecs/jskult-webapp/src/model/internal/master_mainte_csv.py @@ -96,6 +96,9 @@ class MasterMainteCSVItem(metaclass=ABCMeta): def is_exist_inst_cd(self) -> bool: return True if self.mst_inst_repository.fetch_count(self.inst_cd) > 0 else False + + def is_exist_emp_chg_type_cd(self) -> bool: + return True if self.generic_kbn_mst_repository.fetch_count(self.emp_chg_type_cd) > 0 else False def is_exist_bu_cd(self) -> bool: return True if self.bu_master_repository.fetch_count(self.bu_cd) > 0 else False @@ -291,10 +294,9 @@ class MasterMainteNewInstEmpCSVItem(MasterMainteCSVItem): 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]}\ - # は担当者種別マスタに存在しないコードです。') + 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]: @@ -464,7 +466,9 @@ class MasterMainteChangeInstEmpCSVItem(MasterMainteCSVItem): def check_emp_chg_type_cd_exists(self) -> list[str]: error_list = [] - # TODO if super().is + 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]: diff --git a/ecs/jskult-webapp/src/model/internal/master_mainte_emp_chg_inst_function.py b/ecs/jskult-webapp/src/model/internal/master_mainte_emp_chg_inst_function.py index 18a5cb0c..0ce3d2c8 100644 --- a/ecs/jskult-webapp/src/model/internal/master_mainte_emp_chg_inst_function.py +++ b/ecs/jskult-webapp/src/model/internal/master_mainte_emp_chg_inst_function.py @@ -46,6 +46,7 @@ class MasterMainteEmpChgInstFunction(metaclass=ABCMeta): self.emp_chginst_repository.insert_emp_chg_inst( data['施設コード'], data['領域コード'], + data['担当者種別コード'], data['MUID'], data['ビジネスユニットコード'], start_date, diff --git a/ecs/jskult-webapp/src/repositories/emp_chg_inst_repository.py b/ecs/jskult-webapp/src/repositories/emp_chg_inst_repository.py index 07dcf34c..7df22275 100644 --- a/ecs/jskult-webapp/src/repositories/emp_chg_inst_repository.py +++ b/ecs/jskult-webapp/src/repositories/emp_chg_inst_repository.py @@ -57,13 +57,14 @@ class EmpChgInstRepository(BaseRepository): ) """ - def insert_emp_chg_inst(self, inst_cd, ta_cd, emp_cd, bu_cd, start_date, + def insert_emp_chg_inst(self, inst_cd, ta_cd, emp_chg_type_cd, emp_cd, bu_cd, start_date, end_date, create_user_name, table_name): try: query = self.INSERT_SQL.format(table_name=table_name) self._database.execute(query, { 'inst_cd': inst_cd, 'ta_cd': ta_cd, + 'emp_chg_type_cd': emp_chg_type_cd, 'emp_cd': emp_cd, 'bu_cd': bu_cd, 'start_date': start_date, diff --git a/ecs/jskult-webapp/src/repositories/generic_kbn_mst_repository.py b/ecs/jskult-webapp/src/repositories/generic_kbn_mst_repository.py index 278d864a..36d59fbd 100644 --- a/ecs/jskult-webapp/src/repositories/generic_kbn_mst_repository.py +++ b/ecs/jskult-webapp/src/repositories/generic_kbn_mst_repository.py @@ -1,6 +1,7 @@ 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.model.db.master_mente_count import MasterMenteCountModel from src.logging.get_logger import get_logger logger = get_logger('汎用区分マスタ') @@ -9,21 +10,21 @@ class GenericKbnMstRepository(BaseRepository): FETCH_SQL = """\ SELECT - * + COUNT(*) AS count FROM src05.generic_kbn_mst WHERE generic_kbn_mst.kbn_cd = :kbn_cd\ """ - def fetch_all(self, parameter) -> list[BaseDBModel]: + def fetch_count(self, parameter) -> MasterMenteCountModel: try: query = self.FETCH_SQL - result = self._database.execute_select(query, parameter) - models = [GenericKbnMstModel(**r) for r in result] + result = self._database.execute_select(query, {'kbn_cd': parameter}) + models = [MasterMenteCountModel(**r) for r in result] if len(models) == 0: - return None - return models[0] + return 0 + return models[0].count except Exception as e: - logger.error(f"DB Error : Exception={e}") + logger.error(f"DB Error : Exception={e.args}") raise e \ No newline at end of file