指摘事項修正

This commit is contained in:
野間 2023-05-02 09:53:05 +09:00
parent 054040cdfc
commit e7b19b4982
7 changed files with 99 additions and 126 deletions

View File

@ -166,12 +166,12 @@ class ComDrMapper(UltmarcTableMapper):
"""
# COM_医師診療科目の登録用SQL
INSERT_QUERY_TRT1 = """\
INSERT_QUERY_TRT = """\
INSERT INTO src05.com_dr_trt_course
(
trt_course_cd,
dcf_pcf_dr_cd,
sequence,
dcf_pcf_dr_cd,
regist_ymd,
sys_regist_date,
regist_prgm_id,
@ -179,105 +179,9 @@ class ComDrMapper(UltmarcTableMapper):
update_prgm_id
)
VALUES (
:medsbj_code1,
{trt_course_code},
{trt_sequence},
:dcf_pcf_dr_cd,
1,
:execute_date_str_ymd,
:execute_datetime,
:program_name,
:execute_datetime,
:program_name
)
"""
INSERT_QUERY_TRT2 = """\
INSERT INTO src05.com_dr_trt_course
(
trt_course_cd,
dcf_pcf_dr_cd,
sequence,
regist_ymd,
sys_regist_date,
regist_prgm_id,
sys_update_date,
update_prgm_id
)
VALUES (
:medsbj_code2,
:dcf_pcf_dr_cd,
2,
:execute_date_str_ymd,
:execute_datetime,
:program_name,
:execute_datetime,
:program_name
)
"""
INSERT_QUERY_TRT3 = """\
INSERT INTO src05.com_dr_trt_course
(
trt_course_cd,
dcf_pcf_dr_cd,
sequence,
regist_ymd,
sys_regist_date,
regist_prgm_id,
sys_update_date,
update_prgm_id
)
VALUES (
:medsbj_code3,
:dcf_pcf_dr_cd,
3,
:execute_date_str_ymd,
:execute_datetime,
:program_name,
:execute_datetime,
:program_name
)
"""
INSERT_QUERY_TRT4 = """\
INSERT INTO src05.com_dr_trt_course
(
trt_course_cd,
dcf_pcf_dr_cd,
sequence,
regist_ymd,
sys_regist_date,
regist_prgm_id,
sys_update_date,
update_prgm_id
)
VALUES (
:medsbj_code4,
:dcf_pcf_dr_cd,
4,
:execute_date_str_ymd,
:execute_datetime,
:program_name,
:execute_datetime,
:program_name
)
"""
INSERT_QUERY_TRT5 = """\
INSERT INTO src05.com_dr_trt_course
(
trt_course_cd,
dcf_pcf_dr_cd,
sequence,
regist_ymd,
sys_regist_date,
regist_prgm_id,
sys_update_date,
update_prgm_id
)
VALUES (
:medsbj_code5,
:dcf_pcf_dr_cd,
5,
:execute_date_str_ymd,
:execute_datetime,
:program_name,
@ -308,7 +212,7 @@ class ComDrMapper(UltmarcTableMapper):
def __make_upsert_query(self):
# 西暦の取得
self.__year_get()
self.__set_era()
# レコードの存在確認
record_count = self.db.execute_select(self.RECORD_EXISTS_QUERY, self.query_parameter)
@ -421,11 +325,8 @@ class ComDrMapper(UltmarcTableMapper):
self.query_parameter['dr_addr_lost_code'] = ''
# 住所
if len(self.record.pref_code + self.record.city_code + self.record.addr_code1 + self.record.addr_code2 +
self.record.dr_zip_code + self.record.dr_addr + self.record.dr_addr_kana + self.record.dr_addr_num +
self.record.dr_addr_kanj_cnt1 + self.record.dr_addr_kanj_cnt2 + self.record.dr_addr_kanj_cnt3 +
self.record.dr_addr_kanj_cnt4 + self.record.dr_addr_kana_cnt1 + self.record.dr_addr_kana_cnt2 +
self.record.dr_addr_kana_cnt3 + self.record.dr_addr_kana_cnt4) > 0:
# 集合項目のいずれかに入力がある場合に更新
if sum(len(item) for item in self.record.address_aggregation_items) > 0:
set_clauses.append('home_addr_kana = :dr_addr_kana')
set_clauses.append('home_addr = :dr_addr')
set_clauses.append('home_postal_number = :dr_zip_code')
@ -487,25 +388,29 @@ class ComDrMapper(UltmarcTableMapper):
return set_clauses
def __make_delete_insert_trt_query(self):
# 診療科目(集合項目)のいずれかに入力がある場合
if sum(len(item) for item in self.record.medsbj_code_items) == 0:
return
# 削除
self.queries.append(self.PHYSICAL_DELETE_QUERY_TRT)
# @マークの場合は、登録しない
if self.record.medsbj_code1 == '@':
return
# 登録
if self.record.medsbj_code1 != '@':
if len(self.record.medsbj_code1) > 0:
self.queries.append(self.INSERT_QUERY_TRT1)
if len(self.record.medsbj_code2) > 0:
self.queries.append(self.INSERT_QUERY_TRT2)
if len(self.record.medsbj_code3) > 0:
self.queries.append(self.INSERT_QUERY_TRT3)
if len(self.record.medsbj_code4) > 0:
self.queries.append(self.INSERT_QUERY_TRT4)
if len(self.record.medsbj_code5) > 0:
self.queries.append(self.INSERT_QUERY_TRT5)
for num, m_code in enumerate(self.record.medsbj_code_items, start=1):
if len(m_code) > 0:
insert_trt_query = self.INSERT_QUERY_TRT.format(
trt_course_code=f':medsbj_code{num}',
trt_sequence=num
)
self.queries.append(insert_trt_query)
return
def __year_get(self):
def __set_era(self):
# 西暦の取得
# 生年月日(西暦)

View File

@ -73,6 +73,12 @@ class ComDr(UltmarcTable):
era_cd: str # 元号コード
# 住所(集合項目)
address_aggregation_items: list
# 診療科目(集合項目)
medsbj_code_items: list
def __init__(self, record: list[str]):
super().__init__(record)
self.dcfdr_id = record[1]
@ -148,3 +154,30 @@ class ComDr(UltmarcTable):
self.grad_y = '' # 卒業年(西暦)
self.drday_y = '' # 登録年(西暦)
self.era_cd = '' # 元号コード
# 住所(集合項目)
self.address_aggregation_items = [
self.pref_code,
self.city_code,
self.addr_code1,
self.addr_code2,
self.dr_zip_code,
self.dr_addr_kana,
self.dr_addr_num,
self.dr_addr_kanj_cnt1,
self.dr_addr_kanj_cnt2,
self.dr_addr_kanj_cnt3,
self.dr_addr_kanj_cnt4,
self.dr_addr_kana_cnt1,
self.dr_addr_kana_cnt2,
self.dr_addr_kana_cnt3,
self.dr_addr_kana_cnt4
]
# 診療科目(集合項目)
self.medsbj_code_items = [
self.medsbj_code1,
self.medsbj_code2,
self.medsbj_code3,
self.medsbj_code4,
self.medsbj_code5]

View File

@ -5,4 +5,3 @@
"0199768200","ヨコハマ ミキコ","横浜 三紀子","4","3","11","12","19911112","99","","","NULL","03-3579-1698","トウキヨウト イタバシク ホンチヨウ 6-3-301","東京都板橋区本町6−3−301","173-0001","13119047000","13","119","6-3-301","07070600","03030200","99","2","2","","","057","1","3","52","1977","1","NULL","1","","","","","3","10","1935","NULL","NULL","0","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComDrInfo","2017/10/11 21:20:37","clsComDrInfo"
"0199790600","オカ モリマサ","丘 守正","NULL","NULL","NULL","NULL","NULL","99","NULL","NULL","NULL","NULL","イバラキケン ヒタチナカシ オオアザミタンダ 3892-4","茨城県ひたちなか市大字三反田3892−4","312-0021","08221095000","08","221","3892-4","08071100","03060500","31","1","1","","5","799","1","NULL","NULL","NULL","","NULL","1","","","","","","","NULL","NULL","NULL","0","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComDrInfo","2017/10/11 21:20:37","clsComDrInfo"
"0199961300","フジタ アカネ","藤田 茜","4","2","09","22","19900922","37","","","NULL","","カナガワケン カマクラシ タマナワ 2-8-30","神奈川県鎌倉市玉縄2−8−30","555-6666","01002033444","01","002","2-8-30","00000000","00000000","11","9","2","NULL","NULL","799","1","","","NULL","","0148106500","1","","","","","NULL","NULL","NULL","NULL","NULL","0","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComDrInfo","2017/10/11 21:20:37","clsComDrInfo"

1 dcf_pcf_dr_cd dr_name_kana dr_name birthday_era birthday_year birthday_month birthday_day birthday hometown_cd estab_era estab_year estab_y home_phone_number home_addr_kana home_addr home_postal_number addr_village_cd prefc_cd city_cd addr_display_number addr_cnt_kana addr_cnt dr_circle_cd estab_div_cd sex_cd delete_sche_reason_cd addr_unknown_reason_cd alma_cd depart_disc_cd grad_era grad_year grad_y lump_regist_flg opp_dup_cd dr_ph_div use_stop_div use_stop_reason_cd use_stop_regist_ymd use_stop_cancel_ymd drday_era drday_year drday_y cor_dnfdr_cd abolish_ymd delete_flg filler_1 filler_2 filler_3 filler_4 filler_5 regist_date create_user update_date update_user sys_regist_date regist_prgm_id sys_update_date update_prgm_id
5 0199768200 ヨコハマ ミキコ 横浜 三紀子 4 3 11 12 19911112 99 NULL 03-3579-1698 トウキヨウト イタバシク ホンチヨウ 6-3-301 東京都板橋区本町6−3−301 173-0001 13119047000 13 119 6-3-301 07070600 03030200 99 2 2 057 1 3 52 1977 1 NULL 1 3 10 1935 NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL 2017/10/08 20:57:12 clsComDrInfo 2017/10/11 21:20:37 clsComDrInfo
6 0199790600 オカ モリマサ 丘 守正 NULL NULL NULL NULL NULL 99 NULL NULL NULL NULL イバラキケン ヒタチナカシ オオアザミタンダ 3892-4 茨城県ひたちなか市大字三反田3892−4 312-0021 08221095000 08 221 3892-4 08071100 03060500 31 1 1 5 799 1 NULL NULL NULL NULL 1 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL 2017/10/08 20:57:12 clsComDrInfo 2017/10/11 21:20:37 clsComDrInfo
7 0199961300 フジタ アカネ 藤田 茜 4 2 09 22 19900922 37 NULL カナガワケン カマクラシ タマナワ 2-8-30 神奈川県鎌倉市玉縄2−8−30 555-6666 01002033444 01 002 2-8-30 00000000 00000000 11 9 2 NULL NULL 799 1 NULL 0148106500 1 NULL NULL NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL 2017/10/08 20:57:12 clsComDrInfo 2017/10/11 21:20:37 clsComDrInfo

View File

@ -7,4 +7,3 @@
"0199790600","オカ モリマサ","丘 守正","3","20","03","11","19450311","99","4","03","1991","029-274-7110","イバラキケン ヒタチナカシ オオアザミタンダ 3892-4","茨城県ひたちなか市大字三反田3892−4","312-0021","08221095000","08","221","3892-4","08071100","03060500","31","1","1","","","799","1","3","45","1970","","NULL","1","","","","","","","NULL","NULL","NULL","0","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComDrInfo","2017/10/08 20:57:12","clsComDrInfo"
"0199961300","フジタ アカネ","藤田 茜","","","","","NULL","99","","","NULL","","","","","00000000000","00","000","","00000000","00000000","99","9","2","5","6","799","1","","","NULL","","0148106500","1","","","","","4","23","2011","NULL","NULL","0","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComDrInfo","2017/10/08 20:57:12","clsComDrInfo"
"9999999990","12","11","4","15","06","17","20030617","18","4","55","2043","045-625-2048","38","","231-0036","32033034035","32","033","126-1-39","44454647","40414243","19","3","1","7","1","022","3","1","21","1888","6","8910","1","49","50","20200501","20200502","4","25","2013","NULL","NULL","0","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","2023/04/12 00:00:00","aaaa","2023/04/12 00:00:00","aaaa"

1 dcf_pcf_dr_cd dr_name_kana dr_name birthday_era birthday_year birthday_month birthday_day birthday hometown_cd estab_era estab_year estab_y home_phone_number home_addr_kana home_addr home_postal_number addr_village_cd prefc_cd city_cd addr_display_number addr_cnt_kana addr_cnt dr_circle_cd estab_div_cd sex_cd delete_sche_reason_cd addr_unknown_reason_cd alma_cd depart_disc_cd grad_era grad_year grad_y lump_regist_flg opp_dup_cd dr_ph_div use_stop_div use_stop_reason_cd use_stop_regist_ymd use_stop_cancel_ymd drday_era drday_year drday_y cor_dnfdr_cd abolish_ymd delete_flg filler_1 filler_2 filler_3 filler_4 filler_5 regist_date create_user update_date update_user sys_regist_date regist_prgm_id sys_update_date update_prgm_id
7 0199790600 オカ モリマサ 丘 守正 3 20 03 11 19450311 99 4 03 1991 029-274-7110 イバラキケン ヒタチナカシ オオアザミタンダ 3892-4 茨城県ひたちなか市大字三反田3892−4 312-0021 08221095000 08 221 3892-4 08071100 03060500 31 1 1 799 1 3 45 1970 NULL 1 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL 2017/10/08 20:57:12 clsComDrInfo 2017/10/08 20:57:12 clsComDrInfo
8 0199961300 フジタ アカネ 藤田 茜 NULL 99 NULL 00000000000 00 000 00000000 00000000 99 9 2 5 6 799 1 NULL 0148106500 1 4 23 2011 NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL 2017/10/08 20:57:12 clsComDrInfo 2017/10/08 20:57:12 clsComDrInfo
9 9999999990 12 11 4 15 06 17 20030617 18 4 55 2043 045-625-2048 38 37 231-0036 32033034035 32 033 126-1-39 44454647 40414243 19 3 1 7 1 022 3 1 21 1888 6 8910 1 49 50 20200501 20200502 4 25 2013 NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL 2023/04/12 00:00:00 aaaa 2023/04/12 00:00:00 aaaa

View File

@ -0,0 +1,6 @@
era_cd","era_name","year","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id"
"1","明治","1867","2014/10/24 11:29:55","INIT ","2014/10/24 11:29:55","INIT ","2014/10/24 11:29:55","INIT","2014/10/24 11:29:55","INIT"
"2","大正","1911","2014/10/24 11:29:56","INIT ","2014/10/24 11:29:56","INIT ","2014/10/24 11:29:56","INIT","2014/10/24 11:29:56","INIT"
"3","昭和","1925","2014/10/24 11:29:56","INIT ","2014/10/24 11:29:56","INIT ","2014/10/24 11:29:56","INIT","2014/10/24 11:29:56","INIT"
"4","平成","1988","2014/10/24 11:29:57","INIT ","2014/10/24 11:29:57","INIT ","2014/10/24 11:29:57","INIT","2014/10/24 11:29:57","INIT"
"5","令和","2018","2019/05/07 10:27:29","dwh_supp","2019/05/07 10:27:29","dwh_supp","2019/05/07 10:27:29","dwh_support","2019/05/07 10:27:29","dwh_support"
Can't render this file because it contains an unexpected character in line 1 and column 7.

View File

@ -21,5 +21,3 @@
"L01","0199790600","2","20230427","NULL","NULL","NULL","NULL","NULL","2017/10/08 16:16:43","com_dr_mapper","2017/10/08 16:16:43","com_dr_mapper"
"L03","0199578300","5","20230427","NULL","NULL","NULL","NULL","NULL","2017/10/08 16:16:43","com_dr_mapper","2017/10/08 16:16:43","com_dr_mapper"
"L30","0122222233","5","20230427","NULL","NULL","NULL","NULL","NULL","2023/04/12 00:00:00","com_dr_mapper","2023/04/12 00:00:00","com_dr_mapper"

1 trt_course_cd dcf_pcf_dr_cd sequence regist_ymd update_ymd regist_date create_user update_date update_user sys_regist_date regist_prgm_id sys_update_date update_prgm_id
21 L01 0199790600 2 20230427 NULL NULL NULL NULL NULL 2017/10/08 16:16:43 com_dr_mapper 2017/10/08 16:16:43 com_dr_mapper
22 L03 0199578300 5 20230427 NULL NULL NULL NULL NULL 2017/10/08 16:16:43 com_dr_mapper 2017/10/08 16:16:43 com_dr_mapper
23 L30 0122222233 5 20230427 NULL NULL NULL NULL NULL 2023/04/12 00:00:00 com_dr_mapper 2023/04/12 00:00:00 com_dr_mapper

View File

@ -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):
@ -58,9 +58,11 @@ class TestComDrMapper:
self.db.execute(delete_sql, delete_parameter)
delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_dr_trt_course', {'1': '1'})
self.db.execute(delete_sql, delete_parameter)
delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_era', {'1': '1'})
self.db.execute(delete_sql, delete_parameter)
# テストデータをDBに登録
# DBデータを読み込む(医師診察科目)
test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_dr_trt_course_insert.csv'))
test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_dr_trt_course_before_insert.csv'))
for test_data in test_sql_data_list:
insert_sql, insert_parameter = create_insert_sql_with_parameter(
'src05.com_dr_trt_course',
@ -68,6 +70,15 @@ class TestComDrMapper:
test_data.values()
)
self.db.execute(insert_sql, insert_parameter)
# DBデータを読み込む(年号)
test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_era_before.csv'))
for test_data in test_sql_data_list:
insert_sql, insert_parameter = create_insert_sql_with_parameter(
'src05.com_era',
test_data.keys(),
test_data.values()
)
self.db.execute(insert_sql, insert_parameter)
# Act
for line_number, line in enumerate(test_dat_file, start=1):
@ -147,6 +158,8 @@ class TestComDrMapper:
self.db.execute(delete_sql, delete_parameter)
delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_dr_trt_course', {'1': '1'})
self.db.execute(delete_sql, delete_parameter)
delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_era', {'1': '1'})
self.db.execute(delete_sql, delete_parameter)
# テストデータをDBに登録
# DBデータを読み込む医師
test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_dr_before_update.csv'))
@ -158,7 +171,7 @@ class TestComDrMapper:
)
self.db.execute(insert_sql, insert_parameter)
# DBデータを読み込む医師診察科目
test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_dr_trt_course_update.csv'))
test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_dr_trt_course_before_update.csv'))
for test_data in test_sql_data_list:
insert_sql, insert_parameter = create_insert_sql_with_parameter(
'src05.com_dr_trt_course',
@ -166,6 +179,15 @@ class TestComDrMapper:
test_data.values()
)
self.db.execute(insert_sql, insert_parameter)
# DBデータを読み込む(年号)
test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_era_before.csv'))
for test_data in test_sql_data_list:
insert_sql, insert_parameter = create_insert_sql_with_parameter(
'src05.com_era',
test_data.keys(),
test_data.values()
)
self.db.execute(insert_sql, insert_parameter)
# Act
for line_number, line in enumerate(test_dat_file, start=1):
@ -247,6 +269,8 @@ class TestComDrMapper:
self.db.execute(delete_sql, delete_parameter)
delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_dr_trt_course', {'1': '1'})
self.db.execute(delete_sql, delete_parameter)
delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_era', {'1': '1'})
self.db.execute(delete_sql, delete_parameter)
# テストデータをDBに登録
# DBデータを読み込む(医師)
test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_dr_before_delete.csv'))
@ -266,6 +290,15 @@ class TestComDrMapper:
test_data.values()
)
self.db.execute(insert_sql, insert_parameter)
# DBデータを読み込む(年号)
test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_era_before.csv'))
for test_data in test_sql_data_list:
insert_sql, insert_parameter = create_insert_sql_with_parameter(
'src05.com_era',
test_data.keys(),
test_data.values()
)
self.db.execute(insert_sql, insert_parameter)
# Act
for line_number, line in enumerate(test_dat_file, start=1):