Логика действий :(

stanar

Client
Регистрация
19.12.2015
Сообщения
314
Благодарностей
157
Баллы
43
Доброго вечера, дамы и господа. Помогите, не хватает мне знаний.
Работаю с API одного программного продукта по учету рабочего времени в общепите. По API дает возможность вытягивать данные, которые довольно сложно вытянуть через его родные отчеты. К примеру. Есть 15 кафе. На них работают 600 сотрудников. У каждого есть должность. База данных построена так, что в каждом справочнике его элементу присваивается код. И ответы на запросы приходят с кодом, а не с наименованием элемента.

К примеру. Хочу я узнать, какие сотрудники у нас работают. Приходит ответ ФИО текстом - Иванов Иван Иванович, должность "KJH-sdfasdf-sdfadf-sdf", кафе "sdfsd-fsdf-gsdg-sdf".
Ок. Берем справочник кафе в файл и поиском находим код кафе , затем по коду вытягиваем его название текстом. Типа
Кафе березка dfsdf-sdfsdf-sdfsd-fsdf
Кафе ракета sdfsdf-sdfsdgsd-sdfsdf-sdf
................................
Кафе Кукушка sdfsd-fsdf-gsdg-sdf

Так же поступаем со справочником должностей. Итого получаем Иванов Иван Иванович Кафе Кукушка Слесарь.

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

Poznavaka

Client
Регистрация
07.09.2018
Сообщения
18
Благодарностей
4
Баллы
3
Проще было бы если разработчики апи предоставили вместо кодов, связанные названия. А в чем сейчас сложность? Это же зенка делает а не вы руками.
 

stanar

Client
Регистрация
19.12.2015
Сообщения
314
Благодарностей
157
Баллы
43
Проще было бы если разработчики апи предоставили вместо кодов, связанные названия. А в чем сейчас сложность? Это же зенка делает а не вы руками.
Думаю у разработчиков были свои причины. В любом случае- что имеем то имеем (
Сложность в том, что нужны оперативные данные. Большое количество. А вся та кучная куча, которую и нагородил из списков, тормозит(
 

budora

Client
Регистрация
13.08.2012
Сообщения
831
Благодарностей
554
Баллы
93
Приведите пример хоть что за список. Как всё выглядит. Если там всего 15 кафе и 600 сотрудников, то не думаю что и 600 должностей будет, максимум 10-15.
Сделайте себе небольшую таблицу соответствий и получайте через неё.
 

stanar

Client
Регистрация
19.12.2015
Сообщения
314
Благодарностей
157
Баллы
43
Приведите пример хоть что за список. Как всё выглядит. Если там всего 15 кафе и 600 сотрудников, то не думаю что и 600 должностей будет, максимум 10-15.
Сделайте себе небольшую таблицу соответствий и получайте через неё.
Должностей около сотни. Кроме сотрудников, кафе, должностей есть еще всякие виды явок, роли сотрудников и еще штук десять сущностей, которые кодируются. Таблица соответствий с каждым запуском будет новой - все меняется практически ежедневно.
 

stanar

Client
Регистрация
19.12.2015
Сообщения
314
Благодарностей
157
Баллы
43
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><employeeRoles><role><id>bf6812b7-2158-433a-b972-15440c8a9ea9</id><code>MR3</code><name>Cпециалист по связям с общественностью</name><paymentPerHour>0.000000000</paymentPerHour><scheduleType>FIXED</scheduleType><deleted>false</deleted></role><role><id>6b401745-f963-4bb1-971a-8ae08ebfb1c4</id><code>HR0</code><name>HR-директор</name><paymentPerHour>0.000000000</paymentPerHour><scheduleType>FIXED</scheduleType><deleted>false</deleted></role><role><id>817045bd-ebb2-4f97-ba20-e69b5df97ae9</id><code>IT0</code><name>IT-директор</name><paymentPerHour>0.000000000</paymentPerHour><scheduleType>FIXED</scheduleType><deleted>false</deleted></role><role><id>2d8cc1cf-ec4e-408c-9f5d-f9fcd090f801</id><code></code><name>А-фест</name><paymentPerHour>5.000000000</paymentPerHour><scheduleType>SESSION</scheduleType><deleted>false</deleted></role><role><id>8f681673-bb45-440e-91c8-9d98aacc058c</id><code>CANIM</code><name>Аниматор</name><paymentPerHour>0.000000000</paymentPerHour><scheduleType>SESSION</scheduleType><deleted>false</deleted></role><role><id>ce697f91-7453-4595-84b8-f351818d74cd</id>



И так далее. Глянул точно - 175 должностей(
И это самый лайтовый вариант еще. Получить выручку - это туева хуча кодов подразделений, типов оплаты, типов заказа, самих кафе
 

budora

Client
Регистрация
13.08.2012
Сообщения
831
Благодарностей
554
Баллы
93
И где в вашем XML корневой элемент. Не думаю что в таком виде отдаёт
 

Poznavaka

Client
Регистрация
07.09.2018
Сообщения
18
Благодарностей
4
Баллы
3
- 600 сотрудников в csv файле, у них приписаны коды в определенном поле.
- Регуляркой собираешь все эти коды в файл.
- В файл помещаешь справочники для расшифровки кода в виде таблицы (абракадабра|Нормальное название)
- Из справочника отсеиваешь лишние (что бы осталась расшифровка только для кодов которые встречаются среди 600 пользователей)
- Делаешь замену текста в csv файле пользователей. Заменяя коды на расшифрованное значение.
 

stanar

Client
Регистрация
19.12.2015
Сообщения
314
Благодарностей
157
Баллы
43

budora

Client
Регистрация
13.08.2012
Сообщения
831
Благодарностей
554
Баллы
93
Если это ответ с API а он в XML формате то в чём ваша трудность. Я признаться так и не понял.
 

Poznavaka

Client
Регистрация
07.09.2018
Сообщения
18
Благодарностей
4
Баллы
3

budora

Client
Регистрация
13.08.2012
Сообщения
831
Благодарностей
554
Баллы
93
Если это ваш ответ API и он в XML формате то расспрашиваете и работаете дальше. Что и откуда вы дальше тянете я так и не понял.
Может только я не понял ?
 

stanar

Client
Регистрация
19.12.2015
Сообщения
314
Благодарностей
157
Баллы
43
Если это ответ с API а он в XML формате то в чём ваша трудность. Я признаться так и не понял.
Это один из тысячи элементов ОТВЕТА.
<id>b33b5e36-a5b1-9b52-0166-f6a44b56726b</id><employeeId>4ed66aa9-2f08-4c48-a429-91dc59aea86a</employeeId><roleId>ffbeef6a-28ba-b5f6-6435-51113bd71411</roleId><dateFrom>2018-08-16T00:00:00+03:00</dateFrom><comment>Сотрудник работал по подменной карте №000003255. Комментарий: .</comment><departmentId>cc36fea1-c2d1-4303-a19d-c254d69e905b</departmentId><departmentName>Кафе Кукушка</departmentName><personalDateFrom>2018-08-16T00:00:00+03:00</personalDateFrom><personalDateTo>2018-11-09T07:13:00+03:00</personalDateTo><created>2018-11-09T07:13:53.460+03:00</created>

Мне нужно в каждом из них заменить коды на текст. ID, EmployeeID, roleID и так далее - это все сторонние справочники по 300-500 элементов. Как их быстро подтянуть и заменить в этот ОТВЕТ?
 

budora

Client
Регистрация
13.08.2012
Сообщения
831
Благодарностей
554
Баллы
93
это все сторонние справочники по 300-500 элементов/ В каком формате всё находится там.
 

stanar

Client
Регистрация
19.12.2015
Сообщения
314
Благодарностей
157
Баллы
43

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 223
Баллы
113
Ну и в чём, собственно проблема то?
Не могу взять в толк. Зенка уже давно умеет парсить XML, практически, на автомате.
Сложно выдернуть все записи и создать единый справочник?
 

Poznavaka

Client
Регистрация
07.09.2018
Сообщения
18
Благодарностей
4
Баллы
3
Ну и в чём, собственно проблема то?
Не могу взять в толк. Зенка уже давно умеет парсить XML, практически, на автомате.
Сложно выдернуть все записи и создать единый справочник?
ТС сам не знает чего хочет. У него вопрос: "как сделать проще", когда на самом деле нужно задаться вопросом: "зачем? и что конкретно не устраивает?
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)