Your IP : 216.73.216.170


Current Path : /home/bitrix/ext_www/remote.office.yacl.site/
Upload File :
Current File : /home/bitrix/ext_www/remote.office.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));
        }
    }
}