mamont77 / fcontrol

BSD 3-Clause "New" or "Revised" License
0 stars 1 forks source link

Необходимо спроектировать и создать глобальный объект полета. #74

Closed mamont77 closed 10 years ago

mamont77 commented 10 years ago

@vladkramarenko я много думал. Сейчас у нас есть полет и 4 формы. Каждая из четырех форм не знает о существовании друг друга (и это правильно), она лишь знает к какому полету она привязана. Когда программа строит полет, например этот http://fcontrol.rapvokzal.com/browse/ORD-131212-1, она отрисовывает сам полет, ищет все привязанные к полету LEGs, затем ищет и отрисовывает Refuels и так далее.

Теперь смотрим на следующий этап на примере MenegmentRefuel. Мы не можем увидеть Aircraft полета, не сделав дополнительный mySQL запрос в БД. Т.е. можем увидеть, но за 2 этапа. А если нам понадобится любая информация по конкретной строчке рефуела и Ap Services нас придется делать еще один запрос и тд.

Но я могу за несколько часов спроектировать построить целый объект полета. Пользователю он не виден, это лишь программный объект для последующей работы всяких форм с полетом. Он будет возвращать большой набор данных, и появится возможность очень легко программно получать доступ к любым данным полета. Так мы сможем для Refuels быстро получать Aircraft и тд.

Кстати, это очень пригодится в клонировании полета. К примеру: Загружаем в память целостный полет как объект, запоминаем дату полета (ORD), просим пользователя ввести новую дату, высчитываем разницу дней (delta) между оригиналом и новой дату, меняем все даты в LEGs и всех формах на delta, затем все это с новым №ORD записываем в БД, занавес.

Подумай на досуге, нужна ли такая штука. Хотя возможно как ни крути, а придется ее делать. Не известно что там дальше будет за рефуелом, я до сих пор не вижу целостной картинки что надо сделать в итоге (мне не предоставили полного задокументированного ТЗ).