Diseño Sistema web PHP con laravel y Mysql (27-36) Controlador: Venta
Continuamos en este videocurso para diseñar un sistema web en el lenguaje de programación PHP con el framework Laravel utilizando como gestor de base de datos MySql.
En este capítulo implementaremos un controlador para gestionar los métodos referentes a la tabla Venta y sus detalles, en este controlador estarán las funciones de listado, creación y edición de registros de pedidos o ventas.
Paquete Premium:
45 Videos (Curso completo)
Código fuente del sistema completo, con las funcionalidades terminadas y mejoradas.
http://www.incanatoit.com/2016/11/codigo-sistema-compras-ventas-laravel-mysql-jquery-bootstrap.html
Paquete Gratuito:
35 Videos
Código fuente del sistema desarrollado en el curso.
Puedes revisar todo el curso gratuito en mi canal de youtube www.youtube.com/jcarlosad7 desde:
https://www.youtube.com/watch?v=Zj0pshSSlEo&index=2&list=PLZPrWDz1MolrxS1uw-u7PrnK66DCFmhDR
Puedes descargar todos los recursos del curso gratuito (Base de datos, Plantilla, Sistema completo, ) del siguiente enlace:
https://drive.google.com/open?id=1NOhkw5zSCXIgAkc3Cn6AYviARCm3HKVd
Puedes ver el código inicial en github en la siguiente dirección:
https://github.com/jcarlosad7/crudLaravelTutorial
Revisa la documentación de laravel 5.2
https://laravel.com/docs/5.2
En este capítulo implementaremos un controlador para gestionar los métodos referentes a la tabla Venta y sus detalles, en este controlador estarán las funciones de listado, creación y edición de registros de pedidos o ventas.
Paquete Premium:
45 Videos (Curso completo)
Código fuente del sistema completo, con las funcionalidades terminadas y mejoradas.
http://www.incanatoit.com/2016/11/codigo-sistema-compras-ventas-laravel-mysql-jquery-bootstrap.html
Paquete Gratuito:
35 Videos
Código fuente del sistema desarrollado en el curso.
Puedes revisar todo el curso gratuito en mi canal de youtube www.youtube.com/jcarlosad7 desde:
https://www.youtube.com/watch?v=Zj0pshSSlEo&index=2&list=PLZPrWDz1MolrxS1uw-u7PrnK66DCFmhDR
Puedes descargar todos los recursos del curso gratuito (Base de datos, Plantilla, Sistema completo, ) del siguiente enlace:
https://drive.google.com/open?id=1NOhkw5zSCXIgAkc3Cn6AYviARCm3HKVd
Puedes ver el código inicial en github en la siguiente dirección:
https://github.com/jcarlosad7/crudLaravelTutorial
https://laravel.com/docs/5.2
Controlador Venta
Para implementar nuestro controlador utilizamos el siguiente comando en la interfaz de PHP artisan:
php artisan make:controller VentaController
Código fuente del Controlador: VentaController.php
Video 27: Sistema web PHP con laravel y Mysql (27-36) Controlador: Venta
Saludos Imperio, un abrazo a la distancia!
namespace sisVentas\Http\Controllers; use Illuminate\Http\Request; use sisVentas\Http\Requests; use Illuminate\Support\Facades\Redirect; use Illuminate\Support\Facades\Input; use sisVentas\Http\Requests\VentaFormRequest; use sisVentas\Venta; use sisVentas\DetalleVenta; use DB; use Carbon\Carbon; use Response; use Illuminate\Support\Collection; class VentaController extends Controller { public function __construct() { } public function index(Request $request) { if ($request) { $query=trim($request->get('searchText')); $ventas=DB::table('venta as v') ->join('persona as p','v.idcliente','=','p.idpersona') ->join('detalle_venta as dv','v.idventa','=','dv.idventa') ->select('v.idventa','v.fecha_hora','p.nombre','v.tipo_comprobante','v.serie_comprobante','v.num_comprobante','v.impuesto','v.estado','v.total_venta') ->where('v.num_comprobante','LIKE','%'.$query.'%') ->orderBy('v.idventa','desc') ->groupBy('v.idventa','v.fecha_hora','p.nombre','v.tipo_comprobante','v.serie_comprobante','v.num_comprobante','v.impuesto','v.estado') ->paginate(7); return view('ventas.venta.index',["ventas"=>$ventas,"searchText"=>$query]); } } public function create() { $personas=DB::table('persona')->where('tipo_persona','=','Cliente')->get(); $articulos = DB::table('articulo as art') ->join('detalle_ingreso as di','art.idarticulo','=','di.idarticulo') ->select(DB::raw('CONCAT(art.codigo, " ",art.nombre) AS articulo'),'art.idarticulo','art.stock',DB::raw('avg(di.precio_venta) as precio_promedio')) ->where('art.estado','=','Activo') ->where('art.stock','>','0') ->groupBy('articulo','art.idarticulo','art.stock') ->get(); return view("ventas.venta.create",["personas"=>$personas,"articulos"=>$articulos]); } public function store (VentaFormRequest $request) { try{ DB::beginTransaction(); $venta=new Venta; $venta->idcliente=$request->get('idcliente'); $venta->tipo_comprobante=$request->get('tipo_comprobante'); $venta->serie_comprobante=$request->get('serie_comprobante'); $venta->num_comprobante=$request->get('num_comprobante'); $venta->total_venta=$request->get('total_venta'); $mytime = Carbon::now('America/Lima'); $venta->fecha_hora=$mytime->toDateTimeString(); $venta->impuesto='18'; $venta->estado='A'; $venta->save(); $idarticulo = $request->get('idarticulo'); $cantidad = $request->get('cantidad'); $descuento = $request->get('descuento'); $precio_venta = $request->get('precio_venta'); $cont = 0; while($cont < count($idarticulo)){ $detalle = new DetalleVenta(); $detalle->idventa= $venta->idventa; $detalle->idarticulo= $idarticulo[$cont]; $detalle->cantidad= $cantidad[$cont]; $detalle->descuento= $descuento[$cont]; $detalle->precio_venta= $precio_venta[$cont]; $detalle->save(); $cont=$cont+1; } DB::commit(); }catch(\Exception $e) { DB::rollback(); } return Redirect::to('ventas/venta'); } public function show($id) { $venta=DB::table('venta as v') ->join('persona as p','v.idcliente','=','p.idpersona') ->join('detalle_venta as dv','v.idventa','=','dv.idventa') ->select('v.idventa','v.fecha_hora','p.nombre','v.tipo_comprobante','v.serie_comprobante','v.num_comprobante','v.impuesto','v.estado','v.total_venta') ->where('v.idventa','=',$id) ->first(); $detalles=DB::table('detalle_venta as d') ->join('articulo as a','d.idarticulo','=','a.idarticulo') ->select('a.nombre as articulo','d.cantidad','d.descuento','d.precio_venta') ->where('d.idventa','=',$id) ->get(); return view("ventas.venta.show",["venta"=>$venta,"detalles"=>$detalles]); } public function destroy($id) { $venta=Venta::findOrFail($id); $venta->Estado='C'; $venta->update(); return Redirect::to('ventas/venta'); } }
Video 27: Sistema web PHP con laravel y Mysql (27-36) Controlador: Venta
Saludos Imperio, un abrazo a la distancia!
Diseño Sistema web PHP con laravel y Mysql (27-36) Controlador: Venta
Reviewed by IncanatoIt-ad
on
17:20
Rating:
No hay comentarios: