Cambios en tipos de procesos y acercamientos

This commit is contained in:
RPimienta
2022-03-15 20:03:01 -07:00
parent 587a177a12
commit 458f8a8585
8 changed files with 114 additions and 18 deletions

View File

@@ -130,7 +130,9 @@ Public Class ClsCRM
Return Retorno
End Function
Public Function AddTipoProceso(TipoProceso As String, Descripcion As String, CveEmpresa As Integer, CveUsuarioIng As Integer) As Boolean
Public Function AddTipoProceso(TipoProceso As String, Descripcion As String, CveEmpresa As Integer, CveUsuarioIng As Integer,
RequiereMedioCaptacion As Boolean, RequiereImporte As Boolean, RequiereProbabilidadAcercamiento As Boolean,
RequierePS As Boolean, RequiereComision As Boolean) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_CRM_TipoProcesoAdd")
With SqlAdapter.SelectCommand.Parameters
@@ -138,6 +140,11 @@ Public Class ClsCRM
.Add("@Descripcion", SqlDbType.VarChar).Value = Descripcion
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveUsuarioIng", SqlDbType.Int).Value = CveUsuarioIng
.Add("@RequiereMedioCaptacion", SqlDbType.Bit).Value = RequiereMedioCaptacion
.Add("@RequiereImporte", SqlDbType.Bit).Value = RequiereImporte
.Add("@RequiereProbabilidadAcercamiento", SqlDbType.Bit).Value = RequiereProbabilidadAcercamiento
.Add("@RequierePS", SqlDbType.Bit).Value = RequierePS
.Add("@RequiereComision", SqlDbType.Bit).Value = RequiereComision
End With
Try
SqlAdapter.Fill(Data)
@@ -148,7 +155,9 @@ Public Class ClsCRM
Return Retorno
End Function
Public Function UpdateTipoProceso(TipoProceso As String, Descripcion As String, CveEstatus As Boolean, CveTipoProceso As Integer) As Boolean
Public Function UpdateTipoProceso(TipoProceso As String, Descripcion As String, CveEstatus As Boolean, CveTipoProceso As Integer,
RequiereMedioCaptacion As Boolean, RequiereImporte As Boolean, RequiereProbabilidadAcercamiento As Boolean,
RequierePS As Boolean, RequiereComision As Boolean) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_CRM_TipoProcesoUpdate")
With SqlAdapter.SelectCommand.Parameters
@@ -156,6 +165,11 @@ Public Class ClsCRM
.Add("@Descripcion", SqlDbType.VarChar).Value = Descripcion
.Add("@CveEstatus", SqlDbType.Bit).Value = CveEstatus
.Add("@CveTipoProceso", SqlDbType.Int).Value = CveTipoProceso
.Add("@RequiereMedioCaptacion", SqlDbType.Bit).Value = RequiereMedioCaptacion
.Add("@RequiereImporte", SqlDbType.Bit).Value = RequiereImporte
.Add("@RequiereProbabilidadAcercamiento", SqlDbType.Bit).Value = RequiereProbabilidadAcercamiento
.Add("@RequierePS", SqlDbType.Bit).Value = RequierePS
.Add("@RequiereComision", SqlDbType.Bit).Value = RequiereComision
End With
Try
SqlAdapter.Fill(Data)

Binary file not shown.

View File

@@ -410,7 +410,7 @@
<label style="height: 83px;" for="<%= TxtDescripcion.ClientID.ToString()%>">Descripción del Proyecto:</label>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright">
<div id="DivPS" runat="server" class="form-group form-md-line-input input-iconright">
<label style="color:#888888" for="<%= DdlPS.ClientID.ToString()%>">Producto Servicio:</label>
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width:100%" CssClassDdl="form-control select2me" DataTextField="PSCodigo" DataValueField="CvePS" />
</div>
@@ -441,7 +441,7 @@
<label for="<%= DdlVendedor.ClientID.ToString()%>">Vendedor Asignado:</label>
<asp:RequiredFieldValidator ID="RFVVen" CssClass="help-block errorimput" runat="server" ControlToValidate="DdlVendedor" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Vendedor''</b> es necesario." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
</div>
<div class="form-group col-md-6 form-md-line-input input-iconright">
<div id="DivMedioCaptacion" runat="server" class="form-group col-md-6 form-md-line-input input-iconright" >
<asp:DropDownList ID="DdlMedioCaptacion" runat="server" Width="100%" AppendDataBoundItems="true" DataTextField="MedioCaptacion" DataValueField="CveMedioCaptacion" Class="form-control input-sm select2me"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" InitialValue="-1" runat="server" ControlToValidate="DdlMedioCaptacion" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b> El campo <b>''Medio de Captación''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<label for="<%= DdlMedioCaptacion.ClientID.ToString()%>" style="width: 90%">Medio de Captación:</label>
@@ -449,13 +449,13 @@
</div>
<div class="row">
<div class="form-group col-md-6 form-md-line-input input-iconright">
<div id="DivImporte" runat="server" class="form-group col-md-6 form-md-line-input input-iconright">
<asp:TextBox ID="TxtImporte" CssClass="form-control" runat="server" Style="text-align: right;" onkeyup="FormatoMoneda(this)"></asp:TextBox>
<%--<asp:RequiredFieldValidator ID="RFVTxtPuestoContactoProveedor" runat="server" ControlToValidate="TxtPuestoContactoProveedor" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Puesto''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardarContactoProveedor"></asp:RequiredFieldValidator>--%>
<label for="<%= TxtImporte.ClientID.ToString()%>" style="width: 90%;">Importe:</label>
</div>
<div class="form-group col-md-6 form-md-line-input input-iconright">
<div id="DivComision" runat="server" class="form-group col-md-6 form-md-line-input input-iconright">
<asp:TextBox ID="TxtComision" CssClass="form-control " runat="server" Style="text-align: right;" onkeyup="FormatoMoneda(this)"></asp:TextBox>
<%--<asp:RequiredFieldValidator ID="RFVTxtPuestoContactoProveedor" runat="server" ControlToValidate="TxtPuestoContactoProveedor" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Puesto''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardarContactoProveedor"></asp:RequiredFieldValidator>--%>
<label for="<%= TxtComision.ClientID.ToString()%>" style="width: 90%;">Comisión:</label>
@@ -463,7 +463,7 @@
</div>
<div class="row">
<div class="form-group col-md-6 form-md-line-input input-iconright">
<div id="DivProbabilidadAcercamiento" runat="server" class="form-group col-md-6 form-md-line-input input-iconright">
<asp:DropDownList ID="DdlProbabilidadAcercamiento" runat="server" Width="100%" AppendDataBoundItems="true" DataTextField="ProbabilidadAcercamiento" DataValueField="CveProbabilidadAcercamiento" Class="form-control input-sm select2me"></asp:DropDownList>
<label for="<%= DdlProbabilidadAcercamiento.ClientID.ToString()%>">Probabilidad:</label>
</div>

View File

