/*
Navicat MySQL Data Transfer

Source Server         : Mysql
Source Server Version : 50717
Source Host           : localhost:3307
Source Database       : monitor

Target Server Type    : MYSQL
Target Server Version : 50717
File Encoding         : 65001

Date: 2017-03-16 09:23:22
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Procedure structure for get_pedidos_csv
-- ----------------------------
DROP PROCEDURE IF EXISTS `get_pedidos_csv`;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` PROCEDURE `get_pedidos_csv`(IN in_fecha_desde VARCHAR(14),
	IN in_fecha_hasta VARCHAR(14),IN in_sucursal VARCHAR(100),
	IN in_operador_movil VARCHAR(100),
	IN in_dispositivo_movil VARCHAR(100),
	IN in_cliente VARCHAR(100))
BEGIN
	SELECT 	
		LPAD(P.CodigoCliente, 5, '0') as ClienteID,
		"" as Vacio,
		CONCAT(LPAD(P.NroOperadorMovil, 4, '0'),LPAD(P.NroPedido, 8, '0')) as NroPedido,
		concat(SUBSTRING(FechaHoraInicio,7,2),'/',SUBSTRING(FechaHoraInicio,5,2),'/',SUBSTRING(FechaHoraInicio,1,4)) as Fecha,
		"" as Reparto,
		LPAD(P.Sucursal,3,'0')as Sucursal, 
		LPAD(P.OrdenCompra, 11, '0') as OrdenCompra

	FROM Pedidos P
	WHERE(in_fecha_desde IS NULL OR (date_format(str_to_date(FechaHoraInicio, '%Y%m%d'), '%Y%m%d') >= date_format(in_fecha_desde, '%Y%m%d')AND 
				 date_format(str_to_date(FechaHoraInicio, '%Y%m%d'), '%Y%m%d') <= date_format(in_fecha_hasta, '%Y%m%d')
				)
		 )AND
	(in_dispositivo_movil IS NULL OR in_dispositivo_movil = P.NroDispositivoMovil) AND
	(in_operador_movil IS NULL OR in_operador_movil = P.NroOperadorMovil ) AND
	(in_cliente IS NULL OR in_cliente = P.CodigoCliente) AND
	-- Se utiliza este filtro cuando se pasa una lista de sucursales.  Esto sucede cuando esta configurado para trabajar con Sucursales
	(in_sucursal IS NULL OR (FIND_IN_SET(P.Sucursal,in_sucursal)>0));
END
;;
DELIMITER ;
