Мониторинг качества данных в компании

Способы мониторинга качества данных. Формирование функциональных требований к системе мониторинга консистентности данных. Документирование требований к системе мониторинга консистентности данных. Написание скриптов проверок для системы мониторинга.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 26.08.2017
Размер файла 387,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

b. Требования к структуре и функционированию системы.

c. Требования к надежности.

d. Требования безопасности.

e. Требования к функциям, выполняемым системой.

i. Требования к информационному обеспечению;

ii. Требования к лингвистическому обеспечению;

iii. Требования к программному обеспечению;

iv. Требования к техническому обеспечению;

5. Состав и содержание работ по созданию системы.

6. Порядок контроля и приемки системы.

7. Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие.

Задокументированное задание находится в приложении (см. Приложение 1).

Выводы по второй главе

В рамках второй главы были рассмотрены процессы мониторинга качества данных в компании ХХХ. Контроль качества данных в компании происходил по пяти показателям в рамках процесса ETL: полнота, уникальность, своевременность, валидность, точность. Поиск несоответствий в данных между различными источниками подразумевает контроль показателя консистентности данных, который в компании не отслеживается. Таким образом возникла предпосылка к автоматизации процесса консистентности данных.

Далее была построена модель процесса мониторинга консистентности данных в компании ХХХ, описаны операции, которые необходимо выполнять системе автоматизации процесса мониторинга. На основании модели были составлены и задокументированы функциональные и нефункциональные требования к системе мониторинга консистентности данных.

Далее было написано техническое задание на разработку системы мониторинга, которое было передано разработчикам компании.

3. Разработка и введение в эксплуатацию системы мониторинга консистентности данных

Следующим после формирования технического задания по ГОСТ 34.602-89 этапом стало написание SQL-скриптов проверок, осуществляемых системой. Техническое задание и SQL-скрипты необходимо предоставить программистам, тем самым передав систему мониторинга в разработку.

3.1 Написание скриптов проверок для системы мониторинга

Как уже было сказано ранее, между информационными системами компании происходит постоянный обмен данными. На Рисунке 4 представлена схема обменов некоторых ключевых систем компании, а именно:

1. Система управления доставкой. Объединяет информационные системы транзитных складов, содержит информацию о статусах доставки заказов, клиентах, курьерах и тд.

2. Система планирования ресурсов (учетная система). Система автоматизации планирования предприятием, охватывает такие области как управление производством, финансами, продажами, маркетингом, взаимоотношениями с клиентами.

3. Система управления заказами. Содержит информацию о заказах, контролирует и управляет статусами заказов, содержит всю информацию по покупателям.

4. Система управления складом. Содержит информацию о товарах: прибытие, приемка, текущее местонахождение на складе, сборка по заказам, отгрузка. Позволяет отслеживать текущий статус сборки заказа, наличие товара на складе и прочее.

Рисунок 4 Схема обмена данными между информационными системами

В систему управления заказами (Order Processing System, OPS) в первую очередь поступает заказ от клиента. Далее OPS передает данные о поступившем заказе в Систему планирования ресурсами (Enterprise Resource Planning, ERP) и в Систему управления складом (Warehouse Management System, WMS) для того, чтобы склад начал формировать заказ. Дальнейшие изменения статусов заказов передаются из OPS системы в ERP и WMS системы. Для склада очень критично знать, если клиент решит отменить заказ, так как в случае если заказ будет отменен, а склад продолжит его формирование, есть риск потери времени и, как результат, снижение показателей работы склада. После того, как заказ сформирован, WMS отправляет эту информацию в ERP систему и OPS, которая затем уведомляет систему транзитного (промежуточного) склада - Delivery Management System, DMS, - чтобы он ожидал прибытие заказа. После получения заказа с товарами транзитным складом, DMS информирует об этом OPS и ERP, а также и обо всех последующих изменениях в статусах доставки заказов. Заказ может быть также отменен и вернуться на склад. О возвращении товара на склад WMS информирует OPS.

Выше представлены и описаны не все обмены данными между системами, а только критичные с точки зрения бизнеса. Разрабатываемая система мониторинга консистентности данных должна осуществлять следующие типы проверок (Таблица 7):

Таблица 7

Описание обменов данными для проверок

Система-отправитель > система-получатель

Проверка

Описание

Регулярность

OPS > WMS

Отмененные заказы

Список отмененных заказов OPS сравнивается со списком отмененных заказов WMS за одинаковый промежуток времени

1 раз в час

WMS > OPS

Отгрузка заказа

Список отгруженных заказов WMS сравнивается со списком отгруженных заказов OPS за одинаковый промежуток времени

1 раз в час

WMS > OPS

Приемка возвратов

Список товаров, принятых WMS как «отменен покупателем», сравнивается со списком таких товаров из OPS за одинаковый промежуток времени

1 раз в день

OPS >
DMS

Отмененные заказы

Список отмененных заказов OPS сравнивается со списком отмененных заказов DMS за одинаковый промежуток времени

