<?php // Полная загрузка сервисных книжек, создан 2024-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='\
Понравилось)
Познавательно — не про все виды эффектов знал. Не помню, где читал, что мозг под полной нагрузкой расходует до 30% энергии организма.
Очень круто! Спасибо
Личная эффективность, это когда есть время прочитать эту крутую статью.
Автору респект и уважуха!
один из лучших докладов эвента 2015
Материал изложен в интересной форме.
Описаны в понятной форме проблемы, а вот их решения 🙂 «читайте в блоге».
Обязательно почитаю.
Правда, несколько скептически, по опыту отношусь к результату от такого чтения — от чтения книг связанных с психологией.
Проблемы, конечно описывают всегда хорошо, а вот решение проблем, увы.
(6) HAMMER_59, Зря вы, джедайские техники мне реально помогли
В описании статьи узнал свои первые завалы (дырявый стек) и свое «2е место работы»…
Очень доступно изложенные проблемы программистов — картинки шедевр!
Читается легко, написано по делу.
Стоит нескольких прочтений)
Интересная подача, но есть какое-то ощущение потери лаконичности после главного вывода об экономии мыслетоплива.. т.е. происходит перегрузка в количестве паттернов и относительной сложности заключения. Перестроить реактивность ситуаций появления антипатернов доведения дел до конца — это целая наука, т.е. вроде каждый узнает в ситуациях себя, но знать как правильно и делать правильно — это две очень разные вещи с учетом всех неоднозначностей ситуаций.. а хотелось больше узнать для себя какие-то эффективные приемы пополнения мыслетоплива и его экономии.
Случайно узнал об авторе в прошлом году из обзоров эвента 2015. Почитал блог, с начала 2016 внедрил (в свою жизнь) смартфонное приложение Micromiles (сейчас переименовалось в Maxdone). Полностью джедайскую технику пока не освоил, но результаты есть. Если взять такую метрику, как уменьшение прокрастинирования личных дел (по рабочем делам как раз особых проблем не было, поэтому эффект на личных больше). Максиму респект, читайте его блог, интересно.
Это, думаю, следствие закона
Житейская оптимизация, лучше сделать 2 дела на 90%, чем 1 на 100%. (Принцип минимального приемлемого результата сюда же.)
(11) zqzq, интересно чем Maxdone лучше wunderlist ?
(12) Ibrogim, у Wunderlist внезапные технические проблемы, результатом которых становятся исчезновения записей и некорректная синхронизация.
Вот, буквально пару недель назад столкнулся. Как не попробую его использовать, все время у них проблемы =)
У Maxdone такого не было замечено.
Не всегда понятно доделал ли ты дело до конца. Запилил я пастебин, а теперь хорошо бы редактирование, кода, а теперь поддержку синтаксиса «77», а теперь возможность удалять свой код, а теперь… и это бесконечно.
(13) YPermitin, TickTick попробуйте, я на нем остановился. Micromiles был слаб технически одно время, с напоминаниями тяжело было и т.п.
Просмотрел вэбинар по джедайской технике, затем попытался скачать материалы по вэбинару.
Никаких материалов так и не пришло на почту 🙁
(6)HAMMER_59, просто не может быть универсальных рецептов на все случаи жизни. Рецепты — это рыба, а методика — это удочка. В статье неплохое описание как сделать себе удочку.
Прочитав статью, вспомнил книгу небезизвестного Дейла Карнеги «Как перестать беспокоиться и начать жить (завести друзей/ребенка/обрести работу/щасте и т.д.)». На мой взгляд, это просто словеса. Пусть автор предложит конкретные методики, а не просто переписывает чужие паттерны в свою статью.
Уменьшить вредные переключения/Регулярно восстанавливаться/Перестать думать одну и ту же мысль… Да, это все хорошие рекомендации. Вообще, вся статья очень хорошая рекомендация. Вот только автор пишет, что надо сделать и совсем молчит о том КАК это сделать.
Пустой доклад ни о чем, на американский манер.
Хорошая статья!
Меня интересует вопрос как быть если нужно что-то срочно сделать, а идей как решить задачу нет. То что делать в таком случае ? )
(18) BuhBuhov, пишет же.
1. Пользоваться записями — разгрузка памяти.
2. Не делать одновременно несколько дел — не переключатся между делами.
3. Пользоваться помидорами — не переключаться и одновременно восстанавливаться (перерывы).
Был на докладе вживую.
В тексте также здорово!
В общем случае образ жизни, при котором дела не умещаются в памяти, явно не полезен для здоровья )
(18) BuhBuhov, 12 практических совета из раздела Заключения вам мало?
(18) BuhBuhov, конкретики действительно мало, НО! Это вводная/теоретическая статья, конкретика есть в записи вебинара, например:http://blog.micromiles.co/webinar-toc
Картинки забавные.
Отличная статья!
Большое спасибо!
(20) dmt, (23) Dementor, Я всего лишь высказал свое мнение. Совет, записывать на бумажке все, чтобы не забыть, это не совет. Любой нормальный человек, который занимается большим количеством дел, имеет блокнот или ежедневник. И повторюсь, я не критикую статью. Она достаточно интересная как теоретический материал, но вот с моей точки зрения в ней нет практической реализации, что делает ее пустой.
Как и везде во всём — непрактичная теория бесплатно, практика за деньги. И очень много вокруг нас «теорий» со скрытой мотивацией потратиться на действия либо запомнить автора, место, секту или бренд. Спасибо автору, что обошелся без маркетинговых «закладок» )
(28) BuhBuhov, я понял (0) немного по другому.
Писать на бумаге, не для того что бы не забыть, а для того что бы не вспоминать.
В один момент помнить только об одной задаче. Зато решать ее на 100%
Позновательно!
Можно без таких фраз обходится. Думайте, что Вы говорите.
(32) dreamcreal, Именно так и говорим ) Прям оскорбили Вас этими словами
Читать интересно, но по сути — в подобной литературе хорошо изложена проблема, а как ее решить — нет
А даже если можно решить — где такое начальство понимающее найти?)) обычно подгоняют только
Самая основная мысль статьи (для меня) в картинке с динозавром. По дней так и написано «В этой великой философской мысли как раз и заключается секрет эффективности.»
Много времени тратится на то, что клиенту как бы не надо. На «защиты от дурака», на всевозможные проверки и пр. По сути оно надо, но на проектах с приличным бюджетом, т.е. когда можно заниматься одной темой не отвлекаясь. Получается приличный дорогой продукт. Если проектов много, и бюджеты небольшие, то рептилия права. Быстро получится через JOBу, но клиент будет видеть результат, чувствовать что процесс идет, тестировать функционал вместо вас.
Отлично! Огонь!
Интересно, по какому принципу статьи попадают в «выбор экспертов».
Думал, что Максим новую статью на инфостарт, а нет, всё та же.
Много времени прошло с момента появления статьи, уже книга вышла «Джедайские техники».
И даже прочитавшие это спрашивают, нафига нужны спринты в аджайле? Или не спрашивают? )))
Очень полезная статья! Как для руководителей, так и для исполнителей! Особенно — для руководителей!
Спасибо вам большое, очень интересная информация, что-то похожее на книжку 45 татуировок менеджера, вроде как-то так называется!
Мне хоть и 20 лет, но я уже участвовал во многих хороших проектах и в вашей статье увидел то описание событий, что иногда окружало меня =)
Спасибо , какая точная копия 🙂 с реальной жизни…
Дополнение: Обучение ишака богословию. (Как вариант особо запущенный — беседа с ишаком богословии)
Кто-нибудь сталкивался с тем, что вместо четкого указания на ошибку и того как должно быть правильно Вам предлагают ознакомиться с приказом № N M-ского министерства.
Вполне хорошая годная статья.
Хорошо что автор упор делает на когнитивный ресурс, многие ставят во главу угла именно время, а как мы все знаем «высадить» могут и за 2 часа, что потом делать с этим временем, когда думать уже никак.
Про архитектуру мышления тоже верно, конечно упрощено, но если почитать специализированную литературу, то можно понять причины и следствия такой архитектуры и настоятельно рекомендую это сделать в вполне практических соображениях.
Автор молодец, творит просвещения направо и налево !
С одной стороны интересно почитать, с другой стороны — это всё больше констатация, чем решение. С интересом читаю описание проблемы, думаю — ну всё, сейчас уж этот автор в такой интересной манере каааак опишет решение. И тут вдруг — конец! Ну… ок. Но о том, что у нас проблемы, мы и сами знаем, раз читаем это)
Опять же — в теории всё красиво. А в жизни — да, действительно, так и есть, я когда не понимаю, что от меня хотят, увеличиваю оценку, чем больше не понимаю, тем больше увеличиваю. Но давайте посмотрим на ситуацию — есть я, есть заказчик, есть что-то, что он хочет сделать. И там хороший такой кусок работы. При этом, понятное дело, описано в самых общих чертах. Понимания, что надо сделать, у меня 30%. И варианты у меня такие — выставить счёт заказчику за то, что я буду «разбираться со сложной задачей». Тогда заказчик меня просто шлёт, потому что ему ещё ничего не дали по существу, а ему уже надо заплатить (и немало, мы же хотим сразу хорошо разобраться!). Второй вариант — разбираться за свой счёт. Потратил я день-два-неделю, разобрался, оказывается, ничего сложного, можно за Х сделать. А заказчик мне такой — Х??? Да ну, дорого, всего хорошего. Упс! Вроде на инфостарте писали, что надо разобраться, а вот как получилось нехорошо — бесплатно разбирался! И третий вариант — прикинуть на глаз, умножить на 2-5-10 и дать оценку. Согласится — хорошо, не согласится — ну и хрен с ним, значит так хотел. И давайте теперь вместе подумаем, какой из вариантов меня жизнь заставляет выбрать?
(33) Мам нельзя оскорблять. Ничьих.
Система 1 правое полушарие, система 2 левое. Между ними мозжечок, отвечающий только за передачу команд мясу.
Любая мысль проходит от одного полушария к другому через весь организм. Поэтому физические нагрузки так полезны для умственной деятельности.
У паралитиков соответственно такая связь отсутствует. Они отдельно думают, и отдельно — действуют по системе наивного экстренного реагирования.
Ёмкость бачка с мыслетопливом можно менять.
Внешние носители информации доступны всем желающим.
Очень интересные выводы по поводу завершения дел, особенно в открытой системе.
(44) жизнь заставляет нас самим становиться заказчиками, но пока безрезультатно…