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 c61970803..0cc9067cb 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++; @@ -2736,7 +2846,7 @@ public partial class Nomina_Nomina2 : ClsPaginas e.Row.FCDropDownList("DdlTipoAsistencias").SelectedValue = e.Row.DBCampo("CveAsistenciasInasistencias"); // Carga Motivos Horas Extras - e.Row.FCDropDownList("DdlMotivoHoraExtra").DataSource = GlobalDTMotivosHorasExtras.FiltraParametros("CveEmpresa = " + UsuarioActual.CveEmpresa); + e.Row.FCDropDownList("DdlMotivoHoraExtra").DataSource = get_GlobalDTMotivosHorasExtras(UsuarioActual.CveEmpresa).FiltraParametros("CveEmpresa = " + UsuarioActual.CveEmpresa); e.Row.FCDropDownList("DdlMotivoHoraExtra").DataBind(); if (e.Row.DBCampo("CveMotivoHoraExtra") != "-1") e.Row.FCDropDownList("DdlMotivoHoraExtra").SelectedValue = e.Row.DBCampo("CveMotivoHoraExtra"); @@ -6828,7 +6938,7 @@ public partial class Nomina_Nomina2 : ClsPaginas } if (DdlMotivoHoraExtra.Items.Count == 1) { - DdlMotivoHoraExtra.DataSource = GlobalDTMotivosHorasExtras.FiltraParametros(string.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa)); + DdlMotivoHoraExtra.DataSource = get_GlobalDTMotivosHorasExtras(UsuarioActual.CveEmpresa).FiltraParametros(string.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa)); DdlMotivoHoraExtra.DataBind(); } @@ -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"); diff --git a/RH/CalculoSBC.aspx b/RH/CalculoSBC.aspx index 63b3a9af1..ed40d0ff9 100644 --- a/RH/CalculoSBC.aspx +++ b/RH/CalculoSBC.aspx @@ -28,9 +28,6 @@
  • Descargar
  • -
  • - Formato carga masiva -
  • Carga masiva
  • @@ -46,7 +43,6 @@ - <%-- --%> @@ -203,7 +199,8 @@ Salario -
    SUA +
    + SUA
    @@ -839,7 +836,7 @@
    - + - + + + diff --git a/RH/CalculoSBC.aspx.cs b/RH/CalculoSBC.aspx.cs index 95bc6b0d9..66359a12a 100644 --- a/RH/CalculoSBC.aspx.cs +++ b/RH/CalculoSBC.aspx.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Data; using System.Linq; +using System.Net.Http.Headers; using System.Text; using System.Web; using System.Web.UI; @@ -237,12 +238,92 @@ public partial class RH_CalculoSBC : ClsPaginas UpCargarm.Update(); RegistraScript("$('#DmodalCargaMasiva').modal();"); } + protected void LnkFormatocMasivaRegistroPatronal_Click(object sender, EventArgs e) + { + try + { + bool continuar = true; + string msgerror = ""; + if (dtsalario == null || dtsalario.Rows.Count == 0) + { + msgerror = "favor de calcular primero"; + continuar = false; + } + if (continuar) + { + + ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook(); + + var libro = wb.AddWorksheet("Salario"); + int column = 1; + libro.Cell(1, column).Value = "Codigo"; + column++; + libro.Cell(1, column).Value = "Empleado"; + column++; + libro.Cell(1, column).Value = "RegistroPatronal"; + //column++; + //libro.Cell(1, column).Value = "SDI"; + libro.Row(1).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White; + libro.Row(1).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189)); + + int Fila = 1; + foreach (DataRow erow in dtsalario.Rows) + { + Fila++; + column = 1; + libro.Cell(Fila, column).Value = string.Format("'{0}", erow["Codigo"]); + column++; + libro.Cell(Fila, column).Value = erow["Nombre"]; + + column++; + libro.Cell(Fila, column).Value = erow["RegistroPatronal"]; + //column++; + //////libro.Cell(Fila, column).Value = erow["SDI"]; + ////column++; + ////libro.Cell(Fila, column).Value = erow["SalarioVariable"]; + } + + libro.Columns().AdjustToContents(); + System.IO.Stream fs = new System.IO.MemoryStream(); + wb.SaveAs(fs); + fs.Position = 0; + System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(); + using (System.IO.Stream input = fs) + + { + input.CopyTo(memoryStream); + } + memoryStream.Position = 0; + + Response.Clear(); + Response.Buffer = true; + + Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; + Response.AddHeader("content-disposition", string.Format("attachment;filename={0}.xlsx", "Plantilla Salario ")); + Response.BinaryWrite(memoryStream.ToArray()); + Response.End(); + } + else + { + Alert(msgerror, TipoMensaje.MsgAdvertencia); + } + } + catch (Exception ex) + { + Alert("Ocurrio un error al generar el Formato de nominas" + ex.ToString(), TipoMensaje.MsgAdvertencia); + } + } protected void LnkFormatocMasiva_Click(object sender, EventArgs e) { try { bool continuar = true; string msgerror = ""; + if (dtsalario == null || dtsalario.Rows.Count == 0) + { + msgerror = "favor de calcular primero"; + continuar = false; + } if (continuar) { @@ -274,8 +355,8 @@ public partial class RH_CalculoSBC : ClsPaginas column++; libro.Cell(Fila, column).Value = erow["SalarioDiario"]; - column++; - libro.Cell(Fila, column).Value = erow["SDI"]; + //column++; + //libro.Cell(Fila, column).Value = erow["SDI"]; column++; libro.Cell(Fila, column).Value = erow["SalarioVariable"]; } @@ -313,24 +394,26 @@ public partial class RH_CalculoSBC : ClsPaginas protected void LnkProcesarArchvo_Click(object sender, EventArgs e) { - DataTable dttempsalario = null; - using (ClsNominas objnom = new ClsNominas()) + if (ddltipoCarga.SelectedValue.ToEntero() == 1) { - if (objnom.GetCalculoSBC(UsuarioActual.CveEmpresa, DdlTipo.SelectedValue.ToEntero(), txtfechacargamasiva.Text, DdlRegistroPatronal.SelectedValue.ToEntero())) - { - dttempsalario = objnom.DTSetResultados.Tables[0]; - } - } - try - { - List Filesgral = TxtArchivoNomina.getfiles().Archivos; - Archivo fileItem = Filesgral.Count > 0 ? Filesgral[0] : null; - DataTable DTEXcel = Extensiones.ModExtensiones.ReadExcelFile(fileItem.FileUrl, true); - StringBuilder str = new StringBuilder(); - bool rollback = false; - using (ClsRH objpersonal = new ClsRH()) + DataTable dttempsalario = null; + using (ClsNominas objnom = new ClsNominas()) { + if (objnom.GetCalculoSBC(UsuarioActual.CveEmpresa, DdlTipo.SelectedValue.ToEntero(), txtfechacargamasiva.Text, DdlRegistroPatronal.SelectedValue.ToEntero())) + { + dttempsalario = objnom.DTSetResultados.Tables[0]; + } + } + try + { + List Filesgral = TxtArchivoNomina.getfiles().Archivos; + Archivo fileItem = Filesgral.Count > 0 ? Filesgral[0] : null; + DataTable DTEXcel = Extensiones.ModExtensiones.ReadExcelFile(fileItem.FileUrl, true); + + StringBuilder str = new StringBuilder(); + bool rollback = false; + using (ClsRH objpersonal = new ClsRH()) using (ClsNominas objNomina = new ClsNominas(objpersonal.IniciaTransacSQL())) { @@ -380,10 +463,50 @@ public partial class RH_CalculoSBC : ClsPaginas } } } - } - catch (Exception) { } + catch (Exception) { } - RegistraScript("$('#ModalDoctos').modal('hide');"); + } + if (ddltipoCarga.SelectedValue.ToEntero() == 2) + { + + List Filesgral = TxtArchivoNomina.getfiles().Archivos; + Archivo fileItem = Filesgral.Count > 0 ? Filesgral[0] : null; + DataTable DTEXcel = Extensiones.ModExtensiones.ReadExcelFile(fileItem.FileUrl, true); + + StringBuilder str = new StringBuilder(); + bool rollback = false; + using (ClsClaseBase objNomina = new ClsClaseBase( )) + using (ClsRH objpersonal = new ClsRH()) + { + + foreach (DataRow row in DTEXcel.FiltraParametros("LEN(Codigo)>0 ").Rows) + { + string Codigo = row["Codigo"].ToString(); + int CvePersonal = -1; // row["CvePersonal"].ToString().ToEntero(); + string RegistroPatronal = row["RegistroPatronal"].ToString() ; + int CveMetodoPago = 0; + if (Codigo != "-1" && objpersonal.GetPersonal(CvePersonal, Codigo, "-1", "-1", "-1", -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, "-1", -1, -1, -1, -1, -1, -1, "-1", "-1", "-1", "-1", UsuarioActual.CveEmpresa) && + objpersonal.DtResultados.Rows.Count == 1) + { + CvePersonal = objpersonal.CvePersonal; + CveMetodoPago = objpersonal.CveMetodoPago; + } + else + { + CvePersonal = 0; + str.AppendLine(string.Format("No se encontro el codigo {0}
    ", Codigo)); + } + if (CvePersonal > 0) + { + objNomina.runQuerystr(string.Format("EXEC PA_RH_PersonalRPUpdate {0},'{1}'", CvePersonal, RegistroPatronal)); + } + } + + + + } + } + RegistraScript("$('#DmodalCargaMasiva').modal('hide');"); } protected void LnkDownArchivosSua_Click(object sender, EventArgs e) {