Веб-разработка. Разработка с нуля. Пожелания и особенности: Программа должна самостоятельно подобрать и вставить соответствующие фотографии устранения («после»). Если отсутствуют фотографии как нарушений, так и устранений, программа должна самостоятельно сформировать презентацию, разместив фотографии «до» и «после» в нужных местах и сохранив структуру шаблона. Программа должна самостоятельно определять, какое фото устранения относится к конкретному нарушению. Сопоставление должно происходить автоматически на основании названия нарушения, адреса, участка, ракурса, названия файла или иных совпадающих признаков. После определения соответствия фотографии должны автоматически размещаться рядом друг с другом в одном блоке или на одном слайде без участия пользователя. Если однозначно определить соответствие невозможно, программа должна вывести такие случаи отдельно для последующей ручной проверки. Необходимо предусмотреть возможность обработки большого количества нарушений одновременно. Пользователь должен иметь возможность загрузить сразу весь комплект фотографий, после чего программа самостоятельно распределит их по соответствующим нарушениям и сформирует полностью готовую презентацию. Программа должна уметь работать и в обратном направлении. Она должна открывать готовые презентации, автоматически извлекать из них фотографии нарушений и при необходимости сохранять каждое нарушение отдельным изображением. Дополнительно необходимо реализовать возможность выгрузки только тех нарушений, по которым отсутствуют фотографии устранения. После завершения обработки программа должна автоматически формировать статистическую информацию. Необходимо рассчитывать общее количество нарушений, количество устраненных нарушений, количество неустраненных нарушений, а также остатки по каждому участку и общие итоговые показатели. Подсчет должен выполняться только по категориям ДТ-1, ДТ-2, ДТ-3, ДТ-4, ОДХ, ОЗН. Нарушения категории МКД не должны участвовать в расчетах, общей статистике и остатках, поскольку относятся к другому подразделению. При этом информация по МКД может выводиться отдельно исключительно в информационных целях. Программа должна поддерживать работу с различными форматами онлайн-таблиц. В одних случаях таблицы содержат ссылки на фотографии нарушений и устранений, в других — непосредственно изображения. В случае работы со ссылками программа должна автоматически сохранять фотографии устранений в облачное хранилище, получать ссылку на загруженный файл и прикреплять ее к соответствующему нарушению. При необходимости программа должна изменять статус нарушения на «Направлено на проверку». Если таблица содержит изображения, программа должна автоматически вставлять фотографии «до» и «после» в соответствующие ячейки. При работе с онлайн-таблицами необходимо обеспечить полную безопасность внесения изменений. Программа должна изменять только разрешенные поля, относящиеся к конкретному району пользователя, не затрагивая структуру таблицы, формулы, данные других районов и любую иную информацию. Поскольку данные таблицы принадлежат вышестоящей организации, любые посторонние изменения должны быть полностью исключены. При необходимости программа должна автоматически сохранять фотографии устранений в облачном хранилище, получать ссылки на загруженные файлы и использовать их при заполнении онлайн-таблиц. Программа должна корректно работать с различными шаблонами презентаций и различными форматами отчетов, так как используемые формы могут отличаться между собой. При появлении новых шаблонов должна быть предусмотрена возможность их адаптации без существенной переработки программы. Результатом работы программы должна стать полностью готовая презентация с автоматически размещенными фотографиями нарушений и устранений, сформированной статистикой, подсчетом по участкам, отдельным отображением информации по категории МКД и, при необходимости, автоматически заполненной онлайн-таблицей. Основная цель разработки заключается в максимальном сокращении ручной работы пользователя и автоматизации всех повторяющихся операций. 1. Автоматическое создание презентаций Программа должна автоматически формировать презентации на основании загруженных фотографий. Она должна поддерживать следующие сценарии: автоматическое создание презентации по фотографиям «до» и «после»; автоматическое создание презентации только по «после», если «до» уже присутствуют; создание презентации с нуля, если отсутствуют оба типа фотографий; автоматическое распределение фотографий по слайдам и ракурсам; обработку большого количества нарушений без ручной сортировки. Пользователь загружает фотографии ? программа формирует готовую презентацию. 2. Разрезание и обработка существующих презентаций Программа должна уметь: открывать готовые презентации; извлекать из них фотографии нарушений; сохранять каждое нарушение отдельно (при необходимости); выгружать только те нарушения, где отсутствуют устранения. 3. Автоматическое сопоставление фотографий Программа должна самостоятельно определять, какое фото «после» относится к какому фото «до». Сопоставление выполняется по: названию нарушения; адресу; участку; ракурсу; названию файла; дополнительным признакам. Если соответствие не найдено точно — такие случаи должны выноситься отдельно для ручной проверки. 4. Формирование статистики После обработки программа формирует статистику: общее количество нарушений; количество устранённых; количество неустранённых; остатки по участкам; общие итоги. 5. Подсчёт по участкам Статистика формируется по: ДТ-1; ДТ-2; ДТ-3; ДТ-4; ОДХ; ОЗН. МКД не участвует в расчётах. 6. Исключение МКД Нарушения МКД: не входят в статистику; не участвуют в остатках; могут отображаться только отдельно как информационный блок. 7. Работа с онлайн-таблицами Программа должна работать с таблицами двух типов: таблицы со ссылками на фото; таблицы с изображениями. При работе со ссылками: сохранять фото в облако; получать ссылку; вставлять её в таблицу; при необходимости менять статус на «на проверку». При работе с изображениями: вставлять «до» и «после» напрямую в таблицу. 8. Ограничения по таблицам Программа не должна: менять структуру таблиц; удалять строки; менять формулы; затрагивать чужие районы; выходить за рамки разрешённых полей. Работа ведётся строго в пределах своего района. 9. Облачное хранилище При необходимости программа: загружает фотографии в облако; получает ссылку; использует её в таблицах и презентациях. 10. Шаблоны и адаптация Программа должна поддерживать разные шаблоны презентаций и таблиц и легко адаптироваться под новые форматы без переработки логики. Результат Пользователь загружает фотографии ? программа автоматически: определяет «до» и «после»; сопоставляет нарушения; формирует презентацию; считает статистику; формирует остатки; при необходимости обновляет онлайн-таблицы. Итог — полностью готовая презентация и отчётность без ручной работы.