示例#1
0
        public static bool NumeroDeclaracion(RuvConsultaNoValorados nv, DatosDetallados hecho)
        {
            var irdFUD = Regex.Replace(nv.Numero_Declaracion??"", "[^0-9]", "");
            var fud = Regex.Replace(hecho.NUM_FUD_NUM_CASO??"", "[^0-9]", "");

            long ird=0;
            long.TryParse(irdFUD, out ird);
            long vivanto = 0;
            long.TryParse(fud, out vivanto);

            Console.WriteLine("irdFud {0}; fud {1};  ird {2}  vivanto {3}; evaluacion {4}",
                irdFUD, fud, ird, vivanto,
                ird != 0 && vivanto != 0 && ird == vivanto);

            return ird != 0 && vivanto != 0 && ird == vivanto;
        }
 private void ConfirmarComoNoProcesado(RuvConsultaNoValorados nv, DatosDetallados hecho)
 {
     if (hecho != null) {
         noprocesados.RemoveAll (q => q.Id_Persona == nv.Id_Persona);
     }
 }
 private bool ValidarHechoPorNumeroDeclaracion(DatosDetallados hecho, RuvConsultaNoValorados nv)
 {
     return FnVal.NumeroDeclaracion(nv, hecho);
 }
 private bool ValidarHechoPorFechaValoracion(DatosDetallados hecho, RuvConsultaNoValorados nv)
 {
     return FnVal.ValidarHechoPorFechaValoracion (hecho, nv);
 }
 private bool ValidarHechoDesplazamentForzado(DatosDetallados hecho)
 {
     return FnVal.ValidarHechoDesplazamentForzado (hecho, parProcesamiento);
 }
        private bool ValidarHechoCompleto(RuvConsultaNoValorados nv, DatosDetallados hecho)
        {
            // se deben cumplir los dos
            if (!ValidarHechoDesplazamentForzado(hecho) || !ValidarEstadoIncluido(hecho)) return false;

            if (hecho.FUENTE == "RUV")
            {
                if (!ValidarHechoPorNumeroDeclaracion(hecho, nv) && !ValidarHechoPorFechaValoracion(hecho, nv)) return false;
            }
            else if (hecho.FUENTE == "SIPOD")
            {
                if (!ValidarHechoPorFechaDeclaracion(hecho, nv)) return false;
            }
            else return false;

            return true;
        }
 private bool ValidarEstadoIncluido(DatosDetallados hecho)
 {
     return parProcesamiento.Obtener_Id_EstadoUnidad(hecho.ESTADO)!=0;
 }
        private bool ProcesarHechos(RuvConsultaNoValorados nv, List<DatosDetallados> hechos, out DatosDetallados hecho)
        {
            hecho = null;
            foreach( var h in hechos)
            {
                if (ValidarHechoCompleto(nv, h))
                {
                    hecho = h;
                    break; // hecho cumple requisitos no se revisan los otros
                }

            }
            return hecho!=null;
        }
        private void GuardarSiSeEncontroHecho(RuvConsultaNoValorados nv, List<DatosBasicos> basicos,
			List<DatosDetallados> hechos,
			DatosDetallados hecho)
        {
            bool insertado = false;
            try
            {
                if (hecho != null)
                {
                    Declaracion_UnidadesInsertar registro = new Declaracion_UnidadesInsertar()
                    {
                        Fuente = "WS Vivanto {0}".Fmt(hecho.FUENTE),
                        Id_EstadoUnidad = parProcesamiento.Obtener_Id_EstadoUnidad(hecho.ESTADO),
                        Id_Unidad = parProcesamiento.Id_Unidad,
                        Fecha_Inclusion = hecho.F_VALORACION.Value,
                        Id_Declaracion = nv.Id_Declaracion,
                    };
                    ird.Declaracion_UnidadesInsertar(registro);
                    insertado = true;
                }
            }
            catch (Exception ex)
            {
                AgregarNoProcesados (nv);
                IgnorarOLanzarExcepcion(ex);
            }
            finally
            {
                Log.RegistrarProcesado(vivanto.DirInfoLog, nv, basicos, hechos, hecho, insertado, parProcesamiento);
            }
        }
