Пример #1
0
        //public List<d> GetTiposEventos()
        //{
        //    throw new NotImplementedException();
        //}
        public List <TblSolicitudesTO> GetSolicitudes(string usuario, DateTime fechaInicio, DateTime fechaFin, bool editando, int id_company)
        {
            List <SpSolicitudesConsultar> consulta  = new List <SpSolicitudesConsultar>();
            List <TblSolicitudesTO>       resultado = new List <TblSolicitudesTO>();

            TimeSpan ts  = new TimeSpan(00, 00, 0);
            TimeSpan ts2 = new TimeSpan(23, 59, 59);

            fechaInicio = fechaInicio.Date + ts;
            fechaFin    = fechaFin.Date + ts2;
            string strFechaInicio = "STR_TO_DATE('" + fechaInicio.ToString("dd/MM/yyyyHH:mm:ss").Replace(" ", "").Replace(".", "") + "', '%d/%m/%Y%H:%i:%s') ";
            string strFechaFin    = "STR_TO_DATE('" + fechaFin.ToString("dd/MM/yyyyHH:mm:ss").Replace(" ", "").Replace(".", "") + "', '%d/%m/%Y%H:%i:%s') ";
            string sql            = $"call innovaci_ProntoAmbulancias.SpSolicitudesConsultar('{usuario}', {strFechaInicio}, {strFechaFin}, {editando}, {id_company});";

            Console.WriteLine(sql);
            consulta = _prontoContext.SpSolicitudesConsultar.FromSql(sql).ToList();

            foreach (SpSolicitudesConsultar sol in consulta)
            {
                //List<TblSolicitudesNotas> consutlanotas = _prontoSerContext.get NotasConsultar(sol.Id_Solicitud);
                sol.FechaCita     = sol.FechaCita;
                sol.FechaRegistro = sol.FechaRegistro;
                sol.FechaRecoger  = sol.FechaRecoger;
                if (sol.FechaDespacho != null)
                {
                    sol.FechaDespacho = sol.FechaDespacho.Value;
                }
                if (sol.FechaLlego != null)
                {
                    sol.FechaLlego = sol.FechaLlego.Value;
                }
                resultado.Add(new TblSolicitudesTO()
                {
                    Solicitud = EntityTransport <TblSolicitudes> .Copy(sol, new TblSolicitudes()),
                    Paciente  = new TblTerceros()
                    {
                        Id_Tercero  = sol.Id_Tercero,
                        Apellidos   = sol.ApellidosPaciente,
                        Descripcion = sol.DescripcionPaciente,
                        Edad        = sol.Edad,
                        EPS         = sol.EPS,
                        TipoTercero = 3
                    },
                    //Tiempos = AdminSolicitudes.TiemposConsultar(sol.Id_Solicitud),
                    //Eventos = AdminSolicitudes.EventosConsultar(sol.Id_Solicitud),
                    //Notas = consutlanotas,
                    DescripcionAutoriza         = sol.DescripcionAutoriza,
                    DescripcionUsuarioRecibe    = sol.DescripcionUsuarioRecibe,
                    DescripcionUsuarioRegistra  = sol.DescripcionUsuarioRegistra,
                    DescripcionConductor        = sol.DescripcionConductor,
                    DescripcionAutorizaRemision = sol.DescripcionRemision,
                    DescripcionDestino          = sol.DescripcionDestino,
                    DescripcionProcedencia      = sol.DescripcionProcedencia,
                    DescripcionMovil            = sol.DescripcionMovil,
                    DescripcionMovilEntrega     = sol.DescripcionMovilEntrega,
                    DescripcionTipoAmbulancia   = sol.TipoAmbulancia == 1 ? "BAJA" : sol.TipoAmbulancia == 2 ? "ALTA" : "",
                    DescripcionTipoServicio     = sol.TipoServicio == 1 ? "PRIMARIO" : sol.TipoServicio == 2 ? "SECUNDARIO" : "",
                    DescripcionTipoPaciente     = sol.TipoPaciente == 1 ? "ADULTO" : sol.TipoPaciente == 2 ? "PEDIATRICO" : "",
                    DescripcionEstado           = sol.Estado == 1 ? "Pendiente" : sol.Estado == 2 ? "Aporobado" : sol.Estado == 3 ? "Completado" : sol.Estado == 4 ? "Rechazado" : "",
                    //DescripcionNotas = AdminSolicitudes.DescripcionNotasConsultar(consutlanotas),
                    DescripcionEPSRegistra = sol.Grupo
                });
            }
            return(resultado.OrderBy(r => r.Solicitud.FechaCita).ToList());
        }
