From dbbe67bb7ed50789cd8da91c6bc6b5c9be3cb89d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=8E=E9=96=93?= Date: Wed, 10 May 2023 15:09:17 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=AB=E3=83=BC=E3=83=97=E3=81=AE=E6=8C=87?= =?UTF-8?q?=E6=91=98=E4=BA=8B=E9=A0=85=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../concrete/com_inst_att_mapper.py | 111 +++++++----------- 1 file changed, 45 insertions(+), 66 deletions(-) diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_inst_att_mapper.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_inst_att_mapper.py index 70df59e1..a09f4361 100644 --- a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_inst_att_mapper.py +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_inst_att_mapper.py @@ -868,28 +868,17 @@ class ComInstAttMapper(UltmarcTableMapper): # 疾患別リハビリテーション料 if len(self.record.rehabilitation_flag) > 0: set_clauses.append('rehabilitation_flag = :rehabilitation_flag') - set_clauses.append('rehabilitation_code01= :rehabilitation_code01') - set_clauses.append('rehabilitation_code02= :rehabilitation_code02') - set_clauses.append('rehabilitation_code03= :rehabilitation_code03') - set_clauses.append('rehabilitation_code04= :rehabilitation_code04') - set_clauses.append('rehabilitation_code05= :rehabilitation_code05') - set_clauses.append('rehabilitation_code06= :rehabilitation_code06') - set_clauses.append('rehabilitation_code07= :rehabilitation_code07') - set_clauses.append('rehabilitation_code08= :rehabilitation_code08') - set_clauses.append('rehabilitation_code09= :rehabilitation_code09') - set_clauses.append('rehabilitation_code10= :rehabilitation_code10') - if self.record.rehabilitation_flag == '@': + # 項目クリア判断 + is_aggregate_item_clear = self.record.rehabilitation_flag == '@' + if is_aggregate_item_clear: self.query_parameter['rehabilitation_flag'] = None - self.query_parameter['rehabilitation_code01'] = None - self.query_parameter['rehabilitation_code02'] = None - self.query_parameter['rehabilitation_code03'] = None - self.query_parameter['rehabilitation_code04'] = None - self.query_parameter['rehabilitation_code05'] = None - self.query_parameter['rehabilitation_code06'] = None - self.query_parameter['rehabilitation_code07'] = None - self.query_parameter['rehabilitation_code08'] = None - self.query_parameter['rehabilitation_code09'] = None - self.query_parameter['rehabilitation_code10'] = None + # 10個分の項目設定(rangeの第2引数の数字はループに含まれないため、+1を指定する) + for i in range(1, 11): + num = str(i).zfill(2) # 2桁で0埋め + setting_item_name = f'rehabilitation_code{num}' + set_clauses.append(f'{setting_item_name} = :{setting_item_name}') + if is_aggregate_item_clear: + self.query_parameter[setting_item_name] = None # 麻酔管理料 if len(self.record.anesthetizing_manage_flag) > 0: @@ -1120,66 +1109,56 @@ class ComInstAttMapper(UltmarcTableMapper): # 先進医療実施医療機関 if len(self.record.hiadhp_flag) > 0: set_clauses.append('hiadhpflag = :hiadhp_flag') + # 項目クリア判断 + is_aggregate_item_clear = self.record.hiadhp_flag == '@' + if is_aggregate_item_clear: + self.query_parameter['hiadhp_flag'] = None # 40個分の項目設定(rangeの第2引数の数字はループに含まれないため、+1を指定する) for i in range(1, 41): - num = str(i) - setting_item = 'hiadhpcode' + num + ' = :hiadhp_code' + num - set_clauses.append(setting_item) - setting_item = 'hiadhpkind' + num + ' = :hiadhp_kind' + num - set_clauses.append(setting_item) - - if self.record.hiadhp_flag == '@': - self.query_parameter['hiadhp_flag'] = None - - # 40個分の項目設定(rangeの第2引数の数字はループに含まれないため、+1を指定する) - for i in range(1, 41): - num = str(i) - setting_item = 'hiadhp_code' + num - self.query_parameter[setting_item] = None - setting_item = 'hiadhp_kind' + num - self.query_parameter[setting_item] = None + setting_db_name_code = f'hiadhpcode{i}' + setting_dn_name_kind = f'hiadhpkind{i}' + setting_item_name_code = f'hiadhp_code{i}' + setting_item_name_kind = f'hiadhp_kind{i}' + set_clauses.append(f'{setting_db_name_code} = :{setting_item_name_code}') + set_clauses.append(f'{setting_dn_name_kind} = :{setting_item_name_kind}') + if is_aggregate_item_clear: + self.query_parameter[setting_item_name_code] = None + self.query_parameter[setting_item_name_kind] = None # 先端医療実施医療機関 if len(self.record.hitechhp_flag) > 0: set_clauses.append('hitechhpflag = :hitechhp_flag') - + # 項目クリア判断 + is_aggregate_item_clear = self.record.hitechhp_flag == '@' + if is_aggregate_item_clear: + self.query_parameter['hitechhp_flag'] = None # 20個分の項目設定(rangeの第2引数の数字はループに含まれないため、+1を指定する) for i in range(1, 21): - num = str(i) - setting_item = 'hitechhpkind' + num + ' = :hitechhp_kind' + num - set_clauses.append(setting_item) - - if self.record.hitechhp_flag == '@': - self.query_parameter['hitechhp_flag'] = None - - # 20個分の項目設定(rangeの第2引数の数字はループに含まれないため、+1を指定する) - for i in range(1, 21): - num = str(i) - setting_item = 'hitechhp_kind' + num - self.query_parameter[setting_item] = None + setting_db_name = f'hitechhpkind{i}' + setting_item_name = f'hitechhp_kind{i}' + set_clauses.append(f'{setting_db_name} = :{setting_item_name}') + if is_aggregate_item_clear: + self.query_parameter[setting_item_name] = None # 政策医療 if len(self.record.policy_medical_flag) > 0: set_clauses.append('policymedical_flag = :policy_medical_flag') - + # 項目クリア判断 + is_aggregate_item_clear = self.record.policy_medical_flag == '@' + if is_aggregate_item_clear: + self.query_parameter['policy_medical_flag'] = None # 20個分の項目設定(rangeの第2引数の数字はループに含まれないため、+1を指定する) for i in range(1, 21): num = str(i).zfill(2) # 2桁で0埋め - setting_item = 'policymedical_code' + num + ' = :policy_medical_code' + num - set_clauses.append(setting_item) - setting_item = 'policymedical_content' + num + ' = :policy_medical_content' + num - set_clauses.append(setting_item) - - if self.record.policy_medical_flag == '@': - self.query_parameter['policy_medical_flag'] = None - - # 20個分の項目設定(rangeの第2引数の数字はループに含まれないため、+1を指定する) - for i in range(1, 21): - num = str(i).zfill(2) # 2桁で0埋め - setting_item = 'policy_medical_code' + num - self.query_parameter[setting_item] = None - setting_item = 'policy_medical_content' + num - self.query_parameter[setting_item] = None + setting_db_name_code = f'policymedical_code{num}' + setting_db_name_content = f'policymedical_content{num}' + setting_item_name_code = f'policy_medical_code{num}' + setting_item_name_content = f'policy_medical_content{num}' + set_clauses.append(f'{setting_db_name_code} = :{setting_item_name_code}') + set_clauses.append(f'{setting_db_name_content} = :{setting_item_name_content}') + if is_aggregate_item_clear: + self.query_parameter[setting_item_name_code] = None + self.query_parameter[setting_item_name_content] = None # 訪問看護ステーション if len(self.record.visitcarest_flag) > 0: