diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb
index 833a4b715..ab193393f 100644
--- a/App_Code/ClsNominas.vb
+++ b/App_Code/ClsNominas.vb
@@ -4071,6 +4071,44 @@ Public Class ClsNominas
Return retorno
End Function
+#Region "CRUD_PersonalRefs"
+ Public Function PersonalCamposValoresGet(cveReferencia As Int32, cvePersonal As Int32) As Boolean
+ Dim retorno As Boolean = False
+ DataAdapter("PA_Nom_PersonalCamposValoresGet", CommandType.StoredProcedure)
+ addParameters("@CveReferencia", SqlDbType.Int, cveReferencia)
+ addParameters("@CvePersonal", SqlDbType.Int, cvePersonal)
+ retorno = RunQuery("Ocurrió un error al obtener el PersonalRefs.")
+ Return retorno
+ End Function
+ Public Function PersonalCamposValoresAddUp(cveReferencia As Int32, cvePersonal As Int32, valor As Decimal) As Boolean
+ Dim retorno As Boolean = False
+ DataAdapter("PA_Nom_PersonalCamposValoresAddUp", CommandType.StoredProcedure)
+ addParameters("@CveReferencia", SqlDbType.Int, cveReferencia)
+ addParameters("@CvePersonal", SqlDbType.Int, cvePersonal)
+ addParameters("@Valor", SqlDbType.Money, valor)
+ retorno = RunQuery("Ocurrió un error al actualizar el PersonalRefs.")
+ Return retorno
+ End Function
+ Public Function PersonalCamposValoresRemove(cveReferencia As Int32, cvePersonal As Int32) As Boolean
+ Dim retorno As Boolean = False
+ DataAdapter("PA_Nom_PersonalCamposValoresRemove", CommandType.StoredProcedure)
+ addParameters("@CveReferencia", SqlDbType.Int, cveReferencia)
+ addParameters("@CvePersonal", SqlDbType.Int, cvePersonal)
+ retorno = RunQuery("Ocurrió un error al eliminar el PersonalRefs.")
+ Return retorno
+ End Function
+
+ Public Function PersonalCamposGET() As Boolean
+ Dim retorno As Boolean = False
+ DataAdapter("PA_Nom_PersonalCamposGET", CommandType.StoredProcedure)
+ retorno = RunQuery("Ocurrió un error al obtener el PersonalRefs.")
+ Return retorno
+ End Function
+#End Region
+
+
+
+
Public Sub addParameters(varsql As String, sqltipe As SqlDbType, valor As Object)
SqlAdapter.SelectCommand.Parameters.Add(varsql, sqltipe).Value = valor
End Sub
diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb
index cd2840b87..b8bfbcca1 100644
--- a/App_Code/ClsRH.vb
+++ b/App_Code/ClsRH.vb
@@ -7599,6 +7599,31 @@ Public Class ClsRH
End Function
#End Region
+ Public Function ValidaFechaIngresoVSNominas(CvePersonal As Integer, CvePersonalAltas As Integer, CveEmpresa As Integer, FechaIngreso As String, FechaFin As String) As Boolean
+ Dim Retorno As Boolean = False
+ Data = New DataTable
+ SqlDataAdapter("[PA_ValidaFechaIngresoVSNominas]")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@FechaIngreso", SqlDbType.VarChar).Value = FechaIngreso
+ .Add("@FechaFin", SqlDbType.VarChar).Value = FechaFin
+ .Add("@CvePersonalAltas", SqlDbType.Int).Value = CvePersonalAltas
+ .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ If Data.Rows.Count > 0 Then
+ Retorno = False
+ Else
+ Retorno = True
+ End If
+ Catch Ex1 As SqlException
+ Me.OnError("Ocurrió un error al guardar correos nominas", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ Catch ex As Exception
+ OnError("Ocurrió un error al guardar correos nominas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+ Return Retorno
+ End Function
Public Function NomBitacoraCorreoGet(CvePeriodo As Integer, CvePersonal As Integer, CveEmpresa As Integer) As Boolean
diff --git a/Nomina/RepMovtosPermanentes.aspx b/Nomina/RepMovtosPermanentes.aspx
index 1b16ce0b2..997052015 100644
--- a/Nomina/RepMovtosPermanentes.aspx
+++ b/Nomina/RepMovtosPermanentes.aspx
@@ -4,7 +4,7 @@
@@ -63,15 +65,15 @@
-
+
+
diff --git a/RH/Personal.aspx.vb b/RH/Personal.aspx.vb
index 89e45b992..bd787ed99 100644
--- a/RH/Personal.aspx.vb
+++ b/RH/Personal.aspx.vb
@@ -971,7 +971,7 @@ Partial Class RH_Personal
CargaPaises()
CargaRegistroPatronal()
CargaOutSourcing()
-
+ CargaDDlPersonalRefsReference()
If Request("CvePersonal") IsNot Nothing AndAlso IsNumeric(Request("CvePersonal")) AndAlso Request("CvePersonal").ToEntero() > 0 Then
ViewState("CvePersonal") = Request("CvePersonal")
DdlFormapagovacaciones_SelectedIndexChanged(Nothing, Nothing)
@@ -1007,6 +1007,7 @@ Partial Class RH_Personal
CargaGvBitacora()
CarcaConceptosNomina()
CargaFonacot()
+ CargaPersonalRefs()
End If
ValidaDeudorAcreedor()
@@ -2193,41 +2194,41 @@ Partial Class RH_Personal
Fiscalizable:=If(chkNoFiscalizar.Checked, 0, 1), CveTipoTrabajador:=DdlTipoTrabajador.SelectedValue.ToEntero(), NetoPeriodo:=TxtNetoPeriodo.Text.ToDecimal, TipoSangre:=DdlTipoSangre.SelectedValue, CveSubTipoPeriodo:=CveSubTipoPeriodo,
AreaGeografica:=DdlAreageografica.SelectedValue, CodigoDispersionVale:=TxtCodigoDispersionVale.Text.Trim) Then
- 'Funcion usa RH Familiares
- If UsuarioActual.Empresa.Funcionalidad(568) = "1" Then
- ProcesaDTFamiliares(ObjPersonal)
- End If
-
- ObjPersonal.AgroDepartamentoPersonalUp(UsuarioActual.CveEmpresa, DDlAgroDepartamento.SelectedValue.ToEntero(), CvePersonal, If(ChkCharolaForanea.Checked, 1, 0))
-
- If Archivo.Exists Then
-
- If Not Directory.Exists(String.Format("{0}\RH\Personal", UsuarioActual.Empresa.Ruta)) Then Directory.CreateDirectory(String.Format("{0}\RH\Personal", UsuarioActual.Empresa.Ruta))
-
- If File.Exists(String.Format("{0}RH\Personal\{1}", UsuarioActual.Empresa.Ruta, URL)) Then
- File.Delete(String.Format("{0}RH\Personal\{1}", UsuarioActual.Empresa.Ruta, URL))
+ 'Funcion usa RH Familiares
+ If UsuarioActual.Empresa.Funcionalidad(568) = "1" Then
+ ProcesaDTFamiliares(ObjPersonal)
End If
- System.IO.File.Move(String.Format("{0}Temp\RH\{1}", UsuarioActual.Empresa.Ruta, URL), String.Format("{0}RH\Personal\{1}", UsuarioActual.Empresa.Ruta, URL))
- End If
+ ObjPersonal.AgroDepartamentoPersonalUp(UsuarioActual.CveEmpresa, DDlAgroDepartamento.SelectedValue.ToEntero(), CvePersonal, If(ChkCharolaForanea.Checked, 1, 0))
- Mensaje = "Los cambios se guardaron correctamente."
- 'If ViewState("CveEstatusOriginal").ToString() <> DdlEstatusPersonal.SelectedValue Then
- ' 'Manda Mail con bajas
- 'End If
- Else
- TieneError = True
- End If
- 'GUARDA ORGANIGRAMA
- If Not TieneError Then
- If Not ObjPersonal.AddUpdatePersonalOrganigrama(CvePersonal, If(DdlSupervisorOrganigrama.SelectedValue.ToEntero() = 0, CvePersonal, DdlSupervisorOrganigrama.SelectedValue.ToEntero())) Then
+ If Archivo.Exists Then
+
+ If Not Directory.Exists(String.Format("{0}\RH\Personal", UsuarioActual.Empresa.Ruta)) Then Directory.CreateDirectory(String.Format("{0}\RH\Personal", UsuarioActual.Empresa.Ruta))
+
+ If File.Exists(String.Format("{0}RH\Personal\{1}", UsuarioActual.Empresa.Ruta, URL)) Then
+ File.Delete(String.Format("{0}RH\Personal\{1}", UsuarioActual.Empresa.Ruta, URL))
+ End If
+ System.IO.File.Move(String.Format("{0}Temp\RH\{1}", UsuarioActual.Empresa.Ruta, URL), String.Format("{0}RH\Personal\{1}", UsuarioActual.Empresa.Ruta, URL))
+
+ End If
+
+ Mensaje = "Los cambios se guardaron correctamente."
+ 'If ViewState("CveEstatusOriginal").ToString() <> DdlEstatusPersonal.SelectedValue Then
+ ' 'Manda Mail con bajas
+ 'End If
+ Else
TieneError = True
End If
+ 'GUARDA ORGANIGRAMA
+ If Not TieneError Then
+ If Not ObjPersonal.AddUpdatePersonalOrganigrama(CvePersonal, If(DdlSupervisorOrganigrama.SelectedValue.ToEntero() = 0, CvePersonal, DdlSupervisorOrganigrama.SelectedValue.ToEntero())) Then
+ TieneError = True
+ End If
+ End If
+
End If
- End If
-
- If TieneError Then
+ If TieneError Then
ObjPersonal.RollBack()
Alert("Ocurrio un error guardar el Personal. Por favor vuelva a intentar.", TipoMensaje.ToastAdventencia)
Else
@@ -7320,8 +7321,14 @@ Partial Class RH_Personal
strfin = String.Format(",[FechaFin]='{0:yyyy-MM-dd}'", fechafin)
End If
+ Dim finicio As String = TxtFechaInicioUA.Text.ToDateTime().ToString("yyyy-MM-dd")
+ Dim ffin As String = TxtFechaFinUA.Text.ToDateTime().ToString("yyyy-MM-dd")
Using objrh As New ClsRH()
- If (objrh.PersonalAltasUpFechas(CvePersonalAltas, TxtFechaInicioUA.Text.ToDateTime().ToString("yyyy-MM-dd"), TxtFechaFinUA.Text.ToDateTime().ToString("yyyy-MM-dd"), CvePersonal, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario)) Then
+ If Not (objrh.ValidaFechaIngresoVSNominas(CvePersonal, CvePersonalAltas, 0, finicio, ffin)) Then
+ Alert("La fecha de ingreso o de fin no puede ser modificada, ya que existen registros de nómina autorizados que se encuentran dentro del periodo definido.", TipoMensaje.MsgAdvertencia)
+
+ End If
+ If (objrh.PersonalAltasUpFechas(CvePersonalAltas, finicio, ffin, CvePersonal, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario)) Then
If objrh.GetPersonalAltas(CvePersonal) Then
GvPersonalAltas.DataSource = objrh.DtResultados
GvPersonalAltas.DataBind()
@@ -8307,7 +8314,70 @@ Partial Class RH_Personal
End Sub
+ Protected Sub CargaPersonalRefs()
+ Dim ObjPers As New ClsNominas()
+ ObjPers.PersonalCamposValoresGet(-1, CvePersonal)
+ GVPersonalRefs.DataSource = ObjPers.DtResultados
+ ObjPers.Dispose()
+ GVPersonalRefs.DataBind()
+ UPModalPers.Update()
+ End Sub
+ Protected Sub CargaDDlPersonalRefsReference()
+ Dim ObjPers As New ClsNominas()
+ ObjPers.PersonalCamposGET()
+ DdlPersreferencia.DataSource = ObjPers.DtResultados
+ ObjPers.Dispose()
+ DdlPersreferencia.DataBind()
+ UPModalPers.Update()
+ End Sub
+ Protected Sub LimpiaPersonalRefs()
+ DdlPersreferencia.SelectedIndex = 0
+ TxtPersvalor.Text = ""
+ UPModalPers.Update()
+ End Sub
+ Protected Sub LnkMostrarCamposValor_Click(sender As Object, e As EventArgs)
+ ltlPerstitulo.Text = "Campos valores"
+ LimpiaPersonalRefs()
+ RegistraScript("$('#DModalPersonalRefs').modal()")
+ BtnPersADD.Visible = False
+ PanelMostrarpersonalcampos.Visible = True
+ PanelADDpersonalcampos.Visible = False
+ UPModalPers.Update()
+ End Sub
+ Protected Sub LnkAgregarPers_Click(sender As Object, e As EventArgs)
+ 'RegistraScript("$('#DModalPersonalRefs').modal()")
+ ltlPerstitulo.Text = "Agregar Campos Valores"
+ LimpiaPersonalRefs()
+ BtnPersADD.Visible = True
+ PanelADDpersonalcampos.Visible = True
+ PanelMostrarpersonalcampos.Visible = False
+ UPModalPers.Update()
+ End Sub
+ Protected Sub BtnPersADD_Click(sender As Object, e As EventArgs)
+
+ Dim cveReferencia As Int32 = DdlPersreferencia.SelectedValue.ToEntero()
+ Dim valor As Decimal = TxtPersvalor.Text.ToDecimal()
+ Dim ObjPers As New ClsNominas()
+ Dim Continuar As Boolean = ObjPers.PersonalCamposValoresAddUp(cveReferencia, CvePersonal, valor)
+ ObjPers.Dispose()
+ If (Continuar) Then
+ LimpiaPersonalRefs()
+ UPModalPers.Update()
+ Alert("El campo valor se ha agregado")
+ End If
+ End Sub
+ Protected Sub LnkEliminarPers_Click(sender As Object, e As EventArgs)
+ Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
+ Dim CcveReferencia As Integer = gvRow.DataKey("CveReferencia").ToEntero()
+ Dim ObjPers As New ClsNominas()
+ Dim Continuar As Boolean = ObjPers.PersonalCamposValoresRemove(CcveReferencia, CvePersonal)
+ ObjPers.Dispose()
+ If (Continuar) Then
+ CargaPersonalRefs()
+ Alert("El campo valor se ha eliminado")
+ End If
+ End Sub
'Protected Sub ChkPagoElectronicoGrupos_CheckedChanged(sender As Object, e As EventArgs)
' If ChkPagoElectronicoGrupos.Checked Then