<?php // Полная загрузка сервисных книжек, создан 2025-01-05 12:44:55
global $wpdb2;
global $failure;
global $file_hist;
///// echo '<H2><b>Старт загрузки</b></H2><br>';
$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
///// echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}
$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
///// echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}
/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
///// echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
///// echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist); ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7]; ////получаем размер файла
$m_mtime_file=$masiv_data_file[9]; ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file
///// echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
///// echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
///// echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);
if ($results)
{ foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));
////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
///// echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
///// echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}
////загружаем данные
$table='vin_history'; // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация // (путь от корня web-сервера)
$delim=';'; // Разделитель полей в CSV файле
$enclosed='"'; // Кавычки для содержимого полей
$escaped='\
Очень пригодилась!!!
Спасибо! Как раз то что доктор прописал.
Спасибо, нужная штука!
действительно, сколько пользователя не учи, все равно набивает и ООО и ОАА и т.д
Удобно еще встроить код обработки в саму форму ввода контров -чтобы не давать такие записи делать или на лету при записи менять наименования.
спасибо
ещё бы неплохо по унн вытаскивать из справочника из архива
ещё бы неплохо по унн вытаскивать из справочника из архива
поясни плиз, не понял пожелания
Дополнительные сокращения:
ФБУЗ,ФГУП,НП,НПО,НПФ,НСК,НТК,ПКО,НОАО,ГОУ,ГБУ,АК,АКБ,МПФ
(8) AlexO, спасибо, добавлю в след. версии.
(9) даже точнее как-то так :)) :
1 уровень: ФБУЗ,ФГУП,НП,НПО,НПФ,НТК,ПКО,ПКФ,НОАО,ГОУ,ГБУ,АК,АКБ,МПФ,ИК,СК
2 уровень: ФБУ,ГСК,НСК,КБ (ТД,НПП и НПЦ — есть в шаблоне)
3 уровень: Ф-Л,Ф-л,ф-л,ФИЛИАЛ,Филиал,филиал,ФИЛ-Л,Фил-л,фил-л
Т.е. сложносоставные формы собственности должны в обратном порядке идти — от частных к общему.
Примеры:
Филиал АКБ «Банк Рам» (ОАО) в г.Москва -> Банк Рам АКБ в г.Москва филиал, ОАО
Филиал ОАО «РусГидро»-«Ботайская ГЭС» -> РусГидро — Ботайская ГЭС филиал, ОАО
ГБУ НО «Госкладуправление» -> Госкладуправление СО, ГБУ (здесь СО — обозначение области)
АКБ «Вертикаль Банк» (ЗАО) -> Вертикаль Банк АКБ, ЗАО
ООО ПКФ «Геликон» -> Геликон ПКФ, ООО
ЗАО НПФ «Байкал» -> Байкал НПФ, ЗАО
ООО НСК РТР -> РТР НСК, ООО
ФБУЗ Медицинский центр ФМБА -> Медицинский центр ФМБА, ФБУЗ
В целом обработка качественная, на отлично, можно использовать как основу для восьмерошной обработки ))
Вот еще некоторые сокращения — общие для названий (это если по (10) — уровень 2):
ДПО,НОУ ДПО,ДПОВ,УЦ ДПОВ,ТК,ГК,ТГК,СМУ,СМО,ПСК,ПСФ,МСМП,СКБ,ГСКБ,УПЦ,НТЦ,НПЗ,МНПП,ГМНПП,АУК
С формами собственности образовательных учреждений (ДПО, НОУ ДПО, ДПОВ, УЦ ДПОВ) несколько сложнее:
— если НОУ ДПО (негосударственное образовательное учреждение дополнительного профессионального образования), то «Ботаник ДПО, НОУ» как-то не скажешь, надо «Ботаник, НОУ ДПО». А если «Ботаник УЦ ДПО, НОУ» (УЦ — учебный центр), то вроде как все нормально.
Поэтому получается, нужно и «ДПО» отдельно, и «УЦ ДПО», и «НОУ ДПО» (тоже самое и с ДПОВ — дополнительное профессиональное образование взрослых).
Вот еще нашлось — НОЧУ ДПО УЦ:
«Негосударственное образовательное частное учреждение дополнительного образования»
Остальное — по (12).
Кстати, для ДПО (ДПОВ) еще возможны варианты с УПЦ (Учебно-производственный центр).
ФГБОУ ВПО — Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования.
Остальное — по (12).
И еще:
ГОУ ДПО ЦПК <название> — Государственное образовательное учреждение дополнительного профессионального образования (повышения квалификации) специалистов Центр повышения квалификации.
Отдельно ЦПК, наверное, нет, тогда будет:
<название> ЦПК, ГОУ ДПО
ГОУ ВПО — Государственное образовательное учреждение высшего профессионального образования
ГОУ ВПО <название> — думаю, здесь также надо переносить все вместе:
<название>, ГОУ ВПО
Еще примеры и сокращения.
ОП — обособленное подразделение.
Пример: ОП ООО «<Фирма название>» «<филиал название>» — обособленное подразделение Общества с ограниченной ответственностью такое-то.
Думаю, достаточно будет:
«<Фирма название> — <филиал название> ОП, ООО»
Сюда же — ЧОП (Частное охранное предприятие):
«ООО ЧОП <название> — <название> ЧОП, ООО»
ПФ — производственная фирма:
«ЗАО ПФ <название> — <название>, ЗАО ПФ»
ОСАО — Открытое страховое акционерное общество
Стародвинский филиал АКБ «Сеньга» (ОАО) -> Сеньга АКБ филиал г. Старая Двина, ОАО
ФГУП НИПИ — Научно-исследовательский приборостроительный институт
«ФГУП НИПИ <название>» преобразуем в «<название> НИПИ, ФГУП»
ММУ — Муниципальное медицинское учреждение
«<название>, ММУ»
МБУ — Муниципальное бюджетное учреждение
«<название>, МБУ»
Еще немного федеральных форм собственности:
ФГОУ ВПО — Федеральное государственное образовательное учреждение высшего профессионального образования
ФГОУ СПО — Федеральное государственное образовательное учреждение среднего профессионального образования
ФГУ — Федеральное государственное учреждение (было, стало: ФГБУ)
ФГБУ — Федеральное государственное бюджетное учреждение (стало, было: ФГУ)
ФКУ — федеральное казенное учреждение (это из ГУФСИН)
Всероссийское ЗАО:
«Всероссийское ЗАО <название> — <название>, Всероссийское ЗАО»
ГУЗ МО МИАЦ — Государственное учреждение здравоохранения Московской области медицинский информационно-аналитический центр:
«ГУЗ МО МИАЦ — МИАЦ, ГУЗ МО»
Есть еще «Государственное Бюджетное учреждение здравоохранения»:
«ГБУЗ МО Медицинский информационно-аналитический центр — <название>, ГБУЗ МО
еще из областных сокращений:
ФКУ АО — финансово-казначейское управление административного округа
ГФКУ — главное финансово-казначейское управление
КГБУЗ — краевое государственное бюджетное учреждение здравоохранения
ОГБУК — областное государственное бюджетное учреждение культуры
— городские:
МУК — муниципальное учреждение культуры
МУК — муниципальная управляющая компания
МОУ — межрегиональное общественное учреждение
МОУ — муниципальное образовательное учреждение
МОУ МУК — муниципальное образовательное учреждение межшкольный учебный комбинат
МОУ СОШ — муниципальное общеобразовательное учреждение средняя общеобразовательная школа
МОУ ДОД — муниципальное образовательное учреждение дополнительного образования детей
МОУ ЦДОД — муниципальное образовательное учреждение — центр дополнительного образования детей
МОУ ДОД ЦДОД — Муниципальное образовательное учреждение дополнительного образования детей — центр дополнительного образования детей
МОУК — муниципальное образовательное учреждение культуры
СМОУ — среднее медицинское образовательное учреждение
ВМУК — военно-морской учебный комбинат
ГСОУ — государственное спортивно-образовательное учреждение
ОГБУК — областное государственное бюджетное учреждение культуры
МАУК — муниципальное автономное учреждение культуры
ГАУ НСО — государственное автономное учреждение Новосибирской области
ГАУК — государственное автономное учреждение культуры
МСМП — малые, средние и микропредприятия
А нет случайно общероссийского классификатора аббревиатур? подрубить бы его и все в шоколаде 🙂
(7) имел ввиду по одному откатывать
(17) присоединяюсь
(18) zhleonid8, сорри, но все равно не понял :)))
твой пост:
че есть «унн»? ИНН знаю, УИН (уник.ID) знаю, «унн» не знаю… и что значит «вытаскивать из справочника из архива»?
какого архива??
(17)
да откуда? ))
по примерам глядите, какие контсрукции возводят…
там же из разных законов, а кто и когда в России классифицировал «че-то там» из законов? есть сайты сокращений, но там именно сокращения, а не списки форм собственности…