This commit is contained in:
2024-12-27 22:15:45 -07:00
6 changed files with 340 additions and 85 deletions

View File

@@ -342,10 +342,11 @@ Public Class ClsNominas
End Try
Return retorno
End Function
Public Function PersonalAplicaCalculoAnual(CveEmpresa As Integer, CveUsuario As Integer, CvePersonal As Integer, Aplica As Integer, motivo As String) As Boolean
Public Function PersonalAplicaCalculoAnual(CveEmpresa As Integer, CveUsuario As Integer, Ejercicio As Integer, CvePersonal As Integer, Aplica As Integer, motivo As String) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Nom_PersonalAplicaCalculoAnual", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@Ejercicio", SqlDbType.Int).Value = Ejercicio
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
@@ -611,6 +612,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

@@ -2300,7 +2300,7 @@ Public Class ClsRH
.Add("@SalarioDiarioSS", SqlDbType.Money).Value = SalarioDiarioSS
.Add("@CalcularSDI", SqlDbType.Bit).Value = CalcularSDI
.Add("@ActualizaSalarioV", SqlDbType.Bit).Value = ActualizaSalarioV
.Add("@OrigenU", SqlDbType.Bit).Value = OrigenU
.Add("@OrigenU", SqlDbType.VarChar).Value = OrigenU
End With
Try
SqlAdapter.Fill(Data)

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

@@ -186,7 +186,7 @@ public partial class Nomina_CalculoISRAnual : ClsPaginas
CvePersonal = gvrow.DataKey("CvePersonal").ToString().ToEntero();
using (ClsNominas onom = new ClsNominas())
{
if (onom.PersonalAplicaCalculoAnual(UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, CvePersonal, 1, ""))
if (onom.PersonalAplicaCalculoAnual(UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, Ejercicio, CvePersonal, 1, ""))
{
Alert("El empleado sera incluido al calculo anual");
CargaCalculoISRAnual();
@@ -205,7 +205,7 @@ public partial class Nomina_CalculoISRAnual : ClsPaginas
{
using (ClsNominas onom = new ClsNominas())
{
if (onom.PersonalAplicaCalculoAnual(UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, CvePersonal, 0, TxtMotivo.Text))
if (onom.PersonalAplicaCalculoAnual(UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, Ejercicio, CvePersonal, 0, TxtMotivo.Text))
{
Alert("El empleado sera omitido del calculo anual");
RegistraScript("$('#DModalcancelarEmpleado').modal('hide');");
@@ -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");
}
}