WorkOrder Manager (anteriormente OTE) es una aplicación móvil nativa para Android desarrollada en Java, diseñada para la gestión, asignación y seguimiento en tiempo real del ciclo de vida de órdenes de trabajo y servicios técnicos.
El sistema cuenta con autenticación por RUT y contraseña y distribuye el flujo según tres roles principales:
- Gestión de Personal: Creación, edición y eliminación de personal técnico y administradores.
- Gestión de Clientes: Registro y administración de empresas o clientes solicitantes.
- Gestión de Áreas y Sitios: Configuración de sedes, plantas o ubicaciones físicas de trabajo.
- Gestión de Órdenes: Asignación de órdenes de trabajo entrantes a técnicos específicos con filtros y búsqueda en tiempo real.
- Recepción de Asignaciones: Visualización de órdenes de trabajo asignadas en terreno.
- Aceptación y Seguimiento: Aceptar órdenes pendientes y cambiar su estado a "En Proceso".
- Finalización de Órdenes: Marcar órdenes como completadas al terminar la labor técnica.
- Solicitud de Órdenes: Creación inmediata de nuevas órdenes de trabajo especificando descripción y fecha.
- Historial de Solicitudes: Seguimiento en vivo del estado de sus órdenes de trabajo solicitadas (Sin Aceptar, En Proceso, Terminada).
| Componente | Tecnología | Detalle |
|---|---|---|
| Lenguaje | Java (Java 8 / 11 / 17 / 21) | Código fuente nativo |
| Plataforma | Android SDK | minSdk: 21 (Lollipop), compileSdk: 34, targetSdk: 34 (Android 14) |
| UI & Layouts | AndroidX & Material Design 3 | Componentes modernos (MaterialToolbar, TabLayout, RecyclerView, CardView) |
| View Binding | Android ViewBinding | Enlace seguro y type-safe de vistas |
| Consumo REST | Retrofit 2.9.0 + Gson Converter | Comunicación asíncrona con el backend |
| Notificaciones Push | Firebase Cloud Messaging (FCM 23.4+) | Soporte con NotificationChannel para Android 8.0+ |
Para compilar y ejecutar este proyecto se requiere:
- Android Studio: Hedgehog (2023.1.1), Iguana, Jellyfish, Koala, Ladybug o versiones más recientes.
- JDK (Java Development Kit): JDK 17 o JDK 21 (incluido por defecto como Embedded JDK / JBR en Android Studio).
- Android SDK: Android SDK Platform API 34 instalado a través del SDK Manager.
- Emulador o Dispositivo Físico: Dispositivo con Android 5.0 (API 21) o superior.
git clone https://github.com/CarlosGaubert/WorkOrderManager-Android.git
cd WorkOrderManager-Android- Inicia Android Studio.
- Selecciona Open (o
File$\rightarrow$ Open) y elige la carpeta raíz del proyecto. - Espera a que Android Studio complete la sincronización de Gradle (Gradle Sync).
- Asegúrate de tener seleccionado el módulo
appen la barra superior. - Selecciona un dispositivo virtual (AVD) o conecta tu teléfono Android vía depuración USB.
- Presiona el botón verde Run (Play) (
Shift + F10en Windows/Linux oControl + Ren macOS).
WorkOrderManager-Android/
├── app/
│ ├── src/
│ │ └── main/
│ │ ├── java/com/kendito/ote/
│ │ │ ├── loginActivity.java # Autenticación y redirección de roles
│ │ │ ├── Common.java # Estado y sesión global
│ │ │ ├── api/ # Interfaces Retrofit y endpoints REST
│ │ │ ├── model/ # Modelos POJO (Area, Cliente, Personal, etc.)
│ │ │ ├── adapter/ # Adapters para RecyclerViews
│ │ │ ├── Organizador/ # Vistas y lógica del Administrador
│ │ │ ├── Personal_Organizador/ # Vistas y lógica de Técnicos
│ │ │ ├── Cliente/ # Vistas y lógica de Clientes
│ │ │ ├── informacion/ # Pantallas de detalle de entidades
│ │ │ └── Service/ # Servicio Firebase Cloud Messaging
│ │ ├── res/ # Recursos (layouts, drawables, colors, strings)
│ │ └── AndroidManifest.xml # Manifiesto de la app con permisos y activities
│ └── build.gradle # Configuración del módulo de la app
├── gradle/
├── build.gradle # Configuración raíz de Gradle
├── settings.gradle # Nombre del proyecto y módulos
├── LICENSE # Licencia MIT
└── README.md
La aplicación se comunica con un backend REST alojado vía scripts PHP.
- A partir de Android 9 (API 28), Android exige HTTPS de forma predeterminada. El proyecto incluye
network_security_config.xmlpara permitir la conexión en entornos de prueba HTTP. - Para cambiar la URL base del backend, modifica la constante
URLen los archivos correspondientes o enloginActivity.java:public static final String URL = "http://tu-servidor-o-ip/ote/";
Este proyecto se distribuye bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.