Image
О проекте

Развитие ERP - системы управления работой морских портов. АО Морцентр-ТЭК Москва.

Технологии
  • PHP
  • Laravel
  • JavaScript
Клиент

Подрядная работа для агентства.

Общие работы 

За полтора года поддержки с середины 2018 по конец 2019 год было сделано множество модулей для повышения эффективности и удобства пользования. Фильтры, импорты, экспорт отчетов, документов. В общем списке задач реализовано 130 нововедений и доработок. Самое интересное на наш взгляд из того, что сделано, это модуль импорта файлов реестров заявок.

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

Задача 

morcentr-tek-image


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

Требования 


Предусмотреть форматы документов: XLSM, XLSX, XLSB, XLS, XML, CSV (MS-DOS), CSV (Макинтош), CSV (разделители — запятые).

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

Реализовать возможность синхранизации с файлами по расписанию в google doc.

Реализация 


Начали с брифинга. Постановки задач.

Начали собирать данные о реализованной логике, что есть и какие сценарии в работе встречаются.


morcentr-tek-image

После утверждения технического задания начали итерационно разрабатывать импорт. Реализовали форму для создания задания на импорт и раздел с общим списком. morcentr-tek-image

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

Порт не должен отражаться в пользовательской части ЛК при исключении его в админ. панели на странице "Добавить порт".

Если на странице «Добавить порт» в поле «учитывать в ЛК» поставить «Off», то порт не должен отображаться в выпадающем списке поля «Порт» в пользовательской части ЛК, если «On», то должен отображаться.

И далее по списку подобные условия в работе.

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

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

morcentr-tek-image

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

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

Итог 

Система стала работать быстрее. Средняя скорость обработки файла реестров снизилась с 40 секунд до 3 секунд. Появился функционал высвободивший ресурсы коллег. Раньше им приходилось вручную заводить заявки в систему, на это уходило больше половины времени. Теперь автоматизация и цифровой подход к работе с данными позволил высвободить ресурсы для развития сервиса и партнерской сети.