Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Еще раз о вычислении просрочек и пени / 5 сообщений из 5, страница 1 из 1
28.11.2013, 12:27
    #38481507
Виктор_sql
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз о вычислении просрочек и пени
Здравствуйте, подскажите как выбрать оптимальный вариант решения вопроса.
Есть табл.договоров аренды, к ней таблица платежных расписаний и таблица вносимых платежей. Все связано, все работает. Есть необходимость считать дни просрочки оплаты и от них пени. Чтобы это получить, было выполнено решение в виде табличных ф-ций, вычисляющих все это и выдающих результат на любом временном отрезке договора. Ибо заказчик хочет смотреть платежное состояние множества договоров, на каком-то временном этапе в прошлом.
Кроме того заказчик может вносить платеж в таблицу платежей оплату задним числом, например десяток лет назад.
Чтобы получить реальное положение вещей на выбранную дату, все довольно долго пересчитывается.
Решение в чем ? В грамотном построении плана запросов при вычислениях? Либо подход выбрать другой, хранить вычисленные данные на временных отрезках или еще как-то ? Если хранить, то как быть с внесением данных задним числом, все равно придется пересчитать. Тема вроде избита, если есть дельная ссылка, скиньте, буду благодарен.

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
28.11.2013, 13:42
    #38481701
_мод
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз о вычислении просрочек и пени
Виктор_sqlЧтобы получить реальное положение вещей на выбранную дату, все довольно долго пересчитывается.
Где пересчитывается ? Клиент, сервер ?
...
Рейтинг: 0 / 0
28.11.2013, 14:02
    #38481736
П-Л
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз о вычислении просрочек и пени
Какое количество договоров ? Тысячи ? Сколько платежей по каждому ? Десятки-сотни ? Если да, то все должно летать на запросах.

Общая логика такова.

По каждому договору собираются все даты плановых и фактических платежей в общий массив дат. На каждую дату считается нарастающим итогом плановая сумма и фактическая. Разница между ними - просрочка.

Далее как быть с суммой просрочки, как на нее начисляются пени ? Они не капитализируются ? Если нет, то по данным просрочки начисляется пени простым образом - сумма на число дней на штафную ставку. Если капитализируется, то расчет сложнее, придется расчитывать сумму долга как сумма просрояки плюс накопленные пению. Но на том количестве данных, что я обозначил, все равно должно считаться быстро.
...
Рейтинг: 0 / 0
02.12.2013, 11:34
    #38485690
Виктор_sql
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз о вычислении просрочек и пени
Договоров десятки тысяч. Платежей, если ежемесячно платежное расписание, да за десяток лет, в худшем случае несколько сотен по каждому договору.
Пени капитализируются.
Вдобавок, пороговая дата, с какой начинается подсчет пени в разных видах договоров, разная. У меня один договор с десятком лет считается сотни миллисекунд. Если методика проста, скиньте ссылку, где можно почитать про это.
...
Рейтинг: 0 / 0
02.12.2013, 11:36
    #38485693
Виктор_sql
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз о вычислении просрочек и пени
Пересчитывается на сервере(MSSQL) разумеется, как написал выше, помощью серверных ф-ций(инлайн, либо табличных).
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Еще раз о вычислении просрочек и пени / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]