Esempio n. 1
0
        private void btnSrcCliente_Click(object sender, EventArgs e)
        {
            string s = "";

            for (int x = 0; x <= chKSucursal.CheckedItems.Count - 1; x++)
            {
                s += "'" + chKSucursal.CheckedItems[x].ToString() + "',";
            }
            s = s.TrimEnd(',');

            ConexBD cnx = new ConexBD();

            cnx.Conectar();
            ReportDocument   cryrep = new ReportDocument();
            MySqlDataAdapter myadap = new MySqlDataAdapter(String.Format(
                                                               "SELECT o.idOrden,UPPER(nombreCliente) nombreCliente, SUBSTRING(fechaCreado,1,10) fechaCreado,SUBSTRING(fechaEntrega,1,10) fechaEntrega,u.sucursal,totalOrden,pago1,o.aplicaDscto,DATEDIFF(NOW(),o.fechaEntrega) diasAtraso,IF(o.`estado`=0, 'En tienda','Entregado') estado, (SELECT IF(tipoServicio=1, 'Al Seco','Al Agua') from OrdenLinea where idOrden=o.idOrden Limit 1) tipo FROM Orden o INNER JOIN Cliente c ON o.idCliente=c.idCliente INNER JOIN Pago p ON o.idOrden=p.idOrden INNER JOIN usuario u ON u.id=o.idUsuario AND u.sucursal IN(" + s + ") WHERE o.estado=0 AND u.id<>1 AND o.fechaEntrega BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaFin.Value.ToString("yyyy-MM-dd") + " 23:59:59' " + "order by o.idOrden DESC"), cnx.ObtenerConexion());
            DataSet ds = new DataSet();

            myadap.Fill(ds, "dsInventario");
            cnx.cerrarConexion();
            cryrep.Load(@"D:\lavanderia\Laundry\Reportes\crInventario.rpt");

            cryrep.SetDataSource(ds);

            frmReporte rt = new frmReporte();

            rt.Text = "Reporte de Inventario";
            rt.crystalReportViewer1.ReportSource = cryrep;
            rt.Show(); 
        }
Esempio n. 2
0
        private void btnSrcCliente_Click(object sender, EventArgs e)
        {
            // If so, loop through all checked items and print results.
            string s = "";

            for (int x = 0; x <= chKSucursal.CheckedItems.Count - 1; x++)
            {
                s += "'" + chKSucursal.CheckedItems[x].ToString() + "',";
            }
            s = s.TrimEnd(',');

            if (s != "")
            {
                ConexBD cnx = new ConexBD();
                cnx.Conectar();
                ReportDocument   cryrep = new ReportDocument();
                MySqlDataAdapter myadap = new MySqlDataAdapter(String.Format("(SELECT pg.idOrden,UPPER(c.nombreCliente) nombreCliente,SUBSTRING(o.fechaCreado,1,10) AS fechaCreado,pg.fechaPago,o.idUsuario, u.sucursal,pg.pagoTotal,pg.pago1 AS pago," +
                                                                             " case tipoPago1  when 0 then 'Efectivo'  when 1 then 'Tarjeta'  when 3 then 'Yape/Deposito'  end as modoPago,IF(o.Estado=0,'ENTREGA','RECOJO') Movimiento FROM " +
                                                                             " (SELECT * FROM Pago WHERE fechaPago BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaFin.Value.ToString("yyyy-MM-dd") + " 23:59:59' " +
                                                                             " AND pago1>0) pg INNER JOIN Orden o ON o.idOrden=pg.idOrden AND o.tipoPago IN(1) AND o.`estado`in(0,1) INNER JOIN usuario u ON o.idUsuario=u.id " +
                                                                             " INNER JOIN Cliente c ON o.idCliente=c.idCliente AND u.sucursal IN(" + s + ") ORDER BY modoPago) UNION ALL " +
                                                                             " (SELECT pg.idOrden,UPPER(c.nombreCliente) nombreCliente,SUBSTRING(o.fechaCreado,1,10) AS fechaCreado,pg.fechaActualizado AS fechaPago,o.idUsuario, u.sucursal,pg.pagoTotal,pg.pago1 AS pago,case tipoPago1  when 0 then 'Efectivo'  when 1 then 'Tarjeta'  when 3 then 'Yape/Deposito'  end as modoPago," +
                                                                             " IF(o.Estado=0,'ENTREGA','RECOJO') Movimiento FROM (SELECT * FROM Pago WHERE fechaPago BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaFin.Value.ToString("yyyy-MM-dd") + " 23:59:59' " +
                                                                             " ) pg INNER JOIN Orden o ON o.idOrden=pg.idOrden AND o.tipoPago IN(2) AND o.`estado` IN(0,1) INNER JOIN usuario u ON o.idUsuario=u.id " +
                                                                             " INNER JOIN Cliente c ON o.idCliente=c.idCliente AND  u.sucursal IN(" + s + ") ORDER BY modoPago) " +
                                                                             "UNION ALL " +
                                                                             " (SELECT pg.idOrden,UPPER(c.nombreCliente) nombreCliente,SUBSTRING(o.fechaCreado,1,10) AS fechaCreado,pg.fechaActualizado AS fechaPago,o.idUsuario, u.sucursal,pg.pagoTotal,pg.pago2 AS pago ,case tipoPago2  when 0 then 'Efectivo'  when 1 then 'Tarjeta'  when 3 then 'Yape/Deposito'  end as modoPago, " +
                                                                             " IF(o.Estado=0,'ENTREGA','RECOJO') Movimiento FROM (SELECT * FROM Pago WHERE fechaActualizado BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaFin.Value.ToString("yyyy-MM-dd") + " 23:59:59' " +
                                                                             " ) pg INNER JOIN Orden o ON o.idOrden=pg.idOrden AND o.tipoPago IN(2) AND o.`estado` IN(1) INNER JOIN usuario u ON o.idUsuario=u.id " +
                                                                             " INNER JOIN Cliente c ON o.idCliente=c.idCliente AND u.sucursal IN(" + s + ")  ORDER BY modoPago) ORDER BY modopago,idOrden"), cnx.ObtenerConexion());
                DataSet ds = new DataSet();



                myadap.Fill(ds, "dsCierrePagos");


                cryrep.Load(varGlobales.rutaReportes + "\\Reportes\\crSucursales.rpt");

                cryrep.SetDataSource(ds);

                cnx.cerrarConexion();
                frmReporte rt = new frmReporte();
                rt.Text = "Reporte de Cierre";
                rt.crystalReportViewer1.ReportSource = cryrep;
                rt.Show(); 
            }
            else
            {
                MessageBox.Show("Debe seleccionar al menos una sucursal", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 3
0
        private void clientesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ReportDocument   cryrep = new ReportDocument();
            MySqlDataAdapter myadap = new MySqlDataAdapter(String.Format(
                                                               "SELECT upper(nombreCliente) nombreCliente,dniCliente,direccionCliente,correoCliente,telefonoCliente,u.sucursal FROM Cliente c inner join usuario u on c.usuarioCreador=u.id order by sucursal,nombreCliente"), BdComun.ObtenerConexion());
            DataSet ds = new DataSet();

            myadap.Fill(ds, "Clientes");

            cryrep.Load(varGlobales.rutaReportes + "\\Reportes\\crClientes.rpt");

            cryrep.SetDataSource(ds);

            frmReporte rt = new frmReporte();

            rt.Text = "Reporte de Clientes";
            rt.crystalReportViewer1.ReportSource = cryrep;
            rt.Show(); 
        }
Esempio n. 4
0
        private void prendasToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ReportDocument   cryrep = new ReportDocument();
            MySqlDataAdapter myadap = new MySqlDataAdapter(String.Format(
                                                               "SELECT idPrenda, NombrePrenda, DescripcionPrenda, PrecioServicio FROM Prenda"), BdComun.ObtenerConexion());
            DataSet ds = new DataSet();

            myadap.Fill(ds, "Prendas");

            cryrep.Load(@"D:\lavanderia\Laundry\Reportes\crPrendas.rpt");

            cryrep.SetDataSource(ds);

            frmReporte rt = new frmReporte();

            rt.Text = "Reporte de prendas";
            rt.crystalReportViewer1.ReportSource = cryrep;
            rt.Show(); 
        }
Esempio n. 5
0
        private void btnSrcCliente_Click(object sender, EventArgs e)
        {
            ConexBD cnx = new ConexBD();

            cnx.Conectar();
            ReportDocument cryrep = new ReportDocument();


            MySqlDataAdapter myadap = new MySqlDataAdapter(String.Format("(SELECT pg.idOrden,UPPER(c.nombreCliente) nombreCliente,SUBSTRING(o.fechaCreado,1,10) AS fechaCreado,pg.fechaPago,o.idUsuario,IF(delivery = 1, 'SI', 'NO') as delivery, u.sucursal,pg.pagoTotal,pg.pago1 AS pago," +
                                                                         "(SELECT IFNULL(SUM(monto),0) FROM egresos  WHERE fechaEgreso BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 23:59:59' AND idUsuario=" + varGlobales.sessionUsuario + ") egreso, " +
                                                                         " case tipoPago1  when 0 then 'Efectivo'  when 1 then 'Tarjeta'  when 3 then 'Yape/Deposito'  end as modoPago,IF(o.Estado=0,'Entrega','Recojo') Movimiento FROM " +
                                                                         " (SELECT * FROM Pago WHERE fechaPago BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 23:59:59' " +
                                                                         " AND pago1>0) pg INNER JOIN Orden o ON o.idOrden=pg.idOrden AND o.tipoPago IN(1) AND o.`estado` in(0,1) INNER JOIN usuario u ON o.idUsuario=u.id " +
                                                                         " INNER JOIN Cliente c ON o.idCliente=c.idCliente AND u.id=" + varGlobales.sessionUsuario + " ORDER BY modoPago) UNION ALL " +
                                                                         " (SELECT pg.idOrden,UPPER(c.nombreCliente) nombreCliente,SUBSTRING(o.fechaCreado,1,10) AS fechaCreado,pg.fechaActualizado AS fechaPago,o.idUsuario,IF(delivery = 1, 'SI', 'NO') as delivery, u.sucursal,pg.pagoTotal,pg.pago1 AS pago, " +
                                                                         "(SELECT IFNULL(SUM(monto),0) FROM egresos  WHERE fechaEgreso BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 23:59:59' AND idUsuario=" + varGlobales.sessionUsuario + ") egreso, " +
                                                                         " case tipoPago1  when 0 then 'Efectivo'  when 1 then 'Tarjeta'  when 3 then 'Yape/Deposito'  end as modoPago," +
                                                                         " IF(o.Estado=0,'Entrega','Recojo') Movimiento FROM (SELECT * FROM Pago WHERE fechaPago BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 23:59:59' " +
                                                                         " ) pg INNER JOIN Orden o ON o.idOrden=pg.idOrden AND o.tipoPago IN(2) AND o.`estado` IN(0,1) INNER JOIN usuario u ON o.idUsuario=u.id " +
                                                                         " INNER JOIN Cliente c ON o.idCliente=c.idCliente AND u.id=" + varGlobales.sessionUsuario + " ORDER BY modoPago) " +
                                                                         "UNION ALL " +
                                                                         " (SELECT pg.idOrden,UPPER(c.nombreCliente) nombreCliente,SUBSTRING(o.fechaCreado,1,10) AS fechaCreado,pg.fechaActualizado AS fechaPago,o.idUsuario,IF(delivery = 1, 'SI', 'NO') as delivery,u.sucursal,pg.pagoTotal, pg.pago2 AS pago ," +
                                                                         "(SELECT IFNULL(SUM(monto),0) FROM egresos  WHERE fechaEgreso BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 23:59:59' AND idUsuario=" + varGlobales.sessionUsuario + ") egreso, " +
                                                                         " case tipoPago2  when 0 then 'Efectivo'  when 1 then 'Tarjeta'  when 3 then 'Yape/Deposito'  end as modoPago, " +
                                                                         " IF(o.Estado=0,'Entrega','Recojo') Movimiento FROM (SELECT * FROM Pago WHERE fechaActualizado BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 23:59:59' " +
                                                                         " ) pg INNER JOIN Orden o ON o.idOrden=pg.idOrden AND o.tipoPago IN(2) AND o.`estado` IN(1) INNER JOIN usuario u ON o.idUsuario=u.id " +
                                                                         " INNER JOIN Cliente c ON o.idCliente=c.idCliente AND u.id=" + varGlobales.sessionUsuario + " ORDER BY modoPago) ORDER BY modopago,idOrden"), cnx.ObtenerConexion());


            DataSet ds = new DataSet();

            myadap.Fill(ds, "dsCierrePagos");
            cryrep.Load(varGlobales.rutaReportes + "\\Reportes\\cierreDiario.rpt");
            cryrep.SetDataSource(ds);

            cnx.cerrarConexion();
            frmReporte rt = new frmReporte();

            rt.Text = "Reporte de Cierre";
            rt.crystalReportViewer1.ReportSource = cryrep;
            rt.Show(); 
        }
Esempio n. 6
0
        private void btnSrcCliente_Click(object sender, EventArgs e)
        {
            ConexBD cnx = new ConexBD();

            cnx.Conectar();
            ReportDocument   cryrep = new ReportDocument();
            MySqlDataAdapter myadap = new MySqlDataAdapter(String.Format("SELECT idegresos,idUsuario,sucursal,fechaEgreso,motivo,monto FROM egresos e  INNER JOIN usuario u ON e.idUsuario=u.id WHERE FechaEgreso BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaFin.Value.ToString("yyyy-MM-dd") + " 23:59:00'"), cnx.ObtenerConexion());
            DataSet          ds     = new DataSet();

            myadap.Fill(ds, "dsEgreso");
            cryrep.Load(varGlobales.rutaReportes + "\\Reportes\\crEgresos.rpt");
            cryrep.SetDataSource(ds);

            cnx.cerrarConexion();
            frmReporte rt = new frmReporte();

            rt.Text = "Reporte de Egresos";
            rt.crystalReportViewer1.ReportSource = cryrep;
            rt.Show(); 
        }
Esempio n. 7
0
        private void btn_pendientes_Click(object sender, EventArgs e)
        {
            ConexBD cnx = new ConexBD();

            cnx.Conectar();
            ReportDocument   cryrep = new ReportDocument();
            MySqlDataAdapter myadap = new MySqlDataAdapter(String.Format("SELECT idOrden,fechaEntrega,nombreCliente,totalOrden FROM Orden o,Cliente c WHERE o.idCliente=c.idCliente and  SUBSTRING(o.fechaEntrega,1,10)=SUBSTRING(NOW(),1,10) AND o.estado=0 AND o.idUsuario=" + varGlobales.sessionUsuario + ""), cnx.ObtenerConexion());
            DataSet          ds     = new DataSet();

            myadap.Fill(ds, "pendientes");
            cryrep.Load(varGlobales.rutaReportes + "\\Reportes\\crPendientes.rpt");
            cryrep.SetDataSource(ds);

            cnx.cerrarConexion();
            frmReporte rt = new frmReporte();

            rt.Text = "Reporte de Entregas";
            rt.crystalReportViewer1.ReportSource = cryrep;
            rt.Show(); 
        }
Esempio n. 8
0
        private void button1_Click(object sender, EventArgs e)
        {
            ConexBD cnx = new ConexBD();

            cnx.Conectar();
            ReportDocument   cryrep = new ReportDocument();
            MySqlDataAdapter myadap = new MySqlDataAdapter(String.Format(
                                                               "SELECT o.idOrden,c.dniCliente,c.nombreCliente,o.fechaCreado,o.fechaEntrega, o.totalOrden,l.cantidad,l.precio,l.descripcion,l.total,l.colorPrenda,l.marca,l.defecto,p.pago1,p.pago2,u.direccion,u.telefono FROM Orden o INNER JOIN Cliente c ON o.idCliente=c.idCliente INNER JOIN Pago p ON o.idOrden=p.idOrden INNER JOIN OrdenLinea l ON o.idOrden=l.idOrden INNER JOIN usuario u ON u.id=o.idUsuario WHERE o.idOrden={0}", txtTicket.Text), cnx.ObtenerConexion());
            DataSet ds = new DataSet();

            myadap.Fill(ds, "Ticket");
            cryrep.Load(varGlobales.rutaReportes + "\\Reportes\\crTicket.rpt");
            cryrep.SetDataSource(ds);
            //cryrep.PrintToPrinter(1, true, 0, 0);
            cnx.cerrarConexion();
            frmReporte rt = new frmReporte();

            rt.Text = "Ticket";
            rt.crystalReportViewer1.ReportSource = cryrep;
            rt.Show(); 
        }
Esempio n. 9
0
        private void cierreCajaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ReportDocument   cryrep = new ReportDocument();
            MySqlDataAdapter myadap = new MySqlDataAdapter(String.Format(
                                                               "SELECT al.idOrden,al.fechaCreado,if(al.tipoServicio=1, 'Al seco','Al Peso') tipo,al.pago1,al.pago2,(al.precio*al.cantidad) total from (SELECT l.tipoServicio,o.idOrden,o.fechaCreado,l.precio,l.cantidad,total,p.pago1,p.pago2 FROM Orden o inner join OrdenLinea l on o.idOrden=l.idOrden inner join Pago p on o.idOrden=p.idOrden where p.tipoPago in(1,2) and tipoPago1 in(0,1) and tipoPago2 in (0,1)) al where al.tipoServicio in(1,2);"), BdComun.ObtenerConexion());
            DataSet ds = new DataSet();



            myadap.Fill(ds, "sdAlseco");


            cryrep.Load(@"D:\lavanderia\Laundry\Reportes\crCierre.rpt");

            cryrep.SetDataSource(ds);


            frmReporte rt = new frmReporte();

            rt.Text = "Reporte de Cierre al Seco";
            rt.crystalReportViewer1.ReportSource = cryrep;
            rt.Show(); 
        }
Esempio n. 10
0
        private void btnSrcCliente_Click(object sender, EventArgs e)
        {
            string s = "";

            for (int x = 0; x <= chKSucursal.CheckedItems.Count - 1; x++)
            {
                s += "'" + chKSucursal.CheckedItems[x].ToString() + "',";
            }
            s = s.TrimEnd(',');

            if (s != "")
            {
                ReportDocument cryrep = new ReportDocument();
                string         query  = "SELECT al.idOrden,UPPER(al.nombreCliente) nombreCliente,al.sucursal,al.fechaCreado,SUBSTRING(al.fechaEntrega,1,10) fechaEntrega,al.nombrePrenda,al.marca,al.colorPrenda,al.precio,al.cantidad,IF(al.tipoServicio=1, 'Al seco','Al Agua') tipoServicio,al.pago1,al.pago2,al.fechaActualizado,al.total,al.modoPago,al.totalOrden,al.tipoPago coutas,al.aplicaDscto FROM  (SELECT l.tipoServicio,o.idOrden,c.`nombreCliente`,o.fechaCreado,o.`fechaEntrega`,pr.`nombrePrenda`,l.precio,l.`marca`,l.`colorPrenda`,l.cantidad,total,IF(tipoPago1=0,'Efectivo','Tarjeta') modoPago,p.pago1,p.pago2,p.`fechaActualizado`,o.totalOrden, o.`tipoPago`,o.`aplicaDscto`, u.`sucursal` FROM Orden o  INNER JOIN OrdenLinea l ON o.idOrden=l.idOrden INNER JOIN  Prenda pr ON l.`idPrenda`=pr.`idPrenda`INNER JOIN `Cliente` c ON o.`idCliente`=c.`idCliente` INNER JOIN `usuario` u ON u.`id`=o.`idUsuario` AND u.sucursal IN(" + s + ") INNER JOIN Pago p ON o.idOrden=p.idOrden WHERE p.tipoPago=1 AND tipoPago1 IN(0,1)) al WHERE al.fechaCreado BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaFin.Value.ToString("yyyy-MM-dd") + " 23:59:59' AND  al.tipoServicio=1  UNION ALL SELECT al.idOrden,UPPER(al.nombreCliente) nombreCliente,al.sucursal,al.fechaCreado,SUBSTRING(al.fechaEntrega,1,10) fechaEntrega,al.nombreServicio nombrePrenda,al.marca,al.colorPrenda,al.precio,al.cantidad,IF(al.tipoServicio=1, 'Al seco','Al Agua') tipoServicio,al.pago1,al.pago2,al.fechaActualizado,al.total,al.modoPago,al.totalOrden,al.tipoPago coutas,al.aplicaDscto FROM  (SELECT l.tipoServicio,o.idOrden,c.`nombreCliente`,o.fechaCreado,o.fechaEntrega,pr.`nombreServicio`,l.precio,l.`marca`,l.`colorPrenda`,l.cantidad,total,IF(tipoPago1=0,'Efectivo','Tarjeta') modoPago,p.`pago1`,p.`pago2`,p.`fechaActualizado`,o.`totalOrden`,o.`tipoPago`,o.`aplicaDscto`,u.`sucursal` FROM Orden o  INNER JOIN OrdenLinea l ON o.idOrden=l.idOrden INNER JOIN  Servicio pr ON l.`idPrenda`=pr.`idServicio`INNER JOIN `Cliente` c ON o.`idCliente`=c.`idCliente` INNER JOIN `usuario` u ON u.`id`=o.`idUsuario` AND u.sucursal IN(" + s + ")  INNER JOIN Pago p ON o.idOrden=p.idOrden WHERE p.tipoPago IN(1) AND tipoPago1 IN(0,1) AND tipoPago2 IN (0,1)) al WHERE al.fechaCreado BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaFin.Value.ToString("yyyy-MM-dd") + " 23:59:59' AND  al.tipoServicio=2  UNION ALL SELECT al.idOrden,al.nombreCliente,al.sucursal,al.fechaCreado,SUBSTRING(al.fechaEntrega,1,10) fechaEntrega,al.nombreServicio nombrePrenda,al.marca,al.colorPrenda,al.precio,al.cantidad,IF(al.tipoServicio=1, 'Al seco','Al Peso') tipoServicio,al.pago1,al.pago2,al.fechaActualizado,(al.precio*al.cantidad) total,al.modoPago,al.totalOrden,al.tipoPago coutas,al.aplicaDscto FROM  (SELECT l.`item`,l.tipoServicio,o.idOrden,c.`nombreCliente`,o.fechaCreado,o.`fechaEntrega`,pr.nombreServicio,l.`marca`,l.`colorPrenda`,l.precio,l.cantidad,total,p.pago1,p.pago2,IF(tipoPago1=0,'Efectivo','Tarjeta') modoPago,p.`fechaActualizado`,o.`totalOrden`,o.`tipoPago`,o.aplicaDscto,u.`sucursal` FROM Orden o  INNER JOIN OrdenLinea l ON o.idOrden=l.idOrden INNER JOIN  Servicio pr ON l.`idPrenda`=pr.`idServicio`INNER JOIN `Cliente` c ON o.`idCliente`=c.`idCliente` INNER JOIN `usuario` u ON u.`id`=o.`idUsuario` AND u.sucursal IN(" + s + ") INNER JOIN Pago p ON o.idOrden=p.idOrden WHERE p.tipoPago IN(2) AND tipoPago1 IN(0,1) AND tipoPago2 IN (0,1) AND p.`Estado`=0) al WHERE al.fechaCreado BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaFin.Value.ToString("yyyy-MM-dd") + " 23:59:59' AND  al.tipoServicio IN(2) UNION ALL SELECT al.idOrden,al.nombreCliente,al.sucursal,al.fechaActualizado fechaCreado,SUBSTRING(al.fechaEntrega,1,10) fechaEntrega,al.nombrePrenda,al.marca,al.colorPrenda,al.precio,al.cantidad,IF(al.tipoServicio=1, 'Al seco','Al Peso') tipoServicio,al.pago1,al.pago2,al.fechaActualizado, total,al.modoPago,al.totalOrden,al.tipoPago coutas,al.aplicaDscto FROM  (SELECT l.`item`,l.tipoServicio,o.idOrden,c.`nombreCliente`,o.`fechaEntrega`,p.fechaActualizado,pr.`nombrePrenda`,l.precio,l.`marca`,l.`colorPrenda`,l.cantidad,total,p.pago1,p.pago2,IF(tipoPago1=0,'Efectivo','Tarjeta') modoPago,o.`totalOrden`,o.aplicaDscto,o.`tipoPago`,u.`sucursal` FROM Orden o  INNER JOIN OrdenLinea l ON o.idOrden=l.idOrden INNER JOIN  Prenda pr ON l.`idPrenda`=pr.`idPrenda`INNER JOIN `Cliente` c ON o.`idCliente`=c.`idCliente` INNER JOIN `usuario` u ON u.`id`=o.`idUsuario` AND u.sucursal IN(" + s + ") INNER JOIN Pago p ON o.idOrden=p.idOrden WHERE p.tipoPago IN(2) AND tipoPago1 IN(0,1) AND tipoPago2 IN (0,1) AND p.`Estado` IN(0,1)) al WHERE al.fechaActualizado  BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaFin.Value.ToString("yyyy-MM-dd") + " 23:59:59' AND  al.tipoServicio IN(1) UNION ALL SELECT al.idOrden,al.nombreCliente,al.sucursal,al.fechaActualizado fechaCreado,SUBSTRING(al.fechaEntrega,1,10) fechaEntrega,al.nombreServicio nombrePrenda,al.marca,al.colorPrenda,al.precio,al.cantidad,IF(al.tipoServicio=1, 'Al seco','Al Peso') tipoServicio,al.pago1,al.pago2,al.fechaActualizado,(al.precio*al.cantidad) total,al.modoPago,al.totalOrden,al.tipoPago coutas,al.aplicaDscto FROM  (SELECT l.`item`,l.tipoServicio,o.idOrden,c.`nombreCliente`,o.`fechaEntrega`,p.fechaActualizado,pr.nombreServicio,l.`marca`,l.`colorPrenda`,l.precio,l.cantidad,total,p.pago1,p.pago2,IF(tipoPago1=0,'Efectivo','Tarjeta') modoPago,o.`totalOrden`,o.aplicaDscto,o.`tipoPago`,u.`sucursal` FROM Orden o  INNER JOIN OrdenLinea l ON o.idOrden=l.idOrden INNER JOIN  Servicio pr ON l.`idPrenda`=pr.`idServicio`INNER JOIN `Cliente` c ON o.`idCliente`=c.`idCliente` INNER JOIN `usuario` u ON u.`id`=o.`idUsuario` AND u.sucursal IN(" + s + ") INNER JOIN Pago p ON o.idOrden=p.idOrden WHERE p.tipoPago=2 AND tipoPago1=0 AND tipoPago2=0  AND p.`Estado`=1) al WHERE al.fechaActualizado BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaFin.Value.ToString("yyyy-MM-dd") + " 23:59:59' AND  al.tipoServicio IN(2) UNION ALL SELECT al.idOrden,al.nombreCliente,al.sucursal,al.fechaActualizado fechaCreado,SUBSTRING(al.fechaEntrega,1,10) fechaEntrega,al.nombreServicio nombrePrenda,al.marca,al.colorPrenda,al.precio,al.cantidad,IF(al.tipoServicio=1, 'Al seco','Al Peso') tipoServicio,al.pago1,al.pago2,al.fechaActualizado,(al.pago2) total,al.modoPago,al.totalOrden,al.tipoPago coutas,al.aplicaDscto FROM  (SELECT l.`item`,l.tipoServicio,o.idOrden,c.`nombreCliente`,o.`fechaEntrega`,p.fechaActualizado,pr.nombreServicio,l.`marca`,l.`colorPrenda`,l.precio,l.cantidad,total,p.pago1,p.pago2,IF(tipoPago2=0,'Efectivo','Tarjeta') modoPago,o.`totalOrden`,o.aplicaDscto,o.`tipoPago`,u.`sucursal` FROM Orden o  INNER JOIN OrdenLinea l ON o.idOrden=l.idOrden INNER JOIN  Servicio pr ON l.`idPrenda`=pr.`idServicio`INNER JOIN `Cliente` c ON o.`idCliente`=c.`idCliente` INNER JOIN `usuario` u ON u.`id`=o.`idUsuario` AND u.sucursal IN(" + s + ") INNER JOIN Pago p ON o.idOrden=p.idOrden WHERE p.pago1>0 AND p.tipoPago=2 AND tipoPago1=0 AND tipoPago2 IN(0,1)  AND p.`Estado`=1) al WHERE al.fechaActualizado  BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaFin.Value.ToString("yyyy-MM-dd") + " 23:59:59' AND  al.tipoServicio IN(2)  ORDER BY idOrden";
                // "SELECT al.idOrden,UPPER(al.nombreCliente) nombreCliente,al.sucursal,al.fechaCreado,SUBSTRING(al.fechaEntrega,1,10) fechaEntrega,al.nombrePrenda,al.precio,al.cantidad,IF(al.tipoServicio=1, 'Al seco','Al Agua') tipoServicio,al.total,al.modoPago,al.totalOrden,al.tipoPago coutas,al.aplicaDscto FROM  (SELECT l.tipoServicio,o.idOrden,c.`nombreCliente`,o.fechaCreado,o.`fechaEntrega`,pr.`nombrePrenda`,l.precio,l.cantidad,total,IF(tipoPago1=0,'Efectivo','Tarjeta') modoPago,o.totalOrden, o.`tipoPago`,o.`aplicaDscto`, u.`sucursal` FROM Orden o  INNER JOIN OrdenLinea l ON o.idOrden=l.idOrden INNER JOIN  Prenda pr ON l.`idPrenda`=pr.`idPrenda`INNER JOIN `Cliente` c ON o.`idCliente`=c.`idCliente` INNER JOIN `usuario` u ON u.`id`=o.`idUsuario`  INNER JOIN Pago p ON o.idOrden=p.idOrden WHERE p.tipoPago=1 AND tipoPago1 IN(0,1)) al WHERE al.fechaCreado BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaFin.Value.ToString("yyyy-MM-dd") + " 23:59:59' AND  al.tipoServicio=1  UNION ALL SELECT al.idOrden,UPPER(al.nombreCliente) nombreCliente,al.sucursal,al.fechaCreado,SUBSTRING(al.fechaEntrega,1,10) fechaEntrega,al.nombreServicio nombrePrenda,al.precio,al.cantidad,IF(al.tipoServicio=1, 'Al seco','Al Agua') tipoServicio,al.total,al.modoPago,al.totalOrden,al.tipoPago coutas,al.aplicaDscto FROM  (SELECT l.tipoServicio,o.idOrden,c.`nombreCliente`,o.fechaCreado,o.fechaEntrega,pr.`nombreServicio`,l.precio,l.cantidad,total,IF(tipoPago1=0,'Efectivo','Tarjeta') modoPago,o.`totalOrden`,o.`tipoPago`,o.`aplicaDscto`,u.`sucursal` FROM Orden o  INNER JOIN OrdenLinea l ON o.idOrden=l.idOrden INNER JOIN  Servicio pr ON l.`idPrenda`=pr.`idServicio`INNER JOIN `Cliente` c ON o.`idCliente`=c.`idCliente` INNER JOIN `usuario` u ON u.`id`=o.`idUsuario`  INNER JOIN Pago p ON o.idOrden=p.idOrden WHERE p.tipoPago IN(1) AND tipoPago1 IN(0,1) AND tipoPago2 IN (0,1)) al WHERE al.fechaCreado BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaFin.Value.ToString("yyyy-MM-dd") + " 23:59:59' AND  al.tipoServicio=2  UNION ALL SELECT al.idOrden,al.nombreCliente,al.sucursal,al.fechaCreado,SUBSTRING(al.fechaEntrega,1,10) fechaEntrega,al.nombreServicio nombrePrenda,al.precio,al.cantidad,IF(al.tipoServicio=1, 'Al seco','Al Peso') tipo,(al.pago1) total,al.modoPago,al.totalOrden,al.tipoPago coutas,al.aplicaDscto FROM  (SELECT l.`item`,l.tipoServicio,o.idOrden,c.`nombreCliente`,o.fechaCreado,o.`fechaEntrega`,pr.nombreServicio,l.precio,l.cantidad,total,p.pago1,p.pago2,IF(tipoPago1=0,'Efectivo','Tarjeta') modoPago,o.`totalOrden`,o.`tipoPago`,o.aplicaDscto,u.`sucursal` FROM Orden o  INNER JOIN OrdenLinea l ON o.idOrden=l.idOrden INNER JOIN  servicio pr ON l.`idPrenda`=pr.`idServicio`INNER JOIN `cliente` c ON o.`idCliente`=c.`idCliente` INNER JOIN `usuario` u ON U.`id`=O.`idUsuario`  INNER JOIN Pago p ON o.idOrden=p.idOrden WHERE p.tipoPago IN(2) AND tipoPago1 IN(0,1) AND tipoPago2 IN (0,1) AND p.`Estado`=0) al WHERE al.fechaCreado BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaFin.Value.ToString("yyyy-MM-dd") + " 23:59:59' AND  al.tipoServicio IN(2) UNION ALL SELECT al.idOrden,al.nombreCliente,al.sucursal,al.fechaActualizado fechaCreado,SUBSTRING(al.fechaEntrega,1,10) fechaEntrega,al.nombrePrenda,al.precio,al.cantidad,IF(al.tipoServicio=1, 'Al seco','Al Peso') tipo,(al.pago1+al.pago2) total,al.modoPago,al.totalOrden,al.tipoPago coutas,al.aplicaDscto FROM  (SELECT l.`item`,l.tipoServicio,o.idOrden,c.`nombreCliente`,o.`fechaEntrega`,p.fechaActualizado,pr.`nombrePrenda`,l.precio,l.cantidad,total,p.pago1,p.pago2,IF(tipoPago1=0,'Efectivo','Tarjeta') modoPago,o.`totalOrden`,o.aplicaDscto,o.`tipoPago`,u.`sucursal` FROM Orden o  INNER JOIN OrdenLinea l ON o.idOrden=l.idOrden INNER JOIN  Prenda pr ON l.`idPrenda`=pr.`idPrenda`INNER JOIN `cliente` c ON o.`idCliente`=c.`idCliente` INNER JOIN `usuario` u ON U.`id`=O.`idUsuario`  INNER JOIN Pago p ON o.idOrden=p.idOrden WHERE p.tipoPago IN(2) AND tipoPago1 IN(0,1) AND tipoPago2 IN (0,1) AND p.`Estado`=0) al WHERE al.fechaActualizado BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaFin.Value.ToString("yyyy-MM-dd") + " 23:59:59' AND  al.tipoServicio IN(1) UNION ALL SELECT al.idOrden,al.nombreCliente,al.sucursal,al.fechaActualizado fechaCreado,SUBSTRING(al.fechaEntrega,1,10) fechaEntrega,al.nombreServicio nombrePrenda,al.precio,al.cantidad,IF(al.tipoServicio=1, 'Al seco','Al Peso') tipo,(al.precio*al.cantidad) total,al.modoPago,al.totalOrden,al.tipoPago coutas,al.aplicaDscto FROM  (SELECT l.`item`,l.tipoServicio,o.idOrden,c.`nombreCliente`,o.`fechaEntrega`,p.fechaActualizado,pr.nombreServicio,l.precio,l.cantidad,total,p.pago1,p.pago2,IF(tipoPago1=0,'Efectivo','Tarjeta') modoPago,o.`totalOrden`,o.aplicaDscto,o.`tipoPago`,u.`sucursal` FROM Orden o  INNER JOIN OrdenLinea l ON o.idOrden=l.idOrden INNER JOIN  servicio pr ON l.`idPrenda`=pr.`idServicio`INNER JOIN `cliente` c ON o.`idCliente`=c.`idCliente` INNER JOIN `usuario` u ON U.`id`=O.`idUsuario`  INNER JOIN Pago p ON o.idOrden=p.idOrden WHERE p.tipoPago=2 AND tipoPago1=0 AND tipoPago2=0  AND p.`Estado`=1) al WHERE al.fechaActualizado BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaFin.Value.ToString("yyyy-MM-dd") + " 23:59:59' AND  al.tipoServicio IN(2)UNION ALL SELECT al.idOrden,al.nombreCliente,al.sucursal,al.fechaActualizado fechaCreado,SUBSTRING(al.fechaEntrega,1,10) fechaEntrega,al.nombreServicio nombrePrenda,al.precio,al.cantidad,IF(al.tipoServicio=1, 'Al seco','Al Peso') tipo,(al.pago2) total,al.modoPago,al.totalOrden,al.tipoPago coutas,al.aplicaDscto FROM  (SELECT l.`item`,l.tipoServicio,o.idOrden,c.`nombreCliente`,o.`fechaEntrega`,p.fechaActualizado,pr.nombreServicio,l.precio,l.cantidad,total,p.pago1,p.pago2,IF(tipoPago2=0,'Efectivo','Tarjeta') modoPago,o.`totalOrden`,o.aplicaDscto,o.`tipoPago`,u.`sucursal` FROM Orden o  INNER JOIN OrdenLinea l ON o.idOrden=l.idOrden INNER JOIN  servicio pr ON l.`idPrenda`=pr.`idServicio`INNER JOIN `cliente` c ON o.`idCliente`=c.`idCliente` INNER JOIN `usuario` u ON U.`id`=O.`idUsuario`  INNER JOIN Pago p ON o.idOrden=p.idOrden WHERE p.pago1>0 AND p.tipoPago=2 AND tipoPago1=0 AND tipoPago2=1  AND p.`Estado`=1) al WHERE al.fechaActualizado BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaFin.Value.ToString("yyyy-MM-dd") + " 23:59:59' AND  al.tipoServicio IN(2) UNION ALL SELECT al.idOrden,al.nombreCliente,al.sucursal,al.fechaActualizado fechaCreado,SUBSTRING(al.fechaEntrega,1,10) fechaEntrega,al.nombreServicio nombrePrenda,al.precio,al.cantidad,IF(al.tipoServicio=1, 'Al seco','Al Peso') tipo,(al.pago1) total,al.modoPago,al.totalOrden,al.tipoPago coutas,al.aplicaDscto FROM  (SELECT l.`item`,l.tipoServicio,o.idOrden,c.`nombreCliente`,o.`fechaEntrega`,p.fechaActualizado,pr.nombreServicio,l.precio,l.cantidad,total,p.pago1,p.pago2,IF(tipoPago2=0,'Efectivo','Tarjeta') modoPago,o.`totalOrden`,o.aplicaDscto,o.`tipoPago`,u.`sucursal` FROM Orden o  INNER JOIN OrdenLinea l ON o.idOrden=l.idOrden INNER JOIN  servicio pr ON l.`idPrenda`=pr.`idServicio`INNER JOIN `cliente` c ON o.`idCliente`=c.`idCliente` INNER JOIN `usuario` u ON U.`id`=O.`idUsuario`  INNER JOIN Pago p ON o.idOrden=p.idOrden WHERE p.tipoPago=2 AND tipoPago1=0 AND tipoPago2=1  AND p.`Estado`=1) al WHERE al.fechaActualizado BETWEEN '" + dtFechaInicial.Value.ToString("yyyy-MM-dd") + " 00:00:00' AND '" + dtFechaFin.Value.ToString("yyyy-MM-dd") + " 23:59:59' AND  al.tipoServicio IN(2) ORDER BY idOrden"
                MySqlDataAdapter myadap = new MySqlDataAdapter(String.Format(query), BdComun.ObtenerConexion());
                DataSet          ds     = new DataSet();


                myadap.Fill(ds, "dtDetalleOrdenes");


                cryrep.Load(varGlobales.rutaReportes + "\\Reportes\\crReporteDetalle.rpt");

                cryrep.SetDataSource(ds);


                frmReporte rt = new frmReporte();
                rt.Text = "Reporte de Cierre";
                rt.crystalReportViewer1.ReportSource = cryrep;
                rt.Show(); 
            }
            else
            {
                MessageBox.Show("Debe seleccionar al menos una sucursal", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }