Для получения исторических данных по созданию, удалению позиции, а также изменению статуса и родительской группы позиции, следует использовать следующие view с объединением через union all:
rpt_current_created_items – позволяет определить в какой группе и с каким статусом была создана позиция. В данной view будут записи, если после создания позиции не выполнялось изменение статуса и/или группы;
rpt_obsolete_created_items – позволяет определить в какой группе и с каким статусом была создана позиция. В данной view будут записи, если после создания позиции проводилось изменение статуса и/или группы;
rpt_current_changed_items – позволяет определить последние изменения, которые были выполненные по статусу или группе, в которой находится данная позиция
rpt_obsolete_changed_items – позволяет определить изменения по статусу или группе, в которые были выполнены ранее. Данная view не включает в себя последнее выполненное изменение из rpt_current_changed_item;
rpt_obsolete_deleted_items – позволяет определить когда были удалены позиции.
Для получения консолидированного представления по истории позиций, необходимо выполнить запрос:
select *, 1 as action_type -- создание позиции
from rpt_current_created_items
union all
select *, 1 as action_type -- создание позиции
from rpt_obsolete_created_items
union all
select *, 2 as action_type -- изменение позиции
from rpt_current_changed_items
union all
select *, 2 as action_type -- изменение позиции
from rpt_obsolete_changed_items
union all
select *, 3 as action_type -- удаление позиции
from rpt_obsolete_deleted_items
Поля для всех перечисленных выше view полностью идентичны и описаны в таблице.
Наименование поля
Тип данных
Описание поля
Ссылка на таблицу
descriptor
bigint
Дескриптор поизции
item_id
bigint
Идентификатор позиции
rpt_m2_item.id
transactionid
bigint
Идентификатор транзакции
rpt_m2_transaction.id
old_itemstatus
integer
Предыдущий статус позиции:
0 – Не нормализована
1 – Нормализована
2 – Заблокирована
3 – Удалена
4 – Дубликат
new_itemstatus
integer
Новый статус позиции:
0 – Не нормализована
1 – Нормализована
2 – Заблокирована
3 – Удалена
4 – Дубликат
old_parentid
bigint
Предыдущий идентификатор группы, в которой находится позиция
rpt_m2_classificationnode.id
new_parentid
bigint
Новый идентификатор группы, в которой находится позиция