Merge branch 'master' of http://192.168.10.111:8383/SIG
This commit is contained in:
@@ -4977,20 +4977,53 @@
|
||||
<ajax:ValidatorCalloutExtender ID="VCERfvTxtModalLayoutBancosFecha" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtModalLayoutBancosFecha" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
|
||||
<asp:UpdatePanel runat="server" ID="UpControlesScotia" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
|
||||
<div class="row" runat="server" id="DVCuentasScotia" visible="false">
|
||||
<br />
|
||||
<div class="col-md-3">
|
||||
<asp:Label runat="server" ID="LblCuentasScotia" ></asp:Label>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<asp:Button runat="server" ID="BtnGenerarAlta" Text="Generar Alta" OnClick="BtnGenerarAlta_Click" class="btn btn-primary" Enabled="false" />
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="btn-file btn green" onclick="$('#FUTxt').click();">
|
||||
<i class="fa fa-plus"></i>
|
||||
<span>Seleccionar</span>
|
||||
</div>
|
||||
<span id="FUTxtt"></span>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<asp:Button runat="server" ID="BtnCargarAlta" Text="Cargar Alta" OnClick="BtnCargarAlta_Click" class="btn btn-primary" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</ContentTemplate>
|
||||
<Triggers>
|
||||
<asp:PostBackTrigger ControlID="BtnCargarAlta" />
|
||||
<asp:PostBackTrigger ControlID ="BtnGenerarAlta" />
|
||||
</Triggers>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
|
||||
|
||||
<%-- <div class="form-group form-md-line-input input-iconright" runat="server" visible="false" >
|
||||
<asp:TextBox ID="TxtModalLayoutBancosFecha" runat="server" CausesValidation="True" CssClass="form-control"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RfTxtModalLayoutBancosFecha" runat="server" ControlToValidate="TxtModalLayoutBancosFecha" CssClass="help-block errorimput" Display="none"
|
||||
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> es necesario "
|
||||
ValidationGroup="GrpModalBancoLayout"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCERfTxtModalLayoutBancosFecha" runat="server" HighlightCssClass="vco" TargetControlID="RfTxtModalLayoutBancosFecha" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
|
||||
<asp:Label runat="server" Text="Fecha: " AssociatedControlID="TxtModalLayoutBancosFecha"></asp:Label>
|
||||
<ajax:MaskedEditExtender ID="MaskedEditExtender6" runat="server" TargetControlID="TxtModalLayoutBancosFecha" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left" BehaviorID="_content_MKEFechaBaja" Century="2000" CultureAMPMPlaceholder="" CultureCurrencySymbolPlaceholder="" CultureDateFormat="" CultureDatePlaceholder="" CultureDecimalPlaceholder="" CultureThousandsPlaceholder="" CultureTimePlaceholder=""></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender ID="CalendarExtender5" runat="server" TargetControlID="TxtModalLayoutBancosFecha" PopupButtonID="ImgFechaBaja" PopupPosition="BottomRight" BehaviorID="_content_CEFechaBaja"></ajax:CalendarExtender>
|
||||
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="TxtModalLayoutBancosFecha" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha de Baja''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpModalBancoLayout" Visible="False"></asp:CompareValidator>
|
||||
</div>--%>
|
||||
<%--
|
||||
<div class="form-group form-md-line-input input-iconright" runat="server" visible="false" >
|
||||
<asp:TextBox ID="TxtModalLayoutBancosFecha" runat="server" CausesValidation="True" CssClass="form-control"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RfTxtModalLayoutBancosFecha" runat="server" ControlToValidate="TxtModalLayoutBancosFecha" CssClass="help-block errorimput" Display="none"
|
||||
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> es necesario "
|
||||
ValidationGroup="GrpModalBancoLayout"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCERfTxtModalLayoutBancosFecha" runat="server" HighlightCssClass="vco" TargetControlID="RfTxtModalLayoutBancosFecha" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
|
||||
<asp:Label runat="server" Text="Fecha: " AssociatedControlID="TxtModalLayoutBancosFecha"></asp:Label>
|
||||
<ajax:MaskedEditExtender ID="MaskedEditExtender6" runat="server" TargetControlID="TxtModalLayoutBancosFecha" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left" BehaviorID="_content_MKEFechaBaja" Century="2000" CultureAMPMPlaceholder="" CultureCurrencySymbolPlaceholder="" CultureDateFormat="" CultureDatePlaceholder="" CultureDecimalPlaceholder="" CultureThousandsPlaceholder="" CultureTimePlaceholder=""></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender ID="CalendarExtender5" runat="server" TargetControlID="TxtModalLayoutBancosFecha" PopupButtonID="ImgFechaBaja" PopupPosition="BottomRight" BehaviorID="_content_CEFechaBaja"></ajax:CalendarExtender>
|
||||
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="TxtModalLayoutBancosFecha" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha de Baja''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpModalBancoLayout" Visible="False"></asp:CompareValidator>
|
||||
</div>
|
||||
--%>
|
||||
|
||||
|
||||
<br />
|
||||
@@ -5012,6 +5045,11 @@
|
||||
<asp:PostBackTrigger ControlID="BtnEfectivaleXLS" />
|
||||
</Triggers>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
<div style="display:none!important">
|
||||
<asp:FileUpload ID="FUTxt" runat="server" onchange="$('#FUTxtt').text(this.value);" ClientIDMode="Static" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@@ -1,22 +1,24 @@
|
||||
using Extensiones;
|
||||
using DocumentFormat.OpenXml.Drawing;
|
||||
using Extensiones;
|
||||
using Ionic.Zip;
|
||||
using iTextSharp.text.pdf;
|
||||
using iTextSharp.text.pdf.parser;
|
||||
using Modelos;
|
||||
using Profact.TimbraCFDI40;
|
||||
using StackExchange.Redis;
|
||||
using System;
|
||||
using System.Activities.Expressions;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using static Extensiones.ModExtensiones;
|
||||
using Modelos;
|
||||
using System.Text.RegularExpressions;
|
||||
using iTextSharp.text.pdf.parser;
|
||||
using Profact.TimbraCFDI40;
|
||||
using Ionic.Zip;
|
||||
using DocumentFormat.OpenXml.Drawing;
|
||||
using System.Web;
|
||||
|
||||
public partial class Nomina_Nomina2 : ClsPaginas
|
||||
{
|
||||
@@ -10742,7 +10744,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
SinSelccion,
|
||||
Bancomer,
|
||||
Banorte,
|
||||
Banamex
|
||||
Banamex,
|
||||
ScotiaBank
|
||||
}
|
||||
|
||||
|
||||
@@ -10786,6 +10789,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
CargaCuentas();
|
||||
|
||||
DivModalLayoutBancosFecha.Visible = false;
|
||||
DVCuentasScotia.Visible = false;
|
||||
TxtModalLayoutBancosFecha.Text = "";
|
||||
|
||||
RegistraScript("$('#ModalLayoutBancos').modal('show');");
|
||||
@@ -10798,7 +10802,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
DdlCuenta.Items.Clear();
|
||||
DataTable DTCuentas = get_GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa: UsuarioActual.CveEmpresa).FiltraParametros(" CveTipoCuenta <> 1 AND UsaLayout = 'True' AND LEN(ConvenioPagoElectronico) > 0 ");
|
||||
DTCuentas.CaseSensitive = false;
|
||||
DdlCuenta.DataSource = DTCuentas.FiltraParametros(" Banco IN('BANCOMER','BANORTE','BBVA Bancomer','BBVA','BANAMEX')");
|
||||
DdlCuenta.DataSource = DTCuentas.FiltraParametros(" Banco IN('BANCOMER','BANORTE','BBVA Bancomer','BBVA','BANAMEX') OR Banco LIKE '%SCOTIA%' ");
|
||||
DdlCuenta.DataBind();
|
||||
DdlCuenta.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
||||
DdlCuenta.SelectedValueExist("-1");
|
||||
@@ -10808,6 +10812,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
{
|
||||
ConvenioPagoElectronico = string.Empty;
|
||||
DivModalLayoutBancosFecha.Visible = false;
|
||||
DVCuentasScotia.Visible = false;
|
||||
BtnGenerarAlta.Enabled = false;
|
||||
|
||||
if (DdlCuenta.SelectedValue.ToEntero() > 0)
|
||||
{
|
||||
@@ -10827,6 +10833,12 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
Banco = Bancos.Banamex;
|
||||
DivModalLayoutBancosFecha.Visible = true;
|
||||
}
|
||||
else if (DdlCuenta.SelectedItem.Text.ToUpper().Contains("SCOTIA"))
|
||||
{
|
||||
DivModalLayoutBancosFecha.Visible = false;
|
||||
Banco = Bancos.ScotiaBank;
|
||||
PreparaLayoutBancosScotiaBank();
|
||||
}
|
||||
else
|
||||
{
|
||||
ConvenioPagoElectronico = string.Empty;
|
||||
@@ -10838,6 +10850,274 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
}
|
||||
}
|
||||
|
||||
#region Layout ScotiaBank
|
||||
private void PreparaLayoutBancosScotiaBank()
|
||||
{
|
||||
BtnGenerarAlta.Enabled = false;
|
||||
int cuentasPendientes = 0;
|
||||
using (ClsNominas objnom = new ClsNominas())
|
||||
{
|
||||
if (objnom.GetDispersionNomina(CvePeriodoSeleccionado, UsuarioActual.CveEmpresa, 18))
|
||||
{
|
||||
string fechaHoy = DateTime.Today.ToString("MM/dd/yyyy");
|
||||
cuentasPendientes = objnom.DtResultados.FiltraParametros($" EstatusPagoElectronicoScotia = False OR FechaEliminacion < #{fechaHoy}# ").Rows.Count;
|
||||
}
|
||||
}
|
||||
|
||||
LblCuentasScotia.Text = string.Format("Pendientes: {0}", cuentasPendientes);
|
||||
|
||||
if (cuentasPendientes > 0)
|
||||
{
|
||||
BtnGenerarAlta.Enabled = true;
|
||||
BtnModalBancosProcesar.Enabled = false;
|
||||
DVCuentasScotia.Visible = true;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
BtnModalBancosProcesar.Enabled = true;
|
||||
}
|
||||
|
||||
UpControlesScotia.Update();
|
||||
UpModalBancosLayout.Update();
|
||||
}
|
||||
|
||||
|
||||
protected void BtnGenerarAlta_Click(object sender, EventArgs e)
|
||||
{
|
||||
DataTable DTCuentasPendientes = new DataTable();
|
||||
using (ClsNominas objnom = new ClsNominas())
|
||||
{
|
||||
if (objnom.GetDispersionNomina(CvePeriodoSeleccionado, UsuarioActual.CveEmpresa, 18))
|
||||
{
|
||||
string fechaHoy = DateTime.Today.ToString("MM/dd/yyyy");
|
||||
DTCuentasPendientes = objnom.DtResultados.FiltraParametros($" EstatusPagoElectronicoScotia = False OR FechaEliminacion < #{fechaHoy}# ");
|
||||
}
|
||||
}
|
||||
|
||||
string NumeroConvenio = "";
|
||||
|
||||
using (ClsBancos objBancos = new ClsBancos())
|
||||
{
|
||||
if (objBancos.GetBancosCuentas(DdlCuenta.SelectedValue.ToEntero()))
|
||||
{
|
||||
if (objBancos.DtResultados.Rows.Count > 0)
|
||||
{
|
||||
NumeroConvenio = objBancos.DtResultados.Rows[0]["ConvenioPagoElectronico"].ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (NumeroConvenio.Length > 0)
|
||||
{
|
||||
using (ClsPagoScotia objPagoScotia = new ClsPagoScotia())
|
||||
{
|
||||
if (objPagoScotia.AltaCuentasScotia(DTCuentasPendientes, UsuarioActual, NumeroConvenio))
|
||||
{
|
||||
Response.Clear();
|
||||
Response.Buffer = true;
|
||||
Response.ContentType = "text/plain";
|
||||
Response.AddHeader("Content-Disposition", "attachment;filename=" + objPagoScotia.NombreArchivo);
|
||||
Response.Write(objPagoScotia.LayoutStr);
|
||||
Response.Flush();
|
||||
Response.End();
|
||||
}
|
||||
else{
|
||||
Alert(objPagoScotia.LayouErrorStr, TipoMensaje.MsgAdvertencia);
|
||||
RegistraScript("$('#ModalLayoutBancos').modal('show');");
|
||||
//UpModalBancosLayout.Update();
|
||||
//Response.Clear();
|
||||
//Response.Buffer = true;
|
||||
//Response.ContentType = "text/plain";
|
||||
///Response.AddHeader("Content-Disposition", "attachment;filename=" + objPagoScotia.NombreArchivo);
|
||||
//Response.Write(objPagoScotia.LayoutStr);
|
||||
//Response.Flush();
|
||||
//Response.End();
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
Alert("La cuenta seleccionada no tiene un Convenio de Pago Electronico");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private string GuardaTXT()
|
||||
{
|
||||
string NombreArchivo = "";
|
||||
try
|
||||
{
|
||||
|
||||
string FileName = System.IO.Path.GetFileName(FUTxt.PostedFile.FileName);
|
||||
NombreArchivo = FileName;
|
||||
string Extension = System.IO.Path.GetExtension(FUTxt.PostedFile.FileName);
|
||||
string FolderPath = string.Format("{0}Empresas\\", Request.ApplicationPath);
|
||||
string FilePath = Server.MapPath(FolderPath + FileName);
|
||||
FUTxt.SaveAs(FilePath);
|
||||
NombreArchivo = FilePath;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//Retorno = false;
|
||||
this.GuardaLog( $" Error al guardar el archivo TXT --> {ex.StackTrace}");
|
||||
NombreArchivo = "";
|
||||
|
||||
}
|
||||
|
||||
return NombreArchivo;
|
||||
}
|
||||
|
||||
protected void BtnCargarAlta_Click(object sender, EventArgs e)
|
||||
{
|
||||
bool ErrorArchivo = false;
|
||||
string RutaArchivo = "";
|
||||
|
||||
if (FUTxt.HasFile)
|
||||
{
|
||||
RutaArchivo = GuardaTXT();
|
||||
if (RutaArchivo.Length == 0)
|
||||
{
|
||||
Alert("Ocurrió un error Scotia al cargar el archivo", TipoMensaje.MsgError);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert("No tiene ningún archivo", TipoMensaje.MsgAdvertencia);
|
||||
return;
|
||||
}
|
||||
|
||||
// LEE TXT
|
||||
string Texto;
|
||||
Texto = System.IO.File.ReadAllText(RutaArchivo);
|
||||
string[] TextoArreglo = Texto.Split(new[] { "\r\n" }, StringSplitOptions.None);
|
||||
|
||||
//if (OpBancos == 3)
|
||||
//{
|
||||
TextoArreglo = System.IO.File.ReadAllLines(RutaArchivo);
|
||||
|
||||
StringBuilder SBCuentasAltas = new StringBuilder();
|
||||
StringBuilder SBErrores = new StringBuilder();
|
||||
bool ErrorArchivoScotia = false;
|
||||
|
||||
string H = TextoArreglo[0];
|
||||
|
||||
if (!(TextoArreglo.Length >= 3))
|
||||
{
|
||||
Alert("El archivo no tiene el formato correcto, debe tener al menos 3 líneas (Header, Detalle y Trailer)", TipoMensaje.MsgAdvertencia);
|
||||
return;
|
||||
}
|
||||
|
||||
if (H.Length != 140)
|
||||
{
|
||||
Alert("La longitud de la cabecera es incorrecta", TipoMensaje.MsgAdvertencia);
|
||||
return;
|
||||
}
|
||||
|
||||
string TipoArchivo = H.Substring(0, 2).ToUpper();
|
||||
|
||||
if (TipoArchivo != "SP")
|
||||
{
|
||||
Alert($"El archivo no es un archivo de respuesta, inicia con código {TipoArchivo}", TipoMensaje.MsgAdvertencia);
|
||||
}
|
||||
|
||||
string HCodigo = H.Substring(40, 3);
|
||||
if (HCodigo != "000" && HCodigo != " ")
|
||||
{
|
||||
SBErrores.Append($"El código de la cabecera es incorrecto {HCodigo} - {ClsPagoScotia.AltaCuentaScotiaCodigoRespuestaAnexoC(HCodigo)}.</br>");
|
||||
ErrorArchivoScotia = true;
|
||||
}
|
||||
|
||||
ClsBancos ObjBancos = new ClsBancos();
|
||||
ObjBancos.IniciaTransacSQL();
|
||||
|
||||
for (int i = 1; i <= TextoArreglo.Length - 2; i++)
|
||||
{
|
||||
string Linea = TextoArreglo[i];
|
||||
|
||||
if (Linea.Length == 140)
|
||||
{
|
||||
string CodigoRespuesta = Linea.Substring(109, 3);
|
||||
string DTipoArchivo = Linea.Substring(0, 2);
|
||||
string Cuenta = Linea.Substring(12, 20);
|
||||
|
||||
DateTime FechaEliminacion = DateTime.ParseExact(Linea.Substring(32, 8), "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);
|
||||
|
||||
if (DTipoArchivo != "SP")
|
||||
{
|
||||
SBErrores.Append($"Error Línea {i} el tipo de archivo no es un archivo de respuesta (SP), inicia con código {DTipoArchivo}.</br>");
|
||||
ErrorArchivoScotia = true;
|
||||
}
|
||||
|
||||
if (CodigoRespuesta == "000" || CodigoRespuesta == " ")
|
||||
{
|
||||
int CveCuentaDeposito = Linea.Substring(40, 50).Trim().ToEntero();
|
||||
|
||||
if (CveCuentaDeposito > 0)
|
||||
{
|
||||
if (ObjBancos.UpdateCuentaDepositoPagoElectronico(CveCuentaDeposito, Opcion: 3, FechaEliminacion: FechaEliminacion))
|
||||
{
|
||||
SBCuentasAltas.Append($"Cuenta: {Cuenta} registrada correctamente.</br>");
|
||||
}
|
||||
else
|
||||
{
|
||||
ErrorArchivoScotia = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
SBErrores.Append($"Error Línea {i} Cve: {CveCuentaDeposito} cuenta: {Cuenta} no encontrada.</br>");
|
||||
ErrorArchivoScotia = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
SBErrores.Append($"Error Línea {i} cuenta no dada de alta código {CodigoRespuesta} - {ClsPagoScotia.AltaCuentaScotiaCodigoRespuestaAnexoC(CodigoRespuesta)}.</br>");
|
||||
ErrorArchivoScotia = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
SBErrores.Append($"Error en longitud de la línea {i} es incorrecta.</br>");
|
||||
ErrorArchivoScotia = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (ErrorArchivoScotia)
|
||||
{
|
||||
ObjBancos.RollBack();
|
||||
Alert($"El archivo presentó errores en su procesamiento ({SBErrores.Length}). Correctos {SBCuentasAltas.Length} cuentas.</br>Altas:</br>{SBCuentasAltas.ToString()}<br><br>Errores:<br>{SBErrores.ToString()}", TipoMensaje.MsgAdvertencia);
|
||||
}
|
||||
else
|
||||
{
|
||||
ObjBancos.Commit();
|
||||
Alert($"El archivo se analizó correctamente y se efectuaron todos los cambios en el sistema. Cuentas procesadas:</br>{SBCuentasAltas.ToString()}", TipoMensaje.MsgInformacion);
|
||||
}
|
||||
|
||||
ObjBancos.Dispose();
|
||||
|
||||
|
||||
if (ErrorArchivo)
|
||||
{
|
||||
Alert("Ocurrió un error al cargar el archivo", TipoMensaje.MsgError);
|
||||
return;
|
||||
}
|
||||
else {
|
||||
Alert("El archivo se cargó correctamente", TipoMensaje.MsgInformacion);
|
||||
System.IO.File.Delete(RutaArchivo);
|
||||
PreparaLayoutBancosScotiaBank();
|
||||
RegistraScript("$('#ModalLayoutBancos').modal('show');");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
protected void BtnLayoutXLS_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
@@ -10970,6 +11250,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
}
|
||||
protected void BtnModalBancosProcesar_Click(object sender, EventArgs e)
|
||||
{
|
||||
BtnModalBancosProcesar.Enabled = true;
|
||||
|
||||
if (Banco == Bancos.Bancomer)
|
||||
{
|
||||
@@ -11001,6 +11282,104 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (Banco == Bancos.ScotiaBank)
|
||||
{
|
||||
|
||||
DataTable DTResultados = new DataTable();
|
||||
using (ClsNominas objnom = new ClsNominas())
|
||||
{
|
||||
if (objnom.GetDispersionNomina(CvePeriodoSeleccionado, UsuarioActual.CveEmpresa, 18))
|
||||
{
|
||||
DTResultados = objnom.DtResultados;
|
||||
}
|
||||
}
|
||||
|
||||
if (DTResultados.Rows.Count > 0)
|
||||
{
|
||||
using (ClsPagoScotia objPagoScotia = new ClsPagoScotia())
|
||||
{
|
||||
|
||||
string ConvenioPagoElectronicoScotia = get_GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa: UsuarioActual.CveEmpresa).FiltroPrimeroValor("ConvenioPagoElectronico", $" CveCuenta = {DdlCuenta.SelectedValue}").ToString();
|
||||
string NumCuentaOrigen = get_GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa: UsuarioActual.CveEmpresa).FiltroPrimeroValor("NumCuenta", $" CveCuenta = {DdlCuenta.SelectedValue}").ToString();
|
||||
string CLABEOrigen = get_GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa: UsuarioActual.CveEmpresa).FiltroPrimeroValor("CLABE", $" CveCuenta = {DdlCuenta.SelectedValue}").ToString();
|
||||
//CASE WHEN LEN(BC.NumCuenta) > 0 THEN BC.NumCuenta ELSE BC.CLABE END AS CLABEOrigen,
|
||||
|
||||
if (!DTResultados.Columns.Contains("ConvenioPagoElectronico"))
|
||||
{
|
||||
DTResultados.Columns.Add("ConvenioPagoElectronico", typeof(string));
|
||||
}
|
||||
|
||||
if (!DTResultados.Columns.Contains("CLABEOrigen"))
|
||||
{
|
||||
DTResultados.Columns.Add("CLABEOrigen", typeof(string));
|
||||
}
|
||||
if (!DTResultados.Columns.Contains("Observaciones"))
|
||||
{
|
||||
DTResultados.Columns.Add("Observaciones", typeof(string));
|
||||
}
|
||||
|
||||
|
||||
foreach (DataRow dRow in DTResultados.Rows)
|
||||
{
|
||||
dRow["ConvenioPagoElectronico"] = ConvenioPagoElectronicoScotia;
|
||||
dRow["CLABEOrigen"] = NumCuentaOrigen.Length > 0 ? NumCuentaOrigen : CLABEOrigen; // Si no tiene numero de cuenta, se usa la CLABE
|
||||
dRow["Observaciones"] = dRow["CveNominaDetalle"].ToString();
|
||||
}
|
||||
|
||||
|
||||
//DTResultados.Columns["CLABEOrigen"].ColumnName = "CLABEOrigen"; // CLABE Origen
|
||||
//DTResultados.Columns["ConvenioPagoElectronico"].ColumnName = "ConvenioPagoElectronico"; // Convenio Pago Electronico
|
||||
//DTResultados.Columns["Importe"].ColumnName = "Importe"; // Importe
|
||||
DTResultados.Columns["CvePersonal"].ColumnName = "CveProveedor"; // Cve Proveedor
|
||||
//DTResultados.Columns["RFC"].ColumnName = "RFC"; // RFC
|
||||
DTResultados.Columns["Nombre"].ColumnName = "RazonSocial"; // Razon Social
|
||||
DTResultados.Columns["CveNominaDetalle"].ColumnName = "CveIE"; // Cve IE
|
||||
//DTResultados.Columns["CLABEDestino"].ColumnName = "CLABEDestino"; // CLABE Destino
|
||||
//DTResultados.Columns["CLABE"].ColumnName = "CLABE"; // CLABE
|
||||
//DTResultados.Columns["CveBanco"].ColumnName = "CveBanco"; // Cve Banco
|
||||
DTResultados.Columns["Observaciones"].ColumnName = "Observaciones"; // Observaciones
|
||||
DTResultados.Columns["Correo"].ColumnName = "Correo"; // Correo
|
||||
//DTResultados.Columns["CvePersonal"].ColumnName = "CvePersonal"; // Cve Personal
|
||||
|
||||
|
||||
/*
|
||||
CLABEOrigen
|
||||
ConvenioPagoElectronico
|
||||
Importe
|
||||
CveProveedor
|
||||
RFC
|
||||
RazonSocial
|
||||
CveIE
|
||||
CLABEDestino
|
||||
CLABE
|
||||
CveBanco
|
||||
Observaciones
|
||||
Correo
|
||||
CvePersonal
|
||||
*/
|
||||
|
||||
|
||||
if (objPagoScotia.GeneraPagoScotiaBank(DTResultados, false, DdlCuenta.SelectedValue.ToEntero(), UsuarioActual))
|
||||
{
|
||||
Response.Clear();
|
||||
Response.Buffer = true;
|
||||
Response.ContentType = "text/plain";
|
||||
Response.AddHeader("Content-Disposition", "attachment;filename=" + objPagoScotia.NombreArchivo);
|
||||
Response.Write(objPagoScotia.LayoutStr);
|
||||
Response.Flush();
|
||||
Response.End();
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert(objPagoScotia.LayouErrorStr, TipoMensaje.MsgAdvertencia);
|
||||
RegistraScript("$('#ModalLayoutBancos').modal('show');");
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
Alert("No se encontraron registros para generar el layout de ScotiaBank", TipoMensaje.MsgAdvertencia);
|
||||
}
|
||||
}
|
||||
}
|
||||
private void CrearLayoutNominaBancomer(DataTable DTNomina)
|
||||
{
|
||||
@@ -12489,4 +12868,6 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
{
|
||||
CargaMovtoPermanente();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user