1 раз в день

OPS >
DMS

Заказ отправлен

Список заказов OPS со статусом «отправлен со склада» сравнивается с таким же списком DMS за одинаковый промежуток времени

1 раз в день

DMS >
OPS

Актуальный статус заказа

Список заказов и их статусов на транзитном складе в DMS сравнивается со списком заказов и статусов по ним за один промежуток времени в OPS

1 раз в день

OPS >
ERP

Статус заказа

Список заказов и их статусов в OPS сравнивается со списком заказов и статусов в ERP за один промежуток времени

1 раз в день

DMS >
ERP

Товар прибыл на транзитный склад

Список товаров в DMS, прибывших на транзитный склад, сравнивается со списком товаров в ERP со статусом «прибыл на транзитный склад»

1 раз в час

DMS >
ERP

Товар отгружен из транзитного склада

Список товаров в DMS, отгруженных из транзитного склада на главный склад, сравнивается со списком товаров в ERP со статусом «отгружен из транзитного склада»

1 раз в час

WMS >
ERP

Товар принят на складе

Список товаров в WMS, полученных во время приемки поставки на складе, сравнивается со списком полученных товаров в ERP

1 раз в 4 часа

WMS >
ERP

Товар отгружен со склада

Список товаров в WMS, отправленных со склада во время отгрузки заказов, сравнивается со списком отгруженных товаров в ERP

1 раз в 4 часа

ERP >
WMS

Товар ожидается к прибытию

Список товаров в ERP, которые ожидаются на складе, но еще туда не поступили. Сравнивается со списком товаров в WMS, которые находятся в статусе «в ожидании»

1 раз в 2 часа

В приложении (см. Приложение 2) находятся SQL-скрипты, реализующие эти проверки. Приложение содержит скрипты только тех проверок, которые были готовы на момент передачи технического задания в разработку.

3.2 Анализ результатов внедрения системы мониторинга консистентности данных в эксплуатацию

После написания технического задания и передачи его команде разработчиков, следуют этапы разработка информационный системы и ее ввод в эксплуатацию. Эти этапы были осуществлены согласно п.5 «Состав и содержание работ по созданию системы», п.6 «Порядок контроля и приемки Системы» и п.7 «Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие» технического задания (см. Приложение 1).

В результате введения системы в эксплуатацию и ее функционирования в течение некоторого времени были получены следующие результаты.

Во-первых, было обнаружено 3 070 036 расхождений в рамках проверки «WMS > OPS: Приемка возвратов». Эти расхождения приводили к тому, что доход компании оценивался выше, чем он был на самом деле, а также выплаты некоторым поставщикам товаров были больше, в результате чего компания несла убытки. Поиск таких расхождений помог сохранить компании 8 518 млн рублей. В рамках проверки «WMS > OPS: Отгрузка товара» было найдено 378 расхождений, которые также являлись потенциальными потерями для компании, так как учетная система не знала об отгруженных товарах, и, соответственно, не знала, что должна «получить» за них деньги. Поиск таких расхождений помог сберечь компании около 1 млн рублей. Таким образом, одним из важных результатов автоматизации процесса мониторинга консистентности можно считать сбережение бюджета компании.

Во-вторых, на начало функционирования системы было выявлено около 6 млн расхождений. На текущий момент число этих расхождений варьируется около 40 000 и находится в процессе исправления. Снижение числа расхождений между информационными системами является показателем повышения качества данных в компании ХХХ.

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

Заключение

В данной работе было рассмотрено усовершенствование процессов мониторинга качества данных путем автоматизации процесса мониторинга консистентности данных. Основным недостатком текущих процессов являлось отсутствие контроля показателя консистентности, в то время как другие показатели - полнота, уникальность, своевременность, валидность, точность - отслеживались.

В работе были изучены методы и инструменты оценки качества данных. Некоторые концепции управления качеством данных были применены на практике для разработки системы мониторинга консистентности данных в компании ХХХ.

После сбора необходимой информации об объекте автоматизации, был проанализирован текущий процесс мониторинга качества данных, были обнаружены его «узкие места» и предложено решение по их устранению. Так, для усовершенствования этого процесса было предложено автоматизировать процесс контроля консистентности данных посредством создания информационной системы.

На основании построенной модели процесса мониторинга консистентности данных, были сформированы функциональные и нефункциональные требования к информационной системе, разработано техническое задание на разработку этой системы.

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

Список литературы

1. Wang, R. Y., & Strong, D. M. (1996) Beyond Accuracy: What Data Quality Means to Data Consumers. Journal of Management Information Systems, 12(4): pp 5-33.

2. General Administration of Quality Supervision (2008) Inspection and Quarantine of the People's Republic of China. Quality management systems-Fundamentals and vocabulary (GB/T19000--2008/ISO9000:2005), Beijing.

3. Alexander, J. E., & Tate, M. A. (1999) Web wisdom: How to evaluate and create information on the web, Mahwah, NJ: Erlbaum.

