This commit is contained in:
2022-08-10 09:40:03 -07:00
10 changed files with 250 additions and 43 deletions

View File

@@ -7324,6 +7324,47 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
Public Function NomBitacoraCorreoGet(CvePeriodo As Integer, CvePersonal As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
Data = New DataTable
SqlDataAdapter("PA_NomBitacoraCorreoGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePeriodo", SqlDbType.Int).Value = CvePeriodo
.Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
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 NomBitacoraCorreoAdd(CvePeriodo As Integer, CvePersonal As Integer, Correos As String, CveEmpresa As Integer, CveUsuario As Integer) As Boolean
Dim Retorno As Boolean = False
Data = New DataTable
SqlDataAdapter("PA_NomBitacoraCorreoAdd")
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePeriodo", SqlDbType.Int).Value = CvePeriodo
.Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
.Add("@Correos", SqlDbType.VarChar).Value = Correos
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
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 UpPersonalAsistenciasMasiva(CveEmpresa As Integer, CveUsuario As Integer, xmlProductos As String) As Boolean Public Function UpPersonalAsistenciasMasiva(CveEmpresa As Integer, CveUsuario As Integer, xmlProductos As String) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
Data = New DataTable Data = New DataTable

View File

@@ -77,6 +77,8 @@
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server"> <asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<li><asp:HyperLink ID="Hypgenerarotro" NavigateUrl="/Nomina/Finiquito.aspx?CvePersonal=-1" runat="server">Generar otro finiquito</asp:HyperLink></li>
<li> <li>
<asp:LinkButton ID="LnkAutorizar" Visible="false" OnClick="LnkAutorizar_Click" runat="server"><i class='material-icons'>done_all</i>Autorizar</asp:LinkButton> <asp:LinkButton ID="LnkAutorizar" Visible="false" OnClick="LnkAutorizar_Click" runat="server"><i class='material-icons'>done_all</i>Autorizar</asp:LinkButton>
</li> </li>
@@ -84,7 +86,7 @@
<asp:LinkButton ID="LnkTimbrar" Visible="false" OnClick="LnkTimbrar_Click" runat="server"><i class="fa fa-bell"></i>Timbrar</asp:LinkButton> <asp:LinkButton ID="LnkTimbrar" Visible="false" OnClick="LnkTimbrar_Click" runat="server"><i class="fa fa-bell"></i>Timbrar</asp:LinkButton>
</li> </li>
<li> <li>
<asp:LinkButton ID="LnkFormatoRenuncia" OnClick="LnkFormatoRenuncia_Click" runat="server"><i class="fa fa-bell"></i>Formato Finiquito</asp:LinkButton> <asp:LinkButton ID="LnkFormatoRenuncia" OnClick="LnkFormatoRenuncia_Click" Visible="false" runat="server"><i class="fa fa-bell"></i>Formato Finiquito</asp:LinkButton>
</li> </li>
</ContentTemplate> </ContentTemplate>
<Triggers> <Triggers>
@@ -490,7 +492,7 @@
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
</div> </div>
<div id="ModalEmpleados" class="modal ADS fade " role="dialog" data-backdrop="static" data-keyboard="false"> <div id="ModalEmpleados" class="modal ADS fade " role="dialog" >
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModalEmpleados" UpdateMode="Conditional"> <asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModalEmpleados" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>

View File

@@ -91,6 +91,7 @@ public partial class Nomina_Finiquito : ClsPaginas
HypEmpleado.NavigateUrl = $"/RH/Personal.aspx?CvePersonal={CvePersonal}"; HypEmpleado.NavigateUrl = $"/RH/Personal.aspx?CvePersonal={CvePersonal}";
CargaMotivoBaja(); CargaMotivoBaja();
CargaPersonal(); CargaPersonal();
LnkFormatoRenuncia.Visible = true;
} }
else else
{ {
@@ -98,6 +99,10 @@ public partial class Nomina_Finiquito : ClsPaginas
ViewState["CvePersonal"] = -1; ViewState["CvePersonal"] = -1;
LtlEmpleadoCancelar.Visible = false; LtlEmpleadoCancelar.Visible = false;
RegistraScript("$('#ModalEmpleados').modal();"); RegistraScript("$('#ModalEmpleados').modal();");
LnkFormatoRenuncia.Visible = false;
LnkSimular.Visible = false;
LnkCancelar.Visible = false;
LnkGuardarDatos.Visible = false;
} }
gconceptos.Visible = ChkesLiquidacion.Checked; gconceptos.Visible = ChkesLiquidacion.Checked;
} }

View File

@@ -248,6 +248,9 @@
<li> <li>
<asp:LinkButton ID="LnkConceptoEmpleado" OnClick="LnkConceptoEmpleado_Click" runat="server"><i class="fa fa-plus"></i> Empleado concepto</asp:LinkButton> <asp:LinkButton ID="LnkConceptoEmpleado" OnClick="LnkConceptoEmpleado_Click" runat="server"><i class="fa fa-plus"></i> Empleado concepto</asp:LinkButton>
</li> </li>
<li>
<asp:LinkButton ID="LnkBitacoraCorreo" OnClick="LnkBitacoraCorreo_Click" runat="server"><i class="fa fa-eye"></i> Bitacora Correos</asp:LinkButton>
</li>
<li> <li>
<asp:LinkButton ID="LnkCargaAsistenciaMasiva" OnClick="LnkCargaAsistenciaMasiva_Click" runat="server"><i class="fa fa-check" aria-hidden="true"></i>Carga masiva de asistencia</asp:LinkButton> <asp:LinkButton ID="LnkCargaAsistenciaMasiva" OnClick="LnkCargaAsistenciaMasiva_Click" runat="server"><i class="fa fa-check" aria-hidden="true"></i>Carga masiva de asistencia</asp:LinkButton>
</li> </li>
@@ -576,10 +579,11 @@
<div style="min-width: 100px; text-align: right; white-space: nowrap; padding-right: 10px;"> <div style="min-width: 100px; text-align: right; white-space: nowrap; padding-right: 10px;">
<asp:HyperLink ID="HypXml" ToolTip="Formato xml" Visible="false" CssClass="btn btn-circle btn- btn-xs blue mysmallbtn" NavigateUrl="#" runat="server"><i class="fa fa-file-o"></i></asp:HyperLink> <asp:HyperLink ID="HypXml" ToolTip="Formato xml" Visible="false" CssClass="btn btn-circle btn- btn-xs blue mysmallbtn" NavigateUrl="#" runat="server"><i class="fa fa-file-o"></i></asp:HyperLink>
<asp:HyperLink ID="HypPDF" ToolTip="Formato Timbre" CssClass="btn btn-circle btn-sm btn-xs red mysmallbtn" Visible="false" NavigateUrl="#" runat="server"><i class="fa fa-file-pdf-o"></i></asp:HyperLink> <asp:HyperLink ID="HypPDF" ToolTip="Formato Timbre" CssClass="btn btn-circle btn-sm btn-xs red mysmallbtn" Visible="false" NavigateUrl="#" runat="server"><i class="fa fa-file-pdf-o"></i></asp:HyperLink>
<asp:LinkButton runat="server" ID="LnkTimbrar" CssClass="btn btn-circle btn-sm btn-xs blue mysmallbtn" Text="<i class='fa fa-bell'></i>" OnClick="LnkTimbrar_Click" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea Timbrar?" data-btn-ok-label="si" /> <asp:LinkButton runat="server" ToolTip="Timbrar" ID="LnkTimbrar" CssClass="btn btn-circle btn-sm btn-xs blue mysmallbtn" Text="<i class='fa fa-bell'></i>" OnClick="LnkTimbrar_Click" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea Timbrar?" data-btn-ok-label="si" />
<asp:LinkButton runat="server" ID="Imgdesautorizar" CssClass="btn btn-circle btn-sm btn-xs yellow-gold mysmallbtn" Text="<i class='fa fa-ban'></i>" OnClick="Imgdesautorizar_Click" CommandArgument='<%# Eval("CveNomina") %>' data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea eliminar la autorizacion?" data-btn-ok-label="si" /> <asp:LinkButton runat="server" ToolTip="Desautorizar" ID="Imgdesautorizar" CssClass="btn btn-circle btn-sm btn-xs yellow-gold mysmallbtn" Text="<i class='fa fa-ban'></i>" OnClick="Imgdesautorizar_Click" CommandArgument='<%# Eval("CveNomina") %>' data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea eliminar la autorizacion?" data-btn-ok-label="si" />
<asp:LinkButton runat="server" ID="ImgDelete" CssClass="btn btn-circle btn-sm btn-xs red mysmallbtn" Text="<i class='icon-trash'></i>" OnClick="ImgDelete_Click" CommandArgument='<%# Eval("CveNomina") %>' data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea eliminar la nómina?" data-btn-ok-label="si" /> <asp:LinkButton runat="server" ToolTip="Eliminar nómina" ID="ImgDelete" CssClass="btn btn-circle btn-sm btn-xs red mysmallbtn" Text="<i class='icon-trash'></i>" OnClick="ImgDelete_Click" CommandArgument='<%# Eval("CveNomina") %>' data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea eliminar la nómina?" data-btn-ok-label="si" />
<asp:LinkButton runat="server" ID="LnkCancelar" CssClass="btn btn-circle btn-sm btn-xs yellow-gold mysmallbtn" Text="<i class='fa fa-ban'></i>" OnClick="LnkCancelar_Click" CommandArgument='<%# Eval("CveNomina") %>' data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea cancelar la nómina?" data-btn-ok-label="si" /> <asp:LinkButton runat="server" ToolTip="Reenviar Correo" ID="LnkReenviarCorreo" CssClass="btn btn-circle btn-sm btn-xs btn-success mysmallbtn" Text="<i class='fa fa-envelope-o'></i>" OnClick="LnkReenviarCorreo_Click" CommandArgument='<%# Eval("CveNomina") %>' />
<asp:LinkButton runat="server" ToolTip="Cancelar Timbre" ID="LnkCancelar" CssClass="btn btn-circle btn-sm btn-xs yellow-gold mysmallbtn" Text="<i class='fa fa-ban'></i>" OnClick="LnkCancelar_Click" CommandArgument='<%# Eval("CveNomina") %>' data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea cancelar la nómina?" data-btn-ok-label="si" />
</div> </div>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
@@ -2250,7 +2254,57 @@
</asp:UpdatePanel> </asp:UpdatePanel>
</div> </div>
<div id="ModalViewCorreo" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog " runat="server" ID="UpviewCorreos" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header ">
<h4 class="modal-title">Registrode Correos</h4>
</div>
<div class="modal-body">
<asp:GridView ID="GVViewCorreos" runat="server" CssClass="table table-striped table-advance table-hover mysmallbtn ScrollAD Widthall GVViewCorreos"
Style="text-align: center;" GridLines="None" data-rows="2" data-heighterror="500" ShowHeaderWhenEmpty="true" ShowHeader="true" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="Código">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("Codigo")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Empleado" ItemStyle-CssClass="text-left">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("NombreCompleto")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Periodo" Visible="false" ItemStyle-CssClass="text-left">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("PeriodoTexto")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha" ItemStyle-CssClass="text-left">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("Fecha")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Se envio a" ItemStyle-CssClass="text-left">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("Correo")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div id="ModalNominaPendiente" class="modal ADS fade" role="dialog"> <div id="ModalNominaPendiente" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UpdatePanel1" UpdateMode="Conditional"> <asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UpdatePanel1" UpdateMode="Conditional">

View File

@@ -467,7 +467,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
FechaInicioPeriodo = drow["FechaInicio"].ToString().ToDateTime(); FechaInicioPeriodo = drow["FechaInicio"].ToString().ToDateTime();
FechaFinPeriodo = drow["FechaFin"].ToString().ToDateTime(); FechaFinPeriodo = drow["FechaFin"].ToString().ToDateTime();
LnkBitacoraCorreo.Visible = true;
//LnkConceptoEmpleado.Visible = (Estatus == 1); //LnkConceptoEmpleado.Visible = (Estatus == 1);
LnkRegistrarProvision.Visible = (Estatus >= 2);//&& (CvePrePolizaProvision <= 0 || UsuarioActual.CveUsuario == 100); LnkRegistrarProvision.Visible = (Estatus >= 2);//&& (CvePrePolizaProvision <= 0 || UsuarioActual.CveUsuario == 100);
LnkRegistrarProvision.Text = CvePrePolizaProvision <= 0 ? "<i class=\"fa fa-thumbs-up\" aria-hidden=\"true\" ></i>Registrar provisión" : "<i class=\"fa fa-thumbs-up\" aria-hidden=\"true\" ></i>Regenerar provisión"; LnkRegistrarProvision.Text = CvePrePolizaProvision <= 0 ? "<i class=\"fa fa-thumbs-up\" aria-hidden=\"true\" ></i>Registrar provisión" : "<i class=\"fa fa-thumbs-up\" aria-hidden=\"true\" ></i>Regenerar provisión";
@@ -1040,12 +1040,15 @@ public partial class Nomina_Nomina2 : ClsPaginas
LinkButton ImgDelete = (LinkButton)e.Row.FindControl("ImgDelete"); LinkButton ImgDelete = (LinkButton)e.Row.FindControl("ImgDelete");
LinkButton Imgdesautorizar = (LinkButton)e.Row.FindControl("Imgdesautorizar"); LinkButton Imgdesautorizar = (LinkButton)e.Row.FindControl("Imgdesautorizar");
LinkButton LnkCancelar = (LinkButton)e.Row.FindControl("LnkCancelar"); LinkButton LnkCancelar = (LinkButton)e.Row.FindControl("LnkCancelar");
LinkButton LnkReenviarCorreo = (LinkButton)e.Row.FindControl("LnkReenviarCorreo");
ImgDelete.Visible = false; ImgDelete.Visible = false;
Imgdesautorizar.Visible = false; Imgdesautorizar.Visible = false;
LnkCancelar.Visible = false; LnkCancelar.Visible = false;
LnkReenviarCorreo.Visible = false;
if (cvePersonal > 0) if (cvePersonal > 0)
{ {
LnkCancelar.Visible = PermisoCancelarEmitido && SeTimbro.ToUpper().Contiene("TRUE", "1"); LnkCancelar.Visible = PermisoCancelarEmitido && SeTimbro.ToUpper().Contiene("TRUE", "1");
LnkReenviarCorreo.Visible = SeTimbro.ToUpper().Contiene("TRUE", "1");
LtlNombre.Text = String.Format("<a class=\"Texto sline\" href=\"/RH/Personal.aspx?CvePersonal={0}\"><span style=\"display:inline-block;min-width:31px;\">{2}</span> <span style=\"display:inline-block;\">{1}</span></a>", cvePersonal, Nombre, Codigo); LtlNombre.Text = String.Format("<a class=\"Texto sline\" href=\"/RH/Personal.aspx?CvePersonal={0}\"><span style=\"display:inline-block;min-width:31px;\">{2}</span> <span style=\"display:inline-block;\">{1}</span></a>", cvePersonal, Nombre, Codigo);
if (CveNomina > 0) if (CveNomina > 0)
@@ -1141,7 +1144,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
using (ClsRH objrh = new ClsRH()) using (ClsRH objrh = new ClsRH())
{ {
objrh.GetPersonal(-1, UsuarioActual.CveEmpresa); objrh.GetPersonal(-1, UsuarioActual.CveEmpresa);
dtpersonal = objrh.DtResultados.FiltraParametros("", "", new string[] { "CvePersonal", "MaiReciboNomina", "NombreCompleto" }); dtpersonal = objrh.DtResultados.FiltraParametros("", "", new string[] { "CvePersonal", "Correo", "NombreCompleto" });
} }
foreach (GridViewRow gvRow in GvNominas.Rows) foreach (GridViewRow gvRow in GvNominas.Rows)
{ {
@@ -1150,25 +1153,29 @@ public partial class Nomina_Nomina2 : ClsPaginas
int CveNomina = gvRow.DataKey("CveNomina").ToEntero(); int CveNomina = gvRow.DataKey("CveNomina").ToEntero();
int SeTimbro = (gvRow.DataKey("SeTimbro").ToUpper() == "TRUE" ? 1 : gvRow.DataKey("SeTimbro").ToEntero()); int SeTimbro = (gvRow.DataKey("SeTimbro").ToUpper() == "TRUE" ? 1 : gvRow.DataKey("SeTimbro").ToEntero());
LinkButton LnkTimbrar = gvRow.FCLinkButton("LnkTimbrar"); LinkButton LnkTimbrar = gvRow.FCLinkButton("LnkTimbrar");
string MaiReciboNomina = string.Empty; string Correo = string.Empty;
string NombreCompleto = string.Empty; string NombreCompleto = string.Empty;
if (dtpersonal.Rows.Count > 0 && (drow = dtpersonal.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal))) != null) if (dtpersonal.Rows.Count > 0 && (drow = dtpersonal.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal))) != null)
{ {
MaiReciboNomina = drow["MaiReciboNomina"].ToString(); Correo = drow["Correo"].ToString();
NombreCompleto = drow["NombreCompleto"].ToString(); NombreCompleto = drow["NombreCompleto"].ToString();
} }
if (CvePersonal > 0 && SeTimbro == 1) if (CvePersonal > 0 && SeTimbro == 1)
{ {
if (MaiReciboNomina.Trim().Length > 0) if (Correo.Trim().Length > 0)
{ {
byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta); byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta);
if (pdf != null) if (pdf != null)
{ {
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>(); List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" }); objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" });
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, MaiReciboNomina.Trim(), string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy}", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), "", "", objarch); Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Correo.Trim(), string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy}", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), "", "", objarch);
// Mail.SendMail(ClsPaginas.EmpresaNotificaciones, "caudillo.90d@gmail.com", string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy} ", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), MaiReciboNomina.Trim(), "", objarch); // Mail.SendMail(ClsPaginas.EmpresaNotificaciones, "caudillo.90d@gmail.com", string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy} ", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), Correo.Trim(), "", objarch);
using (ClsRH objrh = new ClsRH())
{
objrh.NomBitacoraCorreoAdd(CvePeriodoSeleccionado, CvePersonal, Correo.Trim(), UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario);
}
} }
} }
@@ -1178,7 +1185,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
} }
Alert("se reenviaron los recibos timbrados"); Alert("se reenviaron los recibos timbrados");
} }
public string msgCorregidoSat(string msg, int CvePersonal,string RFC, string CURP) public string msgCorregidoSat(string msg, int CvePersonal, string RFC, string CURP)
{ {
string retorno = msg; string retorno = msg;
if (msg.ToUpper().Contains("RFC")) if (msg.ToUpper().Contains("RFC"))
@@ -1202,8 +1209,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
} }
} }
if (msg.ToUpper().Contains("CONCEPTO NO REGISTRADO")) if (msg.ToUpper().Contains("CONCEPTO NO REGISTRADO"))
{ {
retorno = string.Format("{0} a un concepto del SAT en el catálogo de conceptos.", retorno.Replace("No se pudo generar el pretimbre:","").Replace("(", ",favor de vincular el concepto SIG '").Replace(")", "'").Trim()); retorno = string.Format("{0} a un concepto del SAT en el catálogo de conceptos.", retorno.Replace("No se pudo generar el pretimbre:", "").Replace("(", ",favor de vincular el concepto SIG '").Replace(")", "'").Trim());
} }
if (msg.ToUpper().Contains("REGISTROPATRONAL")) if (msg.ToUpper().Contains("REGISTROPATRONAL"))
{ {
@@ -1224,7 +1231,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
using (ClsRH objrh = new ClsRH()) using (ClsRH objrh = new ClsRH())
{ {
objrh.GetPersonal(-1, UsuarioActual.CveEmpresa); objrh.GetPersonal(-1, UsuarioActual.CveEmpresa);
dtpersonal = objrh.DtResultados.FiltraParametros("", "", new string[] { "CvePersonal", "MaiReciboNomina", "NombreCompleto","RFC", "CURP" }); dtpersonal = objrh.DtResultados.FiltraParametros("", "", new string[] { "CvePersonal", "Correo", "NombreCompleto", "RFC", "CURP" });
} }
foreach (GridViewRow gvRow in GvNominas.Rows) foreach (GridViewRow gvRow in GvNominas.Rows)
{ {
@@ -1232,13 +1239,13 @@ public partial class Nomina_Nomina2 : ClsPaginas
int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero(); int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero();
int CveNomina = gvRow.DataKey("CveNomina").ToEntero(); int CveNomina = gvRow.DataKey("CveNomina").ToEntero();
LinkButton LnkTimbrar = gvRow.FCLinkButton("LnkTimbrar"); LinkButton LnkTimbrar = gvRow.FCLinkButton("LnkTimbrar");
string MaiReciboNomina = string.Empty; string Correo = string.Empty;
string NombreCompleto = string.Empty; string NombreCompleto = string.Empty;
string RFC = string.Empty; string RFC = string.Empty;
string CURP = string.Empty; string CURP = string.Empty;
if (dtpersonal.Rows.Count > 0 && (drow = dtpersonal.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal))) != null) if (dtpersonal.Rows.Count > 0 && (drow = dtpersonal.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal))) != null)
{ {
MaiReciboNomina = drow["MaiReciboNomina"].ToString(); Correo = drow["Correo"].ToString();
NombreCompleto = drow["NombreCompleto"].ToString(); NombreCompleto = drow["NombreCompleto"].ToString();
RFC = drow["RFC"].ToString(); RFC = drow["RFC"].ToString();
CURP = drow["CURP"].ToString(); CURP = drow["CURP"].ToString();
@@ -1266,16 +1273,19 @@ public partial class Nomina_Nomina2 : ClsPaginas
gvRow.ForeColor = Color.Green; gvRow.ForeColor = Color.Green;
if (MaiReciboNomina.Trim().Length > 0) if (Correo.Trim().Length > 0)
{ {
byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta); byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta);
if (pdf != null) if (pdf != null)
{ {
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>(); List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" }); objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" });
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, MaiReciboNomina.Trim(), string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy}", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), "", "", objarch); Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Correo.Trim(), string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy}", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), "", "", objarch);
//Mail.SendMail(ClsPaginas.EmpresaNotificaciones, "caudillo.90d@gmail.com", string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy} ", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), MaiReciboNomina.Trim(), "", objarch); //Mail.SendMail(ClsPaginas.EmpresaNotificaciones, "caudillo.90d@gmail.com", string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy} ", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), Correo.Trim(), "", objarch);
using (ClsRH objrh = new ClsRH())
{
objrh.NomBitacoraCorreoAdd(CvePeriodoSeleccionado, CvePersonal, Correo.Trim(), UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario);
}
} }
} }
@@ -1322,6 +1332,58 @@ public partial class Nomina_Nomina2 : ClsPaginas
} }
ObjEmpresa.Dispose(); ObjEmpresa.Dispose();
} }
protected void LnkReenviarCorreo_Click(object sender, EventArgs e)
{
LinkButton lnk = (LinkButton)sender;
GridViewRow gvRow = (GridViewRow)lnk.NamingContainer;
int CvePeriodo = gvRow.DataKey("CvePeriodo").ToEntero();
int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero();
int CveNomina = gvRow.DataKey("CveNomina").ToEntero();
LogicNominas lognom = new LogicNominas();
ClsSisMail Mail = new ClsSisMail();
DataTable dtpersonal = new DataTable();
DataRow drow;
string Correo = string.Empty;
string NombreCompleto = string.Empty;
using (ClsRH objrh = new ClsRH())
{
objrh.GetPersonal(CvePersonal, UsuarioActual.CveEmpresa);
dtpersonal = objrh.DtResultados.FiltraParametros("", "", new string[] { "CvePersonal", "Correo", "NombreCompleto" });
}
if (dtpersonal.Rows.Count > 0 && (drow = dtpersonal.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal))) != null)
{
Correo = drow["Correo"].ToString();
NombreCompleto = drow["NombreCompleto"].ToString();
}
if (Correo.Trim().Length > 0)
{
byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta);
if (pdf != null)
{
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina" });
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Correo.Trim(), string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy}", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), "", "", objarch);
using (ClsRH objrh = new ClsRH())
{
objrh.NomBitacoraCorreoAdd(CvePeriodoSeleccionado, CvePersonal, Correo.Trim(), UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario);
}
this.Alert(string.Format("se envio el correo a '{0}'.", Correo), TipoMensaje.MsgInformacion);
}
else
{
this.Alert("No se pudo generar el PDF para enviar el correo.", TipoMensaje.MsgAdvertencia);
}
}
else
{
this.Alert("No se tiene un correo registrado.", TipoMensaje.MsgAdvertencia);
}
}
protected void LnkTimbrar_Click(object sender, EventArgs e) protected void LnkTimbrar_Click(object sender, EventArgs e)
{ {
LinkButton lnk = (LinkButton)sender; LinkButton lnk = (LinkButton)sender;
@@ -1330,23 +1392,22 @@ public partial class Nomina_Nomina2 : ClsPaginas
int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero(); int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero();
int CveNomina = gvRow.DataKey("CveNomina").ToEntero(); int CveNomina = gvRow.DataKey("CveNomina").ToEntero();
LogicNominas lognom = new LogicNominas(); LogicNominas lognom = new LogicNominas();
Usuario UsuarioActual = this.UsuarioActual;
ClsSisMail Mail = new ClsSisMail(); ClsSisMail Mail = new ClsSisMail();
DataTable dtpersonal = new DataTable(); DataTable dtpersonal = new DataTable();
DataRow drow; DataRow drow;
string MaiReciboNomina = string.Empty; string Correo = string.Empty;
string NombreCompleto = string.Empty; string NombreCompleto = string.Empty;
if (dtpersonal.Rows.Count > 0 && (drow = dtpersonal.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal))) != null)
{
MaiReciboNomina = drow["MaiReciboNomina"].ToString();
NombreCompleto = drow["NombreCompleto"].ToString();
}
using (ClsRH objrh = new ClsRH()) using (ClsRH objrh = new ClsRH())
{ {
objrh.GetPersonal(CvePersonal, UsuarioActual.CveEmpresa); objrh.GetPersonal(CvePersonal, UsuarioActual.CveEmpresa);
dtpersonal = objrh.DtResultados.FiltraParametros("", "", new string[] { "CvePersonal", "MaiReciboNomina", "NombreCompleto" }); dtpersonal = objrh.DtResultados.FiltraParametros("", "", new string[] { "CvePersonal", "Correo", "NombreCompleto" });
}
if (dtpersonal.Rows.Count > 0 && (drow = dtpersonal.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal))) != null)
{
Correo = drow["Correo"].ToString();
NombreCompleto = drow["NombreCompleto"].ToString();
} }
/* /*
if (EsProduccion == false) if (EsProduccion == false)
@@ -1365,7 +1426,6 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
UsuarioActual = this.UsuarioActual; UsuarioActual = this.UsuarioActual;
}*/ }*/
UsuarioActual = this.UsuarioActual;
string Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual); string Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
if (Msg != null && Msg.Length > 0) if (Msg != null && Msg.Length > 0)
{ Alert(string.Format("El empleado no se pudo timbrar, el sat nos devolvio el siguiente mensaje:<br/>{0}", Msg), TipoMensaje.MsgAdvertencia); } { Alert(string.Format("El empleado no se pudo timbrar, el sat nos devolvio el siguiente mensaje:<br/>{0}", Msg), TipoMensaje.MsgAdvertencia); }
@@ -1374,15 +1434,18 @@ public partial class Nomina_Nomina2 : ClsPaginas
ClsNominas ObjPeriodo = new ClsNominas(); ClsNominas ObjPeriodo = new ClsNominas();
ObjPeriodo.CambiaEstatusPeriodo(CvePeriodo, (int)enumNominasEstatus.Timbrada, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa); ObjPeriodo.CambiaEstatusPeriodo(CvePeriodo, (int)enumNominasEstatus.Timbrada, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
ObjPeriodo.Dispose(); ObjPeriodo.Dispose();
if (MaiReciboNomina.Trim().Length > 0) if (Correo.Trim().Length > 0)
{ {
byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta); byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta);
if (pdf != null) if (pdf != null)
{ {
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>(); List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina" }); objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina" });
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, MaiReciboNomina.Trim(), string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy}", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), "", "", objarch); Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Correo.Trim(), string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy}", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), "", "", objarch);
using (ClsRH objrh = new ClsRH())
{
objrh.NomBitacoraCorreoAdd(CvePeriodoSeleccionado, CvePersonal, Correo.Trim(), UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario);
}
} }
} }
@@ -3484,9 +3547,18 @@ public partial class Nomina_Nomina2 : ClsPaginas
protected void BtnImprimirsobrerecibo_Click(object sender, EventArgs e) protected void BtnImprimirsobrerecibo_Click(object sender, EventArgs e)
{ {
string filtros = "EsPadre = 1 AND SoloVisible =0";
DataTable dtper = dtConceptos.FiltraParametros("Tipo IN ('P') AND EsPadre = 1 AND SoloVisible =0"); string filtros2 = "";
DataTable dtded = dtConceptos.FiltraParametros("Tipo IN ('D') AND EsPadre = 1 AND SoloVisible =0"); if (UsuarioActual.CveEmpresa == 141)
{
filtros2 = " CveConcepto =4714";
}
if (filtros2.Length > 0)
{
filtros = string.Format("(({0}) OR({1}))", filtros, filtros2);
}
DataTable dtper = dtConceptos.FiltraParametros(string.Format("Tipo IN ('P') AND {0}", filtros));
DataTable dtded = dtConceptos.FiltraParametros(string.Format("Tipo IN ('D') AND {0}", filtros));
dtper.Columns.Add("BorradoLogico", typeof(int)); dtper.Columns.Add("BorradoLogico", typeof(int));
dtded.Columns.Add("BorradoLogico", typeof(int)); dtded.Columns.Add("BorradoLogico", typeof(int));
@@ -8764,4 +8836,16 @@ public partial class Nomina_Nomina2 : ClsPaginas
protected void LnkBitacoraCorreo_Click(object sender, EventArgs e)
{
using (ClsRH objrh = new ClsRH())
{
objrh.NomBitacoraCorreoGet(CvePeriodoSeleccionado, -1, UsuarioActual.CveEmpresa);
GVViewCorreos.DataSource = objrh.DtResultados;
GVViewCorreos.DataBind();
}
UpviewCorreos.Update();
RegistraScript(string.Format("$('#ModalViewCorreo').modal();", TxtmcImporte.ClientID));
}
} }