Пример #2
0
        public void SetSolicitudes(TblSolicitudesTO objSolicitudExterna)
        {
            /*AUTORIZA*/
            if (objSolicitudExterna.DescripcionAutoriza != null)
            {
                int codigo_autoriza = _prontoSerContext.SetCaracteristica(objSolicitudExterna.DescripcionAutoriza, (int)TipoCaracteristicaSolicitud.Autoriza, objSolicitudExterna.Id_Company);
                objSolicitudExterna.Solicitud.Id_Carac_Autoriza = int.Parse(codigo_autoriza.ToString());
            }

            /*AUTORIZA REMISION*/
            if (objSolicitudExterna.DescripcionAutorizaRemision != null)
            {
                int codigo_autoriza = _prontoSerContext.SetCaracteristica(objSolicitudExterna.DescripcionAutorizaRemision, (int)TipoCaracteristicaSolicitud.AutorizaRemision, objSolicitudExterna.Id_Company);
                objSolicitudExterna.Solicitud.Id_Carac_Remision = int.Parse(codigo_autoriza.ToString());
            }
            /*PROCEDENCIA*/
            if (objSolicitudExterna.DescripcionProcedencia != null)
            {
                int codigo_autoriza = _prontoSerContext.SetCaracteristica(objSolicitudExterna.DescripcionProcedencia, (int)TipoCaracteristicaSolicitud.Lugares, objSolicitudExterna.Id_Company);
                objSolicitudExterna.Solicitud.Id_Carac_Procedencia = int.Parse(codigo_autoriza.ToString());
            }
            /*DESTINO*/
            if (objSolicitudExterna.DescripcionDestino != null)
            {
                int codigo_autoriza = _prontoSerContext.SetCaracteristica(objSolicitudExterna.DescripcionDestino, (int)TipoCaracteristicaSolicitud.Lugares, objSolicitudExterna.Id_Company);
                objSolicitudExterna.Solicitud.Id_Carac_Destino = int.Parse(codigo_autoriza.ToString());
            }
            /*CONDUCTOR*/
            if (objSolicitudExterna.DescripcionConductor != null)
            {
                int codigo_autoriza = _prontoSerContext.SetCaracteristica(objSolicitudExterna.DescripcionConductor, (int)TipoCaracteristicaSolicitud.Conductor, objSolicitudExterna.Id_Company);
                objSolicitudExterna.Solicitud.Id_Carac_Conductor = int.Parse(codigo_autoriza.ToString());
            }
            /*PACIENTE*/
            if (objSolicitudExterna.Paciente.Id_Tercero != null)
            {
                _prontoSerContext.SetTercero(objSolicitudExterna.Paciente.Id_Tercero, objSolicitudExterna.Paciente.Descripcion,
                                             objSolicitudExterna.Paciente.Apellidos, (int)TipoTercero.Paciente, objSolicitudExterna.Paciente.Edad,
                                             objSolicitudExterna.Paciente.EPS, objSolicitudExterna.Id_Company);
            }



            objSolicitudExterna.Solicitud.Id_Tercero = objSolicitudExterna.Paciente.Id_Tercero;

            //_prontoContext.SaveChanges();

            TblSolicitudes objDel = _prontoContext.TblSolicitudes.Find(objSolicitudExterna.Solicitud.Id_Solicitud);

            if (objSolicitudExterna.Solicitud.Id_Solicitud > 0)
            {
                //if (p.DescripcionReferencia.Substring(p.DescripcionReferencia.Length - 1, 1) == "*")
                //    context.TblDetalleInternos.Remove(objDel);
                //else


                //CONSERVAR LAS FECHAS QUE NO SE PUEDEN MODIFICAR
                DateTime fechaRegistroGuardar = objDel.FechaRegistro;
                DateTime fechaCitaGuardar     = objDel.FechaCita;
                DateTime fechaRecogerGuardar  = objDel.FechaRecoger;

                if (objDel.FechaDespacho == null && objSolicitudExterna.Solicitud.Id_Movil_Recoge != null)//ASIGNAR MOVIL A SOLICITUD
                {
                    objSolicitudExterna.Solicitud.Estado        = (int)EstadoSolicitud.Aporobado;
                    objSolicitudExterna.Solicitud.FechaDespacho = DateTime.UtcNow.AddHours(-5);
                }

                if (objDel.FechaLlego == null && objSolicitudExterna.Solicitud.Estado == (int)EstadoSolicitud.Finalizado)
                {
                    if (objSolicitudExterna.Solicitud.TipoServicio == 1)//SI ES SIMPLE LA MOVIL QUE ENTREGA ES LA MISMA QUE RECOGE
                    {
                        objSolicitudExterna.Solicitud.Id_Movil_Entrega = objSolicitudExterna.Solicitud.Id_Movil_Recoge;
                    }

                    objSolicitudExterna.Solicitud.Estado       = (int)EstadoSolicitud.Finalizado;
                    objSolicitudExterna.Solicitud.HoraEfectiva = objDel.HoraEfectiva;//ALGUN DIA ARREGLAR ESTA VAIA
                    objSolicitudExterna.Solicitud.FechaLlego   = DateTime.UtcNow.AddHours(-5);
                }

                if (objSolicitudExterna.Solicitud.Id_Movil_Recoge == 555)//PARA REVERTIR CAMBIOS EN LAS FECHAS
                {
                    objSolicitudExterna.Solicitud.FechaDespacho   = null;
                    objSolicitudExterna.Solicitud.Id_Movil_Recoge = null;
                    objSolicitudExterna.Solicitud.Estado          = 1;
                }

                if (objDel.Estado == (int)EstadoSolicitud.Pendiente && objSolicitudExterna.Solicitud.Estado == (int)EstadoSolicitud.Rechazado)
                {
                    objSolicitudExterna.Solicitud.Editando = 0;
                }

                if (objDel.HoraEfectiva == null && objSolicitudExterna.Solicitud.Estado == (int)EstadoSolicitud.Contacto)
                {
                    objSolicitudExterna.Solicitud.HoraEfectiva = DateTime.UtcNow.AddHours(-5).TimeOfDay;
                }
                else
                {
                    objSolicitudExterna.Solicitud.HoraEfectiva = objDel.HoraEfectiva;
                }

                if (objDel.HoraSalida == null && objSolicitudExterna.Solicitud.Estado == (int)EstadoSolicitud.Salio)
                {
                    objSolicitudExterna.Solicitud.HoraSalida = DateTime.UtcNow.AddHours(-5).TimeOfDay;
                }
                else
                {
                    objSolicitudExterna.Solicitud.HoraSalida = objDel.HoraSalida;//DE QUE ME TOQUE GUARDAR LAS FECHAS POR SI VIENEN NULL
                }
                objDel = EntityTransport <TblSolicitudes> .Copy(objSolicitudExterna.Solicitud, objDel);

                objDel.Last_Update   = DateTime.Now;
                objDel.FechaRegistro = fechaRegistroGuardar;
            }
            else
            {
                objSolicitudExterna.Solicitud.FechaRegistro = DateTime.UtcNow.AddHours(-5);
                objSolicitudExterna.Solicitud.FechaRecoger  = objSolicitudExterna.Solicitud.FechaCita.AddHours(-1);
                objSolicitudExterna.Solicitud.Last_Update   = DateTime.Now;
                objSolicitudExterna.Solicitud.Estado        = 1;
                _prontoContext.TblSolicitudes.Add(objSolicitudExterna.Solicitud);
            }

            _prontoContext.SaveChanges();
        }