4. Alan, F. K., Sanil, A. P., Sacks, J. (2001) Workshop Report: Affiliates Workshop on Data Quality, North Carolina: NISS.

5. Cao, J. J., Diao, X. C., Wang, T. (2010) Research on Some Basic Problems in Data Quality Control. Microcomputer Information, 09: pp 12-14.

6. Goasdouй V., Nugier S., Duquennoy D., Laboisse B. (2007) An evaluation framework for Data Quality Tools, ICIQ.

7. Juran, J. M. (1989). Juran on Leadership for Quality: An Executive Handbook, NY: The Free Press.

8. The Data Management Association (2008). The DAMA Dictionary of Data Management. Bradley Beach, NJ: Technics Publications LLC.

9. English, L. (1999). Improving Data Warehouse and Business Information Quality. Wiley & Sons.

10. The Customer Data Integration Institute (2006). Corporate Data Governance Best Practices - 2006-07 Scorecards for Data Governance in the Global 5000.

11. The Data Management Association (2008). The DAMA Dictionary of Data Management. Bradley Beach, NJ: Technics Publications LLC.

12. Batini, C., Cappiello, C. Francalanci, C. & Maurino, A. (2009). Methodologies for data quality assessment and improvement. ACM Comput. Surv, 41 (3).

13. Gartner [Электронный ресурс] Gartner Magic Quadrant for Data Quality Tools / Friedman T. & Bitterer, A. (2009). URL: http://www.gartner.com/technology/media-products/reprints/dataflux/167657.html.

14. International Standards Organization (2005). ISO 9000:2005 (E). Quality Management Systems: Fundamentals and Vocabulary (3rd edition).

15. В.Н. Любицын (2012). Повышение качества данных в контексте современных аналитических технологий. Вестник ЮУргГУ, № 23.

16. Gartner [Электронный ресурс] 2016 Magic Quadrant for Data Quality Tools, 23 November 2016. - URL: https://www.gartner.com/doc/3522717/magic-quadrant-data-quality-tools.

17. ГОСТ 34.602-89 Техническое задание на создание автоматизированной системы.

Приложение 1 Техническое задание на создание системы мониторинга консистентности данных

1. Общие сведения

1.1. Наименование системы

Полное наименование системы: Система мониторинга консистентности данных.

Краткое наименование системы: Система.

2. Назначение и цели создания системы

2.1. Назначение системы

Система мониторинга консистентности данных предназначена для повышения качества принимаемых управленческих решений сотрудниками компании.

Основным назначением Системы является автоматизация мониторинга показателя консистентности качества данных.

2.2. Цели создания системы

Система создается с целью:

· улучшить качество поступающих данных;

· снизить число расхождений между информационными системами компании;

· повысить качество и достоверность формируемой отчетности.

3. Характеристика объекта автоматизации

Объектом исследования при создании и внедрении системы является компания ХХХ и департамент бизнес-анализа компании.

Предметом исследования являются процессы мониторинга качества данных в компании ХХХ.

4. Требования к системе

4.1. Требования к системе в целом

4.1.1. Требования к структуре и функционированию систем

4.1.1.1. Требования к структуре системы

Система должна иметь модульную структуру, что позволит разбить разработку, настройку и внедрение на постепенно принимаемые к эксплуатации наборы реализованных функций.

4.1.1.2. Перечень подсистем, их назначение и основные характеристики

В состав системы должны входить следующие подсистемы:

1. Подсистема сбора и преобразования данных, которая предназначена для реализации процессов сбора данных из систем источников, приведения указанных данных к виду, необходимому для наполнения подсистемы хранения данных.

2. Подсистема управления проверками, обеспечивающая поддержку процессов запуска загрузки данных в систему, проверки данных на консистентность, рассылки результатов.

3. База данных, предназначенная для хранения информации о проверках.

4. Подсистема отображения результатов мониторинга, предназначенная для формирования графической отчетности.

4.1.1.3. Требования к режимам функционирования системы

К функционированию системы предъявляются следующие требования:

- круглосуточная работоспособность системы;

- наличие обработки исключительных ситуаций;

- защита информации от несанкционированного доступа;

- обеспечение сохранности информации при авариях;

- обеспечение хранения и распространения форм отчетности.

4.1.2. Требования к надежности

Надежность Системы определяется надежностью функциональных модулей, общего программного обеспечения, комплексов технических и инженерных средств.

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

4.1.3. Требования к безопасности

Защита от несанкционированного доступа должна происходить при помощи разграничения полномочий и обеспечения безопасности хранения, предоставляемых программным обеспечением СУБД и операционной системой, на которых функционирует Система.

В Системе должно обеспечиваться разграничение прав доступа по следующим уровням:

- разграничение доступа к данным

- разграничение возможностей работы с данными (просмотр, редактирование)

В рамках Системы должны присутствовать функции администрирования:

- настройка полномочий пользователей

- ведение мониторинга ошибок Системы

- ведение списка пользователей, имеющих доступ к системе

- ведение списка всех действий пользователя

Для подсистемы отображения данных должна выполняться аутентификация пользователей при попытке входа в систему с указанием логина и пароля.

4.2. Требования к функциям, выполняемым системой

4.2.1. Требования к подсистеме сбора и преобразования данных

1. Подсистема сбора и преобразования данных должна обеспечивать возможность извлечения данных из систем-источников, использующих различные виды баз данных (PostgreSQL, MySQL, Oracle и тд.).

2. Подсистема сбора и преобразования данных должна поддерживать извлечение данных измененных или добавленных с момента последнего успешного извлечения данных (инкрементальное извлечение данных).

3. Подсистема сбора и преобразования данных должна обеспечивать возможность отслеживания статуса ETL-процесса с указанием количества элементов данных, извлеченных из систем-источников.

4. Подсистема сбора и преобразования данных должна быть оптимизирована для работы с большим количеством данных.

5. Подсистема сбора должна отправлять отчет о работе подсистеме управления проверками.

4.2.2. Требования к подсистеме управления проверками

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

2. Подсистема управления проверками должна запускать скрипты проверок к базе данных системы мониторинга.

3. Подсистема управления проверками должна формировать excel-файлы с результатами проверок.

4. Подсистема управления проверками должна выполнять рассылку excel-файлов с результатами проверок ответственным департаментам.

5. Подсистема управления проверками должна формировать html-файлы с результатами проверок для дальнейшей передачи их в подсистему отображения результатов мониторинга.

6. Подсистема управления проверками должна передавать html-файлы с результатами проверок подсистему отображения результатов мониторинга.

4.2.3. Требования к базе данных системы мониторинга

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

2. В рамках базы данных должны быть реализованы следующие разделы:

a. Промежуточный раздел, в котором консолидируются данные с систем-источников.

b. Раздел служебных данных, в котором хранятся настроечные таблицы для функционирования системы:

i. текущие значения инкрементов;

ii. SQL-скрипты для реализации каждой из проверок;

iii. cписки получателей результатов проверок и тд.

c. Раздел результатов проверок, в котором содержатся найденные расхождения. Должен включать как список с результатами по каждой проверке, так и уникальный список расхождений.

d. Раздел, содержащий таблицы, используемые средствами визуализации - подсистемой отображения данных мониторинга.

4.2.4. Требования к подсистеме отображения результатов мониторинга

1. Подсистема отображения данных мониторинга должна обеспечивать пользователям доступ через WEB-браузер без установки дополнительного программного обеспечения.

2. Система должна поддерживать браузеры Internet Explorer, Safari, Mozilla Firefox, Google Chrome.

3. Подсистема отображения данных мониторинга должна отображать количество найденных за день расхождений по каждой из проверок, а также количество исправленных расхождений.

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

4.3. Требования к видам обеспечения

4.3.1. Требования к информационному обеспечению

Хранение данных в системе должно быть реализовано при помощи современных реляционных или объектно-реляционных СУБД.

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

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

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

4.3.2. Требования к лингвистическому обеспечению

Система должна быть реализована с использованием языков программирования высокого уровня, имеющих промышленные масштабы развития и сопровождения: SQL, Java, Python.

Запуск работы Системы должен быть реализован с использованием командной оболочки UNIX (Shell).

Для реализации алгоритмов манипулирования данными в базе данных необходимо использовать стандартный язык запроса к данным SQL и его процедурное расширение PL/pgSQL.

При взаимодействии системы с web-приложением должен применяться язык HTML.

4.3.3. Требования к программному обеспечению

База данных Системы должна быть построена на базе СУБД PostgreSQL 9.5.2 (64-bit).

Управление проверками и взаимодействие web-приложения с базой данных должны осуществляться при помощи Python 2.7.

Для построения графиков на основе проверок используется JavaScript-библиотека d3.js.

4.3.4. Требования к техническому обеспечению

Под разрабатываемую Систему должны быть выделены сервера компании.

Сервер базы данных и сервер web-приложения должны быть развернуты на серверной платформе со следующими характеристиками: CPU Intel Xeon Processor E5-2650 v3, ОЗУ: 16 Гб, HDD: 500 Gb, тактовая частота процессора: 2,3 GHz.

5. Состав и содержание работ по созданию системы

Процесс создания Системы, согласно ГОСТ 34.601-90, представляет собой совокупность упорядоченных во времени, взаимосвязанных, объединенных в стадии и этапы работ, выполнение которых необходимо и достаточно для создания Системы, соответствующей требованиям, описанным в предыдущих разделах данного документа. В Таблице 1 приведено подробное поэтапное описание состава работ по созданию системы.

Таблица 1

Состав работ по этапам

№ Этапа

Наименование этапа

Результаты выполнения работ

Срок

1

Уточнение требований

· Устав проекта

· План-график проекта

