-- simplificación de método para dispersión.

This commit is contained in:
2024-07-13 17:05:51 -07:00
parent 97e5ea44ac
commit ce70d5c5de
2 changed files with 71 additions and 108 deletions

View File

@@ -9891,15 +9891,10 @@ public partial class Nomina_Nomina2 : ClsPaginas
DdlCuenta.DataBind();
DdlCuenta.Items.Insert(0, new ListItem("Seleccione", "-1"));
DdlCuenta.SelectedValueExist("-1");
}
protected void DdlCuenta_SelectedIndexChanged(object sender, EventArgs e)
{
{
ConvenioPagoElectronico = string.Empty;
DivModalLayoutBancosFecha.Visible = false;
@@ -9907,10 +9902,9 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
ConvenioPagoElectronico = get_GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa: UsuarioActual.CveEmpresa).FiltroPrimeroValor("ConvenioPagoElectronico", $" CveCuenta = {DdlCuenta.SelectedValue}").ToString();
if (DdlCuenta.SelectedItem.Text.ToUpper().Contains("BANCOMER"))
if (DdlCuenta.SelectedItem.Text.ToUpper().Contains("BANCOMER") || DdlCuenta.SelectedItem.Text.ToUpper().Contains("BBVA"))
{
Banco = Bancos.Bancomer;
}
else if (DdlCuenta.SelectedItem.Text.ToUpper().Contains("BANORTE"))
{
@@ -9925,16 +9919,12 @@ public partial class Nomina_Nomina2 : ClsPaginas
else
{
ConvenioPagoElectronico = string.Empty;
}
}
else
{
Banco = Bancos.SinSelccion;
}
}
protected void BtnLayoutXLS_Click(object sender, EventArgs e)
@@ -9958,7 +9948,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
libro.Range(1, 1, row, column - 1).Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
libro.Range(1, 1, row, column - 1).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
if (objnom.GetDispersionnominaXLS(CvePeriodoSeleccionado, UsuarioActual.CveEmpresa))
if (objnom.GetDispersionNomina(CvePeriodoSeleccionado, UsuarioActual.CveEmpresa,-1))
{
foreach (DataRow dRow in objnom.DtResultados.Rows)
{
@@ -9994,12 +9984,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
Response.AddHeader("content-disposition", string.Format("attachment;filename={0}.xlsx", "ListadePago"));
Response.BinaryWrite(memoryStream.ToArray());
Response.End();
}
}
protected void BtnEfectivaleXLS_Click(object sender, EventArgs e)
{
@@ -10075,84 +10061,73 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
using (ClsNominas objnom = new ClsNominas())
{
if (objnom.GetDispersionnomina(CvePeriodoSeleccionado, UsuarioActual.CveEmpresa))
if (objnom.GetDispersionNomina(CvePeriodoSeleccionado, UsuarioActual.CveEmpresa,4))
{
CrearLayoutNominaBancomer(objnom.DtResultados);
}
}
}
else if (Banco == Bancos.Banorte)
{
using (ClsNominas objnom = new ClsNominas())
{
if (objnom.GetDispersionNominaBanorte(CvePeriodoSeleccionado, UsuarioActual.CveEmpresa))
if (objnom.GetDispersionNomina (CvePeriodoSeleccionado, UsuarioActual.CveEmpresa,18))
{
CrearLayoutNominaBanorte(objnom.DtResultados, ConvenioPagoElectronico, 1);
}
}
}
else if (Banco == Bancos.Banamex)
{
using (ClsNominas objnom = new ClsNominas())
{
if (objnom.GetDispersionnominaXLS(CvePeriodoSeleccionado, UsuarioActual.CveEmpresa))
if (objnom.GetDispersionNomina(CvePeriodoSeleccionado, UsuarioActual.CveEmpresa,1))
{
CrearLayoutNominaBanamex(objnom.DtResultados.FiltraParametros(" (BancoNombre) like '%BANAMEX%'"));
CrearLayoutNominaBanamex(objnom.DtResultados);
}
}
}
}
private void CrearLayoutNominaBancomer(DataTable DTNomina)
{
StringBuilder sb = new StringBuilder();
StringBuilder SbErrores = new StringBuilder();
bool ErroresValidaciones = false;
int modalidadnomina = 1;
if (UsuarioActual.CveEmpresa == 189) modalidadnomina = 2;
SbErrores.AppendLine("Se detectaron los siguientes errores en la generación del layout");
SbErrores.AppendLine("Se detectaron los siguientes errores en la generación del layout:<br/>");
foreach (DataRow dRow in DTNomina.Rows)
{
string RFC = dRow["RFC"].ToString();
string Nombre = dRow["Nombre"].ToString();
string BancoNumCuenta = dRow["BancoNumCuenta"].ToString();
string BancoNumCuenta = dRow["NumeroCuenta"].ToString();
decimal Importe = dRow["Importe"].ToString().ToDecimal();
if (RFC.Trim().Length == 0)
SbErrores.AppendLine($"El RFC es requerido del empleado {Nombre}<br/>");
System.Text.RegularExpressions.Match Coincidencia = System.Text.RegularExpressions.Regex.Match(RFC, @"/^([A-Z,Ñ,&]{3,4}([0-9]{2})(0[1-9]|1[0-2])(0[1-9]|1[0-9]|2[0-9]|3[0-1])[A-Z|\d]{3})$/");
if (!Coincidencia.Success)
{
SbErrores.AppendLine($"El RFC {RFC} del empleado {Nombre} no es valido <br/>");
ErroresValidaciones = true;
}
//if (!Coincidencia.Success)
//{
// SbErrores.AppendLine($"El RFC {RFC} del empleado {Nombre} no es valido <br/>");
// ErroresValidaciones = true;
//}
if (BancoNumCuenta.Trim().Length != 10)
{
SbErrores.AppendLine($"Empleado {Nombre} numero de cuenta incorrecto, la cuenta debe de tener 10 caracteres<br/>"); // Bancomer 10 caracteres
SbErrores.AppendLine($"- {Nombre} numero de cuenta incorrecto, la cuenta debe de tener 10 caracteres<br/>"); // Bancomer 10 caracteres
ErroresValidaciones = true;
}
if (Importe <= 0)
{
SbErrores.AppendLine($"Empleado {Nombre} el importe debe de ser mayor a 0 importe {Importe}"); // importe mayot a 0
SbErrores.AppendLine($"- {Nombre} el importe debe de ser mayor a 0 importe {Importe}"); // importe mayot a 0
ErroresValidaciones = true;
}
}
ErroresValidaciones = false;
if (!ErroresValidaciones)
{
int Count = 1;
@@ -10162,40 +10137,39 @@ public partial class Nomina_Nomina2 : ClsPaginas
string RFC = dRow["RFC"].ToString();
string Nombre = dRow["Nombre"].ToString();
string BancoNumCuenta = dRow["BancoNumCuenta"].ToString();
string BancoNumCuenta = dRow["NumeroCuenta"].ToString();
decimal Importe = dRow["Importe"].ToString().ToDecimal().RoundSQL(2);
SbLinea.Append(Count.ToString("000000000"));
SbLinea.Append(RFC.Trim().PadRight(16));
SbLinea.Append("03");
if (modalidadnomina == 2) SbLinea.Append("99"); else SbLinea.Append("03");
SbLinea.Append(BancoNumCuenta.Trim().PadRight(20));
SbLinea.Append(Importe.ToString("0000000000000.00").Replace(".", ""));
if (Nombre.Trim().Length > 40)
Nombre = Nombre.Substring(0, 40);
SbLinea.Append(Nombre.Trim().PadRight(40));
SbLinea.Append("012");
SbLinea.Append("000");
if (modalidadnomina == 2)
{
SbLinea.Append("001"); SbLinea.Append("001");
}
else {
SbLinea.Append("012"); SbLinea.Append("000");
}
sb.AppendLine(SbLinea.ToString());
Count = Count + 1;
}
Response.Clear();
Response.ClearHeaders();
Response.AppendHeader("Content-Length", sb.ToString());
Response.ContentType = "text/plain";
//Response.AppendHeader("Content-Disposition", $"attachment;filename=\"Nomina{NowADS().ToString("yyyyMMddhhmmss").ToString()}.txt\"");
Response.AppendHeader("Content-Disposition", $"attachment;filename=\"Nomina {DdlPeriodo.SelectedItem.Text}.txt\"");
Response.AppendHeader("Content-Disposition", $"attachment;filename=\"Nomina_BBVA_{DdlPeriodo.SelectedItem.Text}.txt\"");
Response.Write(sb.ToString());
RegistraScript("$('#ModalLayoutBancos').modal('hide');");
Response.Flush();
//RegistraScript("$('#ModalLayoutBancos').modal('hide');");
// Response.Flush();
Response.End();
}
else
@@ -10249,7 +10223,6 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
foreach (DataRow dRow in DTNomina.Rows)
{
// Codigo ReferenciaDelServicio ReferenciaLeyendaDelOrdenante Importe NumeroBancoReceptor TipoCuenta NumeroCuenta TipoMovimiento Accion ImporteIvaOperacion
string Codigo = dRow["Codigo"].ToString().Trim();
string ReferenciaDelServicio = dRow["ReferenciaDelServicio"].ToString().Trim();
@@ -10262,7 +10235,6 @@ public partial class Nomina_Nomina2 : ClsPaginas
string Accion = dRow["Accion"].ToString().Trim();
string ImporteIvaOperacion = dRow["ImporteIvaOperacion"].ToString().Trim();
//Linea Nueva
sb.AppendLine("");
@@ -10281,7 +10253,6 @@ public partial class Nomina_Nomina2 : ClsPaginas
SbErrores.AppendLine($"{Codigo} Codigo {Codigo} debe de tener una logitud de entre 1 y 10<br/>");
ErrorProceso = true;
}
//ReferenciaDelServicio A 40 20-29
sb.Append(ReferenciaDelServicio.PadLeft(40, Espacio));
//ReferenciaLeyendaDelOrdenante A 40 60-99
@@ -10302,19 +10273,13 @@ public partial class Nomina_Nomina2 : ClsPaginas
sb.Append(ImporteIvaOperacion.PadLeft(8, Cero));
//filler 18 148-165
sb.Append(string.Empty.PadLeft(18, Espacio));
}
if (!ErrorProceso)
{
sb.AppendLine("");
}
}
if (!ErrorProceso)
{
Response.Clear();
@@ -10324,7 +10289,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
Response.AppendHeader("Content-Disposition", $"attachment;filename=\"NI{Emisora.PadLeft(5, Cero)}{Consecutivo.ToString("00")}.PAG\"");
Response.Write(sb.ToString());
RegistraScript("$('#ModalLayoutBancos').modal('hide');");
Response.Flush();
//Response.Flush();
Response.End();
}
else
@@ -10349,7 +10314,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
//string RFC = dRow["RFC"].ToString();
string Nombre = dRow["Nombre"].ToString();
string BancoNumCuenta = dRow["BancoNumCuenta"].ToString();
string BancoNumCuenta = dRow["NumeroCuenta"].ToString();
decimal Importe = dRow["Importe"].ToString().ToDecimal();
//if (RFC.Trim().Length == 0)
@@ -10362,7 +10327,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
// ErroresValidaciones = true;
//}
if (BancoNumCuenta.Trim().Length != 10)
if (BancoNumCuenta.Trim().Length != 10 || BancoNumCuenta.Trim().Length != 16)
{
SbErrores.AppendLine($"Empleado {Nombre} numero de cuenta incorrecto, la cuenta debe de tener 10 caracteres<br/>"); // Bancomer 10 caracteres
ErroresValidaciones = true;
@@ -10428,7 +10393,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
string AMaterno = dRow["AMaterno"].ToString().Replace("ñ,Ñ", "n").Replace("*,#,$,%,=,+", "");
//string BancoNumCuenta = dRow["BancoNumCuenta"].ToString();
string BancoNumCuenta = dRow["BancoNumCuenta"].ToString();
string BancoNumCuenta = dRow["NumeroCuenta"].ToString();
decimal Importe = dRow["Importe"].ToString().ToDecimal().RoundSQL(2);
var StrImporte = Importe.ToString("0000000000000000.00").Replace(".", "");
@@ -10463,10 +10428,10 @@ public partial class Nomina_Nomina2 : ClsPaginas
Response.AppendHeader("Content-Length", sb.ToString());
Response.ContentType = "text/plain";
//Response.AppendHeader("Content-Disposition", $"attachment;filename=\"Nomina{NowADS().ToString("yyyyMMddhhmmss").ToString()}.txt\"");
Response.AppendHeader("Content-Disposition", $"attachment;filename=\"Nomina {DdlPeriodo.SelectedItem.Text}.txt\"");
Response.AppendHeader("Content-Disposition", $"attachment;filename=\"Nomina_Banamex_{DdlPeriodo.SelectedItem.Text}.txt\"");
Response.Write(sb.ToString());
RegistraScript("$('#ModalLayoutBancos').modal('hide');");
Response.Flush();
//RegistraScript("$('#ModalLayoutBancos').modal('hide');");
//Response.Flush();
Response.End();
}
else
@@ -10474,9 +10439,6 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
#endregion
protected void LnkBitacoraCorreo_Click(object sender, EventArgs e)
{
using (ClsRH objrh = new ClsRH())