agregado procesos y bd clases
This commit is contained in:
132
guia/informes/CarteraPerdida.vb
Normal file
132
guia/informes/CarteraPerdida.vb
Normal file
@@ -0,0 +1,132 @@
|
||||
Public Class CarteraPerdida
|
||||
|
||||
Public Shared Function GeneraExcelCarteraPerdidaEF(fi As Date, ff As Date) As Byte()
|
||||
Try
|
||||
Dim bd = bdGestionAsegasa.gestionasegasaEntities.NuevoContextoCN
|
||||
|
||||
Dim fai = fi.AddYears(-1)
|
||||
Dim faf = ff.AddYears(-1)
|
||||
' Dim idTippcia = bd.enumeraciones.First(Function(x) x.Codigo = "TIPP.CIA").idEnumeracion
|
||||
Dim idLiquidacion = bd.enumeraciones.First(Function(x) x.Codigo = "TIPLIQ.LIQUIDACION").idEnumeracion
|
||||
Dim idLiquidacioncia = bd.enumeraciones.First(Function(x) x.Codigo = "TIPLIQ.PGDO.CIA").idEnumeracion
|
||||
|
||||
Dim iddevuelto = bd.enumeraciones.First(Function(x) x.Codigo = "TIPLIQ.DEVUELTO").idEnumeracion
|
||||
Dim idDescobro = bd.enumeraciones.First(Function(x) x.Codigo = "TIPLIQ.DESCOBRO").idEnumeracion
|
||||
Dim idCabaPGO = bd.enumeraciones.First(Function(x) x.Codigo = "CABA.PGO").idEnumeracion
|
||||
Dim idCabaFP = bd.enumeraciones.First(Function(x) x.Codigo = "CABA.FP").idEnumeracion
|
||||
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 idDuru = bd.enumeraciones.First(Function(x) x.Codigo = "DUR.U").idEnumeracion
|
||||
' Dim idDura = bd.enumeraciones.First(Function(x) x.Codigo = "DUR.A").idEnumeracion
|
||||
' Dim cabas = bd.enumeraciones.Where(Function(x) x.Codigo = "CABA.AGEN" Or x.Codigo = "CABA.CIA" Or x.Codigo = "CABA.SIN" Or x.Codigo = "CABA.ASEG" Or x.Codigo = "CABA.VTA" Or x.Codigo = "CABA.BJA" Or x.Codigo = "CABA.ASFP" Or x.Codigo = "CABA.RPZO" Or x.Codigo = "CABA.SUPL").Select(Function(x) x.idEnumeracion).ToArray
|
||||
Dim lr As New List(Of ReciboCarteraPerdida)
|
||||
Dim ps = bd.polizassg.Select(Function(x) New With {.idpoliza = x.idPoliza, .idDuracion = x.idDuracion, .idCausaBaja = x.idCausaBaja, .FechaBaja = x.FechaBaja, .NumeroPoliza = x.NumeroPoliza, .idCompania = x.idCompania, .NumeroSuplemento = x.NumeroSuplemento, .FechaVencimiento = x.FechaVencimiento}).ToList
|
||||
' Dim POLS = (From p In ps Where p.NumeroPoliza IsNot Nothing Group By PolizaCia = New With {Key p.NumeroPoliza, Key p.idCompania} Into Gr = Group).Select(Function(x) x.Gr.OrderByDescending(Function(Y) Y.NumeroSuplemento).FirstOrDefault).Where(Function(X) X.FechaBaja.HasValue = False OrElse (X.idDuracion <> idDura And X.idCausaBaja.HasValue AndAlso X.idCausaBaja = idCabaFP) OrElse (X.idCausaBaja.HasValue AndAlso cabas.Contains(X.idCausaBaja) = False)).ToList
|
||||
Dim POLS = (From p In ps Where p.NumeroPoliza IsNot Nothing Group By PolizaCia = New With {Key p.NumeroPoliza, Key p.idCompania} Into Gr = Group).Select(Function(x) x.Gr.OrderByDescending(Function(Y) Y.NumeroSuplemento).FirstOrDefault).Where(Function(X) X.FechaBaja.HasValue = False OrElse (X.idCausaBaja.HasValue AndAlso X.idCausaBaja = idCabaFP)).ToList
|
||||
Dim recsex = bd.vf_recibosextendidos.Where(Function(x) x.FechaEfecto >= fai And x.FechaEfecto <= faf And x.idTipo <> idTrex And x.idTipo <> idTrcx And x.idDuracion <> idDuru).Select(Function(x) New With {.idRecibo = x.idRecibo, .Tomador = x.Tomador}).ToList
|
||||
Dim recsant = bd.recibos.Where(Function(x) x.FechaEfecto >= fai And x.FechaEfecto <= faf And x.idTipo <> idTrex And x.idTipo <> idTrcx And x.polizassg.idDuracion <> idDuru _
|
||||
And (x.liquidacionescompaniasrecibos.Any(Function(y) y.liquidacionescompanias.idTipoLiquidacion = idLiquidacion Or y.liquidacionescompanias.idTipoLiquidacion = idLiquidacioncia) _
|
||||
Or (x.liquidacionescompaniasrecibos.Any(Function(y) y.liquidacionescompanias.idTipoLiquidacion = iddevuelto And x.idCausaBaja = idCabaPGO)))) _
|
||||
.Select(Function(x) New ReciboCarteraPerdida With {.NumeroPoliza = x.polizassg.NumeroPoliza,
|
||||
.idRecibo = x.idRecibo,
|
||||
.idCompañia = x.polizassg.idCompania,
|
||||
.Compañía = x.polizassg.companias.Nombre,
|
||||
.Ramo = x.polizassg.ramos.Descripcion,
|
||||
.FechaEfecto = x.FechaEfecto,
|
||||
.Observaciones = x.polizassg.Observaciones}).ToList
|
||||
|
||||
|
||||
Dim recs = bd.recibos.Where(Function(x) x.FechaEfecto >= fi And x.FechaEfecto <= ff And x.TotalRecibo > 0 And x.polizassg.idDuracion <> idDuru).Select(Function(x) New ReciboCarteraPerdida With {.NumeroPoliza = x.polizassg.NumeroPoliza,
|
||||
.idRecibo = x.idRecibo,
|
||||
.idCompañia = x.polizassg.idCompania,
|
||||
.Compañía = x.polizassg.companias.Nombre,
|
||||
.Ramo = x.polizassg.ramos.Descripcion,
|
||||
.FechaEfecto = x.FechaEfecto,
|
||||
.Observaciones = x.polizassg.Observaciones}).ToList
|
||||
|
||||
Dim flim = Today.AddYears(-1)
|
||||
For Each r In recsant
|
||||
If lr.Any(Function(X) X.NumeroPoliza = r.NumeroPoliza And X.idCompañia = r.idCompañia) = False AndAlso recs.Any(Function(x) x.NumeroPoliza = r.NumeroPoliza And x.idCompañia = r.idCompañia) = False AndAlso POLS.Any(Function(x) x.NumeroPoliza = r.NumeroPoliza And x.idCompania = r.idCompañia And Not (x.idDuracion = idDuru And x.FechaVencimiento < flim)) Then
|
||||
r.Tomador = recsex.First(Function(x) x.idRecibo = r.idRecibo).Tomador
|
||||
lr.Add(r)
|
||||
End If
|
||||
Next
|
||||
If lr.Count > 0 Then
|
||||
Dim lrd = lr.OrderBy(Function(x) x.Compañía).ThenBy(Function(x) x.Ramo).Select(Function(x) New With {x.NumeroPoliza, x.Compañía, x.Ramo, x.Tomador, .FechaEfectoUltimoRecibo = x.FechaEfecto, .Observaciones = x.Observaciones}).ToList
|
||||
Dim b = tsWPF.Utilidades.Varias.IEnumerableAExcel(lrd)
|
||||
Return b
|
||||
Else
|
||||
Return Nothing
|
||||
End If
|
||||
Catch ex As Exception
|
||||
Throw New Exception(ex.Message, ex)
|
||||
End Try
|
||||
End Function
|
||||
|
||||
|
||||
Public Shared Function GeneraExcelCarteraPerdida(fi As Date) As Byte()
|
||||
Try
|
||||
Dim bd = bdGestionAsegasa.gestionasegasaEntities.NuevoContextoCN
|
||||
Dim idLiquidacion = bd.enumeraciones.First(Function(x) x.Codigo = "TIPLIQ.LIQUIDACION").idEnumeracion
|
||||
Dim idLiquidacioncia = bd.enumeraciones.First(Function(x) x.Codigo = "TIPLIQ.PGDO.CIA").idEnumeracion
|
||||
|
||||
Dim iddevuelto = bd.enumeraciones.First(Function(x) x.Codigo = "TIPLIQ.DEVUELTO").idEnumeracion
|
||||
Dim idDescobro = bd.enumeraciones.First(Function(x) x.Codigo = "TIPLIQ.DESCOBRO").idEnumeracion
|
||||
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 idDuru = bd.enumeraciones.First(Function(x) x.Codigo = "DUR.U").idEnumeracion
|
||||
Dim lr As New List(Of ReciboCarteraPerdida)
|
||||
Dim ps = bd.polizassg.Select(Function(x) New With {.idpoliza = x.idPoliza, .idDuracion = x.idDuracion, .idCausaBaja = x.idCausaBaja, .FechaBaja = x.FechaBaja, .NumeroPoliza = x.NumeroPoliza, .idCompania = x.idCompania, .NumeroSuplemento = x.NumeroSuplemento, .FechaVencimiento = x.FechaVencimiento}).ToList
|
||||
Dim POLS = (From p In ps Where p.NumeroPoliza IsNot Nothing Group By PolizaCia = New With {Key p.NumeroPoliza, Key p.idCompania} Into Gr = Group).Select(Function(x) x.Gr.OrderByDescending(Function(Y) Y.NumeroSuplemento).FirstOrDefault).Where(Function(X) X.FechaBaja.HasValue = False).ToList
|
||||
Dim recsex = bd.vf_recibosextendidos.Where(Function(x) x.FechaEfecto >= fi And x.idTipo <> idTrex And x.idTipo <> idTrcx And x.idDuracion <> idDuru).Select(Function(x) New With {.idRecibo = x.idRecibo, .Tomador = x.Tomador, .NumeroPoliza = x.NumeroPoliza, .idCompania = x.idCompania, .FechaVencimiento = x.FechaVencimiento}).ToList
|
||||
Dim recsant = bd.recibos.Where(Function(x) x.FechaEfecto >= fi And x.FechaVencimiento <= Today And x.idTipo <> idTrex And x.idTipo <> idTrcx And x.polizassg.idDuracion <> idDuru) _
|
||||
.Select(Function(x) New ReciboCarteraPerdida With {.NumeroPoliza = x.polizassg.NumeroPoliza,
|
||||
.idRecibo = x.idRecibo,
|
||||
.idCompañia = x.polizassg.idCompania,
|
||||
.Compañía = x.polizassg.companias.Nombre,
|
||||
.Ramo = x.polizassg.ramos.Descripcion,
|
||||
.FechaEfecto = x.FechaEfecto,
|
||||
.FechaVencimiento = x.FechaVencimiento,
|
||||
.Observaciones = x.polizassg.Observaciones}).ToList
|
||||
Dim DentroUnMes As Date = fi.AddMonths(13)
|
||||
Dim recs = bd.recibos.Where(Function(x) x.FechaVencimiento >= DentroUnMes And x.TotalRecibo > 0 And x.polizassg.idDuracion <> idDuru).Select(Function(x) New ReciboCarteraPerdida With {.NumeroPoliza = x.polizassg.NumeroPoliza,
|
||||
.idRecibo = x.idRecibo,
|
||||
.idCompañia = x.polizassg.idCompania,
|
||||
.Compañía = x.polizassg.companias.Nombre,
|
||||
.Ramo = x.polizassg.ramos.Descripcion,
|
||||
.FechaEfecto = x.FechaEfecto,
|
||||
.Observaciones = x.polizassg.Observaciones}).ToList
|
||||
|
||||
Dim flimduru = fi.AddYears(-1)
|
||||
For Each r In recsant
|
||||
If lr.Any(Function(X) X.NumeroPoliza = r.NumeroPoliza And X.idCompañia = r.idCompañia) = False AndAlso recs.Any(Function(x) x.NumeroPoliza = r.NumeroPoliza And x.idCompañia = r.idCompañia) = False AndAlso POLS.Any(Function(x) x.NumeroPoliza = r.NumeroPoliza And x.idCompania = r.idCompañia And Not (x.idDuracion = idDuru And x.FechaVencimiento < flimduru)) Then
|
||||
If recsex.Any(Function(x) x.NumeroPoliza = r.NumeroPoliza AndAlso x.idCompania = r.idCompañia AndAlso x.idRecibo <> r.idRecibo AndAlso x.FechaVencimiento > r.fechaVencimiento) = False Then
|
||||
r.Tomador = recsex.First(Function(x) x.idRecibo = r.idRecibo).Tomador
|
||||
lr.Add(r)
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
If lr.Count > 0 Then
|
||||
Dim lrd = lr.OrderBy(Function(x) x.Compañía).ThenBy(Function(x) x.Ramo).Select(Function(x) New With {x.NumeroPoliza, x.Compañía, x.Ramo, x.Tomador, .FechaEfectoUltimoRecibo = x.FechaEfecto, .Observaciones = x.Observaciones}).ToList
|
||||
Dim b = tsWPF.Utilidades.Varias.IEnumerableAExcel(lrd)
|
||||
Return b
|
||||
Else
|
||||
Return Nothing
|
||||
End If
|
||||
Catch ex As Exception
|
||||
Throw New Exception(ex.Message, ex)
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Class ReciboCarteraPerdida
|
||||
Public Property idRecibo As String
|
||||
Public Property NumeroPoliza As String
|
||||
Public Property idCompañia As Integer
|
||||
Public Property Compañía As String
|
||||
Public Property Ramo As String
|
||||
Public Property Tomador As String
|
||||
Public Property FechaEfecto As Date
|
||||
Public Property FechaVencimiento As Date
|
||||
Public Property Observaciones As String
|
||||
End Class
|
||||
End Class
|
||||
Reference in New Issue
Block a user