Files
Asegasa.NET/chunk_informes.txt
2026-04-28 11:52:16 +02:00

210 lines
16 KiB
Plaintext

Public Shared Function ObtieneRecibosAvisoImperativoLegal(Optional bd As bdGestionAsegasa.gestionasegasaEntities = Nothing, Optional RecibosSinComunicacion As List(Of String) = Nothing) As List(Of recibos)
If bd Is Nothing Then bd = bdGestionAsegasa.gestionasegasaEntities.NuevoContexto
Dim tgsms As Integer = FormaComunicacionEnum.POR_SMS
Dim tgcarta As Integer = FormaComunicacionEnum.POR_CARTA
Dim tgsa As Integer = FormaComunicacionEnum.SIN_DOMICILIO_NI_TLF_VALIDO
Dim tgsn As Integer = FormaComunicacionEnum.NINGUNA
Dim TipoCarta As Integer = TipoGestionEnum.AVISO_IMPERATIVO_LEGAL
'Dim idTre = bd.enumeraciones.First(Function(X) X.Codigo = "TRC.E").idEnumeracion
'Dim idTres = bd.enumeraciones.First(Function(X) X.Codigo = "TRC.ES").idEnumeracion
Dim idTrex = bd.enumeraciones.First(Function(X) X.Codigo = "TRC.EX").idEnumeracion
'Dim idTrc = bd.enumeraciones.First(Function(X) X.Codigo = "TRC.C").idEnumeracion
'Dim idTrcs = bd.enumeraciones.First(Function(X) X.Codigo = "TRC.CS").idEnumeracion
Dim idTrcx = bd.enumeraciones.First(Function(X) X.Codigo = "TRC.CX").idEnumeracion
Dim idtippba = bd.enumeraciones.First(Function(X) X.Codigo = "TIPP.BA").idEnumeracion
Dim idtipcia = bd.enumeraciones.First(Function(X) X.Codigo = "TIPP.CIA").idEnumeracion
Dim idtipFAE = bd.enumeraciones.First(Function(X) X.Codigo = "TIPP.FAE").idEnumeracion
' Dim idtippe = bd.enumeraciones.First(Function(X) X.Codigo = "TIPP.PE").idEnumeracion
Dim idtipag = bd.enumeraciones.First(Function(X) X.Codigo = "TIPP.AG").idEnumeracion
' Dim idtipag = bd.enumeraciones.First(Function(X) X.Codigo = "TIPP.AG").idEnumeracion
Dim TipoRemesa = TipoGestionEnum.AVISO_REMESA_O_COBRO_DIRECTO
Dim FechaLimite = Today.AddDays(-15)
Dim feflim = Today.AddDays(-10)
' Dim FechaEfectoLimite = Today.AddDays(25)
Dim FechaEfectoLimite = Today.AddDays(30)
'Dim rs = bd.recibos.
' Include("agentes").Include("subagentes").Include("polizassg.entidadespolizas.entidades").Include("polizassg.ramos").Include("polizassg.companias").Include("enumeraciones1").Include("enumeraciones3").
' Where(Function(x) x.PrimaNeta.Value > 0 And x.FechaPago.HasValue = False And
' x.FechaBaja.HasValue = False And x.idTipoPago <> idtippba And x.idTipoPago <> idtipag And x.idTipoPago <> idtipcia And x.idTipo <> idTrex And x.idTipo <> idTrcx _
' And Not x.gestionesrecibos.Any(Function(y) y.Tipo = TipoCarta) _
' And x.gestionesrecibos.Any(Function(y) y.Tipo = TipoRemesa And y.Fecha <= FechaLimite) _
' And x.FechaEfecto > feflim).ToList
Dim rsco = bd.recibos.
Include("agentes").Include("subagentes").Include("polizassg.entidadespolizas.entidades").Include("polizassg.ramos").Include("polizassg.companias").Include("enumeraciones1").Include("enumeraciones3").
Where(Function(x) x.PrimaNeta.Value > 0 AndAlso x.FechaPago.HasValue = False And
x.FechaBaja.HasValue = False AndAlso x.idTipoPago <> idtippba And x.idTipoPago <> idtipag AndAlso x.idTipoPago <> idtipcia AndAlso x.idTipoPago <> idtipFAE AndAlso x.idTipo <> idTrex AndAlso x.idTipo <> idTrcx _
AndAlso Not x.gestionesrecibos.Any(Function(y) y.Tipo = TipoCarta) _
AndAlso x.gestionesrecibos.Any(Function(y) y.Tipo = TipoRemesa And y.Fecha <= FechaLimite) _
AndAlso x.FechaEfecto < feflim AndAlso FechaEfectoLimite >= x.FechaEfecto).ToList.Where(Function(x) x.BloquearFacturacion = False).ToList
Dim rsba = bd.recibos.
Include("agentes").Include("subagentes").Include("polizassg.entidadespolizas.entidades").Include("polizassg.ramos").Include("polizassg.companias").Include("enumeraciones1").Include("enumeraciones3").
Where(Function(x) x.PrimaNeta.Value > 0 AndAlso x.FechaPago.HasValue = False AndAlso x.FechaDevolucionBanco.HasValue AndAlso
x.FechaBaja.HasValue = False AndAlso x.idTipoPago = idtippba And x.idTipo <> idTrex AndAlso x.idTipo <> idTrcx _
AndAlso Not x.gestionesrecibos.Any(Function(y) y.Tipo = TipoCarta) _
AndAlso x.gestionesrecibos.Any(Function(y) y.Tipo = TipoRemesa AndAlso y.Fecha <= FechaLimite) _
AndAlso x.FechaEfecto < feflim AndAlso FechaEfectoLimite >= x.FechaEfecto).ToList.Where(Function(x) x.BloquearFacturacion = False).ToList
Dim rs = rsco.Union(rsba).ToList
Dim lr = rs.Select(Function(x) New With {.CodigoRecibo = x.CodigoRecibo, .NumeroPoliza = x.polizassg.NumeroPoliza, .NumeroSuplemento = x.polizassg.NumeroSuplemento, .FechaEfecto = x.FechaEfecto, .TipoPago = x.TipoPago, .FechaDevolucionBanco = x.FechaDevolucionBanco, .Tomador = x.polizassg.Tomador.RazonSocial, .BienesAsegurados = x.polizassg.BienesAsegurados, .Ramo = x.polizassg.ramos.Descripcion, .Compañia = x.polizassg.companias.Nombre, .Agente = x.agentes.Nombre}).ToList
'Dim f = tsWPF.Utilidades.Varias.IEnumerableAExcel(lr)
'IO.File.WriteAllBytes("c:\tmp\recibosimperativo.xlsx", f)
For Each r In rs
If RecibosSinComunicacion IsNot Nothing AndAlso RecibosSinComunicacion.Contains(r.CodigoRecibo) Then
r.FormaComunicacionTMP = tgsn
Else
If r.polizassg.EntidadPolizaTomador.Telefono1.EsNumeroTelefonoMovilEspañolValido Or r.polizassg.EntidadPolizaTomador.Telefono2.EsNumeroTelefonoMovilEspañolValido Then
r.FormaComunicacionTMP = tgsms
Else
If r.polizassg.EntidadPolizaTomador.direcciones IsNot Nothing AndAlso r.polizassg.EntidadPolizaTomador.direcciones.CodigoPostal.NothingAVacio <> "" AndAlso r.polizassg.EntidadPolizaTomador.direcciones.municipios IsNot Nothing AndAlso r.polizassg.EntidadPolizaTomador.direcciones.Direccion.NothingAVacio <> "" Then
r.FormaComunicacionTMP = tgcarta
Else
r.FormaComunicacionTMP = tgsa
End If
End If
End If
Next
Return rs
End
Public Shared Function ObtieneRecibosCartaRemesa(Optional bd As bdGestionAsegasa.gestionasegasaEntities = Nothing) As List(Of recibos)
Try
If bd Is Nothing Then bd = bdGestionAsegasa.gestionasegasaEntities.NuevoContexto
Dim tgninguna As Integer = FormaComunicacionEnum.NINGUNA
Dim tgsms As Integer = FormaComunicacionEnum.POR_SMS
Dim tgcarta As Integer = FormaComunicacionEnum.POR_CARTA
Dim tgsa As Integer = FormaComunicacionEnum.SIN_DOMICILIO_NI_TLF_VALIDO
' Dim idRamo17 = bd.ramos.First(Function(x) x.Codigo = "17").idRamo
Dim idTre = bd.enumeraciones.First(Function(X) X.Codigo = "TRC.E").idEnumeracion
Dim idTres = bd.enumeraciones.First(Function(X) X.Codigo = "TRC.ES").idEnumeracion
Dim idTrex = bd.enumeraciones.First(Function(X) X.Codigo = "TRC.EX").idEnumeracion
Dim idTrc = bd.enumeraciones.First(Function(X) X.Codigo = "TRC.C").idEnumeracion
Dim idTrcs = bd.enumeraciones.First(Function(X) X.Codigo = "TRC.CS").idEnumeracion
Dim idTrcx = bd.enumeraciones.First(Function(X) X.Codigo = "TRC.CX").idEnumeracion
Dim idtippba = bd.enumeraciones.First(Function(X) X.Codigo = "TIPP.BA").idEnumeracion
Dim idtipcia = bd.enumeraciones.First(Function(X) X.Codigo = "TIPP.CIA").idEnumeracion
Dim idtipFAE = bd.enumeraciones.First(Function(X) X.Codigo = "TIPP.FAE").idEnumeracion
Dim idtipag = bd.enumeraciones.First(Function(X) X.Codigo = "TIPP.AG").idEnumeracion
Dim ahora = bdGestionAsegasa.Utilidades.AhoraMysql(bd)
Dim FecLim = ahora.Date.AddDays(20)
Dim TipoCartaRemesa As Integer = TipoGestionEnum.AVISO_REMESA_O_COBRO_DIRECTO
Dim rs = bd.recibos.Include("agentes").Include("subagentes").Include("polizassg.entidadespolizas.entidades").Include("polizassg.ramos").Include("polizassg.companias").Include("enumeraciones1").Include("enumeraciones2").Include("enumeraciones3") _
.Where(Function(x) x.FechaPago.HasValue = False AndAlso x.FechaCartaRemesaCobroDirecto Is Nothing AndAlso Not x.gestionesrecibos.Any(Function(y) y.Tipo = TipoCartaRemesa) AndAlso
x.FechaBaja Is Nothing AndAlso x.TotalRecibo > 0 And
(x.idTipoPago <> idtipcia AndAlso x.idTipoPago <> idtipFAE AndAlso x.idTipoPago <> idtipag) AndAlso
x.FechaEfecto < FecLim).ToList.Where(Function(x) x.BloquearFacturacion = False).ToList
' Dim rs = bd.recibos.Where(Function(x) x.idRecibo = 429451).ToList
For Each r In rs
Try
If r.FechaEfecto < ahora.AddDays(-20) Or r.FechaPago.HasValue Or r.idRemesa.HasValue Then
If Not (r.idRemesa.HasValue AndAlso Today.Subtract(r.remesas.Fecha.Value.Date).TotalDays > 0) AndAlso (r.polizassg.EntidadPolizaTomador.Telefono1.EsNumeroTelefonoMovilEspañolValido Or r.polizassg.EntidadPolizaTomador.Telefono2.EsNumeroTelefonoMovilEspañolValido) Then
r.FormaComunicacionTMP = tgsms
Else
r.FormaComunicacionTMP = tgninguna
End If
Else
If r.polizassg.EntidadPolizaTomador Is Nothing Then
r.FormaComunicacionTMP = tgsa
Else
If r.polizassg.EntidadPolizaTomador.Telefono1.EsNumeroTelefonoMovilEspañolValido Or r.polizassg.EntidadPolizaTomador.Telefono2.EsNumeroTelefonoMovilEspañolValido Then
r.FormaComunicacionTMP = tgsms
Else
If r.polizassg.EntidadPolizaTomador IsNot Nothing AndAlso r.polizassg.EntidadPolizaTomador.direcciones IsNot Nothing AndAlso r.polizassg.EntidadPolizaTomador.direcciones.CodigoPostal.NothingAVacio <> "" AndAlso r.polizassg.EntidadPolizaTomador.direcciones.municipios IsNot Nothing AndAlso r.polizassg.EntidadPolizaTomador.direcciones.Direccion.NothingAVacio <> "" Then
r.FormaComunicacionTMP = tgcarta
Else
r.FormaComunicacionTMP = tgsa
End If
End If
End If
End If
Catch ex As Exception
Throw New Exception(ex.Message, ex)
End Try
Next
Return rs
Catch ex As Exception
Throw New Exception(ex.Message, ex)
End Try
End
Public Shared Function ObtieneRecibosCartaBaja(Optional bd As bdGestionAsegasa.gestionasegasaEntities = Nothing, Optional RecibosSinComunicacion As List(Of String) = Nothing) As List(Of recibos)
If bd Is Nothing Then bd = bdGestionAsegasa.gestionasegasaEntities.NuevoContexto
Dim tgsms As Integer = FormaComunicacionEnum.POR_SMS
Dim tgcarta As Integer = FormaComunicacionEnum.POR_CARTA
Dim tgsa As Integer = FormaComunicacionEnum.SIN_DOMICILIO_NI_TLF_VALIDO
Dim tgsn As Integer = FormaComunicacionEnum.NINGUNA
Dim TipoCarta As Integer = TipoGestionEnum.AVISO_POLIZA_DE_BAJA
Dim Cabas = bd.enumeraciones.Where(Function(x) x.Codigo = "CABA.CIA" Or x.Codigo = "CABA.ASEG" Or x.Codigo = "CABA.AGEN" Or x.Codigo = "CABA.VTA" Or x.Codigo = "CABA.BJA" Or x.Codigo = "CABA.ASFP" Or x.Codigo = "CABA.SIN").Select(Function(x) x.idEnumeracion).ToList
Dim FechaInicio As New Date(2019, 12, 31)
Dim rs = bd.recibos.Include("agentes").Include("subagentes").Include("polizassg.entidadespolizas.entidades").Include("polizassg.ramos").Include("polizassg.companias").Include("enumeraciones1").Include("enumeraciones3").Where(Function(x) x.FechaBaja.HasValue AndAlso x.FechaBaja > FechaInicio AndAlso Cabas.Contains(x.idCausaBaja) AndAlso Not x.gestionesrecibos.Any(Function(y) y.Tipo = TipoCarta)).ToList.Where(Function(x) x.BloquearFacturacion = False).ToList
For Each r In rs
If RecibosSinComunicacion IsNot Nothing AndAlso RecibosSinComunicacion.Contains(r.CodigoRecibo) Then
r.FormaComunicacionTMP = tgsn
Else
If r.polizassg.EntidadPolizaTomador.Telefono1.EsNumeroTelefonoMovilEspañolValido Or r.polizassg.EntidadPolizaTomador.Telefono2.EsNumeroTelefonoMovilEspañolValido Then
r.FormaComunicacionTMP = tgsms
Else
If r.polizassg.EntidadPolizaTomador.direcciones IsNot Nothing AndAlso r.polizassg.EntidadPolizaTomador.direcciones.CodigoPostal.NothingAVacio <> "" AndAlso r.polizassg.EntidadPolizaTomador.direcciones.municipios IsNot Nothing And r.polizassg.EntidadPolizaTomador.direcciones.Direccion.NothingAVacio <> "" Then
r.FormaComunicacionTMP = tgcarta
Else
r.FormaComunicacionTMP = tgsa
End If
End If
End If
Next
Return rs
End
Public Shared Function ObtieneRecibosComunicacionDevueltoBanco(Optional bd As bdGestionAsegasa.gestionasegasaEntities = Nothing) As List(Of recibos)
If bd Is Nothing Then bd = bdGestionAsegasa.gestionasegasaEntities.NuevoContexto
Dim tgsms As Integer = FormaComunicacionEnum.POR_SMS
Dim tgcarta As Integer = FormaComunicacionEnum.POR_CARTA
Dim tgsa As Integer = FormaComunicacionEnum.SIN_DOMICILIO_NI_TLF_VALIDO
Dim TipoCarta As Integer = TipoGestionEnum.AVISO_RECIBO_DEVUELTO_BANCO
' Dim idTipoContDev As Integer = TipoGestionEnum.CONTABILIZACIÓN_DEVOLUCIÓN_BANCO_SISTEMA_HP
Dim idTrex = bd.enumeraciones.First(Function(X) X.Codigo = "TRC.EX").idEnumeracion
Dim idTrcx = bd.enumeraciones.First(Function(X) X.Codigo = "TRC.CX").idEnumeracion
Dim idtippba = bd.enumeraciones.First(Function(X) X.Codigo = "TIPP.BA").idEnumeracion
' Dim rs = bd.recibos.Include("agentes").Include("subagentes").Include("polizassg.entidadespolizas.entidades").Include("polizassg.ramos").Include("polizassg.companias").Include("enumeraciones1").Include("enumeraciones3").Where(Function(x) x.FechaBaja.HasValue = False And x.FechaCartaDevuelto.HasValue = False And x.FechaDevolucionBanco.HasValue And x.idTipoPago = idtippba And x.idTipo <> idTrex And x.idTipo <> idTrcx And Not x.gestionesrecibos.Any(Function(y) y.Tipo = TipoCarta) And (x.idAsientoDevueltoBanco.HasValue Or x.gestionesrecibos.Any(Function(y) y.Tipo = idTipoContDev))).ToList
Dim rs = bd.recibos.Include("agentes").Include("subagentes").Include("polizassg.entidadespolizas.entidades").Include("polizassg.ramos").Include("polizassg.companias").Include("enumeraciones1").Include("enumeraciones3").Where(Function(x) x.FechaBaja.HasValue = False AndAlso x.FechaCartaDevuelto.HasValue = False AndAlso x.FechaDevolucionBanco.HasValue AndAlso x.idTipoPago = idtippba AndAlso x.idTipo <> idTrex And x.idTipo <> idTrcx And Not x.gestionesrecibos.Any(Function(y) y.Tipo = TipoCarta) And (x.idAsientoDevueltoBanco.HasValue Or x.FechaAsientoDevueltoBanco.HasValue)).ToList.Where(Function(x) x.BloquearFacturacion = False).ToList
For Each r In rs
If r.polizassg.EntidadPolizaTomador.Telefono1.EsNumeroTelefonoMovilEspañolValido Or r.polizassg.EntidadPolizaTomador.Telefono2.EsNumeroTelefonoMovilEspañolValido Then
r.FormaComunicacionTMP = tgsms
Else
If r.polizassg.EntidadPolizaTomador.direcciones IsNot Nothing AndAlso r.polizassg.EntidadPolizaTomador.direcciones.CodigoPostal.NothingAVacio <> "" AndAlso r.polizassg.EntidadPolizaTomador.direcciones.municipios IsNot Nothing AndAlso r.polizassg.EntidadPolizaTomador.direcciones.Direccion.NothingAVacio <> "" Then
r.FormaComunicacionTMP = tgcarta
Else
r.FormaComunicacionTMP = tgsa
End If
End If
Next
Return rs
End
Public Function AListadoDevueltos() As ListadoDevueltos
Return New ListadoDevueltos(Me)
End
Public Function AListadoBajas() As ListadoBajas
Return New ListadoBajas(Me)
End
Public Function AListadoAsegurados() As ListadoAsegurados
Return New ListadoAsegurados(Me)
End