diff --git a/Nomina/ConceptoNomina.aspx.cs b/Nomina/ConceptoNomina.aspx.cs index a77ff6052..db804f5e9 100644 --- a/Nomina/ConceptoNomina.aspx.cs +++ b/Nomina/ConceptoNomina.aspx.cs @@ -296,10 +296,14 @@ public partial class Nomina_CatConcepto : ClsPaginas DdlCtaContable.DataSource = ObjConta.DtResultados; DdlCtaContable.DataBind(); + DdlCtaContableB.DataSource = ObjConta.DtResultados; + DdlCtaContableB.DataBind(); } } DdlCtaContable.Items.Insert(0, new ListItem("Seleccione", "-1")); DdlCtaContable.SelectedValueExist("-1"); + DdlCtaContableB.Items.Insert(0, new ListItem("Seleccione", "-1")); + DdlCtaContableB.SelectedValueExist("-1"); } } diff --git a/Nomina/Nomina.aspx b/Nomina/Nomina.aspx index 42f536c76..4a1ef2c08 100644 --- a/Nomina/Nomina.aspx +++ b/Nomina/Nomina.aspx @@ -413,6 +413,14 @@ DataTextField="TipoTrabajadorB" DataValueField="CveTipoTrabajador" ValidationGroup="GrpGuardar"> + + +
+ + + + +
diff --git a/Nomina/Nomina.aspx.cs b/Nomina/Nomina.aspx.cs index 2ebfaa684..903ea8858 100644 --- a/Nomina/Nomina.aspx.cs +++ b/Nomina/Nomina.aspx.cs @@ -249,7 +249,8 @@ public partial class Nomina_Nomina2 : ClsPaginas if (!IsPostBack) { - LnkCargaNetos.Visible = (UsuarioActual.Empresa.Funcionalidad(267) == "1") ||(UsuarioActual.CveRol == 1); + LnkCargaNetos.Visible = (UsuarioActual.Empresa.Funcionalidad(267) == "1") || (UsuarioActual.CveRol == 1); + if (UsuarioActual.CveEmpresa == 141) { ddlfiniquito.SelectedValueExist("2"); } using (ClsRH objrh = new ClsRH()) { if (objrh.TiposTrabajadorGet(-1, UsuarioActual.CveEmpresa)) @@ -555,7 +556,7 @@ public partial class Nomina_Nomina2 : ClsPaginas LnkFormatoTabular.Visible = true; HypPDFSTimbrados.Visible = true; - if (objnom.GetNominaEmpleado(FiltCveProyecto, FiltCveSubProyecto, FiltCveTurno, FiltCvePeriodo, CveEmpresa, FiltAgrupador, DdlRegimenContratacion.SelectedValue.ToEntero(), CveTipoTrabajador: CveTipoTrabajador) && objnom.DTSetResultados.Tables.Count > 4) + if (objnom.GetNominaEmpleado(FiltCveProyecto, FiltCveSubProyecto, FiltCveTurno, FiltCvePeriodo, CveEmpresa, FiltAgrupador, DdlRegimenContratacion.SelectedValue.ToEntero(), CveTipoTrabajador: CveTipoTrabajador,Neto: ddlfiniquito.SelectedValue.ToEntero()) && objnom.DTSetResultados.Tables.Count > 4) { dtempleados = objnom.DTSetResultados.Tables[3]; dtempleadosConceptos = objnom.DTSetResultados.Tables[4]; @@ -1210,41 +1211,68 @@ public partial class Nomina_Nomina2 : ClsPaginas objrh.GetPersonal(-1, UsuarioActual.CveEmpresa); dtpersonal = objrh.DtResultados.FiltraParametros("", "", new string[] { "CvePersonal", "Correo", "NombreCompleto" }); } - foreach (GridViewRow gvRow in GvNominas.Rows) + using (ClsRH objrh = new ClsRH()) + using (ClsNominas ObjNomina = new ClsNominas()) { - CvePeriodo = gvRow.DataKey("CvePeriodo").ToEntero(); - int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero(); - int CveNomina = gvRow.DataKey("CveNomina").ToEntero(); - int SeTimbro = (gvRow.DataKey("SeTimbro").ToUpper() == "TRUE" ? 1 : gvRow.DataKey("SeTimbro").ToEntero()); - LinkButton LnkTimbrar = gvRow.FCLinkButton("LnkTimbrar"); - string Correo = string.Empty; - string NombreCompleto = string.Empty; - if (dtpersonal.Rows.Count > 0 && (drow = dtpersonal.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal))) != null) + foreach (GridViewRow gvRow in GvNominas.Rows) { - Correo = drow["Correo"].ToString(); - NombreCompleto = drow["NombreCompleto"].ToString(); - } - if (CvePersonal > 0 && SeTimbro == 1) - { - - if (Correo.Trim().Length > 0) + CvePeriodo = gvRow.DataKey("CvePeriodo").ToEntero(); + int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero(); + int CveNomina = gvRow.DataKey("CveNomina").ToEntero(); + int SeTimbro = (gvRow.DataKey("SeTimbro").ToUpper() == "TRUE" ? 1 : gvRow.DataKey("SeTimbro").ToEntero()); + LinkButton LnkTimbrar = gvRow.FCLinkButton("LnkTimbrar"); + string Correo = string.Empty; + string NombreCompleto = string.Empty; + if (dtpersonal.Rows.Count > 0 && (drow = dtpersonal.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal))) != null) { - byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta); - if (pdf != null) - { - List objarch = new List(); - objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" }); - 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); - using (ClsRH objrh = new ClsRH()) - { - objrh.NomBitacoraCorreoAdd(CvePeriodoSeleccionado, CvePersonal, Correo.Trim(), UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario); - } - - } + Correo = drow["Correo"].ToString(); + NombreCompleto = drow["NombreCompleto"].ToString(); } + if (CvePersonal > 0 && SeTimbro == 1) + { + + if (Correo.Trim().Length > 0) + { + byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta); + if (pdf != null) + { + List objarch = new List(); + objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" }); + + if (ObjNomina.GetNom_Nominas(-1, TxtCvePersonal.Text.ToEntero(), TxtCvePeriodo.Text.ToEntero(), -1, UsuarioActual.CveEmpresa)) + { + string Ruta = ""; + string PathXML = ""; + string PathXMLF = ""; + string Xmlname = ""; + string XmlnameF = ""; + string empleado = ""; + Ruta = UsuarioActual.Empresa.Ruta; + PathXML = $"{Ruta}XML\\Nomina\\{ObjNomina.SerieFolio}.xml"; + PathXMLF = $"{Ruta}XML\\Nomina\\{ObjNomina.Serie}F-{ObjNomina.Folio}.xml"; + Xmlname = $"{ObjNomina.SerieFolio}.xml"; + XmlnameF = $"{ObjNomina.Serie}F-{ObjNomina.Folio}.xml"; + + if (!string.IsNullOrEmpty(PathXML) && System.IO.File.Exists(PathXML)) + { + objarch.Add(new ClsSisMail.ArchivoMail() { Ruta = PathXML, NombreArchivo = Xmlname }); + } + if (!string.IsNullOrEmpty(PathXMLF) && System.IO.File.Exists(PathXMLF)) + { + objarch.Add(new ClsSisMail.ArchivoMail() { Ruta = PathXMLF, NombreArchivo = XmlnameF }); + } + } + + 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); + + objrh.NomBitacoraCorreoAdd(CvePeriodoSeleccionado, CvePersonal, Correo.Trim(), UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario); + + } + } + } } } Alert("se reenviaron los recibos timbrados"); @@ -1298,7 +1326,8 @@ public partial class Nomina_Nomina2 : ClsPaginas objrh.GetPersonal(-1, UsuarioActual.CveEmpresa); dtpersonal = objrh.DtResultados.FiltraParametros("", "", new string[] { "CvePersonal", "Correo", "NombreCompleto", "RFC", "CURP" }); } - foreach (GridViewRow gvRow in GvNominas.Rows) + using (ClsNominas ObjNomina = new ClsNominas()) { + foreach (GridViewRow gvRow in GvNominas.Rows) { CvePeriodo = gvRow.DataKey("CvePeriodo").ToEntero(); int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero(); @@ -1347,6 +1376,30 @@ public partial class Nomina_Nomina2 : ClsPaginas { List objarch = new List(); objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" }); + + if (ObjNomina.GetNom_Nominas(-1, TxtCvePersonal.Text.ToEntero(), TxtCvePeriodo.Text.ToEntero(), -1, UsuarioActual.CveEmpresa)) + { + string Ruta = ""; + string PathXML = ""; + string PathXMLF = ""; + string Xmlname = ""; + string XmlnameF = ""; + string empleado = ""; + Ruta = UsuarioActual.Empresa.Ruta; + PathXML = $"{Ruta}XML\\Nomina\\{ObjNomina.SerieFolio}.xml"; + PathXMLF = $"{Ruta}XML\\Nomina\\{ObjNomina.Serie}F-{ObjNomina.Folio}.xml"; + Xmlname = $"{ObjNomina.SerieFolio}.xml"; + XmlnameF = $"{ObjNomina.Serie}F-{ObjNomina.Folio}.xml"; + + if (!string.IsNullOrEmpty(PathXML) && System.IO.File.Exists(PathXML)) + { + objarch.Add(new ClsSisMail.ArchivoMail() { Ruta = PathXML, NombreArchivo = Xmlname }); + } + if (!string.IsNullOrEmpty(PathXMLF) && System.IO.File.Exists(PathXMLF)) + { + objarch.Add(new ClsSisMail.ArchivoMail() { Ruta = PathXMLF, NombreArchivo = XmlnameF }); + } + } 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); using (ClsRH objrh = new ClsRH()) @@ -1362,6 +1415,7 @@ public partial class Nomina_Nomina2 : ClsPaginas } } + } if (msggral.Length > 0) { @@ -1438,11 +1492,39 @@ public partial class Nomina_Nomina2 : ClsPaginas 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) { List objarch = new List(); objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" }); + + using (ClsNominas ObjNomina = new ClsNominas()) + { + + if (ObjNomina.GetNom_Nominas(-1, TxtCvePersonal.Text.ToEntero(), TxtCvePeriodo.Text.ToEntero(), -1, UsuarioActual.CveEmpresa)) + { + string Ruta = ""; + string PathXML = ""; + string PathXMLF = ""; + string Xmlname = ""; + string XmlnameF = ""; + string empleado = ""; + Ruta = UsuarioActual.Empresa.Ruta; + PathXML = $"{Ruta}XML\\Nomina\\{ObjNomina.SerieFolio}.xml"; + PathXMLF = $"{Ruta}XML\\Nomina\\{ObjNomina.Serie}F-{ObjNomina.Folio}.xml"; + Xmlname = $"{ObjNomina.SerieFolio}.xml"; + XmlnameF = $"{ObjNomina.Serie}F-{ObjNomina.Folio}.xml"; + + if (!string.IsNullOrEmpty(PathXML) && System.IO.File.Exists(PathXML)) + { + objarch.Add(new ClsSisMail.ArchivoMail() { Ruta = PathXML, NombreArchivo = Xmlname }); + } + if (!string.IsNullOrEmpty(PathXMLF) && System.IO.File.Exists(PathXMLF)) + { + objarch.Add(new ClsSisMail.ArchivoMail() { Ruta = PathXMLF, NombreArchivo = XmlnameF }); + } + } + } 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()) { @@ -1522,6 +1604,34 @@ public partial class Nomina_Nomina2 : ClsPaginas { List objarch = new List(); objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" }); + + using (ClsNominas ObjNomina = new ClsNominas()) + { + + if (ObjNomina.GetNom_Nominas(-1, TxtCvePersonal.Text.ToEntero(), TxtCvePeriodo.Text.ToEntero(), -1, UsuarioActual.CveEmpresa)) + { + string Ruta = ""; + string PathXML = ""; + string PathXMLF = ""; + string Xmlname = ""; + string XmlnameF = ""; + string empleado = ""; + Ruta = UsuarioActual.Empresa.Ruta; + PathXML = $"{Ruta}XML\\Nomina\\{ObjNomina.SerieFolio}.xml"; + PathXMLF = $"{Ruta}XML\\Nomina\\{ObjNomina.Serie}F-{ObjNomina.Folio}.xml"; + Xmlname = $"{ObjNomina.SerieFolio}.xml"; + XmlnameF = $"{ObjNomina.Serie}F-{ObjNomina.Folio}.xml"; + + if (!string.IsNullOrEmpty(PathXML) && System.IO.File.Exists(PathXML)) + { + objarch.Add(new ClsSisMail.ArchivoMail() { Ruta = PathXML, NombreArchivo = Xmlname }); + } + if (!string.IsNullOrEmpty(PathXMLF) && System.IO.File.Exists(PathXMLF)) + { + objarch.Add(new ClsSisMail.ArchivoMail() { Ruta = PathXMLF, NombreArchivo = XmlnameF }); + } + } + } 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()) { @@ -1768,9 +1878,9 @@ public partial class Nomina_Nomina2 : ClsPaginas } protected void LnkCargarNominaNetos_Click(object sender, EventArgs e) { - LnkCargarNomina_Click(sender, e); + LnkCargarNomina_Click(sender, e); } - protected void LnkFormatoNetos_Click(object sender, EventArgs e) + protected void LnkFormatoNetos_Click(object sender, EventArgs e) { try { @@ -2119,7 +2229,7 @@ public partial class Nomina_Nomina2 : ClsPaginas { StringBuilder str = new StringBuilder("0"); bool continuar = true; - str.AppendFormat(",{0}", DdlUnConcepto.SelectedValue.ToEntero()); + str.AppendFormat(",{0}", DdlUnConcepto.SelectedValue.ToEntero()); string msgerror = ""; if (dtConceptos == null || dtConceptos.Columns.Count <= 2) { @@ -2132,12 +2242,12 @@ public partial class Nomina_Nomina2 : ClsPaginas ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook(); var libro = wb.AddWorksheet("Nomina"); - int column = 1; + int column = 1; libro.Cell(1, column).Value = "Codigo"; column++; libro.Cell(1, column).Value = "Empleado"; libro.Column(column).Width = 35; - DataTable dtcP = dtConceptos.FiltraParametros(string.Format(" CveConcepto in({0})", str)); + DataTable dtcP = dtConceptos.FiltraParametros(string.Format(" CveConcepto in({0})", str)); foreach (DataRow row in dtcP.Rows) { column++; @@ -6947,7 +7057,7 @@ public partial class Nomina_Nomina2 : ClsPaginas while (Neto != NetoSimulado && continuarV) { - if (objnom.GetNominaEmpleado(CveProyecto, CveSubProyecto, CveTurno, CvePeriodo, CveEmpresa, Agrupador, -1, 1, Neto) + if (objnom.GetNominaEmpleado(CveProyecto, CveSubProyecto, CveTurno, CvePeriodo, CveEmpresa, Agrupador, -1, 1, Neto,ddlfiniquito.SelectedValue.ToEntero()) && objnom.DTSetResultados.Tables.Count > 1) { dtempleadosSimula = objnom.DTSetResultados.Tables[3]; @@ -8466,7 +8576,7 @@ public partial class Nomina_Nomina2 : ClsPaginas DateTime fechai = TxtRIFechaInicio.Text.ToDateTime(); DateTime fechaf = TxtRIFechaFin.Text.ToDateTime(); ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook(); - int CveTipoPeriodo=0; + int CveTipoPeriodo = 0; using (ClsNominas nom = new ClsNominas()) { if (nom.GetPeriodos(-1, UsuarioActual.CveEmpresa, -1, -1, CvePeriodoSeleccionado, -1) && (nom.DtResultados.Rows.Count > 0)) @@ -8476,7 +8586,7 @@ public partial class Nomina_Nomina2 : ClsPaginas CveTipoPeriodo = -nom.DtResultados.Rows[0]["CveTipoPeriodo"].ToString().ToEntero(); } - if (nom.ReportedeincidenciasGET(UsuarioActual.CveEmpresa, fechai, fechaf, CveTipoPeriodo)) + if (nom.ReportedeincidenciasGET(UsuarioActual.CveEmpresa, fechai, fechaf, CveTipoPeriodo)) { var libro = wb.AddWorksheet(nom.DTSetResultados.Tables[2], "Incidencias");