using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI.WebControls; using System.Data; using Extensiones; using Microsoft.Reporting.WebForms; using System.Web.UI; public partial class Ventas_RepComisionesJAM : ClsPaginas { #region PROPIEDADES private DataTable DtDatos { get { return DtDatos = (DataTable)ViewState["DtDatos"]; } set { ViewState["DtDatos"] = value; } } #endregion protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { InicializaValores(); } } private void InicializaValores() { txtFechaI.Text = String.Format("01/{0}/{1}", DateTime.Now.Month, DateTime.Now.Year); txtFechaF.Text = String.Format("{0}/{1}/{2}", DateTime.Now.AddMonths(1).FirstDayOfMonth().AddDays(-1).Day, DateTime.Now.Month, DateTime.Now.Year); if (UsuarioActual.CveUsuario == 1835) // usuario de alejandra alvarez { DdlSubProyecto.DataSource = get_GlobalDTSubProyectos(-1, CveEmpresa: UsuarioActual.CveEmpresa); } else { DdlSubProyecto.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1); } DdlSubProyecto.Items.Insert(0, new ListItem("Todos", "-1")); DdlSubProyecto.DataBind(); DdlCliente.setEsWebService(true); DdlCliente.Attributes.Add("data-metodo", "getcliente"); DdlCliente.SelectedValue = "-1"; DdlCliente.SelectedText = "Todos"; DdlVendedor.DataSource = get_GlobalDTVendedores(UsuarioActual.CveEmpresa); DdlVendedor.Items.Insert(0, new ListItem("Todos", "-1")); DdlVendedor.DataBind(); if( UsuarioActual.CveVendedor > 0 && !UsuarioActual.TienePermisoProceso(263)) { DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString()); DdlVendedor.Attributes.Add("disabled", "disabled"); DdlVendedor.Enabled = false; } GvDatos.Columns[15].Visible = UsuarioActual.TienePermisoProceso(201); } private void Consulta() { ClsVentas ObjVenta = new ClsVentas(); if (ObjVenta.GetRepComisiones(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), DdlSubProyecto.SelectedValue.ToEntero(), DdlVendedor.SelectedValue.ToEntero(), DdlCliente.SelectedValue.ToEntero(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DdlTipoSaldo.SelectedValue.ToEntero())) { GvDatos.DataSource = ObjVenta.DtResultados; DtDatos = ObjVenta.DtResultados; } ObjVenta.Dispose(); GvDatos.DataBind(); UpDatos.Update(); } protected void BtnConsultar_Click(object sender, EventArgs e) { Consulta(); } protected void GvDatos_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.RowIndex == 0) { e.Row.CssClass = "Totales"; //e.Row.Cells[0].Text = "Total"; } else if (e.Row.DBCampo("CveVendedor").ToEntero() < 1) { e.Row.CssClass = "SubTotales"; //e.Row.Cells[0].Text = e.Row.DBCampo("SubProyecto").ToString(); } else if (e.Row.DBCampo("CveVenta").ToEntero() < 1) { e.Row.CssClass = "SubTotales2"; //e.Row.Cells[0].Text = e.Row.DBCampo("Vendedor").ToString(); } else { if (e.Row.DBCampo("Transaccion").ToString() == "Pago") { if (e.Row.DBCampo("CveCategoria").ToEntero() < 1) { if (UsuarioActual.TienePermisoProceso(201)) { e.Row.Cells[21].ToolTip = "No se encuentra dentro de alguna categoria especificada."; e.Row.Cells[22].ToolTip = "No se encuentra dentro de alguna categoria especificada."; } else { e.Row.Cells[20].ToolTip = "No se encuentra dentro de alguna categoria especificada."; e.Row.Cells[21].ToolTip = "No se encuentra dentro de alguna categoria especificada."; } } } //if (e.Row.DBCampo("CveMoneda").ToEntero() != 1) //{ // e.Row.Cells[15].Text = $"{e.Row.DBCampo("Costo").FormatoNumero()}
{e.Row.DBCampo("CostoDolares").FormatoNumero()}"; // //e.Row.FCLabel("LblCostoDolares").Visible = false; //} //else //{ // e.Row.Cells[13].Text = ""; //} } } } public override void VerifyRenderingInServerForm(Control control) { //base.VerifyRenderingInServerForm(control); } protected void LnkExcel_Click(object sender, EventArgs e) { GvDatos.ExportToExcelG("Reporte de Comisiones", "Reporte de Comisiones",UsuarioActual); //GenerarPDFCrystal("EXCEL"); } public void MergeRows(GridView gridView) { for (int rowIndex = gridView.Rows.Count - 2; rowIndex > 0; rowIndex--) { GridViewRow row = gridView.Rows[rowIndex]; GridViewRow previousRow = gridView.Rows[rowIndex + 1]; if (row.DataKey("CveVendedor").ToString().ToEntero() > 0 && row.DataKey("CveSubProyecto").ToString().ToEntero() > 0) { if (row.DataKey("CveCliente").ToString().ToEntero() == previousRow.DataKey("CveCliente").ToString().ToEntero()) { row.Cells[0].RowSpan = previousRow.Cells[0].RowSpan < 2 ? 2 : previousRow.Cells[0].RowSpan + 1; previousRow.Cells[0].Visible = false; DtDatos.Rows[rowIndex]["Nombre"] = ""; } if (row.DataKey("CveVenta").ToString().ToEntero() == previousRow.DataKey("CveVenta").ToString().ToEntero()) { row.Cells[3].RowSpan = previousRow.Cells[3].RowSpan < 2 ? 2 : previousRow.Cells[3].RowSpan + 1; previousRow.Cells[3].Visible = false; DtDatos.Rows[rowIndex]["SerieFolio"] = ""; row.Cells[4].RowSpan = previousRow.Cells[4].RowSpan < 2 ? 2 : previousRow.Cells[4].RowSpan + 1; previousRow.Cells[4].Visible = false; DtDatos.Rows[rowIndex]["Saldo"] = DBNull.Value; row.Cells[5].RowSpan = previousRow.Cells[5].RowSpan < 2 ? 2 : previousRow.Cells[5].RowSpan + 1; previousRow.Cells[5].Visible = false; DtDatos.Rows[rowIndex]["FechaDocumento"] = DBNull.Value; row.Cells[10].RowSpan = previousRow.Cells[10].RowSpan < 2 ? 2 : previousRow.Cells[10].RowSpan + 1; previousRow.Cells[10].Visible = false; DtDatos.Rows[rowIndex]["SubTotal"] = DBNull.Value; //row.Cells[11].RowSpan = previousRow.Cells[11].RowSpan < 2 ? 2 : //previousRow.Cells[11].RowSpan + 1; //previousRow.Cells[11].Visible = false; //DtDatos.Rows[rowIndex]["IVA"] = DBNull.Value; } if (row.DataKey("Transaccion").ToString() == "Pago") { if (row.DataKey("CveIE").ToString().ToEntero() == previousRow.DataKey("CveIE").ToString().ToEntero() && row.DataKey("Transaccion").ToString() == previousRow.DataKey("Transaccion").ToString()) { row.Cells[1].RowSpan = previousRow.Cells[1].RowSpan < 2 ? 2 : previousRow.Cells[1].RowSpan + 1; previousRow.Cells[1].Visible = false; DtDatos.Rows[rowIndex]["Transaccion"] = ""; row.Cells[2].RowSpan = previousRow.Cells[2].RowSpan < 2 ? 2 : previousRow.Cells[2].RowSpan + 1; previousRow.Cells[2].Visible = false; DtDatos.Rows[rowIndex]["FolioPago"] = ""; } if (row.DataKey("CveIE").ToString().ToEntero() == previousRow.DataKey("CveIE").ToString().ToEntero() && row.DataKey("CveVenta").ToString().ToEntero() == previousRow.DataKey("CveVenta").ToString().ToEntero()) { row.Cells[6].RowSpan = previousRow.Cells[6].RowSpan < 2 ? 2 : previousRow.Cells[6].RowSpan + 1; previousRow.Cells[6].Visible = false; DtDatos.Rows[rowIndex]["FechaPago"] = DBNull.Value; row.Cells[7].RowSpan = previousRow.Cells[7].RowSpan < 2 ? 2 : previousRow.Cells[7].RowSpan + 1; previousRow.Cells[7].Visible = false; DtDatos.Rows[rowIndex]["DiasPago"] = DBNull.Value; row.Cells[11].RowSpan = previousRow.Cells[11].RowSpan < 2 ? 2 : previousRow.Cells[11].RowSpan + 1; previousRow.Cells[11].Visible = false; DtDatos.Rows[rowIndex]["SubTotalPago"] = DBNull.Value; row.Cells[10].RowSpan = previousRow.Cells[10].RowSpan < 2 ? 2 : previousRow.Cells[10].RowSpan + 1; previousRow.Cells[10].Visible = false; DtDatos.Rows[rowIndex]["SubTotal"] = DBNull.Value; row.Cells[9].RowSpan = previousRow.Cells[9].RowSpan < 2 ? 2 : previousRow.Cells[9].RowSpan + 1; previousRow.Cells[9].Visible = false; DtDatos.Rows[rowIndex]["TotDias"] = DBNull.Value; } } else if (row.DataKey("Transaccion").ToString() == "Nota Crédito" || row.DataKey("Transaccion").ToString() == "Devolución") { row.Cells[2].Text = ""; if (row.DataKey("CveVenta").ToString().ToEntero() == previousRow.DataKey("CveVenta").ToString().ToEntero() && row.DataKey("Transaccion").ToString() == previousRow.DataKey("Transaccion").ToString()) { row.Cells[1].RowSpan = previousRow.Cells[1].RowSpan < 2 ? 2 : previousRow.Cells[1].RowSpan + 1; previousRow.Cells[1].Visible = false; DtDatos.Rows[rowIndex]["Transaccion"] = ""; row.Cells[2].RowSpan = previousRow.Cells[2].RowSpan < 2 ? 2 : previousRow.Cells[2].RowSpan + 1; previousRow.Cells[2].Visible = false; DtDatos.Rows[rowIndex]["FolioPago"] = ""; row.Cells[6].RowSpan = previousRow.Cells[6].RowSpan < 2 ? 2 : previousRow.Cells[6].RowSpan + 1; previousRow.Cells[6].Visible = false; DtDatos.Rows[rowIndex]["FechaPago"] = DBNull.Value; row.Cells[7].RowSpan = previousRow.Cells[7].RowSpan < 2 ? 2 : previousRow.Cells[7].RowSpan + 1; previousRow.Cells[7].Visible = false; DtDatos.Rows[rowIndex]["DiasPago"] = DBNull.Value; row.Cells[9].RowSpan = previousRow.Cells[9].RowSpan < 2 ? 2 : previousRow.Cells[9].RowSpan + 1; previousRow.Cells[9].Visible = false; DtDatos.Rows[rowIndex]["TotDias"] = DBNull.Value; row.Cells[10].RowSpan = previousRow.Cells[10].RowSpan < 2 ? 2 : previousRow.Cells[10].RowSpan + 1; previousRow.Cells[10].Visible = false; DtDatos.Rows[rowIndex]["SubTotal"] = DBNull.Value; row.Cells[11].RowSpan = previousRow.Cells[11].RowSpan < 2 ? 2 : previousRow.Cells[11].RowSpan + 1; previousRow.Cells[11].Visible = false; DtDatos.Rows[rowIndex]["SubTotalPago"] = DBNull.Value; } } } } } protected void GvDatos_PreRender(object sender, EventArgs e) { MergeRows(GvDatos); } private void GenerarPDFCrystal(string Formato = "PDF") { System.IO.FileInfo Imagen = new System.IO.FileInfo(string.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)); var logouri = string.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa); var Sucursal = DdlSubProyecto.SelectedValue == "-1" ? "" : String.Format("Cliente: {0} ", DdlSubProyecto.SelectedItem.Text); var Cliente = DdlCliente.SelectedValue == "-1" ? "" : String.Format("Cliente: {0} ", DdlCliente.SelectedText); var Vendedor = DdlVendedor.SelectedValue == "-1" ? "" : String.Format("Vendedor: {0} ", DdlVendedor.SelectedItem.Text); var TipoSaldo = DdlTipoSaldo.SelectedValue == "-1" ? "" : String.Format("Tipo Saldo: {0} ", DdlTipoSaldo.SelectedItem.Text); string FechaIn = String.Format("Fecha Inicio: {0} ", txtFechaI.Text); string FechaFn = String.Format("Fecha Fin: {0} ", txtFechaF.Text); var lista = new List(); lista.Add(new CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa)); lista.Add(new CrystalParametro("Filtros", String.Format("{0}{1}{2}{3}{4}{5}", Sucursal, Cliente, Vendedor, FechaIn, FechaFn, TipoSaldo))); lista.Add(new CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre)); lista.Add(new CrystalParametro("FechaImpresion", DateTime.Now.ToString())); string PermisoCosto = ""; if (UsuarioActual.TienePermisoProceso(201)) { PermisoCosto = "1";} else { PermisoCosto = "0"; } lista.Add(new CrystalParametro("PermisoCosto", PermisoCosto)); if (Imagen.Exists) { lista.Add(new CrystalParametro("ImagenPath", logouri)); } else { lista.Add(new CrystalParametro("ImagenPath", "")); } ImprimirbytesPDF(ImprimirPDFCrystal(Server.MapPath("~/Empresas/119/Formatos/RepComisionesJAM.rpt"), DtDatos, lista, "RepComisionesJAM", Formato), "RepComisionesJAM", Formato); } }