Ejemplo n.º 1
0
function get_conv_report_table_html($table_data)
{
    $html = '<table>';
    $html .= '<tr>';
    $html .= '<td class="row_top">Номер заказа</td>';
    $html .= '<td class="row_top inf_row">ТМП</td>';
    $html .= '<td class="row_top inf_row">Ответственный инженер</td>';
    $html .= '<td class="row_top inf_row">Неисправность</td>';
    $html .= '<td class="row_top inf_row">Дата приема</td>';
    $html .= '<td class="row_top inf_row">Статус</td>';
    $html .= '<td class="row_top inf_row">Дата и время установки статуса</td>';
    $html .= '</tr>';
    // Обрабоатываем данные;
    foreach ($table_data as $key => $data_item) {
        // Стиль строки;
        if ($key % 2 != 0) {
            $class = 'row_1';
        } else {
            $class = 'row_2';
        }
        if (isset($data_item['marker'])) {
            switch ($data_item['marker']) {
                case 'MARK':
                    $print = 'color: black;font-weight: bold;';
                    break;
                case 'ALERT':
                    $print = 'color: red;font-weight: bold;';
                    break;
            }
        } else {
            $print = '';
        }
        $html .= '<tr>';
        $html .= '<td class="' . $class . ' numm_info" style="' . $print . '" align="center">' . $data_item['numm'] . '</td>';
        $html .= '<td class="' . $class . ' inf_row" align="center">' . $data_item['tu'] . ' / ' . $data_item['model'] . ' / ' . $data_item['torg'] . '</td>';
        $html .= '<td class="' . $class . ' inf_row" align="center">' . get_user_full_name(0, $data_item['inj']) . '.</td>';
        $html .= '<td class="' . $class . ' inf_row" align="left" width="200px">' . $data_item['a1'] . '</td>';
        $html .= '<td class="' . $class . ' inf_row" align="center">' . get_local_date_time($data_item['date1'], 1) . '</td>';
        $html .= '<td class="' . $class . ' inf_row" align="left">' . get_status_name($data_item['status']) . '</td>';
        // Для того что бы определить время установки статуса, нам надо перебрать весь dvj этого заказа;
        $dvj_array = explode("\r\n", $data_item['dvj']);
        foreach ($dvj_array as $dvj_item) {
            // Проверяем, содежит ли эта строка данные;
            if (find_text(get_status_name($data_item['status']), $dvj_item)) {
                // Если мы нашли такой текст, выводим эту строку для начала;
                $dvj_temp = explode('|', $dvj_item);
            }
        }
        $html .= '<td class="' . $class . ' inf_row" align="center">' . get_local_date_time($dvj_temp[0], 1) . '</td>';
        $html .= '</tr>';
    }
    $html .= '</table>';
    return $html;
}
Ejemplo n.º 2
0
function list_talent_comments($talent_id)
{
    $list = "";
    $comment_sql = "SELECT\n\t\t*\n\t\tFROM\n\t\ttams_talent_comments\n\t\tWHERE talent_id = {$talent_id}\n\t\tORDER BY talent_comment_id DESC";
    $talent_comments = DB::query($comment_sql);
    if ($talent_comments) {
        foreach ($talent_comments as $comment) {
            $list .= '<span class="username" >';
            $list .= get_user_full_name($comment['created_by']) . $comment['comment'] . " </span><br/>";
        }
    }
    return $list;
}
Ejemplo n.º 3
0
<hr />
<span class="style12">1.
При  наличии деталей ремонт осуществляется в срок до 14 дней, при отсутствии деталей,  срок ремонта предварительно согласовывается. <br />
2. Сервисный  центр не несет ответственности за возможную потерю данных и настроек в  результате диагностики, замены комплектующих и ремонта оборудования. <br />
3. Заказчик принимает на себя риск возможной полной или частичной утраты  работоспособности аппарата, в процессе ремонта из-за проявления скрытых  дефектов и последствий тепловой обработки, а так же его дальнейшую не  ремонтопригодность. Сервисный центр устраняет только заявленные клиентом  неиправности. <br />
4. Сервисный центр оставляет за собой право отказа в гарантийном ремонте в  случаях: утери гарантийного талона, наличия механических повреждений, нарушения  сохранности пломб, повреждениях, связанных с перепадами в электросети и наличия  следов проникновения влаги. <br />
5. Гарантийный  ремонт осуществляется в течение 14 рабочих дней.<br />
6. Оборудование, с согласия клиента принято без разборки и проверки  внутренних неисправностей и повреждений. Клиент согласен, что все обнаруженные  в процессе технического обслуживания (ремонта) неисправности возникли до сдачи  оборудования в ремонт в Сервисный центр. <br />
7. В случае отказа заказчика в одностороннем порядке от не гарантийного  ремонта, после согласования стоимости и началом выполнения работ, заказчиком  возмещаются все расходы, понесённые Сервисным центром в целях надлежащего  выполнения услуги (ст.32 и 33 Закона РФ ОЗПП) <br />
<b>8. Заказчик обязуется забрать и оплатить отремонтированную аппаратуру в  течении 14 дней с момента оповещения о готовности. По истечению 2-х месяцев от  указанного срока аппаратура может быть реализована в счёт возмещения убытков  Сервисного центра (согласно Правилам бытового обслуживания населения РФ)</b></span>
<hr />
-->

<table width="1000" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><span class="style13">Принял в ремонт: _________________________ // ' . get_user_full_name($_SESSION['user_id']) . '</span></td>
    <td><div align="right" class="style13">
      <p>Сдал в ремонт:_________________________ // ' . $numm_data['fam_z'] . ' ' . $numm_data['name_z'] . '</p>
      <p align="left">Техника мною получена в надлежащем состоянии, работоспособности и комплектации, претензий не имею ___________  __/__/_____г.</p>
    </div></td>
  </tr>
  <tr>
    <td width="47%">&nbsp;</td>
    <td width="50%"><div align="right" class="style13">
<br>
        <div align="center">
          <table width="498" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td width="37">

              <div align="center" style="">ДА</div>
Ejemplo n.º 4
0
			 <p>
			 <div class="box-comments">
				 <?php 
