<?php
include_once(_DIR_EXT.'/HTML/c_page_TXT.php') ;
class c_page_get2 extends c_page_txt
{ public $rec_personal  ;
  public $rec_mo  ;
  
  function body()
  { if (isset($_GET['manual']))
      {   $this->show_manual() ;
          return ;

      }

    $result=array() ;
    $time_mo=getdate(time()) ;
    //$time_from=mktime($time_mo['hours']-8,$time_mo['minutes'],$time_mo['seconds'],$time_mo['mon'],$time_mo['mday'],$time_mo['year']);
    $result['time_now']=date('d.m.Y H:i:s') ;
    //$result['time_from']=date('d.m.Y H:i:s',$time_from) ;
    $driver_code=urldecode(_CUR_PAGE_NAME) ;
    $arr=explode('/',_CUR_PAGE_DIR) ;
    $org_uid=$arr[3] ; $client_id=0 ; $org_id=0 ;
    $result['org_uid']=$arr[3] ;
    if ($org_uid) $client_id=execSQL_value('select pkey from obj_site_account where UID="'.addslashes($org_uid).'"') ;
    // пока допускаем что у одного клиента одна организация
    if ($client_id) $org_id=execSQL_value('select pkey from obj_site_personals where client_id='.$client_id) ;


    if ($client_id and $org_id and $driver_code)
    {   $org_parent_ids=PERSONAL()->tree[$org_id]->get_list_child() ;
        $result['org_parent_ids']=$org_parent_ids ;
        $this->rec_personal=PERSONAL()->get_personal(array('driving'=>$driver_code),array('dop_usl'=>'enabled=1 and parent in ('.$org_parent_ids.')')) ;
        // меняем функцию  get_last_mo_rec_to_personal на check_active_dopusk
        //$this->rec_mo=ESMO()->get_last_mo_rec_to_personal($this->rec_personal['pkey'],array('_only_model'=>'all','time_from'=>$time_from,'debug'=>2)) ;
        $this->rec_mo=ESMO()->check_active_dopusk($this->rec_personal['pkey']) ;
        //$result['debug']['personal']=$this->rec_personal ;
        //$result['debug']['time_from']=date('d.m.Y H:i',$time_from) ;
        //damp_array($this->rec_mo) ;
        if ($this->rec_mo)
        {  $result['name']=$this->rec_mo['member_name'] ;
           $result['dr']=$this->rec_mo['member_dr'] ;
           $result['org_name']=$this->rec_mo['_org_name'] ;
           $result['park_name']=$this->rec_mo['_otdel_name'] ;
           $result['terminal_name']=$this->rec_mo['terminal_name'] ;
           $result['terminal_name']=$this->rec_mo['terminal_name'] ;
           $result['time_MO']=$this->rec_mo['_data'] ;
           $result['mo_id']=$this->rec_mo['pkey'] ;
           $result['mo_result_id']=$this->rec_mo['status'] ;
           $result['mo_result_text']=$this->rec_mo['_status_name'] ;
           $result['mo_dopusk_id']=$this->rec_mo['dopusk'] ;
           $result['mo_dopusk_text']=$this->rec_mo['_dopusk_name_full'] ;


           include_once(_DIR_EXT.'/aspmo_rmt/i_mrt.php') ;
           $rec_to=CAR_TO()->get_TO_by_mo($this->rec_mo['pkey']) ;
           if ($rec_to['pkey'])
           {  $result['car_number']=$rec_to['car_number'] ;
              $result['to_id']=$rec_to['pkey'] ;
              $result['to_result_id']=$rec_to['status'] ;
              $result['to_result_text']=$rec_to['_status'] ;
              $arr_doc=explode('_',str_replace('.pdf','',$rec_to['doc_name'])) ;
              $result['to_pl']='Путевой лист серия '.$arr_doc[1].' № '.$arr_doc[2] ;
              $result['to_time']=date('d.m.Y H:i:s',$rec_to['c_data'] ) ;
              $result['to_srok']=date('d.m.Y H:i:s',$rec_to['e_data'] ) ;
              $result['to_technik']=$rec_to['_member_name'] ;
           }
           //damp_array($rec_to) ;

        }
        else
        { $result['error_code']='mo_not_found' ;
          $result['error_text']='Водитель с ВУ '.$driver_code.' последние 8 часов МО не проходил' ;
        }

    } else
    { $result['error_code']='no_driving' ;
      $result['error_text']='Не указан номер ВУ' ;
    }

    //damp_array($result) ;

    $text_json_out=json_encode($result) ;
    if (isset($_GET['check'])) damp_array($result,1,-1) ; else echo $text_json_out ;
    //LOGS()->reg_log('WHOIS','"'.$number.'"  => '.$this->rec_personal['obj_name'].' ['.$this->rec_personal['propusk'].']',array('member_id'=>$this->rec_personal['pkey'],'terminal_id'=>$terminal_id)) ;
  }

