envío de correo

This commit is contained in:
2024-10-11 16:06:13 -07:00
parent b934422f03
commit ee81670411
3 changed files with 141 additions and 150 deletions

View File

@@ -4,12 +4,9 @@ Option Explicit On
Imports System.Data Imports System.Data
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports System.IO Imports System.IO
Imports System.Web.Management
Imports DocumentFormat.OpenXml.InkML
Imports Extensiones Imports Extensiones
Imports Microsoft.Reporting.WebForms Imports Microsoft.Reporting.WebForms
Imports MoreLinq
Imports Telerik.Web.UI
Partial Class Inventarios_EntregaAlmacen Partial Class Inventarios_EntregaAlmacen
Inherits ClsPaginas Inherits ClsPaginas
@@ -3364,7 +3361,7 @@ Partial Class Inventarios_EntregaAlmacen
Msg.AppendFormat("<br/><a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Consola</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}&Consola={1}", CveMovimiento, Consola))) Msg.AppendFormat("<br/><a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Consola</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}&Consola={1}", CveMovimiento, Consola)))
End If End If
If CveMovimientoEntrada > 0 AndAlso Not UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 Then If CveMovimientoEntrada > 0 AndAlso Not UsuarioActual.Empresa.Funcionalidad(578) = "1" Then
Msg.AppendFormat("<br/><br/> Movimiento Entrada (Traspaso): <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a></b>", CveMovimientoEntrada, FolioEntrada) Msg.AppendFormat("<br/><br/> Movimiento Entrada (Traspaso): <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a></b>", CveMovimientoEntrada, FolioEntrada)
Msg.AppendFormat("<br/> <a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoEntrada))) Msg.AppendFormat("<br/> <a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoEntrada)))
End If End If
@@ -3415,12 +3412,16 @@ Partial Class Inventarios_EntregaAlmacen
Alert(Msg.ToString(), TipoMensaje.MsgInformacion) Alert(Msg.ToString(), TipoMensaje.MsgInformacion)
If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then
EnviarCorreoEntregaSMS(CveVentaSurtir, UsuarioActual, CveMovimiento, Folio)
End If
Limpia() Limpia()
CargaPendientes() CargaPendientes()
LimpiaCampos() LimpiaCampos()
CargaBitacora = False CargaBitacora = False
Else Else
ObjInventario.RollBack() ObjInventario.RollBack()
Alert(TextoError.ToString(), TipoMensaje.MsgError) Alert(TextoError.ToString(), TipoMensaje.MsgError)
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')") RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
End If End If
@@ -3958,6 +3959,49 @@ Partial Class Inventarios_EntregaAlmacen
MailCls = Nothing MailCls = Nothing
End Sub End Sub
Private Sub EnviarCorreoEntregaSMS(tCveVenta As Integer, UsuarioActual As Usuario, tCveMovimiento As Integer, FolioRemision As Integer)
'Dim Correo As New ClsSisMail
Dim SerieFolio As String = ""
Dim Destinatario As String = ""
Dim tCveVendedor As Integer
Dim ObjVentas As New ClsVentas()
Dim strBody As New StringBuilder
If ObjVentas.GetVenta(tCveVenta, UsuarioActual.CveEmpresa) Then
Dim dr As DataRow = ObjVentas.DtResultados.FiltroPrimero("")
tCveVendedor = dr("CveVendedor").ToString.ToEntero()
Dim CorreoVendedor As String = dr("CorreoVendedorVenta").ToString
Dim dtDetalle As New DataTable
Dim objInv As New ClsInventarios
If objInv.GetMovimientosDetalle(tCveMovimiento, UsuarioActual.CveEmpresa) Then
dtDetalle = objInv.DtResultados
End If
objInv.Dispose()
Dim ListMateriales As New List(Of GenericaCantidadProducto)
Dim DetalleTable As String = ""
For Each dRow As DataRow In dtDetalle.Rows
ListMateriales.Add(New GenericaCantidadProducto With {.Cantidad = dRow("Cantidad").ToString.ToEntero, .Producto = dRow("PS").ToString})
Next
CorreoVendedor = "rene.molina@adssistemas.mx"
Dim tCveOS As Integer = -1
Dim FolioOS As String = "-"
Dim objOS As New ClsOS
If objOS.GetCotizacionOS(CveVentaSurtir) Then
tCveOS = objOS.DtResultados.FiltroPrimeroValor("CveOS", "").ToEntero
FolioOS = objOS.DtResultados.FiltroPrimeroValor("Folio", "")
End If
objOS.Dispose()
' TxtObservaciones.Text = $"Dr. {drE("Medico").ToString}{vbCrLf}Cx. {drE("Procedimiento").ToString}{vbCrLf}F. Cirugía {drE("FechaParaSurtir").ToString.ToDateTime.ToString("dd/MM/yyyy HH:mm")}{vbCrLf}H. {drE("Sucursal").ToString}{vbCrLf}"
EnviaNotificacionSMS(6, UsuarioActual.Empresa, tCveOS, FolioOS, dr("FechaParaSurtir").ToString.ToDateTime, dr("ClienteNombre").ToString, dr("Medico").ToString, dr("Procedimiento").ToString, "", dr("VendedorNombre").ToString, FolioRemision.ToString, ListMateriales, CorreoVendedor)
End If
ObjVentas.Dispose()
End Sub
Private Sub Limpia() Private Sub Limpia()
'DATOS DE LA VENTA 'DATOS DE LA VENTA
@@ -4581,51 +4625,15 @@ Partial Class Inventarios_EntregaAlmacen
Dim ObjOS As New ClsOS(TransaccionSql) Dim ObjOS As New ClsOS(TransaccionSql)
Respuesta = ObjOS.UpdateOrdenesServiciosEstatus(CveOSEstatusFinalizada, UsuarioActual.CveUsuario, CveOSCerrar) Respuesta = ObjOS.UpdateOrdenesServiciosEstatus(CveOSEstatusFinalizada, UsuarioActual.CveUsuario, CveOSCerrar)
Dim cancelarPeido As Boolean = CancelarPedido(TransaccionSql, CveMovimientoGenerado, Respuesta) Dim cancelarPeido As Boolean = CancelarPedido(TransaccionSql, CveMovimientoGenerado, Respuesta)
If Respuesta Then If Respuesta Then
Dim ObjInventario As New ClsInventarios(TransaccionSql) Dim ObjInventario As New ClsInventarios(TransaccionSql)
If ObjInventario.GetMovimientosDetalle(CveMovimientoGenerado, UsuarioActual.CveEmpresa) Then If ObjInventario.GetMovimientosDetalle(CveMovimientoGenerado, UsuarioActual.CveEmpresa) Then
If Not cancelarPeido Then If Not cancelarPeido Then
'Dim DT_Ventas_Detalles As DataTable = DTSolicitudDev.FiltraParametros("", "", {"CantidadPedido", "CvePS", "CveVentaDetalle"})
'DT_Ventas_Detalles.Columns.Add("CantidadUsada", GetType(Decimal))
'DT_Ventas_Detalles.AcceptChanges()
'For Each dRow As DataRow In DT_Ventas_Detalles.Rows
' For Each gvRow As GridViewRow In GvMU.Rows
' Dim CantidadUsada As Decimal = gvRow.FCTextBox("TxtUtilizado").Text.ToDecimal
' If dRow("CvePS").ToString.ToDecimal = gvRow.DataKey("CvePS").ToDecimal AndAlso CantidadUsada > 0 Then
' dRow("CantidadUsada") = dRow("CantidadUsada").ToString.ToDecimal + CantidadUsada
' End If
' Next
'Next
'For Each dRow As DataRow In DT_Ventas_Detalles.Rows
' Dim CantidadUsada As Decimal = dRow("CantidadUsada").ToString.ToDecimal
' If dRow("CantidadUsada").ToString.ToDecimal < dRow("CantidadPedido").ToString.ToDecimal Then
' If Not ObjInventario.UpdatePedidoDetalleCantidad(dRow("CveVentaDetalle").ToString.ToEntero, CantidadUsada, 2) Then
' ProcesoOK = False
' Exit For
' End If
' End If
'Next
For Each Dr As DataRow In ObjInventario.DtResultados.Rows For Each Dr As DataRow In ObjInventario.DtResultados.Rows
Dim CveVentaDetalle As Integer = Dr("CveVentaDetalle").ToString().ToEntero() Dim CveVentaDetalle As Integer = Dr("CveVentaDetalle").ToString().ToEntero()
Dim Cantidad As Decimal = Dr("Cantidad").ToString().ToDecimal Dim Cantidad As Decimal = Dr("Cantidad").ToString().ToDecimal
If CveVentaDetalle > 0 Then If CveVentaDetalle > 0 Then
If Not ObjInventario.UpdatePedidoDetalleCantidad(CveVentaDetalle, Cantidad) Then If Not ObjInventario.UpdatePedidoDetalleCantidad(CveVentaDetalle, Cantidad) Then
Respuesta = False Respuesta = False
@@ -4634,11 +4642,7 @@ Partial Class Inventarios_EntregaAlmacen
Else Else
Respuesta = False Respuesta = False
End If End If
Next Next
End If End If
End If End If
End If End If

