From 5b642bbc488dcf0a00378d3bf81a495a96581d3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=8E=E9=96=93?= Date: Fri, 25 Aug 2023 15:52:20 +0900 Subject: [PATCH] =?UTF-8?q?fix:=E6=8C=87=E6=91=98=E4=BA=8B=E9=A0=85?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../table_mapper/concrete/com_dr_mapper.py | 31 ++++++++++--------- .../table_mapper/com_dr/test_com_dr_mapper.py | 4 +-- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_dr_mapper.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_dr_mapper.py index 23f71d52..7b5f63c1 100644 --- a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_dr_mapper.py +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_dr_mapper.py @@ -414,13 +414,14 @@ class ComDrMapper(UltmarcTableMapper): # 西暦の取得 # 生年月日(西暦) - western_year = 0 + western_year: str = "" if self.record.birthday_era != "@" and len(self.record.birthday_era) > 0 and len(self.record.birthday_year) > 0: self.query_parameter['era_cd'] = self.record.birthday_era record_year = self.db.execute_select(self.YEAR_GET_QUERY, self.query_parameter) - western_year = int(record_year[0]['year']) + int(self.record.birthday_year) + western_year = str(int(record_year[0]['year']) + int(self.record.birthday_year)) - self.__set_birthday(western_year) + # 誕生日の設定 + self.query_parameter['birth_day'] = self.__set_birthday(western_year) # 開業年(西暦) if self.record.pract_yearera != "@" and len(self.record.pract_yearera) > 0 and len(self.record.pract_year) > 0: @@ -442,19 +443,19 @@ class ComDrMapper(UltmarcTableMapper): return - def __set_birthday(self, western_year): + def __set_birthday(self, western_year: str = ""): # 誕生日を設定 - if western_year != 0 and len(self.record.birthday_month) > 0 and len(self.record.birthday_day) > 0: - # 全ての項目が入っている場合 - self.query_parameter['birth_day'] = ''.join([str(western_year), self.record.birthday_month, self.record.birthday_day]) - return + # 年(西暦)、月、日を連結 + birth_day = ''.join([western_year, self.record.birthday_month, self.record.birthday_day]) - if western_year == 0 and len(self.record.birthday_month) > 0 and len(self.record.birthday_day) > 0: - # 生年月日の年が空の場合は、誕生日はスペース4個と月日 - self.query_parameter['birth_day'] = ' ' + self.record.birthday_month + self.record.birthday_day - return + # 年(西暦)、月、日が全て揃っている場合 + if len(birth_day) == 8: + return birth_day - # 月か日が空の場合は、誕生日は空 - self.query_parameter['birth_day'] = '' - return + # 西暦が空の場合、先頭に半角スペース4つで連結 + if len(western_year) == 0 and len(self.record.birthday_month) > 0 and len(self.record.birthday_day) > 0: + return f' {self.record.birthday_month}{self.record.birthday_day}' + + # 月日も空の場合、生年月日は空 + return '' diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_dr/test_com_dr_mapper.py b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_dr/test_com_dr_mapper.py index 528a8ef1..41777bfc 100644 --- a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_dr/test_com_dr_mapper.py +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_dr/test_com_dr_mapper.py @@ -28,13 +28,13 @@ class TestComDrMapper: # setup self.db = database self.db.connect() - self.db.begin() + # self.db.begin() # testing yield # teardown - self.db.rollback() + # self.db.rollback() self.db.disconnect() def test_insert_record(self):