View File

@@ -642,10 +642,16 @@
<asp:TemplateField ItemStyle-HorizontalAlign="Left" Visible="false"> <asp:TemplateField ItemStyle-HorizontalAlign="Left" Visible="false">
<HeaderTemplate>Registro patronal</HeaderTemplate> <HeaderTemplate>Registro patronal</HeaderTemplate>
<ItemTemplate> <ItemTemplate>
<asp:Literal ID="LtlRiesgoPuesto" runat="server" Text='<%# Eval("RegistroPatronal") %>'></asp:Literal> <asp:Literal ID="LtlRegistroPatronal" runat="server" Text='<%# Eval("RegistroPatronal") %>'></asp:Literal>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Left" Visible="false">
<HeaderTemplate>Tipo de salario</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlTipodeSalario" runat="server" Text='<%# Eval("TipodeSalario") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns> </Columns>
<RowStyle CssClass="Texto" /> <RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" /> <AlternatingRowStyle CssClass="TextoAlterno" />
@@ -823,6 +829,10 @@
<div class="col-md-3"> <div class="col-md-3">
<asp:CheckBox ID="ChkClienteAsignado" runat="server" Text="ClienteAsignado" /> <asp:CheckBox ID="ChkClienteAsignado" runat="server" Text="ClienteAsignado" />
</div> </div>
<div class="col-md-3">
<asp:CheckBox ID="ChkTipodeSalario" runat="server" Text="Tipo de salario" />
</div>
</div> </div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">

