RepCancelacionesPorRespuesta.aspx. que mande al concepto 23, sino está en proceso la solciitud de cancelación

This commit is contained in:
2022-04-13 15:47:49 -07:00
parent 7583974bc7
commit 6e140cbb3c
3 changed files with 42 additions and 20 deletions

View File

@@ -5736,7 +5736,7 @@ Namespace Modelos
Else Else
If Not ObjVentas.UpdateEstatusFactura(CveEstatus, FolioFiscal, CancelacionAcuse, CancelacionFecha, CveVenta, IDPoliza, CvePAC:=CvePACCancelacion, CveEstatusRefacturacion:=CveEstatusRefacturacion, If Not ObjVentas.UpdateEstatusFactura(CveEstatus, FolioFiscal, CancelacionAcuse, CancelacionFecha, CveVenta, IDPoliza, CvePAC:=CvePACCancelacion, CveEstatusRefacturacion:=CveEstatusRefacturacion,
CveUsuarioCambiaEstatus:=UsuarioActual.CveUsuario, FechaCambioEstatus:=Now.ToString("yyyy-MM-dd HH:mm:ss.mmm"), CveMotivoCancelacion:=CveMotivoCancelacion, CveUsuarioCambiaEstatus:=UsuarioActual.CveUsuario, FechaCambioEstatus:=Now.ToString("yyyy-MM-dd HH:mm:ss.mmm"), CveMotivoCancelacion:=CveMotivoCancelacion,
MotivoCancelacion:=MotivoCancelacion, EstadoCancelacion:=EstadoCancelacion, CveEstadoCancelacion:=CveEstadoCancelacion) Then MotivoCancelacion:=MotivoCancelacion, EstadoCancelacion:=EstadoCancelacion, CveEstadoCancelacion:=CveEstadoCancelacion, SelloSolicitudDigitalSAT:=SolicitudCancelacionAcuse) Then
ErrorCancelar = True ErrorCancelar = True
MensajeError = "Ocurrió un error al guardar el estatus de cancelación." MensajeError = "Ocurrió un error al guardar el estatus de cancelación."
End If End If

View File

@@ -103,7 +103,7 @@
<div class="col-md-12"> <div class="col-md-12">
<asp:GridView ID="GvRefacturaciones" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron solicitudes de cancelación" <asp:GridView ID="GvRefacturaciones" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron solicitudes de cancelación"
DataKeyNames="CveVenta,CveCliente,Folio,TipoDocto,Nombre,FolioFiscal,Total,SubTotal,RFCCliente,FolioFiscalSustitucion" DataKeyNames="CveVenta,CveCliente,Folio,TipoDocto,Nombre,FolioFiscal,Total,SubTotal,RFCCliente,FolioFiscalSustitucion,CveEstatusFactura"
CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" data-sort="true" GridLines="None" Width="99%" OnRowDataBound="GvDatos_RowDataBound"> CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" data-sort="true" GridLines="None" Width="99%" OnRowDataBound="GvDatos_RowDataBound">
<Columns> <Columns>
<asp:BoundField HeaderText="Cliente" DataField="Nombre" ItemStyle-Width="25%" /> <asp:BoundField HeaderText="Cliente" DataField="Nombre" ItemStyle-Width="25%" />

View File

