Пример #1
0
        public static ProgramacionEntity DatosProgramacion(int codiProgramacion)
        {
            var objeto = new ProgramacionEntity();

            using (IDatabase db = DatabaseHelper.GetDatabase())
            {
                db.ProcedureName = "Usp_Tb_programacion_Datos";
                db.AddParameter("@codi_programacion", DbType.Int32, ParameterDirection.Input, codiProgramacion);
                using (IDataReader drlector = db.GetDataReader())
                {
                    while (drlector.Read())
                    {
                        objeto = new ProgramacionEntity()
                        {
                            CodiEmpresa       = Reader.GetByteValue(drlector, "Codi_Empresa"),
                            CodiSucursal      = Reader.GetSmallIntValue(drlector, "Codi_Sucursal"),
                            CodiRuta          = Reader.GetSmallIntValue(drlector, "Codi_ruta"),
                            CodiBus           = Reader.GetStringValue(drlector, "Codi_Bus"),
                            FechaProgramacion = Reader.GetDateStringValue(drlector, "Fech_programacion"),
                            HoraProgramacion  = Reader.GetStringValue(drlector, "Hora_programacion"),
                            CodiServicio      = Reader.GetByteValue(drlector, "Codi_Servicio")
                        };
                    }
                }
            }
            return(objeto);
        }
        public static async Task <ProgramacionEntity> UpdateProgramacionOrdenCorrectivoGeneracion(ProgramacionEntity objEntidad)
        {
            try
            {
                using (SqlConnection con = GetConnection.BDALMACEN())
                {
                    bool openConn = (con.State == ConnectionState.Open);
                    if (!openConn)
                    {
                        con.Open();
                    }

                    using (SqlCommand cmd = new SqlCommand("usp_UDP_PROGRAMACION_OrdenCorrectivo_Generacion", con))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.Add("@pCODI_BUS", SqlDbType.VarChar).Value            = objEntidad.CODI_BUS;
                        cmd.Parameters.Add("@pCODI_PROGRAMACION", SqlDbType.VarChar).Value   = objEntidad.CODI_PROGRAMACION;
                        cmd.Parameters.Add("@pFechaGeneracion", SqlDbType.DateTime).Value    = Convert.ToDateTime(objEntidad.FechaGeneracion);
                        cmd.Parameters.Add("@pHoraGeneracion", SqlDbType.VarChar).Value      = objEntidad.HoraGeneracion;
                        cmd.Parameters.Add("@pKMT_VIAJE", SqlDbType.Decimal).Value           = objEntidad.KMT_VIAJE;
                        cmd.Parameters.Add("@pNumeroMantenimiento", SqlDbType.VarChar).Value = objEntidad.NumeroMantenimieto;
                        cmd.Parameters.Add("@pNumeroOrden", SqlDbType.VarChar).Value         = objEntidad.NumeroOrden;
                        cmd.Parameters.Add("@pUsuarioGeneracion", SqlDbType.VarChar).Value   = objEntidad.UsuarioGeneracion;

                        await cmd.ExecuteNonQueryAsync();

                        cmd.Dispose();
                    }

                    if (con.State == ConnectionState.Open)
                    {
                        con.Close();
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            return(null);
        }
        public static Response <VentaResponse> VentaUpdatePostergacionEle(FechaAbiertaRequest filtro)
        {
            try
            {
                var valor = new VentaResponse();
                var listaVentasRealizadas = new List <VentaRealizadaEntity>();

                // Verifica 'CodiProgramacion'
                var objProgramacion = new ProgramacionEntity()
                {
                    NroViaje          = filtro.NroViaje,
                    FechaProgramacion = filtro.FechaProgramacion,
                    CodiProgramacion  = filtro.CodiProgramacion,
                    CodiEmpresa       = filtro.CodiEmpresa,
                    CodiSucursal      = filtro.CodiSucursal,
                    CodiRuta          = filtro.CodiRutaBus,
                    CodiBus           = filtro.CodiBus,
                    HoraProgramacion  = filtro.HoraProgramacion,
                    CodiServicio      = byte.Parse(filtro.CodiServicio.ToString()),

                    CodiUsuario    = filtro.CodiUsuario.ToString(),
                    NomUsuario     = filtro.NomUsuario,
                    CodiPuntoVenta = filtro.CodiPuntoVenta,
                    Terminal       = filtro.Terminal,
                    CodiOrigen     = filtro.CodiOrigen,
                    CodiDestino    = filtro.CodiDestino,
                    NomOrigen      = filtro.NomSucursal
                };
                var verificaCodiProgramacion = VentaLogic.VerificaCodiProgramacion(objProgramacion);
                if (verificaCodiProgramacion == 0)
                {
                    return(new Response <VentaResponse>(false, valor, Message.MsgErrorVerificaCodiProgramacion, false));
                }
                else
                {
                    filtro.CodiProgramacion = verificaCodiProgramacion;
                }

                // Seteo 'valor.CodiProgramacion'
                valor.CodiProgramacion = filtro.CodiProgramacion;

                var venta = VentaRepository.BuscarVentaById(filtro.IdVenta);
                if (venta.CodiProgramacion != 0)
                {
                    return(new Response <VentaResponse>(false, valor, Message.MsgExcSeEncontrabaEnFechaAbierta, false));
                }

                FechaAbiertaRepository.VentaUpdatePostergacionEle(filtro);
                FechaAbiertaRepository.VentaUpdateImpManifiesto(filtro.IdVenta);
                FechaAbiertaRepository.VentaDerivadaUpdateViaje(filtro.IdVenta, filtro.FechaViaje, filtro.HoraViaje, filtro.CodiServicio);

                var objAuditoria = new AuditoriaEntity
                {
                    CodiUsuario    = filtro.CodiUsuario, //
                    NomUsuario     = filtro.NomUsuario,  //
                    Tabla          = "VENTA",
                    TipoMovimiento = "CONFIRMA FECHA ABIERTA",
                    Boleto         = filtro.Serie.PadLeft(3, '0') + "-" + filtro.Numero.PadLeft(7, '0'),
                    NumeAsiento    = filtro.NumeAsiento.PadLeft(2, '0'),
                    NomOficina     = filtro.NomSucursal,                    //
                    NomPuntoVenta  = filtro.CodiPuntoVenta.PadLeft(3, '0'), //
                    Pasajero       = filtro.Nombre,
                    FechaViaje     = filtro.FechaViaje,
                    HoraViaje      = filtro.HoraViaje,
                    NomDestino     = filtro.NombDestino,
                    Precio         = decimal.Parse(filtro.Precio),
                    Obs1           = "CONFIRMACION FECHA ABIERTA",
                    Obs2           = string.Empty,
                    Obs3           = string.Empty,
                    Obs4           = string.Empty,
                    Obs5           = string.Empty
                };
                VentaRepository.GrabarAuditoria(objAuditoria);

                // Añado 'ventaRealizada'
                var ventaRealizada = new VentaRealizadaEntity
                {
                    NumeAsiento = filtro.NumeAsiento
                };
                listaVentasRealizadas.Add(ventaRealizada);

                // Seteo 'valor.ListaVentasRealizadas'
                valor.ListaVentasRealizadas = listaVentasRealizadas;

                return(new Response <VentaResponse>(true, valor, Message.MsgCorrectoVentaUpdatePostergacionEle, true));
            }
            catch (Exception ex)
            {
                Log.Instance(typeof(FechaAbiertaLogic)).Error(System.Reflection.MethodBase.GetCurrentMethod().Name, ex);
                return(new Response <VentaResponse>(false, null, Message.MsgExcVentaUpdatePostergacionEle, false));
            }
        }
Пример #4
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));
            }
        }
Пример #5
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));
            }
        }