diff --git a/ProcessAnalitycs.puml b/ProcessAnalitycs.puml new file mode 100644 index 0000000..4352658 --- /dev/null +++ b/ProcessAnalitycs.puml @@ -0,0 +1,46 @@ +@startuml +scale 2000x2000 +mainframe Процесс движения задачи +actor Проджект +actor Аналитик +actor Круглый_стол +actor Архитектор +actor Груминг +actor Тимлид +actor Исполнитель +actor Тестировщик + +->Проджект: Задача пришла проджекту\nиз любого источника +Проджект->Проджект: Планирует преданалитику (если требуется) +Проджект->Аналитик: Информирует о задаче +Аналитик->Аналитик: Оценивает нужно\nли дробление по задаче +Аналитик->Аналитик: Оценивает сроки +Проджект->Проджект: Планирует аналитику +Проджект->Аналитик: Передает задачу +Аналитик->Аналитик: Работает над задачей\n(описывает сценарии,\nТЗ и т.д.) +Аналитик->Аналитик: Выявляет блокеры\nи фиксирует их +Аналитик->Круглый_стол: Приносит задачу на КС\n(или иными способами) +Круглый_стол->Круглый_стол: Определяется\nархитектор\n+ исполнители по\nзадаче +Круглый_стол->Архитектор: Получает задачу\nна проектирование +Архитектор->Архитектор: Фиксирует\nи продумывает тех.решение +Архитектор->Архитектор: Проектирует BE-FE +Архитектор->Аналитик: Сверяют что тех.решение\nреализует требования +Аналитик->Архитектор: Синкаются между собой и апрувят решение +Архитектор->Груминг: Собирает груминг +Груминг->Груминг: Погружение исполнителей\nв бизнес-контекст +Груминг->Груминг: Погружение исполнителей\nв тех.решение +loop +Груминг->Груминг: Обсуждение с командой\nтех.решения +Груминг->Груминг: Фиксация блокеров по\nзадаче в DOR +Груминг->Груминг: Оценка задач +end +Груминг->Тимлид: Получает задачу с оценкой +Тимлид->Тимлид: Проверяет что нет блокеров\nпо задаче и она готова\nк работе по DOR +Тимлид->Исполнитель: Планирует задачу на в спринт\n(арх или исполнитель) +Исполнитель->Исполнитель: Выполняет задачу +Исполнитель->Тестировщик: Передает задачу +Тестировщик->Тестировщик: Проверяет задачу +Тестировщик->Тестировщик: Проверяет что задача ок по DOD +Тестировщик->: To the mooon + +@enduml \ No newline at end of file diff --git a/oms/autoorder/change-ao.puml b/oms/autoorder/change-ao.puml index 500e724..3a39f61 100644 --- a/oms/autoorder/change-ao.puml +++ b/oms/autoorder/change-ao.puml @@ -7,6 +7,7 @@ queue kafka participant Gateway participant workflow participant wtis +participant CRM user -> SITE: Оформляет заказ SITE -> SITE: Сохраняет заказ в БД @@ -16,23 +17,27 @@ Gateway --> kafka: Забирает заказ Gateway -> workflow: CreateB2CAO workflow -> workflow: Проверяет условия АО workflow -> workflow: Проверяет тип доставки +workflow -> wtis: синк заказа во втис через kafka alt Тип доставки "Курьером" workflow -> workflow: Устанавливает таймер на N минут alt Поступила оплата в заказ до истечения срока таймера workflow -> workflow: Заканчивает автооформление\nУстанавливает дату доставки\nзаказа + workflow -> wtis: Синхронизирует заказ со WTIS else Не поступила оплата в заказ до истечения срока таймера - workflow -> wtis: Заказ передается во WTIS\nМеняется мастер система + workflow -> CRM: Ставится задача с типом 21 в CRM end else Тип доставки "Самовывоз" workflow -> workflow: Проверяет наличие\nкрупногабаритных товаров\nв заказе alt Крупногабаритных товаров в заказе нет workflow -> workflow: Заканчивает автооформление\nУстанавливает дату доставки\nзаказа + workflow -> wtis: Синхронизирует заказ со WTIS else Крупногабаритные товары в заказе есть workflow -> workflow: Устанавливает таймер на N минут alt Поступила оплата в заказ до истечения срока таймера workflow -> workflow: Заканчивает автооформление\nУстанавливает дату доставки\nзаказа + workflow -> wtis: Синхронизирует заказ со WTIS else Не поступила оплата в заказ до истечения срока таймера - workflow -> wtis: Заказ передается во WTIS\nМеняется мастер система + workflow -> CRM: Ставится задача с типом 21 в CRM end end end diff --git a/oms/history/history.puml b/oms/history/history.puml index c9f0c2e..4b2a8f8 100644 --- a/oms/history/history.puml +++ b/oms/history/history.puml @@ -1,31 +1,31 @@ -@startjson -{ - "order": "order guid", - "total": "count_list", - "orderChanges": [ - { - "type": "name type of correction", - "entityType": "order/supply/shipment", - "EntityId":"UUID entity", - "id": "correction ID", - "reason": "reason changes", - "createdAt":"Full name author", - "createdBy":"UUID author", - "valueChanges": [ - { - "firstObject": { - "before": "old_value", - "after": "new_value" - } - }, - { - "secondObject": { - "before": "old_value", - "after": "new_value" - } - } - ] - } - ] -} +@startjson +{ + "order": "order guid", + "total": "count_list", + "orderChanges": [ + { + "type": "name type of correction", + "entityType": "order/supply/shipment", + "EntityId":"UUID entity", + "id": "correction ID", + "reason": "reason changes", + "createdAt":"Full name author", + "createdBy":"UUID author", + "valueChanges": [ + { + "firstObject": { + "before": "old_value", + "after": "new_value" + } + }, + { + "secondObject": { + "before": "old_value", + "after": "new_value" + } + } + ] + } + ] +} @endjson \ No newline at end of file diff --git a/oms/history/localization-actions.json b/oms/history/localization-actions.json index 55632f5..00e80b2 100644 --- a/oms/history/localization-actions.json +++ b/oms/history/localization-actions.json @@ -1,54 +1,54 @@ -{ - // order - "order_created": "Заказ создан", - "changed_contragent": "Изменен контрагент", - "booked": "Переведен в статус 'Забронирован'", - "booked_cancel": "Отменено бронирование", - "deleted": "Переведен в статус 'Удален'", - "ordered": "Переведен в статус 'В работе'", - "shipped": "Переведен в статус 'Завершен'", - "canceled": "Переведен в статус 'Отменен'", - "changed_region": "В заказе изменен регион", - "changed_comment": "В заказе изменен комментарий к заказу", - "changed_amount": "В заказе изменена сумма заказа", - "changed_payment": "В заказе изменена сумма оплаты", - "changed_date_delivery": "В заказе изменена дата доставки", - "changed_discount_order": "В заказе изменена скидка", - "changed_manager": "В заказе изменен менеджер", - "extended_reserve_date": "В заказе продлен резерв", - "change_contract": "К заказу привязан договор", - // shipment - "shipment_created": "Доставка создана", - "changed_type_delivery": "Тип доставки изменен", - "changed_office": "Пункт выдачи заказа изменен", - "changed_delivery_address": "Адрес доставки изменен", - "changed_interval_courier_delivery": "Интервал курьерской доставки изменен", - "changed_courier_delivery_cost": "Стоимость курьерской доставки изменена", - "changed_comment_courier": "Комментарий курьера изменен", - "change_shipment_possibility": "Установлен признак 'Отгружать с ПДЗ'", - "changed_transport_company": "Транспортная компания изменена", - "changed_transport_company_delivery_method": "Способ доставки ТК изменен", - "changed_cdek_region": "Регион ТК изменен", - "changed_tariff": "Тариф ТК изменен", - "purchase_task": "Переведен в статус 'В задании на закупку'", - "purchase_formalized": "Переведен в статус 'В закупке'", - "reserved": "Переведен в статус 'Зарезервирован'", - "assembling": "Переведен в статус 'Комплектуется'", - "relocating": "Переведен в статус 'Перемещение'", - "with_courier": "Переведен в статус 'Передан курьеру'", - "with_carrier": "Переведен в статус 'Передан ТК'", - "ready_for_pickup": "Переведен в статус 'Готов к выдаче'", - "issued": "Переведен в статус 'Выдан'", - // supply - "added": "Товар добавлен", - "removed": "Товар удален", - "changed_discount_supply": "Изменена скидка по товару", - "changed_price": "Цена товара изменена", - "changed_count": "Изменено количество товара", - "purchase_draft": "Переведен в статус 'Закупка в черновике'", - "not_in_stock": "Нет в наличии", - "warehouse_acceptance": "Переведен в статус 'Размещается'", - "returned": "Переведен в статус 'Возвраще'", - "absent": "Переведен в статус 'Возвращен'", - "defect": "Переведен в статус 'Брак'" +{ + // order + "order_created": "Заказ создан", + "changed_contragent": "Изменен контрагент", + "booked": "Переведен в статус 'Забронирован'", + "booked_cancel": "Отменено бронирование", + "deleted": "Переведен в статус 'Удален'", + "ordered": "Переведен в статус 'В работе'", + "shipped": "Переведен в статус 'Завершен'", + "canceled": "Переведен в статус 'Отменен'", + "changed_region": "В заказе изменен регион", + "changed_comment": "В заказе изменен комментарий к заказу", + "changed_amount": "В заказе изменена сумма заказа", + "changed_payment": "В заказе изменена сумма оплаты", + "changed_date_delivery": "В заказе изменена дата доставки", + "changed_discount_order": "В заказе изменена скидка", + "changed_manager": "В заказе изменен менеджер", + "extended_reserve_date": "В заказе продлен резерв", + "change_contract": "К заказу привязан договор", + // shipment + "shipment_created": "Доставка создана", + "changed_type_delivery": "Тип доставки изменен", + "changed_office": "Пункт выдачи заказа изменен", + "changed_delivery_address": "Адрес доставки изменен", + "changed_interval_courier_delivery": "Интервал курьерской доставки изменен", + "changed_courier_delivery_cost": "Стоимость курьерской доставки изменена", + "changed_comment_courier": "Комментарий курьера изменен", + "change_shipment_possibility": "Установлен признак 'Отгружать с ПДЗ'", + "changed_transport_company": "Транспортная компания изменена", + "changed_transport_company_delivery_method": "Способ доставки ТК изменен", + "changed_cdek_region": "Регион ТК изменен", + "changed_tariff": "Тариф ТК изменен", + "purchase_task": "Переведен в статус 'В задании на закупку'", + "purchase_formalized": "Переведен в статус 'В закупке'", + "reserved": "Переведен в статус 'Зарезервирован'", + "assembling": "Переведен в статус 'Комплектуется'", + "relocating": "Переведен в статус 'Перемещение'", + "with_courier": "Переведен в статус 'Передан курьеру'", + "with_carrier": "Переведен в статус 'Передан ТК'", + "ready_for_pickup": "Переведен в статус 'Готов к выдаче'", + "issued": "Переведен в статус 'Выдан'", + // supply + "added": "Товар добавлен", + "removed": "Товар удален", + "changed_discount_supply": "Изменена скидка по товару", + "changed_price": "Цена товара изменена", + "changed_count": "Изменено количество товара", + "purchase_draft": "Переведен в статус 'Закупка в черновике'", + "not_in_stock": "Нет в наличии", + "warehouse_acceptance": "Переведен в статус 'Размещается'", + "returned": "Переведен в статус 'Возвраще'", + "absent": "Переведен в статус 'Возвращен'", + "defect": "Переведен в статус 'Брак'" } \ No newline at end of file diff --git a/oms/history/localization-attributes.json b/oms/history/localization-attributes.json index 4acccdc..0c841a4 100644 --- a/oms/history/localization-attributes.json +++ b/oms/history/localization-attributes.json @@ -1,173 +1,173 @@ -{ - "orderID": "GUID заказа", - "RootOrder": "GUID корневого заказа", - "Number": "Номер заказа", - "OrderStatus": "Идентификатор статуса заказа", - "CreatedBy": "Идентификатор создателя заказа", - "CreatedFullName": "ФИО создателя заказа", - "UpdatedBy": "Идентификатор пользователя последнего обновившего заказ", - "UpdatedFullName": "ФИО пользователя последнего обновившего заказ", - "UpdateReason": "Идентификатор причины обновления", - "hasTransaction": "Признак наличия транзакции", - "ContractorType": "Тип контрагента", - // order.contractor - "ContractorID": "GUID контрагента", - "ContractorB2C.FullName": "Полное ФИО КА", - "ContractorB2C.Phone": "Номер телефона КА", - "ContractorB2C.Email": "Email адрес КА", - "ContractorB2B.ID":"Идентификатор б2б КА", - "ContractorB2B.Name": "Полное наименование КА", - "ContractorB2B.TIN": "Номер ИНН", - "ContractorB2B.CurrentContactPersonID": "GUID выбранного КЛ для заказа", - "ContractorB2B.Curator.ID": "Идентификатор куратора", - "ContractorB2B.Curator.FullName": "ФИО куратора", - "ContractorB2B.Contract.ID": "Идентификатор договора", - "ContractorB2B.Contract.Number": "Номер договора", - "ContractorB2B.Contract.Kind": "Тип договора", - "ContractorB2B.BaseDocumentSettings.GovernmentContractID": "Идентификатор государственного контракта", - "ContractorB2B.BaseDocumentSettings.InvoiceTransferBasis": "Основание передачи в счете на оплату", - "ContractorB2B.BaseDocumentSettings.ShippingDocuments.TransferBasisDocument": "документ-основание передачи(сдачи)/получения(приемки)", - "ContractorB2B.BaseDocumentSettings.ShippingDocuments.TransferBasisAdditionalDetails": "Дополнительные сведения основания передачи", - "ContractorB2B.BaseDocumentSettings.ShippingDocuments.OtherInformation": "Иные сведения", - // order.recipient - "Recipient.ID": "GUID грузополучателя", - "Recipient.Name": "Имя грузополучателя заказа", - // order.part - "Parts.ShipmentID": "Идентификатор доставки", - "Parts.DeliveryDate":"Дата доставки", - // order.part.supplies - "Parts.Supplies.ID": "Идентификатор поставки в товарной части", - "Parts.Supplies.ProductID": "GUID номенклатуры товара", - "Parts.Supplies.SourceOffice": "Идентификатор офиса с которого зарезервировалс товар", - "Parts.Supplies.ReserveTo": "Дата Резерв До", - "Parts.Supplies.PurchaseIDs": "Идентификаторы закупки", - "Parts.Supplies.UnreserveDate": "Дата фактического снятия с резерва", - "Parts.Supplies.Quantity": "Количество товара", - "Parts.Supplies.StatusItem": "Статус товара", - // order.part.supplies.artifacts - "Parts.Supplies.Artifacts.UUIDWtis": "Идентификатор товара из WTIS", - "Parts.Supplies.Artifacts.StatusItemWtis": "Статус товара из WTIS", - "Parts.Supplies.Artifacts.Attb": "Состояние товара из WTIS", - "Parts.Supplies.Artifacts.AttbSklad": "Статус местонахождения товара", - "Parts.Supplies.Artifacts.AttbShipped": "Признак Товар доставлен", - "Parts.Supplies.Artifacts.AttbReserve": "Атрибут резерва", - "Parts.Supplies.Artifacts.PricePartner": "Цена партнера", - "Parts.Supplies.Artifacts.OplataList": "Ссылка на кассовый оредр к которому привязан товар", - "Parts.Supplies.Artifacts.FlagReturn": "Признак возврат товара", - "Parts.Supplies.Artifacts.FlagReturnerToSklad": "Чекбокс Принят на склад", - "Parts.Supplies.Artifacts.ReturnReason": "Причина возврата", - "Parts.Supplies.Artifacts.Pokupka": "Идентификатор закупки", - "Parts.Supplies.Artifacts.KitID": "Идентификатор набора", - "Parts.Supplies.Artifacts.KitGUID": "Идентификатор (GUID) набора", - "Parts.Supplies.Artifacts.KitMasterGUID": "Идентификатор (GUID) мастер набора", - "Parts.Supplies.Artifacts.DefectAcceptanceActGUID": "Идентификатор акта о браке", - "Parts.Supplies.Artifacts.AppendUser": "Кто добавил поставку в заказ", - "Parts.Supplies.Artifacts.ChangeUser": "Кто изменял поставку в заказе последним", - "Parts.Supplies.Artifacts.DefectID": "Идентификатор дефекта из WMS", - "Parts.Supplies.Artifacts.OnHold": "Флаг товар в процессе переноса", - "Parts.Supplies.CreatedAt": "Когда добавлен товар", - "Parts.Supplies.UpdatedAt": "Когда изменен товар", - // тот же parts, но без parts части, новая схема - // order.part - "ShipmentID": "Идентификатор доставки", - "DeliveryDate":"Дата доставки", - // order.part.supplies - "Supplies.ID": "Идентификатор поставки в товарной части", - "Supplies.ProductID": "GUID номенклатуры товара", - "Supplies.SourceOffice": "Идентификатор офиса с которого зарезервировалс товар", - "Supplies.ReserveTo": "Дата Резерв До", - "Supplies.PurchaseIDs": "Идентификаторы закупки", - "Supplies.UnreserveDate": "Дата фактического снятия с резерва", - "Supplies.Quantity": "Количество товара", - "Supplies.StatusItem": "Статус товара", - // order.part.supplies.artifacts - "Supplies.Artifacts.UUIDWtis": "Идентификатор товара из WTIS", - "Supplies.Artifacts.StatusItemWtis": "Статус товара из WTIS", - "Supplies.Artifacts.Attb": "Состояние товара из WTIS", - "Supplies.Artifacts.AttbSklad": "Статус местонахождения товара", - "Supplies.Artifacts.AttbShipped": "Признак Товар доставлен", - "Supplies.Artifacts.AttbReserve": "Атрибут резерва", - "Supplies.Artifacts.PricePartner": "Цена партнера", - "Supplies.Artifacts.OplataList": "Ссылка на кассовый оредр к которому привязан товар", - "Supplies.Artifacts.FlagReturn": "Признак возврат товара", - "Supplies.Artifacts.FlagReturnerToSklad": "Чекбокс Принят на склад", - "Supplies.Artifacts.ReturnReason": "Причина возврата", - "Supplies.Artifacts.Pokupka": "Идентификатор закупки", - "Supplies.Artifacts.KitID": "Идентификатор набора", - "Supplies.Artifacts.KitGUID": "Идентификатор (GUID) набора", - "Supplies.Artifacts.KitMasterGUID": "Идентификатор (GUID) мастер набора", - "Supplies.Artifacts.DefectAcceptanceActGUID": "Идентификатор акта о браке", - "Supplies.Artifacts.AppendUser": "Кто добавил поставку в заказ", - "Supplies.Artifacts.ChangeUser": "Кто изменял поставку в заказе последним", - "Supplies.Artifacts.DefectID": "Идентификатор дефекта из WMS", - "Supplies.Artifacts.OnHold": "Флаг товар в процессе переноса", - "Supplies.CreatedAt": "Когда добавлен товар", - "Supplies.UpdatedAt": "Когда изменен товар", - // order.properties - "Properties.NumberSchemeBalance": "???", //*шоцетакое - "Properties.AccountingLine": "Линия учета", - "Properties.OriginID": "Источник заказа", - "Properties.SalesChannel": "Идентификатор канала продаж", - "Properties.SiteOrderDate": "date-time || Дата и время заказа выбранное на сайте", - "Properties.PrimSklad": "Комментарий к заказу", - "Properties.Ttn": "Номер ТТН", - "Properties.TtnDate": "Дата ТТН", - "Properties.BillIsAutoOrdered": "", - "Properties.IsAutoReserved": "", - "Properties.IsAutoBotOrder": "", - "Properties.IsPartialShipmentFromSite": "Признак ЧО с сайта", - "Properties.ConsigneeAddress": "Адрес грузополучател", - "Properties.SumOpl": "Сумма оплаты", - "Properties.PaymentPercentage": "Процент оплаченности заказа", - "Properties.Prepayment": "Сумма внесенной предоплаты", - "Properties.ManagerGroup": "Группа менеджера", - "Properties.ManagerID": "GUID группы менеджера заказа (не актуально)", - "Properties.ManagerFullName": "ФИО менеджера в заказе", - "Properties.ManagerPhoneNumber": "Телефона менеджера в заказе", - "Properties.ManagerExtensionNumber": "ДОбавочный телефон менеджера в заказе", - "Properties.BookingEndDates": "Даты истечения бронирования заказа", - "Properties.PaymentDoc": "Наименование платежного документа", - "Properties.IsPrepaymentRequired": "Признак Необходима предоплата", - "Properties.RegionGUID": "GUID региона", - "Properties.RegionName": "Наименование региона", - "Properties.IsTest": "Признак тестовый заказ", - "Properties.ReasonForCancelingOrder": "Причина отмены заказа", - "Properties.TypeOrderFromSite": "Тип заказа с сайта", - "Properties.RecipientName": "Имя грузополучателя заказа", - "Properties.RecipientPhone": "Номер телефона грузополучателя заказа", - "Properties.CreatedAt": "Дата создания заказа", - "Properties.UpdatedAt": "Дата последнего обновления заказа", - // order.artifacts - "Artifacts.UUIDWtis": "GUID идентификатор заказа из WTIS", - "Artifacts.IsNetting": "Чекбокс Взаиморасчеты на вкладке возвраты", - "Artifacts.KkmDate": "Дата ККМ", - "Artifacts.SiteID": "Идентификатор заказа на сайте", - "Artifacts.PartialShipment": "Частичная отгрузка", - "Artifacts.Firma": "GUID идентификатор фирмы отгружающей товар", - "Artifacts.RegionID": "Идентификатор региона из WTIS", - "Artifacts.MainRegionID": "Идентификатор главного региона из WTIS", - "Artifacts.KkmAmount": "Сумма оплаты через ККМ", - "Artifacts.BasketNumber": "Номер корзины", - "Artifacts.OrderMasterSystem": "Признак мастер система по заказу", - "Artifacts.StockMasterSystem": "Признак мастер система по товародвижению", - "Artifacts.ExtContractorOrder": "Дополнительный номер заказа у ЮЛ", - "Artifacts.IsHashRewritten": "Признак что хэш свойств товаров был перезаписан", - "Artifacts.CanShipWithOverdueReceivables": "???", - "Artifacts.ServiceCenter": "???", - "Artifacts.PaymentKkm": "Признак оплата через ККМ", - "Artifacts.PaymentCb": "Признак оплата по квитанции банка", - "Artifacts.PaymentCard": "Признак оплата картой", - "Artifacts.SchetNum": "Номер счета", - "Artifacts.ApproveDate": "Дата проведения заказа во WTIS", - "Artifacts.OrderStateWtis": "Состояние заказа во WTIS", - "Artifacts.AttbOplata": "Статус оплаты", - "Artifacts.AttbPayment": "Признак Оплата получена в старой форме", - "Artifacts.ReturnDocumentBasis": "Номер исходного заказа", - "Artifacts.PaymentDate": "Дата оплаты", - "Artifacts.IsEwalletPayment": "Признак оплата через сайт", - "Artifacts.IsCredit": "Признак кредитного заказа", - "Artifacts.OrderStatusWtis": "Статус заказа из WTIS", - "Artifacts.ConfirmDocumentOpok": "Признак Подтвержден ОПОК", - "Artifacts.IsPromoEnabled": "Признак что акции идут через MS Promo", - "Artifacts.IsYandexEnabled": "Признак что адрес для курьерки передается через Yandex" -} +{ + "orderID": "GUID заказа", + "RootOrder": "GUID корневого заказа", + "Number": "Номер заказа", + "OrderStatus": "Идентификатор статуса заказа", + "CreatedBy": "Идентификатор создателя заказа", + "CreatedFullName": "ФИО создателя заказа", + "UpdatedBy": "Идентификатор пользователя последнего обновившего заказ", + "UpdatedFullName": "ФИО пользователя последнего обновившего заказ", + "UpdateReason": "Идентификатор причины обновления", + "hasTransaction": "Признак наличия транзакции", + "ContractorType": "Тип контрагента", + // order.contractor + "ContractorID": "GUID контрагента", + "ContractorB2C.FullName": "Полное ФИО КА", + "ContractorB2C.Phone": "Номер телефона КА", + "ContractorB2C.Email": "Email адрес КА", + "ContractorB2B.ID":"Идентификатор б2б КА", + "ContractorB2B.Name": "Полное наименование КА", + "ContractorB2B.TIN": "Номер ИНН", + "ContractorB2B.CurrentContactPersonID": "GUID выбранного КЛ для заказа", + "ContractorB2B.Curator.ID": "Идентификатор куратора", + "ContractorB2B.Curator.FullName": "ФИО куратора", + "ContractorB2B.Contract.ID": "Идентификатор договора", + "ContractorB2B.Contract.Number": "Номер договора", + "ContractorB2B.Contract.Kind": "Тип договора", + "ContractorB2B.BaseDocumentSettings.GovernmentContractID": "Идентификатор государственного контракта", + "ContractorB2B.BaseDocumentSettings.InvoiceTransferBasis": "Основание передачи в счете на оплату", + "ContractorB2B.BaseDocumentSettings.ShippingDocuments.TransferBasisDocument": "документ-основание передачи(сдачи)/получения(приемки)", + "ContractorB2B.BaseDocumentSettings.ShippingDocuments.TransferBasisAdditionalDetails": "Дополнительные сведения основания передачи", + "ContractorB2B.BaseDocumentSettings.ShippingDocuments.OtherInformation": "Иные сведения", + // order.recipient + "Recipient.ID": "GUID грузополучателя", + "Recipient.Name": "Имя грузополучателя заказа", + // order.part + "Parts.ShipmentID": "Идентификатор доставки", + "Parts.DeliveryDate":"Дата доставки", + // order.part.supplies + "Parts.Supplies.ID": "Идентификатор поставки в товарной части", + "Parts.Supplies.ProductID": "GUID номенклатуры товара", + "Parts.Supplies.SourceOffice": "Идентификатор офиса с которого зарезервировалс товар", + "Parts.Supplies.ReserveTo": "Дата Резерв До", + "Parts.Supplies.PurchaseIDs": "Идентификаторы закупки", + "Parts.Supplies.UnreserveDate": "Дата фактического снятия с резерва", + "Parts.Supplies.Quantity": "Количество товара", + "Parts.Supplies.StatusItem": "Статус товара", + // order.part.supplies.artifacts + "Parts.Supplies.Artifacts.UUIDWtis": "Идентификатор товара из WTIS", + "Parts.Supplies.Artifacts.StatusItemWtis": "Статус товара из WTIS", + "Parts.Supplies.Artifacts.Attb": "Состояние товара из WTIS", + "Parts.Supplies.Artifacts.AttbSklad": "Статус местонахождения товара", + "Parts.Supplies.Artifacts.AttbShipped": "Признак Товар доставлен", + "Parts.Supplies.Artifacts.AttbReserve": "Атрибут резерва", + "Parts.Supplies.Artifacts.PricePartner": "Цена партнера", + "Parts.Supplies.Artifacts.OplataList": "Ссылка на кассовый оредр к которому привязан товар", + "Parts.Supplies.Artifacts.FlagReturn": "Признак возврат товара", + "Parts.Supplies.Artifacts.FlagReturnerToSklad": "Чекбокс Принят на склад", + "Parts.Supplies.Artifacts.ReturnReason": "Причина возврата", + "Parts.Supplies.Artifacts.Pokupka": "Идентификатор закупки", + "Parts.Supplies.Artifacts.KitID": "Идентификатор набора", + "Parts.Supplies.Artifacts.KitGUID": "Идентификатор (GUID) набора", + "Parts.Supplies.Artifacts.KitMasterGUID": "Идентификатор (GUID) мастер набора", + "Parts.Supplies.Artifacts.DefectAcceptanceActGUID": "Идентификатор акта о браке", + "Parts.Supplies.Artifacts.AppendUser": "Кто добавил поставку в заказ", + "Parts.Supplies.Artifacts.ChangeUser": "Кто изменял поставку в заказе последним", + "Parts.Supplies.Artifacts.DefectID": "Идентификатор дефекта из WMS", + "Parts.Supplies.Artifacts.OnHold": "Флаг товар в процессе переноса", + "Parts.Supplies.CreatedAt": "Когда добавлен товар", + "Parts.Supplies.UpdatedAt": "Когда изменен товар", + // тот же parts, но без parts части, новая схема + // order.part + "ShipmentID": "Идентификатор доставки", + "DeliveryDate":"Дата доставки", + // order.part.supplies + "Supplies.ID": "Идентификатор поставки в товарной части", + "Supplies.ProductID": "GUID номенклатуры товара", + "Supplies.SourceOffice": "Идентификатор офиса с которого зарезервировалс товар", + "Supplies.ReserveTo": "Дата Резерв До", + "Supplies.PurchaseIDs": "Идентификаторы закупки", + "Supplies.UnreserveDate": "Дата фактического снятия с резерва", + "Supplies.Quantity": "Количество товара", + "Supplies.StatusItem": "Статус товара", + // order.part.supplies.artifacts + "Supplies.Artifacts.UUIDWtis": "Идентификатор товара из WTIS", + "Supplies.Artifacts.StatusItemWtis": "Статус товара из WTIS", + "Supplies.Artifacts.Attb": "Состояние товара из WTIS", + "Supplies.Artifacts.AttbSklad": "Статус местонахождения товара", + "Supplies.Artifacts.AttbShipped": "Признак Товар доставлен", + "Supplies.Artifacts.AttbReserve": "Атрибут резерва", + "Supplies.Artifacts.PricePartner": "Цена партнера", + "Supplies.Artifacts.OplataList": "Ссылка на кассовый оредр к которому привязан товар", + "Supplies.Artifacts.FlagReturn": "Признак возврат товара", + "Supplies.Artifacts.FlagReturnerToSklad": "Чекбокс Принят на склад", + "Supplies.Artifacts.ReturnReason": "Причина возврата", + "Supplies.Artifacts.Pokupka": "Идентификатор закупки", + "Supplies.Artifacts.KitID": "Идентификатор набора", + "Supplies.Artifacts.KitGUID": "Идентификатор (GUID) набора", + "Supplies.Artifacts.KitMasterGUID": "Идентификатор (GUID) мастер набора", + "Supplies.Artifacts.DefectAcceptanceActGUID": "Идентификатор акта о браке", + "Supplies.Artifacts.AppendUser": "Кто добавил поставку в заказ", + "Supplies.Artifacts.ChangeUser": "Кто изменял поставку в заказе последним", + "Supplies.Artifacts.DefectID": "Идентификатор дефекта из WMS", + "Supplies.Artifacts.OnHold": "Флаг товар в процессе переноса", + "Supplies.CreatedAt": "Когда добавлен товар", + "Supplies.UpdatedAt": "Когда изменен товар", + // order.properties + "Properties.NumberSchemeBalance": "???", //*шоцетакое + "Properties.AccountingLine": "Линия учета", + "Properties.OriginID": "Источник заказа", + "Properties.SalesChannel": "Идентификатор канала продаж", + "Properties.SiteOrderDate": "date-time || Дата и время заказа выбранное на сайте", + "Properties.PrimSklad": "Комментарий к заказу", + "Properties.Ttn": "Номер ТТН", + "Properties.TtnDate": "Дата ТТН", + "Properties.BillIsAutoOrdered": "", + "Properties.IsAutoReserved": "", + "Properties.IsAutoBotOrder": "", + "Properties.IsPartialShipmentFromSite": "Признак ЧО с сайта", + "Properties.ConsigneeAddress": "Адрес грузополучател", + "Properties.SumOpl": "Сумма оплаты", + "Properties.PaymentPercentage": "Процент оплаченности заказа", + "Properties.Prepayment": "Сумма внесенной предоплаты", + "Properties.ManagerGroup": "Группа менеджера", + "Properties.ManagerID": "GUID группы менеджера заказа (не актуально)", + "Properties.ManagerFullName": "ФИО менеджера в заказе", + "Properties.ManagerPhoneNumber": "Телефона менеджера в заказе", + "Properties.ManagerExtensionNumber": "ДОбавочный телефон менеджера в заказе", + "Properties.BookingEndDates": "Даты истечения бронирования заказа", + "Properties.PaymentDoc": "Наименование платежного документа", + "Properties.IsPrepaymentRequired": "Признак Необходима предоплата", + "Properties.RegionGUID": "GUID региона", + "Properties.RegionName": "Наименование региона", + "Properties.IsTest": "Признак тестовый заказ", + "Properties.ReasonForCancelingOrder": "Причина отмены заказа", + "Properties.TypeOrderFromSite": "Тип заказа с сайта", + "Properties.RecipientName": "Имя грузополучателя заказа", + "Properties.RecipientPhone": "Номер телефона грузополучателя заказа", + "Properties.CreatedAt": "Дата создания заказа", + "Properties.UpdatedAt": "Дата последнего обновления заказа", + // order.artifacts + "Artifacts.UUIDWtis": "GUID идентификатор заказа из WTIS", + "Artifacts.IsNetting": "Чекбокс Взаиморасчеты на вкладке возвраты", + "Artifacts.KkmDate": "Дата ККМ", + "Artifacts.SiteID": "Идентификатор заказа на сайте", + "Artifacts.PartialShipment": "Частичная отгрузка", + "Artifacts.Firma": "GUID идентификатор фирмы отгружающей товар", + "Artifacts.RegionID": "Идентификатор региона из WTIS", + "Artifacts.MainRegionID": "Идентификатор главного региона из WTIS", + "Artifacts.KkmAmount": "Сумма оплаты через ККМ", + "Artifacts.BasketNumber": "Номер корзины", + "Artifacts.OrderMasterSystem": "Признак мастер система по заказу", + "Artifacts.StockMasterSystem": "Признак мастер система по товародвижению", + "Artifacts.ExtContractorOrder": "Дополнительный номер заказа у ЮЛ", + "Artifacts.IsHashRewritten": "Признак что хэш свойств товаров был перезаписан", + "Artifacts.CanShipWithOverdueReceivables": "???", + "Artifacts.ServiceCenter": "???", + "Artifacts.PaymentKkm": "Признак оплата через ККМ", + "Artifacts.PaymentCb": "Признак оплата по квитанции банка", + "Artifacts.PaymentCard": "Признак оплата картой", + "Artifacts.SchetNum": "Номер счета", + "Artifacts.ApproveDate": "Дата проведения заказа во WTIS", + "Artifacts.OrderStateWtis": "Состояние заказа во WTIS", + "Artifacts.AttbOplata": "Статус оплаты", + "Artifacts.AttbPayment": "Признак Оплата получена в старой форме", + "Artifacts.ReturnDocumentBasis": "Номер исходного заказа", + "Artifacts.PaymentDate": "Дата оплаты", + "Artifacts.IsEwalletPayment": "Признак оплата через сайт", + "Artifacts.IsCredit": "Признак кредитного заказа", + "Artifacts.OrderStatusWtis": "Статус заказа из WTIS", + "Artifacts.ConfirmDocumentOpok": "Признак Подтвержден ОПОК", + "Artifacts.IsPromoEnabled": "Признак что акции идут через MS Promo", + "Artifacts.IsYandexEnabled": "Признак что адрес для курьерки передается через Yandex" +} diff --git a/oms/history/order_history_answer.json b/oms/history/order_history_answer.json index d0268f1..cc2592c 100644 --- a/oms/history/order_history_answer.json +++ b/oms/history/order_history_answer.json @@ -1,64 +1,64 @@ -{ - "order": "9bd687f3-fb06-4cd3-8a30-89d0c683ac9e", - "total": 6, - "orderChanges": [ - { - "type": "created_order", - "entityType": "order", - "id": "ord-051224-qwjerkmaw", - "isTransaction": "False", - "reason": "manager", - "valueChanges": [ - { - "uuid": { - "before": "", - "after": "be917957-7056-4a07-a462-2164bdc5f021" - }, - "number": { - "before": "", - "after": "1111-123456-12345" - }, - "contractorType": { - "before": 0, - "after": 3 - }, - "originId": { - "before": "", - "after": "24" - }, - "managerOrder": { - "before": "", - "after": "a0664dd8-bfae-4190-898c-16aae492f72a" - }, - "orderMasterSystem": { - "before": "", - "after": "WTIS" - } - } - ] - }, - { - "type": "change_contragent", - "entityType": "order", - "id": "ord-051224-nzkqmwhr", - "isTransaction": "False", - "reason": "manager", - "valueChanges": [ - { - "contractorPhone": { - "before": "", - "after": "9876543210" - }, - "contractorEmail": { - "before": "", - "after": "test@test.ru" - }, - "contratorName": { - "before": "", - "after": "Тестов Тест Тестович" - } - } - ] - } - ] +{ + "order": "9bd687f3-fb06-4cd3-8a30-89d0c683ac9e", + "total": 6, + "orderChanges": [ + { + "type": "created_order", + "entityType": "order", + "id": "ord-051224-qwjerkmaw", + "isTransaction": "False", + "reason": "manager", + "valueChanges": [ + { + "uuid": { + "before": "", + "after": "be917957-7056-4a07-a462-2164bdc5f021" + }, + "number": { + "before": "", + "after": "1111-123456-12345" + }, + "contractorType": { + "before": 0, + "after": 3 + }, + "originId": { + "before": "", + "after": "24" + }, + "managerOrder": { + "before": "", + "after": "a0664dd8-bfae-4190-898c-16aae492f72a" + }, + "orderMasterSystem": { + "before": "", + "after": "WTIS" + } + } + ] + }, + { + "type": "change_contragent", + "entityType": "order", + "id": "ord-051224-nzkqmwhr", + "isTransaction": "False", + "reason": "manager", + "valueChanges": [ + { + "contractorPhone": { + "before": "", + "after": "9876543210" + }, + "contractorEmail": { + "before": "", + "after": "test@test.ru" + }, + "contratorName": { + "before": "", + "after": "Тестов Тест Тестович" + } + } + ] + } + ] } \ No newline at end of file diff --git a/oms/interface-arm/free-rest-and-reserve-journal/free-rest.puml b/oms/interface-arm/free-rest-and-reserve-journal/free-rest.puml index 5c19e88..7768dbf 100644 --- a/oms/interface-arm/free-rest-and-reserve-journal/free-rest.puml +++ b/oms/interface-arm/free-rest-and-reserve-journal/free-rest.puml @@ -1,33 +1,33 @@ -@startuml -scale 1200*1200 -mainframe Получение свободных остатков -actor Пользователь as user -participant ARM as ARM -participant OMS as OMS -collections Cache as cache -participant Shcat as Shcat -participant Susanin as Susanin -autonumber - -user -> ARM: Нажимает на остатки товара\nв товарной строке заказа -ARM -> OMS: API GET /quantity-list-by-office -activate OMS -OMS -> OMS: валидирует запрос - -OMS -> cache: Забрать все офисы из кэша -activate cache -return answer - -OMS -> Shcat: POST method rests.get -activate Shcat -return answer API POST - -OMS -> Susanin: POST method get_logistic_chains_with_priority -activate Susanin -return answer API POST - -OMS -> OMS: Формирует два массива:\n1. По лог.цепям\n2. Прочие склады - -return answer API GET -ARM --> user: Рендерит данные в модальном окне +@startuml +scale 1200*1200 +mainframe Получение свободных остатков +actor Пользователь as user +participant ARM as ARM +participant OMS as OMS +collections Cache as cache +participant Shcat as Shcat +participant Susanin as Susanin +autonumber + +user -> ARM: Нажимает на остатки товара\nв товарной строке заказа +ARM -> OMS: API GET /quantity-list-by-office +activate OMS +OMS -> OMS: валидирует запрос + +OMS -> cache: Забрать все офисы из кэша +activate cache +return answer + +OMS -> Shcat: POST method rests.get +activate Shcat +return answer API POST + +OMS -> Susanin: POST method get_logistic_chains_with_priority +activate Susanin +return answer API POST + +OMS -> OMS: Формирует два массива:\n1. По лог.цепям\n2. Прочие склады + +return answer API GET +ARM --> user: Рендерит данные в модальном окне @enduml \ No newline at end of file diff --git a/oms/interface-arm/free-rest-and-reserve-journal/reserve-rest.puml b/oms/interface-arm/free-rest-and-reserve-journal/reserve-rest.puml index d104df6..274a52b 100644 --- a/oms/interface-arm/free-rest-and-reserve-journal/reserve-rest.puml +++ b/oms/interface-arm/free-rest-and-reserve-journal/reserve-rest.puml @@ -1,24 +1,24 @@ -@startuml -scale 1200*1200 -mainframe Получение остатков под резервом -actor Пользователь as user -participant ARM as ARM -participant OMS as OMS -participant Susanin as Susanin -autonumber - -user -> ARM: Нажимает на остатки товара\nв товарной строке заказа -ARM -> OMS: API GET /quantity-list-by-office -activate OMS -OMS -> OMS: валидирует запрос - -OMS -> Susanin: POST method get_logistic_chains_with_priority -activate Susanin -return answer API POST - -OMS -> OMS: запрос в mongodb Order с фильтрами по товару -OMS -> OMS: Формирует два массива:\n1. По лог.цепям\n2. Прочие склады - -return answer API GET -ARM --> user: Рендерит данные в модальном окне +@startuml +scale 1200*1200 +mainframe Получение остатков под резервом +actor Пользователь as user +participant ARM as ARM +participant OMS as OMS +participant Susanin as Susanin +autonumber + +user -> ARM: Нажимает на остатки товара\nв товарной строке заказа +ARM -> OMS: API GET /quantity-list-by-office +activate OMS +OMS -> OMS: валидирует запрос + +OMS -> Susanin: POST method get_logistic_chains_with_priority +activate Susanin +return answer API POST + +OMS -> OMS: запрос в mongodb Order с фильтрами по товару +OMS -> OMS: Формирует два массива:\n1. По лог.цепям\n2. Прочие склады + +return answer API GET +ARM --> user: Рендерит данные в модальном окне @enduml \ No newline at end of file diff --git a/oms/interface-arm/journals/order-journal/filters.puml b/oms/interface-arm/journals/order-journal/filters.puml index aaa7aac..4dc7508 100644 --- a/oms/interface-arm/journals/order-journal/filters.puml +++ b/oms/interface-arm/journals/order-journal/filters.puml @@ -1,52 +1,52 @@ -@startuml -mainframe Получение заказов для отображения фильтров -autonumber -actor user -participant ARM -participant OMS -collections Redis -participant MSKB -database Database - -user -> ARM: Устанавливает фильтры -alt устанавливает фильтр по ПВЗ -user -> ARM: Начинает вводить наименование ПВЗ -ARM -> OMS: Запрашивает список подходящих ПВЗ -OMS -> Redis: Запрашивает список ПВЗ -Redis --> OMS: Возвращает список ПВЗ -OMS --> ARM: Возвращает список ПВЗ -user -> ARM: Выбирает необходимый ПВЗ -ARM -> ARM: Запоминает идентификатор ПВЗ -else устанавливает фильтр по менеджеру -user -> ARM: Начинает вводить ФИО менеджера -ARM -> OMS: Запрашивает список подходящих менеджеров -OMS -> Redis: Запрашивает список менеджеров -Redis --> OMS: Возвращает список менеджеров -OMS --> ARM: Возвращает список менеджеров -user -> ARM: Выбирает необходимого менеджера -ARM -> ARM: Запоминает идентификатор менеджера -else устанавливает фильтр по КА -user -> ARM: Нажимает на фильтр по КА -ARM --> user: Открывает модальное окно "Поиск КА" -user -> ARM: Ищет необходимого КА -ARM -> OMS: Запрашивает список подходящих КА -OMS -> MSKB: Запрашивает список КА -MSKB --> OMS: Возвращает список КА -OMS --> ARM: Возвращает список КА -user -> ARM: Выбирает необходимого КА -ARM -> ARM: Запоминает идентификатор КА -end - -alt Необходимы сортировки -user -> ARM: Выбирает необходимую сортировку -ARM -> ARM: Запоминает выбор пользователя -else Не устанавливаются сортировки -end -user -> ARM: Нажимает кнопку Enter или "Обновить" -ARM -> ARM: Формирует запрос на bf -ARM -> OMS: Отправляет запрос -OMS -> Database: Запрашивает список заказов\nс установленными фильтрами -Database --> OMS: Ответ -OMS --> ARM: Ответ -ARM --> user: Отображает журнал заказов +@startuml +mainframe Получение заказов для отображения фильтров +autonumber +actor user +participant ARM +participant OMS +collections Redis +participant MSKB +database Database + +user -> ARM: Устанавливает фильтры +alt устанавливает фильтр по ПВЗ +user -> ARM: Начинает вводить наименование ПВЗ +ARM -> OMS: Запрашивает список подходящих ПВЗ +OMS -> Redis: Запрашивает список ПВЗ +Redis --> OMS: Возвращает список ПВЗ +OMS --> ARM: Возвращает список ПВЗ +user -> ARM: Выбирает необходимый ПВЗ +ARM -> ARM: Запоминает идентификатор ПВЗ +else устанавливает фильтр по менеджеру +user -> ARM: Начинает вводить ФИО менеджера +ARM -> OMS: Запрашивает список подходящих менеджеров +OMS -> Redis: Запрашивает список менеджеров +Redis --> OMS: Возвращает список менеджеров +OMS --> ARM: Возвращает список менеджеров +user -> ARM: Выбирает необходимого менеджера +ARM -> ARM: Запоминает идентификатор менеджера +else устанавливает фильтр по КА +user -> ARM: Нажимает на фильтр по КА +ARM --> user: Открывает модальное окно "Поиск КА" +user -> ARM: Ищет необходимого КА +ARM -> OMS: Запрашивает список подходящих КА +OMS -> MSKB: Запрашивает список КА +MSKB --> OMS: Возвращает список КА +OMS --> ARM: Возвращает список КА +user -> ARM: Выбирает необходимого КА +ARM -> ARM: Запоминает идентификатор КА +end + +alt Необходимы сортировки +user -> ARM: Выбирает необходимую сортировку +ARM -> ARM: Запоминает выбор пользователя +else Не устанавливаются сортировки +end +user -> ARM: Нажимает кнопку Enter или "Обновить" +ARM -> ARM: Формирует запрос на bf +ARM -> OMS: Отправляет запрос +OMS -> Database: Запрашивает список заказов\nс установленными фильтрами +Database --> OMS: Ответ +OMS --> ARM: Ответ +ARM --> user: Отображает журнал заказов @enduml \ No newline at end of file diff --git a/oms/interface-arm/journals/order-journal/search.puml b/oms/interface-arm/journals/order-journal/search.puml index 6fe782d..532bc6c 100644 --- a/oms/interface-arm/journals/order-journal/search.puml +++ b/oms/interface-arm/journals/order-journal/search.puml @@ -1,29 +1,29 @@ -@startuml -mainframe Получение заказов для отображения фильтров -autonumber -actor user -participant ARM -participant OMS -database Database - -user -> ARM: Вводит один или несколько номеров заказов -ARM -> ARM: Делит строку по пробелам -alt Необходимы сортировки -user -> ARM: Выбирает необходимую сортировку -ARM -> ARM: Запоминает выбор пользователя -else Не устанавливаются сортировки -end -user -> ARM: Нажимает кнопку Enter или "Обновить" -ARM -> ARM: Формирует запрос -ARM -> OMS: Отправляет запрос на bf -OMS -> OMS: Проверяет есть ли объекты длиной 5 символов -alt Если такие объекты есть -OMS -> OMS: Формирует запрос с регулярным выражением,\nгде поиск осуществляется\nпо последним 5 символам строки -else Если таких объектов нет -OMS -> OMS: Формирует стандартный запрос в БД -end -OMS -> Database: Запрашивает список заказов по выбранным параметрам -Database --> OMS: Ответ -OMS --> ARM: Ответ -ARM --> user: Отображает журнал заказов +@startuml +mainframe Получение заказов для отображения фильтров +autonumber +actor user +participant ARM +participant OMS +database Database + +user -> ARM: Вводит один или несколько номеров заказов +ARM -> ARM: Делит строку по пробелам +alt Необходимы сортировки +user -> ARM: Выбирает необходимую сортировку +ARM -> ARM: Запоминает выбор пользователя +else Не устанавливаются сортировки +end +user -> ARM: Нажимает кнопку Enter или "Обновить" +ARM -> ARM: Формирует запрос +ARM -> OMS: Отправляет запрос на bf +OMS -> OMS: Проверяет есть ли объекты длиной 5 символов +alt Если такие объекты есть +OMS -> OMS: Формирует запрос с регулярным выражением,\nгде поиск осуществляется\nпо последним 5 символам строки +else Если таких объектов нет +OMS -> OMS: Формирует стандартный запрос в БД +end +OMS -> Database: Запрашивает список заказов по выбранным параметрам +Database --> OMS: Ответ +OMS --> ARM: Ответ +ARM --> user: Отображает журнал заказов @enduml \ No newline at end of file diff --git a/oms/interface-arm/order/history.puml b/oms/interface-arm/order/history.puml index 8489569..fbae6b2 100644 --- a/oms/interface-arm/order/history.puml +++ b/oms/interface-arm/order/history.puml @@ -1,38 +1,38 @@ -@startuml -scale 800*800 -mainframe Взаимодействие с историей изменения заказ -actor Пользователь as user -participant ARM as ARM -participant OMS as OMS -participant History as History -autonumber - -user -> ARM: Нажимает кнопку "История изменений" -ARM -> OMS: REST GET /order-history -OMS -> History: REST GET api/v1/order_history_short/ -History --> OMS: answer -OMS --> ARM: answer -ARM --> user: Рендерит страницу "История изменений" - -user -> ARM: Нажимает кнопку "Подробнее" в корректировке -ARM -> OMS: REST GET /order-history-event -OMS -> History: REST GET api/v1/event_changed/ -History --> OMS: answer -OMS --> ARM: answer -ARM --> user: Отображает полную информацию о корректировке - -user -> ARM: Выбирает фильтр по дате или по типу корректировки -ARM -> OMS: REST GET /order-history-filters -OMS -> History: REST GET api/v1/events_from_entity/ -History --> OMS: answer -OMS --> ARM: answer -ARM --> user: Отображает корректировки по заданным условиям - -user -> ARM: Вводит идентификатор корректировки и нажимает Enter -ARM -> OMS: REST GET /order-history-event -OMS -> History: REST GET api/v1/event_changed/ -History --> OMS: answer -OMS --> ARM: answer -ARM --> user: Отображает корректировки по заданным условиям - +@startuml +scale 800*800 +mainframe Взаимодействие с историей изменения заказ +actor Пользователь as user +participant ARM as ARM +participant OMS as OMS +participant History as History +autonumber + +user -> ARM: Нажимает кнопку "История изменений" +ARM -> OMS: REST GET /order-history +OMS -> History: REST GET api/v1/order_history_short/ +History --> OMS: answer +OMS --> ARM: answer +ARM --> user: Рендерит страницу "История изменений" + +user -> ARM: Нажимает кнопку "Подробнее" в корректировке +ARM -> OMS: REST GET /order-history-event +OMS -> History: REST GET api/v1/event_changed/ +History --> OMS: answer +OMS --> ARM: answer +ARM --> user: Отображает полную информацию о корректировке + +user -> ARM: Выбирает фильтр по дате или по типу корректировки +ARM -> OMS: REST GET /order-history-filters +OMS -> History: REST GET api/v1/events_from_entity/ +History --> OMS: answer +OMS --> ARM: answer +ARM --> user: Отображает корректировки по заданным условиям + +user -> ARM: Вводит идентификатор корректировки и нажимает Enter +ARM -> OMS: REST GET /order-history-event +OMS -> History: REST GET api/v1/event_changed/ +History --> OMS: answer +OMS --> ARM: answer +ARM --> user: Отображает корректировки по заданным условиям + @enduml \ No newline at end of file diff --git a/oms/interface-arm/personal-cabinet/change note.puml b/oms/interface-arm/personal-cabinet/change note.puml index 23fb7d4..1ba5caf 100644 --- a/oms/interface-arm/personal-cabinet/change note.puml +++ b/oms/interface-arm/personal-cabinet/change note.puml @@ -1,23 +1,23 @@ - @startuml -mainframe Добавление/удаление заметки пользователя в ЛК -scale 1500x1500 -actor user as user -participant ARM -participant Gateway -participant personalCabinet - -autonumber -user -> ARM: Нажимает кнопку "Главная" -alt Пользователь ввел текст и снял фокус с поля -ARM -> Gateway: Отправляет запрос на\nPUT personal-cabinet/v1/note -else Пользователь нажал кнопку "Очистить" -ARM -> Gateway: Отправляет запрос на\nDELETE personal-cabinet/v1/note -end - - -ARM -> Gateway: Отправляет запрос на GET personal-cabinet/v1/note -Gateway -> personalCabinet: Вызывает методы для\nизменения заметок по пользователю -personalCabinet --> Gateway: answer -Gateway --> ARM: answer -ARM --> user: answer + @startuml +mainframe Добавление/удаление заметки пользователя в ЛК +scale 1500x1500 +actor user as user +participant ARM +participant Gateway +participant personalCabinet + +autonumber +user -> ARM: Нажимает кнопку "Главная" +alt Пользователь ввел текст и снял фокус с поля +ARM -> Gateway: Отправляет запрос на\nPUT personal-cabinet/v1/note +else Пользователь нажал кнопку "Очистить" +ARM -> Gateway: Отправляет запрос на\nDELETE personal-cabinet/v1/note +end + + +ARM -> Gateway: Отправляет запрос на GET personal-cabinet/v1/note +Gateway -> personalCabinet: Вызывает методы для\nизменения заметок по пользователю +personalCabinet --> Gateway: answer +Gateway --> ARM: answer +ARM --> user: answer @enduml \ No newline at end of file diff --git a/oms/interface-arm/personal-cabinet/favorites.puml b/oms/interface-arm/personal-cabinet/favorites.puml index c023c14..a307f74 100644 --- a/oms/interface-arm/personal-cabinet/favorites.puml +++ b/oms/interface-arm/personal-cabinet/favorites.puml @@ -1,23 +1,23 @@ -@startuml -mainframe Взаимодействие с избранным -scale 1500x1500 -actor user as user -participant ARM -participant Gateway -participant Order - -autonumber -user -> ARM: Нажимает иконку\nсердечка в любом заказе - -alt Поле было предварительно выделено (активное состояние) -ARM -> Gateway: Отправляет запрос на\nDELETE orders/v1/{orderID}/favorite -else Поле было предварительно не выделено (не активное состояние) -ARM -> Gateway: Отправляет запрос на\nPOST orders/v1/{orderID}/favorite -end - -Gateway -> Order: Вызывает метод\nвзаимодействия с заказом -Order -> Order: Обновляет модель order\n(Либо добавляет uuid юзера\nлибо удаляет) -Order --> Gateway: answer -Gateway --> ARM: answer -ARM --> user: answer +@startuml +mainframe Взаимодействие с избранным +scale 1500x1500 +actor user as user +participant ARM +participant Gateway +participant Order + +autonumber +user -> ARM: Нажимает иконку\nсердечка в любом заказе + +alt Поле было предварительно выделено (активное состояние) +ARM -> Gateway: Отправляет запрос на\nDELETE orders/v1/{orderID}/favorite +else Поле было предварительно не выделено (не активное состояние) +ARM -> Gateway: Отправляет запрос на\nPOST orders/v1/{orderID}/favorite +end + +Gateway -> Order: Вызывает метод\nвзаимодействия с заказом +Order -> Order: Обновляет модель order\n(Либо добавляет uuid юзера\nлибо удаляет) +Order --> Gateway: answer +Gateway --> ARM: answer +ARM --> user: answer @enduml \ No newline at end of file diff --git a/oms/interface-arm/personal-cabinet/get-info-order.puml b/oms/interface-arm/personal-cabinet/get-info-order.puml index 912326f..93ea10f 100644 --- a/oms/interface-arm/personal-cabinet/get-info-order.puml +++ b/oms/interface-arm/personal-cabinet/get-info-order.puml @@ -1,17 +1,17 @@ -@startuml -mainframe Получение данных о заказах для ЛК пользователя -scale 1500x1500 -actor user as user -participant ARM -participant Gateway -participant Order - -autonumber -user -> ARM: Нажимает кнопку "Главная" -user -> ARM: Нажимает кнопку "Статистика по заказам" -ARM -> Gateway: Отправляет запрос на GET personal-cabinet/v1/stats -Gateway -> Order: Вызывает методы для получения всех необходимых срезов по заказам -Order --> Gateway: answer -Gateway --> ARM: answer -ARM --> user: Рендерит информационные блоки +@startuml +mainframe Получение данных о заказах для ЛК пользователя +scale 1500x1500 +actor user as user +participant ARM +participant Gateway +participant Order + +autonumber +user -> ARM: Нажимает кнопку "Главная" +user -> ARM: Нажимает кнопку "Статистика по заказам" +ARM -> Gateway: Отправляет запрос на GET personal-cabinet/v1/stats +Gateway -> Order: Вызывает методы для получения всех необходимых срезов по заказам +Order --> Gateway: answer +Gateway --> ARM: answer +ARM --> user: Рендерит информационные блоки @enduml \ No newline at end of file diff --git a/oms/interface-arm/personal-cabinet/get-note.puml b/oms/interface-arm/personal-cabinet/get-note.puml index a2ac929..48297a8 100644 --- a/oms/interface-arm/personal-cabinet/get-note.puml +++ b/oms/interface-arm/personal-cabinet/get-note.puml @@ -1,16 +1,16 @@ - @startuml -mainframe Получение заметки пользователя для ЛК -scale 1500x1500 -actor user as user -participant ARM -participant Gateway -participant personalCabinet - -autonumber -user -> ARM: Нажимает кнопку "Главная" -ARM -> Gateway: Отправляет запрос на GET personal-cabinet/v1/note -Gateway -> personalCabinet: Вызывает методы для получения заметок по пользователю -personalCabinet --> Gateway: answer -Gateway --> ARM: answer -ARM --> user: Рендерит текст в блоке заметок + @startuml +mainframe Получение заметки пользователя для ЛК +scale 1500x1500 +actor user as user +participant ARM +participant Gateway +participant personalCabinet + +autonumber +user -> ARM: Нажимает кнопку "Главная" +ARM -> Gateway: Отправляет запрос на GET personal-cabinet/v1/note +Gateway -> personalCabinet: Вызывает методы для получения заметок по пользователю +personalCabinet --> Gateway: answer +Gateway --> ARM: answer +ARM --> user: Рендерит текст в блоке заметок @enduml \ No newline at end of file diff --git a/oms/interface-arm/products/add-promotion.puml b/oms/interface-arm/products/add-promotion.puml index 34a5299..fa2dad5 100644 --- a/oms/interface-arm/products/add-promotion.puml +++ b/oms/interface-arm/products/add-promotion.puml @@ -1,58 +1,58 @@ -@startuml -mainframe TO BE применение акций и скидок в заказе B2C -scale 1500x1500 -actor user as user -participant ARM -participant Sherlock -participant Gateway -participant Order -participant PDM -participant Druz -participant SCROOGE -participant Promo - -autonumber -user -> ARM: Нажимает кнопку "Применить скидки" -ARM -> ARM: Рендерит модальное окно -ARM -> ARM: Акции сайта - чекбокс активен -ARM -> ARM: Скидки, выбрано: Без скидки -autonumber 5.1 -alt Выбирает только скидки уровня ОПТ - user -> ARM: Выбирает тип ОПТа для клиента - user -> ARM: Снимает чекбокс "Акции сайта" - user -> ARM: Нажимает кнопку "Применить" - ARM -> Gateway: Передает запрос - Gateway -> Gateway: Получает название региона из кэша - Gateway -> SCROOGE: Запрашивает цены из SCROOGE согласно уровню ОПТа - SCROOGE --> Gateway: answer -autonumber 6.1 -else Выбирает только акции сайта - user -> ARM: Оставляет чекбокс "Акции сайта" - user -> ARM: Оставляет скидку с типом "Без скидки" - user -> ARM: Нажимает кнопку "Применить" - ARM -> Gateway: Передает запрос - Gateway -> Gateway: Получает название региона из кэша - Gateway -> Gateway: Готовит запрос в promo - Gateway -> Promo: Запрашивает акции и цены по товарам из Promo - Promo --> Gateway: answer -autonumber 7.1 -else Выбирает акции и скидки ОПТ - user -> ARM: Выбирает тип ОПТа для клиента - user -> ARM: Оставляет чекбокс "Акции сайта" - user -> ARM: Нажимает кнопку "Применить" - ARM -> Gateway: Передает запрос - Gateway -> Gateway: Получает название региона из кэша - Gateway -> Gateway: Готовит запрос в promo - Gateway -> Promo: Запрашивает акции и цены по товарам из Promo - Promo --> Gateway: answer - Gateway -> SCROOGE: Запрашивает цены из SCROOGE согласно уровню ОПТа - SCROOGE --> Gateway: answer - Gateway -> Gateway: Применяет наименьшие цены\nк каждому из товаров -end -autonumber 8 -Gateway -> Order: Записывает изменения в модель -Order --> Gateway: Изменения успешно применены -Gateway -> Gateway: Собирает ответ для frontend -Gateway --> ARM: Answer -ARM -> user: Отображает примененные акции +@startuml +mainframe TO BE применение акций и скидок в заказе B2C +scale 1500x1500 +actor user as user +participant ARM +participant Sherlock +participant Gateway +participant Order +participant PDM +participant Druz +participant SCROOGE +participant Promo + +autonumber +user -> ARM: Нажимает кнопку "Применить скидки" +ARM -> ARM: Рендерит модальное окно +ARM -> ARM: Акции сайта - чекбокс активен +ARM -> ARM: Скидки, выбрано: Без скидки +autonumber 5.1 +alt Выбирает только скидки уровня ОПТ + user -> ARM: Выбирает тип ОПТа для клиента + user -> ARM: Снимает чекбокс "Акции сайта" + user -> ARM: Нажимает кнопку "Применить" + ARM -> Gateway: Передает запрос + Gateway -> Gateway: Получает название региона из кэша + Gateway -> SCROOGE: Запрашивает цены из SCROOGE согласно уровню ОПТа + SCROOGE --> Gateway: answer +autonumber 6.1 +else Выбирает только акции сайта + user -> ARM: Оставляет чекбокс "Акции сайта" + user -> ARM: Оставляет скидку с типом "Без скидки" + user -> ARM: Нажимает кнопку "Применить" + ARM -> Gateway: Передает запрос + Gateway -> Gateway: Получает название региона из кэша + Gateway -> Gateway: Готовит запрос в promo + Gateway -> Promo: Запрашивает акции и цены по товарам из Promo + Promo --> Gateway: answer +autonumber 7.1 +else Выбирает акции и скидки ОПТ + user -> ARM: Выбирает тип ОПТа для клиента + user -> ARM: Оставляет чекбокс "Акции сайта" + user -> ARM: Нажимает кнопку "Применить" + ARM -> Gateway: Передает запрос + Gateway -> Gateway: Получает название региона из кэша + Gateway -> Gateway: Готовит запрос в promo + Gateway -> Promo: Запрашивает акции и цены по товарам из Promo + Promo --> Gateway: answer + Gateway -> SCROOGE: Запрашивает цены из SCROOGE согласно уровню ОПТа + SCROOGE --> Gateway: answer + Gateway -> Gateway: Применяет наименьшие цены\nк каждому из товаров +end +autonumber 8 +Gateway -> Order: Записывает изменения в модель +Order --> Gateway: Изменения успешно применены +Gateway -> Gateway: Собирает ответ для frontend +Gateway --> ARM: Answer +ARM -> user: Отображает примененные акции @enduml \ No newline at end of file diff --git a/oms/order mongoDB.puml b/oms/order mongoDB.puml index ed15c4b..3f1529d 100644 --- a/oms/order mongoDB.puml +++ b/oms/order mongoDB.puml @@ -1,251 +1,251 @@ -@startjson - - - -' Здесь указываем какие атрибуты нужно подсвечивать в схеме -#highlight "order" / "Recipient" / "ID" <> -#highlight "order" / "Recipient" / "RecipientAddress" <> -#highlight "order" / "Recipient" / "RecipientPhone" <> -#highlight "order" / "Recipient" / "RecipientName" <> - -{ - "order": { - "orderID": "uuid || Номер заказа", - "managerInfo": { - "CreatedBy": "uuid || Идентификатор автора заказа из AD", - "CreatedFullName": "string || ФИО автора заказа", - "UpdatedBy": "uuid || Идентификатор последнего обновлявшего заказ", - "UpdatedFullName": "string || ФИО последнего обновлявшего заказ", - "ManagerGroup": "int || Идентификатор группы менеджера", - "ManagerPhoneNumber": "string || Номер телефона менеджера", - "ManagerExtensionNumber": "string || Добавочный номер телефона менеджера" - }, - "RootOrder": "uuid || UUID корневого заказа", - "Number": "string || Номер заказа в формате ****-******-*****", - "OrderStatus": "int || Идентификатор статуса заказа (от 0 до 7)", - "Contractor": { - "Type": "int || Тип контрагента.", - "B2CContractor": { - "Person": { - "ID": "uuid || Идентификатор (UUID) контрагента", - "FullName": "string || Полное ФИО КА", - "Phone": "string || Номер телефона КА", - "Email": "string || Email адрес КА" - } - }, - "B2BContractor": { - "ID": "uuid || Идентификатор (UUID) контрагента", - "Name": "string || Полное наименование КА", - "TIN": "string || Номер ИНН", - "ContactPersons (array)": { - "Person": { - "ID": "uuid || Идентификатор (UUID) контрагента", - "FullName": "string || Полное ФИО КА", - "Phone": "string || Номер телефона КА", - "Email": "string || Email адрес КА" - }, - "SmsPhoneNumber": "string || Номер телефона для СМС" - }, - "CurrentContactPersonID": "uuid || ID выбранного КЛ для заказа", - "Curator": { - "ID": "uuid || Идентификатор куратора", - "FullName": "string || ФИО куратора" - }, - "Contract": { - "ID": "uuid || Идентификатор договора", - "Number": "string || Номер договора", - "Kind": "int || Тип договора" - }, - "BaseDocumentSettings": { - "GovernmentContractID": "string || Идентификатор государственного контракта", - "InvoiceTransferBasis": "string || Основание передачи в счете на оплату", - "ShippingDocuments": { - "TransferBasisDocument": "string || документ-основание передачи(сдачи)/получения(приемки)", - "TransferBasisAdditionalDetails": "string || Дополнительные сведения основания передачи", - "OtherInformation": "string || Иные сведения" - } - } - } - }, - "Recipient": { - "ID": "uuid || Идентификатор (UUID) грузополучателя", - "RecipientName": "string || Имя грузополучателя заказа", - "RecipientPhone": "string || Номер телефона грузополучателя", - "RecipientAddress": "string || Адрес грузополучателя" - }, - "Properties": { - "BasicTimestamps": { - "CreatedAt": "date-time || Дата и время создания заказа", - "UpdatedAt": "date-time || Дата и время последнего обновления заказа" - }, - "OriginID": "int || Идентификатор источника заказа", - "SiteOrderDate": "date-time || Дата и время заказа выбранное на сайте", - "OrderComment": "string || Комментарий к заказу. Во wtis: primSklad", - "TtnNumber": "string || Номер ТТН", - "TtnDate": "string || Дата ТТН", - "IsPartialShipmentFromSite": "bool || Признак ЧО с сайта", - "PaymentAmount": "float || Сумма внесенной оплаты", - "BookingEndDates": "array || Массив с датами истечения бронирования заказа", - "IsPrepaymentRequired": "bool || Признак Необходима предоплата", - "RegionGUID": "uuid || Идентификатор (UUID) региона", - "RegionName": "string || Наименование региона", - "TypeOrderFromSite": "string || Тип заказа с сайта. normal / fast", - "Firma": "GUID фирмы отгружающей товар." - }, - "Artifacts": { - "PartialShipment": "bool || Признак Частичная отгрузка", - "OrderMasterSystem": "string || Признак мастер-система по заказу", - "KkmDate": "string || Дата ККМ", - "KkmAmount": "float || Сумма оплаты через ККМ", - "PaymentKkm": "bool || Признак оплата через ККМ", - "PaymentCb": "bool || Признак оплата по счету", - "PaymentCard": "bool || Признак картой", - "IsEwalletPayment": "bool || Признак оплата с сайта", - "OrderStateWtis": "int || Состояние заказа из WTIS", - "AttbOplata": "int || Статус оплаты (0 - Не оплачено, 1 - Частичная оплата, 2 - Оплачено). || deprecated", - "OrderStatusWtis": "int || Статус заказа из WTIS", - "IsPromoEnabled": "bool || Признак, что сайт взаимодействует с МС Promo и берет распродажную инфу оттуда.", - "IsYandexEnabled": "bool || Признак, что адрес передается в новом формате для курьерки." - }, - "Supplies (array)": { - "ID": "uuid || Идентификатор поставки", - "ShipmentID": "uuid || Идентификатор шипмента", - "ProductID": "uuid || Идентификатор номенклатуры", - "SourceOffice": "uuid || Идентификатор склада на котором находится товар", - "ReserveTo": "date-time || Дата резерв до", - "PurchaseIDs": "array || Массив идентификаторов закупки", - "UnreserveDate": "date-time || Дата фактического снятия с резерва товара", - "Quantity": "int || Количество товара в доставке. Суммарное количество должно быть равно quantity в items", - "StatusItem": "int || Идентификатор статуса товара", - "Artifacts": { - "StatusItemWtis": "int || Клиентский статус товара из WTIS", - "Attb": "Состоние товара из WTIS", - "FlagReturn": "bool || Признак Возврат товара. 1 - товар с вкладки Возвраты, 0 - для товаров с вкладки Товары.", - "FlagReturnedToSklad": "bool || Принят на склад", - "AppendUser": "uuid || ID пользователя кто добавил поставку", - "ChangeUser": "uuid || ID пользователя кто последний изменил поставку" - }, - "DateCanDeliver": "date-time || Дата 'Сможем доставить'.", - "CreatedAt": "date-time || Дата создания поставки", - "UpdatedAt": "date-time || Дата последнего обновления поставки", - "Prices": { - "DiscountPrice": "float || Сумма скидки", - "DiscountCategory": "string || Категория скидки", - "DiscountReason": "string || Причина скидки", - "InitialPrice": "float || Начальная цена", - "PurchasePrice": "float || Цена закупки", - "Price": "float || Цена товара", - "Discount": "float || Процент скидки", - "ClearanceSaleID": "uuid || Идентификатор распродажи", - "IsPromoCodeUsed": "bool || Флаг использования промокода", - "PromotionID": "int || Идентификатор акции из МС Promo", - "ExtraCost": "float || Цена доставки на единицу товара" - }, - "IsRestored": "bool || Признак восстановления поставки.", - "DeliveryDate": "date-time || Дата доставки" - }, - "Shipment": { - "Meta": { - "ID": "uuid || Идентификатор shipment", - "OrderID": "uuid || Идентификатор заказа", - "MethodID": "int || Идентификатор шипмента", - "Status": "int || Статус доставки", - "DeliveryDate": "date-time || Дата доставки", - "Services": { - "Settings": { - "SpreadExtraCost": "bool || Размазать стоимость доставки по товарам связанным с доставкой" - } - }, - "CreatedAt": "date-time || Дата создания доставки", - "UpdatedAt": "date-time || Дата последнего обновления доставки" - }, - "ShipmentPickup": { - "OfficeGUID": "uuid || Идентификатор офиса" - }, - "ShipmentCourier": { - "FactDeliveryBoy": "uuid || Идентификатор курьера который отдал заказ", - "FreeReason": "int || Причина бесплатной доставки", - "FiasID": "uuid || FIAS идентификатор адреса доставки", - "IntervalGUID": "uuid || Идентификатор интервала курьерской доставки", - "DeliveryAregGUID": "uuid || Идентификатор AREG адреса доставки", - "AddressTail": { - "AddressTailID": "uuid || Идентификатор хвоста адреса", - "Flat": "int || Номер квартиры", - "Entrance": "int || Подъезд", - "Floor": "int || Этаж", - "AddressComment": "string || Комментарий к адресу", - "ContactNumber": "string || Контактный номер в адресе доставки" - }, - "IntervalValue": "string || Значение интервала доставки", - "Latitude": "string || Широта адреса доставки", - "Longitude": "string || Долгота адреса доставки", - "CourierGUID": "uuid || Идентификатор курьера в заказе", - "DeliveryBoyName": "string || ФИО курьера в заказе", - "AddrDostav": "string || Адрес доставки", - "CourierDeliveryCost": "int || Стоимость доставки", - "CourierComment": "string || Комментарий для курьера" - }, - "ShipmentTKPickup": { - "TransportCompanyID": "uuid || Идентификатор транспортной компании", - "TransportCompanyCityID": "uuid || Идентификатор города ТК", - "TransportCompanyCityName": "string || Название города ТК", - "TransportCompanyExternalCode": "string || Внешний код офиса ТК в системе CDEK", - "TransportCompanyTariffID": "uuid || Идентификатор тарифа ТК", - "TransportCompanyTariffName": "string || Наименование тарифа", - "CourierDeliveryCost": "int || Стоимость доставки", - "CourierComment": "string || Комментарий для курьера" - }, - "shipmentTKCourier": { - "TransportCompanyID": "uuid || Идентификатор транспортной компании", - "TransportCompanyCityID": "uuid || Идентификатор города ТК", - "TransportCompanyCityName": "string || Название города ТК", - "TransportCompanyExternalCode": "string || Внешний код офиса ТК в системе CDEK", - "TransportCompanyTariffID": "uuid || Идентификатор тарифа ТК", - "TransportCompanyTariffName": "string || Наименование тарифа", - "IntervalValue": "string || Значение интервала доставки", - "Latitude": "string || Широта адреса доставки", - "Longitude": "string || Долгота адреса доставки", - "AddrDostav": "string || Адрес доставки", - "FiasID": "uuid || FIAS идентификатор адреса доставки", - "IntervalGUID": "uuid || Идентификатор интервала курьерской доставки", - "DeliveryAregGUID": "uuid || Идентификатор AREG адреса доставки", - "AddressTail": { - "AddressTailID": "uuid || Идентификатор хвоста адреса", - "Flat": "int || Номер квартиры", - "Entrance": "int || Подъезд", - "Floor": "int || Этаж", - "AddressComment": "string || Комментарий к адресу", - "ContactNumber": "string || Контактный номер в адресе доставки" - }, - "CourierDeliveryCost": "int || Стоимость доставки", - "DeliveryWay": "int || Тип доставки, через транспортную компанию", - "CourierComment": "string || Комментарий для курьера" - } - } - } -} +@startjson + + + +' Здесь указываем какие атрибуты нужно подсвечивать в схеме +#highlight "order" / "Recipient" / "ID" <> +#highlight "order" / "Recipient" / "RecipientAddress" <> +#highlight "order" / "Recipient" / "RecipientPhone" <> +#highlight "order" / "Recipient" / "RecipientName" <> + +{ + "order": { + "orderID": "uuid || Номер заказа", + "managerInfo": { + "CreatedBy": "uuid || Идентификатор автора заказа из AD", + "CreatedFullName": "string || ФИО автора заказа", + "UpdatedBy": "uuid || Идентификатор последнего обновлявшего заказ", + "UpdatedFullName": "string || ФИО последнего обновлявшего заказ", + "ManagerGroup": "int || Идентификатор группы менеджера", + "ManagerPhoneNumber": "string || Номер телефона менеджера", + "ManagerExtensionNumber": "string || Добавочный номер телефона менеджера" + }, + "RootOrder": "uuid || UUID корневого заказа", + "Number": "string || Номер заказа в формате ****-******-*****", + "OrderStatus": "int || Идентификатор статуса заказа (от 0 до 7)", + "Contractor": { + "Type": "int || Тип контрагента.", + "B2CContractor": { + "Person": { + "ID": "uuid || Идентификатор (UUID) контрагента", + "FullName": "string || Полное ФИО КА", + "Phone": "string || Номер телефона КА", + "Email": "string || Email адрес КА" + } + }, + "B2BContractor": { + "ID": "uuid || Идентификатор (UUID) контрагента", + "Name": "string || Полное наименование КА", + "TIN": "string || Номер ИНН", + "ContactPersons (array)": { + "Person": { + "ID": "uuid || Идентификатор (UUID) контрагента", + "FullName": "string || Полное ФИО КА", + "Phone": "string || Номер телефона КА", + "Email": "string || Email адрес КА" + }, + "SmsPhoneNumber": "string || Номер телефона для СМС" + }, + "CurrentContactPersonID": "uuid || ID выбранного КЛ для заказа", + "Curator": { + "ID": "uuid || Идентификатор куратора", + "FullName": "string || ФИО куратора" + }, + "Contract": { + "ID": "uuid || Идентификатор договора", + "Number": "string || Номер договора", + "Kind": "int || Тип договора" + }, + "BaseDocumentSettings": { + "GovernmentContractID": "string || Идентификатор государственного контракта", + "InvoiceTransferBasis": "string || Основание передачи в счете на оплату", + "ShippingDocuments": { + "TransferBasisDocument": "string || документ-основание передачи(сдачи)/получения(приемки)", + "TransferBasisAdditionalDetails": "string || Дополнительные сведения основания передачи", + "OtherInformation": "string || Иные сведения" + } + } + } + }, + "Recipient": { + "ID": "uuid || Идентификатор (UUID) грузополучателя", + "RecipientName": "string || Имя грузополучателя заказа", + "RecipientPhone": "string || Номер телефона грузополучателя", + "RecipientAddress": "string || Адрес грузополучателя" + }, + "Properties": { + "BasicTimestamps": { + "CreatedAt": "date-time || Дата и время создания заказа", + "UpdatedAt": "date-time || Дата и время последнего обновления заказа" + }, + "OriginID": "int || Идентификатор источника заказа", + "SiteOrderDate": "date-time || Дата и время заказа выбранное на сайте", + "OrderComment": "string || Комментарий к заказу. Во wtis: primSklad", + "TtnNumber": "string || Номер ТТН", + "TtnDate": "string || Дата ТТН", + "IsPartialShipmentFromSite": "bool || Признак ЧО с сайта", + "PaymentAmount": "float || Сумма внесенной оплаты", + "BookingEndDates": "array || Массив с датами истечения бронирования заказа", + "IsPrepaymentRequired": "bool || Признак Необходима предоплата", + "RegionGUID": "uuid || Идентификатор (UUID) региона", + "RegionName": "string || Наименование региона", + "TypeOrderFromSite": "string || Тип заказа с сайта. normal / fast", + "Firma": "GUID фирмы отгружающей товар." + }, + "Artifacts": { + "PartialShipment": "bool || Признак Частичная отгрузка", + "OrderMasterSystem": "string || Признак мастер-система по заказу", + "KkmDate": "string || Дата ККМ", + "KkmAmount": "float || Сумма оплаты через ККМ", + "PaymentKkm": "bool || Признак оплата через ККМ", + "PaymentCb": "bool || Признак оплата по счету", + "PaymentCard": "bool || Признак картой", + "IsEwalletPayment": "bool || Признак оплата с сайта", + "OrderStateWtis": "int || Состояние заказа из WTIS", + "AttbOplata": "int || Статус оплаты (0 - Не оплачено, 1 - Частичная оплата, 2 - Оплачено). || deprecated", + "OrderStatusWtis": "int || Статус заказа из WTIS", + "IsPromoEnabled": "bool || Признак, что сайт взаимодействует с МС Promo и берет распродажную инфу оттуда.", + "IsYandexEnabled": "bool || Признак, что адрес передается в новом формате для курьерки." + }, + "Supplies (array)": { + "ID": "uuid || Идентификатор поставки", + "ShipmentID": "uuid || Идентификатор шипмента", + "ProductID": "uuid || Идентификатор номенклатуры", + "SourceOffice": "uuid || Идентификатор склада на котором находится товар", + "ReserveTo": "date-time || Дата резерв до", + "PurchaseIDs": "array || Массив идентификаторов закупки", + "UnreserveDate": "date-time || Дата фактического снятия с резерва товара", + "Quantity": "int || Количество товара в доставке. Суммарное количество должно быть равно quantity в items", + "StatusItem": "int || Идентификатор статуса товара", + "Artifacts": { + "StatusItemWtis": "int || Клиентский статус товара из WTIS", + "Attb": "Состоние товара из WTIS", + "FlagReturn": "bool || Признак Возврат товара. 1 - товар с вкладки Возвраты, 0 - для товаров с вкладки Товары.", + "FlagReturnedToSklad": "bool || Принят на склад", + "AppendUser": "uuid || ID пользователя кто добавил поставку", + "ChangeUser": "uuid || ID пользователя кто последний изменил поставку" + }, + "DateCanDeliver": "date-time || Дата 'Сможем доставить'.", + "CreatedAt": "date-time || Дата создания поставки", + "UpdatedAt": "date-time || Дата последнего обновления поставки", + "Prices": { + "DiscountPrice": "float || Сумма скидки", + "DiscountCategory": "string || Категория скидки", + "DiscountReason": "string || Причина скидки", + "InitialPrice": "float || Начальная цена", + "PurchasePrice": "float || Цена закупки", + "Price": "float || Цена товара", + "Discount": "float || Процент скидки", + "ClearanceSaleID": "uuid || Идентификатор распродажи", + "IsPromoCodeUsed": "bool || Флаг использования промокода", + "PromotionID": "int || Идентификатор акции из МС Promo", + "ExtraCost": "float || Цена доставки на единицу товара" + }, + "IsRestored": "bool || Признак восстановления поставки.", + "DeliveryDate": "date-time || Дата доставки" + }, + "Shipment": { + "Meta": { + "ID": "uuid || Идентификатор shipment", + "OrderID": "uuid || Идентификатор заказа", + "MethodID": "int || Идентификатор шипмента", + "Status": "int || Статус доставки", + "DeliveryDate": "date-time || Дата доставки", + "Services": { + "Settings": { + "SpreadExtraCost": "bool || Размазать стоимость доставки по товарам связанным с доставкой" + } + }, + "CreatedAt": "date-time || Дата создания доставки", + "UpdatedAt": "date-time || Дата последнего обновления доставки" + }, + "ShipmentPickup": { + "OfficeGUID": "uuid || Идентификатор офиса" + }, + "ShipmentCourier": { + "FactDeliveryBoy": "uuid || Идентификатор курьера который отдал заказ", + "FreeReason": "int || Причина бесплатной доставки", + "FiasID": "uuid || FIAS идентификатор адреса доставки", + "IntervalGUID": "uuid || Идентификатор интервала курьерской доставки", + "DeliveryAregGUID": "uuid || Идентификатор AREG адреса доставки", + "AddressTail": { + "AddressTailID": "uuid || Идентификатор хвоста адреса", + "Flat": "int || Номер квартиры", + "Entrance": "int || Подъезд", + "Floor": "int || Этаж", + "AddressComment": "string || Комментарий к адресу", + "ContactNumber": "string || Контактный номер в адресе доставки" + }, + "IntervalValue": "string || Значение интервала доставки", + "Latitude": "string || Широта адреса доставки", + "Longitude": "string || Долгота адреса доставки", + "CourierGUID": "uuid || Идентификатор курьера в заказе", + "DeliveryBoyName": "string || ФИО курьера в заказе", + "AddrDostav": "string || Адрес доставки", + "CourierDeliveryCost": "int || Стоимость доставки", + "CourierComment": "string || Комментарий для курьера" + }, + "ShipmentTKPickup": { + "TransportCompanyID": "uuid || Идентификатор транспортной компании", + "TransportCompanyCityID": "uuid || Идентификатор города ТК", + "TransportCompanyCityName": "string || Название города ТК", + "TransportCompanyExternalCode": "string || Внешний код офиса ТК в системе CDEK", + "TransportCompanyTariffID": "uuid || Идентификатор тарифа ТК", + "TransportCompanyTariffName": "string || Наименование тарифа", + "CourierDeliveryCost": "int || Стоимость доставки", + "CourierComment": "string || Комментарий для курьера" + }, + "shipmentTKCourier": { + "TransportCompanyID": "uuid || Идентификатор транспортной компании", + "TransportCompanyCityID": "uuid || Идентификатор города ТК", + "TransportCompanyCityName": "string || Название города ТК", + "TransportCompanyExternalCode": "string || Внешний код офиса ТК в системе CDEK", + "TransportCompanyTariffID": "uuid || Идентификатор тарифа ТК", + "TransportCompanyTariffName": "string || Наименование тарифа", + "IntervalValue": "string || Значение интервала доставки", + "Latitude": "string || Широта адреса доставки", + "Longitude": "string || Долгота адреса доставки", + "AddrDostav": "string || Адрес доставки", + "FiasID": "uuid || FIAS идентификатор адреса доставки", + "IntervalGUID": "uuid || Идентификатор интервала курьерской доставки", + "DeliveryAregGUID": "uuid || Идентификатор AREG адреса доставки", + "AddressTail": { + "AddressTailID": "uuid || Идентификатор хвоста адреса", + "Flat": "int || Номер квартиры", + "Entrance": "int || Подъезд", + "Floor": "int || Этаж", + "AddressComment": "string || Комментарий к адресу", + "ContactNumber": "string || Контактный номер в адресе доставки" + }, + "CourierDeliveryCost": "int || Стоимость доставки", + "DeliveryWay": "int || Тип доставки, через транспортную компанию", + "CourierComment": "string || Комментарий для курьера" + } + } + } +} @endjson \ No newline at end of file