@@ -129,10 +129,11 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
string TipoDocto = GvRow.DataKey("TipoDocto"); string TipoDocto = GvRow.DataKey("TipoDocto");
string Nombre = GvRow.DataKey("Nombre"); string Nombre = GvRow.DataKey("Nombre");
string FolioSustitucion = GvRow.DataKey("FolioFiscalSustitucion"); string FolioSustitucion = GvRow.DataKey("FolioFiscalSustitucion");
int CveEstatusFactura = GvRow.DataKey("CveEstatusFactura").ToEntero();
if (CveVenta > 0 && Uuid != "") if (CveVenta > 0 && Uuid != "")
{ {
var respuesta = VerificarVigenciaSAT(CveVenta, CveCliente, Folio, TipoDocto, Uuid, UsuarioActual.Empresa.RFC, RFCCliente, Total, true, FolioSustitucion); var respuesta = VerificarVigenciaSAT(CveVenta, CveCliente, Folio, TipoDocto, Uuid, UsuarioActual.Empresa.RFC, RFCCliente, Total, EsRefacturacion: true, FolioSustitucion: FolioSustitucion, CveEstatusFactura: CveEstatusFactura);
CargaDatos(); CargaDatos();
if (respuesta.CveEstatus.Contiene(4, 5)) if (respuesta.CveEstatus.Contiene(4, 5))
{ {
@@ -186,7 +187,11 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
var EnviarAcuse = false; var EnviarAcuse = false;
if (respCancelacion.CveEstatus > 0) if (respCancelacion.CveEstatus > 0)
{ {
EnviarAcuse = true; if (respCancelacion.CveEstatus.Contiene(5, 20))
{
EnviarAcuse = true;
}
var CveEstatus = respCancelacion.CveEstatus; var CveEstatus = respCancelacion.CveEstatus;
var ObjVentas = new ClsVentas(); var ObjVentas = new ClsVentas();
if (ObjVentas.UpdateEstatusVenta(CveVenta, CveEstatus, UsuarioActual.CveEmpresa)) if (ObjVentas.UpdateEstatusVenta(CveVenta, CveEstatus, UsuarioActual.CveEmpresa))
@@ -194,6 +199,8 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
if (respCancelacion.CveEstatus == 20) if (respCancelacion.CveEstatus == 20)
{ {
sb.Append("El estatus de la factura fue cambiado a 'Cancelación en proceso'."); sb.Append("El estatus de la factura fue cambiado a 'Cancelación en proceso'.");
sb.Append("El documento se canceló correctamente.");
sb.Append($"</br> <a href='/Compras/PopUpVerFactura.aspx?P={Encripta($"OP=CAN&CVEVTA={CveVenta}")}' class='Texto' target='_blank'>Imprimir Acuse</a>");
} }
else if (respCancelacion.CveEstatus == 23) else if (respCancelacion.CveEstatus == 23)
{ {
@@ -202,6 +209,8 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
else else
{ {
sb.Append("El estatus de la factura fue cambiado a 'Cancelada'."); sb.Append("El estatus de la factura fue cambiado a 'Cancelada'.");
sb.Append("El documento se canceló correctamente.");
sb.Append($"</br> <a href='/Compras/PopUpVerFactura.aspx?P={Encripta($"OP=CAN&CVEVTA={CveVenta}")}' class='Texto' target='_blank'>Imprimir Acuse</a>");
} }
} }
@@ -210,9 +219,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
sb.Append("Ocurrió un error al cambiar el estatus de la factura."); sb.Append("Ocurrió un error al cambiar el estatus de la factura.");
} }
ObjVentas.Dispose(); ObjVentas.Dispose();
sb.Append("El documento se canceló correctamente.");
sb.Append($"</br> <a href='/Compras/PopUpVerFactura.aspx?P={Encripta($"OP=CAN&CVEVTA={CveVenta}")}' class='Texto' target='_blank'>Imprimir Acuse</a>");
sb.Append("</br></br> ¿Desea enviar el Acuse de Cancelación al Cliente?");
} }
else else
{ {
@@ -221,6 +228,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
if (EnviarAcuse) if (EnviarAcuse)
{ {
sb.Append("</br></br> ¿Desea enviar el Acuse de Cancelación al Cliente?");
Alert(sb.ToString(), TipoMensaje.MsgConfirmacion, "BtnEnviarMailCancelacion();", TextoConfirmacion: "Enviar", TextoSegundoBoton: "Cancelar"); Alert(sb.ToString(), TipoMensaje.MsgConfirmacion, "BtnEnviarMailCancelacion();", TextoConfirmacion: "Enviar", TextoSegundoBoton: "Cancelar");
} }
else else
@@ -238,7 +246,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
UPDatos.Update(); UPDatos.Update();
} }
private MRespuestaSAT VerificarVigenciaSAT(int CveVenta, int CveCliente, string Folio, string TipoDocto, string uuid, string emisor, string receptor, string total, bool EsRefacturacion = false, string FolioSustitucion = "") private MRespuestaSAT VerificarVigenciaSAT(int CveVenta, int CveCliente, string Folio, string TipoDocto, string uuid, string emisor, string receptor, string total, bool EsRefacturacion = false, string FolioSustitucion = "", int CveEstatusFactura = -1)
{ {
//HdnLigaRefacturar.Value = ""; //HdnLigaRefacturar.Value = "";
@@ -301,14 +309,22 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
} }
else else
{ {
if ((resp.EsCancelable.ToUpper() == "NO CANCELABLE")) //SI ES REFACTURACION Y SE MANDO LA SOLICITUD, PERO NO APARECE EL ESTATUS DE CANCELACION, DEBE PONERSE COMO CANCELACION PENDIENTE
if (EsRefacturacion && CveEstatusFactura == 20 && resp.Estado.ToUpper().Trim() == "VIGENTE" && string.IsNullOrEmpty(resp.EstatusCancelacion))
{ {
sb.Append("Esta factura no es cancelable."); CveEstatus = 23;
retorno.Mensaje = sb.ToString(); var ObjVentas = new ClsVentas();
return retorno; if (ObjVentas.UpdateEstatusVenta(CveVenta, CveEstatus, UsuarioActual.CveEmpresa))
{
sb.Append("El estatus de la factura fue cambiado a 'Cancelación Pendiente'.");
}
else
{
sb.Append("Ocurrió un error al cambiar el estatus de la factura.");
}
ObjVentas.Dispose();
} }
else if (resp.Estado.ToUpper().Trim() == "CANCELADO" || resp.EstatusCancelacion.ToUpper() == "PLAZO VENCIDO")
if (resp.Estado.ToUpper().Trim() == "CANCELADO" || resp.EstatusCancelacion.ToUpper() == "PLAZO VENCIDO")
{ {
CveEstatus = 5; CveEstatus = 5;
@@ -377,7 +393,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
} }
ObjVentas.Dispose(); ObjVentas.Dispose();
} }
else if (resp.Estado.ToUpper().Trim() == "VIGENTE" && string.IsNullOrEmpty(resp.EstatusCancelacion)) else if (resp.Estado.ToUpper().Trim() == "VIGENTE" && string.IsNullOrEmpty(resp.EstatusCancelacion) && !EsRefacturacion)
{ {
//ASIGNAMOS ESTATUS EMITIDA //ASIGNAMOS ESTATUS EMITIDA
CveEstatus = 3; CveEstatus = 3;
@@ -392,6 +408,12 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
} }
ObjVentas.Dispose(); ObjVentas.Dispose();
} }
else if ((resp.EsCancelable.ToUpper() == "NO CANCELABLE"))
{
sb.Append("Esta factura no es cancelable.");
retorno.Mensaje = sb.ToString();
return retorno;
}
} }
} }
else else
@@ -586,7 +608,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
byte[] ObjetoPDF = DescargarPDF(Encripta(String.Format("OP=CAN&CVEVTA={0}", CveVenta))); byte[] ObjetoPDF = DescargarPDF(Encripta(String.Format("OP=CAN&CVEVTA={0}", CveVenta)));
List <ClsSisMail.ArchivoMail> LSRutasMail = new List<ClsSisMail.ArchivoMail>(); List<ClsSisMail.ArchivoMail> LSRutasMail = new List<ClsSisMail.ArchivoMail>();
string Asunto = string.Empty; string Asunto = string.Empty;
string Cuerpo = string.Empty; string Cuerpo = string.Empty;