diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_pharm_mapper.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_pharm_mapper.py index 8be2741b..54ff1ca2 100644 --- a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_pharm_mapper.py +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_pharm_mapper.py @@ -138,27 +138,29 @@ class ComPharmMapper(UltmarcTableMapper): self.queries.append(self.LOGICAL_DELETE_QUERY) return + # 追加、更新の場合 + self.queries.append(self.__make_upsert_query()) + return + + def __make_upsert_query(self): # レコードの存在確認 record_count = self.db.execute_select(self.RECORD_EXISTS_QUERY, self.query_parameter) # 存在しない場合はInsert if record_count[0]['count_num'] == 0: - self.queries.append(self.INSERT_QUERY) - return + return self.INSERT_QUERY # 更新の場合 update_columns = ','.join(self.__make_update_query()) # 何も更新項目が無い場合はNoneとする(更新処理は行わない) if len(update_columns) == 0: - self.queries.append(None) - return + return None else: # 末尾にカンマを付けてSET句を完成させる update_columns += ',' update_query = self.UPDATE_QUERY.format( update_columns=update_columns ) - self.queries.append(update_query) - return + return update_query def __make_update_query(self): set_clauses = [] # 設定項目