public function execute()
 {
     try {
         $where = null;
         $idVacunacion = request::getInstance()->getRequest(procesoCompraTableClass::ID);
         if (request::getInstance()->hasRequest('report')) {
             $report = request::getInstance()->getPost('report');
             //                if (isset($report['fecha']) and $report['fecha'] !== null and $report['fecha'] !== '') {
             //                    $where[detalleVacunacionTableClass::FECHA] = $report['fecha'];
             //                }//close if
             if (isset($report['tipo']) and $report['tipo'] !== null and $report['tipo'] !== '') {
                 $where[detalleProcesoCompraTableClass::TIPO_INSUMO] = $report['tipo'];
             }
             //close if
             if (isset($report['insumo']) and $report['insumo'] !== null and $report['insumo'] !== '') {
                 $where[detalleProcesoCompraTableClass::INSUMO_ID] = $report['insumo'];
             }
             //close if
             if (isset($report['cantidad']) and $report['cantidad'] !== null and $report['cantidad'] !== '') {
                 $where[detalleProcesoCompraTableClass::CANTIDAD] = $report['cantidad'];
             }
             //close if
             if (isset($report['valor']) and $report['valor'] !== null and $report['valor'] !== '') {
                 $where[detalleProcesoCompraTableClass::VALOR_UNITARIO] = $report['valor'];
             }
             //close if
         }
         //close if
         $where[detalleProcesoCompraTableClass::PROCESO_COMPRA_ID] = $idVacunacion;
         $fieldsDetalleProcesoCompra = array(detalleProcesoCompraTableClass::ID, detalleProcesoCompraTableClass::PROCESO_COMPRA_ID, detalleProcesoCompraTableClass::TIPO_INSUMO, detalleProcesoCompraTableClass::INSUMO_ID, detalleProcesoCompraTableClass::CANTIDAD, detalleProcesoCompraTableClass::VALOR_UNITARIO);
         $fieldsInsumo = array(insumoTableClass::NOMBRE);
         $fJoin1 = detalleProcesoCompraTableClass::INSUMO_ID;
         $fJoin2 = insumoTableClass::ID;
         $fieldsProcesoCompra = array(procesoCompraTableClass::ID, procesoCompraTableClass::NUMERO, procesoCompraTableClass::FECHA_HORA_COMPRA);
         $fieldsEmpleado = array(empleadoTableClass::NOMBRE);
         $fieldsTipo = array(tipoInsumoTableClass::DESCRIPCION);
         $fieldsProveedor = array(proveedorTableClass::NOMBRE);
         $fJoinVacunacion1 = procesoCompraTableClass::EMPLEADO_ID;
         $fJoinVacunacion2 = empleadoTableClass::ID;
         $fJoinVacunacion3 = detalleProcesoCompraTableClass::TIPO_INSUMO;
         $fJoinVacunacion4 = tipoInsumoTableClass::ID;
         $fJoin3 = procesoCompraTableClass::PROVEEDOR_ID;
         $fJoin4 = proveedorTableClass::ID;
         $whereVacunacion = array(procesoCompraTableClass::getNameTable() . "." . procesoCompraTableClass::ID => $idVacunacion);
         $this->objDetalleProcesoCompra = detalleProcesoCompraTableClass::getAllJoin($fieldsDetalleProcesoCompra, $fieldsInsumo, $fieldsTipo, null, $fJoin1, $fJoin2, $fJoinVacunacion3, $fJoinVacunacion4, null, null, false, null, null, null, null, $where);
         $this->objProcesoCompra = procesoCompraTableClass::getAllJoin($fieldsProcesoCompra, $fieldsEmpleado, $fieldsProveedor, null, $fJoinVacunacion1, $fJoinVacunacion2, $fJoin3, $fJoin4, null, null, true, null, null, null, null, $whereVacunacion);
         $this->mensajeDetalle = "Informe de Detalles de Factura de Compra";
         log::register(i18n::__('reporte'), detalleProcesoCompraTableClass::getNameTable());
         $this->defineView('reportDetalle', 'facturaCompra', session::getInstance()->getFormatOutput());
     } catch (PDOException $exc) {
         session::getInstance()->setFlash('exc', $exc);
         routing::getInstance()->forward('shfSecurity', 'exception');
     }
 }
 public function execute()
 {
     try {
         if (request::getInstance()->isMethod('POST')) {
             $id_registro = request::getInstance()->getPost(detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::PROCESO_COMPRA_ID, true));
             $insumo = request::getInstance()->getPost(detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::INSUMO_ID, true));
             $tipo = request::getInstance()->getPost(detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::TIPO_INSUMO, true));
             $cantidad = request::getInstance()->getPost(detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::CANTIDAD, true));
             $valor = request::getInstance()->getPost(detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::VALOR_UNITARIO, true));
             //                detalleProcesoCompraTableClass::validateCreate($insumo, $cantidad, $valor, $tipo);
             $subtotal = $valor * $cantidad;
             $data = array(detalleProcesoCompraTableClass::CANTIDAD => $cantidad, detalleProcesoCompraTableClass::INSUMO_ID => $insumo, detalleProcesoCompraTableClass::TIPO_INSUMO => $tipo, detalleProcesoCompraTableClass::PROCESO_COMPRA_ID => $id_registro, detalleProcesoCompraTableClass::VALOR_UNITARIO => $valor, detalleProcesoCompraTableClass::SUBTOTAL => $subtotal);
             //                //Manejo de inventario
             //                $fieldsInventario = array(
             //                    insumoTableClass::CANTIDAD
             //                );
             //                $whereInventario = array(
             //                    insumoTableClass::ID => $insumo
             //                );
             //                $objInsumoInventario = insumoTableClass::getAll($fieldsInventario, true, null, null, null, null, $whereInventario);
             //                $insumoInventario = ($objInsumoInventario[0]->cantidad) + $cantidad;
             //                $id_inventario_insumo = array(
             //                    insumoTableClass::ID => $insumo
             //                );
             //                $data_inventario_insuom = array(
             //                    insumoTableClass::CANTIDAD => $insumoInventario
             //                );
             //                insumoTableClass::update($id_inventario_insumo, $data_inventario_insuom);
             detalleProcesoCompraTableClass::insert($data);
             session::getInstance()->setSuccess(i18n::__('succesCreate1', null, 'facturaCompra'));
             log::register(i18n::__('create'), detalleProcesoCompraTableClass::getNameTable());
             routing::getInstance()->redirect('factura', 'indexFacturaCompra');
         } else {
             session::getInstance()->setError('El Detalle de Vacunación no pudo ser insertado');
             routing::getInstance()->redirect('vacunacion', 'indexVacunacion');
         }
         //close if
     } catch (PDOException $exc) {
         session::getInstance()->setFlash('exc', $exc);
         routing::getInstance()->forward('shfSecurity', 'exception');
     }
 }
 public function execute()
 {
     try {
         if (request::getInstance()->isMethod('POST') and request::getInstance()->isAjaxRequest()) {
             $id = request::getInstance()->getPost(detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::ID, true));
             $ids = array(detalleProcesoCompraTableClass::ID => $id);
             $this->arrayAjax = array('code' => 11, 'msg' => 'La eliminacion ha sido exitosa');
             detalleProcesoCompraTableClass::stateToToggle($ids);
             //                detalleVacunacionTableClass::delete($ids, true);
             //                session::getInstance()->setSuccess(i18n::__('succesDelete1', null, 'facturaCompra'));
             //                log::register(i18n::__('delete'), detalleVacunacionTableClass::getNameTable());
             $this->defineView('delete', 'detalleFacturaCompra', session::getInstance()->getFormatOutput());
         } else {
             routing::getInstance()->redirect('factura', 'indexDetalleFacturaCompra');
         }
         //close if
     } catch (PDOException $exc) {
         session::getInstance()->setFlash('exc', $exc);
         routing::getInstance()->forward('shfSecurity', 'exception');
     }
 }
 public static function validateCreate($insumo, $cantidad, $valor, $tipo)
 {
     $flag = false;
     if (empty($id_registro) or !isset($id_registro) or $id_registro == '') {
         session::getInstance()->setError(i18n::__(10107, null, 'errors'));
         $flag = true;
         session::getInstance()->setFlash(detalleProcesoCompraTableClassgetNameField(detalleProcesoCompraTableClass::PROCESO_COMPRA_ID, true), true);
     }
     if (!is_numeric($id_registro)) {
         session::getInstance()->setError(i18n::__(10108, null, 'errors'));
         $flag = true;
         session::getInstance()->setFlash(detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::PROCESO_COMPRA_ID, true), true);
     }
     if ($id_registro < 0) {
         session::getInstance()->setError(i18n::__(10109, null, 'errors'));
         $flag = true;
         session::getInstance()->setFlash(detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::PROCESO_COMPRA_ID, true), true);
     }
     if (empty($tipo) or !isset($tipo) or $tipo == '') {
         session::getInstance()->setError(i18n::__(10044, null, 'errors'));
         $flag = true;
         session::getInstance()->setFlash(detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::TIPO_INSUMO, true), true);
     }
     if (!is_numeric($tipo)) {
         session::getInstance()->setError(i18n::__(10085, null, 'errors'));
         $flag = true;
         session::getInstance()->setFlash(detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::TIPO_INSUMO, true), true);
     }
     if ($tipo < 0) {
         session::getInstance()->setError(i18n::__(10086, null, 'errors'));
         $flag = true;
         session::getInstance()->setFlash(detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::TIPO_INSUMO, true), true);
     }
     if (empty($insumo) or !isset($insumo) or $insumo == '') {
         session::getInstance()->setError(i18n::__(10047, null, 'errors'));
         $flag = true;
         session::getInstance()->setFlash(detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::INSUMO_ID, true), true);
     }
     if (!is_numeric($insumo)) {
         session::getInstance()->setError(i18n::__(10102, null, 'errors'));
         $flag = true;
         session::getInstance()->setFlash(detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::INSUMO_ID, true), true);
     }
     if ($insumo < 0) {
         session::getInstance()->setError(i18n::__(10103, null, 'errors'));
         $flag = true;
         session::getInstance()->setFlash(detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::INSUMO_ID, true), true);
     }
     if ($valor < 0) {
         session::getInstance()->setError(i18n::__(10080, null, 'errors'));
         $flag = true;
         session::getInstance()->setFlash(detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::VALOR_UNITARIO, true), true);
     }
     if (empty($valor) or !isset($valor) or $valor == '') {
         session::getInstance()->setError(i18n::__(10050, null, 'errors'));
         $flag = true;
         session::getInstance()->setFlash(detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::VALOR_UNITARIO, true), true);
     }
     if (!is_numeric($valor)) {
         session::getInstance()->setError(i18n::__(10051, null, 'errors'));
         $flag = true;
         session::getInstance()->setFlash(detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::VALOR_UNITARIO, true), true);
     }
     if (empty($cantidad) or !isset($cantidad) or $cantidad == '') {
         session::getInstance()->setError(i18n::__(10087, null, 'errors'));
         $flag = true;
         session::getInstance()->setFlash(detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::CANTIDAD, true), true);
     }
     if (!is_numeric($cantidad)) {
         session::getInstance()->setError(i18n::__(10083, null, 'errors'));
         $flag = true;
         session::getInstance()->setFlash(detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::CANTIDAD, true), true);
     }
     if ($cantidad < 0) {
         session::getInstance()->setError(i18n::__(10081, null, 'errors'));
         $flag = true;
         session::getInstance()->setFlash(detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::CANTIDAD, true), true);
     }
     if ($flag == true) {
         request::getInstance()->setMethod('GET');
         routing::getInstance()->forward('factura', 'indexFacturaCompra');
     }
 }
 public function execute()
 {
     /* $where = array(
        'campo' => 'valor',
        'campo' => array(
        'valor de rango inicial',
        'valor de rango final'
        ),
        'campo LIKE "hola%" OR campo LIKE "%hola" OR campo "%valor%"'
        ); */
     try {
         if (request::getInstance()->hasRequest(procesoCompraTableClass::ID)) {
             $idFactura = request::getInstance()->getRequest(procesoCompraTableClass::ID);
             //     if (request::getInstance()->hasPost('filter')) {
             //
             //                $filter = request::getInstance()->getPost('filter');
             //
             //
             //
             //                    if (isset($filter['tipo']) and $filter['tipo'] !== null and $filter['tipo'] !== '') {
             //                        $where[detalleProcesoCompraTableClass::TIPO_INSUMO] = $filter['tipo'];
             //                    }//close if
             //                    if (isset($filter['insumo']) and $filter['insumo'] !== null and $filter['insumo'] !== '') {
             //                        $where[detalleProcesoCompraTableClass::INSUMO_ID] = $filter['insumo'];
             //                    }//close if
             //                     if (isset($filter['cantidad']) and $filter['cantidad'] !== null and $filter['cantidad'] !== '') {
             //                        $where[detalleProcesoCompraTableClass::CANTIDAD] = $filter['cantidad'];
             //                    }//close if
             //                    if (isset($filter['valorUni']) and $filter['valorUni'] !== null and $filter['valorUni'] !== '') {
             //                        $where[detalleProcesoCompraTableClass::VALOR_UNITARIO] = $filter['valorUni'];
             //                    }//close if
             //                }//close if
             //                session::getInstance()->setAttribute('detalleFacturaCompraFilter', $where);
             //            } elseif (session::getInstance()->hasAttribute('detalleFacturaCompraFilter')) {
             //                $where = session::getInstance()->getAttribute('detalleFacturaCompraFilter');
             //            }//close if
             //                if (request::getInstance()->hasPost('filter')) {
             //                    $where = null;
             //                    $filter = request::getInstance()->getPost('filter');
             //
             //                    if (isset($filter['fecha_inicial']) and $filter['fecha_inicial'] !== null and $filter['fecha_inicial'] !== '' and isset($filter['fecha_final']) and $filter['fecha_final'] !== null and $filter['fecha_final'] !== '') {
             //                        $where[detalleVacunacionTableClass::FECHA] = array(
             //                            date(config::getFormatTimestamp(), strtotime($filter['fecha_inicial'] . ' 00.00.00')),
             //                            date(config::getFormatTimestamp(), strtotime($filter['fecha_final'] . ' 23.59.59'))
             //                        );
             //                    }//close if
             //                    if (isset($filter['vacuna']) and $filter['vacuna'] !== null and $filter['vacuna'] !== '') {
             //                        $where[detalleVacunacionTableClass::VACUNA] = $filter['vacuna'];
             //                    }//close if
             //                    if (isset($filter['dosis']) and $filter['dosis'] !== null and $filter['dosis'] !== '') {
             //                        $where[detalleVacunacionTableClass::DOSIS] = $filter['dosis'];
             //                    }//close if
             ////                    if (isset($filter['accion']) and $filter['accion'] !== null and $filter['accion'] !== '') {
             ////                        $where[detalleVacunacionTableClass::ACCION] = $filter['accion'];
             ////                    }
             //
             //                    $where[detalleVacunacionTableClass::ID_REGISTRO] = $idVacunacion;
             //
             //                    session::getInstance()->setAttribute('detalleVacunacionFiltersAnimal', $where);
             //                } elseif (session::getInstance()->hasAttribute('detalleVacunacionFiltersAnimal')) {
             //                    $where = session::getInstance()->getAttribute('detalleVacunacionFiltersAnimal');
             //                }//close if
             $fieldsFacturaCompra = array(procesoCompraTableClass::ID, procesoCompraTableClass::FECHA_HORA_COMPRA, procesoCompraTableClass::EMPLEADO_ID, procesoCompraTableClass::PROVEEDOR_ID, procesoCompraTableClass::ACTIVA);
             $fieldsEmpleado = array(empleadoTableClass::NOMBRE);
             $fieldsProveedor = array(proveedorTableClass::NOMBRE);
             $fJoin1 = procesoCompraTableClass::EMPLEADO_ID;
             $fJoin2 = empleadoTableClass::ID;
             $fJoin3 = procesoCompraTableClass::PROVEEDOR_ID;
             $fJoin4 = proveedorTableClass::ID;
             $whereCompra = array(procesoCompraTableClass::getNameTable() . '.' . procesoCompraTableClass::ID => $idFactura);
             $page = 0;
             //                if (request::getInstance()->hasGet('page')) {
             //                    $page = request::getInstance()->getGet('page') - 1;
             //                    $page = $page * config::getRowGrid();
             //                }
             //
             //                $f = array(
             //                    detalleProcesoCompraTableClass::ID
             //                );
             //
             //                $lines = config::getRowGrid();
             //                $this->cntPages = detalleVacunacionTableClass::getAllCount($f, true, $lines, $whereCnt);
             $fieldsDetalle = array(detalleProcesoCompraTableClass::ID, detalleProcesoCompraTableClass::CANTIDAD, detalleProcesoCompraTableClass::SUBTOTAL, detalleProcesoCompraTableClass::TOTAL, detalleProcesoCompraTableClass::VALOR_UNITARIO);
             $fieldsInsumo = array(insumoTableClass::NOMBRE);
             $fieldsTipoInsumo = array(tipoInsumoTableClass::DESCRIPCION);
             $fJoinDetalleInsumo = detalleProcesoCompraTableClass::INSUMO_ID;
             $fJoinInsumo = insumoTableClass::ID;
             $fJoinDetalleTipoInsumo = detalleProcesoCompraTableClass::TIPO_INSUMO;
             $fJoinTipoInsumo = tipoInsumoTableClass::ID;
             $whereDetalle = array(detalleProcesoCompraTableClass::PROCESO_COMPRA_ID => $idFactura);
             $orderByDetalle = array(detalleProcesoCompraTableClass::ID);
             //                print_r($whereDetalle);
             //                exit();
             $this->objFacturaCompra = procesoCompraTableClass::getAllJoin($fieldsFacturaCompra, $fieldsEmpleado, $fieldsProveedor, null, $fJoin1, $fJoin2, $fJoin3, $fJoin4, null, null, true, null, null, null, null, $whereCompra);
             $this->objDetalleFacturaCompra = detalleProcesoCompraTableClass::getAllJoin($fieldsDetalle, $fieldsInsumo, $fieldsTipoInsumo, null, $fJoinDetalleInsumo, $fJoinInsumo, $fJoinDetalleTipoInsumo, $fJoinTipoInsumo, null, null, false, $orderByDetalle, 'ASC', 10, $page, $whereDetalle);
             //                $this->objTipoInsumo = tipoInsumoTableClass::getAll($fieldsTipoInsumo, false);
             //                $this->objInsumo = insumoTableClass::getAllCount($fieldsInsumo, false);
             log::register(i18n::__('ver1', null, 'facturaCompra'), detalleProcesoCompraTableClass::getNameTable());
             $this->defineView('view', 'facturaCompra', session::getInstance()->getFormatOutput());
         } else {
             session::getInstance()->setError('pailas');
             routing::getInstance()->redirect('vacunacion', 'indexVacunacion');
         }
         //close if
     } catch (PDOException $exc) {
         session::getInstance()->setFlash('exc', $exc);
         routing::getInstance()->forward('shfSecurity', 'exception');
     }
 }
    echo i18n::__('cantidad');
    ?>
</th><th>
                                                    <input type="number" name="<?php 
    echo detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::CANTIDAD, true);
    ?>
">
                                                </th>
                                            </tr>
                                            <tr><th>
                                                    <?php 
    echo i18n::__('valorUni');
    ?>
</th><th>
                                                    <input type="number" name="<?php 
    echo detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::VALOR_UNITARIO, true);
    ?>
">

                                                    <font size="2">* <?php 
    echo i18n::__('oblig', null, 'insumo');
    ?>
</font>
                                            <tr><th colspan="2">  
                                                    <font size="2">* <?php 
    echo i18n::__('ojo', null, 'facturaCompra');
    ?>
</font>
                                                </th></tr>
                                        </table>
                                    </div>
        <a href="#close" title="Close" class="close">X</a>
        <div class="modal-body">
            <?php 
    echo i18n::__('confirmDetalle');
    ?>
        </div>
        <div class="modal-footer">
            <a href="#close2" title="Close" class="close2 btn btn-default fa fa-times-circle-o close2"> <?php 
    echo i18n::__('cancel');
    ?>
</a>
            <button type="button" class="btn btn-primary fa fa-ban" onclick="eliminar(<?php 
    echo $key->{$idDetalle};
    ?>
, '<?php 
    echo detalleProcesoCompraTableClass::getNameField(detalleProcesoCompraTableClass::ID, true);
    ?>
', '<?php 
    echo routing::getInstance()->getUrlWeb('factura', 'deleteDetalleFacturaCompra');
    ?>
')"> <?php 
    echo i18n::__('inhabil');
    ?>
</button>
        </div>
    </div>
</div>
                                        
                                        <!--WINDOWS MODAL FILTER--> 
                            <div class="modalmask" id="myModalFilter">
                                <div class="modalbox rotate">