Программа для построения поэтажного плана квартиры и расчета ремонта
Должна уметь строить:
- стены разной задаваемой толщины, располагаемые преимущественно под прямым углом, но в том числе и под другими углами путем соединения крайних точек соседних стен;
- окна и двери разных размеров, задаваемых вручную;
- колонны и потолочные ригеля.
Все размеры можно либо задать сразу в мм или м, а также отредактировать в любой момент.
После построения программа должна сама обсчитывать площади помещений (пола и потолка), площади стен, окон и дверей.
Каждый объект должен храниться как самостоятельный и обладать свойствами: длина, высота, вид отделки (обои, окраска, ламинат, гипсокартон и т.д. и т.п.). Один элемент может иметь несколько типов отделки. Например у стен: штукатурка, шпаклевка, окраска или штукатурка, шпаклевка, обои; у пола: стяжка, линолеум, плинтус ПВХ или стяжка, плитка.
После заполнения всех свойств объектов программа должна (например, по нажатию кнопки на панели) рассчитывать площади по комнатам всех поверхностей с разными типами отделки.
На выходе должна выгружать в MS Word полученную картинку с планом помещения и ведомость отделочных покрытий по каждому помещению в виде таблицы.
Все внесенные построения и данные программа должна уметь сохранять в файл проекта для возможности повторной загрузки в дальнейшем и расчетов при необходимости.
На втором этапе в программу необходимо добавить возможность задавать дефекты отделки и конструкций по стандартным спискам дефектов с возможностью прикреплять к ним фото или ссылку на фото в папке. Для возможности не потерять ссылки на фото в настойках программы необходимо указать путь для главной рабочей папки, относительно которой указываются пути до фото в программе и файле проекта.
Изначально исходим, что все дефекты критического характера и требуют замены отделки или элемента. Отдельные дефекты подразумевают количественную оценку (например, отклонение от вертикали больше 5 мм на метр или зазор до 1 мм и пр.). Однако не будем усложнять алгоритм программы и исходим из того, что критичность дефекта определяет оператор, т.е. если дефект выбран, то нужна замена. Для количественных дефектов необходимо лишь предусмотреть поле ввода фактического значения для отражения в отчете (пример на рисунке в самом низу). У каждого дефекта конкретного элемента должен быть уровень приоритетности. Например для стен: обои – уровень 1, шпаклёвка – уровень 2, штукатурка – уровень 3. Уровень приоритетности указывает на необходимость замены других слоев отделки при ремонте текущего. Например, при ремонте штукатурки с выравниванием потребуется перешпаклевать и заменить обои даже если в них нет дефектов.
Задав все дефекты, нажимаем кнопку «Рассчитать дефектную ведомость» и программа анализирует все заданные элементы, подгружает стандартный способ устранения дефекта (или он хранится сразу в структуре элемента при загрузке дефектов из БД) и включать его в общую ведомость ремонтных работ по их устранению с учетом уровней приоритета, которая выводится виде таблицы в самом конце в составе стандартного отчета отдельно по каждому помещению и суммарно по всей квартире (суммируя однотипные виды ремонта по всей квартире, определяя их по одинаковому ключевому полю). После этого становится доступной кнопка «Сформировать отчет» и программа должна выгружать стандартный отчет по шаблону в Word, вставляя собранные данные, в том числе фото, в нужные места шаблона, а в конце дефектную ведомость.