Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
СЛУЖБА ОБРАБОТКИ НАКЛАДНЫХ
08.11.2013
ТЕСТОВОЕ ЗАДАНИЕ
Задание предназначено для проверки квалификации соискателя по разработке WCF-сервисов и СУБД.
Разработать систему обработки накладных, загружаемых в виде xml-файлов. Требования к системе:
Накладные загружаются в составе xml-файла (пример файла waybills. xml для загрузки прилагается) Описание элементов xml-файла. Элементы шапки накладной:doc_number | номер накладной | Не пустой |
create_date | дата накладной | Валидная дата |
cn | наименование отправителя | Не пустой |
ci | ИНН отправителя | 10 либо 12 цифр |
ck | КПП отправителя | 9 цифр, если ИНН – 10 цифр; пусто, если ИНН – 12 цифр |
rn | наименование получателя | Не пустой |
ri | ИНН получателя | 10 либо 12 цифр |
rk | КПП получателя | 9 цифр, если ИНН – 10 цифр; пусто, если ИНН – 12 цифр |
Элементы строк накладной:
EAN13 | код EAN-13 продукции | 13 цифр |
jn | наименование производителя продукции | Не пустой |
inn | ИНН производитель продукции | 10 цифр, 12 цифр либо пусто |
kpp | КПП производителя продукции | 9 цифр, если ИНН – 10 цифр; пусто, если ИНН – 12 цифр либо если ИНН - пусто |
short_name | наименование продукции | Не пустой |
volume | емкость единицы продукции | >0 |
percent_alc | крепость | >0 |
price | цена единицы продукции | >0 |
count | количество единиц продукции | >0 |
Если производитель – иностранная организация (импортная продукция), элементы ИНН/КПП отсутствуют в файле.
Создать в ms sql максимально нормализованное реляционное хранилище загружаемых накладных. Хранилище содержит таблицы: Шапки накладных (уникальные номер/дата/отправитель/получатель) Id Номер Дата Id отправителя Id получателя Строки накладных (уникальные id накладной/ean13/) Id Id накладной Id ean13 цена count Справочник организаций (уникальные Наименование/ИНН/КПП) Id Наименование ИНН КПП Справочник продукции (уникальный ean13) Id Ean13 Наименование Крепость Id емкости Id производителя Справочник значений емкости (уникальная емкость) Id емкость Разработать wcf-сервис по разбору xml-файла и загрузке данных из него в хранилище из п. 3. Требования к формату полей см. в п. 2. Если встречается накладная, у которой набор значений (doc_number, create_date, ci, ck, ri, rk) совпадает с этим набором у накладной, которая уже имеется в БД, то не вставлять такую накладную. Также не вставлять накладную, для которой не выполняется хотя бы одно из требований п. 5. По результату обработки xml-файла формировать текстовый файл журнала. В журнал записывать успехи вставок, а также не успехи вставок с указанием их причины. После получения ошибки вставки переходить к следующей накладной. Предоставить решение задания в виде: Скрипт объектов БД Дамп БД с загруженным в нее файлом Солюшен wcf-сервиса. Приложен xml-файл waybills_err. xml с ошибками в данных. Обработать этот файл, приложить файл журнала, в котором будут видны найденные ошибки. Ошибки только в данных, схема не нарушалась. Фрагмент файла с данными о накладных:<u doc_number="ЯР00000732" create_date="2011-03-17T00:00:00" cn="ФИЛИАЛ СОАО "БАХУС" ЯРЦЕВСКИЙ" ci="6729004565" ck="672732001" rn="СОАО "Бахус"" ri="6729004565" rk="672950001">
<b EAN13="8000001187517" jn="СОАО "Бахус"" inn="6729004565" kpp="672901001" short_name="Водка "Лейся песня"" volume="0.2500" percent_alc="40.000" price="53.6000" count="1" />
<b EAN13="8000001187521" jn="СОАО "Бахус"" inn="6729004565" kpp="672901001" short_name="Водка ос."Бахус"" volume="0.2500" percent_alc="40.000" price="53.6000" count="4" />
</u>
<u doc_number="ЮБА1226013" create_date="2012-12-26T00:00:00" cn="ООО "ЮНАЙТЕД БОТТЛИНГ ГРУПП"" ci="6952000100" ck="695201001" rn="ООО "Перспектива"" ri="4705044950" rk="502943001">
<b EAN13="0000002100561" jn="ООО "ЮНАЙТЕД БОТТЛИНГ ГРУПП"" inn="6952000100" kpp="695201001" short_name="Перфект. Ягуар Голд" volume="0.5000" percent_alc="7.000" price="38.0000" count="24192" />
</u>


