Current Path : /home/bitrix/ext_www/rgc.yacl.site/ |
Current File : /home/bitrix/ext_www/rgc.yacl.site/fns_extractor.php |
<? define("NOT_CHECK_PERMISSIONS", true); if (!$_SERVER["DOCUMENT_ROOT"]) { $_SERVER["DOCUMENT_ROOT"] = realpath(__DIR__); } else { die ('Script for console only'); } require_once $_SERVER["DOCUMENT_ROOT"] . '/local/composer/vendor/autoload.php'; require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php"); use Bitrix\Main\Type\DateTime; use Bitrix\Main\Loader; use Bitrix\Highloadblock\HighloadBlockTable as HLBT; use Bitrix\Disk\Security\DiskSecurityContext; use Bitrix\Disk\Security\SecurityContext; use Bitrix\Disk\Storage; use Bitrix\Main\Localization\Loc; use Bitrix\Main\IO\File; use duzun\hQuery; $baseDir = $_SERVER['DOCUMENT_ROOT'] . '/upload/fnsdata'; //$code = '7707329152-debtam'; //$code = '7707329152-taxoffence'; foreach (['7707329152-debtam', '7707329152-taxoffence'] as $code) { $currentDir = $baseDir . '/' . $code . '/unzipped/'; $extractDir = $baseDir . '/' . $code . '/extracted/' ; $allXmls = glob($currentDir . '*.xml'); foreach ($allXmls as $currentXml) { $sxe = new SimpleXMLElement(File::getFileContents($currentXml)); foreach ($sxe->{'Документ'} as $document) { $inn = (string)$document->{'СведНП'}['ИННЮЛ']; $fileName = $extractDir . substr($inn, 0, 3) . '/' . $inn; File::putFileContents($fileName, $inn); } } } $code = '7707329152-rsmp'; $currentDir = $baseDir . '/' . $code . '/unzipped/'; $extractDir = $baseDir . '/' . $code . '/extracted/' ; $allXmls = glob($currentDir . '*.xml'); foreach ($allXmls as $currentXml) { $sxe = new SimpleXMLElement(file_get_contents($currentXml)); foreach ($sxe->{'Документ'} as $document) { if ($document->{'ИПВклМСП'}) { continue; // $inn = $document->{'ИПВклМСП'}['ИННФЛ']; // $name .= $document->{'ИПВклМСП'}->{'ФИОИП'}['Фамилия'] . ' '; // $name .= $document->{'ИПВклМСП'}->{'ФИОИП'}['Имя'] . ' '; // $name .= $document->{'ИПВклМСП'}->{'ФИОИП'}['Отчество']; } else { $inn = $document->{'ОргВклМСП'}['ИННЮЛ']; $name = $document->{'ОргВклМСП'}['НаимОргСокр']; } $inn = (string)$inn; $okvedList = [$document->{'СвОКВЭД'}->{'СвОКВЭДОсн'}['КодОКВЭД'] . ' ' . $document->{'СвОКВЭД'}->{'СвОКВЭДОсн'}['НаимОКВЭД']]; foreach ($document->{'СвОКВЭД'}->{'СвОКВЭДДоп'} as $okved) { $okvedList[] = $okved['КодОКВЭД'] . ' ' . $okved['НаимОКВЭД']; } $allLicenses = []; foreach ($document->{'СвЛиценз'} as $item) { $license = [ 'number' => $item['НомЛиценз'], 'dateFrom' => $item['ДатаНачЛиценз'], 'dateTo' => $item['ДатаКонЛиценз'], 'name' => $item->{'НаимЛицВД'}, ]; // $license = 'Лицензия №' . $item['НомЛиценз'] . '. ' . 'Действует с ' . $item['ДатаНачЛиценз']; // if ($item['ДатаКонЛиценз']) { // $license .= ' по ' . $item['ДатаКонЛиценз']; // } // $license .= '. ' . $item->{'НаимЛицВД'}; $allLicenses[] = $license; } $data = [ 'UF_MSP_DATE' => (string)$document['ДатаВклМСП'], 'UF_INN' => $inn, 'UF_NAME' => $name, 'UF_OKVEDS' => $okvedList, 'UF_LICENSES' =>$allLicenses, ]; if (mb_strlen($data['UF_INN']) == 10) { $fileName = $extractDir . substr($inn, 0, 3) . '/' . $inn; File::putFileContents($fileName, json_encode($data)); } } }