@@ -319,6 +319,19 @@ public partial class CRM_Acercamiento : ClsPaginas
{
LblEncabezadoAcercamiento.Text = String.Format("<span class='bold' style='color: #32c5d2;'>{0}:</span> {1}", objAcercamiento.Result[0].TipoProceso.ToUpper(), objAcercamiento.Result[0].NombreAcercamiento.ToUpper());
CveTipoProceso = objAcercamiento.Result[0].CveTipoProceso.ToEntero();
RequestTipoProceso tipoProceso = new RequestTipoProceso(UsuarioActual.CveEmpresa, 1, CveTipoProceso);
var ObjTipoProceso = cRMService.GetTipoProcesoCRM(tipoProceso);
var responsetipoProceso = ObjTipoProceso.Result.FirstOrDefault();
if (responsetipoProceso != null)
{
DivComision.Visible = responsetipoProceso.RequiereComision;
DivMedioCaptacion.Visible = responsetipoProceso.RequiereMedioCaptacion;
DivImporte.Visible = responsetipoProceso.RequiereImporte;
DivProbabilidadAcercamiento.Visible = responsetipoProceso.RequiereProbabilidadAcercamiento;
DivPS.Visible = responsetipoProceso.RequierePS;
}
//SECCION DATOS DEL ACERCAMIENTO
TxtNombreAcercamiento.Text = objAcercamiento.Result[0].NombreAcercamiento;
TxtDescripcion.Text = objAcercamiento.Result[0].Descripcion;

View File

@@ -23,8 +23,8 @@
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkImprimir"/>
<asp:PostBackTrigger ControlID="LnkImprimirExcel"/>
<asp:PostBackTrigger ControlID="LnkImprimir" />
<asp:PostBackTrigger ControlID="LnkImprimirExcel" />
</Triggers>
</asp:UpdatePanel>
</asp:Content>
@@ -37,7 +37,9 @@
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVTiposProcesos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVTiposProcesos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<asp:GridView ID="GVTiposProcesos" runat="server" DataKeyNames="CveTipoProceso,TipoProceso, Descripcion, NoEtapas, Estatus, CveEstatus, UsuarioIng, CveUsuarioIng, FechaIng" EmptyDataText="No se han registrado Tipos de Procesos"
<asp:GridView ID="GVTiposProcesos" runat="server" DataKeyNames="CveTipoProceso,TipoProceso, Descripcion, NoEtapas, Estatus, CveEstatus, UsuarioIng, CveUsuarioIng, FechaIng,
RequiereMedioCaptacion,RequiereImporte,RequiereProbabilidadAcercamiento,RequierePS,RequiereComision"
EmptyDataText="No se han registrado Tipos de Procesos"
EmptyDataRowStyle-HorizontalAlign="Center" CssClass="table table-striped table-advance table-hover ScrollAD Widthall mysmallbtn" data-sort="true"
GridLines="None" AutoGenerateColumns="false" OnRowDeleting="GVTiposProcesos_RowDeleting" OnRowDataBound="GVTiposProcesos_RowDataBound">
<Columns>
@@ -102,6 +104,33 @@
<label for="<%= TxtDescripcion.ClientID.ToString()%>">Descripción:</label>
</div>
<div class="row">
<div class="form-group col-md-6 form-md-line-input input-iconright" id="Div1" runat="server">
<label runat="server" id="Label1" for="<%= ChkRequiereMedioCaptacion.ClientID.ToString()%>">Requiere Medio de Captación:</label>
<asp:CheckBox ID="ChkRequiereMedioCaptacion" runat="server" />
</div>
<div class="form-group col-md-6 form-md-line-input input-iconright" id="Div2" runat="server">
<label runat="server" id="Label2" for="<%= ChkRequiereImporte.ClientID.ToString()%>">Requiere Importe:</label>
<asp:CheckBox ID="ChkRequiereImporte" runat="server" />
</div>
</div>
<div class="row">
<div class="form-group col-md-6 form-md-line-input input-iconright" id="Div3" runat="server">
<label runat="server" id="Label3" for="<%= ChkRequiereProbabilidadAcercamiento.ClientID.ToString()%>">Requiere Probabilidad de Acercamiento:</label>
<asp:CheckBox ID="ChkRequiereProbabilidadAcercamiento" runat="server" />
</div>
<div class="form-group col-md-6 form-md-line-input input-iconright" id="Div4" runat="server">
<label runat="server" id="Label4" for="<%= ChkRequierePS.ClientID.ToString()%>">Requiere PS:</label>
<asp:CheckBox ID="ChkRequierePS" runat="server" />
</div>
</div>
<div class="form-group form-md-line-input input-iconright" id="Div5" runat="server">
<label runat="server" id="Label5" for="<%= ChkRequiereComision.ClientID.ToString()%>">Requiere Comisión:</label>
<asp:CheckBox ID="ChkRequiereComision" runat="server" />
</div>
<div class="form-group form-md-line-input input-iconright" id="DivEstatus" runat="server">
<label runat="server" id="lblEstatus" for="<%= ChkEstatus.ClientID.ToString()%>">Estatus:</label>
<asp:CheckBox ID="ChkEstatus" runat="server" />

View File

@@ -86,6 +86,11 @@ public partial class CRM_CatTipoProceso : ClsPaginas
TxtTipoProceso.Text = "";
TxtDescripcion.Text = "";
ChkEstatus.Checked = true;
ChkRequiereMedioCaptacion.Checked = false;
ChkRequiereImporte.Checked = false;
ChkRequiereProbabilidadAcercamiento.Checked = false;
ChkRequierePS.Checked = false;
ChkRequiereComision.Checked = false;
}
#endregion
@@ -110,6 +115,11 @@ public partial class CRM_CatTipoProceso : ClsPaginas
TxtTipoProceso.Text = GvRow.DataKey("TipoProceso").ToString();
TxtDescripcion.Text = GvRow.DataKey("Descripcion").ToString();
ChkEstatus.Checked = GvRow.DataKey("CveEstatus").ToString() == "True" ? true : false;
ChkRequiereMedioCaptacion.Checked = GvRow.DataKey("RequiereMedioCaptacion").ToString() == "True" ? true : false;
ChkRequiereImporte.Checked = GvRow.DataKey("RequiereImporte").ToString() == "True" ? true : false;
ChkRequiereProbabilidadAcercamiento.Checked = GvRow.DataKey("RequiereProbabilidadAcercamiento").ToString() == "True" ? true : false;
ChkRequierePS.Checked = GvRow.DataKey("RequierePS").ToString() == "True" ? true : false;
ChkRequiereComision.Checked = GvRow.DataKey("RequiereComision").ToString() == "True" ? true : false;
UPModalTipoProceso.Update();
@@ -128,14 +138,16 @@ public partial class CRM_CatTipoProceso : ClsPaginas
if (EsEditar == 0)
{
if (ObjCRM.AddTipoProceso(TipoProceso, Descripcion, UsuarioActual.CveEmpresa, CveUsuarioIng))
if (ObjCRM.AddTipoProceso(TipoProceso, Descripcion, UsuarioActual.CveEmpresa, CveUsuarioIng,ChkRequiereMedioCaptacion.Checked,ChkRequiereImporte.Checked,
ChkRequiereProbabilidadAcercamiento.Checked,ChkRequierePS.Checked,ChkRequiereComision.Checked))
{
Alert("El Tipo de Proceso fue creado correctamente.", ModExtensiones.TipoMensaje.MsgInformacion);
}
}
else
{
if (ObjCRM.UpdateTipoProceso(TipoProceso, Descripcion, Estatus, CveTipoProceso))
if (ObjCRM.UpdateTipoProceso(TipoProceso, Descripcion, Estatus, CveTipoProceso, ChkRequiereMedioCaptacion.Checked, ChkRequiereImporte.Checked,
ChkRequiereProbabilidadAcercamiento.Checked, ChkRequierePS.Checked, ChkRequiereComision.Checked))
{
Alert("El Tipo de Proceso fue actualizado correctamente.", ModExtensiones.TipoMensaje.MsgInformacion);
}

View File

@@ -625,7 +625,7 @@
<asp:RequiredFieldValidator ID="RFVVen" CssClass="help-block errorimput" runat="server" ControlToValidate="DdlVendedor" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Vendedor''</b> es necesario." InitialValue="-1" ValidationGroup="VGAcercamiento"></asp:RequiredFieldValidator>
</div>
<div class="form-group col-md-6 form-md-line-input input-iconright">
<div id="DivMedioCaptacion" runat="server" class="form-group col-md-6 form-md-line-input input-iconright">
<asp:DropDownList ID="DdlMedioCaptacionAcercamiento" CausesValidation="true" runat="server" Width="100%" AppendDataBoundItems="true" DataTextField="MedioCaptacion" DataValueField="CveMedioCaptacion" CssClass="form-control input-sm select2me"></asp:DropDownList>
<label for="<%= DdlMedioCaptacionAcercamiento.ClientID.ToString()%>" ><span style="color: #F3565D">*</span>Medio de Captación(depende de 'Proceso'):</label>
<asp:RequiredFieldValidator ID="RfvMedioCaptacionAcercamiento" CssClass="help-block errorimput" runat="server" ControlToValidate="DdlMedioCaptacionAcercamiento" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Medio Captación''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="VGAcercamiento"></asp:RequiredFieldValidator>
@@ -651,13 +651,13 @@
<div class="row">
<div class="form-group col-md-6 form-md-line-input input-iconright">
<div id="DivImporte" runat="server" class="form-group col-md-6 form-md-line-input input-iconright" >
<asp:TextBox ID="TxtImporte" CssClass="form-control" runat="server" MaxLength="15" Style="text-align: right;" onkeyup="FormatoMoneda(this)"></asp:TextBox>
<%--<asp:RequiredFieldValidator ID="RFVTxtPuestoContactoProveedor" runat="server" ControlToValidate="TxtPuestoContactoProveedor" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Puesto''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardarContactoProveedor"></asp:RequiredFieldValidator>--%>
<label for="<%= TxtImporte.ClientID.ToString()%>" style="width: 90%;">Importe de Venta:</label>
</div>
<div class="form-group col-md-6 form-md-line-input input-iconright">
<div id="DivComision" runat="server" class="form-group col-md-6 form-md-line-input input-iconright">
<asp:TextBox ID="TxtComision" Text="0.00" CssClass="form-control " runat="server" MaxLength="15" Style="text-align: right;" onkeyup="FormatoMoneda(this)"></asp:TextBox>
<%--<asp:RequiredFieldValidator ID="RFVTxtPuestoContactoProveedor" runat="server" ControlToValidate="TxtPuestoContactoProveedor" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Puesto''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardarContactoProveedor"></asp:RequiredFieldValidator>--%>
<label for="<%= TxtComision.ClientID.ToString()%>" style="width: 90%;">Comisión:</label>
@@ -665,7 +665,7 @@
</div>
<div class="row">
<div class="form-group col-md-6 form-md-line-input input-iconright">
<div id="DivProbabilidadAcercamiento" runat="server" class="form-group col-md-6 form-md-line-input input-iconright">
<asp:DropDownList ID="DdlProbabilidadAcercamiento" runat="server" Width="100%" AppendDataBoundItems="true" DataTextField="ProbabilidadAcercamiento" DataValueField="CveProbabilidadAcercamiento" Class="form-control input-sm select2me"></asp:DropDownList>
<label for="<%= DdlProbabilidadAcercamiento.ClientID.ToString()%>"><span style="color: #F3565D">*</span> Probabilidad de Acercamiento:</label>
<asp:RequiredFieldValidator ID="RFVProbabilidad" CssClass="help-block errorimput" runat="server" ControlToValidate="DdlProbabilidadAcercamiento" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Probabilidad''</b> es necesario." InitialValue="-1" ValidationGroup="VGAcercamiento"></asp:RequiredFieldValidator>
@@ -682,7 +682,7 @@
</div>
<div class="row">
<div class="form-group col-md-6 form-md-line-input input-iconright">
<div id="DivPS" runat="server" class="form-group col-md-6 form-md-line-input input-iconright">
<label style="color:#888888" for="<%= DdlPS.ClientID.ToString()%>">Producto Servicio:</label>
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width:100%" CssClassDdl="form-control select2me" DataTextField="PSCodigo" DataValueField="CvePS" />
</div>

View File

@@ -238,6 +238,19 @@ public partial class CRM_EmpresaCRM : ClsPaginas
ViewState["CveGiroClasificacion"] = value;
}
}
private List<ResponseTipoProceso> ListTipoProceso
{
get
{
return (List<ResponseTipoProceso>)ViewState["ListTipoProceso"];
}
set
{
ViewState["ListTipoProceso"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
@@ -794,6 +807,20 @@ public partial class CRM_EmpresaCRM : ClsPaginas
protected void DdlTipoProceso_Change(object sender, EventArgs e)
{
var tipoProceso = ListTipoProceso.Where(x => x.CveTipoProceso == DdlTipoProceso.SelectedValue.ToEntero()).FirstOrDefault();
if (tipoProceso != null)
{
DivComision.Visible = tipoProceso.RequiereComision;
DivMedioCaptacion.Visible = tipoProceso.RequiereMedioCaptacion;
DivImporte.Visible = tipoProceso.RequiereImporte;
DivProbabilidadAcercamiento.Visible = tipoProceso.RequiereProbabilidadAcercamiento;
DivPS.Visible = tipoProceso.RequierePS;
}
RfvMedioCaptacionAcercamiento.Enabled = DivMedioCaptacion.Visible;
RFVProbabilidad.Enabled = DivProbabilidadAcercamiento.Visible;
DdlMedioCaptacionAcercamiento.Items.Clear();
DdlMedioCaptacionAcercamiento.DataSource = DtMedioCaptacion.FiltraParametros(String.Format("CveTipoProceso = {0}", DdlTipoProceso.SelectedValue.ToEntero()));
DdlMedioCaptacionAcercamiento.DataBind();
@@ -1520,6 +1547,7 @@ public partial class CRM_EmpresaCRM : ClsPaginas
DdlMedioCaptacionAcercamiento.Enabled = false;
DdlTipoProceso.DataBind();
}
ListTipoProceso = ObjTipoProceso.Result;
if (ObjProbalidadAcercamiento.Result.Count > 0)
{
@@ -1794,7 +1822,7 @@ public partial class CRM_EmpresaCRM : ClsPaginas
protected void DdlTipoProcesos_Change(Object sender, EventArgs e)
{
DdlMedioCaptacion.Items.Clear();
CargaMetodosCaptacion();
CargaMetodosCaptacion();
UpDatos.Update();
}