<?php
class report_personals3 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" id="person_info">
                        <?if (!in_array('UID',$options['disabled_filter'])){?>
                          <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">
                                    <input type="text" name="filter[name]" placeholder="" SetAutoComplete cmd="autocomplette_personal_name" value="<?echo $this->filter['name']?>">
                               </label>
                           </section>
                        <section class="col col-3">
                             <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-3">
                              <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>
                          <?if (!in_array('status',$options['disabled_filter'])){?>
                          <section class="col col-2">
                              <label class="label">Статус</label>
                              <label class="select">
                                  <select name="filter[status]">
                                      <option></option>
                                      <option value="1" <?if ($this->filter['status']==1) echo 'selected'?>>Уволенные</option>
                                      <option value="2" <?if ($this->filter['status']==2) echo 'selected'?>>Все</option>
                                  </select>
                              </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[]='clss=211' ;
     if ($this->filter['name'])              $usl[]='obj_name like "'.$this->filter['name'].'%"' ;
     if ($this->filter['client_id'])         $usl[]='client_id="'.$this->filter['client_id'].'"' ;

     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).')' ;
     }
     else if ($this->usl_select_org) $usl[]=$this->usl_select_org ;
     if ($this->filter['otdel_id'])          $usl[]='parent='.$this->filter['otdel_id'] ;
     if ($this->filter['uid'])              $usl[]='uid='.$this->filter['uid'] ;
     if ($this->filter['propusk'])          $usl[]='propusk='.$this->filter['propusk'] ;
     if (!$this->filter['status'])          $usl[]='enabled=1' ;
     else if ($this->filter['status']==1)   $usl[]='enabled=0' ;
     if ($this->filter['ext']==1)          $usl[]='ext=1' ; else $usl[]='(ext=0 or ext is null)' ;
     //if ($this->filter['fired'])           $_usl[]='enabled=0'; else  $_usl[]='enabled=1';


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

 function panel_info_filter()
 { $_str=array() ; $info=array() ; $title='' ;
   if ($this->filter['name'])                            $info['ФИО']='"'.$this->filter['name'].'"' ;
   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['status'])                         $info['статус']='"активные"' ;
   else if ($this->filter['status']==1)                  $info['статус']='"уволенные"' ;
   else                                                  $info['статус']='"все"' ;
   if ($this->filter['ext']==1)                          $info['Доп.списки']='Да' ;

   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  '.PERSONAL()->view_personal.'
                        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' ;
    //echo $usl ;
 	$list_rec=execSQL('select *
                       from  '.PERSONAL()->view_personal.'
                       where '.$usl.$order.$limit,$options) ;
    //if (_sizeof($list_rec)) foreach($list_rec as $id=>$rec) PERSONAL()->prepare_public_info_to_personal($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())
    { 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,'propusk',$rec['propusk']) ;
          add_element($this->xml_doc,$item,'tabnumber',$rec['tabnumber']) ;
          add_element($this->xml_doc,$item,'photo',($rec['_image_name'])? img_clone($rec,'source'):'') ;
          add_element($this->xml_doc,$item,'fio',$rec['obj_name']) ;
          add_element($this->xml_doc,$item,'uid',$rec['uid']) ;
          add_element($this->xml_doc,$item,'enabled',($rec['enabled'])? 1:0) ;
          add_element($this->xml_doc,$item,'dr',$rec['dr']) ;
          add_element($this->xml_doc,$item,'age',$rec['age']) ;
          add_element($this->xml_doc,$item,'phone',$rec['phone']) ;
          add_element($this->xml_doc,$item,'org_name',$rec['_org_name']) ;
          add_element($this->xml_doc,$item,'otdel_name',$rec['_otdel_name']) ;
          //add_element($this->xml_doc,$item,'org_id',$rec['_org_id']) ;
          //add_element($this->xml_doc,$item,'otdel_id',$rec['_otdel_id']) ;
          add_element($this->xml_doc,$item,'working',_IL('IL_works')->recs[$rec['working']]['obj_name']) ;
      }
    }

    function print_template_JSON($list_recs,$options=array())
    { $text_json_out=json_encode($list_recs) ;
      echo $text_json_out ;
    }

    function manual_tags_in()
    {
        ?><table class="basic fz_normal left">
                    <tr><td>uid</td><td>Уникальный идентификатор сотрудника</td></tr>
                    <tr><td>name</td><td>ФИО</td></tr>
                    <tr><td>org_id</td><td>ID организации</td></tr>
                    <tr><td>otdel_id</td><td>ID отдела</td></tr>
                    <tr><td>propusk</td><td>Номер пропуска</td></tr>
                    <tr><td>status</td><td>по умолчанию - только активные, 1 - уволенные, 2 - все</td></tr>
        </table><?
    }

    function manual_tags_out()
    {
        ?><table class="basic fz_normal left">
                    <tr><td>photo</td><td>url фото</td></tr>
                    <tr><td>fio</td><td>ФИО сотрудника</td></tr>
                    <tr><td>uid</td><td>Ваш уникальный идентификатор сотрудника.</td></tr>
                    <tr><td>fio</td><td>ФИО сотрудника</td></tr>
                    <tr><td>phone</td><td>Телефон сотрудника</td></tr>
                    <tr><td>propusk</td><td>Номер пропуска</td></tr>
                    <tr><td>tabnumber</td><td>Табельный номер</td></tr>
                    <tr><td>enabled</td><td>Состояние, 0 - заблокирован, 1-активный</td></tr>
                    <tr><td>dr</td><td>Дата рождения сотрудника, формат ДД.ММ.ГГГГ</td></tr>
                    <tr><td>pol</td><td>Пол сотрудника, 0=М, 1=Ж</td></tr>
                    <tr><td>org_name</td><td>Название организации сотрудника</td></tr>
                    <tr><td>otdel_name</td><td>Название подразделения организации</td></tr>
                    <tr><td>working</td><td>Должность</td></tr>
          </table><?
    }




}

?>