  function show_manual()
  { ?><link rel="stylesheet" type="text/css" href="/images/open-sans/opensans_regular_cyrillic/stylesheet.css" charset="utf-8">
  	  <link rel="stylesheet" type="text/css" href="/images/open-sans/opensans_bold_cyrillic/stylesheet.css" charset="utf-8">
  	  <link rel="stylesheet" type="text/css" href="/class/style.css" charset="utf-8">
      <body style="padding:20px;">
        <h1>Интерфейс для получения информации по МО водителя</h1>
        <h2>Параметры запроса</h2>
        <p>Запрос производится обращением на URL, который включает в себя параметры запроса:</p>
        <p><strong><?echo _MAIN_PROTOCOL._MAIN_DOMAIN?>/get/driverinfo/UID/DRIVER</strong></p>
        <ul>
          <li>UID - ваш UID клиента системы, назначенный вам при регистрации в системе</li>
          <li>DRIVER - номер ВУ водителя, без пробелов, в нижнем регистре</li>
        </ul>
        <p>Пример URL: <strong><?echo _MAIN_PROTOCOL._MAIN_DOMAIN?>/get/driverinfo/6831923912739183/7701427899</strong>, в данном запросе:</p>
        <ul>
                  <li>6831923912739183 - UID клиента системы</li>
                  <li>7701427899 - номер ВУ водителя</li>
        </ul>
        <p>Параметры, которые можно передать в строке запроса:</p>
                <ul>
                          <li>check - вывод результата в виде таблицы</li>
                          <li>manual - данное руководство</li>
                </ul>
        <p>Примеры URL с параметрами</p>
                <ul>
                          <li><?echo _MAIN_PROTOCOL._MAIN_DOMAIN?>/get/driverinfo/6831923912739183/7701427899?check</li>
                          <li><?echo _MAIN_PROTOCOL._MAIN_DOMAIN?>/get/driverinfo/?manual</li>
                </ul>
        <h2>Формат ответа</h2>
        <p>Ответ системы происходит в формате JSON, поля ответа:</p>
        <ul>
                  <li><strong>time_now</strong> - текущее время сервера</li>
                  <li><strong>time_from</strong> - время, от которого происходил поиск МО</li>
                  <li><strong>name</strong> -  ФИО водителя</li>
                  <li><strong>dr</strong> -  дата рождения водителя</li>
                  <li><strong>org_name</strong> -  организация, от которой водитель проходил МО</li>
                  <li><strong>park_name</strong> -  автопарк, от которого водитель проходил МО</li>
                  <li><strong>terminal_name</strong> -  терминал, на котором водитель проходил МО</li>
                  <li><strong>time_MO</strong> -  дата прохождения МО</li>
                  <li><strong>mo_id</strong> - id сессии МО</li>
                  <li><strong>mo_result_id</strong> - id результата МО на терминале (1: осмотр окончен, успешно, 2: осмотр окончен, ошибка, 3: осмотр не проводился)</li>
                  <li><strong>mo_result_text</strong> - текстовое описание результата МО</li>
                  <li><strong>mo_dopusk_id</strong> - id допуска(1: допуск получен, 2: допуск запрещен)</li>
                  <li><strong>mo_dopusk_text</strong> - текстовое описание допуска</li>

                  <li><strong>car_number</strong> - номер авто, на котором проходил ТО</li>
                  <li><strong>to_id</strong> - id сессии ТО</li>
                  <li><strong>to_result_id</strong> - id результата ТО (1: ТО пройден, успешно, 2: ТО не пройден)</li>
                  <li><strong>to_result_text</strong> - текстовое описание результата ТО</li>
                  <li><strong>to_pl</strong> - серия и номер выданного путевого листа</li>
                  <li><strong>to_time</strong> - дата выдачи путевого листа</li>
                  <li><strong>to_srok</strong> - срок действия путевого листа</li>
                  <li><strong>to_technik</strong> - ФИО техника, проводившего ТО</li>
        </ul>
        <p><strong>Пример ответа системы в формате JSON</strong></p>
        <p>{"time_now":"22.10.2015 14:41:14","time_from":"22.10.2015 06:41:14","name":"\u0410\u0437\u0430\u0440\u043e\u0432 \u041f\u0430\u0432\u0435\u043b \u0413\u0435\u043d\u043d\u0430\u0434\u044c\u0435\u0432\u0438\u0447","dr":"03.01.1992","org_name":"\u041e\u041e\u041e \u00ab\u0422\u0440\u0430\u043d\u0441\u043a\u043e\u043c\u00bb ","park_name":"\u0411\u0443\u043a\u0435\u0442 \u0442\u0430\u043a\u0441\u0438","terminal_name":"\u0410\u043b\u0435\u043a\u0441\u0435\u0435\u0432\u0441\u043a\u0430\u044f \u041c\u0422-6","time_MO":"22.10.2015 12:42","mo_id":"175477","mo_result_id":"2","mo_result_text":"\u041e\u0441\u043c\u043e\u0442\u0440 \u043e\u043a\u043e\u043d\u0447\u0435\u043d, \u0443\u0441\u043f\u0435\u0448\u043d\u043e","mo_dopusk_id":"1","mo_dopusk_text":"\u0414\u043e\u043f\u0443\u0441\u043a \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d","car_number":"\u043a\u043d55777","to_id":"5664","to_result_id":"1","to_result_text":"\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d","to_pl":"\u041f\u0443\u0442\u0435\u0432\u043e\u0439 \u043b\u0438\u0441\u0442 \u0441\u0435\u0440\u0438\u044f 4500 \u2116 1247","to_time":"22.10.2015 13:00:18","to_srok":"26.10.2015 12:59:00","to_technik":"\u041a\u043e\u043f\u044b\u043b\u043e\u0432 \u0410.\u0421."}</p>
        <p><strong>Пример ответа системы в тестовом режиме (при передаче параметра check)</strong></p>
        <style>
         table.debug {table-layout:fixed;border-collapse:collapse;empty-cells:show;margin:10px 0;background:white;}
         table.debug td{border:1px solid gray;padding:5px;}
         table.debug td strong{color:black;}
       </style>              <table class="left debug damp_array"><tr><td>time_now</td><td>22.10.2015 14:41:30</td></tr><tr><td>time_from</td><td>22.10.2015 06:41:30</td></tr><tr><td>name</td><td>Азаров Павел Геннадьевич</td></tr><tr><td>dr</td><td>03.01.1992</td></tr><tr><td>org_name</td><td>ООО «Транском»</div></td></tr><tr><td>park_name</td><td>Букет такси</td></tr><tr><td>terminal_name</td><td>Алексеевская МТ-6</td></tr><tr><td>time_MO</td><td>22.10.2015 12:42</td></tr><tr><td>mo_id</td><td>175477</td></tr><tr><td>mo_result_id</td><td>2</td></tr><tr><td>mo_result_text</td><td>Осмотр окончен, успешно</td></tr><tr><td>mo_dopusk_id</td><td>1</td></tr><tr><td>mo_dopusk_text</td><td>Допуск разрешен</td></tr><tr><td>car_number</td><td>кн55777</td></tr><tr><td>to_id</td><td>5664</td></tr><tr><td>to_result_id</td><td>1</td></tr><tr><td>to_result_text</td><td>Разрешен</td></tr><tr><td>to_pl</td><td>Путевой лист серия 4500 № 1247</td></tr><tr><td>to_time</td><td>22.10.2015 13:00:18</td></tr><tr><td>to_srok</td><td>26.10.2015 12:59:00</td></tr><tr><td>to_technik</td><td>Копылов А.С.</td></tr></table>
        <h2>Сообщения о ошибках</h2>
        <p>В случае ошибочного ввода параметров запроса или отсутствия данных по МО, системой будет возвращен код ошибки и его текстовое описание:</p>
        <ul>
                          <li><strong>error_code</strong> - код ошибки</li>
                          <li><strong>error_text</strong> - описание ошибки</li>
        </ul>
        <p><strong>Воможные коды ошибок и их описания</strong></p>
        <ul>
                          <li><strong>uid_failed</strong> - неверный номер UID для доступа к системе</li>
                          <li><strong>no_driving</strong> - Не указан номер ВУ</li>
                          <li><strong>mo_not_found</strong> - Водитель последние 8 часов МО не проходил</li>
                </ul>
      </body>

    <?
  }




}



?>