Esempio n. 1
0
         if ($option != '' && $value != '') {
             // ФОрмируем строки для добавления в запрос;
             $options .= "`" . $option . "`" . ($key < count($options_line_temp) - 2 ? ", " : "");
             $values .= "'" . $value . "'" . ($key < count($options_line_temp) - 2 ? ", " : "");
         }
     }
     // Если были данные по кредиту, то нам надо сохранить их в базу;
     write_log($options, 'take_tech_queries_credit');
     write_log($values, 'take_tech_queries_credit');
     if ($options != '' && $values != '') {
         $sql = "INSERT INTO `take_credit` (`take_id`, `client_code`, " . $options . ") VALUES('" . $take_id . "', '" . $client_code . "', " . $values . ");";
     }
     write_log($sql, 'take_tech_queries');
     $db_rs->query($sql);
     // Пишем в историю заказа информацию об оплате через кредит;
     dvj_write($_POST['numm'], 'Заказ был оплачен в кредит');
 }
 // Перед тем как изменить заказу статус, нам надо понять был ли ремонт. Если у нас был 11-й статус - этоь говорит о том, что
 // заказ ыбл без ремонта, а соответственно у нас меняются данные которые нам надо внести в базу;
 // Определим текущий статус заказа;
 $sql = "SELECT `status` FROM `remont` WHERE `numm` = '" . $_POST['numm'] . "';";
 $current_status = $db->one($sql);
 // Если у нас была выдача без ремонта;
 if ($current_status == '11' || $current_status == '10') {
     // Если у нас была выдача без ремонта, то нам надо оставить соответствеующий маркер; ok_rem = 0;
     $sql = "UPDATE `remont` SET `status` = '12', `block` = '0', `ok_rem` = 0, `office` = '" . $_SESSION['office'] . "', `date2` = NOW(), `saved` = NOW(), `saveds` = NOW(), `who` = '" . $_SESSION['user_login'] . "', `dt_block` = NOW(), `place_h` = '', `garant_ex` = '1', `ignore_w` = '0', `no_list_parts` = '0', `on_credit` = '0', `is_pay_diag` = '0', `date3` = '" . $warranty_days . "' WHERE `numm` = '" . $_POST['numm'] . "';";
 } else {
     // Теперь обновляем другую инфрмацию о заказе; ok_rem = 1;
     $sql = "UPDATE `remont` SET `status` = '12', `block` = '0', `ok_rem` = 1, `office` = '" . $_SESSION['office'] . "', `date2` = NOW(), `saved` = NOW(), `saveds` = NOW(), `who` = '" . $_SESSION['user_login'] . "', `dt_block` = NOW(), `place_h` = '', `garant_ex` = '1', `ignore_w` = '0', `no_list_parts` = '0', `on_credit` = '0', `is_pay_diag` = '0', `date3` = '" . $warranty_days . "' WHERE `numm` = '" . $_POST['numm'] . "';";
 }
 write_log($sql, 'take_tech_queries');
Esempio n. 2
0
                    case 'db_rs':
                        $db_rs->query($sql);
                        $link_var = mysqli_insert_id($db_rs->link_id);
                        break;
                }
            }
        }
        // По завершению
        dvj_write($numm, 'Заказ был выдан. Детали списаны.');
        dvj_write($numm, 'Номер чека оплаты за заказ: ' . $take_check);
        dvj_write($numm, 'Смена статуса на *Выдано клиенту*12.');
        dvj_write($numm, 'Создание правила на выдачу /');
        $sql = "UPDATE `couriers_later_take` SET `status` = 0 WHERE `id` = '" . $later_take_id . "';";
        write_log($sql, 'later_tech_query');
        $db_rs->query($sql);
        echo 'OK';
    }
    /* Неудачная выдача */
    if (isset($_POST['fuck_take']) && $_POST['fuck_take'] != '') {
        $fuck_take = $_POST['fuck_take'];
        $sql = "SELECT `numm` FROM `couriers_later_take` WHERE `id` = '" . $fuck_take . "';";
        write_log($sql, 'fuck_take_query');
        $numm = $db_rs->one($sql);
        dvj_write($numm, 'Неудачное вручение заказу клиенту!');
        $systems->set_new_status($numm, 37);
        $sql = "UPDATE `couriers_later_take` SET `status` = 0 WHERE `id` = '" . $fuck_take . "';";
        write_log($sql, 'fuck_take_query');
        $db_rs->query($sql);
        echo 'OK';
    }
}
Esempio n. 3
0
 * Date: 30.05.2016
 * Time: 15:02
 */
require_once $_SERVER['DOCUMENT_ROOT'] . '/systems/connect.php';
// Номер заказа;
$numm = $_POST['numm'];
$html = '<div class="sub_menu_title">Диагностика и дефекты</div>';
$html .= $elements->button_icon('Назад', 'button_navigation_back', 'sub_menu_back_button', '', 'margin-top: 12px;margin-bottom: 5px;') . '<br>';
// Подгружаем в текстовое поле текст диагностики из заказа и прочими мелочами;
$sql = "SELECT `diag`, `summ_det`, `a1`, `inj` FROM `remont` WHERE `numm` = '" . $numm . "';";
$diag_text = $db->row($sql);
/* Если у заказа нет инженера, то нам надо его установить */
if ($diag_text['inj'] == '') {
    $sql = "UPDATE `remont` SET `inj` = '" . $_SESSION['user_login'] . "' WHERE `numm` = '" . $numm . "';";
    $db->query($sql);
    dvj_write($numm, 'Был автоматом назначен инженер. (' . $_SESSION['user_login'] . ')');
}
/* Как только мы открыли диагностику, заказ принимает соотвуствующий статус */
if ($systems->get_current_status($numm) != 2) {
    $systems->set_new_status($numm, 2);
}
/* Показываем неисправность */
$html .= $elements->small_title('Неисправность указанная при приеме техники');
$html .= $elements->memo('', 10, 10, 'break_text', '', $diag_text['a1'], 'disabled', 'width: 38.6em;height: 3.3em;');
/* Ввод текста диагностики */
//$html .= $elements->small_title('Результат диагностики');
//$html .= $elements->memo('', 10, 10, 'diag_text', '', $diag_text['diag'], '', 'width: 38.6em;height: 3.3em;');
$html .= '<br>';
/* Ввод набора необходимых выполняемых работ */
$html .= $elements->small_title('Добавление дефектов');
// Выбор из списка;
Esempio n. 4
0
                    $sales = $part_data['sale'] - 1;
                    $reserv = $part_data['reserv'] + 1;
                    $sql = "UPDATE `goods_base` SET `sale` = '" . $sales . "', `reserv` = '" . $reserv . "' WHERE `index_i` = '" . $part_id . "';";
                    write_log($sql, 'numm_return');
                    $db->query($sql);
                    // Теперь пишем в главную таблицу с остатками;
                    $sql = "SELECT `kol` FROM `detals_m` WHERE `numm_rem` = '" . $numm . "';";
                    $part_count = $db->one($sql);
                    write_log($sql, 'numm_return');
                    if ($_SESSION['office'] == 'marksa') {
                        $sklad = 'marksasklad';
                    } else {
                        $sklad = $_SESSION['office'];
                    }
                }
                $sql = "DELETE FROM `goods_outk` WHERE `zakaz` = '" . $numm . "';";
                write_log($sql, 'numm_return');
                $db->query($sql);
            }
        }
        // Устанавливаем новый статус;
        $sql = "UPDATE `remont` SET `status` = '" . $new_status . "' WHERE `numm` = '" . $numm . "';";
        write_log($sql, 'numm_return');
        $db->query($sql);
        // Пишем в историю заказа;
        dvj_write($numm, '------- Административная корректировка заказа -------');
        dvj_write($numm, 'Установлен новый статус: ' . $systems->get_status_name($new_status));
        dvj_write($numm, 'Административный возврат заказа завершен.');
        echo 'OK';
    }
}
Esempio n. 5
0
 public function set_new_status($numm, $status_id)
 {
     global $db;
     $sql = "UPDATE `remont` SET `status` = '" . $status_id . "', `saved` = NOW() WHERE `numm` = '" . $numm . "';";
     $db->query($sql);
     $new_dvj_str = 'Смена статуса на *' . $this->get_status_name($status_id) . '*' . $status_id . ".";
     write_log($new_dvj_str, 'class_status_change');
     dvj_write($numm, $new_dvj_str);
     return 'OK';
 }