View File

@@ -2855,7 +2855,7 @@ Partial Class OS_OrdenesServicios
Private Sub CargaTecnico() Private Sub CargaTecnico()
DdlTecnico.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa) DdlTecnico.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa)
DdlTecnico.DataBind() DdlTecnico.DataBind()
DdlTecnico.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlTecnico.Items.Insert(0, New ListItem("-", "-1"))
DdlUsuarioAtendio.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa) DdlUsuarioAtendio.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa)
DdlUsuarioAtendio.DataBind() DdlUsuarioAtendio.DataBind()
@@ -3101,6 +3101,10 @@ Partial Class OS_OrdenesServicios
Dim GenerarRemisionMovimientos As Boolean = False Dim GenerarRemisionMovimientos As Boolean = False
Dim AplicaDevolucion As Boolean = False Dim AplicaDevolucion As Boolean = False
Dim ListMaterialesUtil As New List(Of GenericaCantidadProducto)
Dim ListMaterialesDev As New List(Of GenericaCantidadProducto)
Dim Respuesta As New RespuestaFacturacion()
If DdlTipoVenta.SelectedValue = "5" Then 'Consignación - Uso Material If DdlTipoVenta.SelectedValue = "5" Then 'Consignación - Uso Material
'genera una salida de almacen. 'genera una salida de almacen.
Dim Fecha As DateTime = ClsPaginas.NowADS() Dim Fecha As DateTime = ClsPaginas.NowADS()
@@ -3197,6 +3201,7 @@ Partial Class OS_OrdenesServicios
If CantidadDev > 0 AndAlso CveVentaDetalle > 0 Then If CantidadDev > 0 AndAlso CveVentaDetalle > 0 Then
AplicaDevolucion = True AplicaDevolucion = True
ListMaterialesDev.Add(New GenericaCantidadProducto With {.Cantidad = CantidadDev, .Producto = GvRow.DataKey("CodigoPS")})
If Not ObjV.UpdateVentasDetalleCantidadDevolucion(CveVentaDetalle, CantidadDev) Then If Not ObjV.UpdateVentasDetalleCantidadDevolucion(CveVentaDetalle, CantidadDev) Then
ProcesoOK = False ProcesoOK = False
GenerarRemisionMovimientos = False GenerarRemisionMovimientos = False
@@ -3223,7 +3228,6 @@ Partial Class OS_OrdenesServicios
End If End If
End If End If
Dim Respuesta As New RespuestaFacturacion()
Dim DtVentaDetalle As New DataTable Dim DtVentaDetalle As New DataTable
Dim CveMovimientoSalida, CveMovimientoEntrada As Integer Dim CveMovimientoSalida, CveMovimientoEntrada As Integer
Dim ImporteAlmacen As Decimal Dim ImporteAlmacen As Decimal
@@ -3268,6 +3272,7 @@ Partial Class OS_OrdenesServicios
Dim CvePS As Integer = drr("CvePS").ToString.ToEntero Dim CvePS As Integer = drr("CvePS").ToString.ToEntero
Dim CveUM As Integer = drr("CveUM").ToString.ToEntero Dim CveUM As Integer = drr("CveUM").ToString.ToEntero
Dim PU As Decimal = drr("PU").ToString.ToDecimal Dim PU As Decimal = drr("PU").ToString.ToDecimal
ListMaterialesUtil.Add(New GenericaCantidadProducto With {.Cantidad = Cantidad, .Producto = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("PSCodigo")})
If Cantidad > 0 Then If Cantidad > 0 Then
Dim CveVentaDetalle As Integer = drr("CveVentaDetalle").ToString.ToEntero 'DtVentaDetalle.FiltroPrimeroValor("CveVentaDetalle", $"CveVentaDetallePadre = {GvRow.DataKey("CveVentaDetalle")}").ToEntero Dim CveVentaDetalle As Integer = drr("CveVentaDetalle").ToString.ToEntero 'DtVentaDetalle.FiltroPrimeroValor("CveVentaDetalle", $"CveVentaDetallePadre = {GvRow.DataKey("CveVentaDetalle")}").ToEntero
@@ -3384,17 +3389,24 @@ Partial Class OS_OrdenesServicios
Alert("El material utilizado se guardó correctamente") Alert("El material utilizado se guardó correctamente")
End If End If
End If End If
Dim Contenido As String = $" OS #{LblFolio.Text}<br/> Hospital: {If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedItem.Text, LblCliente.Text)} <br/>Folio {LblFolio.Text}<br/>"
'genera notificación
If AplicaDevolucion Then 'notif a almacen
EnviaNotificacion("listado productos")
End If
RegistraScript("$('#DivModalMaterialUtilizado').modal('hide');") RegistraScript("$('#DivModalMaterialUtilizado').modal('hide');")
CargaEventoBitacora() CargaEventoBitacora()
Dim CorreoDestino As String = "rene.molina@adssistemas.mx"
'genera notificación
If AplicaDevolucion Then 'notif a almacen de devolución
EnviaNotificacionSMS(10, UsuarioActual.Empresa, CveOS, LblFolio.Text, TxtFechaCita.Text.ToDateTime, If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedItem.Text, LblCliente.Text), DdlMedico.SelectedItem.Text, DdlProcedimiento.SelectedItem.Text, DdlTecnico.SelectedItem.Text, "vendedor", TxtFolioRemisionModal.Text, ListMaterialesDev, CorreoDestino)
Else Else
ObjV.RollBack() EnviaNotificacionSMS(11, UsuarioActual.Empresa, CveOS, LblFolio.Text, TxtFechaCita.Text.ToDateTime, If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedItem.Text, LblCliente.Text), DdlMedico.SelectedItem.Text, DdlProcedimiento.SelectedItem.Text, DdlTecnico.SelectedItem.Text, "vendedor", TxtFolioRemisionModal.Text, ListMaterialesDev, CorreoDestino)
End If
If ListMaterialesUtil.Count > 0 Then 'notif a almacen de mat utilizado
EnviaNotificacionSMS(9, UsuarioActual.Empresa, CveOS, LblFolio.Text, TxtFechaCita.Text.ToDateTime, If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedItem.Text, LblCliente.Text), DdlMedico.SelectedItem.Text, DdlProcedimiento.SelectedItem.Text, DdlTecnico.SelectedItem.Text, "vendedor", TxtFolioRemisionModal.Text, ListMaterialesUtil, CorreoDestino)
End If
If Respuesta IsNot Nothing Then 'notif de remisión generada
EnviaNotificacionSMS(12, UsuarioActual.Empresa, Respuesta.CveVenta, Respuesta.SerieFolio, TxtFechaCita.Text.ToDateTime, If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedItem.Text, LblCliente.Text), DdlMedico.SelectedItem.Text, DdlProcedimiento.SelectedItem.Text, DdlTecnico.SelectedItem.Text, "vendedor", TxtFolioRemisionModal.Text, ListMaterialesUtil, CorreoDestino)
End If
Else
ObjV.RollBack()
Alert("Se presento un error al guardar el material", TipoMensaje.MsgAdvertencia) Alert("Se presento un error al guardar el material", TipoMensaje.MsgAdvertencia)
End If End If
@@ -3402,28 +3414,6 @@ Partial Class OS_OrdenesServicios
End If End If
End Sub End Sub
Private Sub EnviaNotificacion(Contenido As String)
Dim ObjMail As New ClsSisMail()
Dim Asunto As String = "Notificación de recolección de Producto"
Dim CorreoDestino As String = ""
If ObjMail.SendMail(UsuarioActual.Empresa, CorreoDestino, Asunto, Contenido) Then
End If
End Sub
Private Sub EnviaNotificacionSMS(Tipo As Integer, Folio As String, FechaCirugía As DateTime, Hospital As String, Medico As String, Procedimiento As String, Técnico As String, Vendedor As String, Remision As String, dtMaterial As DataTable)
Dim ObjMail As New ClsSisMail()
Dim Asunto As String = "Notificación de recolección de Producto"
Dim CorreoDestino As String = ""
If ObjMail.SendMail(UsuarioActual.Empresa, CorreoDestino, Asunto, Contenido) Then
End If
End Sub
Private Function GuardarArchivoConfirmacion(ByRef transaccion As SqlTransaction, CveOSActual As Integer, CveVentaRemisionGenerada As Integer) As Boolean Private Function GuardarArchivoConfirmacion(ByRef transaccion As SqlTransaction, CveOSActual As Integer, CveVentaRemisionGenerada As Integer) As Boolean
Dim respuesta As Boolean = False Dim respuesta As Boolean = False
@@ -3497,8 +3487,6 @@ Partial Class OS_OrdenesServicios
Dim CveSubProyectoPedido As Integer = -1 Dim CveSubProyectoPedido As Integer = -1
Dim CveMoneda As Integer = -1 Dim CveMoneda As Integer = -1
Dim tCveVendedor As Integer = -1 Dim tCveVendedor As Integer = -1
Dim CountDetalles As Integer = 0 Dim CountDetalles As Integer = 0
Dim PuEnCero As Boolean = False Dim PuEnCero As Boolean = False
@@ -3534,8 +3522,6 @@ Partial Class OS_OrdenesServicios
Return Respuesta Return Respuesta
End If End If
If ObjVentas.GetVenta(CvePedido, UsuarioActual.CveEmpresa, VerificaAlmacen:=False) Then If ObjVentas.GetVenta(CvePedido, UsuarioActual.CveEmpresa, VerificaAlmacen:=False) Then
Dim DbRowVenta As DataRow = ObjVentas.DtResultados.Copy().Rows(0) Dim DbRowVenta As DataRow = ObjVentas.DtResultados.Copy().Rows(0)
CveMoneda = DbRowVenta("CveMoneda").ToString.ToEntero CveMoneda = DbRowVenta("CveMoneda").ToString.ToEntero
@@ -3743,4 +3729,4 @@ Partial Class OS_OrdenesServicios
End Try End Try
End Sub End Sub
End Class End Class

