Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1. в t_tariff_version добавили новую запись с тарифом, который уже есть в
- t_tariff_actual_version
- а1) старая версия закончилась, новая начала действовать (задним числом) is_public = 1
- в last_version_id записалось то, что было в last_actual_version_id
- в last_actual_version_id записалась новая версия
- а2) старая версия закончилась, новая начала действовать (задним числом) is_public = 0
- ничего
- б1) новая начнет действовать в будущем, старая еще не закончилась is_public = 1
- Если в t_tariff_version появляется запись с date_begin >sysdate, то в t_tariff_actual_version заполняется поле future_date_begin и когда джоба видит что future_date_begin стало <=sysdate, она понимает что актуальная версия стала другая и обновляет поля с версиями в t_tariff_actual_version
- б2) новая начнет действовать в будущем, старая еще не закончилась is_public = 0
- ничего
- 2. добавили новый тариф, в t_tariff_version добавили новую запись с этим тарифом, его нет в t_tariff_actual_version
- а1) начала действовать (задним числом) is_public = 1
- в last_version_id и last_actual_version_id записалась версия
- а2) начала действовать (задним числом) is_public = 0
- ничего
- б1) начнет действовать в будущем is_public = 1
- заполниться только последнее поле с будущей датой
- б2) новая начнет действовать в будущем is_public = 0
- ничего
- 3. из t_tariff_version удалили запись
- а) у тарифа было несколько версий
- заполнится last_version_id, встанет предыдущая версия
- б) у тарифа была только эта версия
- все поля пустые будут, по идее такой ситуации не должно быть, если есть тариф, то и версия должна быть хотя бы одна
- 4. в t_tariff_version изменили запись (любое поле)
- дата начала
- была прошлая, стала будущая (из актуальной убирается, встает future_date_begin)
- бала будущая, стала прошлая (из future_date_begin убирается, встает в актуальную)
- дата окончания
- была прошлая, стала будущая (встает в актуальную)
- была будущая, стала прошлая (убирается из актуальной)
- тариф
- версия убирается из старого тарифа (в актуальной пусто, в последней актуальной встала предыдущая)
- добавляется в новый тариф в зависимости от даты действия (встает в актуальную)
- другие поля
- проверить, что ничего не изменилось
- 5. в t_tariff_version версия закончила свое действие
- а) is_public = 1
- удаляется из поля last_actual_version_id
- б) is_public = 0
- ничего
- интерфейс (сохраняем тариф, смотрим, какая версия записалась в актуальную)
Advertisement
Add Comment
Please, Sign In to add comment