View File

@@ -599,6 +599,11 @@ Partial Class RH_CatPersonal
Else Else
GvDatos.Columns(44).Visible = False GvDatos.Columns(44).Visible = False
End If End If
If ChkTipodeSalario.Checked Then
GvDatos.Columns(45).Visible = True
Else
GvDatos.Columns(45).Visible = False
End If
If (GvDatos.Rows.Count > 0) Then If (GvDatos.Rows.Count > 0) Then

View File

@@ -4147,7 +4147,7 @@
<i class="fa fa-commenting font-green"></i> <i class="fa fa-commenting font-green"></i>
<span class="caption-subject bold">Agregar</span> <span class="caption-subject bold">Agregar</span>
</div>--%> </div>--%>
<asp:HyperLink ID="ImgAddObs" CssClass="caption-subject bold" data-toggle="modal" data-target="#ModalBitacora" runat="server" Text=" <i class='fa fa-commenting font-green'></i><span class='caption-subject bold'>Agregar</span>" Style="font-weight: 700 !important; cursor: pointer;" ToolTip="Observaciones"></asp:HyperLink><br /> <asp:HyperLink ID="ImgAddObs" CssClass="caption-subject bold" data-toggle="modal" data-target="#ModalBitacora" runat="server" Text=" <i class='fa fa-commenting font-green'></i><span class='caption-subject bold font-green'>Agregar</span>" Style="font-weight: 700 !important; cursor: pointer;" ToolTip="Observaciones"></asp:HyperLink><br />
<asp:HyperLink ID="HlEvento" CssClass="thickbox font-green caption-subject bold" runat="server" Text=" <i class='fa fa-calendar-plus-o font-green'></i>Agendar" Visible="false" Style="font-weight: 700 !important; cursor: pointer;" ToolTip="Agendar"></asp:HyperLink><br /> <asp:HyperLink ID="HlEvento" CssClass="thickbox font-green caption-subject bold" runat="server" Text=" <i class='fa fa-calendar-plus-o font-green'></i>Agendar" Visible="false" Style="font-weight: 700 !important; cursor: pointer;" ToolTip="Agendar"></asp:HyperLink><br />
<asp:Literal ID="LtlTareaNueva" runat="server"></asp:Literal> <asp:Literal ID="LtlTareaNueva" runat="server"></asp:Literal>
<UserControl:TareaNueva runat="server" ID="TareaNueva" /> <UserControl:TareaNueva runat="server" ID="TareaNueva" />

