Необходимо написать приложение, которое позволяет составлять график производства работ.
Мне кажется удобнее всего это сделать в формате Web-приложения. Но, возможно, и формате гугл-таблицы =)
Важно иметь доступ в полевым условиях к программе, чтобы не быть привязанным к десктопу.
Есть 4 сущности: Бригада, объект, рекламация и доставка.
Кол-во бригад может изменяться. Но это постоянная величина.
Каждая бригада обладает свойствами:
квалификация, скорость работы, готовность к полевым условиям
Каждый объект обладает свойствами:
временем строительства, сложность, условия проживания, срок подписания (автоматически сразу вычисляем срок окончания договора).
Объекты регулярно добавляются новые.
Каждая рекламация обладает свойствами:
сложность
На рекламацию не нужна доставка газели. Туда выезжает бригада на своем транспорте. Бригада на примере подсвечена бирюзовым цветом.
Доставка делится на 2 типа:
доставка каркаса (это один авто) и доставка сэндвича (это второй авто).
Главное требование к доставкам они не должны пересекаться. В один день 2 выхода это не есть хорошо.
единственное когда доставки могут накладываться друг на друга, это в случае удаленности объекта от базы не более 100 км (газель может сделать 2 рейса).
Приложение должно работать так:
заносим бригады и их свойства на отдельные вкладки:
Вносим объекты (по мере подписания договоров с клиентами) и их свойства:
вносим рекламации по мере их появления:
После этого приложение выстраивает примерный сетевой график, вида:
На графике желтым цветом отмечена ячейка, которая подсвечивает дату выхода на объект (доставка каркаса) и синим цветом (доставка сэндвича (на след. день после выхода на объект). Если происходит накладка и 2 выхода в один день, то подсвечивается красным.
Но по идее такого не должно быть.
необходимо предусмотреть:
ручную правку графика. Например, если по погодным условиям строители не могут закончить объект и затягивают сдачу (т.е. не по графику), то в ручном режиме нужно "растянуть" зеленую область на время задержки, при этом все даты выходов на след. объекты у данной бригады должны перестроиться автоматически с подсвечиванием красным цветом пересечений.
ручное перемещение объектов между бригадами
все перетаскивания по принципу drag & drop (если перетаскиваем один объект в другую бригаду, то все связи меняются и график перестраивается)
Я описал общие принципы и алгоритмы работы приложения.
Если какие-то моменты сильно усложняют разработку и реализация, то я готов к обсуждению.
В частности автоматическое построение графика считаю довольно сложной задачей.
Все желающие взяться за этот проект, Welcome! правки, цена и сроки открыты к обсуждению.