User Tools

Site Tools


sys:gather

This is an old revision of the document!


Система автоматизации сбора статистической информации

Проблема - организовать сбор статистической информации с подчиненных организаций.

Информационные потоки в таких системах организаций включают два направления:

  1. Вниз - приказы о сборе информации, шаблон документа-отчета, инструкция по сбору и подготовке результата.
  2. Вверх - отчетный документ на основе шаблона и собранных данных.

Имеет смысл обобщить систему организаций и представить ее в виде иерархии. В каждом узле с ветвлением (нелистовом) происходит копирование информации, передаваемой вниз, и агрегация информации, передаваемой вверх. В листовых вершинах осуществляется только выполнение части инструкции - как получать заполняемую информацию и куда ее вставлять.

Объект автоматизации - деятельность организаций, организованной в иерархию, направленная на сбор статистической информации.

Шаблон документа готовится в Word или Excel. Инструкция указывает какие элементы шаблона подлежат копированию и реорганизации, например заполнение скопированной ячейки собранной информацией. Инструкция изначально - это текстовое описание вышеуказанных процедур. В принципе при реализации можно придумать способ формализации инструкции на техническом английском языке.

Разрабатываемая программная система должна выполнять следующие действия:

  1. Проводить анализ шаблона документа и извлекать оттуда информацию о структуре собираемых данных.
  2. Сгенерировать таблицу для хранения данных. Можно предусмотреть повторное использование ранее созданных таблиц, если сбор информации повторяется.
  3. Генерировать формы сбора информации для организаций, находящихся в листовых вершинах.
  4. Организовывать сбор информации:
    1. Из базы данных подшефных организаций извлекаются контактные данные ответственных лиц (в общем случае зависит от типа собираемой задачи),
    2. Форма и инструкция по ее заполнению рассылается ответственным лицам (ссылка на персонализированную (идентифицирующую конкретную организацию) форму на почту, телеграм, вацап, телеграм и т.п.).
    3. Ответственное лицо выполняет инструкцию и заполняет форму. В форме надо предусмотреть возможность частично сохранять информацию, т.е. дать возможность заполнять форму поэтапно, если процедура сбора информации во времени распределена. Самый простой способ - две кнопки: “Сохранить”, “Подписать”.
    4. Ответственное лицо подписывает форму, система сохраняет результат в базе данных.
  5. Генерировать отчетный документ. Имеет смысл предусмотреть возможность автоматизации корректировки формул шаблона для учета обновленной структуры документа.

## Задел

Пробовал реализовать эту систему для документов WORD: https://github.com/eugeneai/icc.quest . Здесь в docx-шаблоне ячейки представляются при помощи структур :<название поля>:<тип> + можно добавить еще :disabled, если ячейку править нельзя. Пример в проекте input/query1.docx .

Потом ушел в дебри модификации Документа Excel: https://github.com/eugeneai/if2xlsx . Идея - не интерпретировать и не загружать данные excel, а вносить модификации копированием строки или столбца переименовывая ячейки. Что копировать должно определяться структурой таблицы. Копируемые элементы (строки или столбцы) определяются при помощи “переменных диапазонов”. До копирования дело так и не дошло.

sys/gather.1584673732.txt.gz · Last modified: 2020/10/24 08:46 (external edit)