View File

@@ -7063,14 +7063,14 @@ Partial Class Ventas
End If End If
'funcionalidad EnviarSMSTimbrado 'funcionalidad EnviarSMSTimbrado
If CveVenta <= 0 And UsuarioActual.Empresa.Funcionalidad(152) <> "" And DdlTipoComprobante.SelectedValue = "Ing" Then 'If CveVenta <= 0 And UsuarioActual.Empresa.Funcionalidad(152) <> "" And DdlTipoComprobante.SelectedValue = "Ing" Then
If ObjCliente.CobranzaTelefono <> "" Then ' If ObjCliente.CobranzaTelefono <> "" Then
LblMensaje.Text = $"Se enviará mensaje SMS a {ObjCliente.CobranzaTelefono}" ' LblMensaje.Text = $"Se enviará mensaje SMS a {ObjCliente.CobranzaTelefono}"
Else ' Else
LblMensaje.Text = $"El Cliente no tiene teléfono para envío SMS " ' LblMensaje.Text = $"El Cliente no tiene teléfono para envío SMS "
End If ' End If
LblMensaje.Visible = True ' LblMensaje.Visible = True
End If 'End If
'If Not ObjCliente.RFC = "XAXX010101000" Then 'If Not ObjCliente.RFC = "XAXX010101000" Then
' TxtNumCtaPago.Text = ObjCliente.NumCtaPago ' TxtNumCtaPago.Text = ObjCliente.NumCtaPago
@@ -11139,9 +11139,9 @@ Partial Class Ventas
End If End If
If SeTimbro AndAlso ObjFactura.TipoDocto.Contiene("Ing") Then 'If SeTimbro AndAlso ObjFactura.TipoDocto.Contiene("Ing") Then
EstatusSMS = EnviarSMSTimbrado(ObjEventos) ' EstatusSMS = EnviarSMSTimbrado(ObjEventos)
End If ' End If
'If Not SeTimbro Then 'If Not SeTimbro Then
' Alert(MsgErrorTimbrado, TipoMensaje.MsgError) ' Alert(MsgErrorTimbrado, TipoMensaje.MsgError)
@@ -11363,7 +11363,7 @@ Partial Class Ventas
'ENVIAR NOTIFICACION DE SMS 'ENVIAR NOTIFICACION DE SMS
If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then
If DdlTipoComprobante.SelectedValue.Contiene("Ped") Then If DdlTipoComprobante.SelectedValue.Contiene("Ped") Then
Dim CorreoDestino As String = "rene.molina@adssistemas.mx" Dim CorreoDestinoAlmacen As String = "almacen@smsmedicalsolutions.com"
If RBLTipoVenta.SelectedValue.Contiene("1", "2") Then If RBLTipoVenta.SelectedValue.Contiene("1", "2") Then
Dim ListMateriales As New List(Of GenericaCantidadProducto) Dim ListMateriales As New List(Of GenericaCantidadProducto)
@@ -11376,7 +11376,8 @@ Partial Class Ventas
EnviaNotificacionSMS(4, UsuarioActual.Empresa, CveVenta, TxtFolio.Text, TxtFechaOS.Text.ToDateTime, If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedItem.Text, LblCliente.Text), DdlMedico.SelectedItem.Text, DdlProcedimiento.SelectedItem.Text, "", DdlVendedor.SelectedItem.Text, "", Nothing, CorreoDestino) EnviaNotificacionSMS(4, UsuarioActual.Empresa, CveVenta, TxtFolio.Text, TxtFechaOS.Text.ToDateTime, If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedItem.Text, LblCliente.Text), DdlMedico.SelectedItem.Text, DdlProcedimiento.SelectedItem.Text, "", DdlVendedor.SelectedItem.Text, "", Nothing, CorreoDestino)
End If End If
'cirugía en el mismo día o si es despues de las 9 y requiere técnico, 'jefe de técnicos 'cirugía en el mismo día o si es despues de las 9 y requiere técnico, 'jefe de técnicos
If TxtFechaOS.Text.ToDate.ToShortDateString = NowADS.ToShortDateString OrElse (NowADS.Hour > 21 OrElse ChkRequiereTecnicoModal.Checked) Then If TxtFechaOS.Text.ToDate.ToShortDateString = NowADS.ToShortDateString OrElse (NowADS.Hour > 21 And NowADS.AddDays(1).ToShortDateString = TxtFechaOS.Text.ToDate.ToShortDateString AndAlso ChkRequiereTecnicoModal.Checked) Then
CorreoDestinoAlmacen = "esandoval@smsmedicalsolutions.com "
EnviaNotificacionSMS(5, UsuarioActual.Empresa, CveVenta, TxtFolio.Text, TxtFechaOS.Text.ToDateTime, If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedItem.Text, LblCliente.Text), DdlMedico.SelectedItem.Text, DdlProcedimiento.SelectedItem.Text, "", DdlVendedor.SelectedItem.Text, "", Nothing, CorreoDestino) EnviaNotificacionSMS(5, UsuarioActual.Empresa, CveVenta, TxtFolio.Text, TxtFechaOS.Text.ToDateTime, If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedItem.Text, LblCliente.Text), DdlMedico.SelectedItem.Text, DdlProcedimiento.SelectedItem.Text, "", DdlVendedor.SelectedItem.Text, "", Nothing, CorreoDestino)
End If End If
End If End If
@@ -17940,20 +17941,20 @@ Partial Class Ventas
'NOTIFICACION DE SMS 'NOTIFICACION DE SMS
Dim EstatusSMS As Integer = 0 'Dim EstatusSMS As Integer = 0
If ObjFactura.TipoDocto = "Ing" Then 'If ObjFactura.TipoDocto = "Ing" Then
Dim ObjEventos As New ClsOIEventos ' Dim ObjEventos As New ClsOIEventos
EnviarSMSTimbrado(ObjEventos) ' EnviarSMSTimbrado(ObjEventos)
ObjEventos.Dispose() ' ObjEventos.Dispose()
End If 'End If
Select Case EstatusSMS 'Select Case EstatusSMS
Case 1 ' Case 1
MensajeAlert.AppendFormat("<b>Notificación SMS:</b> enviado con éxito al cliente al celular: <b>{0}</b>", ObjFactura.Cliente.CobranzaTelefono) ' MensajeAlert.AppendFormat("<b>Notificación SMS:</b> enviado con éxito al cliente al celular: <b>{0}</b>", ObjFactura.Cliente.CobranzaTelefono)
Case 2 ' Case 2
MensajeAlert.AppendFormat("<b>Notificación SMS:</b> sin enviar. Ocurrió un error en el envío, por favor verifique la información del cliente.") ' MensajeAlert.AppendFormat("<b>Notificación SMS:</b> sin enviar. Ocurrió un error en el envío, por favor verifique la información del cliente.")
Case 3 ' Case 3
MensajeAlert.AppendFormat("<b>Notificación SMS:</b> sin enviar. No se pudo cargar el celular del cliente, por favor verifique la información del cliente.") ' MensajeAlert.AppendFormat("<b>Notificación SMS:</b> sin enviar. No se pudo cargar el celular del cliente, por favor verifique la información del cliente.")
End Select 'End Select
'MUESTA Alert OK 'MUESTA Alert OK
'MensajeAlert.Append("El Documento se generó correctamente") 'MensajeAlert.Append("El Documento se generó correctamente")
@@ -27920,49 +27921,49 @@ Partial Class Ventas
#End Region #End Region
#Region " ENVIAR SMS - CONFIRMACION DE TIMBRADO " #Region " ENVIAR SMS - CONFIRMACION DE TIMBRADO "
Private Function EnviarSMSTimbrado(ByRef ObjEventos As ClsOIEventos) As Integer 'Private Function EnviarSMSTimbrado(ByRef ObjEventos As ClsOIEventos) As Integer
'NOTA: ' 'NOTA:
'0 = NO APLICA ' '0 = NO APLICA
'1 = TODO FINO ' '1 = TODO FINO
'2 = ERROR ' '2 = ERROR
'3 = SIN CELULAR - PROBLEMA CON EL CELULAR ' '3 = SIN CELULAR - PROBLEMA CON EL CELULAR
Try ' Try
Dim Mensaje As String = UsuarioActual.Empresa.Funcionalidad(152) ' Dim Mensaje As String = UsuarioActual.Empresa.Funcionalidad(152)
If Mensaje = "" Then Return 0 ' If Mensaje = "" Then Return 0
Dim Celular As String = "" ' Dim Celular As String = ""
Try ' Try
Celular = ObjFactura.Cliente.CobranzaTelefono ' Celular = ObjFactura.Cliente.CobranzaTelefono
Catch ex As Exception ' Catch ex As Exception
End Try ' End Try
If Celular.Length <> 10 Then Return 3 ' If Celular.Length <> 10 Then Return 3
'ARMA MENSAJE ' 'ARMA MENSAJE
'4: VSH Monitoreo aviso de: Factura pendiente {SerieFolio} del {Fecha} por ${Importe} fecha limite de pago {FechaPago} Bancomer 0171426931-{ClienteNombreCorto} ' '4: VSH Monitoreo aviso de: Factura pendiente {SerieFolio} del {Fecha} por ${Importe} fecha limite de pago {FechaPago} Bancomer 0171426931-{ClienteNombreCorto}
Mensaje = Mensaje.Replace("{SerieFolio}", ObjFactura.SerieFolio) ' Mensaje = Mensaje.Replace("{SerieFolio}", ObjFactura.SerieFolio)
Mensaje = Mensaje.Replace("{Fecha}", ObjFactura.Fecha.ToString("dd-MMM-yyyy").Replace(".", "")) ' Mensaje = Mensaje.Replace("{Fecha}", ObjFactura.Fecha.ToString("dd-MMM-yyyy").Replace(".", ""))
Mensaje = Mensaje.Replace("{Importe}", ObjFactura.Total.FormatoNumero) ' Mensaje = Mensaje.Replace("{Importe}", ObjFactura.Total.FormatoNumero)
Mensaje = Mensaje.Replace("{FechaPago}", ObjFactura.FechaPago.ToString("dd-MMM-yyyy").Replace(".", "")) ' Mensaje = Mensaje.Replace("{FechaPago}", ObjFactura.FechaPago.ToString("dd-MMM-yyyy").Replace(".", ""))
Mensaje = Mensaje.Replace("{ClienteNombreCorto}", ObjFactura.Cliente.NombreCorto) ' Mensaje = Mensaje.Replace("{ClienteNombreCorto}", ObjFactura.Cliente.NombreCorto)
If Mensaje = "" Then Return 2 ' If Mensaje = "" Then Return 2
Dim ObjMensaje As New ClsTecnoMovil ' Dim ObjMensaje As New ClsTecnoMovil
If ObjMensaje.EnviarMensajeWS(Celular, Mensaje) Then ' If ObjMensaje.EnviarMensajeWS(Celular, Mensaje) Then
If ObjEventos.AddEventoBitacora($"Notificación al cliente via SMS. Mensaje: {Mensaje}", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCliente:=ObjFactura.CveCliente, CveVenta:=ObjFactura.CveVenta) Then ' If ObjEventos.AddEventoBitacora($"Notificación al cliente via SMS. Mensaje: {Mensaje}", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCliente:=ObjFactura.CveCliente, CveVenta:=ObjFactura.CveVenta) Then
End If ' End If
Return 1 ' Return 1
Else ' Else
Return 2 ' Return 2
End If ' End If
Catch ex As Exception ' Catch ex As Exception
OnError("Ocurrió un error al generar el SMS", ex) ' OnError("Ocurrió un error al generar el SMS", ex)
Return 0 ' Return 0
End Try ' End Try
End Function 'End Function
#End Region #End Region
#Region " COMPLEMENTOS PAGO " #Region " COMPLEMENTOS PAGO "