Esempio n. 1
0
        public void RegalosVenta()
        {
            ok       = true;
            consulta = "";
            texto    = "";
            ultprim  = ultprim == "Ultimos" ? "desc" : "asc"; //ultimos=0 desc - primeros=1 asc

            //por consecutivo
            if (Consec == true)
            {
                if (topFolio > 0)
                {
                    consulta = "select Top " + topFolio + " t.Iniciales as TipCon,c.NumCto,c.FechaVta,reg.Nombre as Regalo,(case when r.Tipo=1 then 'Incluido' else 'No Incluido' end) Tipo, r.Folio,(case when r.Cancelado='True' then 'Si' else '' end) Cancelado,r.Cantidad,r.CostoA,(r.Cantidad*r.CostoA) as Total from ContratosRegalos r inner join Contratos c on  r.FolioContrato=c.FolioContrato left join Regalos reg on r.IdRegalo=reg.idRegalo left join TiposContrato t on  c.idTipcon=t.idtipcon";
                    texto    = ultprim == "desc"? "-Ultimos: " + topFolio + " folios ":"-Primeros: " + topFolio + " folios ";
                }
                else
                {
                    consulta = "select t.Iniciales as TipCon,c.NumCto,c.FechaVta,reg.Nombre as Regalo,(case when r.Tipo=1 then 'Incluido' else 'No Incluido' end) Tipo, r.Folio,(case when r.Cancelado='True' then 'Si' else '' end) Cancelado,r.Cantidad,r.CostoA,(r.Cantidad*r.CostoA) as Total from ContratosRegalos r inner join Contratos c on  r.FolioContrato=c.FolioContrato left join Regalos reg on r.IdRegalo=reg.idRegalo left join TiposContrato t on c.idTipcon=t.idtipcon";
                }

                if (Sala > 0)
                {
                    consulta = consulta + " where c.idSalaVta=" + Sala;
                }
                else
                {
                    ok = false;
                }

                if (empieza > 0)
                {
                    consulta = consulta + " and r.FolioContrato like '" + empieza + "%'";
                }

                if (FolFin > 1)
                {
                    consulta = consulta + " and r.FolioContrato between " + FolIni + " and " + FolFin;
                    texto    = texto + " -Folio del: " + FolIni + " al: " + FolFin;
                }

                if (Tipo == 1 || Tipo == 2)
                {
                    consulta = consulta + " and r.Tipo =" + Tipo;

                    if (Tipo == 1)
                    {
                        texto = texto + " -Tipo: " + "Incluido";
                    }
                    else if (Tipo == 2)
                    {
                        texto = texto + " -Tipo: " + "No Incluido";
                    }
                    else
                    {
                        texto = texto + " -Tipo: " + "Todos";
                    }
                }

                if (sinFolio == false)
                {
                    consulta = consulta + " and r.Folio is not null";
                    texto    = texto + " -Regalos con Folio";
                }

                if (NumsRegalos != "")
                {
                    consulta = consulta + " and r.IdRegalo in (" + NumsRegalos + ")";
                }

                if (OrderBy == 1)
                {
                    consulta = consulta + " order by reg.Nombre " + ultprim;
                }
                else if (OrderBy == 2)
                {
                    consulta = consulta + " order by c.NumCto " + ultprim;
                }
                else
                {
                    consulta = consulta + " order by r.Folio " + ultprim;
                }
            }
            else if (FVenta == true || FFolio == true)
            {
                consulta = "select t.Iniciales as TipCon,c.NumCto,c.FechaVta,reg.Nombre as Regalo,(case when r.Tipo=1 then 'Incluido' else 'No Incluido' end) Tipo, r.Folio,(case when r.Cancelado='True' then 'Si' else '' end) Cancelado,r.Cantidad,r.CostoA,(r.Cantidad*r.CostoA) as Total from ContratosRegalos r inner join Contratos c on  r.FolioContrato=c.FolioContrato left join Regalos reg on r.IdRegalo=reg.idRegalo left join TiposContrato t on c.idTipcon=t.idtipcon";

                if (Sala > 0)
                {
                    consulta = consulta + " where c.idSalaVta=" + Sala;
                }
                else
                {
                    ok = false;
                }

                if (FVenta == true)
                {
                    consulta = consulta + " and c.FechaVta between " + "'" + FecIni.ToString("yyyyMMdd") + "'" + " and " + "'" + FecFin.ToString("yyyyMMdd") + "'";
                    texto    = texto + " -Fecha de Venta del: " + FecIni.ToString("d") + " al: " + FecFin.ToString("d");
                }

                if (FFolio == true)
                {
                    consulta = consulta + " and r.FechorAlt between " + "'" + FecIni.ToString("yyyyMMdd") + "'" + " and " + "'" + FecFin.ToString("yyyyMMdd") + "'";
                    texto    = texto + " -Fecha de Captura del: " + FecIni.ToString("d") + " al: " + FecFin.ToString("d");
                }

                if (Tipo == 1 || Tipo == 2)
                {
                    consulta = consulta + " and r.Tipo =" + Tipo;
                    if (Tipo == 1)
                    {
                        texto = texto + " -Tipo: " + "Incluido";
                    }
                    else if (Tipo == 2)
                    {
                        texto = texto + " -Tipo: " + "No Incluido";
                    }
                    else
                    {
                        texto = texto + " -Tipo: " + "Todos";
                    }
                }

                if (sinFolio == false)
                {
                    consulta = consulta + " and r.Folio is not null";
                }

                if (NumsRegalos != "")
                {
                    consulta = consulta + " and r.IdRegalo in (" + NumsRegalos + ")";
                }

                if (OrderBy == 1)
                {
                    consulta = consulta + " order by reg.Nombre " + ultprim;
                }
                else if (OrderBy == 2)
                {
                    consulta = consulta + " order by c.NumCto " + ultprim;
                }
                else
                {
                    consulta = consulta + " order by r.Folio " + ultprim;
                }
            }
            else
            {
                consulta = "select t.Iniciales as TipCon,c.NumCto,c.FechaVta,reg.Nombre as Regalo,(case when r.Tipo=1 then 'Incluido' else 'No Incluido' end) Tipo, r.Folio,(case when r.Cancelado='True' then 'Si' else '' end) Cancelado,r.Cantidad,r.CostoA,(r.Cantidad*r.CostoA) as Total from ContratosRegalos r inner join Contratos c on  r.FolioContrato=c.FolioContrato left join Regalos reg on r.IdRegalo=reg.idRegalo left join TiposContrato t on c.idTipcon=t.idtipcon ";

                if (Sala > 0)
                {
                    consulta = consulta + " where c.idSalaVta=" + Sala;
                }
                else
                {
                    ok = false;
                }

                if (Tipo == 1 || Tipo == 2)
                {
                    consulta = consulta + " and r.Tipo =" + Tipo;
                    if (Tipo == 1)
                    {
                        texto = texto + " -Tipo: " + "Incluido";
                    }
                    else if (Tipo == 2)
                    {
                        texto = texto + " -Tipo: " + "No Incluido";
                    }
                    else
                    {
                        texto = texto + " -Tipo: " + "Todos";
                    }
                }

                if (sinFolio == false)
                {
                    consulta = consulta + " and r.Folio is not null";
                }

                if (NumsRegalos != "")
                {
                    consulta = consulta + " and r.IdRegalo in (" + NumsRegalos + ")";
                }

                if (OrderBy == 1)
                {
                    consulta = consulta + " order by reg.Nombre " + ultprim;
                }
                else if (OrderBy == 2)
                {
                    consulta = consulta + " order by c.NumCto " + ultprim;
                }
                else
                {
                    consulta = consulta + " order by r.Folio " + ultprim;
                }
            }


            if (ok == false)
            {
                MessageBox.Show("Favor de verificar los filtros seleccionados");
                consulta = "";
            }
            else
            {
                string sql = consulta;

                using (SqlConnection con = new SqlConnection(c.cadenaConexion))
                {
                    con.Open();

                    using (SqlCommand comando = new SqlCommand(sql, con))
                    {
                        SqlDataAdapter da = new SqlDataAdapter(comando);
                        DataTable      dt = new DataTable("RegalosVenta");

                        da.Fill(dt);
                        reporte.SetDataSource(dt);

                        con.Close();
                    }
                }


                string ThisDay = "";
                fecha.GeneraFecha(DateTime.Today, 1);
                ThisDay = fecha.LetrasDia + ", " + fecha.NumDia + " DE " + fecha.LetrasMes + " DE " + fecha.Año;

                reporte.SetParameterValue("ThisDay", ThisDay);
                reporte.SetParameterValue("text", texto);
                // reporte.SetParameterValue("Texto", texto);
                vr = new VisorReportes(reporte);

                vr.ShowDialog();
            }
        }
        private void CboTipoComprobante_SelectedValueChanged(object sender, EventArgs e)
        {
            if (CboTipoComprobante.SelectedIndex != -1 & CboProductos.SelectedIndex != -1)
            {
                DateTime FecIni;
                DateTime FecFin;
                FecIni = Convert.ToDateTime(cboFechaInicio.Value).Date;
                FecFin = Convert.ToDateTime(cboFechaFin.Value).AddDays(1).Date;
                ReportDocument rpt = new ReportDocument();
                rpt.Load(Application.StartupPath + "\\CrpVentasProducto.rpt");

                //filtrar y mostrar los datos
                DataView DvDetallefiltro = new DataView(usp_GetDetalleVentasPorProducto);

                //validar segun el tipo de documento
                if (Convert.ToInt16(CboTipoComprobante.SelectedValue) == 0) //son ambos
                {
                    //no se hace nada
                }
                else //filtra segun tipo
                {
                    DvDetallefiltro.RowFilter = "TipoDocumento = '" + Convert.ToInt16(CboTipoComprobante.SelectedValue) + "'";
                }


                DS.Tables["usp_GetDetalleVentasPorProducto"].Clear();
                DS.Tables["usp_GetDetalleVentasPorProducto"].Merge(DvDetallefiltro.ToTable());

                rpt.SetDataSource(DS);
                //Establecemos los datos al reporte
                this.CrvResumenVentas.ReportSource = rpt;
                //pasar datos directo al crystal reports
                rpt.Load(Application.StartupPath + "\\CrpVentasProducto.rpt");
                rpt.DataDefinition.FormulaFields[0].Text = "'" + AppSettings.NomEmpresa + "'";
                rpt.DataDefinition.FormulaFields[2].Text = "'" + AppSettings.NomSede + "'";
                if (TcSeleccion.SelectedIndex == 0)
                {
                    rpt.DataDefinition.FormulaFields[3].Text = "'Resumen de ventas por cajero ''" + CboVendedores.SelectedText + "'': del " + FecIni.ToString().Substring(1, 10) + " al " + cboFechaFin.Value.ToString().Substring(1, 10) + ".'' de " + CboProductos.Columns["Articulo"].Value.ToString() + ".'";
                }
                if (TcSeleccion.SelectedIndex == 1)
                {
                    rpt.DataDefinition.FormulaFields[3].Text = "'Resumen de ventas por caja ''" + CboCaja.SelectedText + "'': del " + FecIni.ToString().Substring(1, 10) + " al " + cboFechaFin.Value.ToString().Substring(1, 10) + ".'' de " + CboProductos.Columns["Articulo"].Value.ToString() + ".'";
                }
                //Refrescamos nuestro reporte
                this.CrvResumenVentas.RefreshReport();
            }
        }
        private void btnGenerar_Click(object sender, EventArgs e)
        {
            Cursor = Cursors.WaitCursor;
            try
            {
                if (cboFechaInicio.Value.ToString() != "" & cboFechaFin.Value.ToString() != "" & CboProductos.SelectedValue.ToString() != "")
                {
                    DateTime FecIni;
                    DateTime FecFin;
                    FecIni = Convert.ToDateTime(cboFechaInicio.Value).Date;
                    FecFin = Convert.ToDateTime(cboFechaFin.Value).AddDays(1).Date;

                    //Creamos el documento
                    ReportDocument rpt = new ReportDocument();
                    //Obtenemos el documento que se encuentra en nustra carpeta bin\debug\crReporte.rpt

                    rpt.Load(Application.StartupPath + "\\CrpVentasProducto.rpt");

                    //Lleanamos el reporte con la información que obtenemos de la base de datos
                    //NumHojaDespacho = "IH-HD201106140003";

                    usp_GetDetalleVentasPorProducto.Clear();


                    if (TcSeleccion.SelectedIndex == 0 & CboVendedores.SelectedIndex != -1)
                    {
                        usp_GetDetalleVentasPorProducto = new CL_VentasTemp().GetDetalleVentasPorProducto(FecIni, FecFin, 0, Convert.ToInt16(CboVendedores.SelectedValue), Convert.ToInt32(CboProductos.SelectedValue));
                    }
                    if (TcSeleccion.SelectedIndex == 1)
                    {
                        usp_GetDetalleVentasPorProducto = new CL_VentasTemp().GetDetalleVentasPorProducto(FecIni, FecFin, Convert.ToInt16(CboCaja.SelectedValue), 0, Convert.ToInt32(CboProductos.SelectedValue));
                    }
                    DS.Tables["usp_GetDetalleVentasPorProducto"].Clear();
                    DS.Tables["usp_GetDetalleVentasPorProducto"].Merge(usp_GetDetalleVentasPorProducto);

                    rpt.SetDataSource(DS);
                    //Establecemos los datos al reporte
                    this.CrvResumenVentas.ReportSource = rpt;
                    //pasar datos directo al crystal reports
                    rpt.DataDefinition.FormulaFields[0].Text = "'" + AppSettings.NomEmpresa + "'";
                    rpt.DataDefinition.FormulaFields[2].Text = "'" + AppSettings.NomSede + "'";
                    if (TcSeleccion.SelectedIndex == 0)
                    {
                        rpt.DataDefinition.FormulaFields[3].Text = "'Resumen de ventas por cajero ''" + CboVendedores.SelectedText + "'': del " + FecIni.ToString().Substring(1, 10) + " al " + cboFechaFin.Value.ToString().Substring(1, 10) + ".'' de " + CboProductos.Columns["Articulo"].Value.ToString() + ".'";
                    }
                    if (TcSeleccion.SelectedIndex == 1)
                    {
                        rpt.DataDefinition.FormulaFields[3].Text = "'Resumen de ventas por caja ''" + CboCaja.SelectedText + "'': del " + FecIni.ToString().Substring(1, 10) + " al " + cboFechaFin.Value.ToString().Substring(1, 10) + ".'' de " + CboProductos.Columns["Articulo"].Value.ToString() + ".'";
                    }
                    //Refrescamos nuestro reporte
                    this.CrvResumenVentas.RefreshReport();
                    CboTipoComprobante.SelectedIndex = -1;
                }
            }
            catch (Exception ex)
            {
                //MessageBox.Show(ex.InnerException.Message);
                MessageBox.Show(ex.Message);
            }

            Cursor = Cursors.Default;
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                ResetValue();
                if (FecIni.Text.Length <= 0)
                {
                    MessageBox.Show("debe de ingresar la fecha de corte");
                    FecIni.Focus();
                    return;
                }
                if (string.IsNullOrEmpty(TextBoxRef.Text.Trim()))
                {
                    MessageBox.Show("debe de ingresar una referencia");
                    TextBoxRef.Focus();
                    return;
                }
                if (string.IsNullOrEmpty(TextBoxbod.Text.Trim()))
                {
                    MessageBox.Show("debe de ingresar una bodega");
                    TextBoxbod.Focus();
                    return;
                }


                SqlConnection  con = new SqlConnection(SiaWin._cn);
                SqlCommand     cmd = new SqlCommand();
                SqlDataAdapter da  = new SqlDataAdapter();
                DataSet        ds  = new DataSet();
                cmd             = new SqlCommand("_EmpInventarioKardes", con);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@Fecha", FecIni.Text);
                cmd.Parameters.AddWithValue("@Ref", TextBoxRef.Text);
                cmd.Parameters.AddWithValue("@Bods", TextBoxbod.Text);
                cmd.Parameters.AddWithValue("@codemp", codemp);
                da = new SqlDataAdapter(cmd);
                da.Fill(ds);
                con.Close();
                GridKardex.ItemsSource = ds.Tables[0];
                if (ds.Tables[0].Rows.Count > 0)
                {
                    GridKardex.Focus();
                    GridKardex.SelectedIndex = 0;

                    decimal CantEnt = Convert.ToDecimal(ds.Tables[0].Compute("Sum(ent_uni)", "").ToString());
                    decimal TotEnt  = Convert.ToDecimal(ds.Tables[0].Compute("Sum(ent_ctotal)", "").ToString());
                    TxtTotalUnEnt.Text     = CantEnt.ToString("N2");
                    TxtTotalUncostEnt.Text = TotEnt.ToString("N2");

                    int promedioEntrada = 0;
                    if (TotEnt > 0 & CantEnt > 0)
                    {
                        TxtTotalUncosEnt.Text = (TotEnt / CantEnt).ToString("N2");
                        promedioEntrada       = Convert.ToInt32(TotEnt / CantEnt);
                    }
                    else
                    {
                        TxtTotalUncosEnt.Text = "0";
                    }

                    ProEnt.Text = promedioEntrada.ToString();
                    decimal CantSal = Convert.ToDecimal(ds.Tables[0].Compute("Sum(sal_uni)", "").ToString());
                    decimal TotSal  = Convert.ToDecimal(ds.Tables[0].Compute("Sum(sal_ctotal)", "").ToString());
                    TxtTotalUnSal.Text     = CantSal.ToString("N2");
                    TxtTotalUncostSal.Text = TotSal.ToString("N2");

                    int promedioSalida = 0;
                    if (TotSal > 0 & CantSal > 0)
                    {
                        TxtTotalUncosSal.Text = (TotSal / CantSal).ToString("N2");
                        promedioSalida        = Convert.ToInt32(TotSal / CantSal);
                    }
                    else
                    {
                        TxtTotalUncosSal.Text = "0";
                    }

                    ProSal.Text = promedioSalida.ToString();

                    decimal CantSaldo = Convert.ToDecimal(ds.Tables[0].Compute("Sum(saldo_uni)", "").ToString());
                    decimal TotSaldo  = Convert.ToDecimal(ds.Tables[0].Compute("Sum(saldo_ctotal)", "").ToString());

                    TxtTotalUnSaldo.Text     = CantSaldo.ToString("N2");
                    TxtTotalUncostSaldo.Text = TotSaldo.ToString("N2");

                    int promedioSaldo = 0;

                    if (TotSaldo > 0 & CantSaldo > 0)
                    {
                        promedioSaldo           = Convert.ToInt32(TotSaldo / CantSaldo);
                        TxtTotalUncosSaldo.Text = (TotSaldo / CantSaldo).ToString("N2");
                    }
                    else
                    {
                        TxtTotalUncosSaldo.Text = "0";
                    }


                    ProSaldo.Text = promedioSaldo.ToString();
                }


                Total.Text = ds.Tables[0].Rows.Count.ToString();
            }
            catch (Exception w)
            {
                MessageBox.Show("error al cargar la consulta programada:" + w.ToString());
            }
        }