if ($client_comments) {
    foreach ($client_comments as $comment) {
        ?>
						<div class="box-comment">
					
							<img class="img-circle img-sm" alt="User Image" src="<?php 
        echo get_user_avatar_url($comment['created_by'], '50');
        ?>
" />
			<div class="comment-text">
							<span class="username">
								<?php 
        echo get_user_full_name($comment['created_by']);
        ?>
								<span class="text-muted pull-right">
									<?php 
        echo getDateTime($comment['created_on'], "dtShort");
        ?>
								</span>
							</span>
							<?php 
        echo $comment['comment'];
        ?>
			</div>						
						</div>
						<?php 
    }
} else {
Ejemplo n.º 5
0
function show_pko_card($pko_array)
{
    global $db_rs;
    write_log('Запуск функции вывода списка ПКО', 'pko');
    $html = '';
    if (count($pko_array) == 0) {
        $html .= '<div class="page_caption">Список ПКО пуст</div><br><br>';
    }
    foreach ($pko_array as $pko) {
        // Определение роидтельского дкоумента - если таковой есть;
        $parent_doc = '';
        $doc_parent_temp = explode('=', $pko['selected_numm']);
        if ($doc_parent_temp[0] == 'parent_doc') {
            $parent_doc = $doc_parent_temp[1];
        }
        // Цвет блока зависит от состояние документа ПКО;
        $style = '';
        write_log('1', 'pko');
        // Новый документ;
        if ($pko['status'] == '1') {
            $style = 1;
        }
        // Согласованный документ;
        if ($pko['status'] == '2') {
            $style = 4;
        }
        // Несогласованный документ;
        if ($pko['status'] == '3') {
            $style = 2;
        }
        // Проведенный документ;
        if ($pko['status'] == '4') {
            $style = 3;
        }
        write_log('2', 'pko');
        $html .= '<div id="pko_' . $pko['id'] . '" class="notification_type_' . $style . ' desk_item" style="min-height: 478px;font-size: 0.85em; padding: 10px 10px 10px 10px; vertical-align:top;">';
        $html .= '<table style="border: none;" cellspacing="0" cellpadding="0">';
        $html .= '<tr>';
        $html .= '<td>ID ПКО</td>';
        $html .= '<td><b>' . $pko['id'] . '</b></td>';
        $html .= '</tr>';
        if ($parent_doc != '') {
            $html .= '<tr>';
            $html .= '<td>Родительский документ РКО</td>';
            $html .= '<td onclick="show_rko_window(' . $parent_doc . ', \'new\')" style="cursor: pointer;"><b>' . $parent_doc . '</b></td>';
            $html .= '</tr>';
        }
        $html .= '<tr>';
        $html .= '<td>Тип оплаты</td>';
        $pay_type = 'Наличные';
        if ($pko['card_pay'] == '1') {
            $pay_type = 'Оплата картой';
        }
        $html .= '<td><b>' . $pay_type . '</b></td>';
        $html .= '</tr>';
        $html .= '<tr>';
        $html .= '<td>Автор</td>';
        $html .= '<td><b>' . get_user_full_name($pko['author_user_id']) . '</b></td>';
        $html .= '</tr>';
        $html .= '<tr>';
        $html .= '<td>Дата создания</td>';
        $html .= '<td><b>' . date('d.m.Y H:i:s', strtotime($pko['create_date'])) . '</b></td>';
        $html .= '</tr>';
        if ($pko['accept_date'] != '') {
            $html .= '<tr>';
            $html .= '<td>Согласовал</td>';
            $html .= '<td><b>' . get_user_full_name($pko['accepter_user_id']) . '</b></td>';
            $html .= '</tr>';
            $html .= '<tr>';
            $html .= '<td>Дата согласования</td>';
            $html .= '<td><b>' . date('d.m.Y H:i:s', strtotime($pko['accept_date'])) . '</b></td>';
            $html .= '</tr>';
        }
        /*
                    $html .= '<tr>';
                    $html .= '<td>Исполненитель</td>';
                    // Если унас нет получателя и мы администрация - мы можем указать получателя;
                    write_log('3', 'pko');
                    if ($_SESSION['department_id'] == 2 || $_SESSION['department_id'] == 12){
                        // Здесь мы будем строить выпдашку с пользователями;
                        $sql = "SELECT `users_apps`.`id`, CONCAT(`user_full_name`, ' (', `departments`.`name`, ')') as `name` FROM `users_apps`
                            LEFT JOIN `departments` ON `departments`.`id` = `users_apps`.`dep_id`
                            WHERE `app_id` IN (1, 8) AND `dep_id` != 1 ORDER BY `departments`.`name`;";
                        write_log($sql, 'pko');
                        $users = $db_rs->all($sql);
                        $receive_html = '<select id="pko_receiver" onchange="set_new_receiver('.$pko['id'].')" style="height: 39px; text-align: center; background-color: #ffffff; padding: 5px 5px 5px 5px; border-radius: 7px; opacity: 0.9; border: 1px solid #5f5f5f;">';
                        $receive_html .= '<option value="none" disabled selected>Выберите исполнителя ПКО</option>';
                        foreach($users as $user){
                            $receive_html .= '<option value="'.$user['id'].'" '.($pko['receive_user_id'] == $user['id'] ? 'selected': '').'>'.$user['name'].'</option>';
                        }
                        $receive_html .= '</select>';
                    }   else{
                        $receive_html = get_user_full_name($pko['receive_user_id']);
                    }
                    $html .= '<td><b>'.$receive_html.'</b></td>';
                    $html .= '</tr>';
        */
        /* Если пользоватлеь из блока администрации, то он может видеть кассу и может  */
        if ($_SESSION['department_id'] == 2) {
            $html .= '<tr>';
            $html .= '<td>Касса документа</td>';
            if ($_SESSION['appointment_id'] == 18 && $_SESSION['department_id'] == 2 && $pko['status'] != '4') {
                // Здесь мы будем строить выпдашку с кассами;
                $sql = "SELECT `id`, `name` FROM `kassa` WHERE `office` = 'buh' AND `status` = 2;";
                write_log($sql, 'pko');
                $kassa = $db_rs->all($sql);
                $kassa_html = '<select id="selected_kassa" onchange="set_new_pko_kassa(' . $pko['id'] . ')" style="height: 39px; text-align: center; background-color: #ffffff; padding: 5px 5px 5px 5px; border-radius: 7px; opacity: 0.9; border: 1px solid #5f5f5f;">';
                $kassa_html .= '<option value="0" disabled selected>Выберите кассу для ПКО</option>';
                foreach ($kassa as $kassa_item) {
                    $kassa_html .= '<option value="' . $kassa_item['id'] . '" ' . ($pko['kassa_id'] == $kassa_item['id'] ? 'selected' : '') . '>' . $kassa_item['name'] . '</option>';
                }
                $kassa_html .= '</select>';
            } else {
                // Получаем имя кассы;
                $sql = "SELECT `name` FROM `kassa` WHERE `id` = '" . $pko['kassa_id'] . "';";
                $kassa_name = $db_rs->one($sql);
                $kassa_html = $kassa_name;
            }
            $html .= '<td><b>' . $kassa_html . '</b></td>';
            $html .= '</tr>';
        }
        if ($pko['receive_date'] != '') {
            $html .= '<tr>';
            $html .= '<td>Дата исполнения</td>';
            $html .= '<td><b>' . date('d.m.Y H:i:s', strtotime($pko['receive_date'])) . '</b></td>';
            $html .= '</tr>';
        }
        $html .= '<tr>';
        $html .= '<td>Дата последних изменений</td>';
        $html .= '<td><b>' . date('d.m.Y H:i:s', strtotime($pko['date_last_update'])) . '</b></td>';
        $html .= '</tr>';
        $html .= '<tr>';
        $html .= '<td>Основание</td>';
        $html .= '<td><b>' . $pko['reason'] . '</b></td>';
        $html .= '</tr>';
        $html .= '<tr>';
        $html .= '<td>Платильщик денежных средств</td>';
        $receiver = $pko['selected_name'];
        $html .= '<td><b>' . ($receiver != '' ? '' . $receiver . '' : '') . '</b></td>';
        $html .= '</tr>';
        $html .= '<tr>';
        $html .= '<td>Сумма</td>';
        $html .= '<td><b>' . number_format($pko['sum'], 2, '.', ' ') . ' руб.</b></td>';
        $html .= '</tr>';
        $html .= '</table>';
        // Редактироват и Удалять можно только Новое и не согласованное ПКО;
        if ($pko['status'] == '2') {
            $html .= '<div class="menu_button" onclick="pko_delete(' . $pko['id'] . ')">Удалить</div>';
            //$html .= '<div class="menu_button" onclick="create_new_pko('.$pko['id'].')">Редактировать</div>';
        }
        // Кнопка согласования есть только у администрации;
        if (($_SESSION['department_id'] == 2 || $_SESSION['department_id'] == 12) && $pko['status'] != '4') {
            if ($pko['status'] == '2') {
            }
            if ($pko['status'] == '3' || $pko['status'] == '1') {
                $can_accept = false;
                // Теперь сверимся с таблице прав на согласование;
                $sql = "SELECT * FROM `pko_accepts` WHERE `user_id` = '" . $_SESSION['user_id'] . "' AND `pko_template_id` IS NULL AND `status` != '0';";
                write_log($sql, 'pko');
                if (count($db_rs->all($sql)) > 0) {
                    $can_accept = true;
                }
                // Снова получим родителя тип основания ПКО;
                $sql = "SELECT `template_id` FROM `pko` WHERE `id` = '" . $pko['id'] . "';";
                write_log($sql, 'pko');
                $template_id = $db_rs->one($sql);
                // имещ родителя этого основания;
                try_again2:
                $sql = "SELECT `parent_id` FROM `pko_templates` WHERE `id` = '" . $template_id . "' AND `status` != '0';";
                $temp_id = $db_rs->one($sql);
                if ($temp_id != '') {
                    $template_id = $temp_id;
                    goto try_again2;
                }
                // Проверяем, можно ли нам его согласовывать;
                $sql = "SELECT `id` FROM `pko_accepts` WHERE `user_id` = '" . $_SESSION['user_id'] . "' AND `status` !='0' AND `pko_template_id` = '" . $template_id . "';";
                // echo $sql;
                $accept_id = $db_rs->one($sql);
                if ($accept_id != '') {
                    $can_accept = true;
                }
                if ($can_accept == true) {
                    $html .= '<div class="menu_button" onclick="pko_not_accept(' . $pko['id'] . ')">Отказать</div>';
                    $html .= '<div class="menu_button" onclick="pko_accept(' . $pko['id'] . ')">Согласовать</div>';
                }
            }
        }
        // Провести ПКО можно ТОЛЬКО когда оно согласовано
        if ($pko['status'] == '2') {
            // Так же для появления кнопки для проведения документа, нужно знать что у ПКО ест ь исполнитель и провести может только исполнитель;
            if (($pko['receive_user_id'] != '' || $parent_doc != '') && ($parent_doc != '' || $pko['receive_user_id'] == $_SESSION['user_id'] || $_SESSION['user_login'] == 'root')) {
                // так же нам надо проверить если у пользователя который собирается провести документ - открытая касса;
                $operator_data = get_kassa_data($_SESSION['user_id']);
                if ($operator_data['kassa_id'] == 0 && $operator_data['operator_id'] == 0 && $_SESSION['user_login'] != 'admin') {
                    $html .= '<div style="border: 1px solid black; padding: 2px; border-radius: 3px; font-weight: bold; margin: 3px; background-color: red;">Но вы не можете провести этот документ, так как не являетесь оператором кассы с открытым ОД!</div>';
                } else {
                    $html .= '<div class="menu_button apply_pko_button" pko_id="' . $pko['id'] . '">Провести документ ПКО</div>';
                }
            }
        }
        // Печатать ПКО можно только у проведенного либо у согласованного документа;
        if ($pko['status'] == '4') {
            $html .= '<div class="menu_button" onclick="print_pko(' . $pko['id'] . ')">Печать ПКО</div>';
        }
        write_log('Конец загрузки', 'pko');
        $html .= '</div>';
    }
    return $html;
}
Ejemplo n.º 6
0
                        <li><a href="<?php 
        echo site_url('cart/details');
        ?>
">
                                <span class="glyphicon glyphicon-shopping-cart"></span>
                                Košarica (<span id="cart-items"><?php 
        echo $this->cart->total_items();
        ?>
</span>)</a></li>
                    <?php 
    }
    ?>
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i>
                            <?php 
    echo get_user_full_name();
    ?>
 <b class="caret"></b></a>
                        <ul class="dropdown-menu">
                            <?php 
    if (user_is_admin()) {
        ?>
                                <li><a href="<?php 
        echo site_url('admin/manage');
        ?>
"><i class="fa fa-users"></i>
                                         Upravljaj prodajalce</a></li>
                                <li class="divider"></li>
                            <?php 
    } elseif (!user_is_admin() and !user_is_customer()) {
        ?>
Ejemplo n.º 7
0
 $html .= '<tr>';
 $html .= '<td class="row_top">Номер выдачи</td>';
 $html .= '<td class="row_top inf_row">Курьер</td>';
 $html .= '<td class="row_top inf_row">Номер заказа</td>';
 $html .= '<td class="row_top inf_row">Дата формирования</td>';
 $html .= '<td class="row_top inf_row">Операции</td>';
 $html .= '</tr>';
 foreach ($takes as $key => $later_take) {
     if ($key % 2 != 0) {
         $class = 'row_1';
     } else {
         $class = 'row_2';
     }
     $html .= '<tr>';
     $html .= '<td class="' . $class . '" align="center">' . $later_take['id'] . '</td>';
     $html .= '<td class="' . $class . ' inf_row" align="center">' . get_user_full_name($later_take['user_id']) . '</td>';
     $html .= '<td class="' . $class . ' inf_row" align="center">' . $later_take['numm'] . '</td>';
     $html .= '<td class="' . $class . ' inf_row" align="center">' . get_local_date_time($later_take['take_date'], 1) . '</td>';
     $operations = '<div class="end_later_take">';
     //$operations .= $elements->input('Укажите номер(-а) чек(-ов)', $later_take['id'].'_later_take_check', '', '', '', '', 'width:6em;');
     $operations .= '<div class="page_caption">Какой документ вы приняли от клиента?</div><br><br>';
     $operations .= '<label id="sliderLabel">
             <input type="checkbox" id="' . $later_take['id'] . '_client_receive_doc" checked/>
             <span id="slider">
             <span id="sliderOn">Квитанция</span>
             <span id="sliderOff">Расписка</span>
             <span id="sliderBlock"></span>
             </span>
           </label>';
     // Крыжик - что мы приняли денежные средства;
     $operations .= '<br><div class="page_caption" style="display: block;padding-left: 15px;text-indent: -15px;"><input type="checkbox" id="money_paid_cur" late_take_id="' . $later_take['id'] . '" value="card_pay" style="box-shadow: none;height: 23px;padding: 0;margin: -4px;vertical-align: bottom;position: relative;top: -1px;overflow: hidden; width: 2em;" ' . ($pay_type == '1' ? 'checked' : '') . '>   Я полностью принял денежные средства</div>';
Ejemplo n.º 8
0
     $sql = "UPDATE `users_apps` SET `dep_id` = '" . $_POST['value'] . "' WHERE `id` = '" . $_POST['user_id'] . "';";
     $db_rs->query($sql);
     echo 'OK';
 }
 // Устанавливаем новую должность;
 if (isset($_POST['set_new_appointment']) && $_POST['set_new_appointment'] != '') {
     $sql = "UPDATE `users_apps` SET `app_id` = '" . $_POST['value'] . "' WHERE `id` = '" . $_POST['user_id'] . "';";
     $db_rs->query($sql);
     echo 'OK';
 }
 // Увольнение сотруника;
 if (isset($_POST['clean_login']) && $_POST['clean_login'] != '') {
     $sql = "SELECT `type` FROM `users_apps` WHERE `id` = '" . $_POST['user_id'] . "';";
     $user_type = $db_rs->one($sql);
     $user_login = get_user_login($_POST['user_id']);
     $user_full_name = get_user_full_name($_POST['user_id']);
     // Но в историю пользователя нам нужно записать это событие;
     $systems->set_user_history($_POST['user_id'], 'Увольнение ' . ($user_type == '1' ? 'сотрудника' : 'стажера') . ' - ' . $user_full_name);
     // Если это был аккаунт сотрудника - про делаем приставку OLD;
     if ($user_type == '1') {
         $sql = "UPDATE `users_apps` SET `dep_id` = 20, `telegram_auth` = NULL, `phone_number` = NULL, `telegram_auth_code` = NULL, `telegram_id` = NULL, `telegram_code` = NULL, `google_auth` = NULL, `auth_key` = NULL, `user_full_name` = CONCAT('OLD - ', ' ', `user_full_name`), `status` = 'free' WHERE `id` = '" . $_POST['user_id'] . "';";
         $db_rs->query($sql);
         $sql = "UPDATE `users` SET `fam` = CONCAT('OLD - ', ' ', `fam`), `p_numtel` = '' WHERE `login` = '" . $user_login . "';";
         $db->query($sql);
     }
     // Если это был аккаунт стажера - просто обнуляем все.
     if ($user_type == '2') {
         // Удаляем имя в обеих базах;
         $sql = "UPDATE `users_apps` SET `dep_id` = 20, `phone_number` = NULL, `telegram_auth` = NULL, `telegram_auth_code` = NULL, `telegram_id` = NULL, `telegram_code` = NULL, `google_auth` = NULL, `auth_key` = NULL, `user_full_name` = 'Свободный', `status` = 'free' WHERE `id` = '" . $_POST['user_id'] . "';";
         $db_rs->query($sql);
         $sql = "UPDATE `users` SET `fam` = 'Свободный', `name` = 'Стажер', `g_name` = '' WHERE `login` = '" . $user_login . "';";
Ejemplo n.º 9
0
$sum_det = 0;
$sum_wage = 0;
if ($systems->page_rules(1) == true) {
    $data_report = $systems->get_inj_wage_all_array(date('Y-m-d', $date_from), date('Y-m-d-', $date_to));
} else {
    $data_report = $systems->get_inj_wage_all_array(date('Y-m-d', $date_from), date('Y-m-d-', $date_to), $_SESSION['user_login']);
}
// Для привелегированных;
foreach ($data_report as $key => $data_item) {
    if ($key % 2 != 0) {
        $class = 'row_1';
    } else {
        $class = 'row_2';
    }
    $html .= '<tr>';
    $html .= '<td class="' . $class . '" align="center">' . get_user_full_name('', $data_item['inj']) . '</td>';
    $html .= '<td class="' . $class . ' inf_row"  onclick="show_info_window(' . $data_item['numm'] . ', \'new\')" style="cursor:pointer;" align="center">' . $data_item['numm'] . '</td>';
    $html .= '<td class="' . $class . ' inf_row" align="center">' . $data_item['tu'] . '</td>';
    $html .= '<td class="' . $class . ' inf_row" align="center">' . $data_item['model'] . '</td>';
    $html .= '<td class="' . $class . ' inf_row" align="center">' . ($data_item['sum_pay'] == '' ? 0 : $data_item['sum_pay']) . '</td>';
    $html .= '<td class="' . $class . ' inf_row" align="center">' . $data_item['sum_det'] . '</td>';
    $html .= '<td class="' . $class . ' inf_row" align="center">' . ($data_item['sum_wage'] == '' ? 0 : $data_item['sum_wage']) . '</td>';
    $html .= '</tr>';
    $count_sum++;
    $sum_pay += $data_item['sum_pay'] == '' ? 0 : $data_item['sum_pay'];
    $sum_det += $data_item['sum_det'];
    $sum_wage += $data_item['sum_wage'] == '' ? 0 : $data_item['sum_wage'];
}
// Итоговая строка с суммами;
$html .= '<tr>';
$html .= '<td class="row_top"></td>';
Ejemplo n.º 10
0
 }
 if ($package_data['status'] == '3' || $package_data['status'] == '7') {
     $style = 3;
 }
 if ($style == '') {
     $style = 1;
 }
 // Массив статусов;
 $status = array(0 => 'Удаленная заявка', 1 => 'Новая заявка', 2 => 'Заявка принята', 3 => 'Заявка выполнена', 4 => 'Отправление подготавливается', 5 => 'Отправление готово к отправке', 6 => 'Отправление передано курьеру', 7 => 'Отправление доставлено', 8 => 'Отправление возвращено', 9 => 'Курьер прибыл на точку', 10 => 'Курьер убыл из точки');
 $html .= '<div id="package_' . $desk_id . '" class="notification_type_' . $style . ' desk_item" style="min-height: 478px;font-size: 0.85em; padding: 10px 10px 10px 10px; vertical-align:top;">';
 $html .= '<table style="border: none;" cellspacing="0" cellpadding="0">';
 $html .= '<tr>';
 $html .= '<td>ID Доставки</td>';
 $html .= '<td><b>' . $package_data['id'] . '</b></td>';
 $html .= '<td>Автор</td>';
 $html .= '<td><b>' . get_user_full_name($package_data['author_user_id']) . '</b></td>';
 $html .= '</tr>';
 $html .= '<tr>';
 $html .= '<td>Когда нужно доставить</td>';
 $html .= '<td><b>' . date('d.m.Y H:i:s', strtotime($package_data['date_need_deliver'])) . '</b></td>';
 $html .= '<td>Курьер</td>';
 $courier_id = $package_data['courier_id'];
 $sql = "SELECT `couriers`.`id`, `couriers`.`name`, `couriers_type`.`name` AS `courier_type_name`, `couriers_type`.`id` as `courier_type_id`, `couriers_type`.`max_weight`\n                FROM `couriers`, `couriers_type`\n                WHERE `couriers`.`courier_type` = `couriers_type`.`id` AND `couriers`.`id` = '" . $courier_id . "' AND `status` != 0;";
 $courier_data = $db_rs->row($sql);
 $html .= '<td><b>' . $courier_data['name'] . ' (' . $courier_data['courier_type_name'] . ')' . '</b></td>';
 $html .= '</tr>';
 $html .= '<tr>';
 $html .= '<td>Откуда</td>';
 $html .= '<td><b>' . (get_office_name($package_data['from_point']) != '' ? get_office_name($package_data['from_point']) : $package_data['from_point']) . '</b></td>';
 $html .= '<td>Что в посылке</td>';
 // если у нас в посылке заказ, то надо остаивть на него ссылку;
Ejemplo n.º 11
0
 public function create_numm($handling_id)
 {
     global $db_rs, $db;
     $sql = "SELECT * FROM `handlings` WHERE `id` = '" . $handling_id . "';";
     write_log($sql, 'new_remont_numm', 1);
     $handling_data = $db_rs->row($sql);
     /* Формируем массив для добавления его в базу */
     // Для начала нам надо получить код клиента, если клиент новый, то клиента надо создать;
     $sql = "SELECT `code` FROM `kontr` WHERE `fam` = '" . $handling_data['client_fam'] . "' AND `name` = '" . $handling_data['client_name'] . "' AND `g_name` = '" . $handling_data['client_otch'] . "';";
     write_log($sql, 'new_remont_numm', 1);
     $exist_code = $db->one($sql);
     $sql = "SELECT `name` FROM `reklama` WHERE `id` = '" . $handling_data['client_know_from'] . "';";
     $reklama_name = $db_rs->one($sql);
     // Так как полей в массиве очень слишком дохуя, мы будем добавлять только самые важэные поля;
     $new_data_array = array('tu' => trim($handling_data['client_tech_type']), 'torg' => trim($handling_data['client_tech_producer']), 'model' => trim($handling_data['client_tech_model']), 'ser_no' => trim($handling_data['client_tech_sn']), 'place_h' => date('Y.m.d', strtotime($handling_data['diagnostic_finish_date'])), 'fam_z' => trim($handling_data['client_fam']), 'name_z' => trim($handling_data['client_name']), 'otch_z' => trim($handling_data['client_otch']), 'tel1' => trim($handling_data['client_phone']), 'sex' => trim($handling_data['client_sex']), 'addr' => trim($handling_data['client_address']), 'mts_promo_code' => trim($handling_data['mts_promo_code']), 'ozn_summ' => trim($handling_data['sound_money']), 'date1' => date('Y-m-d H:i:s'), 'saved' => date('Y-m-d H:i:s'), 'saveds' => date('Y-m-d H:i:s'), 'pri' => trim($handling_data['why_me']), 'reklam' => trim($reklama_name), 'a1' => trim($handling_data['type_ob_rem_1']), 'a2' => trim($handling_data['type_ob_rem_2']), 'a3' => trim($handling_data['type_ob_rem_3']), 'a4' => trim($handling_data['type_ob_rem_4']), 'a5' => trim($handling_data['type_ob_rem_5']), 'a6' => trim($handling_data['type_ob_rem_6']), 'a7' => trim($handling_data['type_ob_rem_7']), 'p1' => '', 'p2' => '', 'p3' => '', 'p4' => '', 'p5' => '', 'p6' => '', 'p7' => '', 'kod' => 0, 'dvj' => 'Принято ' . $_SESSION['user_login'] . ' (' . get_user_full_name($_SESSION['user_id'], $_SESSION['user_login']) . ') в ремонт ' . date('d.m.Y H:i:s') . '/ Начала работ (' . $_SESSION['user_login'] . ')', 'who' => $_SESSION['user_login'], 'office' => $_SESSION['office'], 'uni_s' => $_SESSION['user_login'] . ' ' . date('d.m.Y H:i:s'));
     // Давайте обозначим названия p;
     // Получаем типы неисправностей;
     $sql = "SELECT `typ1`, `t1`, `typ2`, `t2`, `typ3`, `t3`, `typ4`, `t4`, `typ5`, `t5`, `typ6`, `t6`, `typ7`, `t7`  FROM `type_ob_rem` WHERE `name` = '" . $handling_data['client_tech_type'] . "';";
     write_log($sql, 'new_remont_numm', 1);
     $rem_data_type = $db->row($sql);
     // Так как нам надо вывести поля в зависимости от выбранного типа техники;
     // Проверяем наполненность данных и выводим их пользователю;
     for ($i = 1; $i <= 7; $i++) {
         if ($rem_data_type['typ' . $i] != '') {
             $new_data_array['p' . $i] = $rem_data_type['typ' . $i];
         }
     }
     if ($exist_code == '') {
         // Слепим сокращеное ФИО;
         $fio = $new_data_array['fam_z'] . ' ' . substr($new_data_array['name_z'], 0, 2) . '. ' . substr($new_data_array['otch_z'], 0, 2);
         // Если у нас нет такого клиента - добавляем его;
         $byear = date('Y') - $handling_data['client_old'];
         $sql = "INSERT INTO `kontr` VALUES (NULL, 0, 0, '" . $fio . "', '" . $new_data_array['fam_z'] . "', '" . $new_data_array['name_z'] . "', '" . $new_data_array['otch_z'] . "', '" . ($new_data_array['sex'] == '1' ? '2' : '1') . "', '" . $new_data_array['tel1'] . "', '', '" . $byear . date('-m-d') . "', NULL, NULL, NULL, NULL, '" . $handling_data['client_address'] . "', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, ')', NOW(), 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL, NULL, NULL, 'Автоматическое создание клиента (физ.лицо) из новой формы приёма в ремонт.  " . date('d.m.Y H:i:s') . "\r\n ФИО:" . $fio . "', '--', NULL, 0, '', NULL, NULL, NULL, NULL, 0, NULL, '', 0, 0, NULL, NULL);";
         write_log($sql, 'new_remont_numm', 1);
         $db->query($sql);
         $exist_code = mysqli_insert_id($db->link_id);
         $code_prefix = strtoupper(substr(md5($exist_code), 0, 4));
         // Сохраняем этот код у клиента;
         $sql = "UPDATE `kontr` SET `prefix_ap` = '" . $code_prefix . "' WHERE `code` = '" . $exist_code . "';";
         $db->query($sql);
     } else {
         // Либо обновим данные клиента;
         // Дата рождения клиента;
         $byear = date('Y') - $handling_data['client_old'];
         $sql = "UPDATE `kontr` SET `phone_m` = '" . $new_data_array['tel1'] . "', `addr_now` = '" . $handling_data['client_address'] . "', `bday` = '" . $byear . date('-m-d') . "' WHERE `code` = '" . $exist_code . "';";
         write_log($sql, 'new_remont_numm', 1);
         $db->query($sql);
     }
     /* Генерация кода для просмотра данных о заказе на сайте */
     $sql = "SELECT `prefix_ap` FROM `kontr` WHERE `code` = '" . $exist_code . "';";
     write_log($sql, 'new_remont_numm', 1);
     $code_prefix = $db->one($sql);
     // Если у клиента нет смс кода то надо нам его сгенерировать;
     if ($code_prefix == '') {
         // Генерируем код из 4-х символов, самое простое, взять первые 4 символа md5 кода клиента;
         $code_prefix = strtoupper(substr(md5($exist_code), 0, 4));
         // Сохраняем этот код у клиента;
         $sql = "UPDATE `kontr` SET `prefix_ap` = '" . $code_prefix . "' WHERE `code` = '" . $exist_code . "';";
         write_log($sql, 'new_remont_numm', 1);
         $db->query($sql);
     }
     // Записываем код клиента в массив с данными;
     $new_data_array['kod'] = $exist_code;
     write_log(print_r($new_data_array, true), 'new_remont_numm', 1);
     $sql = "SELECT `text` FROM `backin` WHERE `index_i` = '" . $new_data_array['reklam'] . "';";
     $new_data_array['reklam'] = $db->one($sql);
     // Наполяем массив для записи в таблицу о ремонтах;
     $sql = "\n                INSERT INTO `remont` (`status`,`tu`,`torg`,`model`,`ser_no`,`fam_z`,`name_z`,`otch_z`,`tel1`,`tel2`,`faks`,`email`,`addr`,`kod`,`kompl`,`ser_nums`,`kolvs`,`prims`,`reklam`,`pri`,`inj`,`date1`,`date2`,`date3`,`saved`,`saveds`,`diag`,`dso`,`ozn_summ`,`pred_summ`,`prichina`,`sogl_summ`,`gar_rem`,`fast_rem`,\n                `printed`,`p1`,`p2`,`p3`,`p4`,`p5`,`p6`,`a1`,`a2`,`a3`,`a4`,`a5`,`a6`,`company`,`pic1`,`pic2`,`memo1`,`memo2`,`summ_det`,`arh`,`dvj`,`who`,`predy`,`uch`,`office`,`office2`,`uni_s`,`summa`,`s_list`,`block`,`dt_block`,`w_use`,`ok_rem`,`womr`,`place_h`,`msg`,`garant_ex`,`ignore_w`,`no_list_parts`,`on_credit`,`is_pay_diag`,`proc_works`,`fix_works`,`proc_parts`,`fix_parts`,`type_pays`,`gar_seller`,`numm_gt`,`share`,`prefix_ap`,`post_ob`,`date_sale`,`label_gar`,`check_unr`)\n                VALUES (1, '" . $new_data_array['tu'] . "', '" . $new_data_array['torg'] . "', '" . $new_data_array['model'] . "', '" . $new_data_array['ser_no'] . "',\n                '" . $new_data_array['fam_z'] . "', '" . $new_data_array['name_z'] . "', '" . $new_data_array['otch_z'] . "', '" . $new_data_array['tel1'] . "', '', '', '', '" . $new_data_array['addr'] . "', '" . $new_data_array['kod'] . "', '', '', '',\n                '" . $new_data_array['prim'] . "', '" . $new_data_array['reklam'] . "', '" . $_SESSION['user_login'] . "', '', NOW(), NULL, NULL, NOW(), NOW(), NULL, 0, '" . $new_data_array['ozn_summ'] . "', 0, '', 0, 0, 0, 0,\n                '" . $new_data_array['p1'] . "', '" . $new_data_array['p2'] . "', '" . $new_data_array['p3'] . "', '" . $new_data_array['p4'] . "', '" . $new_data_array['p5'] . "', '" . $new_data_array['p6'] . "',\n                '" . $new_data_array['a1'] . "', '" . $new_data_array['a2'] . "', '" . $new_data_array['a3'] . "', '" . $new_data_array['a4'] . "', '" . $new_data_array['a5'] . "', '" . $new_data_array['a6'] . "', 1, 0xFFD8FFE000104A46494600010101004800480000FFFE00134372656174656420776974682047494D50FFDB0043000503040404030504040405050506070C08070707070F0B0B090C110F1212110F111113161C1713141A1511111821181A1D1D1F1F1F13172224221E241C1E1F1EFFDB0043010505050706070E08080E1E1411141E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1EFFC00011080002000203012200021101031101FFC4001500010100000000000000000000000000000008FFC40014100100000000000000000000000000000000FFC40014010100000000000000000000000000000000FFC40014110100000000000000000000000000000000FFDA000C03010002110311003F00B2C007FFD9, 0xFFD8FFE000104A46494600010101004800480000FFFE00134372656174656420776974682047494D50FFDB0043000503040404030504040405050506070C08070707070F0B0B090C110F1212110F111113161C1713141A1511111821181A1D1D1F1F1F13172224221E241C1E1F1EFFDB0043010505050706070E08080E1E1411141E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1EFFC00011080002000203012200021101031101FFC4001500010100000000000000000000000000000008FFC40014100100000000000000000000000000000000FFC40014010100000000000000000000000000000000FFC40014110100000000000000000000000000000000FFDA000C03010002110311003F00B2C007FFD9,\n                '', '', NULL, 0, '" . $new_data_array['dvj'] . "', '" . $_SESSION['user_login'] . "', '" . $handling_data['warranty_numm'] . "', NULL, '" . $_SESSION['office'] . "', '" . $_SESSION['office'] . "', '" . $new_data_array['uni_s'] . "', 0, NULL, NULL, NULL, NULL, NULL, 0, '" . $new_data_array['place_h'] . "', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, '', NULL, '" . $code_prefix . "', 0, NULL, '" . $_SESSION['company'] . "', NULL);\n                ";
     write_log($sql, 'new_remont_numm', '1');
     $db->query($sql);
     // Номер нового заказа;
     $new_numm = mysqli_insert_id($db->link_id);
     // Закончим формирование запроса;
     $sql = "UPDATE `handlings` SET `date_finish` = NOW(), `numm` = '" . $new_numm . "' WHERE `id` = '" . $handling_id . "';";
     write_log($sql, 'new_remont_numm', '1');
     $db_rs->query($sql);
     /**
      * Если у нас был промо, надо нам его зафиксировать в базе;
      */
     if ($new_data_array['mts_promo_code'] != '') {
         $sql = "INSERT INTO `used_promo_codes` (`code`, `action_type`, `numm`, `author_user_id`, `date_use`) VALUES('100230', 'in_tech', '" . $new_numm . "', '" . $_SESSION['user_id'] . "', '" . date('Y-m-d H:i:s') . "');";
         write_log($sql, 'new_remont_numm', '1');
         $db_rs->query($sql);
     }
     return $new_numm;
 }
Ejemplo n.º 12
0
         if (in_array($work_user, get_desk_boss_id($desk_item_id))) {
             $systems->send_telegram($work_user, "⚠ Вас выбрали исполнителем для новой заявки №" . $desk_item_id . "\r\n" . "Автор: " . get_user_full_name($_SESSION['user_id']) . "\r\n" . "Текст: " . mb_strimwidth($_POST['desk_text'], 0, 300, '...'));
             send_notification($work_user, 'Вас выбрали исполнителем для новой заявки №' . $desk_item_id . '<br>Нажмите для перехода в список заявок.', 'service_desk', '', '4', $desk_item_id);
         }
     } else {
         write_log('У нас нет исполнителя заявки', 'create_new_desk');
     }
     // И в любом случае нам надо уведомить руководитель этого отдела;
     write_log('Получаем руководтиеля отдела', 'create_new_desk');
     $dep_boss_array = get_department_boss($_POST['dep_id']);
     write_log(print_r($dep_boss_array, true), 'create_new_desk');
     foreach ($dep_boss_array as $boss_item) {
         write_log('Уведомляем боссов', 'create_new_desk');
         // так же, если у заявки нет исполнителя, то там надо уведомить об руководителя;
         send_notification($boss_item, 'В вашем отделе появилась новая заявка №' . $desk_item_id . '<br>Нажмите для перехода в список заявок.', 'service_desk', '', '3', $desk_item_id);
         $systems->send_telegram($boss_item, "⚠ В вашем отделе появилась новая заявка №" . $desk_item_id . "\r\n" . "Автор: " . get_user_full_name($_SESSION['user_id']) . "\r\n" . "Текст: " . mb_strimwidth($_POST['desk_text'], 0, 300, '...'));
         if ($work_user == '') {
             send_notification($boss_item, 'У новой заявки №' . $desk_item_id . ' нет исполнителя!<br>Нажмите для перехода в список заявок.', 'service_desk', '', '2', $desk_item_id);
             $systems->send_telegram($boss_item, "❗ У новой заявки №" . $desk_item_id . " нет исполнителя!");
         }
     }
     echo 'OK';
 }
 // Получить список доступных для отдела типа заявок;
 if (isset($_POST['get_desk_types']) && $_POST['get_desk_types'] != '') {
     // Поулчаем доступные типы заявок;
     $sql = "SELECT `id`, `desk_type_id`, `name` FROM `service_desk_departments_types` WHERE `department_id` = '" . $_POST['get_desk_types'] . "';";
     $desk_types = $db_rs->all($sql);
     $desk_types_array = array();
     $desk_types_array[] = array('caption' => 'Выберите тип заявки', 'value' => '-1', 'selected' => '1', 'disabled' => '1');
     foreach ($desk_types as $desk_types_item) {
Ejemplo n.º 13
0
    $sql = "SELECT `kompl` FROM `remont` WHERE `numm` = '" . $numm . "';";
    $want_kompl = $db->one($sql);
    $sql = "UPDATE `remont` SET `inj` = '" . $want_kolvs . "', `kolvs` = '', `kompl` = '' WHERE `numm` = '" . $numm . "';";
    $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 == 'Все') {
Ejemplo n.º 14
0
         // Ориентируемся на последнюю скобку, так как именно она закрывает автора;
         $dvj_line_author_temp = $dvj_line_temp[count($dvj_line_temp) - 2];
         // Далее нас интересует открывающая скобка, которая закрывает автора слева;
         $dvj_line_author_temp = explode('(', $dvj_line_author_temp);
         $dvj_line_author_temp = $dvj_line_author_temp[count($dvj_line_author_temp) - 1];
         // Так как у нас может быть несколько авторов через запятую, то вы выпарсим всепх авторов
         $dvj_line_author_array = explode(',', $dvj_line_author_temp);
         $dvj_line_author = '';
         if (count($dvj_line_author_array) >= 2) {
             // У нас несколько авторов;
             foreach ($dvj_line_author_array as $key => $author_line_temp) {
                 $dvj_line_author .= get_user_full_name('', trim($author_line_temp)) . ($key != count($dvj_line_author_array) - 1 ? ', ' : '');
             }
         } else {
             // Выводим нашего автора строки;
             $dvj_line_author = get_user_full_name('', trim($dvj_line_author_temp));
         }
     }
     $dvj .= '<b>' . $dvj_date . '</b><br> - ' . $dvj_line . '<br> Автор: <b>' . $dvj_line_author . '</b><br>' . ($i != 0 ? '<br>' : '');
 }
 $html .= '<div class="info_bordered_field" style="width: 338px; display: inline-block; font-size: 0.7em; overflow-y: auto; height: 220px;"><div class="field_title" style="font-size: 1em;">История заказа</div>' . $dvj . '</div>';
 //$html .= '</td>';
 //$html .= '</tr>';
 //$html .= '</table>';
 $html .= '</div>';
 /* Логотип компании чей заказ */
 if ($numm_data['label_gar'] == 'air') {
     $current_logo = 'air_logo';
 } else {
     $current_logo = 'logo';
 }
Ejemplo n.º 15
0
 $html .= '<td class="row_top inf_row" style="width: 250px;">Операция</td>';
 $html .= '</tr>';
 // Формируем таблицу для вывода;
 foreach ($result_array as $key => $result_item) {
     if ($key % 2 != 0) {
         $class = 'row_1';
     } else {
         $class = 'row_2';
     }
     $html .= '<tr>';
     $html .= '<td class="' . $class . '" style="text-align: center;">' . $result_item['id'] . '</td>';
     $html .= '<td class="' . $class . ' inf_row works_defects_name_' . $result_item['id'] . '">' . $result_item['name'] . '</td>';
     $html .= '<td class="' . $class . ' inf_row works_defects_price_' . $result_item['id'] . '" style="text-align: center;">' . $result_item['price'] . '</td>';
     $html .= '<td class="' . $class . ' inf_row works_defects_time_' . $result_item['id'] . '" style="text-align: center;">' . $result_item['time'] . '</td>';
     $html .= '<td class="' . $class . ' inf_row" style="text-align: center;">' . get_user_full_name($result_item['author_user_id']) . '</td>';
     $html .= '<td class="' . $class . ' inf_row" style="text-align: center;">' . get_user_full_name($result_item['accepter_user_id']) . '</td>';
     $html .= '<td class="' . $class . ' inf_row" style="text-align: center;">' . get_local_date_time($result_item['date_create'], 1) . '</td>';
     $html .= '<td class="' . $class . ' inf_row" style="text-align: center;">' . ($result_item['date_accept'] != '' ? get_local_date_time($result_item['date_accept'], 1) : '-') . '</td>';
     $buttons = '';
     $buttons .= $elements->button_icon('Одобрить', 'ok4', '', 'accept_list_item', 'display: ' . ($result_item['accepter_user_id'] == '' ? 'inline-block' : 'none') . '; margin: 3px;', '', 'show_type="' . $show_type . '" elements_id="' . $result_item['id'] . '"');
     $buttons .= $elements->button_icon('Убрать', 'viewer', '', 'unaccept_list_item', 'display: ' . ($result_item['accepter_user_id'] != '' ? 'inline-block' : 'none') . '; margin: 3px;', '', 'show_type="' . $show_type . '" elements_id="' . $result_item['id'] . '"');
     $buttons .= $elements->button_icon('Удалить', 'close', '', 'delete_list_item', 'display: inline-block; margin: 3px;', '', 'show_type="' . $show_type . '" elements_id="' . $result_item['id'] . '"');
     $html .= '<td class="' . $class . ' inf_row" style="text-align: center;">' . $buttons . '</td>';
     $html .= '</tr>';
     // Позволяем редактивровать блоки с ценой и сроками;
     $html .= '<script>
             $(\'.works_defects_price_' . $result_item['id'] . '\').editable({
                callback : function( data ) {
                    if(data.content != false){
                     // Были изменения надо сохранить;
                     save_works_defects_data(\'price\', ' . $result_item['id'] . ', \'' . $show_type . '\', data.content);
Ejemplo n.º 16
0
$html .= '<div class="table_head_middle_cell" style="width: 8em;">Инженер</div>';
$html .= '<div class="table_head_middle_cell" style="width: 5em;">Предв. срок рем.</div>';
$html .= '<div class="table_head_middle_cell" style="width: 9em;">Дата добавления</div>';
$html .= '<div class="table_head_right_cell" style="width: 9em;">Операции</div>';
$html .= '</div>';
// Тело таблицы;
$html .= '<div class="div_table_body">';
// Смотрим какие уже дефекты у нас обнаружил инеженр;
$sql = "SELECT `defects`.`defect`, `defects`.`price`, `defects`.`repair_time`, `diagnostics`.`author_user_id`, `diagnostics`.`date_create` FROM `diagnostics`, `defects` WHERE `diagnostics`.`defect_id` = `defects`.`id` AND `numm` = '" . $numm . "' AND `diagnostics`.`status` != 0;";
$diagnostics_list = $db_rs->all($sql);
// Выводим страые запсианные ранее результаты диагностики;
if (count($diagnostics_list) > 0) {
    foreach ($diagnostics_list as $key => $defect) {
        $defect_name = $defect['defect'];
        $defect_price = $defect['price'];
        $defect_inj = get_user_full_name($defect['author_user_id']);
        $defect_repair_time = $defect['repair_time'];
        $defect_date = get_local_date_time($defect['date_create'], 1);
        // Чет нечет;
        if ($key % 2 != 0) {
            $class = 'row_1';
        } else {
            $class = 'row_2';
        }
        $html .= '<div id="diag_id_' . $key . '" class="defect_list_line" marker="1">';
        // Порядковый номер;
        $html .= '<div class="diag_number table_body_left_cell ' . $class . '" style="width: 2em;">' . ($key + 1) . '</div>';
        $html .= '<div class="diag_name table_body_middle_cell ' . $class . '" style="width: 17em;">' . $defect_name . '</div>';
        $html .= '<div class="diag_price table_body_middle_cell ' . $class . '" style="width: 5em;">' . $defect_price . '</div>';
        $html .= '<div class="diag_inj table_body_middle_cell ' . $class . '" style="width: 8em;">' . $defect_inj . '</div>';
        $html .= '<div class="diag_repair_time table_body_middle_cell ' . $class . '" style="width: 5em;">' . $defect_repair_time . '</div>';
Ejemplo n.º 17
0
function write_memo($numm, $memo_id, $text)
{
    global $db;
    $comm_text = "\r" . date('d.m') . ' - ' . $text . '(' . get_user_full_name($_SESSION['user_id']) . ')';
    $sql = "UPDATE `remont` SET `memo" . $memo_id . "` = CONCAT(`memo" . $memo_id . "` ,'" . $comm_text . "') WHERE `numm` = '" . $numm . "';";
    write_log($sql, 'numm_memo_update_function');
    $db->query($sql);
    return 'OK';
}
Ejemplo n.º 18
0
     echo $html;
 }
 // Создаем новый документ для аппеляции;
 if (isset($_POST['new_justification']) && $_POST['new_justification'] != '') {
     $parent_id = $_POST['parent_id'];
     $doc_numm = $_POST['doc_numm'];
     $sql = "INSERT INTO `justifications` (`parent_id`, `doc_numm`, `author_id`, `date_create`, `date_last_update`, `status`) VALUES('" . $parent_id . "', '" . $doc_numm . "', '" . $_SESSION['user_id'] . "', NOW(), NOW(), '1');";
     write_log($sql, 'justification');
     $db_rs->query($sql);
     // После добавления документа, возращаем его в ответ;
     echo mysqli_insert_id($db_rs->link_id);
 }
 // Обновляем статус апелляции;
 if (isset($_POST['update_status']) && $_POST['update_status'] != '') {
     // Нам надо сообщить в чат о смене статуса;
     $author_id = get_user_full_name($_SESSION['user_id']);
     $just_id = $_POST['justification_id'];
     $new_status = $_POST['status'];
     $status = $new_status;
     if ($status == '1') {
         $status_text = 'Новое обращение';
     }
     if ($status == '2') {
         $status_text = 'Апелляция утверждена';
     }
     if ($status == '3') {
         $status_text = 'Апелляция не утверждена';
     }
     if ($status == '0') {
         $status_text = 'Апеляция удалена';
     }
Ejemplo n.º 19
0
 }
 // Важно понимать, что у нас есть типы заявок, которые не треуют подтверждения руководителя отдела. Поэтому нам надо проверить все;
 $sql = "SELECT `desk_type_id` FROM `service_desk_departments_types` WHERE `id` = '" . $_POST['dep_type_id'] . "';";
 write_log($sql, 'create_new_desk');
 $type_id = $db_rs->one($sql);
 $sql = "INSERT INTO `service_desk` (`author_user_id`, `author_office`, `type_id`, `department_id`, `date_create`, `date_last_update`, `status`, `desk_text`, `todo_user_id`, `date_dead_line`, `attache`, `parent_id`)\n                                            VALUES('" . $_SESSION['user_id'] . "', '" . $_SESSION['office'] . "', '" . $_POST['dep_type_id'] . "', '" . $_POST['dep_id'] . "', '" . date('Y-m-d H:i:00') . "', '" . date('Y-m-d H:i:00') . "', " . ($type_id == 2 ? '2' : '1') . ", '" . $_POST['desk_text'] . "', " . ($work_user == '' ? 'NULL' : $work_user) . ", '" . $_POST['dead_line_date'] . "', " . ($_POST['attache'] == '' ? 'NULL' : $_POST['attache']) . ", " . ($_POST['parent_id'] == '0' ? 'NULL' : $_POST['parent_id']) . ");";
 write_log($sql, 'create_new_desk');
 $double = $db_rs->check('service_desk', array('author_user_id', 'author_office', 'type_id', 'department_id', 'date_create', 'date_last_update', 'status', 'desk_text', 'todo_user_id', 'date_dead_line', 'attache', 'parent_id'), array($_SESSION['user_id'], $_SESSION['office'], $_POST['dep_type_id'], $_POST['dep_id'], date('Y-m-d H:i:00'), date('Y-m-d H:i:00'), $type_id == 2 ? '2' : '1', str_replace(',', '', $_POST['desk_text']), $work_user == '' ? 'NULL' : $work_user, $_POST['dead_line_date'], $_POST['attache'] == '' ? 'NULL' : $_POST['attache'], $_POST['parent_id'] == '0' ? 'NULL' : $_POST['parent_id']));
 if ($double == true) {
     $db_rs->query($sql);
 }
 // Получаем номер д,авленной завяки;
 $desk_item_id = mysqli_insert_id($db_rs->link_id);
 // Если у нас создается вложенная заявка, то нам надо об этом написать в чате головной заявки;
 if ($_POST['parent_id'] != 0) {
     write_event_to_desk_chat($_POST['parent_id'], 'Пользователь: ' . get_user_full_name($_SESSION['user_id']) . ' создал вложенную заявку: ' . $desk_item_id);
     // Так же, при создании вложенной заявки. Все авторы выше стоящих заявок должны стать их наблюдателями;
     $sql = "SELECT `author_user_id` FROM `service_desk` WHERE `id` = '" . $_POST['parent_id'] . "';";
     write_log($sql, 'create_new_desk');
     $parent_author = $db_rs->one($sql);
     $parent_id = $_POST['parent_id'];
     // Будем добавлять авторов в наблюдатели;
     again:
     // Получаем автора выше стоящей заявки;
     $sql = "INSERT INTO `service_desk_viewers` (`service_desk_id`, `viewer_user_id`, `date_create`) VALUES('" . $desk_item_id . "', '" . $parent_author . "', NOW());";
     write_log($sql, 'create_new_desk');
     $db_rs->query($sql);
     // Отправляем уведомление новым наблюдателям;
     send_notification($parent_author, 'Вас сделали наблюдателем за заявкой №' . $desk_item_id . '<br>Нажмите для перехода в список заявок.', 'service_desk', '', '4', $desk_item_id);
     // После добавление автора как наблюдателя
     $sql = "SELECT `parent_id` FROM `service_desk` WHERE `id` = '" . $parent_id . "';";
Ejemplo n.º 20
0
     $class = 'row_1';
 } else {
     $class = 'row_2';
 }
 $html .= '<div id="old_work_id_' . $key . '" class="work_list_line" marker="1" style="margin-bottom: 20px;">';
 // Порядковый номер;
 $html .= '<div class="work_number table_body_left_cell ' . $class . '" style="width: 2em;">' . ($key + 1) . '</div>';
 $html .= '<div class="work_name table_body_middle_cell ' . $class . '" style="width: 17em;">' . str_replace(array('[', ']'), '', $work) . '</div>';
 $price = str_replace(array('[', ']'), '', $old_works_price_line[$key]);
 if ($price == '') {
     $price = 0;
 } else {
     $work_price += $price;
 }
 $html .= '<div class="work_price table_body_middle_cell ' . $class . '" style="width: 5em;">' . $price . '</div>';
 $html .= '<div class="work_inj table_body_middle_cell ' . $class . '" style="width: 8em;">' . get_user_full_name('', str_replace(array('[', ']'), '', $old_works_inj_line[$key])) . '</div>';
 $gar_w = str_replace(array('[', ']'), '', $old_works_gar_w[$key]);
 if ($gar_w == '') {
     $gar_w = 0;
 }
 $html .= '<div class="work_gar table_body_middle_cell ' . $class . '" style="width: 5em;">' . $gar_w . '</div>';
 $html .= '<div class="work_date table_body_middle_cell ' . $class . '" style="width: 9em;">' . get_local_date_time($old_works_date_create, 1) . '</div>';
 $html .= '<div class="work_oper table_body_right_cell ' . $class . '" style="width: 9em;"><img class="mark_for_delete" title="Пометить на удаление" style="cursor:pointer;" src="/templates/images/icons/close.png" width="24px"></div>';
 // Список запчастей;
 $html .= '<div id="part_list_' . $key . '" part_list_id="' . $key . '" class="work_parts ' . $class . '" style="margin-top: -2px; width: 58.2em;border: 1px solid black;border-width: 0px 1px 1px 1px;min-height: 4em;">';
 $html .= $elements->small_title('Список запчастей к данной работе');
 $html .= '<div class="part_list">';
 /* Грузим работы - Нового формата */
 // Получим ID запчастей из резерва;
 $sql = "SELECT `id_tab` FROM `detals` WHERE `numm_rem` = '" . $numm . "';";
 $parts_temp = $db->one($sql);
Ejemplo n.º 21
0
 public function fast_sale_item($fast_sale_data)
 {
     global $db_rs, $db;
     // Была ли скидка по этой продаже?;
     // Если у нас была скидка при продаже, то должна быть возможность и печать документа РКО скидки;
     $sql = "SELECT `id` FROM `rko` WHERE `reason` like '%скидка%' and `reason` like '%" . $fast_sale_data['print_doc_num'] . "%'";
     $discount = $db_rs->one($sql);
     $html = '';
     $html .= '<div id="fast_sale_' . $fast_sale_data['fast_sale_id'] . '" class="notification_type_3 desk_item" style="vertical-align:top; display: inline-block; margin-left: 0.3em; font-size: 0.8em; border: 1px solid black;border-radius: 8px;margin-top: 0.3em;width: 36em;padding: 10px 10px 10px 10px; cursor: default">';
     $html .= '<table style="border: none;" cellspacing="0" cellpadding="0">';
     $html .= '<tr>';
     $html .= '<td>ID Быстрой продажи</td>';
     $html .= '<td><b>' . $fast_sale_data['fast_sale_id'] . '</b></td>';
     $html .= '</tr>';
     $html .= '<tr>';
     $html .= '<td>ID ПКО быстрой продажи</td>';
     $html .= '<td><b>' . $fast_sale_data['id'] . '</b></td>';
     $html .= '</tr>';
     if ($discount != '') {
         $html .= '<tr>';
         $html .= '<td>ID РКО скидки</td>';
         $html .= '<td><b>' . $discount . '</b></td>';
         $html .= '</tr>';
     }
     $html .= '<tr>';
     $html .= '<td>Тип оплаты</td>';
     $pay_type = 'Наличные';
     if ($fast_sale_data['card_pay'] == '1') {
         $pay_type = 'Оплата картой';
     }
     $html .= '<td><b>' . $pay_type . '</b></td>';
     $html .= '</tr>';
     $html .= '<tr>';
     $html .= '<td>Автор</td>';
     $html .= '<td><b>' . get_user_full_name($fast_sale_data['author_user_id']) . '</b></td>';
     $html .= '</tr>';
     $html .= '<tr>';
     $html .= '<td>Дата создания</td>';
     $html .= '<td><b>' . date('d.m.Y H:i:s', strtotime($fast_sale_data['create_date'])) . '</b></td>';
     $html .= '</tr>';
     /*
     if ($pko['accept_date'] != ''){
         $html .= '<tr>';
         $html .= '<td>Согласовал</td>';
         $html .= '<td><b>'.get_user_full_name($pko['accepter_user_id']).'</b></td>';
         $html .= '</tr>';
     
         $html .= '<tr>';
         $html .= '<td>Дата согласования</td>';
         $html .= '<td><b>'.date('d.m.Y H:i:s', strtotime($pko['accept_date'])).'</b></td>';
         $html .= '</tr>';
     
     }
     */
     /*
                 $html .= '<tr>';
                 $html .= '<td>Исполненитель</td>';
                 // Если унас нет получателя и мы администрация - мы можем указать получателя;
                 write_log('3', 'pko');
                 if ($_SESSION['department_id'] == 2){
                     // Здесь мы будем строить выпдашку с пользователями;
                     $sql = "SELECT `users_apps`.`id`, CONCAT(`user_full_name`, ' (', `departments`.`name`, ')') as `name` FROM `users_apps`
                         LEFT JOIN `departments` ON `departments`.`id` = `users_apps`.`dep_id`
                         WHERE `app_id` IN (1, 8) AND `dep_id` != 1 ORDER BY `departments`.`name`;";
                     write_log($sql, 'pko');
                     $users = $db_rs->all($sql);
                     $receive_html = '<select id="pko_receiver" onchange="set_new_receiver('.$pko['id'].')" style="height: 39px; text-align: center; background-color: #ffffff; padding: 5px 5px 5px 5px; border-radius: 7px; opacity: 0.9; border: 1px solid #5f5f5f;">';
                     $receive_html .= '<option value="none" disabled selected>Выберите исполнителя ПКО</option>';
                     foreach($users as $user){
                         $receive_html .= '<option value="'.$user['id'].'" '.($pko['receive_user_id'] == $user['id'] ? 'selected': '').'>'.$user['name'].'</option>';
                     }
                     $receive_html .= '</select>';
                 }   else{
                     $receive_html = get_user_full_name($pko['receive_user_id']);
                 }
                 $html .= '<td><b>'.$receive_html.'</b></td>';
                 $html .= '</tr>';
     */
     /*
             if ($pko['receive_date'] != ''){
                 $html .= '<tr>';
                 $html .= '<td>Дата исполнения</td>';
                 $html .= '<td><b>'.date('d.m.Y H:i:s', strtotime($pko['receive_date'])).'</b></td>';
                 $html .= '</tr>';
             }
     */
     /*
             $html .= '<tr>';
             $html .= '<td>Дата последних изменений</td>';
             $html .= '<td><b>'.date('d.m.Y H:i:s', strtotime($pko['date_last_update'])).'</b></td>';
             $html .= '</tr>';
     */
     $html .= '<tr>';
     $html .= '<td>Основание</td>';
     $html .= '<td><b>' . $fast_sale_data['reason'] . '</b></td>';
     $html .= '</tr>';
     /*
             $html .= '<tr>';
             $html .= '<td>Платильщик денежных средств</td>';
             $receiver = $pko['selected_name'];
             $html .= '<td><b>'.($receiver != '' ? ''.$receiver.'' : '').'</b></td>';
             $html .= '</tr>';
     */
     $html .= '<tr>';
     $html .= '<td>Сумма</td>';
     $html .= '<td><b>' . number_format($fast_sale_data['sum'], 2, '.', ' ') . ' руб.</b></td>';
     $html .= '</tr>';
     // КНопки печати всякой шлюпы;
     $html .= '</table>';
     $html .= '<div class="menu_button" onclick="print_pko(' . $fast_sale_data['id'] . ')">Печать ПКО быстрой продажи</div>';
     if ($discount != '') {
         $html .= '<div class="menu_button" onclick="PrintRKO(' . $discount . ')">Печать РКО скидки</div>';
     }
     // КНопка для показывания содержимого продажи;
     $html .= '<div class="menu_button" id="show_sale_items" sale_id="' . $fast_sale_data['fast_sale_id'] . '">Что продали?</div>';
     //$html .= $this->button('Что продали?', 'show_sale_items', '', '', 1);
     $html .= '<div id="sale_items_' . $fast_sale_data['fast_sale_id'] . '" hidden>';
     // Здесь мы выводи продробност о быстрой продажи;
     $sql = "SELECT * FROM `fast_sales_items` WHERE `fast_sale_id` = '" . $fast_sale_data['fast_sale_id'] . "';";
     $sale_items = $db_rs->all($sql);
     $items_headers = array('Артикул товара', 'ID товара', 'Наименование товара', 'Количество', 'Цена', 'Сумма');
     $items_array = array();
     foreach ($sale_items as $item) {
         $items_array[] = array($item['item_art'], $item['item_index_i'], $item['item_name'], $item['count'], $item['item_price2'], $item['count'] * $item['item_price2']);
     }
     $html .= '<br>';
     $html .= $this->table($items_headers, $items_array);
     $html .= '</div>';
     $html .= '</div>';
     write_log($html, 'show_sales_list_html');
     return $html;
 }
Ejemplo n.º 22
0
  * Отдельная обработка отдельных фильтров с доработкой
  *
  * */
 /* Статус */
 if ($systems->find_text($fields, 'status') == true) {
     // Далем запрос имени этого статуса;
     $sql = "SELECT `name` FROM `status` WHERE `id` = '" . $item[$fields] . "';";
     $field_name = $db_rs->one($sql);
 }
 /* Даты */
 if ($systems->find_text($fields, 'date') == true || $systems->find_text($fields, 'saved') == true || $systems->find_text($fields, 'saveds') == true) {
     $field_name = get_local_date_time($item[$fields]);
 }
 /* Инженер и кто принял */
 if ($systems->find_text($fields, 'inj') == true || $systems->find_text($fields, 'pri') == true) {
     $field_name = get_user_full_name('', $item[$fields]);
 }
 /* Офисы */
 if ($systems->find_text($fields, 'office') == true) {
     $field_name = $_SESSION['offices'][$item[$fields]];
 }
 /* Боксы */
 if ($systems->find_text($fields, 'place_h') == true) {
     $field_name = get_local_date_time($systems->convert_placeh_to_date($item[$fields]));
 }
 /* Результат ремонта */
 if ($systems->find_text($fields, 'ok_rem') == true) {
     switch ($item[$fields]) {
         case '1':
             $field_name = 'С ремонтом';
             break;
Ejemplo n.º 23
0
    $html .= get_user_full_name($current_unj);
} else {
    $html .= '-';
}
// Проверяем есть ли тот кто хочет отказаться от заказа;
$sql = "SELECT `kompl` FROM `remont` WHERE `numm` = '" . $numm . "';";
$want_kompl = $db->one($sql);
if ($want_kompl != '') {
    $html .= $elements->caption('Инженер хочет оказаться от исполнения этого заказа!');
}
// Проверяем есть ли тот кто хочет выполнять этот заказ;
$sql = "SELECT `kolvs` FROM `remont` WHERE `numm` = '" . $numm . "';";
$want_kolvs = $db->one($sql);
if ($want_kolvs != '') {
    $html .= $elements->caption('Данный инженер хочет начать исполнение этого заказа:');
    $html .= get_user_full_name('', $want_kolvs);
}
// Если у нас есть тот кто хочет отказаться и тот кто хочет начать выполнение этого заказа - выводим кнопку для смены;
if ($want_kolvs != '' && $want_kompl != '') {
    $html .= '<br>';
    $html .= $elements->button_icon('Подвердить смену инженеров', 'ok', 'accept_inj_change');
}
// Если главному инженеру надо тупо сменить инженера у заказа, в этос случае все пожелания об отказе или желании выолпнить - аннулируются;
// Выводим ему списко инежнеров где он выберет нужного инженера;
$sql = "SELECT `user_full_name` as `name`, `users_apps`.`id` as `id`, `appointments`.`name` as `app_name` FROM `users_apps`, `appointments` WHERE `users_apps`.`app_id` = `appointments`.`id` AND (`appointments`.`name` LIKE '%инженер%' OR `appointments`.`name` LIKE '%модульщик%') OR (`dep_id` = 8 AND `app_id` = 13) GROUP BY `users_apps`.`id`;";
$inj_array = $db_rs->all($sql);
$inj_list = array();
$inj_list[] = array('caption' => 'Выберите нового инженера', 'value' => '-1', 'selected' => '1', 'disabled' => '1');
foreach ($inj_array as $inj_item) {
    $inj_list[] = array('caption' => $inj_item['name'] . ' (' . $inj_item['app_name'] . ')', 'value' => $inj_item['id'], 'selected' => '', 'disabled' => '');
}
Ejemplo n.º 24
0
 public function input_message($chat_id, $from, $from_id, $message_text)
 {
     global $bot_info, $db, $db_rs, $systems, $rs;
     // Из за того что у нас группа, надо ловить сообщения именно боту;
     //$message_text = str_replace('@'.$bot_info['username'], '', $message_text);
     // Отлавливаем команд с префиксом;
     $temp_command = explode(' ', $message_text);
     $command = strtolower($temp_command[0]);
     // Проверяем отдел пользователя;
     $sender_department = get_user_department($systems->user_telegram($from_id, ''));
     // ОБщаяя обработка команд;
     switch ($command) {
         /*
          * Первое знакомство или запрос помощи;
          * */
         case '/start':
         case '/help':
             // Проверяем, знаем ли мы этого пользователя;
             if ($systems->user_telegram($from_id) == false) {
                 // Если мы не знаем такого пользователя. Гооворим ему как зарегистрироваться;
                 $this->send_message($chat_id, "😥 Уважаемый " . $from . ". Вы пока не зарегистрированный пользователь.\nДля того что бы зарегистрироваться, вам нужно зайти в раздел Telegram в Системе Remontoff.\nИ следовать указанным там инструкциям. Удачи вам!");
             } else {
                 // Имя пользователя;
                 $user_full_name = get_user_full_name($systems->user_telegram($from_id));
                 // Формируем доступные команды;
                 if ($sender_department == '2' || $sender_department == '12') {
                     $command_list = "Вы руководитель и вам доступные следующие команды:\r\n/code - Прислать код для авторизации в системе.\r\n/money - Прислать текущее наличие ДС в кассах.\r\n/plan - Прислать результат выполнения плана на месяц.";
                 } else {
                     $command_list = "Вы обычный пользователь и вам доступные следующие команды:\r\n/code - Прислать код для авторизации в системе.";
                 }
                 // Если такой польователь уже есть;
                 $this->send_message($chat_id, "🙋 Привет " . $user_full_name . "!\r\n 💁" . $command_list);
             }
             return true;
             break;
             /*
              * Регистрация;
              * */
         /*
          * Регистрация;
          * */
         case '/reg':
             // Если сообщение содержить команду на регистрацию;
             // Забираем из нее код;
             $code = $temp_command[1];
             // Ищем этот код в базе;
             $user_id = $systems->get_telegram_reg($code);
             if ($user_id != false) {
                 // Сохраняем новый telegram id в базе;
                 $systems->save_telegram_id($user_id, $from_id);
                 $this->send_message($chat_id, "🙌 Поздравляем! Вы успешно привязали свою учетную запись к Telegram. Теперь я буду присылать вам важные уведомления. Список доступных команд /help");
                 return true;
             } else {
                 // Такой код не найден;
                 $this->send_message($chat_id, "🙅 Введенный вами код для регистрации не найден. Повторите попытку ввода команды. Или попробуйте сгенерировать новый код в разделе Telegram в Системе Remontoff.");
                 return true;
             }
             break;
             /*
              * Запрос кода авторизации;
              * */
         /*
          * Запрос кода авторизации;
          * */
         case '/code':
             // Нам надо имя пользователя;
             $user_id = $systems->user_telegram($from_id);
             $sql = "SELECT `user_name` FROM `users_apps` WHERE `id` = '" . $user_id . "';";
             $user_name = $db_rs->one($sql);
             $systems->auth_history($user_name, '', '', '', 'get_code');
             $this->gen_user_auth_key($chat_id);
             return true;
             break;
             /*
              * Деньги с кассах;
              * */
         /*
          * Деньги с кассах;
          * */
         case '/money':
             if ($sender_department != '2' && $sender_department != '12') {
                 $this->send_message($chat_id, "🙅 Данная команда для вас запрещена!");
                 return true;
             }
             $result_message = '';
             $sql = "SELECT `code`, `name`FROM `office` WHERE `kassa_list` = '1';";
             $office = $db->all($sql);
             $kassa_sum_full = 0;
             foreach ($office as $temp_array) {
                 // Получаем данные об остатках в кассах;
                 // Остаток на конец операционного дня;
                 $sql = "SELECT `id` FROM `kassa` WHERE `office` = '" . $temp_array['code'] . "';";
                 $all_cash = $db_rs->all($sql);
                 $kassa_cash_today = 0;
                 foreach ($all_cash as $kassa) {
                     $kassa_cash_today += calc_today_cash($kassa['id'], date('Y-m-d'));
                 }
                 $kassa_cash_yesterday = 0;
                 foreach ($all_cash as $kassa) {
                     $kassa_cash_yesterday += calc_yesterday_cash($kassa['id'], date('Y-m-d'));
                 }
                 $kassa_sum = $kassa_cash_today + $kassa_cash_yesterday;
                 $kassa_sum_full += $kassa_sum;
                 $result_message .= get_office_name($temp_array['code']) . ': ' . get_money_format($kassa_sum) . ' р.' . "\n";
             }
             $result_message .= 'Итого: ' . get_money_format($kassa_sum_full) . 'р.';
             $this->send_message($chat_id, $result_message);
             return true;
             break;
             /*
              * План и выполнение;
              * */
         /*
          * План и выполнение;
          * */
         case '/plan':
             if ($sender_department == '2' || $sender_department == '12') {
                 $this->send_message($chat_id, "🕑 Мне необходимо немного времени для расчета плана...");
                 // Собиарем информаци о планах и факты выполнения;
                 $this->send_message($chat_id, $this->get_money_plan_and_fact());
                 return true;
             } else {
                 $this->send_message($chat_id, "🙅 Данная команда для вас запрещена!");
                 return true;
             }
             break;
             /*
              * неизвестная команда;
              * */
         /*
          * неизвестная команда;
          * */
         default:
             $this->send_message($chat_id, "⚠ Неизвестная комманда.");
             return true;
             break;
     }
 }
Ejemplo n.º 25
0
             }
             if ($good_price > 1000) {
                 $user_prize = 200;
             }
             if ($good_price <= 1000) {
                 $user_prize = 100;
             }
         } else {
             $user_prize = 0;
         }
     }
     $html .= '<tr>';
     $html .= '<td class="' . $class . '" align="center">' . $sales['id'] . '</td>';
     $html .= '<td class="' . $class . ' inf_row" align="center">' . get_local_date_time($sales['date']) . '</td>';
     $html .= '<td class="' . $class . ' inf_row" align="center">' . get_office_name($sales['office']) . '</td>';
     $html .= '<td class="' . $class . ' inf_row" align="center">' . get_user_full_name('', $sales['user_full_name']) . '</td>';
     $html .= '<td class="' . $class . ' inf_row" align="center">' . $good_name . '</td>';
     $html .= '<td class="' . $class . ' inf_row" align="center">' . get_money_format($sales['item_price3']) . 'р.</td>';
     $html .= '<td class="' . $class . ' inf_row" align="center">' . ($sales['stock'] == '1' ? 'Да' : 'Нет') . '</td>';
     $html .= '<td class="' . $class . ' inf_row" align="center">' . get_money_format($user_prize) . 'р.</td>';
     $html .= '</tr>';
     // Считаем суммы тоже;
     //$sums['sales_count'] += $sales['sales_count'];
     //$sums['sales_sum'] += $sales['sales_sum'];
     //$sums['sales_profit'] += $sales['sales_profit'];
 }
 /*
             $html .= '<tr>';
             $html .= '<td class="row_top">ИТОГО</td>';
             $html .= '<td class="row_top inf_row">'.$sums['sales_count'].'</td>';
             $html .= '<td class="row_top inf_row">'.$sums['sales_sum'].'</td>';
Ejemplo n.º 26
0
        $html .= '<td class="' . $class . ' inf_row" align="center">' . ($wage_array['sum_pay'] == '' ? 0 : $wage_array['sum_pay']) . '</td>';
        $html .= '<td class="' . $class . ' inf_row" align="center">' . ($wage_array['sum_det'] == '' ? 0 : $wage_array['sum_det']) . '</td>';
        $html .= '<td class="' . $class . ' inf_row" align="center">' . ($wage_array['sum_wage'] == '' ? 0 : $wage_array['sum_wage']) . '</td>';
        $avr = $wage_array['count'] != 0 && $wage_array['count'] != '' ? $wage_array['sum_pay'] / $wage_array['pay_count'] : 0;
        $html .= '<td class="' . $class . ' inf_row" align="center">' . ROUND($avr, 0) . '</td>';
        $html .= '</tr>';
        // Саммируем для последней строки;
        $count_sum += $wage_array['count'];
        $sum_pay += $wage_array['sum_pay'] == '' ? 0 : $wage_array['sum_pay'];
        $sum_det += $wage_array['sum_det'];
        $sum_wage += $wage_array['sum_wage'] == '' ? 0 : $wage_array['sum_wage'];
    }
} else {
    $wage_array = $systems->get_inj_wage_summary_array($_SESSION['user_login'], date('Y-m-d', $date_from), date('Y-m-d-', $date_to));
    $html .= '<tr>';
    $html .= '<td class="row_1" align="center">' . get_user_full_name($_SESSION['user_id']) . '</td>';
    $html .= '<td class="row_1 inf_row" align="center">' . $wage_array['count'] . '</td>';
    $html .= '<td class="row_1 inf_row" align="center">' . ($wage_array['sum_pay'] == '' ? 0 : $wage_array['sum_pay']) . '</td>';
    $html .= '<td class="row_1 inf_row" align="center">' . ($wage_array['sum_det'] == '' ? 0 : $wage_array['sum_det']) . '</td>';
    $html .= '<td class="row_1 inf_row" align="center">' . ($wage_array['sum_wage'] == '' ? 0 : $wage_array['sum_wage']) . '</td>';
    $avr = $wage_array['count'] != 0 && $wage_array['count'] != '' ? $wage_array['sum_pay'] / $wage_array['pay_count'] : 0;
    $html .= '<td class="row_1 inf_row" align="center">' . ROUND($avr, 0) . '</td>';
    $html .= '</tr>';
    // Саммируем для последней строки;
    $count_sum += $wage_array['count'];
    $sum_pay += $wage_array['sum_pay'] == '' ? 0 : $wage_array['sum_pay'];
    $sum_det += $wage_array['sum_det'];
    $sum_wage += $wage_array['sum_wage'] == '' ? 0 : $wage_array['sum_wage'];
}
// Итоговая строка с суммами;
$html .= '<tr>';
Ejemplo n.º 27
0
function show_office_extradition_sheet($take_page_data)
{
    // Сначала нам надо проверить можем ли мы показывать пользователю этьот аппарата как выданный, так как у нас документ мог просто открыть ся и кзакрыть;
    // Даже без выдачи, Но у него типа есть такой комметарий в тексте;
    $black_list = array();
    /* Старый формат выдачи по комментарию */
    /*
    foreach($take_page_data as $item){
        $check_change_date = only_dvj_parse($item['dvj'], array(12), 1);
        // Поулчаем все даты для сравнения;
        $saved_date = date('Y-m-d', strtotime($item['saved']));
        $dvj_date = date('Y-m-d', strtotime($check_change_date['date']));
    
        if ($saved_date != $dvj_date){
            $black_list[$item['numm']] = 1;
            write_log('Чёрный список = '.$item['numm'].' : '.$saved_date.' => '.$dvj_date, 'date_diff');
        }   else{
            write_log($item['numm'].' : '.$saved_date.' => '.$dvj_date, 'date_diff');
        }
    }
    */
    $html = '<div class="page_caption">%itog%</div>';
    $html = str_replace('%itog%', 'Всего выдано: <b>' . count($take_page_data) . '</b>', $html);
    $html .= '<table id="take_items" style="border: 1px solid black" cellspacing="0" cellpadding="0">';
    $html .= '<tr>';
    $html .= '<td class="row_top" style="padding: 5px;"><b>№ Заказа</b></td>';
    $html .= '<td class="row_top" style="padding: 5px;"><b>№ Документа оплаты выдачи</b></td>';
    $html .= '<td class="row_top" style="padding: 5px;"><b>Кто выдал</b></td>';
    $html .= '<td class="row_top" style="padding: 5px;"><b>Когда выдал</b></td>';
    $html .= '<td class="row_top" style="padding: 5px;"><b>Квитанций</b></td>';
    $html .= '<td class="row_top" style="padding: 5px;"><b>Доверенностей</b></td>';
    $html .= '<td class="row_top" style="padding: 5px;"><b>Статус документов</b></td>';
    $html .= '</tr>';
    // Забираем данны еи формируем таблицы;
    foreach ($take_page_data as $key => $item) {
        if ($black_list[$item['numm']] == '') {
            /* новый формат выдачи по новой таблице - take_tech. Это более удобный и цивилизованнный способ позволяющий контролировать тип получаемых дкоументов; */
            $kvit_doc_count = 2;
            $dov_doc_count = 0;
            $rb_kassa_code_id = '-';
            // Если у нас есть доверенность - то меняем количество строк;
            if ($item['client_receive_doc'] == '0') {
                $kvit_doc_count = 1;
                $dov_doc_count = 1;
            }
            // Если у нас есть документ оплаты, записываем его;
            if ($item['rb_kassa_code_id'] != '0') {
                $rb_kassa_code_id = $item['rb_kassa_code_id'];
            }
            // Визуальный класс чет нечет;
            if ($key % 2 != 0) {
                $class = 'row_1';
            } else {
                $class = 'row_2';
            }
            $html .= '<tr>';
            $html .= '<td class="' . $class . '" style="text-align: center;">' . $item['numm'] . '</td>';
            $html .= '<td class="' . $class . ' inf_row" style="text-align: center;">' . $rb_kassa_code_id . '</td>';
            $html .= '<td class="' . $class . ' inf_row" style="text-align: center;">' . get_user_full_name($item['user_id']) . '</td>';
            $html .= '<td class="' . $class . ' inf_row" style="text-align: center;">' . get_local_date_time($item['date'], 1) . '</td>';
            $html .= '<td class="kvit ' . $class . ' inf_row" parent_div="' . $item['numm'] . '" style="text-align: center;">' . $kvit_doc_count . '</td>';
            $html .= '<td class="dover ' . $class . ' inf_row" parent_div="' . $item['numm'] . '" style="text-align: center;">' . $dov_doc_count . '</td>';
            $html .= '<td class="status ' . $class . ' inf_row" id="' . $item['numm'] . '" style="text-align: center;"><img src="/templates/images/icons/ok.png" height="16"></td>';
            $html .= '</tr>';
        }
    }
    if (count($take_page_data) == 0) {
        $html .= '<tr>';
        $html .= '<td>-</td>';
        $html .= '<td>-</td>';
        $html .= '<td>-</td>';
        $html .= '<td>-</td>';
        $html .= '<td>-</td>';
        $html .= '<td>-</td>';
        $html .= '<td>-</td>';
        $html .= '</tr>';
    }
    $html .= '</table>';
    write_log($html, 'new_take_tech');
    return $html;
}
Ejemplo n.º 28
0
             <td class="row_top inf_row">ФИО</td>
             <td class="row_top inf_row">Автор</td>
             <td class="row_top inf_row">Дата регситрации</td>
             <td class="row_top inf_row">Дата создания заказа</td>
             <td class="row_top inf_row">Номер заказа</td>
             <td class="row_top inf_row">Операции</td>';
     $html .= '</tr>';
     // Строим таблицу с обращниями;
     foreach ($current_handlings as $key => $handling) {
         if ($key % 2 != 0) {
             $class = 'row_1';
         } else {
             $class = 'row_2';
         }
         $html .= '<tr handling_id="' . $handling['id'] . '" numm="' . $handling['numm'] . '" class="' . $class . ' handling_in_list">';
         $html .= '<td align="center">' . $handling['id'] . '</td><td>' . $handling['client_fam'] . ' ' . $handling['client_name'] . ' ' . $handling['client_otch'] . '</td><td>' . get_user_full_name($handling['author_user_id']) . '</td><td align="center">' . get_local_date_time($handling['date_start'], 1) . '</td><td align="center">' . ($handling['date_finish'] != '' ? get_local_date_time($handling['date_finish'], 1) : '-') . '</td>
         <td align="center">' . ($handling['numm'] != '' ? $handling['numm'] : '-') . '</td>';
         // Если у нас нет номера заказа, то даем созможность удалить пользователю это обращение;
         // Проверяем есть ли у нас оптравление в которых в заказе есть это оращение;
         $sql = "SELECT `id` FROM `couriers_packages` WHERE `package_handling` = '" . $handling['id'] . "';";
         $exist_package = $db_rs->one($sql);
         if ($handling['numm'] == '' && $exist_package == '') {
             $html .= '<td align="center" class="' . $class . '"><img class="delete_handling" handling_id="' . $handling['id'] . '" style="cursor:pointer;" src="/templates/images/icons/close.png" title="Удалить обращение" height="16px"></td>';
         } else {
             $html .= '<td align="center">-</td>';
         }
         $html .= '</tr>';
     }
     $html .= '</table>';
     echo $html;
 }