menu
Fórum Adianti
menu Menu
ordenar em ordem alfabetico ...
LT
ordenar em ordem alfabetico  
  1. <?php 
  1. <?php
  2. /**
  3.  * SigHorarioActual
  4.  */
  5. class SigHorarioActual extends TPage
  6. {
  7.     private $datagrid;
  8.     private $datagrid_historial;
  9.     private $form;
  10.     private $form_titulo;
  11.     
  12.     public function __construct()
  13.     {
  14.         parent::__construct();  
  15.         
  16.         parent::setDefaultOrder('nombre_puesto_migratorio''asc');         // defines the default order
  17.         
  18.         // creates the form
  19.         $this->form = new BootstrapFormBuilder('form_search_HorarioActual');
  20.         $this->form->setFormTitle(_t('Current schedule'));
  21.         
  22.         // Get the current id_cab
  23.         $ARRVAR_id_cabecera_actual SigUtilitarios::cabecera_actual();
  24.         
  25.         // create the form fields
  26.         $criteria = new TCriteria();
  27.         $criteria->add(new TFilter('id_puesto_migratorio''='TSession::getValue('puesto_migratorio')));
  28.         $periodo = new TDBCombo('id_planilla_horarios_cab''conn''CabeceraCombo''id_planilla_horarios_cab''{fecha_nombre}/{ano_correspondiente}''actual'$criteria);        
  29.         $periodo->setDefaultOption(FALSE);
  30.         $periodo->setValue($ARRVAR_id_cabecera_actual);
  31.         $periodo->setChangeAction(new TAction([$this'cambiarValorFechas']));
  32.         $seleccion_fechas = new TCombo('seleccion_fecha_mes');
  33.         
  34.         /////////////////////////////////////////////////////////////////////////////////////////////////////
  35.         /////////////////////////////////////////////////////////////////////////////////////////////////////
  36.         ////////////////////CALCULAMOS LOS DIAS DEL MES PARA EL COMBO////////////////////////////////////////
  37.         /////////////////////////////////////////////////////////////////////////////////////////////////////
  38.         /////////////////////////////////////////////////////////////////////////////////////////////////////
  39.         /////////////////////////////////////////////////////////////////////////////////////////////////////
  40.         
  41.         $DVAR_mes_par_impar SigUtilitarios::obtener_mes_par_impar();
  42.         
  43.         if($DVAR_mes_par_impar == 31){
  44.             
  45.             $DVAR_inicio_contador 1;
  46.             
  47.         }else{
  48.             
  49.             $DVAR_inicio_contador 2;
  50.             
  51.         }
  52.         
  53.         $DVAR_contador_limite_mes_actual SigUtilitarios::obtener_dia_final_mes(idate('Y'),idate('m'));
  54.         
  55.         $Utilitario = new SigUtilitarios();
  56.         
  57.         for($DVAR_contador=$DVAR_inicio_contador;$DVAR_contador<=$DVAR_contador_limite_mes_actual;$DVAR_contador+=2) {
  58.             $utiles $Utilitario->obtener_dia_espanol(date("D"strtotime($DVAR_contador."-".idate('m')."-".date('Y'))));
  59.             $fechas_mes[$DVAR_contador] = $DVAR_contador." - ".$utiles;
  60.         }
  61.         
  62.         $seleccion_fechas->addItems($fechas_mes);
  63.         
  64.         /////////////////////////////////////////////////////////////////////////////////////////////////////
  65.         /////////////////////////////////////////////////////////////////////////////////////////////////////
  66.         ////////////////////FIN DEL CALCULO LOS DIAS DEL MES PARA EL COMBO///////////////////////////////////
  67.         /////////////////////////////////////////////////////////////////////////////////////////////////////
  68.         /////////////////////////////////////////////////////////////////////////////////////////////////////
  69.         /////////////////////////////////////////////////////////////////////////////////////////////////////
  70.                
  71.         $mostrar_licencias = new TCombo('mostrar_licencias');
  72.         $mostrar_licencias->addItems([1=>'Si'2=>'No']);
  73.         $mostrar_licencias->setDefaultOption(FALSE);
  74.         
  75.         // add the fields
  76.         $this->form->addFields( [new TLabel(_t('Period'))], [$periodo] );
  77.         $this->form->addFields( [new TLabel(_t('Day'))], [$seleccion_fechas] );
  78.         $this->form->addFields( [new TLabel('Mostrar licencias en PDF')], [$mostrar_licencias] );
  79.         $periodo->setSize('70%');
  80.         $seleccion_fechas->setSize('70%');
  81.         $mostrar_licencias->setSize('10%');
  82.         
  83.         // keep the form filled during navigation with session data
  84.         $this->form->setDataTSession::getValue('SigHorarioActual_filter_data') );
  85.         
  86.         // add the search form actions
  87.         $btn $this->form->addAction(_t('Find'), new TAction(array($this'onReload')), 'fa:search');
  88.         $btn->class 'btn btn-sm btn-primary';
  89.         $btn2 $this->form->addAction(_t('Save as PDF'), new TAction([$this'exportAsPDF'], ['register_state' => 'false']), 'far:file-pdf fa-fw red');
  90.         $btn2->class 'btn btn-sm';
  91.         
  92.         $this->form_titulo = new BootstrapFormBuilder('form_search_HorarioActualTitulo');
  93.         $resumen_sectores = new \Adianti\Widget\Form\TText('resumen_sectores');
  94.         $resumen_sectores->setSize(00);
  95.         $resumen_sectores->setEditable(FALSE);
  96.         $row $this->form_titulo->addFields( [$resumen_sectores]  );        
  97.         $row->layout = ['col-sm-12'];
  98.         
  99.         // creates one datagrid
  100.         $this->datagrid = new BootstrapDatagridWrapper(new TDataGrid);
  101.         
  102.         // set group column and mask
  103.         $this->datagrid->setGroupColumn('franja'_t('<b>Schedule</b>: ').'<i>{franja}</i>');
  104.         
  105.         // create the datagrid columns
  106.         $id       = new TDataGridColumn('id_planilla_horarios_det',    'Id',    'center''5%');
  107.         $franja       = new TDataGridColumn('franja',    'Horario',    'center''5%');
  108.         $agente       = new TDataGridColumn('apellido_nombre',    _t('Agent'),    'left''30%');
  109.         $puesto       = new TDataGridColumn('nombre_puesto_migratorio',    _t('Immigration post'),    'left''20%');
  110.         $guardia       = new TDataGridColumn('guardia',    _t('Guard'),    'left''2%');
  111.         $dia       = new TDataGridColumn('dia',    _t('Day'),    'center',   '10%');
  112.         $agente_cobertura       = new TDataGridColumn('cobertura_agente',    _t('Covert agent'),    'left',   '30%');
  113.         $sector      = new TDataGridColumn('sector',   _t('Sector'),   'left',   '2%');
  114.         $nota      = new TDataGridColumn('nota',   _t('Note'),   'left',   '30%');
  115.         $temperatura      = new TDataGridColumn('temperatura',   'Temperatura',   'left',   '2%');
  116.         
  117.         // add the columns to the datagrid, with actions on column titles, passing parameters
  118.         $this->datagrid->addColumn($franja);
  119.         $this->datagrid->addColumn($sector);
  120.         $this->datagrid->addColumn($agente);
  121.         $this->datagrid->addColumn($puesto);
  122.         $this->datagrid->addColumn($guardia);
  123.         $this->datagrid->addColumn($dia);
  124.         $this->datagrid->addColumn($agente_cobertura);        
  125.         $this->datagrid->addColumn($nota);
  126.         $this->datagrid->addColumn($temperatura);
  127.         
  128.         // create datagrid action
  129.         $action1 = new TDataGridAction([$this'onView'], ['id' => '{id_planilla_horarios_det}''static' => 1] );
  130.         $this->datagrid->addAction($action1'View''fa:search blue');
  131.         $action2 = new TDataGridAction([$this'editarHorario'], ['id'=>'{id_planilla_horarios_det}']);
  132.         $this->datagrid->addAction($action2 ,'Edit''far:edit red');
  133.         
  134.         $action3 = new TDataGridAction([$this'onDelete'],   ['key' => '{id_planilla_horarios_det}''cab' => '{id_planilla_horarios_cab}'] );
  135.         $this->datagrid->addAction($action3'Delete''far:trash-alt red');
  136.         
  137.         // creates the datagrid model
  138.         $this->datagrid->createModel();               
  139.         
  140.         $panel = new TPanelGroup;
  141.         $panel->add($this->datagrid);                
  142.         
  143.         // vertical box container
  144.         $container = new TVBox;
  145.         $container->style 'width: 100%';
  146.         //$container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  147.         $container->add($this->form);
  148.         $container->add($this->form_titulo);
  149.         $container->add($panel);
  150.         
  151.         parent::add($container);
  152.         
  153.     }
  154.     
  155.     public static function cambiarValorTitulo($param){
  156.         
  157.         /* Busca los agentes disponibles en la fecha seleccionada en el combo y actualiza mediante ajax la etiqueta de cantidad */
  158.         
  159.         try
  160.         {
  161.             TTransaction::open('conn');
  162.             
  163.             $obj = new StdClass;
  164.             
  165.             $DVAR_cantidad_agentes SigUtilitarios::obtener_horarios_formas($param);
  166.             
  167.             $obj->resumen_sectores $DVAR_cantidad_agentes;
  168.             TForm::sendData('form_search_HorarioActualTitulo'$obj);
  169.             
  170.             TTransaction::close();
  171.             
  172.         }
  173.         catch (Exception $e)
  174.         {
  175.             new TMessage('error'$e->getMessage());
  176.             TTransaction::rollback();
  177.         }
  178.         
  179.     }
  180.     
  181.     /**
  182.      * Load the data into the datagrid
  183.      */
  184.     public function onReload($param)
  185.     {
  186.         $this->datagrid->clear();
  187.         
  188.         self::cambiarValorFechas($param);
  189.         
  190.         $formulario $this->form->getData();
  191.         $this->form->setData($formulario);                
  192.         
  193.         $DVAR_final_id_cab = (isset($param['id_planilla_horarios_cab']))?$param['id_planilla_horarios_cab']:SigUtilitarios::cabecera_actual();
  194.         $SVAR_final_fecha = (isset($formulario->seleccion_fecha_mes))?$formulario->seleccion_fecha_mes:'';
  195.             
  196.         $ARRVAR_horario_actual SigUtilitarios::horario_actual($DVAR_final_id_cab$SVAR_final_fecha);
  197.         self::cambiarValorTitulo($param$DVAR_final_id_cab$SVAR_final_fecha);
  198.         
  199.         foreach ($ARRVAR_horario_actual as $row){
  200.             
  201.             // add an regular object to the datagrid
  202.             $item = new StdClass;
  203.             $item->id_planilla_horarios_det $row['id_planilla_horarios_det'];
  204.             $item->franja $row['ingreso'];
  205.             $item->apellido_nombre   $row['nombre_agente'];
  206.             $item->nombre_puesto_migratorio   $row['nombre_puesto_migratorio'];
  207.             $item->dia   $row['dia'];
  208.             $item->cobertura_agente  '';
  209.             $item->sector  SigUtilitarios::obtener_nombre_sector($row['id_franja_horaria'], $row['sector']);
  210.             $item->guardia  $row['guardia'];
  211.             $item->cambio_por  $row['ingreso'];
  212.             $item->id_franja_horaria $row['id_franja_horaria'];
  213.             $item->cobertura_agente $row['agente_cobertura'];
  214.             $item->nota $row['nota'];
  215.             $item->temperatura '';
  216.             $this->datagrid->addItem($item);
  217.         
  218.         }
  219.         
  220.     }
  221.     
  222.     /**
  223.      * Executed when the user clicks at the view button
  224.      */
  225.     public function onView($param)
  226.     {                
  227.         
  228.         $window TWindow::create(_t('History'), 0.50.3);
  229.         
  230.         $ARRVAR_historial SigUtilitarios::historial_horario($param['id']);
  231.         
  232.         // creates one datagrid
  233.         $this->datagrid_historial = new BootstrapDatagridWrapper(new TDataGrid);
  234.         
  235.         $this->datagrid_historial->clear();
  236.         
  237.         // create the datagrid columns
  238.         $tipo       = new TDataGridColumn('tipo',    _t('Kind'),    'center''10%');
  239.         $nombre_agente_solicitado       = new TDataGridColumn('nombre_agente_solicitado',    _t('Receiver'),    'center''10%');
  240.         $nombre_agente_solicitante       = new TDataGridColumn('nombre_agente_solicitante',    _t('Sender'),    'left''30%');
  241.         $fecha       = new TDataGridColumn('fecha',    _t('Date'),    'center',   '10%');        
  242.         
  243.         $this->datagrid_historial->addColumn($tipo);
  244.         $this->datagrid_historial->addColumn($nombre_agente_solicitado);
  245.         $this->datagrid_historial->addColumn($nombre_agente_solicitante);
  246.         $this->datagrid_historial->addColumn($fecha);
  247.         
  248.         // creates the datagrid model
  249.         $this->datagrid_historial->createModel();
  250.         
  251.         foreach ($ARRVAR_historial as $row){
  252.             
  253.             // add an regular object to the datagrid
  254.             $item = new StdClass;
  255.             $item->tipo $row['tipo'];
  256.             $item->nombre_agente_solicitado $row['nombre_agente_solicitado'];
  257.             $item->nombre_agente_solicitante   $row['nombre_agente_solicitante'];
  258.             $item->fecha   date('d/m/Y H:i'strtotime($row['fecha']));
  259.             $this->datagrid_historial->addItem($item);
  260.         
  261.         }
  262.         
  263.         $window->add($this->datagrid_historial);
  264.         $window->show();
  265.         
  266.         
  267.     }
  268.     
  269.     /**
  270.      * shows the page
  271.      */
  272.     function show()
  273.     {
  274.                 
  275.         $ARRVAR_id_cabecera_actual SigUtilitarios::cabecera_actual();
  276.         
  277.         $this->onReload(array('id_planilla_horarios_cab' => $ARRVAR_id_cabecera_actual'seleccion_fecha_mes' => 0));
  278.         parent::show();
  279.     }
  280.     
  281.     function reloadPage()
  282.     {
  283.                 
  284.         $ARRVAR_id_cabecera_actual SigUtilitarios::cabecera_actual();
  285.         
  286.         $this->onReload(array('id_planilla_horarios_cab' => $ARRVAR_id_cabecera_actual'seleccion_fecha_mes' => 0));
  287.         
  288.     }
  289.     
  290.     public static function cambiarValorFechas($param){
  291.         
  292.         /* Busca las fechas mediante la seleccion del mes */
  293.         try
  294.         {
  295.             TTransaction::open('conn');
  296.             
  297.             $obj = new StdClass;
  298.             
  299.             /////////////////////////////////////////////////////////////////////////////////////////////////////
  300.             /////////////////////////////////////////////////////////////////////////////////////////////////////
  301.             ////////////////////CALCULAMOS LOS DIAS DEL MES PARA EL COMBO////////////////////////////////////////
  302.             /////////////////////////////////////////////////////////////////////////////////////////////////////
  303.             /////////////////////////////////////////////////////////////////////////////////////////////////////
  304.             /////////////////////////////////////////////////////////////////////////////////////////////////////
  305.             $DVAR_mes_par_impar SigUtilitarios::obtener_mes_par_impar_filter($param['id_planilla_horarios_cab']);
  306.             if($DVAR_mes_par_impar == 31){
  307.                 $DVAR_inicio_contador 1;
  308.             }else{
  309.                 $DVAR_inicio_contador 2;
  310.             }
  311.             $DVAR_datos_cabecera SigUtilitarios::cabecera_datos($param['id_planilla_horarios_cab']);
  312.             $DVAR_contador_limite_mes_actual SigUtilitarios::obtener_dia_final_mes_real($DVAR_datos_cabecera['ano'],$DVAR_datos_cabecera['mes']);
  313.             $Utilitario = new SigUtilitarios();
  314.             for($DVAR_contador=$DVAR_inicio_contador;$DVAR_contador<=$DVAR_contador_limite_mes_actual;$DVAR_contador+=2) {
  315.                 $utiles $Utilitario->obtener_dia_espanol(date("D"strtotime($DVAR_contador."-".$DVAR_datos_cabecera['mes']."-".$DVAR_datos_cabecera['ano'])));
  316.                 $fechas_mes[$DVAR_contador] = $DVAR_contador." - ".$utiles;
  317.             }
  318.             /////////////////////////////////////////////////////////////////////////////////////////////////////
  319.             /////////////////////////////////////////////////////////////////////////////////////////////////////
  320.             ////////////////////FIN DEL CALCULO LOS DIAS DEL MES PARA EL COMBO///////////////////////////////////
  321.             /////////////////////////////////////////////////////////////////////////////////////////////////////
  322.             /////////////////////////////////////////////////////////////////////////////////////////////////////
  323.             /////////////////////////////////////////////////////////////////////////////////////////////////////            
  324.             
  325.             $obj->seleccion_fecha_mes $fechas_mes;
  326.             TCombo::reload('form_search_HorarioActual''seleccion_fecha_mes'$fechas_mesTRUE);
  327.                     
  328.             TTransaction::close();
  329.             
  330.         }
  331.         catch (Exception $e)
  332.         {
  333.             new TMessage('error'$e->getMessage());
  334.             TTransaction::rollback();
  335.         }
  336.         
  337.     }
  338.     
  339.     public static function editarHorario($param){
  340.         
  341.         try
  342.         {
  343.             TTransaction::open('conn');
  344.             
  345.             $form = new BootstrapFormBuilder('form_SigHorarioActual');
  346.             
  347.             $window TWindow::create(_t('Edit schedule'), 0.50.3);
  348.             $id_ventana $window->getID();
  349.             
  350.             $obj_planilla_det HorariosDetalle::find($param['key']);
  351.             // create the form fields
  352.             $id = new TEntry('id_planilla_horarios_det');
  353.             $id->setValue($obj_planilla_det->id_planilla_horarios_det);
  354.             $criteria = new TCriteria();
  355.             $criteria->add(new TFilter('id_franja_horaria''='$obj_planilla_det->id_franja_horaria));
  356.             $sector = new TDBCombo('sector''conn''Sector''id''nombre'NULL$criteria);
  357.             $sector->setValue($obj_planilla_det->sector);
  358.             $sector->setDefaultOption(FALSE);
  359.             $criteria2 = new TCriteria();
  360.             $criteria2->add(new TFilter('id_puesto_migratorio''='TSession::getValue('puesto_migratorio')));
  361.             $ingreso = new TDBCombo('ingreso''conn''FranjaHoraria''hora_inicio''nombre'NULL$criteria2);
  362.             $ingreso->setChangeAction(new TAction(['SigHorarioActual''cambiarValorSector']));
  363.             $ingreso->setDefaultOption(FALSE);
  364.             $id_franja_horaria = new THidden('id_franja_horaria');
  365.             $id_franja_horaria->setValue($obj_planilla_det->id_franja_horaria);
  366.             // add the fields
  367.             $row $form->addFields( [new TLabel('Id')], [$id] );
  368.             $row->layout = ['col-sm-2''col-sm-4'];
  369.             $row $form->addFields( [new TLabel(_t('Sector'))], [$sector] );
  370.             $row->layout = ['col-sm-2''col-sm-4'];
  371.             $row $form->addFields( [new TLabel(_t('Entry'))], [$ingreso] );
  372.             $row->layout = ['col-sm-2''col-sm-4'];
  373.             $form->addFields( [$id_franja_horaria] );
  374.             $id->setEditable(FALSE);
  375.             $id->setSize('30%');
  376.             $sector->setSize('70%');
  377.             $ingreso->setSize('70%');
  378.             
  379.             $btn $form->addAction('Guardar', new TAction(['SigHorarioActual''onSaveEdicionHorario'], array('window' => $id_ventana)), 'fa:floppy-o');
  380.             $btn->class 'btn btn-sm btn-primary';
  381.             
  382.             
  383.             $window->add($form);
  384.             $window->show();
  385.             
  386.             
  387.             TTransaction::close();
  388.             
  389.         }
  390.         catch (Exception $e)
  391.         {
  392.             new TMessage('error'$e->getMessage());
  393.         }
  394.         
  395.     }
  396.     
  397.     public static function cambiarValorSector($param){
  398.         
  399.         /* Busca las fechas mediante la seleccion del mes */
  400.         try
  401.         {
  402.             TTransaction::open('conn');
  403.             
  404.             $object = new StdClass;
  405.             
  406.             $OBJ_franja FranjaHoraria::where('hora_inicio''='$param['ingreso'])->first();
  407.             $OBJ_sectores Sector::where('id_franja_horaria''='$OBJ_franja->id)->load();
  408.             
  409.             foreach ($OBJ_sectores as $row){
  410.                 
  411.                 $sectores[$row->id] = $row->nombre;
  412.                 
  413.             }
  414.             
  415.             $object->id_franja_horaria $OBJ_franja->id;
  416.             
  417.             TForm::sendData('form_SigHorarioActual'$object);
  418.             
  419.             TCombo::reload('form_SigHorarioActual''sector'$sectoresTRUE);
  420.                     
  421.             TTransaction::close();
  422.             
  423.         }
  424.         catch (Exception $e)
  425.         {
  426.             new TMessage('error'$e->getMessage());
  427.             TTransaction::rollback();
  428.         }
  429.         
  430.     }
  431.     
  432.     public static function onSaveEdicionHorario($param){
  433.        
  434.         try
  435.         {
  436.             TTransaction::open('conn');
  437.             
  438.             if($param['sector'] == '' || $param['ingreso'] == ''){
  439.                 
  440.                 throw new Exception(_t('You need to complete all the fields required!'));
  441.             
  442.             }
  443.             
  444.             $OBJ_horarios_det HorariosDetalle::find($param['id_planilla_horarios_det']);
  445.             $OBJ_horarios_det->ingreso $param['ingreso'];
  446.             $OBJ_horarios_det->id_franja_horaria $param['id_franja_horaria'];
  447.             $OBJ_horarios_det->sector $param['sector'];
  448.             $OBJ_horarios_det->store();
  449.             
  450.             TTransaction::close();
  451.             
  452.             new TMessage('info'_t('Saved'));
  453.             
  454.             TWindow::closeWindow($param['window']);
  455.             
  456.         }catch (Exception $e){
  457.             
  458.             new TMessage('error'$e->getMessage());
  459.             TTransaction::rollback();
  460.             
  461.             TWindow::closeWindow($param['window']);
  462.             
  463.         }
  464.         
  465.     }
  466.     
  467.     /**
  468.      * Export datagrid as PDF
  469.      */
  470.     public function exportAsPDF($param)
  471.     {
  472.         try
  473.         {
  474.             
  475.             $this->datagrid->clear();
  476.         
  477.             self::cambiarValorFechas($param);
  478.             
  479.             $formulario $this->form->getData();
  480.             $this->form->setData($formulario);                        
  481.             $DVAR_final_id_cab = (isset($param['id_planilla_horarios_cab']))?$param['id_planilla_horarios_cab']:SigUtilitarios::cabecera_actual();
  482.             $SVAR_final_fecha = (isset($param['seleccion_fecha_mes']))?$param['seleccion_fecha_mes']:'';
  483.             $ARRVAR_horario_actual SigUtilitarios::horario_actual($DVAR_final_id_cab$SVAR_final_fecha);
  484.             foreach ($ARRVAR_horario_actual as $row){
  485.                 // add an regular object to the datagrid
  486.                 $item = new StdClass;
  487.                 $item->id_planilla_horarios_det $row['id_planilla_horarios_det'];
  488.                 $item->franja $row['ingreso'];
  489.                 $item->apellido_nombre   $row['nombre_agente'];
  490.                 $item->nombre_puesto_migratorio   $row['nombre_puesto_migratorio'];
  491.                 $item->dia   $row['dia'];
  492.                 $item->cobertura_agente  '';
  493.                 $item->sector  SigUtilitarios::obtener_nombre_sector($row['id_franja_horaria'], $row['sector']);
  494.                 $item->cambio_por  $row['ingreso'];
  495.                 $item->cambio_por  $row['ingreso'];
  496.                 $item->id_franja_horaria $row['id_franja_horaria'];
  497.                 $item->cobertura_agente $row['agente_cobertura'];
  498.                 $item->nota $row['nota'];
  499.                 $item->guardia $row['guardia'];
  500.                 $item->temperatura '';
  501.                 $this->datagrid->addItem($item);
  502.             }
  503.             
  504.             $ARRVAR_ano_mes SigUtilitarios::cabecera_datos($param['id_planilla_horarios_cab']);
  505.         
  506.             $SVAR_fecha_licencia date('Y-m-d'strtotime($ARRVAR_ano_mes['ano'].'-'.$ARRVAR_ano_mes['mes'].'-'.$row['dia']));
  507.             
  508.             $ARRVAR_licencias SigUtilitarios::agente_licencia_por_fecha($SVAR_fecha_licencia);
  509.             $html_table_body '';
  510.             
  511.             $html_table_head '<center><br ><br > <b>Agentes con licencias en el dia</b> <br ><br > </center><style type="text/css">
  512.                             .tg  {margin-left: auto; margin-right: auto;border-collapse:collapse;border-spacing:0;}
  513.                             .tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;
  514.                               overflow:hidden;padding:10px 5px;word-break:normal;}
  515.                             .tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;
  516.                               font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;}
  517.                             .tg .tg-0lax{text-align:left;vertical-align:top}
  518.                             </style>
  519.                             <table class="tg">
  520.                             <tr>
  521.                                 <th>Agente</th>
  522.                                 <th>Tipo de Licencia</th>
  523.                                 <th>Desde</th>
  524.                                 <th>Hasta</th>
  525.                             </tr>                             
  526.                             ';
  527.             
  528.             if(isset($ARRVAR_licencias)){
  529.                 
  530.                 foreach ($ARRVAR_licencias as $row2){
  531.                     $html_table_body .= '<tr>
  532.                                             <td class="tg-0lax">'.$row2['nombres'].'</td>
  533.                                             <td class="tg-0lax">'.$row2['tipo_licencia'].'</td>
  534.                                                 <td class="tg-0lax">'.date('d/m/Y'strtotime($row2['fecha_desde'])).'</td>
  535.                                                     <td class="tg-0lax">'.date('d/m/Y'strtotime($row2['fecha_hasta'])).'</td>
  536.                                         </tr>';
  537.                 }
  538.             
  539.             }
  540.             
  541.             $html_table_food '</table>';
  542.             // string with HTML contents
  543.             $html = clone $this->datagrid;
  544.             $contents file_get_contents('app/resources/styles-print-horario-actual.html'). '<center><b><h1 style="font-size:15px;font-weight:bold;">Planilla de Horarios del '$row['dia']. ' de '.SigUtilitarios::obtener_mes_espanol($ARRVAR_ano_mes['mes']) . ' del '$ARRVAR_ano_mes['ano'] .'</h1></b></center><br />' $html->getContents().(($param['mostrar_licencias'] == 1)?($html_table_head.$html_table_body.$html_table_food):'');
  545.             
  546.             // converts the HTML template into PDF
  547.             $options = new \Dompdf\Options();
  548.             $options->set('isRemoteEnabled'true);
  549.             $dompdf = new \Dompdf\Dompdf($options);
  550.             $dompdf->loadHtml($contents);
  551.             $dompdf->setPaper('A3''portrait');
  552.             $dompdf->render();
  553.             
  554.             $file 'app/output/datagrid-export.pdf';
  555.             
  556.             // write and open file
  557.             file_put_contents($file$dompdf->output());
  558.             
  559.             $window TWindow::create('Export'0.80.8);
  560.             $object = new TElement('object');
  561.             $object->data  $file;
  562.             $object->type  'application/pdf';
  563.             $object->style "width: 100%; height:calc(100% - 10px)";
  564.             $window->add($object);
  565.             $window->show();
  566.         }
  567.         catch (Exception $e)
  568.         {
  569.             new TMessage('error'$e->getMessage());
  570.         }
  571.     }
  572.     
  573.     /**
  574.      * Ask before deletion
  575.      */
  576.     public static function onDelete($param)
  577.     {
  578.         // define the delete action
  579.         $action = new TAction(array(__CLASS__'Delete'));
  580.         $action->setParameters($param); // pass the key parameter ahead
  581.         
  582.         // shows a dialog to the user
  583.         new TQuestion(AdiantiCoreTranslator::translate('Do you really want to delete ?'), $action);
  584.     }
  585.     
  586.     
  587.     public function Delete($param){
  588.         
  589.         try{
  590.             
  591.             TTransaction::open('conn');
  592.             
  593.             $OBJ_suspension_cambios = new HorariosDetalle($param['id_planilla_horarios_det']);            
  594.             $OBJ_suspension_cambios->delete();
  595.             new TMessage('info''Horario eliminado', new TAction(array('SigHorarioActual''reloadPage')));
  596.             
  597.             TTransaction::close();
  598.             
  599.         } catch (Exception $ex) {
  600.             
  601.             new TMessage('error'$ex->getMessage());
  602.             TTransaction::rollback();
  603.             
  604.         }
  605.         
  606.     }
  607. }
  608. ?>

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (1)


LT

Ordenar em ordem alfabetico item "nombre_puesto_migratorio"