pakypc / xml-mintrud
There is no license information available for the latest version (2.0.0) of this package.
2.0.0
2025-05-24 09:17 UTC
Requires
- ext-dom: *
Requires (Dev)
- phpunit/phpunit: ^12.2
- vimeo/psalm: ^6.10
This package is auto-updated.
Last update: 2025-05-24 09:20:07 UTC
README
Этот сервис предназначен для создания выгрузки данных об обученных лицах из CRM-системы в формат XML, соответствующий стандартизированной схеме XSD (educated_person_import_v1.0.8.xsd
).
Описание проекта
Сервис принимает на вход сущности из CRM (студенты, учебные группы, организации и т.д.) и генерирует XML-документ в соответствии с требованиями XML-схемы. Информация берется из учебной группы и личной карточки слушателя.
Использование
// Создаём сущность документа с общими данными $commonData = new CommonData( '7736207543', // ИНН организации обучения 'Центр обучения', // Название организации обучения ); $document = XMLDocument::create($commonData); // Добавляем информацию об учащихся $document->add($student1, $studentInGroup1, $position1, $group1, $program1, $organization1); $document->add($student2, $studentInGroup2, $position2, $group2, $program2, $organization2); $document->add($student3, $studentInGroup3, $position3, $group3, $program3, $organization3); // Получаем XML-документ в виде строки $xmlContent = (string) $document; // Или сохраняем в файл $document->saveToFile('path/to/output.xml'); // Валидируем XML-документ по XSD-схеме if ($document->validate()) { echo "XML-документ соответствует схеме"; } else { echo "XML-документ не соответствует схеме"; }
Описание классов
CommonData
DTO для хранения общих данных экспорта:
- ИНН организации обучения
- Название организации обучения
- Маппинг ID программ обучения (для преобразования внутренних ID в ID, требуемые схемой)
XMLRecord
DTO для хранения данных о записи учащегося, соответствующей одному элементу RegistryRecord
в XML-документе.
XMLDocument
Основной класс для генерации XML-документа:
- Создание документа с общими данными
- Добавление записей об учащихся
- Генерация XML-документа
- Валидация XML-документа по XSD-схеме
- Сохранение XML-документа в файл
Структура XML
Сгенерированный XML-документ соответствует следующей структуре:
<RegistrySet> <RegistryRecord> <Worker> <LastName>...</LastName> <FirstName>...</FirstName> <MiddleName>...</MiddleName> <Snils>...</Snils> <Position>...</Position> <EmployerInn>...</EmployerInn> <EmployerTitle>...</EmployerTitle> <!-- Дополнительные поля... --> </Worker> <Organization> <Inn>...</Inn> <Title>...</Title> </Organization> <Test isPassed="true" learnProgramId="1"> <Date>...</Date> <ProtocolNumber>...</ProtocolNumber> <LearnProgramTitle>...</LearnProgramTitle> </Test> </RegistryRecord> <!-- Дополнительные записи... --> </RegistrySet>