COOPENOMICS  v1
Кооперативная Экономика
Голосование по методу Водянова

Процесс распределения голосующей суммы вкладчиком между другими вкладчиками проекта по методу Водянова и сохранения результатов голосования в системе.

Назначение процесса

Подача голоса по методу Водянова обеспечивает:

sequenceDiagram participant У as Вкладчик participant ПК as Контракт Capital participant П as Проект У->>ПК: 1. Подача голоса по методу Водянова Note over ПК: Проверка статуса проекта ПК->>П: 2. Проверка статуса и срока голосования alt Проект в статусе голосования П->>ПК: 3. Подтверждение статуса ПК->>ПК: 4. Валидация вкладчика голосования ПК->>ПК: 5. Проверка корректности голосов ПК->>ПК: 6. Сохранение голосов ПК->>П: 7. Обновление счетчика голосов else Проект не в статусе голосования ПК->>У: Ошибка: проект не в статусе голосования end

Пошаговое описание процесса

Шаг 1: Инициация подачи голоса

Действие: Подача голоса по методу Водянова

Вкладчик распределяет свою голосующую сумму между другими вкладчиками проекта в рамках голосования по методу Водянова.

Постусловие
Проверка авторизации кооператива

Шаг 2: Проверка статуса проекта и срока голосования

Действие: Валидация состояния проекта

Система проверяет, что:

Постусловие
Подтвержден статус проекта как "голосование"
Подтверждено, что срок голосования не истек

Шаг 3: Валидация вкладчика голосования

Действие: Проверка прав вкладчика

Система проверяет, что:

Постусловие
Подтверждено участие пользователя в голосовании
Подтверждено, что пользователь еще не голосовал

Шаг 4: Проверка корректности голосов

Действие: Валидация распределения голосов

Система проверяет корректность распределения голосов:

Постусловие
Проверка корректности всех параметров голосования

Шаг 5: Сохранение голосов

Действие: Фиксация голосов в системе

Система сохраняет каждый голос в таблице голосов, связывая голосующего с получателем голоса и суммой голоса.

Постусловие
Голоса сохранены в системе

Шаг 6: Обновление счетчика полученных голосов

Действие: Учет голоса в статистике

Система обновляет счетчик полученных голосов для проекта, увеличивая его на единицу для отслеживания завершения голосования.

Постусловие
Счетчик полученных голосов увеличен

Условия для подачи голоса

Обязательные требования:

Результат процесса

post" 1. Голоса вкладчика сохранены в системе 2. Счетчик полученных голосов обновлен 3. Вкладчик больше не может голосовать по данному проекту @subsection autotoc_md297 Связанные процессы - @ref public_capital_voting_start_process "Начало голосования" - предшествующий этап - @ref public_capital_calculate_votes_process "Подсчет голосов" - следующий этап - @ref public_capital_voting_completion_process "Завершение голосования" - завершающий этап