ALTER TABLE `productos`
	ADD COLUMN `pro_prioridad` BIGINT(20) NOT NULL DEFAULT '3' AFTER `pro_id_receta`;

ALTER TABLE `productos`
	ADD COLUMN `pro_vista` INT(2) NOT NULL DEFAULT '0' AFTER `pro_prioridad`;

ALTER TABLE `productos_nota`
	ADD COLUMN `id_cocinero` INT(11) NOT NULL AFTER `pdn_guardado`;

ALTER TABLE `usuarios`
	ADD COLUMN `uss_activo_fin` INT(2) NOT NULL DEFAULT 0 COMMENT 'Saber si el usuario esta activo en fines de semana' AFTER `uss_estatus`;

ALTER TABLE `productos_nota`
	ADD COLUMN `pdn_modificaciones` INT(2) NOT NULL DEFAULT '0' COMMENT 'Bandera para saber si el producto en la nota ha sufrido modificaciones' AFTER `id_cocinero`;
   
/* VISTA PARA CARGAR TODAS LAS COMANDAS DEL DIA QUE SIGUEN ACTIVAS */
CREATE OR REPLACE VIEW vw_productos_comanda AS
 SELECT pdn.id pdn_id, pdn.id_nota_venta, pdn.id_producto, pdn.pdn_cantidad, 
   ifnull(pdn.pdn_comensal,'') pdn_comensal, pdn.pdn_tiempo, pdn.pdn_precio, pdn.pdn_estatus, 
   pdn.pdn_comentario, pd.pro_clave, pd.pro_nombre,
   pd.pro_clasificaciones, pd.pro_precio_venta, (pd.pro_precio_venta * pdn.pdn_cantidad) total,
   nv.ntv_no_nota, nv.ntv_zona_ate, us.uss_nombre, nv.ntv_no_mesa, 
	nv.ntv_fecha_creacion, pd.pro_prioridad, pd.pro_vista, pdn.created_at creacion, 
	DATE_FORMAT(pdn.created_at, "%H:%i:%s") hora_creacion
   FROM productos_nota AS pdn
   INNER JOIN productos AS pd ON pd.id = pdn.id_producto 
   INNER JOIN notas_venta AS nv ON nv.id = pdn.id_nota_venta
	INNER JOIN usuarios AS us ON us.id = nv.id_usuario
   WHERE nv.ntv_fecha_creacion = CURRENT_DATE() AND nv.ntv_estatus NOT IN('finalizado') ;

/*VISTA PARA CARGAR TODOS LOS*/
CREATE OR REPLACE VIEW vw_productos_vendidos AS
SELECT us.id AS uss_id, us.uss_nombre, pro.id pro_id, pro.pro_clave, 
	pro.pro_nombre, SUM(pdn.pdn_cantidad) AS cantidad, pro.pro_clasificaciones,
	pro.pro_precio_venta, ntv.ntv_fecha_creacion
	FROM productos_nota AS pdn
	INNER JOIN productos AS pro ON pro.id = pdn.id_producto
	INNER JOIN notas_venta AS ntv ON ntv.id = pdn.id_nota_venta
	LEFT JOIN usuarios AS us ON us.id = pdn.id_cocinero
	WHERE pdn.pdn_estatus IN ('terminado')
	GROUP BY pro.id,us.id, ntv.ntv_fecha_creacion ORDER BY ntv.ntv_fecha_creacion;


CREATE OR REPLACE VIEW vw_ganancias_diarias AS 
SELECT dia, notas_total, total,personas, mesas FROM (SELECT nt.ntv_fecha_creacion dia,COUNT() notas_total, SUM(nt.ntv_total_nota) total,
	SUM(nt.ntv_no_personas) personas,
	SUM(case when nt.ntv_no_mesa > 0 then 1 ELSE 0 END) mesas
	FROM notas_venta AS nt
	WHERE nt.ntv_estatus = "finalizado"
	GROUP BY nt.ntv_fecha_creacion
	UNION
	SELECT ifnull(nt.ntv_fecha_creacion,CURDATE()) dia,ifnull(COUNT(),0) notas_total, ifnull(SUM(nt.ntv_total_nota),0) total,
	ifnull(SUM(nt.ntv_no_personas),0) personas,
	ifnull(SUM(case when nt.ntv_no_mesa > 0 then 1 ELSE 0 END),0) mesas
	FROM notas_venta AS nt
	WHERE nt.ntv_estatus = "finalizado" AND nt.ntv_fecha_creacion = NOW()) AS result
	GROUP BY dia;


CREATE OR REPLACE VIEW vw_ganancias_semanales AS 
SELECT WEEK(nt.ntv_fecha_creacion) semana, COUNT(*) notas_totales, SUM(nt.ntv_total_nota) total, SUM(nt.ntv_no_personas) personas,
SUM(case when nt.ntv_no_mesa > 0 then 1 ELSE 0 END) mesas
FROM notas_venta AS nt
WHERE YEAR(nt.ntv_fecha_creacion) = YEAR(CURRENT_DATE) AND nt.ntv_estatus = 'finalizado'
GROUP BY WEEK(nt.ntv_fecha_creacion)