CodeInside / siu

Госуслуги.Open - Система исполнения государственных и муниципальных услуг
20 stars 9 forks source link

Получение номера заявки из сервисов и маршрутов #13

Open maxim-zaytsev opened 9 years ago

maxim-zaytsev commented 9 years ago

Появился такой вопрос по поводу нумерации заявок В СИУ все заявки (запросы, пинги, ответы, без разницы) нумеруются и каждой заявке присваивается BID. Вопросы:

  1. Уникальны ли они в пределах СИУ?
  2. Где конкретной заявке присваивается BID?
  3. Можно ли получить этот идентификатор в конкретном сервисе при создании запроса?
myagincourt commented 9 years ago

Альтернативно, есть ли доступ к базе данных СИУ из сервиса? Может что то в духе датапровайдера/моста предоставляемого ядром конкретному сервису? В данном случае получить количество заявок в базе, во всех прочих очень даже пригодился бы доступ в sql прямо из сервиса.

GnusinPavel commented 9 years ago

Номер заявки формируется при завершении подачи заявления, а именно в #ru.codeinside.gses.activiti.SubmitStartFormCommand.createBid. Клиент не может иметь доступ к базе. Эту переменную можно добавить через маршрут, добавив туда блок, который установит эту переменную в #ru.codeinside.gws.api.ExchangeContext, и затем ее получить в ##ru.codeinside.gws.api.Client.createClientRequest. Получить в BPMN скрипте можно через #ru.codeinside.gses.beans.Bids.getBid.