指摘事項修正
This commit is contained in:
parent
054040cdfc
commit
e7b19b4982
@ -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):
|
||||
# 西暦の取得
|
||||
|
||||
# 生年月日(西暦)
|
||||
|
||||
@ -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]
|
||||
|
||||
@ -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"
|
||||
|
||||
|
||||
|
@ -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","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"
|
||||
|
||||
|
||||
|
@ -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.
|
@ -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"
|
||||
|
||||
|
||||
|
||||
|
@ -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):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user