示例#1
0
 public static function egresoProducto($egreso_id, $producto_id, $cantidad, $unidad_uso)
 {
     $producto = Producto::find($producto_id);
     $producto->existencias = $producto->existencias - $cantidad;
     $producto->save();
     $e = new Egresoproducto();
     $e->egreso_id = $egreso_id;
     $e->producto_id = $producto_id;
     $e->fecha = date('Y-m-d');
     $e->cantidad = $cantidad;
     $e->unidad_uso = $unidad_uso;
     $e->precio = $producto->precio;
     $e->save();
 }
 public function postVerhistorial()
 {
     $tipo = Input::get('tipo');
     $gestion = Input::get('gestion');
     $codigoproducto = Input::get('codigo');
     if ($codigoproducto == null || $gestion == null) {
         echo "Codigo mal";
     } else {
         if ($tipo == "Ingresos del Producto") {
             $gestioninicio = $gestion . "-01-0";
             $gestionfinal = $gestion . "-12-32";
             $p = Producto::where('codigo_interno', '=', $codigoproducto)->first();
             if ($p == null) {
                 echo "no hay registros";
             } else {
                 $ingresos = Ingresoproducto::where('producto_id', '=', $p->id)->where('fecha', '>', $gestioninicio)->where('fecha', '<', $gestionfinal)->get();
                 $i = 0;
                 $ing_total;
                 foreach ($ingresos as $key) {
                     $ni = Ingreso::where('id', '=', $key->ingreso_id)->first();
                     $preciototal = $key->cantidad * $key->precio;
                     $ing_total[$i] = array("fecha" => $key->fecha, "ni" => $ni->numero, "procedencia" => $ni->proveedor, "costo" => $key->precio, "cantidad" => $key->cantidad, "importe" => $preciototal);
                     $i++;
                 }
                 if (count($ing_total) > 0) {
                     return Redirect::to('cardex')->with('ing_total', $ing_total)->with('status', 'ok_ingreso');
                 } else {
                     echo "no tiene ingresos";
                 }
             }
         } else {
             if ($tipo == "Egresos del Producto") {
                 $gestioninicio = $gestion . "-01-0";
                 $gestionfinal = $gestion . "-12-32";
                 $p = Producto::where('codigo_interno', '=', $codigoproducto)->first();
                 if ($p == null) {
                     echo "no hay registros";
                 } else {
                     $egresos = Egresoproducto::where('producto_id', '=', $p->id)->where('fecha', '>', $gestioninicio)->where('fecha', '<', $gestionfinal)->get();
                     $i = 0;
                     foreach ($egresos as $key) {
                         $ni = Egreso::where('id', '=', $key->egreso_id)->first();
                         $preciototal = $key->cantidad * $key->precio;
                         $egre_total[$i] = array('fecha' => $key->fecha, 'unidad' => $key->unidad_uso, 'destino' => $ni->para_uso_en, 'can_egreso' => $key->cantidad, 'precio' => $key->precio, 'saldo' => $p->existencias, 'nota' => $ni->numero);
                         //echo "fecha ingreso: ".$key->fecha."Referencia: ".$key->unidad_uso." destino a: ".$ni->para_uso_en." cantidad egreso: ".$key->cantidad." precio : ".$key->precio." saldo catidad".$p->existencias." nota de egreso:".$ni->numero.'<br>';
                         $i++;
                     }
                     if (count($egre_total) > 0) {
                         return Redirect::to('cardex')->with('egre_total', $egre_total)->with('status', 'ok_egreso');
                     } else {
                         echo "no tiene egresos";
                     }
                 }
             }
         }
     }
 }
 public function postRecuperarproductos()
 {
     $data = Input::all();
     if (Request::ajax()) {
         $egreso = Egreso::where('numero', '=', $data['numero'])->where('nivel', '=', Session::get('nivel'))->first();
         $egreso_productos = Egresoproducto::where('egreso_id', '=', $egreso->id)->get();
         $datos;
         for ($i = 0; $i < count($egreso_productos); $i++) {
             $producto = Producto::find($egreso_productos[$i]->producto_id);
             if ($egreso->pedido_id == true) {
                 $pedinorm = Egreso::find($egreso->id)->pedido;
                 $pn = "PN" . $pedinorm->numero;
                 $datos[$i] = array("medida" => $producto->unidad, "cantidad" => $egreso_productos[$i]->cantidad, "unidad" => $egreso_productos[$i]->unidad_uso, "descripcion" => $producto->descripcion, "codigo" => $producto->codigo_interno, "pedido" => $pn);
             } else {
                 $pedicom = Egreso::find($egreso->id)->pedidocompra;
                 $pc = "PC" . $pedicom->numero;
                 $datos[$i] = array("medida" => $producto->unidad, "cantidad" => $egreso_productos[$i]->cantidad, "unidad" => $egreso_productos[$i]->unidad_uso, "descripcion" => $producto->descripcion, "codigo" => $producto->codigo_interno, "pedido" => $pc);
             }
         }
         echo json_encode($datos);
     }
 }
 public function postCrear()
 {
     //EGitem=1&EGcodigo=aa&EGcantidad=7&EGitem=2&EGcodigo=bb&EGcantidad=15&
     //separando tipo de pedido
     $t = explode(" ", Input::get('numero_pedido'));
     $tipo = $t[0];
     $datos = Input::get('datos');
     $productos = explode("EGitem=", $datos);
     //registrando el ultimo pedido compra!!!!!!!!
     $egresosactuales = Egreso::where('nivel', '=', Session::get('nivel'))->get();
     $num;
     if (count($egresosactuales) == 0) {
         $num = "1/" . date('m/Y');
         if ($tipo == "PN") {
             $pedidonormal = Pedido::where('numero', '=', $t[1])->where('nivel', '=', Session::get('nivel'))->first();
             $pedidonormal->confirmado = true;
             $pedidonormal->save();
             Egreso::agregarEgresopedidonormal($num, Input::get('para_uso_en'), Input::get('entregado_por'), Input::get('cargo_entregado_por'), Input::get('recivido_por'), Input::get('cargo_recivido_por'), $pedidonormal->id);
         } else {
             $pedidocom = Pedidocompra::where('numero', '=', $t[1])->where('nivel', '=', Session::get('nivel'))->first();
             $pedidocom->confirmado_egreso = true;
             $pedidocom->save();
             Egreso::agregarEgresopedidocompra($num, Input::get('para_uso_en'), Input::get('entregado_por'), Input::get('cargo_entregado_por'), Input::get('recivido_por'), Input::get('cargo_recivido_por'), $pedidocom->id);
         }
     } else {
         $totalegresos = count($egresosactuales);
         $utlimoegreso = Egreso::where('id', '=', $egresosactuales[$totalegresos - 1]->id)->first();
         //separandola el numero el mes y el año para realizar operacion
         $parafecha = explode("/", $utlimoegreso->numero);
         if ($parafecha[1] == date('m')) {
             $actual = $parafecha[0] + 1;
             $num = $actual . "/" . date('m/Y');
             if ($tipo == "PN") {
                 $pedidonormal = Pedido::where('numero', '=', $t[1])->where('nivel', '=', Session::get('nivel'))->first();
                 $pedidonormal->confirmado = true;
                 $pedidonormal->save();
                 Egreso::agregarEgresopedidonormal($num, Input::get('para_uso_en'), Input::get('entregado_por'), Input::get('cargo_entregado_por'), Input::get('recivido_por'), Input::get('cargo_recivido_por'), $pedidonormal->id);
             } else {
                 $pedidocom = Pedidocompra::where('numero', '=', $t[1])->where('nivel', '=', Session::get('nivel'))->first();
                 $pedidocom->confirmado_egreso = true;
                 $pedidocom->save();
                 Egreso::agregarEgresopedidocompra($num, Input::get('para_uso_en'), Input::get('entregado_por'), Input::get('cargo_entregado_por'), Input::get('recivido_por'), Input::get('cargo_recivido_por'), $pedidocom->id);
             }
         } else {
             $num = "1/" . date('m/Y');
             if ($tipo == "PN") {
                 $pedidonormal = Pedido::where('numero', '=', $t[1])->where('nivel', '=', Session::get('nivel'))->first();
                 $pedidonormal->confirmado = true;
                 $pedidonormal->save();
                 Egreso::agregarEgresopedidonormal($num, Input::get('para_uso_en'), Input::get('entregado_por'), Input::get('cargo_entregado_por'), Input::get('recivido_por'), Input::get('cargo_recivido_por'), $pedidonormal->id);
             } else {
                 $pedidocom = Pedidocompra::where('numero', '=', $t[1])->where('nivel', '=', Session::get('nivel'))->first();
                 $pedidocom->confirmado_egreso = true;
                 $pedidocom->save();
                 Egreso::agregarEgresopedidocompra($num, Input::get('para_uso_en'), Input::get('entregado_por'), Input::get('cargo_entregado_por'), Input::get('recivido_por'), Input::get('cargo_recivido_por'), $pedidocom->id);
             }
         }
     }
     //recuperando el egreso compra actual
     $egreso = Egreso::where('numero', '=', $num)->where('nivel', '=', Session::get('nivel'))->first();
     //registradon los productos del egreso
     for ($i = 1; $i < count($productos); $i++) {
         $cantidad = Egreso::separar("EGcantidad", $productos[$i]);
         $codigo = Egreso::separar("EGcodigo", $productos[$i]);
         $unidad_uso = Egreso::separar("EGunidad_uso", $productos[$i]);
         $p = Producto::where('codigo_interno', '=', $codigo)->first();
         Egreso::egresoProducto($egreso->id, $p->id, $cantidad, $unidad_uso);
     }
     $egreproduct = Egresoproducto::where('egreso_id', '=', $egreso->id)->get();
     $i = 0;
     foreach ($egreproduct as $e) {
         $pro = Producto::find($e->producto_id);
         $data[$i] = array("codigo" => $pro->codigo_interno, "cantidad" => $e->cantidad, "unidad" => $pro->unidad, "descripcion" => $pro->descripcion);
         $i++;
     }
     $pdf = App::make('dompdf');
     $pagina = View::make('imprimibles.nota_acta')->with('datos', $data)->with('egreso', $egreso);
     $pdf->loadHTML($pagina)->setPaper('letter')->setOrientation('landscape')->setWarnings(false);
     return $pdf->stream();
     //para pdf
 }
