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 }
$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";