· Техническое задание на Систему по ГОСТ 34.602-89

3-5 дней

2

Разработка программного обеспечения Системы

Разработанное программное обеспечение подсистем Системы

10-14 дней

3

Ввод Системы в действие

· Протокол предварительных испытаний

· Протокол приемочных испытаний

2-4 дней

5.1. Содержание работ первого этапа

5.1.1. Устав проекта

Устав проекта является основным документом, регламентирующим проект, в котором определяются:

- состав проектной группы

- сроки согласования проектных документов

- политика информационной безопасности

5.1.2. Техническое задание

В ходе первого этапа должно быть проведено уточнение требований и разработано техническое задание на следующие подсистемы:

- подсистема сбора и преобразования данных;

- подсистема управления проверками;

- база данных системы мониторинга;

- подсистема отображения результатов мониторинга.

5.2. Содержание работ второго этапа

На третьем этапе проводится разработка программного обеспечения Системы согласно утверждённому техническому проекту, описаниям информационного и программного обеспечения и другим документам первого этапа проекта.

С целью проведения испытаний Системы должен быть реализован пользовательский интерфейс для проверки работоспособности web-приложения. К дизайну и удобству использования данного пользовательского интерфейса требований не предъявляется.

5.3. Содержание работ третьего этапа

На третьем этапе проводится ввод в действие Системы.

1. Должны быть проведены предварительные испытания Системы по утверждённой программе и методике испытаний.

В ходе предварительных испытаний должно быть проведено функциональное тестирование Системы.

2. Должна быть произведена отладка взаимодействия со смежными системами.

3. Должны быть проведены приемочные испытания Системы согласно п.6 «Порядок контроля и приемки Системы» настоящего документа.

6. Порядок контроля и приемки Системы

Результатом работ должна являться работоспособная Система и комплект документации на Систему.

Испытания представляют собой процесс проверки выполнения заданных функций системы, определения и проверки соответствия требованиям технического задания характеристик Системы, выявления и устранения недостатков в действиях Системы, в разработанной документации.

Система проходит следующие виды испытаний:

· предварительные испытания;

· приёмочные испытания.

Предусмотренные испытания проводятся аналитиками департамента бизнес-анализа.

Результаты проведения каждого вида испытаний должны быть зафиксированы в соответствующем протоколе со списком выявленных замечаний.

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

Для проведения испытаний необходимо обеспечить программно-аппаратный комплекс, характеристики которого соответствуют требованиям, указанным в техническом задании к Системе.

Объем работ по каждому виду испытаний приведен в Таблице 2:

Таблица 2

Объем работ по видам испытаний

Вид испытания

Объем испытаний

1

Предварительные испытания

Функциональное тестирование

Тестирование производительности

Тестирование интерфейса

2

Приемочные испытания

Функциональное тестирование

Тестирование производительности

Тестирование совместимости

7. Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие

Для создания необходимых условий функционирования Системы и гарантии ее соответствия требованиям, описанным в настоящем техническом задании, необходимо провести комплекс мероприятий.

В рамках технических мероприятий должна быть осуществлена закупка и установка необходимого технического оборудования.

В рамках организационных мероприятий должен быть осуществлен доступ к базам данных источников.

Также необходимо подготовить персонал, участвующий в эксплуатации системы.

Приложение 2 SQL-скрипты проверок

В Таблице 1 представлены скрипты проверок. В колонке «Проверка» указано наименование проверки в формате «Источник А > Источник Б «Наименование проверки», в колонках «Запрос к источнику А», «Запрос к источнику Б» - sql-скрипты, выполняющие выгрузку данных из систем-источников, в колонке «Запрос проверки» содержит sql-скрипт, сравнивающий данные с двух систем.

Таблица 1

Скрипты проверок систем-источников

Проверка

Запрос к источнику А

Запрос к источнику Б

Запрос проверки

OPS > DMS «Отмененные заказы»

SELECT DISTINCT

o.order_nr AS ops_order_nr,

o.created_at AS ops_order_created_dttm,

o.shipping_method AS ops_shipping_method,

cr.cancel_reason AS ops_cancel_reason,

cr.user_login_created AS ops_cancel_user,

cr.created AS ops_cancel_dttm,

d.cancelled_by AS ops_delaied_cancel_user,

d.cancelled_at AS ops_delaied_cancel_dttm,

${p_reconciliation_interval_id} AS reconciliation_interval_id,

${p_reconciliation_id} AS reconciliation_id,

${p_database_code} AS database_code

FROM ops_sales_order o

INNER

JOIN ops_sales_order_item i

ON i.fk_sales_order = o.id_sales_order

INNER

JOIN ops_status_history_main h

ON h.fk_sales_order_item = i.id_sales_order_item

LEFT

JOIN ops_sales_order_cancel_reason cr

ON cr.fk_sales_order = o.id_sales_order

LEFT

JOIN ops_sales_order_delivery d

ON d.fk_sales_order = o.id_sales_order

