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 a02f2965..70df59e1 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 @@ -823,19 +823,17 @@ class ComInstAttMapper(UltmarcTableMapper): # 地域連携クリティカルパス if len(self.record.critical_flag) > 0: set_clauses.append('critical_flag = :critical_flag') + # 項目クリア判断 + is_aggregate_item_clear = self.record.critical_flag == '@' + if is_aggregate_item_clear: + self.query_parameter['critical_flag'] = None # 20個分の項目設定(rangeの第2引数の数字はループに含まれないため、+1を指定する) for i in range(1, 21): num = str(i).zfill(2) # 2桁で0埋め - setting_item = 'critical_code' + num + ' = :critical_code' + num - set_clauses.append(setting_item) - - if self.record.critical_flag == '@': - self.query_parameter['critical_flag'] = None - # 20個分の項目設定(rangeの第2引数の数字はループに含まれないため、+1を指定する) - for i in range(1, 21): - num = str(i).zfill(2) - setting_item = 'critical_code' + num - self.query_parameter[setting_item] = None + setting_item_name = f'critical_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.drgmgthp_flag) > 0: