public function getTableData()
 {
     $input = Request::createFromGlobals();
     $returnData = [];
     // Get all records
     $records = Proveedor::where('id', '>', 0);
     $returnData['total'] = $records->count();
     // Get only a specific class
     if ($input->clase != '') {
         $records->whereHas('clases', function ($query) use($input) {
             $query->whereIdClase($input->clase);
         });
     }
     // Filter results
     if ($input->searchString != '') {
         $records->where(function ($query) use($input) {
             $query->where('nombre', 'LIKE', '%' . $input->searchString . '%')->orWhere('codigo', 'LIKE', '%' . $input->searchString . '%');
         });
     }
     $returnData['filtered'] = $records->count();
     // Get the actual data with limits
     $records->skip($input->displayStart)->take($input->recordsPerPage);
     $returnData['records'] = $records->get();
     return $returnData;
 }
 public function getProveedores()
 {
     $input = Request::createFromGlobals();
     return Proveedor::whereHas('clases', function ($query) use($input) {
         $query->whereIdClase($input->clase);
     })->get();
 }
Exemple #3
0
 /**
  * Devuelve el proveedor favorito, basado en tiempo
  * @return type
  */
 public function getMejorProveedorTiempo()
 {
     $proveedores = ProductoPrecio::whereIdProducto($this->id)->lists('id_proveedor');
     $proveedores->toArray();
     $proveedor_favorito = null;
     if (count($proveedores)) {
         $valor_min = 999999999;
         foreach ($proveedores as $proveedor) {
             $valorProveedor = static::getTiempoPromedio($this->id, $proveedor);
             if ($valorProveedor < $valor_min) {
                 $valor_min = $valorProveedor;
                 $proveedor_favorito = $proveedor;
             }
         }
         $proveedor_favorito = Proveedor::find($proveedor_favorito);
         $proveedor_favorito->tiempo_promedio = $valor_min;
     }
     return $proveedor_favorito;
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     $record = Proveedor::find($id)->delete();
     return new AjaxResponse('success', '');
 }
// 1. Extracción de datos
//*******************************************************************
// Traer todas las clases cuyos proveedores tengan como origen 'bpcs' de la tabla de adquisiciones BPM
$clases = Clase::whereOrigenProveedores('bpcs')->get();
// Traer todos los artículos de BPCS
$proveedores = $odbc->query("SELECT VENDOR, VNDNAM,VTYPE,VNALPH,VMREF1,VMREF2,VMREF3,VMREF4,VMREF5,VTERMS FROM AVM ");
$terminos_pago = $odbc->query("SELECT * FROM AVT ");
//*******************************************************************
// 2. Ingreso y datos calculados
//*******************************************************************
foreach ($proveedores as $proveedor_bpcs) {
    //***********************************************
    // Ingreso de datos básicos
    //***********************************************
    // Ingreso los artículos a la base del BPM
    $proveedor = Proveedor::firstOrNew(['origen' => 'bpcs', 'codigo' => $proveedor_bpcs['VENDOR']]);
    if (!$proveedor->id) {
        $proveedor->save();
    }
    $proveedor->nombre = $proveedor_bpcs['VNDNAM'];
    // Colocar las clases respectivas a los productos
    $ids_clase = [];
    foreach ($clases as $clase) {
        // Agrego las clases BPCS de la tabla de clases a un arreglo temporal
        if (!empty($clase->clases_prov_bpcs)) {
            $clases_prov_bpcs = explode(',', $clase->clases_prov_bpcs);
            foreach ($clases_prov_bpcs as $codigo_bpcs) {
                if ($codigo_bpcs == $proveedor_bpcs['VENDOR']) {
                    $ids_clase[] = $clase->id;
                }
            }