WHERE 1 = 1

AND h.fk_status_list_main = 4

-- Regular:

AND (

cr.created BETWEEN ${p_min_date} AND ${p_max_date}

OR

d.cancelled_at BETWEEN ${p_min_date} AND ${p_max_date}

)

AND o.created_at >= ${p_min_date} - INTERVAL 2 MONTH

-- Recheck:

OR o.order_nr = {order_nr}

select o.order_nr AS dms_order_nr,

o.delivery_status AS dms_delivery_status,

o.order_registered_time AS dms_order_registered_time,

o.created_at AS dms_order_created_dttm,

o.updated_at AS dms_order_updated_dttm,

${p_reconciliation_interval_id} AS reconciliation_interval_id,

${p_reconciliation_id} AS reconciliation_id,

${p_database_code} AS database_code

FROM dms_view_orders o

WHERE 1 = 1

AND o.delivery_status = 'cancelled'

AND o.is_deleted = 0

-- Regular:

AND o.updated_at BETWEEN ${p_min_date} - INTERVAL 2 HOUR AND ${p_max_date} + ${p_stepback}

-- Recheck:

OR o.order_nr = ${order_nr}

SELECT b.ops_order_nr AS order_nr,

b.ops_order_created_dttm,

b.ops_shipping_method,

b.ops_cancel_reason,

b.ops_cancel_user,

b.ops_cancel_dttm,

b.ops_delaied_cancel_user,

b.ops_delaied_cancel_dttm,

b.reconciliation_interval_id,

b.reconciliation_id,

b.database_code

FROM source.sta_cancel_order_ops2dms_ops b

LEFT

JOIN source.sta_cancel_order_ ops2dms _dms e

ON e.dms_order_nr = b.ops_order_nr

WHERE e.dms_order_nr IS NULL

DMS > ERP «Товар прибыл на транзитный склад»

SELECT s.external_id AS dms_shipment_external_id,

s.created_at AS dms_shipment_created_at,

s.sent_at AS dms_shipment_sent_at,

mt.name AS dms_shipment_movement_type,

CASE WHEN i.item_id IS NOT NULL THEN 1 END AS dms_item_exists,

${p_reconciliation_interval_id} AS reconciliation_interval_id,

${p_reconciliation_id} AS reconciliation_id,

${p_database_code} AS database_code

FROM dms_view_shipment s

INNER

JOIN dms_view_goods_movement_type mt

ON mt.id = s.goods_movement_type_id

LEFT

JOIN dms_view_container_shipments c

ON c.shipment_id = s.id

LEFT

JOIN dms_view_container_shipment_items i

ON i.container_shipment_id = c.id

WHERE s.direction = 'in'

AND s.status = 3

AND COALESCE(c.type, 'none') <> 'missing'

-- Regular:

AND s.updated_at BETWEEN ${p_min_date} AND ${p_max_date}

-- Recheck:

OR s.external_id = ${shipment_id}

SELECT gi.shipmentid AS erp_shipment_id,

gi.taglorryarrived AS erp_taglorryarrived,

gi.createddatetime AS erp_createddatetime,

CASE

WHEN gi.status = 0 THEN 'None'

WHEN gi.status = 1 THEN 'Ready'

WHEN gi.status = 2 THEN 'InProcess'

WHEN gi.status = 3 THEN 'Error'

WHEN gi.status = 4 THEN 'Finished'

WHEN gi.status = 5 THEN 'Waiting'

WHEN gi.status = 6 THEN 'Missed'

WHEN gi.status = 7 THEN 'Duplicate'

WHEN gi.status = 8 THEN 'ErrorReprocess'

END AS erp_shipment_status,

CASE WHEN gil.tagstate IS NOT NULL THEN 1 END AS erp_item_exists,

${p_reconciliation_interval_id} AS reconciliation_interval_id,

${p_reconciliation_id} AS reconciliation_id,

${p_database_code} AS database_code

FROM erp_inventgoodsintable_lmd gi

LEFT

JOIN erp_inventgoodsinline_lmd gil

ON gil.sessionid_ = gi.sessionid_

AND gil.dataareaid = 'lmd'

AND gil.partition = 5637144576

WHERE gi.dataareaid = 'lmd'

AND gi.partition = 5637144576

AND gi.destination <> 'БЫКОВО'

AND gi.status <> 7

-- Regular:

AND COALESCE(gi.modifieddatetime, gi.createddatetime) BETWEEN DATEADD(HOUR, -5, ${p_min_date}) AND DATEADD(MINUTE, 60, ${p_max_date})

-- Recheck:

OR gi.shipmentid = ${shipment_id}

WITH dms AS

