z
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user