Esempio n. 6
0
function dealers_table($all_orders, $dealer)
{
    global $db, $db_rs, $elements, $systems;
    // Заголовок;
    $html = '<div style="display: inline-block; margin-right: 10px; vertical-align: top;">';
    $html .= '<p class="itog_title">' . $dealer . '</p>';
    // Готовим временные массивы;
    $time_1_status_3 = time() - 3600;
    $time_2_status_3 = time() - 7200;
    $time_1_array = array();
    $time_2_array = array();
    $time_3_array = array();
    $special_table = array();
    foreach ($all_orders as $all_orders_array) {
        $order_numm = $all_orders_array['numm'];
        $order_status = $all_orders_array['status'];
        $order_datetime = $all_orders_array['saved'];
        $order_summ = $all_orders_array['summa'];
        /*
         * Здесь у нас блок временной корректтировки заказов;
         * */
        switch ($order_status) {
            /*
             * Новая концепция сдвигов по ТЗ от Данила;
             * */
            case '8':
            case '41':
                $order_datetime = date('d.m.Y 10:00:00', strtotime("+1 day", strtotime(date('d.m.Y', strtotime($order_datetime)))));
                break;
            case '9':
            case '26':
                $order_datetime = date('d.m.Y 11:00:00', strtotime("+1 day", strtotime(date('d.m.Y', strtotime($order_datetime)))));
                break;
            case '52':
            case '55':
                $order_datetime = date('d.m.Y 14:00:00', strtotime("+1 day", strtotime(date('d.m.Y', strtotime($order_datetime)))));
                break;
            case '25':
                $order_datetime = date('d.m.Y 10:00:00', strtotime("+5 day", strtotime(date('d.m.Y', strtotime($order_datetime)))));
                break;
            case '46':
                $order_datetime = date('d.m.Y 10:00:00', strtotime("+10 day", strtotime(date('d.m.Y', strtotime($order_datetime)))));
                break;
            case '53':
                $order_datetime = date('d.m.Y 14:00:00', strtotime("+5 day", strtotime(date('d.m.Y', strtotime($order_datetime)))));
                break;
            case '56':
                $order_datetime = date('d.m.Y 15:00:00', strtotime("+5 day", strtotime(date('d.m.Y', strtotime($order_datetime)))));
                break;
            case '27':
                $order_datetime = date('d.m.Y 12:00:00', strtotime("+1 day", strtotime(date('d.m.Y', strtotime($order_datetime)))));
                // Подсчет количества раз смены статуса;
                $current_dvj = $all_orders_array['dvj'];
                $status_count = only_dvj_parse($current_dvj, array($order_status));
                if ($status_count >= 3 && round_math($status_count, 3) == 1) {
                    // Меняем статус на более далекий;
                    $new_status = '28';
                    // Надо проверить если заказ в 12-м статусе (внезапно) ему не нужно менять статус;
                    $sql = "SELECT `status` FROM `remont` WHERE `numm` = '" . $order_numm . "';";
                    $exist_status = $db->one($sql);
                    if ($exist_status != '12') {
                        // Получаем текст будущего статуса;
                        $sql = "SELECT `name` FROM `status` WHERE `id` = '" . $new_status . "';";
                        $status_name = $db_rs->one($sql);
                        dvj_write($order_numm, 'Автосмена статуса на *' . $status_name . '*' . $new_status . '.');
                        $sql = "UPDATE `remont` SET `status` = '" . $new_status . "' WHERE `numm` = '" . $order_numm . "';";
                        $db->query($sql);
                    }
                }
                break;
            case '28':
                $order_datetime = date('d.m.Y 12:00:00', strtotime("+10 day", strtotime(date('d.m.Y', strtotime($order_datetime)))));
                // Подсчет количества раз смены статуса;
                $current_dvj = $all_orders_array['dvj'];
                $status_count = only_dvj_parse($current_dvj, array($order_status));
                if ($status_count >= 4 && round_math($status_count, 4) == 1) {
                    // Меняем статус на более далекий;
                    $new_status = '58';
                    // Надо проверить если заказ в 12-м статусе (внезапно) ему не нужно менять статус;
                    $sql = "SELECT `status` FROM `remont` WHERE `numm` = '" . $order_numm . "';";
                    $exist_status = $db->one($sql);
                    if ($exist_status != '12') {
                        // Получаем текст будущего статуса;
                        $sql = "SELECT `name` FROM `status` WHERE `id` = '" . $new_status . "';";
                        $status_name = $db_rs->one($sql);
                        dvj_write($order_numm, 'Автосмена статуса на *' . $status_name . '*' . $new_status . '.');
                        $sql = "UPDATE `remont` SET `status` = '" . $new_status . "' WHERE `numm` = '" . $order_numm . "';";
                        $db->query($sql);
                    }
                }
                break;
            case '42':
                $order_datetime = date('d.m.Y 10:00:00', strtotime("+1 day", strtotime(date('d.m.Y', strtotime($order_datetime)))));
                // Подсчет количества раз смены статуса;
                $current_dvj = $all_orders_array['dvj'];
                $status_count = only_dvj_parse($current_dvj, array($order_status));
                if ($status_count >= 3 && round_math($status_count, 3) == 1) {
                    // Меняем статус на более далекий;
                    $new_status = '43';
                    // Надо проверить если заказ в 12-м статусе (внезапно) ему не нужно менять статус;
                    $sql = "SELECT `status` FROM `remont` WHERE `numm` = '" . $order_numm . "';";
                    $exist_status = $db->one($sql);
                    if ($exist_status != '12') {
                        // Получаем текст будущего статуса;
                        $sql = "SELECT `name` FROM `status` WHERE `id` = '" . $new_status . "';";
                        $status_name = $db_rs->one($sql);
                        dvj_write($order_numm, 'Автосмена статуса на *' . $status_name . '*' . $new_status . '.');
                        $sql = "UPDATE `remont` SET `status` = '" . $new_status . "' WHERE `numm` = '" . $order_numm . "';";
                        $db->query($sql);
                    }
                }
                break;
            case '43':
                $order_datetime = date('d.m.Y 10:00:00', strtotime("+10 day", strtotime(date('d.m.Y', strtotime($order_datetime)))));
                // Подсчет количества раз смены статуса;
                $current_dvj = $all_orders_array['dvj'];
                $status_count = only_dvj_parse($current_dvj, array($order_status));
                if ($status_count >= 4 && round_math($status_count, 4) == 1) {
                    // Меняем статус на более далекий;
                    $new_status = '62';
                    // Надо проверить если заказ в 12-м статусе (внезапно) ему не нужно менять статус;
                    $sql = "SELECT `status` FROM `remont` WHERE `numm` = '" . $order_numm . "';";
                    $exist_status = $db->one($sql);
                    if ($exist_status != '12') {
                        // Получаем текст будущего статуса;
                        $sql = "SELECT `name` FROM `status` WHERE `id` = '" . $new_status . "';";
                        $status_name = $db_rs->one($sql);
                        dvj_write($order_numm, 'Автосмена статуса на *' . $status_name . '*' . $new_status . '.');
                        $sql = "UPDATE `remont` SET `status` = '" . $new_status . "' WHERE `numm` = '" . $order_numm . "';";
                        $db->query($sql);
                    }
                }
                break;
            case '47':
                $order_datetime = date('d.m.Y 11:00:00', strtotime("+1 day", strtotime(date('d.m.Y', strtotime($order_datetime)))));
                // Подсчет количества раз смены статуса;
                $current_dvj = $all_orders_array['dvj'];
                $status_count = only_dvj_parse($current_dvj, array($order_status));
                if ($status_count >= 3 && round_math($status_count, 3) == 1) {
                    // Меняем статус на более далекий;
                    $new_status = '48';
                    // Надо проверить если заказ в 12-м статусе (внезапно) ему не нужно менять статус;
                    $sql = "SELECT `status` FROM `remont` WHERE `numm` = '" . $order_numm . "';";
                    $exist_status = $db->one($sql);
                    if ($exist_status != '12') {
                        // Получаем текст будущего статуса;
                        $sql = "SELECT `name` FROM `status` WHERE `id` = '" . $new_status . "';";
                        $status_name = $db_rs->one($sql);
                        dvj_write($order_numm, 'Автосмена статуса на *' . $status_name . '*' . $new_status . '.');
                        $sql = "UPDATE `remont` SET `status` = '" . $new_status . "' WHERE `numm` = '" . $order_numm . "';";
                        $db->query($sql);
                    }
                }
                break;
            case '48':
            case '49':
                $order_datetime = date('d.m.Y 14:00:00', strtotime("+10 day", strtotime(date('d.m.Y', strtotime($order_datetime)))));
                // Подсчет количества раз смены статуса;
                $current_dvj = $all_orders_array['dvj'];
                $status_count = only_dvj_parse($current_dvj, array($order_status));
                if ($status_count >= 4 && round_math($status_count, 4) == 1) {
                    // Меняем статус на более далекий;
                    if ($order_status == '48') {
                        $new_status = '59';
                    }
                    if ($order_status == '49') {
                        $new_status = '61';
                    }
                    // Надо проверить если заказ в 12-м статусе (внезапно) ему не нужно менять статус;
                    $sql = "SELECT `status` FROM `remont` WHERE `numm` = '" . $order_numm . "';";
                    $exist_status = $db->one($sql);
                    if ($exist_status != '12') {
                        // Получаем текст будущего статуса;
                        $sql = "SELECT `name` FROM `status` WHERE `id` = '" . $new_status . "';";
                        $status_name = $db_rs->one($sql);
                        dvj_write($order_numm, 'Автосмена статуса на *' . $status_name . '*' . $new_status . '.');
                        $sql = "UPDATE `remont` SET `status` = '" . $new_status . "' WHERE `numm` = '" . $order_numm . "';";
                        $db->query($sql);
                    }
                }
                break;
            case '54':
            case '57':
                $order_datetime = date('d.m.Y 15:00:00', strtotime("+10 day", strtotime(date('d.m.Y', strtotime($order_datetime)))));
                // Подсчет количества раз смены статуса;
                $current_dvj = $all_orders_array['dvj'];
                $status_count = only_dvj_parse($current_dvj, array($order_status));
                if ($status_count >= 4 && round_math($status_count, 4) == 1) {
                    // Меняем статус на более далекий;
                    if ($order_status == '54') {
                        $new_status = '60';
                    }
                    if ($order_status == '57') {
                        $new_status = '62';
                    }
                    // Надо проверить если заказ в 12-м статусе (внезапно) ему не нужно менять статус;
                    $sql = "SELECT `status` FROM `remont` WHERE `numm` = '" . $order_numm . "';";
                    $exist_status = $db->one($sql);
                    if ($exist_status != '12') {
                        // Получаем текст будущего статуса;
                        $sql = "SELECT `name` FROM `status` WHERE `id` = '" . $new_status . "';";
                        $status_name = $db_rs->one($sql);
                        dvj_write($order_numm, 'Автосмена статуса на *' . $status_name . '*' . $new_status . '.');
                        $sql = "UPDATE `remont` SET `status` = '" . $new_status . "' WHERE `numm` = '" . $order_numm . "';";
                        $db->query($sql);
                    }
                }
                break;
                /* Остатки старого сдвига по времени - либо не описанные статусы */
                /*
                 * Сдвиг отображения на 1 день;
                 * */
            /* Остатки старого сдвига по времени - либо не описанные статусы */
            /*
             * Сдвиг отображения на 1 день;
             * */
            case '45':
            case '50':
                $order_datetime = date('d.m.Y 12:00:00', strtotime("+1 day", strtotime(date('d.m.Y', strtotime($order_datetime)))));
                // Костыльный алгоримт смещения статуса автоматически, если не мы имели статус 27.42.45 - 7 и более раз;
                $current_dvj = $all_orders_array['dvj'];
                $status_count = only_dvj_parse($current_dvj, array($order_status));
                if ($status_count >= 7 && round_math($status_count, 7) == 1) {
                    // Меняем статус на более далекий;
                    $new_status = '';
                    if ($order_status == '45') {
                        $new_status = '46';
                    }
                    // Надо проверить если заказ в 12-м статусе (внезапно) ему не нужно менять статус;
                    $sql = "SELECT `status` FROM `remont` WHERE `numm` = '" . $order_numm . "';";
                    $exist_status = $db->one($sql);
                    if ($exist_status != '12') {
                        // Получаем текст будущего статуса;
                        $sql = "SELECT `name` FROM `status` WHERE `id` = '" . $new_status . "';";
                        $status_name = $db_rs->one($sql);
                        dvj_write($order_numm, 'Автосмена статуса на *' . $status_name . '*' . $new_status . '.');
                        $sql = "UPDATE `remont` SET `status` = '" . $new_status . "' WHERE `numm` = '" . $order_numm . "';";
                        $db->query($sql);
                    }
                }
                break;
                /*
                 * Сдвиг на 7 дней;
                 * */
            /*
             * Сдвиг на 7 дней;
             * */
            case '51':
                $order_datetime = date('d.m.Y 12:00:00', strtotime("+7 day", strtotime(date('d.m.Y', strtotime($order_datetime)))));
                // Костыльный алгоримт смещения статуса автоматически, если не мы имели статус 27.42.45 - 7 и более раз;
                $current_dvj = $all_orders_array['dvj'];
                $status_count = only_dvj_parse($current_dvj, array($order_status));
                // Если мы больше 4-х раз переносили на неделю, значит нам пора перемещать заказ в архив;
                // Проверяем, прошли ли у нас равные отрезки времени;
                if ($status_count >= 4 && round_math($status_count, 4) == 1) {
                    // Меняем статус на более далекий;
                    $new_status = 70;
                    // Надо проверить если заказ в 12-м статусе (внезапно) ему не нужно менять статус;
                    $sql = "SELECT `status` FROM `remont` WHERE `numm` = '" . $order_numm . "';";
                    $exist_status = $db->one($sql);
                    if ($exist_status != '12') {
                        // Получаем текст будущего статуса;
                        $sql = "SELECT `name` FROM `status` WHERE `id` = '" . $new_status . "';";
                        $status_name = $db_rs->one($sql);
                        dvj_write($order_numm, 'Автосмена статуса на *' . $status_name . '*' . $new_status . '.');
                        $sql = "UPDATE `remont` SET `status` = '" . $new_status . "' WHERE `numm` = '" . $order_numm . "';";
                        $db->query($sql);
                    }
                }
                break;
        }
        // Что будем добавлять в массивы;
        // Проверяем суммы;
        $numm_item = '<div style="display: inline-block;' . ($order_summ >= 5000 ? 'font-weight: bold;' : '') . '" class="numm_info">' . $order_numm . '</div>';
        // Так как у нас есть отдельная таблица, мы в отдельный массив будем собирать данные;
        switch ($order_status) {
            // Эти статусы отправляются в отдельную таблицу для аналитики пиздеца;
            case '13':
            case '50':
            case '51':
            case '14':
            case '15':
            case '20':
            case '24':
            case '17':
                $special_table[] = $order_numm;
                break;
            default:
                /*
                 * Обработка временных разделений на 3 блока приоритета;
                 * */
                if (strtotime($order_datetime) >= $time_1_status_3) {
                    if (strtotime($order_datetime) <= strtotime(date('d.m.Y H:i:s'))) {
                        $time_1_array[] = $numm_item;
                        //'('.$order_status.') - '. $order_datetime;
                    }
                }
                if (strtotime($order_datetime) >= $time_2_status_3 && strtotime($order_datetime) <= $time_1_status_3) {
                    if (strtotime($order_datetime) <= strtotime(date('d.m.Y H:i:s'))) {
                        $time_2_array[] = $numm_item;
                        // '(' . $order_status . ') - ' . $order_datetime;
                    }
                }
                if (strtotime($order_datetime) <= $time_2_status_3) {
                    if (strtotime($order_datetime) <= strtotime(date('d.m.Y H:i:s'))) {
                        $time_3_array[] = $numm_item;
                        // '(' . $order_status . ') - ' . $order_datetime;
                        // Проблемные документы добавляем в черный лист;
                        $systems->black_journal(basename($_SERVER['SCRIPT_NAME'], ".php"), $order_numm);
                    }
                }
                break;
        }
    }
    /*
     * Собрав данные, выводим их исходя из роли пользователя;
     * */
    $html .= call_center_table($time_1_array, $time_2_array, $time_3_array);
    /*
     * Так же некоторым пользователям надо выводить дополнительную таблицу;
     * */
    if ($_SESSION['department_id'] == 2 || $_SESSION['department_id'] == 12 || $_SESSION['user_login'] == 'N') {
        $html .= '<br><br>';
        $html .= $elements->small_title('Таблица проблемных заказов (' . count($special_table) . ')');
        $html .= call_option_table($special_table);
    }
    $html .= '</div>';
    return $html;
}
Esempio n. 7
0
     write_log($sql, 'take_tech_queries');
     write_log($sql, 'take_tech_queries', '1');
     if ($take_type == 'simple_take') {
         $db->query($sql);
     } else {
         $late_take_query_array[]['db'] = $sql;
     }
     if ($take_type == 'courier_take') {
         // Записывает отложенные запросы;
         $save_array = json_encode($late_take_query_array);
         write_log(print_r($save_array, true), 'courier_later_take');
         $sql = "INSERT INTO `couriers_later_take` (`numm`, `user_id`, `query_json`, `take_date`, `status`) VALUES('" . $numm . "', '" . $_SESSION['user_id'] . "', '" . urlencode($save_array) . "', NOW(), '1');";
         $db_rs->query($sql);
         // Отмечаем у заказа что у нас отложенная выдача и меняем ему статус;
         $systems->set_new_status($numm, 34);
         dvj_write($numm, 'Отложенная выдача заказа. Доставка курьером.');
         $sql = "UPDATE `remont` SET `date3` = '" . $warranty_days . "', `office` = '" . $_SESSION['office'] . "' WHERE `numm` = '" . $numm . "';";
         $db->query($sql);
     }
     if (isset($print_rko_id) && $discount == '1') {
         echo $print_rko_id;
     } else {
         echo 'OK';
     }
 }
 // Получаем стоимсоть ремонтных работ;
 if (isset($_POST['get_price']) && $_POST['get_price'] != '') {
     // Массив который мы убдем возвращать;
     $result_array = array();
     // Отвечаем не только ценой но и тем, был ли заказ принят по гарантии;
     $predy_numm = $systems->numm_predy($_POST['get_price']);
Esempio n. 8
0
    $db->query($sql);
    dvj_write($numm, 'Главный инженер подтвердил смену инженера у заказа: ' . get_user_full_name('', $want_kompl) . '->' . get_user_full_name('', $want_kolvs));
    echo 'OK';
}
/* Когда главный инженер принудительно меняет инежнера */
if (isset($_POST['full_inj_change']) && $_POST['full_inj_change'] != '') {
    $numm = $_POST['full_inj_change'];
    $new_inj = $_POST['new_inj'];
    // Получаем логин инженера;
    $new_inj_login = get_user_login($new_inj);
    $new_inj_full_name = get_user_full_name($new_inj);
    $current_inj = $systems->get_inj_user_id_in_numm($numm);
    $current_inj_full_name = get_user_full_name($current_inj);
    $sql = "UPDATE `remont` SET `inj` = '" . $new_inj_login . "', `kolvs` = '', `kompl` = '' WHERE `numm` = '" . $numm . "';";
    $db->query($sql);
    dvj_write($numm, 'Главный инженер сделал принудительную смену инженера. ' . $current_inj_full_name . ' -> ' . $new_inj_full_name);
    echo 'OK';
}
/* Пагинация */
if (isset($_POST['get_pagination_data']) && $_POST['get_pagination_data'] != '') {
    // Маркер сессии;
    $marker = $_POST['marker'];
    // Полный запрос;
    $sql = $_SESSION['pagination_' . $marker];
    // Номер страницы;
    $page_num = $_POST['page_num'];
    // Старнтовый документв  пагинации;
    if ($page_num == 'Все') {
        $limit_str = " ";
    } else {
        $page_start = $page_num * $max_docs_count_on_page - $max_docs_count_on_page;
Esempio n. 9
0
    $status_text = $db_rs->one($sql);
    // Обновляем статус заказа;
    $sql = "UPDATE `remont` SET `status` = '" . $new_status . "' WHERE `numm` = '" . $numm . "';";
    write_log($sql, 'db_otk');
    $db->query($sql);
    // И пишем в DVJ и результатах прохождени ОКТ;
    if ($otk_ok == 1) {
        dvj_write($numm, 'Аппарат прошёл ОТК');
        echo 'OK';
    } else {
        dvj_write($numm, 'Аппарат НЕ прошёл ОТК');
        echo 'NO';
    }
    //$new_dvj_str = 'Смена статуса через ОТК на *' . $status_text . '*' . $_POST['status'].".";
    $new_dvj_str = 'Смена статуса на *' . $status_text . '*' . $new_status . ".";
    dvj_write($numm, $new_dvj_str);
}
/* Проверка номера зкакза на валидность */
if (isset($_POST['check_numm_valid']) && $_POST['check_numm_valid'] != '') {
    $sql = "SELECT `numm` FROM `remont` WHERE `numm` = '" . $_POST['check_numm_valid'] . "';";
    $exist_numm = $db->one($sql);
    if ($exist_numm == '') {
        echo 'FAIL';
    } else {
        echo 'OK';
    }
}
// Получим данные дефекта;
if (isset($_POST['get_defect_data']) && $_POST['get_defect_data']) {
    $sql = "SELECT `defect`, `price`, `repair_time` FROM `defects` WHERE `id` = '" . $_POST['get_defect_data'] . "';";
    write_log($sql, 'add_defect_from_list');
Esempio n. 10
0
}
/**
Блок для тестов
*/
/*
$print_type = 'numm';
$doc_numm = $_POST['numm'];
$doc_numm = 151104;
*/
// Надо обязхательно зафиксировать факт печать такого таклона;
if ($print_type == 'numm') {
    // Если у нас заказ, то нам надо забрать данные для заказа;
    $sql = "UPDATE `remont` SET `printed` = (`printed` + 1) WHERE `numm` = '" . $doc_numm . "';";
    $db->query($sql);
    // Так же в истории заказа зафиксируем факт печать талона;
    dvj_write($doc_numm, 'Печать талона на прием заказа!');
    /* Получаем данные по заказу */
    $sql = "SELECT * FROM `remont` WHERE `numm` = '" . $doc_numm . "';";
    $numm_data = $db->row($sql);
    /* Получаем код клоиента для проверки статуса заказа на сайте */
    $sql = "SELECT CONCAT(`prefix_ap`, `code`) as `client_code` FROM `kontr` WHERE `code` = '" . $numm_data['kod'] . "'";
    $client_code = $db->one($sql);
    /* Согласился ли клиент на обработку его данных */
    $sql = "SELECT `can_send_sms` FROM `handlings` WHERE `numm` = '" . $doc_numm . "';";
    $can_send_sms = $db_rs->one($sql);
}
if ($print_type == 'handling') {
    // Если у нас печатаетс яобращние, то и поля нам нужны в ограниченном варианте;
    $sql = "SELECT `id`, `client_fam`, `client_name`, `client_otch`, `client_phone`, `client_tech_type`, `client_tech_producer`, `client_tech_model`, `client_tech_sn`, `can_send_sms` FROM `handlings` WHERE `id` = '" . $doc_numm . "'";
    $temp_handling_data = $db_rs->row($sql);
    // Нам надо получить код клиента для печати
Esempio n. 11
0
<?php

/**
 * Created by PhpStorm.
 * User: admin64
 * Date: 23.01.2016
 * Time: 13:30
 */
// Подключение к базе данных;
require_once $_SERVER['DOCUMENT_ROOT'] . '/systems/connect.php';
// Запись в dvjж
if (isset($_POST['write_dvj']) && $_POST['write_dvj'] != '') {
    write_log('1', 'dvj_write');
    write_log($_POST['write_dvj'], 'dvj_write');
    write_log($_POST['text'], 'dvj_write');
    dvj_write($_POST['write_dvj'], $_POST['text']);
    write_log('2', 'dvj_write');
    echo 'OK';
    die;
}
// Функция сохранения аватар пользователя;
if (isset($_POST['save_user_avatar']) && $_POST['save_user_avatar'] != '') {
    // Генерируем уникальный номер аватарам;
    $avatar_id = rand(100000, 999999);
    // Поулчив уникальный номер аватара добавляем данные о нем в базe;
    // Проверяем если ли у польозвателя уже настройки;
    $sql = "SELECT `id` FROM `users_settings` WHERE `user` = '" . $_SESSION['user_login'] . "';";
    $exist_settings = $db_rs->one($sql);
    if ($exist_settings == '') {
        // Если настроек нет - добавляем их;
        $sql = "INSERT INTO `users_settings` (`user`, `avatar`) VALUES('" . $_SESSION['user_login'] . "', '" . $avatar_id . "')";