예제 #1
0
        public static Response <InformeResponse> SelectInforme(int IdInforme)
        {
            try
            {
                Response <InformeResponse> response;
                InformeEntity List;
                SolicitudRevisionTecnica_CEntity objDatosInforme;

                List                     = InformeData.SelectInforme(IdInforme);
                objDatosInforme          = SolicitudRevisionTecnicaData.SelectSolicitudRevisionTecnica_C_Informe(List.NumeroInforme);
                List.IdSolicitudRevision = objDatosInforme.IdSolicitudRevision;
                List.Kilometraje         = objDatosInforme.Kilometraje;

                response = new Response <InformeResponse>
                {
                    EsCorrecto = true,
                    Valor      = new InformeResponse {
                        Informe = List
                    },
                    Mensaje = "OK",
                    Estado  = true,
                };

                return(response);
            }
            catch (Exception ex)
            {
                return(new Response <InformeResponse>(false, null, Functions.MessageError(ex), false));
            }
        }
예제 #2
0
        public static Response <InformeResponse> SelectInformeCorrectivoPreventivoTractoCarreta(decimal NumeroInforme, string TipoInforme, int TipoU)
        {
            try
            {
                Response <InformeResponse> response;
                InformeEntity List;
                SolicitudRevisionTecnica_CEntity objDatosInforme;

                List = InformeData.SelectInformeCorrectivoPreventivoTractoCarreta(NumeroInforme, TipoInforme, TipoU);
                if (List != null)
                {
                    objDatosInforme          = SolicitudRevisionTecnicaData.SelectSolicitudRevisionTecnica_C_Informe(List.NumeroInforme);
                    List.IdSolicitudRevision = objDatosInforme.IdSolicitudRevision;
                    List.Kilometraje         = objDatosInforme.Kilometraje;
                }

                response = new Response <InformeResponse>
                {
                    EsCorrecto = true,
                    Valor      = new InformeResponse {
                        Informe = List
                    },
                    Mensaje = "OK",
                    Estado  = true,
                };

                return(response);
            }
            catch (Exception ex)
            {
                return(new Response <InformeResponse>(false, null, Functions.MessageError(ex), false));
            }
        }
