Closed sedovalx closed 9 years ago
@hodkoff2 @Argelein Раз других предложений не поступило, сделаем следующую схему касательно списания арендной платы с водителя. Делаем кнопку "Списать арендную плату":
Баланс водителя при этом будет вычисляться по формуле:
Б = Бнач - СУМ(КТ*тариф) + СУМ(АП) - СУМ(Ремонт)
, где
Т.к. аренда у нас может находиться в нескольких разных статусах: открыта, закрыта, приостановлена, то для расчета баланса водителя мы должны хранить историю изменения статусов аренды, чтобы не списывать АП во время приостановки аренды. Для этого заведем таблицу с признаками:
@hodkoff2 @Argelein @v1pka Первое. Дополнил схему данных. Дим, проверь пожалуйста. Чтобы ее накатить на БД, нужно сначала все удалить. Можно даже БД пересоздать. Затем выполнить скрипт server/conf/sql/schema_up.sql. После этого чтобы все удалить достаточно будет выполнить скрипт schema_down.sql. Давайте поддерживать в актуальном состоянии эти два скрипта при изменении схемы данных.
Второе. Как эту схему красиво посмотреть? Вот тут в видео ответ. Идем в IntelliJ IDEA -> Views -> Tool Windows -> Database и настраиваем там соединение с PostgreSQL. На странице с настройками соединения не забудьте кликнуть на Add Driver, чтобы он скачался. После этого синхронизируйте отображение на вкладке Database с БД, появятся все таблицы. Тут же их можно менять, добавлять новые и строить на их основе диаграмму.
Третье. Предлагаю отказаться от ведения файла модели в Visio, а менять ее прямо в БД, при этом актуализируя скрипты schema_up и schema_down.
Четвертое. Дима, на основании схемы таблиц в БД можно сгенерировать Scala-классы с маппингом. Генерировать легче чем писать самому, поэтому это наш путь! Осталось разобраться, как это делать. Возьмешься?
Доменная модель теперь описывается схемой в БД. Имена таблиц из car_class преобразуются к CarClass. Имена полей из sec_phone в secPhone.
Мы составляли схему доменных сущностей. Нужно ее актуализировать и перенести в Visio. Файл со схемой положить на github.