This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2024-12-10 08:08:00 -07:00
parent 30e1550b63
commit 5a93e86aeb
5 changed files with 335 additions and 81 deletions

View File

@@ -611,6 +611,29 @@ Public Class ClsNominas
End Try
Return retorno
End Function
Public Function GuardarAguinaldo(CveEmpresa As Integer, CveUsuario As Integer, registros As String, EJercicio As Integer) As Boolean
Dim retorno As Boolean = False
Try
DataAdapter("PA_Nom_GuardarAguinaldo", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveUsuario", SqlDbType.Decimal).Value = CveUsuario
.Add("@registros", SqlDbType.Xml).Value = registros
.Add("@EJercicio", SqlDbType.Xml).Value = EJercicio
End With
SqlAdapter.Fill(Data)
retorno = True
Catch sqEx As SqlException
retorno = False
OnError("Ocurrió un error al guardar Aguinaldo.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
retorno = False
OnError("Ocurrió un error al guardar Aguinaldo.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function RegistraProvision(CvePeriodo As Int32, CveUsuario As Int32, CveEmpresa As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Nom_RegistraProvision", CommandType.StoredProcedure)

View File

@@ -1,4 +1,5 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Aguinaldo.aspx.cs" Inherits="Nomina_Aguinaldo" %>
<%@ Import Namespace="Extensiones" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
@@ -8,10 +9,12 @@
.dSala {
width: 90px;
}
.dSalaz input {
width: 50px;
text-align: right;
}
.dlab {
width: 50px;
}
@@ -38,6 +41,21 @@
<li>
<asp:LinkButton ID="LnkDownExcel" OnClick="LnkDownExcel_Click" runat="server"><i class="fa fa-download"></i> Descargar excel</asp:LinkButton>
</li>
<asp:UpdatePanel runat="server" ID="Upacciones" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkAutorizarModal" OnClick="LnkAutorizarModal_Click" Visible="false" runat="server"><i class="fa fa-check" ></i> Autorizar</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkCargarExcel" OnClick="LnkCargarExcel_Click" Visible="false" runat="server"><i class="fa fa-upload" ></i> Cargar Excel</asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
</asp:Content>
@@ -71,7 +89,8 @@
</div>
<div class="col-md-3">
<asp:Button ID="BtnCalcular" runat="server" Text="Calcular" OnClick="BtnCalcular_Click" class="btn btn-primary" />
<asp:Button ID="LnkAutorizarModal" runat="server" Text="Autorizar" OnClick="LnkAutorizarModal_Click" Visible="false" class="btn btn-primary" />
<asp:Button ID="BtnGuardar" Visible ="false" runat="server" Text="Aplicar Cambios" OnClick="BtnGuardar_Click" class="btn btn-success" />
<asp:Button ID="BtnLimpiar" Visible ="false" runat="server" Text="Limpiar" OnClick="BtnLimpiar_Click" class="btn btn-danger" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" />
</div>
</div>
</div>
@@ -138,8 +157,8 @@
</div>
<br />
<div style="text-align: right">
<asp:Button ID="BtnRecalcular" CssClass="btn btn-primary" OnClick="BtnRecalcular_Click" runat="server" Text="Recalcular" />
<asp:TextBox ID="TxtBusqueda" runat="server" CssClass="form-control input-sm" style="display: inline-block; margin-right: -20px; width: 150px;"></asp:TextBox>
<%--<asp:Button ID="BtnRecalcular" CssClass="btn btn-primary" OnClick="BtnRecalcular_Click" runat="server" Text="Recalcular" />--%>
<asp:TextBox ID="TxtBusqueda" runat="server" CssClass="form-control input-sm" Style="display: inline-block; margin-right: -20px; width: 150px;"></asp:TextBox>
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('{1}','{0}')", GVCalcularAguinaldo.ClientID,TxtBusqueda.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
@@ -148,13 +167,14 @@
<Columns>
<asp:TemplateField HeaderText="Nombre ">
<ItemTemplate>
<asp:HyperLink ID="HypnombreCompleto" Visible='<%# Eval("CvePersonal").ToString().ToEntero() > 0%>' runat="server" Text='<%# Eval("Nombre")%>' NavigateUrl='<%# Eval("CvePersonal","/RH/Personal.aspx?CvePersonal={0}")%>'> </asp:HyperLink>
<asp:Label ID="lblnombreCompleto" Visible='<%# (Eval("CvePersonal").ToString().ToEntero() <= 0)%>' runat="server" Text='<%# Eval("Nombre")%>'> </asp:Label>
<asp:HyperLink ID="HypnombreCompleto" Visible='<%# Eval("CvePersonal").ToString().ToEntero() > 0%>' runat="server" Text='<%# Eval("Nombre")%>' NavigateUrl='<%# Eval("CvePersonal","/RH/Personal.aspx?CvePersonal={0}")%>'> </asp:HyperLink>
<asp:Label ID="lblnombreCompleto" Visible='<%# (Eval("CvePersonal").ToString().ToEntero() <= 0)%>' runat="server" Text='<%# Eval("Nombre")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<asp:TemplateField>
<HeaderTemplate>
Fecha<br />ingreso
Fecha<br />
ingreso
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblfechaingreso" runat="server" Text='<%# Eval("FechaInicio", "{0:dd/MM/yyyy}")%>'> </asp:Label>
@@ -163,7 +183,8 @@
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Salario<br />diario
Salario<br />
diario
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblsueldoDiario" runat="server" Text='<%# Eval("SalarioDiario", "${0:N2}")%>'> </asp:Label>
@@ -173,7 +194,8 @@
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Salario<br />Aguinaldo
Salario<br />
Aguinaldo
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblSalarioAguinaldo" runat="server" Text='<%# Eval("SalarioAguinaldo", "${0:N2}")%>'> </asp:Label>
@@ -181,27 +203,33 @@
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" CssClass="dSala" />
</asp:TemplateField>
<asp:TemplateField >
<asp:TemplateField>
<HeaderTemplate>
Días <br />laborados
Días
<br />
laborados
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="TxtdiasLaborados" runat="server" Text='<%# Eval("DiasLaborados", "{0:N0}")%>'> </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" CssClass="dlab" />
</asp:TemplateField>
<asp:TemplateField >
<asp:TemplateField>
<HeaderTemplate>
Días <br />Faltados
Días
<br />
Faltados
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="TxtdiasFaltados" runat="server" Text='<%# Eval("DiasFaltados", "{0:N0}")%>'> </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" CssClass="dlab" />
</asp:TemplateField>
<asp:TemplateField >
<asp:TemplateField>
<HeaderTemplate>
Días <br />Incapacidad
Días
<br />
Incapacidad
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="TxtdiasIncapacidad" runat="server" Text='<%# Eval("DiasIncapacidad", "{0:N0}")%>'> </asp:Label>
@@ -210,16 +238,20 @@
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Días <br />base
Días
<br />
base
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="TxtdiasAguinaldo" runat="server" Text='<%# Eval("NumDiasAguinaldo")%>'> </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" CssClass="dlab" />
</asp:TemplateField>
<asp:TemplateField >
<asp:TemplateField>
<HeaderTemplate>
Días <br /> pago
Días
<br />
pago
</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtdiasAguinaldoprop" runat="server" Text='<%# Eval("diasPropAgui", "{0:N2}")%>'> </asp:TextBox>
@@ -227,9 +259,9 @@
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" CssClass="dSalaz" />
</asp:TemplateField>
<asp:TemplateField >
<asp:TemplateField>
<HeaderTemplate>
Aguinaldo
Aguinaldo
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblsueldoAguinaldoz" runat="server" Text='<%# Eval("Aguinaldo", "${0:N2}")%>'> </asp:Label>
@@ -239,75 +271,79 @@
<asp:TemplateField HeaderText="Ajuste($)">
<ItemTemplate>
<asp:TextBox ID="TxtAjuste" runat="server" Text='<%# Eval("Ajuste", "{0:N2}")%>'> </asp:TextBox>
<asp:Label ID="lblAjuste" runat="server" > </asp:Label>
<asp:Label ID="lblAjuste" runat="server"> </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" CssClass="dSala" />
</asp:TemplateField>
<asp:TemplateField >
<asp:TemplateField>
<HeaderTemplate>
Aguinaldo <br /> Por Pagar
Aguinaldo
<br />
Por Pagar
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblsueldoAguinaldo" runat="server" Text='<%# Eval("Aguinaldo", "${0:N2}")%>'> </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<%-- <asp:TemplateField HeaderText="Aguinaldo exento">
<%-- <asp:TemplateField HeaderText="Aguinaldo exento">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("AguinaldoExento", "${0:N2}")%>'> </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" CssClass="dSala" />
</asp:TemplateField>--%>
<asp:TemplateField >
<asp:TemplateField>
<HeaderTemplate>
Aguinaldo <br /> gravado
Aguinaldo
<br />
gravado
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblAguinaldoGravado" runat="server" Text='<%# Eval("AguinaldoGravado", "${0:N2}")%>'> </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Fraccion I">
<ItemTemplate>
<asp:Label ID="lblFraccion1" runat="server" > </asp:Label>
<asp:Label ID="lblFraccion1" runat="server"> </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Fraccion II">
<ItemTemplate>
<asp:Label ID="lblFraccion2" runat="server" > </asp:Label>
<asp:Label ID="lblFraccion2" runat="server"> </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Fraccion III">
<ItemTemplate>
<asp:Label ID="lblFraccion3" runat="server" > </asp:Label>
<asp:Label ID="lblFraccion3" runat="server"> </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Fraccion IV">
<ItemTemplate>
<asp:Label ID="lblFraccion4" runat="server" > </asp:Label>
<asp:Label ID="lblFraccion4" runat="server"> </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Total Gravado" >
<asp:TemplateField HeaderText="Total Gravado">
<ItemTemplate>
<asp:Label ID="lbltotalgravado" runat="server" > </asp:Label>
<asp:Label ID="lbltotalgravado" runat="server"> </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField HeaderText="I.S.R. Total">
<ItemTemplate>
<asp:Label ID="lblISRTotal" runat="server" > </asp:Label>
<asp:Label ID="lblISRTotal" runat="server"> </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField HeaderText="I.S.R. Mensual">
<ItemTemplate>
<asp:Label ID="lblISRMensual" runat="server" > </asp:Label>
<asp:Label ID="lblISRMensual" runat="server"> </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
@@ -321,7 +357,7 @@
<asp:TemplateField HeaderText="Descuento">
<ItemTemplate>
<asp:TextBox ID="TxtDescuento" runat="server" Text=''> </asp:TextBox>
<asp:Label ID="lblDescuento" runat="server" > </asp:Label>
<asp:Label ID="lblDescuento" runat="server"> </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" CssClass="dSala" />
</asp:TemplateField>
@@ -356,7 +392,6 @@
</ContentTemplate>
</asp:UpdatePanel>
<div id="ModalAutorizar" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModalAutorizar" UpdateMode="Conditional">
@@ -397,6 +432,30 @@
</asp:UpdatePanel>
</div>
<div id="Modalxls" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpdatePanel1" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header ">
<h4 class="modal-title">Cargar Excel</h4>
</div>
<div class="modal-body">
<asp:TextBox ID="TxtFileaguinaldo" CssClass="ADSdropzone hidden" data-maxFile="1" Text="" runat="server"></asp:TextBox>
</div>
<div class="modal-footer">
<asp:LinkButton ID="LnkProcesarXls" OnClick="LnkProcesarXls_Click" CssClass="btn btn-primary" runat="server">Procesar</asp:LinkButton>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script>
@@ -404,13 +463,13 @@
FiltrarTabla('<%= TxtBusqueda.ClientID %>', '<%= GVCalcularAguinaldo.ClientID %>');
}
function ADSReady() {
// onkeyup = String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVCalcularAguinaldo.ClientID)'
// onkeyup = String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVCalcularAguinaldo.ClientID)'
setTimeout(filtraaguinaldo, 250);
$('#<%= TxtBusqueda.ClientID %> ').keyup(function () {
filtraaguinaldo();
});
$('#<%= TxtBusqueda.ClientID %> ').bind("copy paste cut ", function () {
filtraaguinaldo();
$('#<%= TxtBusqueda.ClientID %> ').bind("copy paste cut ", function () {
filtraaguinaldo();
});
}
</script>

View File

@@ -8,7 +8,9 @@ using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Linq;
using Extensiones;
using static Stimulsoft.Report.StiOptions.Export;
public partial class Nomina_Aguinaldo : ClsPaginas
{
@@ -28,14 +30,25 @@ public partial class Nomina_Aguinaldo : ClsPaginas
{
get
{
return ViewState["tipocalculo"].ToString().ToEntero();
return ViewState["tipocalculo"].ToString().ToEntero();
}
set
{
ViewState["tipocalculo"] = value;
}
}
private int ejercicioActual
{
get
{
return ViewState["ejercicioActual"].ToString().ToEntero();
}
set
{
ViewState["ejercicioActual"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
@@ -66,7 +79,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
LtlUma.Text = "";
int cveempresa = 1;
if (UsuarioActual != null) { cveempresa = UsuarioActual.CveEmpresa; }
using (ClsNominas onom = new ClsNominas())
{
if (onom.UMAFechaGet(cveempresa, $"{NowADS():yyyy/MM/dd}") && onom.DtResultados.Rows.Count > 0)
@@ -84,6 +97,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
int ejercicio = DdlEjercicios.SelectedValue.ToEntero();
int CveTipoPeriodo = DdlTipoPeriodo.SelectedValue.ToEntero();
int CvePeriodo = -1;
ejercicioActual = ejercicio;
using (ClsNominas objnom = new ClsNominas())
{
@@ -98,8 +112,12 @@ public partial class Nomina_Aguinaldo : ClsPaginas
GVCalcularAguinaldo.DataBind();
LnkAutorizarModal.Visible = true;
BtnGuardar.Visible = true;
BtnLimpiar.Visible = true;
LnkCargarExcel.Visible = true;
BtnRecalcular_Click(sender, null);
upDatosPA_N.Update();
Upacciones.Update();
}
private void CargaPeriodos()
{
@@ -266,7 +284,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
if (CveNomina > 0)
{
if (continuar && !objNomina.AddUPNom_NominasDetalles(objNomina.CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, Importe, ImporteGravado, ImporteExento, ImporteValor, UsuarioActual.CveUsuario, false, 1, 1, 1,false))
if (continuar && !objNomina.AddUPNom_NominasDetalles(objNomina.CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, Importe, ImporteGravado, ImporteExento, ImporteValor, UsuarioActual.CveUsuario, false, 1, 1, 1, false))
{
continuar = false;
}
@@ -337,6 +355,8 @@ public partial class Nomina_Aguinaldo : ClsPaginas
{
int CveNomina = e.Row.DBCampo("CveNomina").ToString().ToEntero();
int CvePersonal = e.Row.DBCampo("CvePersonal").ToString().ToEntero();
e.Row.FCTextBox("TxtAjuste").Text = e.Row.DBCampo("Ajuste").ToString();
e.Row.FCTextBox("TxtDescuento").Text = e.Row.DBCampo("descuento").ToString();
if (CveNomina > 0)
{
e.Row.CssClass = "success";
@@ -361,7 +381,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
protected void BtnRecalcular_Click(object sender, EventArgs e)
{
tipocalculo = ddltipoCalculo.SelectedValue.ToEntero();
GVCalcularAguinaldo.Columns[13].Visible = (tipocalculo ==1 || tipocalculo == 3);
GVCalcularAguinaldo.Columns[13].Visible = (tipocalculo == 1 || tipocalculo == 3);
GVCalcularAguinaldo.Columns[14].Visible = (tipocalculo == 1 || tipocalculo == 3);
GVCalcularAguinaldo.Columns[15].Visible = (tipocalculo == 1 || tipocalculo == 3);
GVCalcularAguinaldo.Columns[16].Visible = (tipocalculo == 1 || tipocalculo == 3);
@@ -392,7 +412,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
decimal Aguinaldoapagar = 0;
decimal descuento = 0;
decimal ajuste =0;
decimal ajuste = 0;
decimal aguinaldoSubproyeto = 0;
decimal aguinaldogravadoSubproyeto = 0;
@@ -409,9 +429,9 @@ public partial class Nomina_Aguinaldo : ClsPaginas
decimal ISRTOTAL = 0;
decimal AguinaldoapagarTotal = 0;
decimal totalgravado= 0;
decimal totalgravado = 0;
decimal isrtotalgravado = 0;
decimal isrmensual= 0;
decimal isrmensual = 0;
decimal lisr = 0;
GridViewRow gvrowTotal = null;
@@ -442,7 +462,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
diasaguipago = gvrow.FCTextBox("TxtdiasAguinaldoprop").Text.ToDecimal();// (diaslaborados / diasanio) * diasaguinaldo;
salariomensual = salariodiario * 30;
aguinaldo = (diasaguipago * salarioAguinaldo)+ ajuste;
aguinaldo = (diasaguipago * salarioAguinaldo) + ajuste;
/*if (gvrow.FCTextBox("TxtAguinaldoExento").Text.Length > 0)
{
aguinaldoexcento = (aguinaldoExcentoreg > aguinaldo ? aguinaldo : aguinaldoExcentoreg);
@@ -456,7 +476,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
if (aguinaldogravado > 0)
{
totalgravado = aguinaldogravado + salariomensual;
totalgravado = aguinaldogravado + salariomensual;
if (objbase.CalculosISRAguinaldo(totalgravado, salariomensual, diasmes, DdlEjercicios.SelectedValue.ToEntero()))
{
DataRow drow = objbase.DtResultados.Rows[0];
@@ -464,11 +484,11 @@ public partial class Nomina_Aguinaldo : ClsPaginas
isrmensual = drow["isrFraccionIII_1"].ToString().ToDecimal();
}
else { break; }
lisr = isrtotalgravado- isrmensual;
lisr = isrtotalgravado - isrmensual;
@@ -478,7 +498,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
//str.AppendFormat("SELECT dbo.Fnc_NomValues(40, 0, {2}, -1, {0}, {1}, {1}) isrFraccionII_2,", FraccionII_1, diasmes, DdlEjercicios.SelectedValue);
//str.AppendFormat(" dbo.Fnc_NomValues(40, 0, {2}, -1, {0}, {1}, {1}) isrFraccionIII_1", salariomensual, diasmes, DdlEjercicios.SelectedValue);
//if (objbase.runQuerystr(str.ToString()))
if(objbase.CalculosISRAguinaldo(FraccionII_1, salariomensual, diasmes, DdlEjercicios.SelectedValue.ToEntero()))
if (objbase.CalculosISRAguinaldo(FraccionII_1, salariomensual, diasmes, DdlEjercicios.SelectedValue.ToEntero()))
{
DataRow drow = objbase.DtResultados.Rows[0];
FraccionII_2 = drow["isrFraccionII_2"].ToString().ToDecimal();
@@ -494,9 +514,9 @@ public partial class Nomina_Aguinaldo : ClsPaginas
else
{
totalgravado = 0;
isrtotalgravado = 0;
isrmensual = 0;
totalgravado = 0;
isrtotalgravado = 0;
isrmensual = 0;
lisr = 0;
@@ -516,7 +536,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
{
FraccionIV = lisr;
}
if (tipocalculo == 3 && FraccionIV > lisr)
if (tipocalculo == 3 && FraccionIV > lisr)
{
FraccionIV = lisr;
}
@@ -633,7 +653,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
libro.Cell(fila, cxc++).Value = "Días base";
libro.Cell(fila, cxc++).Value = "Días aguinaldo";
libro.Cell(fila, cxc++).Value = "Ajuste";//TxtAjuste
libro.Cell(fila, cxc++).Value = "Aguinaldo completo";
libro.Cell(fila, cxc++).Value = "Aguinaldo completo";
libro.Cell(fila, cxc++).Value = "Aguinaldo gravado";
libro.Cell(fila, cxc++).Value = "Aguinaldo exento";
libro.Cell(fila, cxc++).Value = "Fraccion I"; //lblFraccion1
@@ -641,7 +661,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
libro.Cell(fila, cxc++).Value = "Fraccion III"; //lblFraccion3
libro.Cell(fila, cxc++).Value = "Fraccion IV"; //lblFraccion4
libro.Cell(fila, cxc++).Value = "I.S.R.";
libro.Cell(fila, cxc++).Value = "Descuento"; //TxtDescuento
libro.Cell(fila, cxc++).Value = "Descuento"; //TxtDescuento
libro.Cell(fila, cxc++).Value = "Aguinaldo por pagar";
libro.Range(fila, 1, fila, 20).Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
@@ -666,7 +686,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
}
cxc = 1;
libro.Cell(fila, cxc++).Value = string.Format("'{0}",gvrow.DataKey("Codigo"));
libro.Cell(fila, cxc++).Value = string.Format("'{0}", gvrow.DataKey("Codigo"));
libro.Cell(fila, cxc++).Value = gvrow.FCLabel("lblnombreCompleto").Text;
libro.Cell(fila, cxc++).Value = gvrow.FCLabel("lblfechaingreso").Text;
libro.Cell(fila, cxc++).Value = gvrow.FCTextBox("TxtsueldoDiario").Text.ToDecimal();
@@ -677,7 +697,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
libro.Cell(fila, cxc++).Value = gvrow.FCLabel("TxtdiasAguinaldo").Text.ToDecimal();
libro.Cell(fila, cxc++).Value = gvrow.FCTextBox("TxtdiasAguinaldoprop").Text.ToDecimal();
libro.Cell(fila, cxc++).Value = gvrow.FCTextBox("TxtAjuste").Text.ToDecimal();
libro.Cell(fila, cxc++).Value = gvrow.FCLabel("lblsueldoAguinaldo").Text.ToDecimal();
libro.Cell(fila, cxc++).Value = gvrow.FCLabel("lblAguinaldoGravado").Text.ToDecimal();
libro.Cell(fila, cxc++).Value = gvrow.FCLabel("lblsueldoAguinaldo").Text.ToDecimal() - gvrow.FCLabel("lblAguinaldoGravado").Text.ToDecimal();
@@ -695,7 +715,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
libro.Range(filatitulo, 1, fila, 18).Columns();
libro.Range(filatitulo + 1, 4, fila + 1, 20).DataType = ClosedXML.Excel.XLDataType.Number;
libro.Range(filatitulo + 1, 4, fila + 1,5).Style.NumberFormat.Format = "$###,###,###,##0.00";
libro.Range(filatitulo + 1, 4, fila + 1, 5).Style.NumberFormat.Format = "$###,###,###,##0.00";
libro.Range(filatitulo + 1, 11, fila + 1, 20).Style.NumberFormat.Format = "$###,###,###,##0.00";
libro.ColumnsUsed().AdjustToContents();
@@ -718,4 +738,125 @@ public partial class Nomina_Aguinaldo : ClsPaginas
Response.BinaryWrite(memoryStream.ToArray());
Response.End();
}
protected void BtnGuardar_Click(object sender, EventArgs e)
{
System.Xml.Linq.XDocument xmlregistros = null;
xmlregistros = new System.Xml.Linq.XDocument(
new System.Xml.Linq.XElement("registros",
GVCalcularAguinaldo.Rows.Cast<GridViewRow>().Where(row =>
{
// Obtener el valor de CvePersonal (por DataKeys o celda)
if (int.TryParse(GVCalcularAguinaldo.DataKeys[row.RowIndex]["CvePersonal"]?.ToString(), out var cvePersonal))
{
return cvePersonal > 0;
}
return false;
})
.Select(row =>
{
// Obtener valores directamente desde las celdas o controles
var TxtdiasAguinaldoprop = ((TextBox)row.FindControl("TxtdiasAguinaldoprop"))?.Text;
var txtAjuste = ((TextBox)row.FindControl("TxtAjuste"))?.Text;
var txtDescuento = ((TextBox)row.FindControl("TxtDescuento"))?.Text;
return new XElement("registro",
new XElement("EJercicio", ejercicioActual),
new XElement("CveSubProyecto", GVCalcularAguinaldo.DataKeys[row.RowIndex]["CveSubProyecto"]),
new XElement("CvePersonal", GVCalcularAguinaldo.DataKeys[row.RowIndex]["CvePersonal"]),
new XElement("diasAguinaldo", decimal.TryParse(TxtdiasAguinaldoprop, out var diasPropAgui) ? diasPropAgui : 0),
new XElement("Ajuste", decimal.TryParse(txtAjuste, out var ajuste) ? ajuste : 0),
new XElement("descuento", decimal.TryParse(txtDescuento, out var descuento) ? descuento : 0)
);
}
)));
string xml = xmlregistros.ToString();
using (ClsNominas objnom = new ClsNominas())
{
objnom.GuardarAguinaldo(UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, xml, ejercicioActual);
}
BtnCalcular_Click(null, null);
}
protected void BtnLimpiar_Click(object sender, EventArgs e)
{
string xml = "<registros></registros>";
using (ClsNominas objnom = new ClsNominas())
{
objnom.GuardarAguinaldo(UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, xml, ejercicioActual);
}
BtnCalcular_Click(null, null);
}
protected void LnkCargarExcel_Click(object sender, EventArgs e)
{
RegistraScript("$('#Modalxls').modal();");
}
protected void LnkProcesarXls_Click(object sender, EventArgs e)
{
List<Archivo> Filesgral = TxtFileaguinaldo.getfiles().Archivos;
bool continuar = Filesgral.Count > 0;
string stringError = "";
Archivo fileItem = continuar ? Filesgral[0] : null;
if (continuar)
{
string FileExtension = fileItem.Extension.ToUpper();
if (FileExtension == "XLS" | FileExtension == "XLSX" | FileExtension == "CSV")
{
}
else
{
continuar = false;
stringError = "No se inserto un archivo de tipo Excel";
}
}
else
{
stringError = "favor de ingresar el archivo y esperar a que cargue";
}
DataTable dtxz = Extensiones.ModExtensiones.ReadExcelFile(fileItem.FileUrl, true);
// Filtrar filas con longitud de "Concepto" > 0
DataRow[] filteredRows = dtxz.Select("LEN(Código) > 0");
// Crear nuevo DataTable con las filas filtradas
DataTable filteredTable = dtxz.Clone(); // Clona la estructura del DataTable original
foreach (DataRow row in filteredRows)
{
filteredTable.ImportRow(row);
}
foreach (GridViewRow gvrow in GVCalcularAguinaldo.Rows)
{
string Codigo = gvrow.DataKey("Codigo");
string TxtdiasAguinaldoprop = "";
string TxtAjuste = "";
string TxtDescuento = "";
DataRow drow = filteredTable.FiltroPrimero(string.Format(" Código='{0}'", Codigo));
if (drow != null)
{
TxtdiasAguinaldoprop = drow["Días aguinaldo"].ToString();
TxtAjuste = drow["Ajuste"].ToString();
TxtDescuento = drow["Descuento"].ToString();
((TextBox)gvrow.FindControl("TxtdiasAguinaldoprop")).Text = TxtdiasAguinaldoprop;
((TextBox)gvrow.FindControl("TxtAjuste")).Text = TxtAjuste;
((TextBox)gvrow.FindControl("TxtDescuento")).Text = TxtDescuento;
}
}
BtnRecalcular_Click(sender, null);
RegistraScript("$('#Modalxls').modal('hide');");
upDatosPA_N.Update();
}
}

View File

@@ -7,10 +7,11 @@
.GVCalculoISRAnual tr td:nth-child(n+6) {
text-align: right;
}
.GVCalculoISRAnual tr td:nth-child(5) {
white-space: nowrap;
}
.GVCalculoISRAnual tr td:nth-child(6) {
white-space: nowrap;
}
@@ -36,7 +37,7 @@
<li>
<asp:LinkButton ID="LnkdownExcel" OnClick="LnkdownExcel_Click" runat="server"><i class="fa fa-download" aria-hidden="true"></i>Descargar XLS</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkFormatoCargaAnual" OnClick="LnkFormatoCargaAnual_Click" runat="server"><i class="fa fa-download" aria-hidden="true"></i> Constancia 37</asp:LinkButton>
</li>
@@ -134,25 +135,31 @@
<asp:Label ID="lblfechaInicio" runat="server" Text='<%# string.Format("{0} - {1:dd/MM/yyyy}",Eval("TipoIngreso"), Eval("FechaInicio"))%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<asp:TemplateField>
<HeaderTemplate>
<span data-toggle="tooltip" data-html="true" title="Suma de percepciones <br/>capturadas en los distintos <br/>periodos del año">Ingresos <br/>totales</span>
<span data-toggle="tooltip" data-html="true" title="Suma de percepciones <br/>capturadas en los distintos <br/>periodos del año">Ingresos
<br />
totales</span>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblingresosTotales" runat="server" Text='<%# Eval("IngresosTotales","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<asp:TemplateField>
<HeaderTemplate>
<span data-toggle="tooltip" data-html="true" title="">Base <br/>gravada</span>
<span data-toggle="tooltip" data-html="true" title="">Base
<br />
gravada</span>
</HeaderTemplate>
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("BaseGravada","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<asp:TemplateField>
<HeaderTemplate>
<span data-toggle="tooltip" data-html="true" title="">Base <br/>exenta</span>
<span data-toggle="tooltip" data-html="true" title="">Base
<br />
exenta</span>
</HeaderTemplate>
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("BaseExcenta","{0:N2}")%>'> </asp:Label>
@@ -160,7 +167,9 @@
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<HeaderTemplate>
<span data-toggle="tooltip" data-html="true" title="Suma del isr capturado <br/>en los distintos <br/>periodos del año">ISR <br/>retenido</span>
<span data-toggle="tooltip" data-html="true" title="Suma del isr capturado <br/>en los distintos <br/>periodos del año">ISR
<br />
retenido</span>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lbliSRRetenido" runat="server" Text='<%# Eval("ISRRetenido","{0:N2}")%>'> </asp:Label>
@@ -174,9 +183,10 @@
<asp:Label ID="lblart152" runat="server" Text='<%# Eval("Art152","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<asp:TemplateField>
<HeaderTemplate>
<span data-toggle="tooltip" data-html="true" title=" suma de importes <br/>durante el ejercicio <br/>(subsidio acreditalbe -<br/> ajuste al subsidio causado)">Subs.<br />correspondiente</span>
<span data-toggle="tooltip" data-html="true" title=" suma de importes <br/>durante el ejercicio <br/>(subsidio acreditalbe -<br/> ajuste al subsidio causado)">Subs.<br />
correspondiente</span>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblsubsCorrespondiente" runat="server" Text='<%# Eval("SubsCorrespondiente","{0:N2}")%>'> </asp:Label>
@@ -184,7 +194,8 @@
</asp:TemplateField>
<asp:TemplateField HeaderText="Impuesto anual">
<HeaderTemplate>
<span data-toggle="tooltip" data-html="true" title="">Impuesto<br />anual</span>
<span data-toggle="tooltip" data-html="true" title="">Impuesto<br />
anual</span>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblimpuestoAnual" runat="server" Text='<%# Eval("ImpuestoAnual","{0:N2}")%>'> </asp:Label>
@@ -251,18 +262,33 @@
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" Text="Modalidad:" AssociatedControlID=""></asp:Label>
<asp:DropDownList ID="ddldivision" runat="server" DataTextField="CodigoConcepto" DataValueField="CveConcepto" Class="form-control input-sm select2me" Width="100%" ValidationGroup="GrpGuardar" AutoPostBack="true" OnSelectedIndexChanged="ddldivision_SelectedIndexChanged">
<asp:ListItem Value="1" Text="diferir cargos a futuros periodos" Selected="True"></asp:ListItem>
<asp:ListItem Value="2" Text="aplicar en periodo de diciembre"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="col-md-6" style =" padding-top: 25px;">
<div runat="server" ID="divnumeropagos" class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtNumerodePagos" Text="1" type="number" min="1" CssClass="form-control" runat="server"></asp:TextBox>
<asp:Label runat="server" Text="Dividir en pagos:" AssociatedControlID="TxtNumerodePagos"></asp:Label>
</div>
</div>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" Text="Concepto a cargo:" AssociatedControlID=""></asp:Label>
<asp:DropDownList ID="DdlConceptoCargo" runat="server" DataTextField="CodigoConcepto" DataValueField="CveConcepto" Class="form-control input-sm select2me" Width="100%" ValidationGroup="GrpGuardar"></asp:DropDownList>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtNumerodePagos" Text="1" type="number" min="1" CssClass="form-control" runat="server"></asp:TextBox>
<asp:Label runat="server" Text="Dividir en pagos:" AssociatedControlID="TxtNumerodePagos"></asp:Label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" Text="Concepto a compensar:" AssociatedControlID=""></asp:Label>
<asp:DropDownList ID="DdlConceptoCompensar" runat="server" DataTextField="CodigoConcepto" DataValueField="CveConcepto" Class="form-control input-sm select2me" Width="100%" ValidationGroup="GrpGuardar"></asp:DropDownList>
</div>
<%--<asp:CheckBox ID="chk" Text=" Calcular en último periodo de diciembre " Checked="false" runat="server" />--%>
</div>
<div class="modal-footer">

View File

@@ -345,4 +345,9 @@ public partial class Nomina_CalculoISRAnual : ClsPaginas
Response.End();
}
protected void ddldivision_SelectedIndexChanged(object sender, EventArgs e)
{
divnumeropagos.Visible=(ddldivision.SelectedValue == "1");
}
}