From 3f81b5426701e51351732906d078431bc49d3a9c Mon Sep 17 00:00:00 2001 From: JORGE LUIS CAUDILLO ESPARZA Date: Thu, 2 Feb 2023 11:54:00 -0700 Subject: [PATCH] carga masiva salarios --- App_Code/LogicNominas.vb | 2 +- Nomina/ConceptoNomina.aspx.cs | 14 +- Nomina/Nomina.aspx | 87 ++++++++++--- Nomina/Nomina.aspx.cs | 107 +++++++++++++++- RH/CalculoSBC.aspx | 73 +++++++++++ RH/CalculoSBC.aspx.cs | 192 ++++++++++++++++++++++++++-- RH/Personal.aspx | 135 ++++++++++--------- RH/Personal.aspx.vb | 22 +++- Sistemas/PopUpCambiaUsuario.aspx.vb | 8 +- 9 files changed, 542 insertions(+), 98 deletions(-) diff --git a/App_Code/LogicNominas.vb b/App_Code/LogicNominas.vb index 2ba9024bc..adb1dce73 100644 --- a/App_Code/LogicNominas.vb +++ b/App_Code/LogicNominas.vb @@ -471,7 +471,7 @@ Public Class LogicNominas cfdi.Nomina.Receptor.NumeroCuenta = BancoNumCuenta cfdi.Nomina.Receptor.SDI = SDI cfdi.Nomina.Receptor.SBC = SalarioDiarioSS - cfdi.Nomina.Receptor.Sindicalizado = If(Sindicalizado, "Si", "No") + cfdi.Nomina.Receptor.Sindicalizado = If(Sindicalizado, "Sí", "No") cfdi.Nomina.Receptor.CodigoEntidadFederativa = ClaveEstado cfdi.Conceptos.Add(New CFDIConceptos With {.Cantidad = 1, .ClaveUnidad = "ACT", .ClaveProdServ = "84111505", .Descripcion = "Pago de nómina", .ValorUnitario = cfdi.Comprobante.SubTotal, .Importe = cfdi.Comprobante.SubTotal, .Descuento = cfdi.Nomina.TotalDeducciones.ToString().ToDecimal(), .ObjetoImpuesto = "01"}) diff --git a/Nomina/ConceptoNomina.aspx.cs b/Nomina/ConceptoNomina.aspx.cs index 96b183355..7347cb4f8 100644 --- a/Nomina/ConceptoNomina.aspx.cs +++ b/Nomina/ConceptoNomina.aspx.cs @@ -84,14 +84,15 @@ public partial class Nomina_CatConcepto : ClsPaginas StringBuilder strKeys3; public void tree_Tables() { - ClsNominas objnom = new ClsNominas(); strKeys = new StringBuilder(); strKeys2 = new StringBuilder(); strKeys3 = new StringBuilder(); StringBuilder tablaarbol = new StringBuilder(); - objnom.GetNom_Refencias(UsuarioActual.CveEmpresa); - dtrefrencias = objnom.DtResultados; - objnom.Dispose(); + using (ClsNominas objnom = new ClsNominas()) + { + objnom.GetNom_Refencias(UsuarioActual.CveEmpresa); + dtrefrencias = objnom.DtResultados; + } strKeys.Append("{"); int tipo = 1; #region tablas @@ -472,7 +473,7 @@ public partial class Nomina_CatConcepto : ClsPaginas //DdlCtaContable.SelectedValueExist(drow["CveCuenta"]); if (DdlCtaContable.DataValueField == "Id") { - DdlCtaContable.SelectedValueExist( drow["IdCtaContable"]); + DdlCtaContable.SelectedValueExist(drow["IdCtaContable"]); } else { @@ -486,7 +487,8 @@ public partial class Nomina_CatConcepto : ClsPaginas // DdlCtaContable.SelectedValueExist(drow["IdCtaContable"]); //} DdlConceptoSAT.SelectedValueExist(drow["CveSATConcepto"]); - }else + } + else { CveConcepto = 0; diff --git a/Nomina/Nomina.aspx b/Nomina/Nomina.aspx index 6e0449e69..62edb17f8 100644 --- a/Nomina/Nomina.aspx +++ b/Nomina/Nomina.aspx @@ -262,6 +262,9 @@
  • Cargar masiva de conceptos
  • +
  • + Cargar masiva un concepto +
  • Cargar netos
  • @@ -3367,29 +3370,83 @@
    -
    - -
    +
    + +
    - + + - + + +
    Concepto
    - +
    diff --git a/Nomina/Nomina.aspx.cs b/Nomina/Nomina.aspx.cs index e941f6065..60071940b 100644 --- a/Nomina/Nomina.aspx.cs +++ b/Nomina/Nomina.aspx.cs @@ -249,7 +249,7 @@ public partial class Nomina_Nomina2 : ClsPaginas if (!IsPostBack) { - LnkCargaNetos.Visible = (UsuarioActual.CveRol == 1); + LnkCargaNetos.Visible = (UsuarioActual.Empresa.Funcionalidad(267) == "1") ||(UsuarioActual.CveRol == 1); using (ClsRH objrh = new ClsRH()) { if (objrh.TiposTrabajadorGet(-1, UsuarioActual.CveEmpresa)) @@ -2097,6 +2097,111 @@ public partial class Nomina_Nomina2 : ClsPaginas } } + + protected void LnkModalPlantillaNominaUnConc_Click(object sender, EventArgs e) + { + RegistraScript("$('#DModalNominasUnConcepto').modal();"); + + using (ClsNominas ObjNomina = new ClsNominas()) + { + if (ObjNomina.GetConceptos(UsuarioActual.CveEmpresa)) + { + DdlUnConcepto.DataSource = ObjNomina.DtResultados.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}"); + DdlUnConcepto.DataBind(); + } + } + + UpCargarNominaUnConcepto.Update(); + } + protected void LnkFormatoUnConcepto_Click(object sender, EventArgs e) + { + try + { + StringBuilder str = new StringBuilder("0"); + bool continuar = true; + str.AppendFormat(",{0}", DdlUnConcepto.SelectedValue.ToEntero()); + string msgerror = ""; + if (dtConceptos == null || dtConceptos.Columns.Count <= 2) + { + msgerror = "Debe cargar el periodo antes de descargar la plantilla"; + continuar = false; + } + if (continuar) + { + + ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook(); + + var libro = wb.AddWorksheet("Nomina"); + 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)); + foreach (DataRow row in dtcP.Rows) + { + column++; + libro.Cell(1, column).Value = string.Format("{0} - {1} - Valor", row["Codigo"], row["Concepto"]); + column++; + libro.Cell(1, column).Value = string.Format("{0} - {1} - Importe", row["Codigo"], row["Concepto"]); + column++; + libro.Cell(1, column).Value = string.Format("{0} - {1} - ImporteGravado", row["Codigo"], row["Concepto"]); + } + + 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 dtempleados.FiltraParametros("CvePersonal>0 AND NomAutorizado=0").Rows) + { + Fila++; + column = 1; + libro.Cell(Fila, column).Value = string.Format("'{0}", erow["Codigo"]); + column++; + libro.Cell(Fila, column).Value = erow["Nombre"]; + foreach (DataRow row in dtcP.Rows) + { + column++; + string Concepto = string.Format("VAL_{0}", row["CveConcepto"]); + libro.Cell(Fila, column).Value = erow[Concepto]; + column++; + Concepto = string.Format("V_{0}", row["CveConcepto"]); + libro.Cell(Fila, column).Value = erow[Concepto]; + column++; + Concepto = string.Format("VG_{0}", row["CveConcepto"]); + libro.Cell(Fila, column).Value = erow[Concepto]; + } + } + 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 conceptos nómina ")); + 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 LnkCargarNomina_Click(object sender, EventArgs e) { diff --git a/RH/CalculoSBC.aspx b/RH/CalculoSBC.aspx index d281a1262..63b3a9af1 100644 --- a/RH/CalculoSBC.aspx +++ b/RH/CalculoSBC.aspx @@ -28,6 +28,12 @@
  • Descargar
  • +
  • + Formato carga masiva +
  • +
  • + Carga masiva +
  • Guardar
  • @@ -40,6 +46,7 @@ + <%-- --%> @@ -832,6 +839,72 @@
    + + + + +