View File

@@ -1560,7 +1560,7 @@ Partial Class RH_Personal
CHKRFCValidado.Checked = drow("RFCValidado").ToString() = "1" CHKRFCValidado.Checked = drow("RFCValidado").ToString() = "1"
'ChkPensionado.Checked = drow("Pensionado").ToString().ToUpper().Contiene("1", "TRUE") 'ChkPensionado.Checked = drow("Pensionado").ToString().ToUpper().Contiene("1", "TRUE")
ChkSindicalizado.Checked = drow("Sindicalizado").ToString().ToUpper().Contiene("1", "TRUE") ChkSindicalizado.Checked = drow("Sindicalizado").ToString().ToUpper().Contiene("1", "TRUE")
'TxtMailrecibonomina.Text = drow("MaiReciboNomina").ToString() 'TxtMailrecibonomina.Text = drow("Correo").ToString()
'Carga Datos Personales 'Carga Datos Personales
LtlPersonal.Text = ObjPersonal.NombreCompleto LtlPersonal.Text = ObjPersonal.NombreCompleto
NombreCompleto = ObjPersonal.NombreCompleto NombreCompleto = ObjPersonal.NombreCompleto
@@ -2033,7 +2033,7 @@ Partial Class RH_Personal
If TieneError Then If TieneError Then
ObjPersonal.RollBack() ObjPersonal.RollBack()
'Alert("Ocurrio un error guardar el Personal. Por favor vuelva a intentar.", TipoMensaje.MsgError) Alert("Ocurrio un error guardar el Personal. Por favor vuelva a intentar.", TipoMensaje.ToastAdventencia)
Else Else
ObjPersonal.Commit() ObjPersonal.Commit()
Alert(Mensaje, TipoMensaje.MsgInformacion, Accion) Alert(Mensaje, TipoMensaje.MsgInformacion, Accion)

View File

@@ -528,6 +528,12 @@