Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

С 01.07.2020 в РФ вводится обязательная маркировка лекарств. Занимется этим https://честныйзнак.рф/ (далее ЧЗ). 

Нужно для клиники сделать виндовую службу, которая обеспечит обмен данными между расположенным в интернете сервером ЧЗ, и расположенным в локальной сети MS SQL Server.

.

Т.е. служба работает, раз в Х секунд проверяет наличие новых документов в определенных таблицах в SQL Server. Если я в SQL Server добавил в заданную таблицу xml документ, например "Накладная приема лекарств", то служба должна передать его на сервер ЧЗ. 

Раз в Y минут служба проверяет наличие новых документов на сервере ЧЗ, и при наличии, загружает их, и кладет в SQL Server.

При появлении в таблице в SQL Server новой записи "получить справочник Х", служба получает из ЧЗ справочник Х.

Визуализация, обработка и формирование документов не нужна, нужен транспортный уровень. Т.е. авторизация, ЭЦП, получение данных, отправка данных, постраничное получение, интервалы между запросами, логирование, устойчивость к ошибкам, обработка ошибок. 

.

Язык разработки MS C#. В качестве базы данных используется MS SQL Server 2008R2 Express. 

.

Требуемые навыки, и используемые инструменты:

• Бесплатная редакция MS C# (нужно будет поднять и настроить на предоставленном компе)

• MS SQL Server 2008 R2 Express (добавление объектов в существующую базу)

• Клиентская часть REST API сервисов, HTTP, HTTPS, SSL (RSA и ГОСТ), УКЭП aka ЭЦП

• Для организации доступа, желателен постоянный внешний ip

.

Работа сдается в виде исходных кодов. У Вас будет удаленный доступ к двум компьютерам. На компьютере #1 (билд сервер) производится компиляция службы, после чего служба ставится на компьютер #2, и там поверяется ее работа. 

.

ЧЗ предоставляет открытый тестовый стенд, и два варианта доступа к системе: рабочий, и "песочницу". Для "песочницы", и доступа к рабочему серверу ЧЗ нужна постоянная (не тестовая) УКЭП, УКЭП точно будет на компьютере #2, под вопросом - на компьютере #1 (это важно?). 

.

Собственником кода является Заказчик.

Инструменты общения во время разработки - телеграмм и скайп.

Требуется аккуратное оформление кода, наличие комментариев, при необходимости - пояснения что и как в коде работает.

Правила оформления кода - будут предоставлены отдельным документом, если в этом будет необходимость.

Потребуются пояснения и, возможно, демонстрация, по настройке сертификатов, ЭЦП, и прочей обвязки, нужной для работы службы.

По времени, я предполагаю, на работу нужно около недели рабочего времени. Это моя оценка объема работ, а не требование по срокам.

Оплата в рублях. Предпочтительно ЯД, или Сбер, но можно обсудить. Безопасная сделка не используется.

Стоимость я предполагаю около 30 тыс, зависит от предложений. Предполагаю, что могу ошибаться как в меньшую, так и в большую сторону.

Оплата после завершения работ, возможно разбиение на этапы. 

.

Насколько я понимаю описание https://честныйзнак.рф/upload/iblock/200/IS-_Markirovka_.-MDLP.-Protokol-obmena-interfeysnogo-urovnya.pdf, логика ЧЗ такая, что во всех многообразных функциях и обращениях к серверу ЧЗ, все значимые данные компонуются в json/xml, и передаются как одно целое. Это означает, что мы можем вынести формирование xml / json / get строки за пределы разрабатываемой службы. То есть Вам, как разработчику, не надо будет отдельно программировать каждый из упомянутых в "Протоколе обмена" методов. Допустим, есть метод 7.5.1. "Получение объекта ФИАС по идентификатору адресного объекта". Служба берет из MS Sql: Адресную строку "Endpoint: GET //reestr/fias/addrobj/{addrobj}", тип метода get/post, json со всеми параметрами (подготовленный за пределами службы, в данном случае пустой). И посылает в ЧЗ, не зная, что это за метод, и не кодируя его параметры. Ответ тоже приходит в формате json, и разборку полученного json на отдельные параметры тоже выносим за пределы службы.

Отдельно стоят методы, в которых отсылаются xml документы, потому что надо преобразовать в base64, и это преобразование желательно возложить на службу.

в "Протоколе обмена..." говорится, что документы большого объема пересылаются через WebDAV. В этом же документе в п. "5.5. Получение информации об ограничении размера небольших документов" говорится, что сейчас большим считается документ размером более 1 Мб. Накладные, и т.п. документы в формате xml занимают в разы меньше места, чем 1 Мб. Соответственно, исходим из предположения, что WebDAV НЕ нужен.

Этапы:

1. Обсудить и согласовать список используемых компонентов, если таковые потребуются. Если нужны платные компоненты, об этом желательно сказать до начала работ.

2. Поднять на виртуальном сервере #1 MS студию для C#, при необходмиости - установить и настроить нужные компоненты. 

3. Подключение к серверам и авторизация.

4. "Простые" get запросы в ЧЗ без параметров. 

5. Методы, где нужно преобразовывать xml в base64. Логирование, отладка, устойчивость работы.

6. Тестовая работа, исправление найденных недостатков

7. Гарантийное сопровождение (обсудить срок)

.

Данное ТЗ является достаточно черновым. При необходимости уточнений, и наличии вопросов, обращайтесь в личку, или по скайпу.

Более детальное ТЗ, структура данных для sql, и т.п., будет формироваться в процессе работы.

.

