diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb index 338e50251..bc3ad4f2b 100644 --- a/App_Code/ClsRH.vb +++ b/App_Code/ClsRH.vb @@ -2063,7 +2063,7 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo CveJornada As Integer, IdCtaContPersonal As Integer, CtaContPersonal As String, IdCtaContPrestamos As Integer, CtaContPrestamos As String, CveEmpresa As Integer, CveUsuarioNomina As Integer, Optional CveSubProyectoZona As Integer = Nothing, Optional CveUniforme As Integer = -1, Optional TelefonoExtension As String = "-1", Optional CelularPersonal As String = "-1", Optional TelefonoMarcadoRapido As String = "-1", Optional ContactoAlterno As String = "-1", Optional CveUsuarioModifico As Integer = -1, Optional FechaActivo As Date = MinFecha, Optional FechaReingreso As Date = MinFecha, Optional CveTipodeSalario As Integer = 1, Optional Sindicalizado As Integer = -1, Optional CvePais As Integer = -1, Optional Pensionado As Boolean = False, Optional CveRegistroPatronal As Integer = -1, - Optional CveEmpresaAsignado As Integer = -1) As Boolean + Optional CveEmpresaAsignado As Integer = -1, Optional CveMedioTransporte As Integer = -1) As Boolean Dim Retorno As Boolean = False @@ -2153,6 +2153,7 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo .Add("@CvePais", SqlDbType.Int).Value = CvePais .Add("@CveRegistroPatronal", SqlDbType.Int).Value = CveRegistroPatronal .Add("@CveEmpresaAsignado", SqlDbType.Int).Value = CveEmpresaAsignado + .Add("@CveMedioTransporte", SqlDbType.Int).Value = CveMedioTransporte diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 3dbb9b2f6..536ae9bc7 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -289,6 +289,9 @@ Partial Class PopUpVerFactura If rfc.Length > 0 Then contador = contador + 1 RFCs.AppendLine(String.Format("{0}|{1}", contador, rfc)) + Else + contador = contador + 1 + RFCs.AppendLine(String.Format("{0}|{1}", contador, "...")) End If Next End If diff --git a/Nomina/Nomina.aspx b/Nomina/Nomina.aspx index b378ec86b..9ad4d63de 100644 --- a/Nomina/Nomina.aspx +++ b/Nomina/Nomina.aspx @@ -577,9 +577,9 @@ - - - + + + diff --git a/Nomina/Nomina.aspx.cs b/Nomina/Nomina.aspx.cs index f1b2b9445..1907bd879 100644 --- a/Nomina/Nomina.aspx.cs +++ b/Nomina/Nomina.aspx.cs @@ -1037,11 +1037,21 @@ public partial class Nomina_Nomina2 : ClsPaginas string SubProyecto = e.Row.DataKey("SubProyecto").ToString(); e.Row.FCHyperLink("LnkSobreRecibo").Attributes.Add("onclick", string.Format("GETSobreRecibo({0},{1})", cvePersonal, CvePeriodo)); LnkTimbrar.Visible = false; + LinkButton ImgDelete = (LinkButton)e.Row.FindControl("ImgDelete"); + LinkButton Imgdesautorizar = (LinkButton)e.Row.FindControl("Imgdesautorizar"); + LinkButton LnkCancelar = (LinkButton)e.Row.FindControl("LnkCancelar"); + ImgDelete.Visible = false; + Imgdesautorizar.Visible = false; + LnkCancelar.Visible = false; if (cvePersonal > 0) { + LnkCancelar.Visible = PermisoCancelarEmitido && SeTimbro.ToUpper().Contiene("TRUE", "1"); + LtlNombre.Text = String.Format("{2} {1}", cvePersonal, Nombre, Codigo); if (CveNomina > 0) { + Imgdesautorizar.Visible = NomAutorizado.ToUpper().Contiene("TRUE", "1") && !SeTimbro.ToUpper().Contiene("TRUE", "1"); + ImgDelete.Visible = !NomAutorizado.ToUpper().Contiene("TRUE", "1") && !SeTimbro.ToUpper().Contiene("TRUE", "1"); if (NomAutorizado == "False") { @@ -1207,6 +1217,8 @@ public partial class Nomina_Nomina2 : ClsPaginas LnkTimbrar.Visible = false; gvRow.CssClass = "success"; gvRow.FindControl("ImgDelete").Visible = false; + gvRow.FindControl("Imgdesautorizar").Visible = false; + gvRow.FindControl("LnkCancelar").Visible = true; gvRow.FindControl("HypXml").Visible = true; gvRow.FindControl("HypPDF").Visible = true; @@ -1335,6 +1347,8 @@ public partial class Nomina_Nomina2 : ClsPaginas } Alert("Se ha timbrado correctamente"); gvRow.FindControl("ImgDelete").Visible = false; + gvRow.FindControl("Imgdesautorizar").Visible = false; + gvRow.FindControl("LnkCancelar").Visible = true; gvRow.FindControl("HypXml").Visible = true; gvRow.FindControl("HypPDF").Visible = true; @@ -1563,10 +1577,17 @@ public partial class Nomina_Nomina2 : ClsPaginas continuar = true; } } + string msgerror = "Debe seleccionar los conceptos a cargar."; + 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.Row(1).Hide(); @@ -1693,12 +1714,12 @@ public partial class Nomina_Nomina2 : ClsPaginas } else { - Alert("Debe seleccionar los conceptos a cargar.", TipoMensaje.MsgAdvertencia); + Alert(msgerror, TipoMensaje.MsgAdvertencia); } } catch (Exception ex) { - Alert("Ocurrio un error al generar el Formato de nominas" + ex.ToString()); + Alert("Ocurrio un error al generar el Formato de nominas" + ex.ToString(), TipoMensaje.MsgAdvertencia); } } @@ -6001,9 +6022,9 @@ public partial class Nomina_Nomina2 : ClsPaginas int chkImporte = 1; int chkImporteGravado = 1; int chkImporteValor = 1; - string[] getcolumnas = new string[] { "CvePersonal", "CveMetodoPago", "SumaPercepciones", "Total", "SalarioDiario", "SalarioDiarioIMSS", "SalarioDiarioIntegrado", "DiasLaborados", "DiasFaltados", "DiasVacaciones", "DiasIncapacidad" }; + string[] getcolumnas = new string[] { "CvePersonal", "Nombre", "CveMetodoPago", "SumaPercepciones", "Total", "SalarioDiario", "SalarioDiarioIMSS", "SalarioDiarioIntegrado", "DiasLaborados", "DiasFaltados", "DiasVacaciones", "DiasIncapacidad" }; - DataTable dtr = dtempleados.FiltraParametros(string.Format("(CvePersonal={0} OR {0}=-1) AND CvePersonal > 0 AND NomAutorizado =0 AND SumaPercepciones > 0", FiltroCvePersonal), "", getcolumnas); + DataTable dtr = dtempleados.FiltraParametros(string.Format("(CvePersonal={0} OR {0}=-1) AND CvePersonal > 0 AND NomAutorizado =0 AND SumaPercepciones > 0 AND Total >0", FiltroCvePersonal), "", getcolumnas); DataTable dtconp = null; //int CvePeriodoSeleccionado = DdlPeriodo.SelectedValue.ToEntero();//cambiar reparar @@ -6020,6 +6041,19 @@ public partial class Nomina_Nomina2 : ClsPaginas decimal ImporteConcepto = 0, ImporteGravadoConcepto = 0, ImporteExentoConcepto = 0, ImporteValor = 0; #endregion + string erroralturizar = ""; + + + DataTable dtrFail = dtempleados.FiltraParametros(string.Format("(CvePersonal={0} OR {0}=-1) AND CvePersonal > 0 AND NomAutorizado =0 AND SumaPercepciones > 0 AND Total <=0", FiltroCvePersonal), "", getcolumnas); + StringBuilder strbuilder = new StringBuilder(); + foreach (DataRow itf in dtrFail.Rows) + { + strbuilder.AppendLine(String.Format("
{0} con neto a pagar {1} ", itf["Nombre"], itf["Total"])); + } + if(dtrFail.Rows.Count > 0) + { + erroralturizar = string.Format("
no se autorizaron los siguientes empleados con neto a pagar negativo para evitar inconsistencias{0}", strbuilder.ToString()); + } using (ClsNominas objNomina = new ClsNominas()) { @@ -6126,7 +6160,7 @@ public partial class Nomina_Nomina2 : ClsPaginas } if (continuar) { - Alert("La nomina se autorizó correctamente."); + Alert(string.Format("La nomina se autorizó correctamente.{0}", erroralturizar)); cargaDatos(); } return continuar; diff --git a/vwd.webinfo b/vwd.webinfo index 8f55aaf0a..f70db6dd5 100644 --- a/vwd.webinfo +++ b/vwd.webinfo @@ -516,6 +516,8 @@ + +