|
|
|
|
@@ -1040,12 +1040,15 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|
|
|
|
LinkButton ImgDelete = (LinkButton)e.Row.FindControl("ImgDelete");
|
|
|
|
|
LinkButton Imgdesautorizar = (LinkButton)e.Row.FindControl("Imgdesautorizar");
|
|
|
|
|
LinkButton LnkCancelar = (LinkButton)e.Row.FindControl("LnkCancelar");
|
|
|
|
|
LinkButton LnkReenviarCorreo = (LinkButton)e.Row.FindControl("LnkReenviarCorreo");
|
|
|
|
|
ImgDelete.Visible = false;
|
|
|
|
|
Imgdesautorizar.Visible = false;
|
|
|
|
|
LnkCancelar.Visible = false;
|
|
|
|
|
LnkReenviarCorreo.Visible = false;
|
|
|
|
|
if (cvePersonal > 0)
|
|
|
|
|
{
|
|
|
|
|
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);
|
|
|
|
|
if (CveNomina > 0)
|
|
|
|
|
@@ -1141,7 +1144,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|
|
|
|
using (ClsRH objrh = new ClsRH())
|
|
|
|
|
{
|
|
|
|
|
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)
|
|
|
|
|
{
|
|
|
|
|
@@ -1150,25 +1153,25 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|
|
|
|
int CveNomina = gvRow.DataKey("CveNomina").ToEntero();
|
|
|
|
|
int SeTimbro = (gvRow.DataKey("SeTimbro").ToUpper() == "TRUE" ? 1 : gvRow.DataKey("SeTimbro").ToEntero());
|
|
|
|
|
LinkButton LnkTimbrar = gvRow.FCLinkButton("LnkTimbrar");
|
|
|
|
|
string MaiReciboNomina = string.Empty;
|
|
|
|
|
string Correo = string.Empty;
|
|
|
|
|
string NombreCompleto = string.Empty;
|
|
|
|
|
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();
|
|
|
|
|
}
|
|
|
|
|
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);
|
|
|
|
|
if (pdf != null)
|
|
|
|
|
{
|
|
|
|
|
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
|
|
|
|
|
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, "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, 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), Correo.Trim(), "", objarch);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -1178,7 +1181,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|
|
|
|
}
|
|
|
|
|
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;
|
|
|
|
|
if (msg.ToUpper().Contains("RFC"))
|
|
|
|
|
@@ -1202,8 +1205,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
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"))
|
|
|
|
|
{
|
|
|
|
|
@@ -1224,7 +1227,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|
|
|
|
using (ClsRH objrh = new ClsRH())
|
|
|
|
|
{
|
|
|
|
|
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)
|
|
|
|
|
{
|
|
|
|
|
@@ -1232,13 +1235,13 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|
|
|
|
int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero();
|
|
|
|
|
int CveNomina = gvRow.DataKey("CveNomina").ToEntero();
|
|
|
|
|
LinkButton LnkTimbrar = gvRow.FCLinkButton("LnkTimbrar");
|
|
|
|
|
string MaiReciboNomina = string.Empty;
|
|
|
|
|
string Correo = string.Empty;
|
|
|
|
|
string NombreCompleto = string.Empty;
|
|
|
|
|
string RFC = string.Empty;
|
|
|
|
|
string CURP = string.Empty;
|
|
|
|
|
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();
|
|
|
|
|
RFC = drow["RFC"].ToString();
|
|
|
|
|
CURP = drow["CURP"].ToString();
|
|
|
|
|
@@ -1266,15 +1269,15 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|
|
|
|
|
|
|
|
|
gvRow.ForeColor = Color.Green;
|
|
|
|
|
|
|
|
|
|
if (MaiReciboNomina.Trim().Length > 0)
|
|
|
|
|
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.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, "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, 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), Correo.Trim(), "", objarch);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -1322,7 +1325,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|
|
|
|
}
|
|
|
|
|
ObjEmpresa.Dispose();
|
|
|
|
|
}
|
|
|
|
|
protected void LnkTimbrar_Click(object sender, EventArgs e)
|
|
|
|
|
protected void LnkReenviarCorreo_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
LinkButton lnk = (LinkButton)sender;
|
|
|
|
|
GridViewRow gvRow = (GridViewRow)lnk.NamingContainer;
|
|
|
|
|
@@ -1330,23 +1333,71 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|
|
|
|
int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero();
|
|
|
|
|
int CveNomina = gvRow.DataKey("CveNomina").ToEntero();
|
|
|
|
|
LogicNominas lognom = new LogicNominas();
|
|
|
|
|
Usuario UsuarioActual = this.UsuarioActual;
|
|
|
|
|
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);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
{
|
|
|
|
|
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 MaiReciboNomina = string.Empty;
|
|
|
|
|
string Correo = 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())
|
|
|
|
|
{
|
|
|
|
|
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)
|
|
|
|
|
@@ -1364,8 +1415,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
UsuarioActual = this.UsuarioActual;
|
|
|
|
|
}*/
|
|
|
|
|
UsuarioActual = this.UsuarioActual;
|
|
|
|
|
}*/
|
|
|
|
|
string Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
|
|
|
|
|
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); }
|
|
|
|
|
@@ -1374,14 +1424,14 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|
|
|
|
ClsNominas ObjPeriodo = new ClsNominas();
|
|
|
|
|
ObjPeriodo.CambiaEstatusPeriodo(CvePeriodo, (int)enumNominasEstatus.Timbrada, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
|
|
|
|
|
ObjPeriodo.Dispose();
|
|
|
|
|
if (MaiReciboNomina.Trim().Length > 0)
|
|
|
|
|
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, 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);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
@@ -3484,9 +3534,18 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|
|
|
|
|
|
|
|
|
protected void BtnImprimirsobrerecibo_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
DataTable dtper = dtConceptos.FiltraParametros("Tipo IN ('P') AND EsPadre = 1 AND SoloVisible =0");
|
|
|
|
|
DataTable dtded = dtConceptos.FiltraParametros("Tipo IN ('D') AND EsPadre = 1 AND SoloVisible =0");
|
|
|
|
|
string filtros = "EsPadre = 1 AND SoloVisible =0";
|
|
|
|
|
string filtros2 = "";
|
|
|
|
|
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));
|
|
|
|
|
dtded.Columns.Add("BorradoLogico", typeof(int));
|
|
|
|
|
|
|
|
|
|
|