Краткая инструкция по быстрому старту для изучения API, инструкция по подключению к тестовому стенду.

https://честныйзнак.рф/upload/iblock/25b/Kratkaya_instruktsiya_po_bystromu_startu_dlya_izucheniya_API.pdf

.

ИС "Маркировка". МДЛП. Протокол обмена интерфейсного уровня.

https://честныйзнак.рф/upload/iblock/200/IS-_Markirovka_.-MDLP.-Protokol-obmena-interfeysnogo-urovnya.pdf

.

Подборка документов от ЧЗ для разработчиков

https://честныйзнак.рф/business/projects/medicines/documents/for_developers/

4 года назад
x_jerry
Игорь 
51 годРоссия
17 лет в сервисе
Был
6 месяцев назад
Выбранный исполнитель
Shtirlits1972
Алексей 
51 годУкраина
11 лет в сервисе
Был
3 часа назад
4 года назад
$400
10 дней
Не справился с задачей, после чего начал придумывать претензии в мой адрес. После оплаты аванса через ЯД, я предупредил Алексея, что комиссия ЯД мне кажется чрезмерной, и попросил прислать мне реквизиты для перевода денег через вестерн юнион. Я был согласен и через ЯД в дальнейшем деньги переводить, но с оплатой комиссии Алексеем. В ТЗ было указано, что код компилируется и тестируется на компьютерах заказчика. В какой-то момент, после очередного "приходится глушить ошибки сертификатов, не понимаю что не так" я попросил прислать код. В ответ получил "Хочу тебе сказать, что в твоём поведении прослеживаются признаки характерные для мошенников: требование получить исходники до окончательного рассчёта, выдуманные проблемы с оплатой." На основании того, что подозревает меня в мошенничестве, Алексей потребовал увеличить сумму аванса, сначала до 100% от общей суммы заказа, потом до 50%. Я офигел, и написал, что пересмотр им же предложенных условий оплаты готов обсуждать только в чате веблансера, а не в скайпе, где мы общались. Алексей не ответил, и на этом наше сотрудничество закончилось. Я потерял аванс, и заказал работу другому программисту, который ее успешно сделал. В процессе работы, у Алексея было множество проблем, типа "я сломал сертификаты, попроси сисада их починить", "не работает, надо писать в техподдержку" (в итоге я (!) нашел в шифруемой строке лишний невидимый символ перевода строки), и т.п. У меня сложилось впечатление, что работа слишком сложная для Алексея, и он начал искать повод, чтобы "соскочить". Предложение разбить оплаты на небольшой аванс (50$), и все остальные деньги - постоплата, принадлежало Алексею. Я исходно пытался договориться о разбиении задачи на этапы, для поэтапной оплаты, но Алексею, как я его понял, было лень обсуждать деление на этапы. У меня бывали случаи, когда программист не справлялся с работой, но случай, когда программист явно не справляется, и, в результате, обвиняет меня в мошенничестве и требует еще денег, в моей практике случился впервые.
После того, как было выполнена большая часть работы и настало время заплатить, заказчик начал хитрить, захотел получить программу "попробовать", с явным намерением не заплатить. В процессе общения сложилось впечатление, что человек просто временами неадекватный, эмоционально нестабильный. Ни в коем случае не отдавайте сделанную программу до оплаты!
  • Похожие заказы
  • Есть дамп, слитый из видеорегистратора через программатор (https://yadi.sk/d/w95T_0lLf9J1ZQ). Вроде как успешно дизассемблируется через программу IDA Pro (архитектура АRМ). Основная задача - уменьшить раза в полтора-два минимальный битрейт записываемого видео, чтобы на флешку 32GB (максимальный объем, ...

    Прикладное ПОнет заявок
    Закрыт
    4 года назад
  • Написать программу или расширение для браузера (расширение предпочтительней). Программа считывает значение с сайта: [url=https://charts.forexpf.ru/html/htmlquotes/charts04.jsp]https://charts.forexpf.ru/html/htmlquotes/charts04.jsp[/url] Поле USD/RUB - Bid необходимо записать в файл в формате без точки (например 69777). Это значение необходимо обновлять раз в 1 секунду. Файл перезаписывать. Программа должна работать ...

    Закрыт
    4 года назад
  • $2

    Есть две таблицы сделанных в Qt designer. Что нужно сделать: нужно написать пару строк кода, с помощью которых можно было забирать значения ячеек из первой таблицы вставлять их в рандом и после того как рандом прошёл, ...

    Закрыт
    4 года назад
  • требуется разработчик книг-игр с магнитами (логических). для каждой книги необходимо разработать 48 заданий и разбить их на 3 уровня сложности. возможность разработчика сделать иллюстрации приветствуется утверждение в 2 этапа примеры – фото образцов предоставлю

    Закрыт
    4 года назад
  • $10

    СРОЧНО!!Написан код и тесты к нему.(телеграмм бот) Нужно импортировать классы и функции из файла с тестами. Получается что тесты работают только при одновременном запуске с ботом, а нужно чтобы они работали отдельно брали информацию из ...

    Закрыт
    4 года назад
  • Необходимо написать (или найти и допилить опен-сорсный ) парсер yelp.com. Парсер должен собирать базу определенных бизнесов, например дантистов, по всему США. Каждый элемент в базе должен обязательно содержать всю доступную информацию, в том числе ревью. База должна генерироваться ...

    Закрыт
    4 года назад
  • Приветствую, нужен софт для discord.com В него входит функция регистратора, рассыльщика, парсера и чат-бота. Подробней опишу по ходу диалога

    Закрыт
    4 года назад