예제 #3
0
        public static Response <OrdenMasivaResponse> SelectInformePorNumero(decimal NumeroInforme, string Tipo)
        {
            try
            {
                Response <OrdenMasivaResponse> response;
                InformeEntity List;

                List = InformeData.SelectInformePorNumero(NumeroInforme, Tipo);

                if (List == null)
                {
                    BusinessException.Generar("No se encontró orden ó ésta ha sido anulada");
                }

                response = new Response <OrdenMasivaResponse>
                {
                    EsCorrecto = true,
                    Valor      = new OrdenMasivaResponse {
                        Informe = List
                    },
                    Mensaje = "OK",
                    Estado  = true,
                };

                return(response);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
예제 #4
0
        public static async Task <Response <OrdenMasivaResponse> > AnularCorrectivo(OrdenMasivaRequest request)
        {
            Response <OrdenMasivaResponse> response;
            List <OrdenMasivaList>         ListInsertar;
            decimal numInforme;

            ListInsertar = request.ListInsertar;

            try
            {
                foreach (var item in ListInsertar)
                {
                    if (!item.Correctivo)
                    {
                        continue;
                    }

                    numInforme = Convert.ToDecimal(item.NumeroOrden);

                    await SolicitudRevisionTecnicaData.AnularSolicitudRevisionTecnica_C_Correctivo(numInforme);

                    await InformeData.AnularInforme(numInforme, "1");

                    await ProgramacionData.UpdateProgramacionOrdenCorrectivoAnulacion(item.Codi_Programacion);

                    if (item.Preventivo)
                    {
                        //await SolicitudRevisionTecnicaData.AnularSolicitudRevisionTecnica_C_Correctivo(numInforme);
                        await InformeData.AnularInforme(numInforme, "0");

                        await ProgramacionData.UpdateProgramacionOrdenPreventivoAnulacion(item.Codi_Programacion);
                    }
                }

                response = new Response <OrdenMasivaResponse>
                {
                    EsCorrecto = true,
                    Valor      = new OrdenMasivaResponse
                    {
                        List = new List <OrdenMasivaList>()
                    },
                    Mensaje = "OK",
                    Estado  = true,
                };

                return(response);
            }
            catch (FaultException <ServiceError> )
            {
                throw;
            }
            catch (Exception ex)
            {
                return(new Response <OrdenMasivaResponse>(false, null, Functions.MessageError(ex), false));
            }
        }
예제 #5
0
        public static async Task <Response <InformeResponse> > AnularInforme(int IdInforme)
        {
            Response <InformeResponse> response;
            InformeEntity      objInforme;
            ProgramacionEntity objProgramacionCorrectivo;
            ProgramacionEntity objProgramacionPreventivo;
            string             codProgramacion;

            try
            {
                objInforme = InformeData.SelectInforme(IdInforme);
                objProgramacionCorrectivo = ProgramacionData.SelectProgramacionPorInforme(objInforme.NumeroInforme.ToString(), Convert.ToInt32(Constants.TipoInforme.CORRECTIVO));
                objProgramacionPreventivo = ProgramacionData.SelectProgramacionPorInforme(objInforme.NumeroInforme.ToString(), Convert.ToInt32(Constants.TipoInforme.PREVENTIVO));
                codProgramacion           = objProgramacionCorrectivo.CODI_PROGRAMACION;

                if (objInforme.TipoInforme == Constants.TipoInforme.CORRECTIVO && objProgramacionPreventivo != null)
                {
                    BusinessException.Generar(Constants.PRIMERO_DEBE_ANULAR_PREVENTIVO);
                }

                //using (TransactionScope tran = new TransactionScope())
                //{
                if (objInforme.TipoInforme == Constants.TipoInforme.CORRECTIVO)
                {
                    await ProgramacionData.UpdateProgramacionOrdenCorrectivoAnulacion(codProgramacion);
                }
                else if (objInforme.TipoInforme == Constants.TipoInforme.PREVENTIVO)
                {
                    await ProgramacionData.UpdateProgramacionOrdenPreventivoAnulacion(codProgramacion);
                }
                await InformeData.AnularInforme(IdInforme);

                //    tran.Complete();
                //}

                response = new Response <InformeResponse>
                {
                    EsCorrecto = true,
                    Valor      = new InformeResponse
                    {
                        Informe = new InformeEntity()
                    },
                    Mensaje = "OK",
                    Estado  = true,
                };

                return(response);
            }
            catch (Exception ex)
            {
                return(new Response <InformeResponse>(false, null, Functions.MessageError(ex), false));
            }
        }
예제 #6
0
        public List <GastoEntity> ListarDetallePaginado(Parametro pLista)
        {
            List <GastoEntity> lstGastoEntity = new List <GastoEntity>();

            try
            {
                objInformeData = new InformeData();
                lstGastoEntity = objInformeData.ListarDetalladoPaginado(pLista);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(lstGastoEntity);
        }
예제 #7
0
        public List <InformeEntity> ListarSeguimientoPresupuesto(Parametro pLista)
        {
            List <InformeEntity> lstPlantillaDetaEntity = new List <InformeEntity>();

            try
            {
                objInformeData         = new InformeData();
                lstPlantillaDetaEntity = objInformeData.ListarPaginado(pLista);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(lstPlantillaDetaEntity);
        }
예제 #8
0
        public static Response <InformeResponse> ListInforme(InformeRequest request)
        {
            try
            {
                Response <InformeResponse> response;
                List <InformeList>         List;
                InformeFilter objFiltro;

                objFiltro = request.Filtro;

                List = new List <InformeList>();

                if (objFiltro.SoloMiUsuario)
                {
                    List = InformeData.ListInformeSoloMiUsuario(objFiltro);
                }
                else
                {
                    if (objFiltro.NivelUsuario == "2")
                    {
                        List = InformeData.ListInformeAdmin(objFiltro);
                    }
                    else if (objFiltro.NivelUsuario == "1")
                    {
                        List = InformeData.ListInformeUsuario(objFiltro);
                    }
                }

                response = new Response <InformeResponse>
                {
                    EsCorrecto = true,
                    Valor      = new InformeResponse {
                        List = List
                    },
                    Mensaje = "OK",
                    Estado  = true,
                };

                return(response);
            }
            catch (Exception ex)
            {
                return(new Response <InformeResponse>(false, null, Functions.MessageError(ex), false));
            }
        }
예제 #9
0
        public static async Task <Response <InformeResponse> > UpdateInformeTareasEstado(int IdInforme, int IdTarea, int Estado)
        {
            Response <InformeResponse> response;

            try
            {
                await InformeTareasData.UpdateInformeTareasEstado(IdInforme, IdTarea, Convert.ToByte(Estado));

                if (Estado == Constants.EstadosInforme.ANULADO)
                {
                    var objInformeTarea = InformeTareasData.ListInformeTareas(IdInforme, IdTarea, 99)[0];
                    var objInforme      = InformeData.SelectInforme(IdInforme);
                    await ControlUnidadTipoMantenimientoData.AnularControlUnidadMantenimiento(objInformeTarea.IdTipMan, objInforme.Are_Codigo);
                }

                response = new Response <InformeResponse>
                {
                    EsCorrecto = true,
                    Valor      = new InformeResponse
                    {
                        Informe = new InformeEntity()
                    },
                    Mensaje = "OK",
                    Estado  = true,
                };

                return(response);
            }
            catch (FaultException <ServiceError> )
            {
                throw;
            }
            catch (Exception ex)
            {
                return(new Response <InformeResponse>(false, null, Functions.MessageError(ex), false));
            }
        }
예제 #10
0
        public static async Task <Response <OrdenMasivaResponse> > InsertPreventivo(OrdenMasivaRequest request)
        {
            Response <OrdenMasivaResponse> response;
            List <OrdenMasivaList>         ListInsertar;
            string                      FechaGenerar;
            decimal                     klm_acumulado;
            DateTime                    fechaRegistro;
            string                      usuarioRegistro;
            string                      are_codigo;
            int                         idMaxRevision;
            int                         idMaxInforme;
            decimal                     idNumInforme;
            InformeEntity               objInforme;
            ProgramacionEntity          objProgramacion;
            List <TareasPendientesList> listTareasPendientes;
            InformeTareasEntity         objInformeTareas;

            ListInsertar    = request.ListInsertar;
            FechaGenerar    = request.FechaGenerar;
            fechaRegistro   = DateTime.Now;
            usuarioRegistro = request.UsuarioRegistro;

            try
            {
                foreach (var item in ListInsertar)
                {
                    if (!item.Correctivo)
                    {
                        continue;
                    }
                    if (item.Preventivo)
                    {
                        continue;
                    }

                    are_codigo    = item.IdUnidad;
                    klm_acumulado = AreData.SelectAre(are_codigo).Klm_Acumulados;
                    idMaxRevision = SolicitudRevisionTecnicaData.ObtenerUltimoId();

                    objInforme = new InformeEntity
                    {
                        Are_Codigo           = item.IdUnidad,
                        ChoferEntrega        = item.IDChofer,
                        KmUnidad             = klm_acumulado,
                        Ofi_Codigo           = Convert.ToInt32(item.CodOrigen).ToString("00#"),
                        Fecha                = Convert.ToDateTime(FechaGenerar),
                        CostoManoObra        = 0,
                        CostoRepuestos       = 0,
                        ServicioTerceros     = 0,
                        Observacion          = "",
                        IdUndAlerta          = 0,
                        IdPlanEjecucionTarea = "",
                        Tipo            = "0",
                        UsuarioRegistro = Convert.ToInt16(usuarioRegistro)
                    };

                    idMaxInforme = InformeData.InsertInforme(objInforme);
                    idNumInforme = Convert.ToDecimal(item.NumeroOrden);

                    objProgramacion = new ProgramacionEntity
                    {
                        CODI_PROGRAMACION  = item.Codi_Programacion,
                        NumeroMantenimieto = idNumInforme.ToString(),
                    };

                    await InformeData.UpdateInforme_NumInforme(idMaxInforme, idNumInforme);

                    await ProgramacionData.UpdateProgramacionOrdenPreventivoGeneracion(objProgramacion);

                    //Tareas pendientes
                    listTareasPendientes = TipoMantenimientoData.ListTareasPendientes(are_codigo);

                    foreach (var itemTareasPendientes in listTareasPendientes)
                    {
                        objInformeTareas = new InformeTareasEntity
                        {
                            FechaInicio     = FechaGenerar,
                            IdInforme       = idMaxInforme,
                            IdTarea         = itemTareasPendientes.IdTarea,
                            Observacion     = "",
                            UsuarioRegistro = Convert.ToInt32(usuarioRegistro)
                        };

                        await InformeTareasData.InsertInformeTareas(objInformeTareas);

                        await InformeTareasData.UpdateInformeTareasKilometraje(idMaxInforme, itemTareasPendientes.IdTarea, itemTareasPendientes.KmtActual);
                    }
                }

                response = new Response <OrdenMasivaResponse>
                {
                    EsCorrecto = true,
                    Valor      = new OrdenMasivaResponse
                    {
                        List = new List <OrdenMasivaList>()
                    },
                    Mensaje = "OK",
                    Estado  = true,
                };

                return(response);
            }
            catch (FaultException <ServiceError> )
            {
                throw;
            }
            catch (Exception ex)
            {
                return(new Response <OrdenMasivaResponse>(false, null, Functions.MessageError(ex), false));
            }
        }
예제 #11
0
        public static async Task <Response <OrdenMasivaResponse> > InsertCorrectivo(OrdenMasivaRequest request)
        {
            Response <OrdenMasivaResponse> response;
            List <OrdenMasivaList>         ListInsertar;
            string   FechaGenerar;
            decimal  klm_acumulado;
            DateTime fechaRegistro;
            string   usuarioRegistro;
            string   are_codigo;
            int      idMaxRevision;
            int      idMaxInforme;
            decimal  idNumInforme;
            SolicitudRevisionTecnica_CEntity objSolicitudRevision;
            InformeEntity      objInforme;
            ProgramacionEntity objProgramacion;

            ListInsertar    = request.ListInsertar;
            FechaGenerar    = request.FechaGenerar;
            idMaxRevision   = 1;
            idMaxInforme    = 1;
            fechaRegistro   = DateTime.Now;
            usuarioRegistro = request.UsuarioRegistro;

            try
            {
                foreach (var item in ListInsertar)
                {
                    if (item.Correctivo)
                    {
                        continue;
                    }

                    are_codigo    = item.IdUnidad;
                    klm_acumulado = AreData.SelectAre(are_codigo).Klm_Acumulados;
                    idMaxRevision = SolicitudRevisionTecnicaData.ObtenerUltimoId();

                    objSolicitudRevision = new SolicitudRevisionTecnica_CEntity
                    {
                        IdSolicitudRevision = idMaxRevision.ToString(),
                        FechaDoc            = Convert.ToDateTime(FechaGenerar),
                        HorasDoc            = fechaRegistro.ToShortTimeString(),
                        IdUnidad            = item.IdUnidad,
                        IdChofer            = item.IDChofer,
                        CodOrigen           = Convert.ToInt32(item.CodOrigen).ToString("00#"),
                        CodDestino          = Convert.ToInt32(item.CodDestino).ToString("00#"),
                        Kilometraje         = klm_acumulado,
                        UsuarioRegistro     = Convert.ToInt32(usuarioRegistro).ToString("000#"),
                        HoraRegistro        = fechaRegistro.ToShortTimeString(),
                        FechaRegistro       = fechaRegistro,
                        FechaViaje          = Convert.ToDateTime(item.FechaViaje),
                        HoraViahe           = item.HoraViaje,
                        Estado = 1
                    };
                    await SolicitudRevisionTecnicaData.InsertSolicitudRevisionTecnica_C(objSolicitudRevision);

                    objInforme = new InformeEntity
                    {
                        Are_Codigo           = item.IdUnidad,
                        ChoferEntrega        = item.IDChofer,
                        KmUnidad             = klm_acumulado,
                        Ofi_Codigo           = Convert.ToInt32(item.CodOrigen).ToString("00#"),
                        Fecha                = Convert.ToDateTime(FechaGenerar),
                        CostoManoObra        = 0,
                        CostoRepuestos       = 0,
                        ServicioTerceros     = 0,
                        Observacion          = "",
                        IdUndAlerta          = 0,
                        IdPlanEjecucionTarea = "",
                        Tipo            = "1",
                        UsuarioRegistro = Convert.ToInt16(usuarioRegistro)
                    };

                    idMaxInforme = InformeData.InsertInforme(objInforme);
                    idNumInforme = InformeData.ObtenerUltimoId();

                    objProgramacion = new ProgramacionEntity
                    {
                        CODI_BUS           = item.IdUnidad,
                        CODI_PROGRAMACION  = item.Codi_Programacion,
                        FechaGeneracion    = FechaGenerar,
                        HoraGeneracion     = fechaRegistro.ToShortTimeString(),
                        KMT_VIAJE          = klm_acumulado,
                        UsuarioGeneracion  = usuarioRegistro,
                        NumeroMantenimieto = "",
                        NumeroOrden        = idNumInforme.ToString()
                    };

                    await InformeData.UpdateInforme_NumInforme(idMaxInforme, idNumInforme);

                    await SolicitudRevisionTecnicaData.UpdateSolicitudRevisionTecnica_C_Correctivo(idMaxRevision.ToString(), klm_acumulado, idNumInforme);

                    await ProgramacionData.UpdateProgramacionOrdenCorrectivoGeneracion(objProgramacion);
                }

                response = new Response <OrdenMasivaResponse>
                {
                    EsCorrecto = true,
                    Valor      = new OrdenMasivaResponse
                    {
                        List = new List <OrdenMasivaList>()
                    },
                    Mensaje = "OK",
                    Estado  = true,
                };

                return(response);
            }
            catch (FaultException <ServiceError> )
            {
                throw;
            }
            catch (Exception ex)
            {
                return(new Response <OrdenMasivaResponse>(false, null, Functions.MessageError(ex), false));
            }
        }