예제 #1
0
 public static function ingresandoproducto($codigo, $descripcion, $cuenta, $ubicacion, $unidad, $cantidad, $precio, $ingreso_id)
 {
     $cuenta = Cuenta::where('nombre_cuenta', '=', $cuenta)->first();
     $producto = Producto::where('codigo_interno', '=', $codigo)->first();
     if ($producto != null) {
         //actualizando la existencia del producto en la tabla central
         $producto->existencias = $producto->existencias + $cantidad;
         $producto->precio = $precio;
         $producto->ubicacion = $ubicacion;
         $producto->save();
     } else {
         $p = new Producto();
         $p->codigo_interno = $codigo;
         $p->descripcion = $descripcion;
         $p->cuenta_id = $cuenta->id;
         $p->ubicacion = $ubicacion;
         $p->precio = $precio;
         $p->existencias = $cantidad;
         $p->unidad = $unidad;
         $p->nivel = Session::get('nivel');
         $p->save();
         //Guardando codigo 	QR
         DNS2D::getBarcodePNGPath($codigo, "QRCODE", 20, 20);
         //selecionando el producto recien guardado
         $producto = Producto::where('codigo_interno', '=', $codigo)->first();
     }
     //ingresando en la tabla  mediatica de producto e ingreso para futuras referencias y saber cuantos productos fueron ingresados en un producto
     $ing_pro = new Ingresoproducto();
     $ing_pro->ingreso_id = $ingreso_id;
     $ing_pro->producto_id = $producto->id;
     $ing_pro->cantidad = $cantidad;
     $ing_pro->precio = $precio;
     $ing_pro->fecha = date('Y-m-d');
     $ing_pro->save();
 }
예제 #2
0
 public function postCrear()
 {
     $datos = Input::get('datos');
     $productos = explode("item=", $datos);
     //registrando el ingreso !!!!!!!
     $ingresosactuales = Ingreso::where('nivel', '=', Session::get('nivel'))->get();
     $num;
     //selecionanado el pedidocomrpa
     $pedidocompra = Pedidocompra::where('numero', '=', Input::get('numero_pedido'))->where('nivel', '=', Session::get('nivel'))->first();
     $pedidocompra->confirmado_ingreso = true;
     $pedidocompra->save();
     if (count($ingresosactuales) == 0) {
         $num = "1/" . date('m/Y');
         Ingreso::agregaringreso($num, Ingreso::cambiarfecha(), Session::get('nivel'), Input::get('al_almacen'), Input::get('procedente_de'), Input::get('numero_factura'), Input::get('proveedor'), Input::get('documento_respaldo'), Input::get('nit'), Input::get('valor_total'), Input::get('valor_total'), Input::get('entregado_por'), Input::get('recivido_por'), Input::get('observaciones'), Input::get('orden_compra'), $pedidocompra->id);
     } else {
         $totalingresos = count($ingresosactuales);
         $utlimoingreso = Ingreso::where('id', '=', $ingresosactuales[$totalingresos - 1]->id)->first();
         //separandola el numero el mes y el año para realizar operacion
         $parafecha = explode("/", $utlimoingreso->numero);
         if ($parafecha[1] == date('m')) {
             $actual = $parafecha[0] + 1;
             $num = $actual . "/" . date('m/Y');
             Ingreso::agregaringreso($num, Ingreso::cambiarfecha(), Session::get('nivel'), Input::get('al_almacen'), Input::get('procedente_de'), Input::get('numero_factura'), Input::get('proveedor'), Input::get('documento_respaldo'), Input::get('nit'), Input::get('valor_total'), Input::get('valor_total'), Input::get('entregado_por'), Input::get('recivido_por'), Input::get('observaciones'), Input::get('orden_compra'), $pedidocompra->id);
         } else {
             $num = "1/" . date('m/Y');
             Ingreso::agregaringreso($num, Ingreso::cambiarfecha(), Session::get('nivel'), Input::get('al_almacen'), Input::get('procedente_de'), Input::get('numero_factura'), Input::get('proveedor'), Input::get('documento_respaldo'), Input::get('nit'), Input::get('valor_total'), Input::get('valor_total'), Input::get('entregado_por'), Input::get('recivido_por'), Input::get('observaciones'), Input::get('orden_compra'), $pedidocompra->id);
         }
     }
     //fin registrar ingreso
     //recuperando el ingreso actual
     $ingreso = Ingreso::where('numero', '=', $num)->where('nivel', '=', Session::get('nivel'))->first();
     //registradon los productos por filas
     for ($i = 1; $i < count($productos); $i++) {
         $medida = Ingreso::separar("medida", $productos[$i]);
         $descripcion = Ingreso::separar("descripcion", $productos[$i]);
         $precio = Ingreso::separar("precio", $productos[$i]);
         $ubicacion = Ingreso::separar("ubicacion", $productos[$i]);
         $codigo = Ingreso::separar("codigo", $productos[$i]);
         $cuenta = Ingreso::separar("cuenta", $productos[$i]);
         $cantidad = Ingreso::separar("cantidad", $productos[$i]);
         $product = Producto::where('codigo_interno', '=', $codigo)->first();
         Ingreso::ingresandoproducto($codigo, $descripcion, $cuenta, $ubicacion, $medida, $cantidad, $precio, $ingreso->id);
     }
     //recogiendo datos para el podf
     $ing_pro = Ingresoproducto::where('ingreso_id', '=', $ingreso->id)->get();
     $i = 0;
     foreach ($ing_pro as $in) {
         $prod = Producto::find($in->producto_id);
         $total = $in->precio * $in->cantidad;
         $data[$i] = array("codigo" => $prod->codigo_interno, "cantidad" => $in->cantidad, "unidad" => $prod->unidad, "descripcion" => $prod->descripcion, "precio" => $in->precio, "total" => $total);
         $i++;
     }
     $pdf = App::make('dompdf');
     $pagina = View::make('imprimibles.nota_ingreso')->with("datos", $data)->with("ingreso", $ingreso);
     $pdf->loadHTML($pagina)->setPaper('letter')->setOrientation('landscape')->setWarnings(false);
     return $pdf->stream();
     //return View::make('imprimibles.nota_ingreso')->with("datos",$data)->with("ingreso",$ingreso);
 }
예제 #3
0
 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";
                     }
                 }
             }
         }
     }
 }
예제 #4
0
        echo json_encode($dato);
    } else {
        // Enviar respuesta de error general
        echo json_encode(array('estado' => '2', 'mensaje' => 'No se obtuvo el registro'));
    }
});
Route::get('ingresosProducto/{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 {
        $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) {
            $datos["estado"] = 1;
            $datos["ingresos"] = $ing_total;
            echo json_encode($datos);
        } else {
            $datos["estado"] = 2;
            $datos["mensaje"] = "no hay ingresos";