Files
SIG/CRM/RepAcercamientosProcesosDetalle.aspx.cs

376 lines
17 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Extensiones;
using System.Data;
using System.Text;
using System.IO;
using Microsoft.Reporting.WebForms;
public partial class CRM_RepAcercamientosProcesosDetalle : ClsPaginas
{
#region Propiedades
private int RCveTipoProceso
{
get { return (ViewState["RCveTipoProceso"] == null) ? 0 : Convert.ToInt32(ViewState["RCveTipoProceso"]); }
set { ViewState["RCveTipoProceso"] = value; }
}
private int RcveVendedor
{
get { return (ViewState["RcveVendedor"] == null) ? 0 : Convert.ToInt32(ViewState["RcveVendedor"]); }
set { ViewState["RcveVendedor"] = value; }
}
private int RcveMedioCaptacion
{
get { return (ViewState["RcveMedioCaptacion"] == null) ? 0 : Convert.ToInt32(ViewState["RcveMedioCaptacion"]); }
set { ViewState["RcveMedioCaptacion"] = value; }
}
private int RcveProbabilidadAcercamiento
{
get { return (ViewState["RcveProbabilidadAcercamiento"] == null) ? 0 : Convert.ToInt32(ViewState["RcveProbabilidadAcercamiento"]); }
set { ViewState["RcveProbabilidadAcercamiento"] = value; }
}
private int RcveEtapaProceso
{
get { return (ViewState["RcveEtapaProceso"] == null) ? 0 : Convert.ToInt32(ViewState["RcveEtapaProceso"]); }
set { ViewState["RcveEtapaProceso"] = value; }
}
private int CveRechazoMotivo
{
get { return (ViewState["CveRechazoMotivo"] == null) ? 0 : Convert.ToInt32(ViewState["CveRechazoMotivo"]); }
set { ViewState["CveRechazoMotivo"] = value; }
}
private string RsFecha
{
get { return (ViewState["RsFecha"] == null) ? "" : Convert.ToString(ViewState["RsFecha"]); }
set { ViewState["RsFecha"] = value; }
}
private string RsFechaIni
{
get { return (ViewState["RsFechaIni"] == null) ? "" : Convert.ToString(ViewState["RsFechaIni"]); }
set { ViewState["RsFechaIni"] = value; }
}
private string RsFechaFin
{
get { return (ViewState["RsFechaFin"] == null) ? "" : Convert.ToString(ViewState["RsFechaFin"]); }
set { ViewState["RsFechaFin"] = value; }
}
private DataTable DtMedioCaptacion
{
get
{
return (DataTable)ViewState["DtMedioCaptacion"];
}
set
{
ViewState["DtMedioCaptacion"] = value;
}
}
private DataTable DtProbabilidadAcercamiento
{
get
{
return (DataTable)ViewState["DtProbabilidadAcercamiento"];
}
set
{
ViewState["DtProbabilidadAcercamiento"] = value;
}
}
private DataTable DTRepAcercamientosDetalle
{
get
{
return (DataTable)ViewState["DTRepAcercamientosDetalle"];
}
set
{
ViewState["DTRepAcercamientosDetalle"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
RCveTipoProceso = Request["CveTipoProceso"] == null ? -1 : Request["CveTipoProceso"].ToString().ToEntero();
RcveVendedor = Request["cveVendedor"] == null ? -1 : Request["cveVendedor"].ToString().ToEntero();
RcveMedioCaptacion = Request["cveMedioCaptacion"] == null ? -1 : Request["cveMedioCaptacion"].ToString().ToEntero();
RcveProbabilidadAcercamiento = Request["cveProbabilidadAcercamiento"] == null ? -1 : Request["cveProbabilidadAcercamiento"].ToString().ToEntero();
RcveEtapaProceso = Request["cveEtapaProceso"] == null ? -1 : Request["cveEtapaProceso"].ToString().ToEntero();
CveRechazoMotivo = Request["CveRechazoMotivo"] == null ? -1 : Request["CveRechazoMotivo"].ToString().ToEntero();
RsFecha = Request["Fecha"] == null ? Extensiones.ModExtensiones.MinFecha.ToString() : Request["Fecha"].ToString();
RsFechaIni = Request["FechaInicio"] == null ? Extensiones.ModExtensiones.MinFecha.ToString() : Request["FechaInicio"].ToString();
RsFechaFin = Request["FechaFin"] == null ? Extensiones.ModExtensiones.MaxFecha.ToString() : Request["FechaFin"].ToString();
TxtFechaInicio.Text = Request["FechaInicio"] == null ? Extensiones.ModExtensiones.MinFecha.ToString() : Request["FechaInicio"].ToString();
TxtFechaFin.Text = Request["FechaFin"] == null ? Extensiones.ModExtensiones.MaxFecha.ToString() : Request["FechaFin"].ToString();
try { RsFechaIni = RsFechaIni.ToDateTime().ToString("yyyy/MM/dd"); TxtFechaInicio.Text = RsFechaIni.ToDateTime().ToString("dd/MM/yyyy"); }
catch (Exception) { RsFechaIni = ""; }
try { RsFechaFin = RsFechaFin.ToDateTime().ToString("yyyy/MM/dd"); TxtFechaFin.Text = RsFechaFin.ToDateTime().ToString("dd/MM/yyyy"); }
catch (Exception) { RsFechaFin = ""; }
switch (RCveTipoProceso)
{
case 1:
RcveVendedor = Request["CveGrupo1"] == null ? -1 : Request["CveGrupo1"].ToString().ToEntero();
break;
case 2:
RcveMedioCaptacion = Request["CveGrupo1"] == null ? -1 : Request["CveGrupo1"].ToString().ToEntero();
break;
case 3:
RcveProbabilidadAcercamiento = Request["CveGrupo1"] == null ? -1 : Request["CveGrupo1"].ToString().ToEntero();
break;
case 4:
RsFecha = Request["CveGrupo1"] == null ? "" : Request["CveGrupo1"].ToString();
break;
}
DdlTipoProceso.SelectedValueExist(RCveTipoProceso);
CargaDdl();
//DdlGrupo1.SelectedValueExist(idgrupo1);
//DdlGrupo2.SelectedValueExist(idgrupo2);
DdlVendedor.SelectedValueExist(RcveVendedor);
DdlMedioCaptacion.SelectedValueExist(RcveMedioCaptacion);
DdlProbabilidad.SelectedValueExist(RcveProbabilidadAcercamiento);
cargarDatos();
}
}
protected void CargaDdl()
{
ClsCRM ObjCRM = new ClsCRM();
DdlTipoProceso.DataSource = null;
DdlVendedor.DataSource = null;
DdlMedioCaptacion.DataSource = null;
DdlProbabilidad.DataSource = null;
DdlPS.setEsWebService(true);
DdlPS.SelectedValue = "-1";
DdlPS.SelectedText = "Todos";
if (ObjCRM.GetTipoProceso(UsuarioActual.CveEmpresa, 1))
{
DdlTipoProceso.DataSource = ObjCRM.DtResultados;
}
DdlVendedor.DataSource = get_GlobalDTVendedores(UsuarioActual.CveEmpresa);
if (ObjCRM.GetMedioCaptacion(UsuarioActual.CveEmpresa))
{
DdlMedioCaptacion.Items.Clear();
DdlMedioCaptacion.DataSource = ObjCRM.DtResultados;
DtMedioCaptacion = ObjCRM.DtResultados;
}
if (ObjCRM.GetProbabilidadAcercamiento(UsuarioActual.CveEmpresa, -1))
{
DdlProbabilidad.DataSource = ObjCRM.DtResultados;
DtProbabilidadAcercamiento = ObjCRM.DtResultados;
}
ObjCRM.Dispose();
DdlTipoProceso.DataBind();
DdlVendedor.DataBind();
DdlMedioCaptacion.DataBind();
DdlProbabilidad.DataBind();
DdlVendedor.Items.Insert(0, new ListItem("Todos ", "-1"));
DdlMedioCaptacion.Items.Insert(0, new ListItem("Todos ", "-1"));
DdlProbabilidad.Items.Insert(0, new ListItem("Todos ", "-1"));
DdlTipoProceso.Items.Insert(0, new ListItem("Todos", "-1"));
DdlVendedor.SelectedValue = "-1";
DdlMedioCaptacion.SelectedValue = "-1";
DdlProbabilidad.SelectedValue = "-1";
DdlTipoProceso.SelectedIndex = 0;
DataTable dtGiroClasificaciones = get_GlobalDTClienteClasificaciones(UsuarioActual.CveEmpresa);
DdlGiroClasificacion.DataSource = dtGiroClasificaciones;
DdlGiroClasificacion.DataBind();
DdlGiroClasificacion.Items.Insert(0, new System.Web.UI.WebControls.ListItem("Todos", "-1"));
int n;
string CveProbabilidadAcercamiento = Request["CveProbabilidadAcercamiento"];
bool isNumeric = int.TryParse(CveProbabilidadAcercamiento, out n);
int c;
string CveTipoProceso = Request["CveTipoProceso"];
bool isNumericC = int.TryParse(CveTipoProceso, out c);
if (isNumeric && isNumericC)
{
DdlProbabilidad.SelectedValue = CveProbabilidadAcercamiento;
DdlTipoProceso.SelectedValue = CveTipoProceso;
}
upDatosRepA.Update();
}
protected void DdlTipoProceso_Change(object sender, EventArgs e)
{
DdlMedioCaptacion.Items.Clear();
DdlMedioCaptacion.DataSource = DtMedioCaptacion.FiltraParametros(String.Format("CveTipoProceso = {0}", DdlTipoProceso.SelectedValue.ToEntero()));
DdlMedioCaptacion.DataBind();
DdlMedioCaptacion.Items.Insert(0, new ListItem("Todos", "-1"));
DdlProbabilidad.Items.Clear();
DdlProbabilidad.DataSource = DtProbabilidadAcercamiento.FiltraParametros(String.Format("CveTipoProceso = {0}", DdlTipoProceso.SelectedValue.ToEntero()));
DdlProbabilidad.DataBind();
DdlProbabilidad.Items.Insert(0, new ListItem("Todos", "-1"));
upDatosRepA.Update();
}
protected void cargarDatos()
{
ClsCRM ObjRepA = new ClsCRM();
ObjRepA.RepAcercamientosDetalle(UsuarioActual.CveEmpresa, RcveVendedor, RcveMedioCaptacion, RcveProbabilidadAcercamiento, RcveEtapaProceso, RsFecha, RsFechaIni,
RsFechaFin,CveTipoProceso:DdlTipoProceso.SelectedValue.ToEntero(), CveRechazoMotivo: CveRechazoMotivo);
GVRepAcercamientosDetalle.DataSource = ObjRepA.DtResultados;
DTRepAcercamientosDetalle = ObjRepA.DtResultados;
ObjRepA.Dispose();
GVRepAcercamientosDetalle.DataBind();
this.GVRepAcercamientosDetalle.Columns[9].Visible = false;
this.GVRepAcercamientosDetalle.Columns[10].Visible = false;
this.GVRepAcercamientosDetalle.Columns[11].Visible = false;
this.GVRepAcercamientosDetalle.Columns[12].Visible = false;
this.GVRepAcercamientosDetalle.Columns[13].Visible = false;
this.GVRepAcercamientosDetalle.Columns[14].Visible = false;
upDatosRepA.Update();
}
protected void LnkConsultar_Click(object sender, EventArgs e)
{
//RCveTipoProceso = DdlTipoProceso.SelectedValue.ToEntero();
//switch (RCveTipoProceso)
//{
// case 1:
// RcveVendedor = Request["CveGrupo1"] == null ? -1 : Request["CveGrupo1"].ToString().ToEntero();
// break;
// case 2:
// RcveMedioCaptacion = Request["CveGrupo1"] == null ? -1 : Request["CveGrupo1"].ToString().ToEntero();
// break;
// case 3:
// RcveProbabilidadAcercamiento = Request["CveGrupo1"] == null ? -1 : Request["CveGrupo1"].ToString().ToEntero();
// break;
// case 4:
// RsFecha = Request["CveGrupo1"] == null ? "" : Request["CveGrupo1"].ToString();
// break;
//}
RsFechaIni = TxtFechaInicio.Text.Length > 0 ? TxtFechaInicio.Text.ToDateTime().ToString("yyyy/MM/dd") : Extensiones.ModExtensiones.MinFecha.ToString();
RsFechaFin = TxtFechaFin.Text.Length > 0 ? TxtFechaFin.Text.ToDateTime().ToString("yyyy/MM/dd") : Extensiones.ModExtensiones.MaxFecha.ToString();
RcveVendedor = DdlVendedor.SelectedValue.ToEntero();
RcveMedioCaptacion = DdlMedioCaptacion.SelectedValue.ToEntero();
RcveProbabilidadAcercamiento = DdlProbabilidad.SelectedValue.ToEntero();
cargarDatos();
}
protected void GVRepAcercamientosDetalle_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.FCLabel("lblPrioridad").Text.ToEntero() == 1)
{
e.Row.FCLabel("lblPrioridad").Text = "Baja";
}
else if (e.Row.FCLabel("lblPrioridad").Text.ToEntero() == 2)
{
e.Row.FCLabel("lblPrioridad").Text = "Media";
}
else if (e.Row.FCLabel("lblPrioridad").Text.ToEntero() == 3)
{
e.Row.FCLabel("lblPrioridad").Text = "Alta";
}
}
}
protected void LnkEditargv_Click(object sender, EventArgs e)
{
RegistraScript("$('#ModalEditar').modal('show')");
}
protected void GuardarEditargv_Click(object sender, EventArgs e)
{
foreach (ListItem item in CBLEditargv.Items)
{
if (item.Value.ToEntero() == 1) { if (item.Selected) { this.GVRepAcercamientosDetalle.Columns[9].Visible = true; } else { this.GVRepAcercamientosDetalle.Columns[9].Visible = false; } }
if (item.Value.ToEntero() == 2) { if (item.Selected) { this.GVRepAcercamientosDetalle.Columns[10].Visible = true; } else { this.GVRepAcercamientosDetalle.Columns[10].Visible = false; } }
if (item.Value.ToEntero() == 3) { if (item.Selected) { this.GVRepAcercamientosDetalle.Columns[11].Visible = true; } else { this.GVRepAcercamientosDetalle.Columns[11].Visible = false; } }
if (item.Value.ToEntero() == 4) { if (item.Selected) { this.GVRepAcercamientosDetalle.Columns[12].Visible = true; } else { this.GVRepAcercamientosDetalle.Columns[12].Visible = false; } }
if (item.Value.ToEntero() == 5) { if (item.Selected) { this.GVRepAcercamientosDetalle.Columns[13].Visible = true; } else { this.GVRepAcercamientosDetalle.Columns[13].Visible = false; } }
if (item.Value.ToEntero() == 6) { if (item.Selected) { this.GVRepAcercamientosDetalle.Columns[14].Visible = true; } else { this.GVRepAcercamientosDetalle.Columns[14].Visible = false; } }
}
upDatosRepA.Update();
RegistraScript("$('#ModalEditar').modal('hide')");
}
protected void LnkPdf_Click(object sender, EventArgs e)
{
Imprime("PDF");
}
protected void LnkExcel_Click(object sender, EventArgs e)
{
Imprime("EXCEL");
}
protected void Imprime(string formato)
{
if (GVRepAcercamientosDetalle.Rows.Count > 0)
{
StringBuilder StrFiltro = new StringBuilder();
if (TxtFechaInicio.Text != "") { StrFiltro.AppendFormat("&emsp;<b>Fecha Inicio:</b> {0}", TxtFechaInicio.Text.ToDate().ToShortDateString()); }
if (TxtFechaFin.Text != "") { StrFiltro.AppendFormat("&emsp;<b>Fecha Fin:</b> {0}", TxtFechaFin.Text.ToDate().ToShortDateString()); }
if (DdlVendedor.SelectedValue.ToEntero() > 0) { StrFiltro.AppendFormat("&emsp;<b>Vendedor:</b> {0}", DdlVendedor.SelectedItem.ToString()); }
if (DdlMedioCaptacion.SelectedValue.ToEntero() > 0) { StrFiltro.AppendFormat("&emsp;<b>Medio Captación:</b> {0}", DdlMedioCaptacion.SelectedItem.ToString()); }
if (DdlProbabilidad.SelectedValue.ToEntero() > 0) { StrFiltro.AppendFormat("&emsp;<b>Probabilidad:</b> {0}", DdlProbabilidad.SelectedItem.ToString()); }
if (DdlPS.SelectedValue.ToEntero() > 0) { StrFiltro.AppendFormat("&emsp;<b>Producto Servicio:</b> {0}", DdlPS.SelectedText.ToString()); }
if (DdlGiroClasificacion.SelectedValue.ToEntero() > 0) { StrFiltro.AppendFormat("&emsp;<b>Clasificación:</b> {0}", DdlGiroClasificacion.SelectedItem.ToString()); }
string logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa);
var Imagen = new FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta));
string FechaI, FechaF;
if(TxtFechaInicio.Text == "" || TxtFechaInicio.Text == "__/__/____") { FechaI = "-1"; } else { FechaI = TxtFechaInicio.Text; }
if (TxtFechaFin.Text == "" || TxtFechaFin.Text == "__/__/____") { FechaF = "-1"; } else { FechaF = TxtFechaFin.Text; }
List<ReportParameter> parametros = new List<ReportParameter>();
parametros.Add(new ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa));
parametros.Add(new ReportParameter("FechaInicio", FechaI));
parametros.Add(new ReportParameter("FechaFin", FechaF));
parametros.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre));
parametros.Add(new ReportParameter("Filtros", StrFiltro.ToString()));
parametros.Add(new ReportParameter("FechaImprimio", DateTime.Now.ToShortDateString()));
if (Imagen.Exists)
{
parametros.Add(new ReportParameter("LogoPath", logouri));
}
else
{
parametros.Add(new ReportParameter("LogoPath", ""));
}
ImprimirPDF("Empresas/Grales/Formatos/RepAcercamientoProcesoDetalle.rdlc", DTRepAcercamientosDetalle, parametros, String.Format("RepTraspasoAlmacen-{0}", DateTime.Now.ToShortDateString()), formato);
}
else
{
Alert("No hay datos consultados", ModExtensiones.TipoMensaje.MsgAdvertencia);
}
}
}