(

SELECT e.dms_shipment_external_id,

MAX(e.dms_shipment_created_at) AS dms_shipment_created_at,

MAX(e.dms_shipment_sent_at) AS dms_shipment_sent_at,

MAX(e.dms_shipment_movement_type) AS dms_shipment_movement_type,

COALESCE(SUM(e.dms_item_exists), 0) AS dms_item_qty,

MAX(e.reconciliation_interval_id) AS reconciliation_interval_id,

MAX(e.reconciliation_id) AS reconciliation_id,

MAX(e.database_code) AS database_code

FROM source.sta_goods_in_dms2erp_dms e

GROUP BY e.dms_shipment_external_id

),

erp AS

(

SELECT a.erp_shipment_id,

MAX(a.erp_taglorryarrived) AS erp_taglorryarrived,

MAX(a.erp_createddatetime) AS erp_createddatetime,

MAX(a.erp_shipment_status) AS erp_shipment_status,

COALESCE(SUM(a.erp_item_exists), 0) AS erp_item_qty

FROM source.sta_goods_in_dms2erp_erp a

GROUP BY a.erp_shipment_id

)

SELECT e.dms_shipment_external_id AS shipment_id,

e.dms_shipment_created_at,

e.dms_shipment_sent_at,

e.dms_shipment_movement_type,

e.dms_item_qty,

a.erp_taglorryarrived,

a.erp_createddatetime,

a.erp_shipment_status,

a.erp_item_qty,

CASE

WHEN e.dms_item_qty > COALESCE(a.erp_item_qty, 0) THEN

'Express > AXA'

WHEN e.dms_item_qty < COALESCE(a.erp_item_qty, 0) THEN

'Express < AXA'

END AS check_status,

e.reconciliation_interval_id,

e.reconciliation_id,

e.database_code

FROM dms e

LEFT

JOIN erp a

ON a.erp_shipment_id = e.dms_shipment_external_id

WHERE e.dms_item_qty <> COALESCE(a.erp_item_qty, 0)

ERP > WMS «Товар ожидается к прибытию»

SELECT ib.modifieddatetime AS erp_modified,

ib.itembarcode AS erp_ean,

CASE

WHEN d.inventsizeid <> ''0000'' THEN

ib.itemid + d.inventsizeid

ELSE

ib.itemid

END AS erp_sku,

ROW_NUMBER() OVER (PARTITION BY ib.itembarcode

ORDER BY ib.modifieddatetime DESC) AS erp_rnum,

${p_reconciliation_interval_id} AS reconciliation_interval_id,

${p_reconciliation_id} AS reconciliation_id,

${p_database_code} AS database_code

FROM erp_inventitembarcode ib

INNER

JOIN erp_inventdim d

ON d.inventdimid = ib.inventdimid

WHERE ib.dataareaid = 'lmd'

AND ib.partition = 5637144576

AND d.dataareaid = 'lmd'

AND d.partition = 5637144576

AND ib.modifieddatetime >= '2015-01-01 00:00:00'

-- Condition for regular reconciliation:

ib.modifieddatetime BETWEEN ${p_min_date} AND ${p_max_date}

SELECT id.created AS wms_created,

id.modified AS wms_modified,

id.ean AS wms_ean,

id.item_nr AS wms_sku

${p_reconciliation_interval_id} AS reconciliation_interval_id,

${p_reconciliation_id} AS reconciliation_id,

${p_database_code} AS database_code

FROM wms_itemdata id

WHERE id.modified >= to_date('01.01.2015', 'dd.mm.yyyy')

-- Condition for regular reconciliation:

id.modified BETWEEN ${p_min_date} - INTERVAL '5 HOURS' AND ${p_max_date} + INTERVAL '75 MINUTES'

-- Condition for recheck:

id.item_nr = ${p_sku}

SELECT a.reconciliation_interval_id,

a.reconciliation_id,

a.database_code,

a.erp_modified,

a.erp_ean,

a.erp_sku,

w.wms_created,

w.wms_modified,

w.wms_ean,

w.wms_sku

FROM source.sta_product_info_erp a

LEFT

JOIN source.sta_product_info_wms w

ON w.wms_sku = a.erp_sku

WHERE COALESCE(a.erp_rnum, 1) = 1

AND (a.erp_ean <> w.wms_ean OR w.wms_ean IS NULL)

OPS > DMS «Заказ отправлен»

SELECT soi.item_nr AS ops_item_nr,

soi.id_sales_order_item AS ops_item_id,

soi.barcode AS ops_barcode,

soi.sku AS ops_sku,

so.order_nr AS ops_order_nr,

so.created_at AS ops_order_dttm,

so.shipping_method AS ops_shipping_method,

slm.code AS ops_item_main_status,

soi.status_main_last_change AS ops_item_main_status_dttm,

shm.created_at AS ops_item_shipping_dttm,

shm.inserted_at AS ops_shipping_status_dttm,

${p_reconciliation_interval_id} AS reconciliation_interval_id,

${p_reconciliation_id} AS reconciliation_id,

${p_database_code} AS database_code

FROM sales_order_item soi

INNER

JOIN sales_order so

ON so.id_sales_order = soi.fk_sales_order

INNER

JOIN status_list_main slm

ON slm.id_status_list_main = soi.fk_status_list_main

INNER

JOIN status_history_main shm

ON shm.fk_sales_order_item = soi.id_sales_order_item

WHERE

shm.fk_status_list_main = 5 -- shipped

-- Regular:

AND shm.inserted_at BETWEEN ${p_min_date} AND ${p_max_date}

AND soi.updated_at >= ${p_min_date}

-- Recheck:

OR soi.item_nr = ${item_nr}

SELECT o.order_nr AS dms_order_nr,

i.item_guid AS dms_item_nr,

i.barcode AS dms_barcode,

i.sku AS dms_sku,

${p_reconciliation_interval_id} AS reconciliation_interval_id,

${p_reconciliation_id} AS reconciliation_id,

${p_database_code} AS database_code

FROM view_orders o

INNER

JOIN view_items i

ON i.order_id = o.id

WHERE o.is_deleted = 0

AND i.is_deleted = 0

-- Regular:

AND i.updated_at BETWEEN ${p_min_date} - INTERVAL 2 HOUR AND ${p_max_date} + INTERVAL 2 HOUR

-- Recheck:

OR i.item_guid = ${item_nr}

SELECT b.ops_item_nr AS item_nr,

b.ops_item_id,

b.ops_barcode,

b.ops_sku,

b.ops_order_nr,

b.ops_order_dttm,

b.ops_shipping_method,

b.ops_item_main_status,

b.ops_item_main_status_dttm,

b.ops_item_shipping_dttm,

b.ops_shipping_status_dttm,

b.reconciliation_interval_id,

b.reconciliation_id,

b.database_code

FROM source.sta_order_sent_bob2dms_bob b

LEFT

JOIN source.sta_order_sent_bob2dms_le e

ON e.dms_item_nr = b.ops_item_nr

WHERE e.dms_item_nr IS NULL

Размещено на Allbest.ru


Подобные документы

  • Выбор сервера базы данных, инструментальных средств разработки клиентского интерфейса и технологий. Описание таблиц базы данных системы мониторинга. Разработка инструментальных средств создания элементов системы. Интерфейс генерации тестов. Расчет затрат.

    дипломная работа [1,9 M], добавлен 12.03.2013

  • Небезопасность и ненадежность интернета вещей. Специфика медицинских систем мониторинга в сетях IOT. Высокоуровневая архитектура системы Medicus. Детали реализации обработки внешних данных. Безопасность IOT устройств. Меры защиты персональных данных.

    курсовая работа [2,4 M], добавлен 24.07.2016

  • Назначение, принципы построения и архитектура единой системы мониторинга и администрирования. Характеристика аппаратуры цифровой системы передачи данных ВТК-12. Принцип работы шлюза, создание его файлов конфигурации и реализация интерфейсных функций.

    дипломная работа [3,2 M], добавлен 28.10.2013

  • Сущность и значение мониторинга и анализа локальных сетей как контроля работоспособности. Классификация средств мониторинга и анализа, сбор первичных данных о работе сети: анализаторы протоколов и сетей. Протокол SNMP: отличия, безопасность, недостатки.

    контрольная работа [474,8 K], добавлен 07.12.2010

  • Интерфейс системы онлайн-мониторинга стационарного аппарата. Интерфейс автоматизированного рабочего места мониторинга АПБ Московского метрополитена. Архитектура системы ProView, основные сферы применения. Структура графического интерфейса пользователя.

    курсовая работа [1,8 M], добавлен 21.03.2016

  • Общая характеристика деятельности Калининградского филиала федерального государственного бюджетного учреждения "Центр системы мониторинга рыболовства и связи". Инструктаж на рабочем месте. Анализ базы данных предприятия с помощью программы Visual FoxPro.

    отчет по практике [18,7 K], добавлен 10.02.2014

  • Общая характеристика и функциональные возможности, внутреннее устройство и принцип работы спутниковых систем мониторинга, особенности их применения в сфере сельского хозяйства. Технология решения задачи мониторинга. Разработка программного обеспечения.

    дипломная работа [5,3 M], добавлен 15.05.2014

  • Понятие автоматизированной информационной системы, ее структурные компоненты и классификация. Основные функции систем управления процессом. Применение базы данных процесса для мониторинга и управления. Доступ к базе данных процесса, запросы и протоколы.

    реферат [457,1 K], добавлен 18.12.2012

  • Информационная инфраструктура современных предприятий. Регистрация и обработка событий. Сбор, хранение и представление данных. Мастер сканирования сети и принципы его работы. Мониторинг состояния хостов. Способ распространения и мониторинг сетей.

    курсовая работа [3,4 M], добавлен 08.01.2011

  • Описание предметной области, определение функциональных требований к системе и построение диаграммы потока данных. Построение модели "сущность-связь", описание сущностей и атрибутов модели. Построение реляционной базы данных и описание ее таблицы.

    курсовая работа [624,5 K], добавлен 30.05.2019

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.