示例#10
0
        public static void RegistrarProcesado(DirectoryInfo dir, RuvConsultaNoValorados nv, List<DatosBasicos>basicos,
			List<DatosDetallados> hechos,
			DatosDetallados hecho, bool insertado, ParametrosProcesamiento parProcesamiento)
        {
            // valorados
            // actualizado, id_declaracion, regional, TI, documento, declaracion, fecha_declaracion,  fecha_radicacion, fecha_desplazamiento, fecha_atencion,
            // RUV_ESTADO, RUV_FECHA_VALORACION, RUV_FECHA_DECLARACION, RUV_FECHA_SINIESTRO, OK_FechaDeclaracion, OK_numero_declaracion
            // no valorados
            //id_declaracion, regional, TI, documento, declaracion, fecha_declaracion,  fecha_radicacion, fecha_desplazamiento, fecha_atencion

            string fn;
            string encabezado;
            var linea = "{0};{1};{2};{3};{4};{5};{6};{7};{8}".Fmt(nv.Id_Declaracion,
                parProcesamiento.ObtenerRegional(nv.Id_Regional),
                nv.Id_Tipo_Identificacion,
                nv.Identificacion,
                nv.Numero_Declaracion,
                nv.Fecha_Declaracion.CsvFecha(),
                nv.Fecha_Radicacion.CsvFecha(),
                nv.Fecha_Desplazamiento.CsvFecha(),
                nv.Fecha_Valoracion.CsvFecha());

            if (hecho == null)
            {
                fn = "No_Valorados.txt";
                encabezado = NO_VALORADOS_ENCABEZADO;
                linea = "{0};{1}".Fmt (linea, (basicos != null && basicos.Count > 0) ? "SI" : "NO");
                DatosDetallados h;
                if( BuscarHecho(nv, hechos, parProcesamiento, out h)){
                    linea = "{0};{1};{2};{3};{4};{5};{6};{7}".Fmt(
                        linea,
                        h.ESTADO,
                        h.F_VALORACION.CsvFecha(),
                        h.F_DECLARACION.CsvFecha(),
                        h.FECHA_SINIESTRO.CsvFecha(),
                        h.NUM_FUD_NUM_CASO,
                        h.F_DECLARACION.Date == nv.Fecha_Declaracion.Date ? "SI" : "NO",
                        FnVal.NumeroDeclaracion(nv, h)?"SI" : "NO"
                    );
                }
            }
            else
            {
                fn = "Valorados.txt";
                encabezado = VALORADOS_ENCABEZADO;
                linea = "{0};{1};{2};{3};{4};{5};{6};{7};{8}".Fmt(insertado ? "SI" : "NO",
                    linea,
                    hecho.ESTADO,
                    hecho.F_VALORACION.CsvFecha(),
                    hecho.F_DECLARACION.CsvFecha(),
                    hecho.FECHA_SINIESTRO.CsvFecha(),
                    hecho.NUM_FUD_NUM_CASO,
                    hecho.F_DECLARACION.Date == nv.Fecha_Declaracion.Date ? "SI" : "NO",
                    FnVal.NumeroDeclaracion(nv, hecho)?"SI" : "NO"
                    );
            }
            try {
                AsegurarQueExisteEncabezado(dir, fn, encabezado);
                File.AppendAllText(NombreArhivo(dir, fn), linea + Environment.NewLine);
            }
            catch(Exception)
            {

            }
        }
示例#11
0
        static bool BuscarHecho(RuvConsultaNoValorados nv, List<DatosDetallados> hechos, 
			ParametrosProcesamiento parProcesamiento,
			out DatosDetallados  hecho)
        {
            hecho = null;

            foreach (var h in hechos) {
                if (!FnVal.ValidarHechoDesplazamentForzado (h, parProcesamiento))
                    continue;
                if (FnVal.NumeroDeclaracion (nv, h)
                    || FnVal.ValidarHechoPorFechaDeclaracion (h, nv)
                    || FnVal.ValidarHechoPorFechaValoracion(h, nv)) {
                    hecho = h;
                    break;
                }
            }

            return hecho != null;
        }
示例#12
0
 public static bool ValidarHechoPorFechaValoracion(DatosDetallados hecho, RuvConsultaNoValorados nv)
 {
     return (hecho.F_VALORACION.HasValue && nv.Fecha_Valoracion.HasValue)?
         hecho.F_VALORACION.Value.Date > nv.Fecha_Valoracion.Value.Date: false;
 }
示例#13
0
 public static bool ValidarHechoPorFechaDeclaracion(DatosDetallados hecho, RuvConsultaNoValorados nv)
 {
     return nv.Fecha_Declaracion.Date == hecho.F_DECLARACION.Date;
 }
示例#14
0
 public static bool ValidarHechoDesplazamentForzado(DatosDetallados hecho, ParametrosProcesamiento parProcesamiento)
 {
     return (!string.IsNullOrEmpty(hecho.HECHO) && hecho.HECHO.ToUpper() == parProcesamiento.Hecho);
 }