<?php
class report_mo_based extends c_report
{
 var $title='Отчет по МО (краткий)' ;
 var $view_by_space_filter=1 ;
 var $allow_org_ids=1 ;
 var $usl_select_org='' ;

 function setting($options=array())
 {    $recs_org=PERSONAL()->get_list_personal_section(1,'',$this->usl_select_org) ; // получаем список организаций
      $recs_otdels=array() ;
      if ($this->filter['org_id'])
          {   $otdels_ids=PERSONAL()->get_org_otdel_ids($this->filter['org_id']) ;
              if (_sizeof($otdels_ids)) $recs_otdels=execSQL_row('select pkey,obj_name from '.PERSONAL()->table_personal.' where pkey in ('.implode(',',$otdels_ids).')') ;
          }
      //trace() ;

      // внимание! для не администратора тут только сам оператор
      ?><div id="panel_filter">
             <form id="sky-form" class="sky-form"><input type="hidden" name="filter_dir" value="<?echo _CUR_REPORT_DIR?>">
                  <fieldset>
                      <div class="row">
                          <section class="col col-2">
                              <label class="label">UID сотрудника</label>
                              <label class="input">
                                  <input type="text" name="filter[uid]" placeholder="" value="<?echo $this->filter['uid']?>">
                              </label>
                          </section>
                           <section class="col col-2">
                               <label class="label">Фамилия Имя Отчество</label>
                               <label class="input">
                                    <i class="icon-append fa fa-user"></i>
                                    <input type="text" name="filter[name]" placeholder="" lang="RUS" value="<?echo $this->filter['name']?>">
                               </label>
                           </section>
                          <section class="col col-2">
                              <label class="label">Дата, от:</label>
                              <label class="input"><input type="text" name="filter[data_from]" class="datepicker" data-required value="<?echo $this->filter['data_from']?>"></label>
                          </section>
                          <section class="col col-2">
                              <label class="label">Дата, до:</label>
                              <label class="input"><input type="text" name="filter[data_to]" class="datepicker" data-required value="<?echo $this->filter['data_to']?>"></label>
                          </section>
                        <section class="col col-2">
                             <label class="label">Организация</label>
                             <label class="select">
                                 <select name="filter[org_id]" class="v2" cmd="portal/update_otdel"><option></option><?
                                     if (_sizeof($recs_org)) foreach($recs_org as $rec_org) {?><option value="<?echo $rec_org['pkey']?>" <?if ($rec_org['pkey']==$this->filter['org_id']) echo 'selected'?>><?echo $rec_org['obj_name']?></option><?} ?>
                                 </select><i class="icon-append fa fa-user"></i>
                             </label>
                           </section>
                          <section class="col col-2">
                              <label class="label">Отдел</label>
                              <label class="select" id="select_otdel">
                                  <select name="filter[otdel_id]"><option></option>
                                      <? if (_sizeof($recs_otdels)) foreach($recs_otdels as $otdel_id=>$otdel_name)  {?><option value="<?echo $otdel_id?>" <?if ($otdel_id==$this->filter['otdel_id']) echo 'selected'?>><?echo $otdel_name?></option><?} ?>
                                  </select><i class="icon-append fa fa-user"></i>
                              </label>
                          </section>
                          <section class="col col-2">
                              <label class="label">Номер пропуска</label>
                              <label class="input">
                                  <input type="text" name="filter[propusk]" placeholder="" value="<?echo $this->filter['propusk']?>">
                              </label>
                          </section>
                           <section class="col col-2">
                               <label class="label">Результат МО</label>
                               <label class="select">
                                   <select name="filter[mo_result]"><?
                                       if (_sizeof($_SESSION['ARR_status_sess'])) foreach($_SESSION['ARR_status_sess'] as $id=>$title) {?><option value="<?echo $id?>" <?if ($this->filter['mo_result']==$id) echo 'selected'?>><?echo $title?></option><?} ?>
                                   </select><i class="icon-append fa"></i>
                               </label>
                           </section>
                        <section class="col col-2">
                             <label class="label">Допуск</label>
                             <label class="select">
                                 <select name="filter[dopusk]"><option></option><?
                                     if (_sizeof($_SESSION['ARR_status_dopusk'])) foreach($_SESSION['ARR_status_dopusk'] as $id=>$title) if ($id) {?><option value="<?echo $id?>" <?if ($this->filter['dopusk']==$id) echo 'selected'?>><?echo $title?></option><?} ?>
                                 </select><i class="icon-append fa"></i>
                             </label>
                           </section>
                          <section class="col col-2">
                              <label class="label">Тип осмотра</label>
                              <label class="select" id="select_otdel">
                                  <select name="filter[mo_type]"><option></option>
                                      <? if (_sizeof($_SESSION['ARR_mo_type'])) foreach($_SESSION['ARR_mo_type'] as $id=>$title)  {?><option value="<?echo $id?>" <?if ($this->filter['mo_type']==$id) echo 'selected'?>><?echo $title?></option><?} ?>
                                  </select><i class="icon-append fa"></i>
                              </label>
                          </section>
                        </div>
                  </fieldset>
                  <?$this->panel_button_apply();?>
              </form>
       </div><br>
     <?
  }

  function create_usl_select_obj($_params,&$options)
  {  //damp_array($this->filter) ;
     $usl=array() ;
     $usl[]=1 ;
     if ($this->filter['name'])              $usl[]='member_name like "'.$this->filter['name'].'%"' ;
     if ($this->filter['org_id'])            {  $otdels_ids=PERSONAL()->get_org_otdel_ids($this->filter['org_id']) ; if (_sizeof($otdels_ids)) $usl[]='parent in ('.implode(',',$otdels_ids).')' ;}
     if ($this->filter['otdel_id'])          $usl[]='parent='.$this->filter['otdel_id'] ;
     if ($this->filter['propusk'])           $usl[]='propusk="'.$this->filter['propusk'].'"' ;
     if ($this->filter['client_id'])        $usl[]='member_client_id='.$this->filter['client_id'] ;
     if ($this->filter['uid'])              $usl[]='member_uid="'.$this->filter['uid'].'"' ;
     if ($this->filter['data_from'])        $usl[]='c_data>='.strtotime($this->filter['data_from']) ;
     if ($this->filter['data_to'])          $usl[]='c_data<='.strtotime($this->filter['data_to']) ;
     if ($this->filter['mo_result'])            $usl[]='status='.$this->filter['mo_result'] ;
     if ($this->filter['dopusk'])            $usl[]='dopusk='.$this->filter['dopusk'] ;
     if ($this->filter['mo_type'])            $usl[]='mo_type='.$this->filter['mo_type'] ;


     $usl_res=implode(' and ',$usl) ;
     //damp_array($usl) ;
     return($usl_res) ;
  }

 function panel_info_filter()
 { $_str=array() ; $info=array() ; $title='' ;
   if ($this->filter['name'])                            $info['ФИО']='"'.$this->filter['name'].'"' ;
   if ($this->filter['client_id'])                       $info['клиент']=ACCOUNTS()->get_member_name_by_id($this->filter['client_id']) ;
   if ($this->filter['org_id']) {  $rec_obj=PERSONAL()->get_org_by_id($this->filter['org_id']) ; $info['организация']=$rec_obj['obj_name']  ; }
   if ($this->filter['otdel_id']){ $rec_obj=PERSONAL()->get_otdel_by_id($this->filter['otdel_id']) ; $info['отдел']=$rec_obj['obj_name']  ; }
   if ($this->filter['uid'])                             $info['UID сотрудника']='"'.$this->filter['uid'].'"' ;
   if ($this->filter['propusk'])                         $info['номер пропуска']='"'.$this->filter['propusk'].'"' ;
   if ($this->filter['mo_result'])                         $info['Результат МО']='"'.$_SESSION['ARR_status_sess'][$this->filter['mo_result']].'"' ;
   if ($this->filter['dopusk'])                         $info['Допуск']='"'.$_SESSION['ARR_status_dopusk'][$this->filter['dopusk']].'"' ;
   if ($this->filter['mo_type'])                         $info['Тип МО']='"'.$_SESSION['ARR_mo_type'][$this->filter['mo_type']].'"' ;
     if ($this->filter['data_from'])                     $info['дата от']='"'.$this->filter['data_from'].'"' ;
     if ($this->filter['data_to'])                     $info['дата до']='"'.$this->filter['data_to'].'"' ;
   if (_sizeof($info)) foreach($info as $title=>$value) $_str[]=$title.': <strong>'.$value.'</strong>' ;
   if (_sizeof($_str)) $title='<p class=center>'.implode(' ',$_str).'</p>' ;
   return $title ;
 }

  function get_cnt_items($usl,$options=array())
  { $cnt=execSQL_value('select count(pkey)
                        from  '.ESMO()->view_mo_session.'
                        where '.$usl,$options) ;
    return($cnt) ;
  }

  function get_items($usl,$options=array())
  { $limit=($options['limit'])? ' '.$options['limit']:'' ;
    $order=($this->filter['order'])? ' order by '.$this->filter['order']:' order by pkey desc' ;
    //echo $usl ;
   //   $options['debug']=2 ;
 	$list_rec=execSQL('select *
                       from  '.ESMO()->view_mo_session.'
                       where '.$usl.$order.$limit,$options) ;
    if (_sizeof($list_rec)) foreach($list_rec as $id=>$rec) ESMO()->prepare_public_info_to_mo($list_rec[$id],$options) ;
    return($list_rec) ;
  }


// шаблон - вывод ссылками без разделитея
  function print_template_HTML($list_recs,$options=array())
  { $id=($options['id'])? 'id='.$options['id']:'' ;
    ?><table class="list_personal_table_img basic fz_small full auto"<?echo $id?>>
        <colgroup><col id="c1"><col id="c2"><col id="c3"><col id="c4"></colgroup>
        <tr><th>Пропуск</th><th>Фото</th><th>ФИО</th><th>Дата рождения</th><th>Возраст</th><th>Организация</th><th>Подразделение</th><th>Должность</th></tr><? ;
        if (_sizeof($list_recs)) foreach($list_recs as $rec)
        { ?><tr class=item>
                <td class="id"><?echo $rec['propusk']?><?if ($rec['demo_access']){?><div class="demo_access" title="Сотрудник может проходить неограниченное число МО"></div><?}?></td>
                <td class="img"><a  href="<?echo $rec['__href']?>" class="new_window" target="_blank" title="win_second"><img src="<?echo img_clone($rec,'small')?>"></a></td>
                <td class="left"><a href="<?echo $rec['__href']?>" class="new_window" target="_blank" title="win_second"><?echo $rec['obj_name']?></a>
                    <br><?echo '<span class="nowrap small">'.$rec['uid'].'</span>'?>
                    <?if (!$rec['enabled'])echo '<br><br><span class="red bold">УВОЛЕН</span> ('.date('d.m.Y H:i',$rec['fired_data']).')'?>

                </td>
                <td class="dr"><?echo $rec['dr']?></td>
                <td class="age"><?echo $rec['age']?></td>
                <td class="left"><?echo $rec['_org_name']?></td>
                <td class="left"><?echo $rec['_otdel_name']?></td>
                <td class="left"><?echo _IL('IL_works')->recs[$rec['working']]['obj_name']?></td>
            </tr><?
        }
      ?></table><?
      //damp_array($rec) ;
  }

    function print_template_XML($list_recs,$options=array())
       { //damp_array($list_recs) ;
         //print_r($list_recs) ; trace() ;
         if (_sizeof($list_recs)) foreach($list_recs as $rec)
         {   $item=add_element($this->xml_doc,$this->xml,'item','',array('id'=>$rec['pkey'])) ;
             add_element($this->xml_doc,$item,'fio',$rec['member_name']) ;
             add_element($this->xml_doc,$item,'dr',$rec['member_dr']) ;
             add_element($this->xml_doc,$item,'time_MO',$rec['_data']) ;
             add_element($this->xml_doc,$item,'time_dopusk_end',$rec['_data_dopusk_end']) ;
             add_element($this->xml_doc,$item,'mo_id',$rec['pkey']) ;
             add_element($this->xml_doc,$item,'doctor_comment',$rec['doctor_comment']) ;
             add_element($this->xml_doc,$item,'mo_result_id',$rec['status']) ;
             add_element($this->xml_doc,$item,'mo_result_text',$rec['_status_name']) ;
             add_element($this->xml_doc,$item,'mo_dopusk_id',$rec['dopusk']) ;
             add_element($this->xml_doc,$item,'mo_dopusk_text',$rec['_dopusk_name_full']) ;
         }
       }

       function print_template_JSON($list_recs,$options=array())
          { $result=array() ;
            if (_sizeof($list_recs)) foreach($list_recs as $rec)
              $result[]=array('fio'=>$rec['member_name'],
                              'uid'=>$rec['member_uid'],
                              'dr'=>$rec['member_dr'],
                              'time_MO'=>$rec['_data'],
                              'time_dopusk_end'=>$rec['_data_dopusk_end'],
                              'mo_id'=>$rec['pkey'],
                              'doctor_comment'=>$rec['doctor_comment'],
                              'mo_result_id'=>$rec['status'],
                              'mo_result_text'=>$rec['_status_name'],
                              'mo_dopusk_id'=>$rec['dopusk'],
                              'mo_dopusk_text'=>$rec['_dopusk_name_full']
                             ) ;
              $text_json_out=json_encode($result) ;
              // возвращает ответ устройству
              echo $text_json_out ;

          }

    function manual_tags_in()
    {
        ?><table class="basic fz_normal left">
                    <tr><td>uid</td><td>Уникальный идентификатор сотрудника</td></tr>
        </table><?
    }

    function manual_tags_out()
    {
        ?><table class="basic fz_normal left">
                    <tr><td>time_now</td><td>текущее время сервера</td></tr>
                    <tr><td>time_from</td><td>время, от которого происходил поиск МО</td></tr>
                    <tr><td>fio</td><td>ФИО сотрудника</td></tr>
                    <tr><td>dr</td><td>дата рождения сотрудника</td></tr>
                    <tr><td>time_MO</td><td>дата/время прохождения МО</td></tr>
                    <tr><td>time_dopusk_end</td><td>срок действия допуска</td></tr>
                    <tr><td>mo_id</td><td>id сессии МО</td></tr>
                    <tr><td>doctor_comment</td><td>комментарий врача</td></tr>
                    <tr><td>mo_result_id</td><td>id результата МО на терминале (1: осмотр окончен, успешно, 2: осмотр окончен, ошибка, 3: осмотр не проводился)</td></tr>
                    <tr><td>mo_result_text</td><td>текстовое описание результата МО</td></tr>
                    <tr><td>mo_dopusk_id</td><td>id допуска(1: допуск получен, 2: допуск запрещен)</td></tr>
                    <tr><td>mo_dopusk_text</td><td>текстовое описание допуска</td></tr>
          </table>
        <?
    }




}

?>