示例#5
0
            $datos["estado"] = 2;
            $datos["mensaje"] = "no hay ingresos";
            echo json_encode($datos);
        }
    }
});
Route::get('egresosProducto/{codigo}/{gestion}', function ($codigo, $gestion) {
    $gestioninicio = $gestion . "-01-0";
    $gestionfinal = $gestion . "-12-32";
    $p = Producto::where('codigo_interno', '=', $codigo)->first();
    if ($p == null) {
        $datos["estado"] = 3;
        $datos["mensaje"] = "el producto no esta registrado en inventarios";
        echo json_encode($datos);
    } else {
        $egresos = Egresoproducto::where('producto_id', '=', $p->id)->where('fecha', '>', $gestioninicio)->where('fecha', '<', $gestionfinal)->get();
        $i = 0;
        foreach ($egresos as $key) {
            $ni = Egreso::where('id', '=', $key->egreso_id)->first();
            $preciototal = $key->cantidad * $key->precio;
            $egre_total[$i] = array('fecha' => $key->fecha, 'unidad' => $key->unidad_uso, 'destino' => $ni->para_uso_en, 'can_egreso' => $key->cantidad, 'precio' => $key->precio, 'saldo' => $p->existencias, 'nota' => $ni->numero);
            //echo "fecha ingreso: ".$key->fecha."Referencia: ".$key->unidad_uso." destino a: ".$ni->para_uso_en." cantidad egreso: ".$key->cantidad." precio : ".$key->precio." saldo catidad".$p->existencias." nota de egreso:".$ni->numero.'<br>';
            $i++;
        }
        if (count($egre_total) > 0) {
            $datos["estado"] = 1;
            $datos["egresos"] = $egre_total;
            echo json_encode($datos);
        } else {
            $datos["estado"] = 2;
            $datos["mensaje"] = "no hay egresos";