refine scheme implementation
This commit is contained in:
121
oms/interface-arm/docs/vat_change_invoice.puml
Normal file
121
oms/interface-arm/docs/vat_change_invoice.puml
Normal file
@@ -0,0 +1,121 @@
|
||||
@startuml Редактирование счета на оплату
|
||||
!pragma teoz true
|
||||
|
||||
title AS IS Редактирование счета на оплату (флоу из ТЗ COMPRO-3467)
|
||||
|
||||
actor "Пользователь (АРМ)" as User
|
||||
participant "Frontend (АРМ)" as Front
|
||||
participant "Gateway (Прокси)" as Gateway
|
||||
participant "OMS-Documents (метаданные)" as Docs
|
||||
participant "Хранилище (S3)" as S3
|
||||
participant "OMS-Print (конвертация)" as Print
|
||||
participant "Редактор (Tiptap)" as Editor
|
||||
|
||||
== 1. ИНИЦИАЦИЯ РЕДАКТИРОВАНИЯ (ПОЛУЧЕНИЕ HTML) ==
|
||||
|
||||
User -> Front: Клик "Редактировать счет" (актуальный)
|
||||
activate Front
|
||||
|
||||
Front -> Gateway: GET /documents/v1/invoice/{id}/html
|
||||
activate Gateway
|
||||
|
||||
Gateway -> Docs: Запрос docURL для invoiceID
|
||||
activate Docs
|
||||
Docs --> Gateway: docURL (ссылка на PDF в S3)
|
||||
deactivate Docs
|
||||
|
||||
Gateway -> S3: Запрос PDF файла по docURL
|
||||
activate S3
|
||||
S3 --> Gateway: PDF файл счета
|
||||
deactivate S3
|
||||
|
||||
Gateway -> Print: Конвертация PDF в HTML (вызов метода)
|
||||
activate Print
|
||||
Print --> Gateway: HTML файл счета
|
||||
deactivate Print
|
||||
|
||||
Gateway --> Front: HTML файл (ответ 200)
|
||||
deactivate Gateway
|
||||
|
||||
Front -> Editor: Инициализация редактора с HTML
|
||||
activate Editor
|
||||
Editor --> Front: Готово
|
||||
deactivate Editor
|
||||
|
||||
Front --> User: Открыто окно редактора
|
||||
deactivate Front
|
||||
|
||||
== 2. РЕДАКТИРОВАНИЕ И СОХРАНЕНИЕ НОВОЙ ВЕРСИИ ==
|
||||
|
||||
User -> Editor: Вносит изменения (текст, таблицы)
|
||||
activate Editor
|
||||
Editor --> User: Изменения отображены
|
||||
User -> Editor: Клик "Сохранить"
|
||||
Editor -> Front: Передача измененного HTML
|
||||
deactivate Editor
|
||||
activate Front
|
||||
|
||||
Front -> Gateway: POST /documents/v1/invoice/{id}/html\n{ "html": "..." }
|
||||
activate Gateway
|
||||
|
||||
Gateway -> Print: Конвертация HTML в PDF
|
||||
activate Print
|
||||
Print --> Gateway: Новый PDF файл
|
||||
deactivate Print
|
||||
|
||||
Gateway -> S3: Сохранение нового PDF файла
|
||||
activate S3
|
||||
S3 --> Gateway: newDocURL (ссылка на новый файл)
|
||||
deactivate S3
|
||||
|
||||
Gateway -> Docs: Создание новой версии записи\n(новый docURL, isSend:false, обновленные Base/Details)
|
||||
activate Docs
|
||||
Docs --> Gateway: OK (новая версия создана)
|
||||
deactivate Docs
|
||||
|
||||
Gateway --> Front: 204 No Content (Успех)
|
||||
deactivate Gateway
|
||||
|
||||
== 3. ОБНОВЛЕНИЕ ИНТЕРФЕЙСА ==
|
||||
|
||||
Front -> User: 1. Закрывает редактор\n2. Уведомление "Счет изменен"
|
||||
Front -> Gateway: Вызов getInvoiceLatest (перезапрос)
|
||||
activate Gateway
|
||||
Gateway -> Docs: Запрос последней версии счета
|
||||
activate Docs
|
||||
Docs --> Gateway: Данные обновленного счета (с newDocURL)
|
||||
deactivate Docs
|
||||
Gateway --> Front: Данные обновленного счета
|
||||
deactivate Gateway
|
||||
|
||||
Front -> User: Обновляет отображение во вкладке "Счет на оплату"
|
||||
deactivate Front
|
||||
|
||||
@enduml
|
||||
|
||||
@startuml
|
||||
|
||||
@enduml
|
||||
|
||||
|
||||
|
||||
@startuml
|
||||
|
||||
title TO BE Логика расчета НДС
|
||||
|
||||
actor "Триггер" as User
|
||||
participant "OMS" as OMS
|
||||
participant "NDS" as NDS
|
||||
|
||||
User -> OMS: Создание спеки / счета на оплату / триггер ПМП
|
||||
OMS --> OMS: Заполнение необходимых данных (Блок КА, блок доставок,\nшапка документа и т.д. в зависимости от типа документа)
|
||||
OMS -> NDS: Вызывает метод: nds/vat_calc в сервисе NDS
|
||||
alt Если вернулся nds_calc = nds_reverse || nds_calc = nds_direct
|
||||
OMS -> NDS: Запрашашивает НДС и производные
|
||||
NDS --> OMS: answer
|
||||
OMS --> OMS: Подставляет НДС и производные из ответа сервиса NDS
|
||||
else Если вернулся nds_calc = self
|
||||
OMS --> OMS: Рассчитывает НДС и производные по формуле (UnitPrice*20)/120\n(как и было)
|
||||
end
|
||||
OMS --> User: answer
|
||||
@enduml
|
||||
Reference in New Issue
Block a user