sistema automatizado para la programaciÓn y seguimiento de ... · aprobaciÓn este jurado aprueba...

345
REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD DEL ZULIA FACULTAD DE INGENIERÍA DIVISIÓN DE POSTGRADO PROGRAMA DE POSTGRADO EN GERENCIA DE MANTENIMIENTO SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE LAS ACTIVIDADES DE MANTENIMIENTO EN INSTITUCIONES POLICIALES Trabajo de Grado presentado ante la Ilustre Universidad del Zulia para optar al Grado Académico de MAGÍSTER SCIENTIARUM EN GERENCIA DE MANTENIMIENTO Autor: ALEXANDER ENRIQUE FUENMAYOR FERRER Tutor: Carmen Galíndez Co-tutor: Marianella Mendoza Maracaibo, Mayo de 2007

Upload: hoangdang

Post on 26-Sep-2018

218 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD DEL ZULIA

FACULTAD DE INGENIERÍA DIVISIÓN DE POSTGRADO

PROGRAMA DE POSTGRADO EN GERENCIA DE MANTENIMIENTO

SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE LAS ACTIVIDADES DE MANTENIMIENTO EN

INSTITUCIONES POLICIALES

Trabajo de Grado presentado ante la

Ilustre Universidad del Zulia para optar al Grado Académico de

MAGÍSTER SCIENTIARUM EN GERENCIA DE MANTENIMIENTO

Autor: ALEXANDER ENRIQUE FUENMAYOR FERRER

Tutor: Carmen Galíndez Co-tutor: Marianella Mendoza

Maracaibo, Mayo de 2007

Page 2: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

FRONTISPICIO

SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE LAS ACTIVIDADES DE MANTENIMIENTO EN

INSTITUCIONES POLICIALES

Autor: Apellidos: Fuenmayor Ferrer Nombres: Alexander Enrique Cédula de Identidad: 7.818.398 Dirección: Avenida 20 con calle 67. Edificio “Capri”, piso 7. Maracaibo, estado Zulia. Teléfono: 0414-6169511 0261-7520372 E-mail: [email protected], [email protected] Firma: Tutor: Apellidos: Galíndez Novoa Nombres: Carmen Virginia Cédula de Identidad: 12.305.069 Dirección: Conj. Residencial La Paragua. Edif. Aripagua II. Apto 4 B, Maracaibo, estado Zulia Teléfono: 0261-7411118, 0414-6200095. E-mail: [email protected] Firma: Cotutor: Apellidos: Mendoza Barboza Nombres: Marianella Cédula de Identidad: 10.104.514 Dirección: Av. 23 con calle 73 Res. Pacairigua Apto 8ª Sector Paraíso Teléfono: 0261-0261-7518692, 0414-6286680 E-mail: [email protected] Firma:

Page 3: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

APROBACIÓN

Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA

PROGRAMACIÓN Y SEGUIMIENTO DE LAS ACTIVIDADES DE MANTENIMIENTO EN

INSTITUCIONES POLICIALES que el Ingeniero Alexander Enrique Fuenmayor Ferrer, C.I.

7.818.398 presenta ante el Consejo Técnico de la División de Postgrado de la Facultad de

Ingeniería en cumplimiento del Articulo 51, Parágrafo 51.6 de la Sección Segunda del

Reglamento de Estudios para Graduados de la Universidad de Zulia, como requisito para optar

al Grado Académico de

MAGÍSTER SCIENTIARUM EN GERENCIA DE MANTENIMIENTO.

Coordinador de Jurado.

Carmen Galíndez. C.I. 12.305.069

Ana Irene Rivas Gerardo Guerra. C.I. 4.152.755 C.I. 7.614.521

Gisela Páez Director de la División de Postgrado.

Maracaibo, Mayo de 2007.

Page 4: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Fuenmayor Ferrer Alexander Enrique. Sistema Automatizado para la Programación y Seguimiento de las Actividades de Mantenimiento en Instituciones Policiales. (2007). Trabajo de Grado. Universidad del Zulia. Facultad de Ingeniería. División de Postgrado. Maracaibo, Venezuela. 346p. Tutor: MSc. Carmen Galíndez, Cotutor: MSc. Marianela Mendoza.

RESUMEN Este trabajo de grado describe el diseño y desarrollo de un Sistema Automatizado para la programación y seguimiento de las actividades de mantenimiento que se ejecutan en el departamento de mantenimiento de una institución policial. Básicamente se refiere a la utilización de la tecnología existente actualmente en materia de computadoras para el diseño de un programa que proporcione una valiosa ayuda en la programación de las actividades de mantenimiento preventivo de los equipos y maquinarias de instituciones policiales. Particularmente en este tipo de entidades se presenta la problemática de que no existen programas de mantenimientos coordinados que estén basados en alguna de las metodologías usadas mundialmente en materia de mantenimiento. Esto genera una ausencia de seguimiento de las actividades propias de mantenimiento, aumento en los costos de mantenimiento, falta de información y control sobre sus equipos y ausencia de políticas de mantenimiento orientadas al mejoramiento de sus actividades. Adicionalmente, es común que en el departamento de mantenimiento de estas instituciones no exista un programa de computadoras específico para las labores que ejecuta ya que son vistas como un gasto y no como una inversión. Como objetivo principal se busca desarrollar un programa de computación modular capaz de llevar a cabo la programación y el seguimiento de las actividades de mantenimiento de los equipos y maquinarias de una institución policial, basándose en los registros que lleve la base de datos del mismo. Para lograr este fin se desarrollaron actividades planificadas y ordenadas entre las que podemos mencionar: inventario, entrevistas, antecedentes, evaluación y mejoras de los programas de mantenimiento existentes y la formulación de índices de control para la evaluación de la gestión del mantenimiento. Como resultado se obtuvo que el sistema automatizado realizado complementó a los departamentos de mantenimiento de las instituciones policiales y se recurrió al mismo como apoyo importante para el mejoramiento de las políticas de mantenimiento que buscan la optimización de sus servicios. Palabras clave: mantenimiento, programación, automatización. E-mail del autor: [email protected].

Page 5: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Fuenmayor Ferrer Alexander Enrique. Sistema Automatizado para la Programación y Seguimiento de las Actividades de Mantenimiento en Instituciones Policiales. (2007). Trabajo de Grado. Universidad del Zulia. Facultad de Ingeniería. División de Postgrado. Maracaibo, Venezuela. 346p. Tutor: MSc. Carmen Galíndez, Cotutor: MSc. Marianela Mendoza.

ABSTRACT This degree work describes the Automated System design and development for the programming and tracking maintenance activities executed in the police maintenance departments. Basically it refers to the use of today existent computers technology for a program's design that provides a valuable help in the programming of equipment and machines maintenance preventive activities. Particularly in these organizations it encounters the inconvenience that coordinated maintenance programs based on one of maintenance methodologies used world widely doesn’t exists. This generates a follow-up own absence of maintenance activities, increase in maintenance costs, drop-out and thrashing on its equipment and machines, and absence of maintenance policies guided to improvement of activities. Additionally, it’s common that in these entities maintenance departments exist none computer program for the chores they executes since they are seen like an expense and not like an investment. Principal objective tries to develop a computer modular program capable to carry-out programming and tracking maintenance activities on police institutions equipment and machines, being based on records in its databases. In order to achieve this, planned and ordered activities were development: Inventory, interviews, background, evaluation and improvements on existing maintenance programs and control indexes formulation to evaluate maintenance performance. As result, automated system accomplished complemented the institutional police maintenance departments and it was used as an important support for the maintenance policies improvements that pursuits its services optimization. Key words: Maintenance, programming, automation. Author`s e-mail: [email protected]

Page 6: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

AGRADECIMIENTO

A la ilustre Universidad del Zulia, por darme oportunidad de alcanzar el objetivo

propuesto.

A todos los Profesores, por su dedicación, apoyo y conocimientos que me brindaron

durante todo el período de estudio.

A las profesoras Ana Irene Rivas, Carmen Galíndez y Marianella Mendoza por su

valiosa ayuda y asesoría en la realización de este trabajo.

A todo el personal de mantenimiento de los organismos policiales por su participación y

colaboración brindada.

A todos los compañeros que siguieron conmigo todo el camino hasta la culminación de

nuestros estudios.

A todo el personal de la facultad de Ingeniería de la Universidad del Zulia,

especialmente de la división de postgrado, quienes colaboraron con su trabajo en mis

estudios.

A todas las personas que de alguna manera contribuyeron a que alcanzara esta meta.

GRACIAS A TODOS.

Page 7: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

TABLA DE CONTENIDO

Página

RESUMEN..................................................................................................................... 4ABSTRACT.................................................................................................................... 5AGRADECIMIENTO....................................................................................................... 6TABLA DE CONTENIDO............................................................................................... 7LISTA DE TABLAS……………………………………………………………………………. 9LISTA DE FIGURAS………………………………………...………………………………… 11INTRODUCCIÓN……………………………………………………………………….……… 13CAPÍTULO I. ASPECTOS GENERALES…………………………………………………………… 15 1.1. Planteamiento del problema……………………………………………….… 15 1.2. Justificación.............................................................................................. 16 1.3. Alcance..................................................................................................... 17 1.4. Delimitación.............................................................................................. 17 1.5. Objetivo general....................................................................................... 17 1.6. Objetivos específicos................................................................................ 17 1.7. Antecedentes de la investigación………………………………………….… 18 1.8. Descripción de los organismos policiales................................................. 20 II. FUNDAMENTOS TEÓRICOS……………………………………………………….. 21 2.1. Aspectos generales sobre sistemas automatizados.................................. 21 2.2. Aspectos generales del mantenimiento..................................................... 22 2.2.1. Introducción al mantenimiento…………………………………………… 22 2.2.2. El proceso de mantenimiento…………………………………………….. 23 2.2.3. Políticas de mantenimiento……………………………………………….. 26 2.2.4. Objetivos y funciones del mantenimiento……………………………….. 27 2.2.5. Ventanas del mantenimiento……………………………………………… 28 2.2.6. Tipos de mantenimiento…………………………………………………… 29

2.3. Aspectos generales sobre sistemas computarizados de gestión de mantenimiento………………………….…..………………………

31

2.3.1. Qué es un sistema computarizado de gestión de mantenimiento……. 31

2.3.2. Ventajas del sistema computarizado de gestión de mantenimiento….. 32

III. MARCO METODOLÓGICO…………………………………………………………… 34 3.1. Tipo de Investigación…............................................................................... 34 3.2. Población y muestra…................................................................................ 35 3.3. Técnicas e instrumentos de recolección de datos…………………………… 35 3.4. Procedimiento metodológico…………………………………………………… 35 IV. PRESENTACIÓN DE RESULTADOS………………………………………………. 40

4.1. Inventario de partes, maquinarias y equipos a ser considerados por el sistema automatizado para la programación y seguimiento de las actividades de mantenimiento ………………………………..…………

40

Page 8: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

TABLA DE CONTENIDO

Página

4.2. Codificación……………………….................................................................. 44 4.2.1. Código para equipos………………………………………………………… 44 4.2.2. Código para locaciones o ubicaciones……………………………………. 77 4.2.3. Código para categoría de equipos…………………………………………. 77 4.2.4. Código para departamentos………………………………………………… 77 4.2.5. Código para estatus de equipos……………………………………………. 77 4.3. Evaluación de programas de mantenimiento existente…………………..….. 81 4.3.1. Programas de mantenimiento existentes…………………………………. 81 4.3.2. Parámetros de los programas de mantenimiento existentes……………

4.4. Programa de mantenimiento preventivo para equipos y maquinarias basados en historiales, recomendaciones del fabricante y siguiendo lineamientos característicos del mantenimiento clase mundial………………………………………………..….

86

4.4.1. Investigación documental……………………………………………….….. 86

4.4.2. Objetivos del mantenimiento clase mundial a considerar…………..…… 87

4.4.3. Elaboración del programa de mantenimiento…………………………….. 87

4.4.4. Formatos a utilizar en labores de mantenimiento………………………… 153

4.5. Índices de control para medir efectividad del sistema……………………..… 162

4.6. Parámetros a ser considerados por el sistema automatizado para la programación y seguimiento de las actividades de mantenimiento…………………………………………………………………….

165

4.7. Desarrollo del programa para computadoras con interfaz hombre-máquina amigable para hacer fácil su operabilidad………………...

167

4.7.1. Selección de lenguaje de programación…………………………………. 168

4.7.2. Método de programación para la aplicación…………………………….. 169

4.7.3. Subprogramas que conforman la aplicación…………………………….. 170

4.7.4. Desarrollo del sistema automatizado…………………………………….. 173

4.7.4.1. Tablas utilizadas para almacenamiento de información…………... 173

4.7.4.2. Formularios……………………………………………………………... 178

CONCLUSIONES............................................................................................................ 341RECOMENDACIONES.................................................................................................... 342BIBLIOGRAFÍA................................................................................................................ 343ANEXOS……………………………………………………………………………………..….. 346

Page 9: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

LISTA DE TABLAS

Página

Tabla No. 1 Inventario de aires acondicionados de policía municipal de

Maracaibo................................................................................... 45

Tabla No. 2 Inventario de vehículos de policía municipal de Maracaibo........ 49

Tabla No. 3 Inventario de aires acondicionados de policía regional del

estado Zulia................................................................................. 53

Tabla No. 4 Inventario de vehículos de policía regional estado Zulia…......... 57

Tabla No. 5 Inventario de aires acondicionados de policía del municipal

de San Francisco………………………………………………… 62

Tabla No. 6 Inventario de vehículos de policía municipal de San Francisco. 63

Tabla No. 7 Inventario de equipos de telecomunicaciones de la policía

municipal de Maracaibo………………………………………….. 65

Tabla No. 8 Inventario de equipos de telecomunicaciones de la policía

municipal de San Francisco……………………………………... 65

Tabla No. 9 Inventario de equipos de telecomunicaciones de la policía

regional del estado Zulia …………………….…………………... 66

Tabla No.10 Inventario de partes en almacenes……….…………………….. 68

Tabla No.11 Programa de mantenimiento para vehiculo Crown Victoria.…… 89

Tabla No.12 Programa de mantenimiento para vehiculo Impala………...…… 95

Tabla No.13 Programa de mantenimiento para vehiculo Four Runner.....…… 99

Tabla No.14 Programa de mantenimiento para vehiculo LUV Dmax.......…… 102

Tabla No.15 Programa de mantenimiento para vehiculo Jeep Cherokee.…… 111

Tabla No.16 Programa de mantenimiento para vehiculo Mazda B2600....…… 116

Tabla No.17 Programa de mantenimiento para vehiculo Autana…………...… 122

Tabla No.18 Programa de mantenimiento para aire acondicionado tipo

ventana…………………………………………………………… 125

Tabla No.19 Programa de mantenimiento para aire acondicionado tipo

split York 3 a 5 Ton.…………………………………………….… 131

Page 10: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

LISTA DE TABLAS

Página

Tabla No.20 Programa de mantenimiento para aire acondicionado tipo

multi-split LG 5 Ton.…………………………………………….… 137

Tabla No.21 Programa de mantenimiento para aire acondicionado tipo

split 30K BTU……………………………………………………… 140

Tabla No.22 Programa de mantenimiento para aire acondicionado tipo

compacto 5 a 20 Ton.…………………………………………… 143

Tabla No.23 Programa de mantenimiento para aire acondicionado tipo

split Carrier 5 a 15 Ton..………………………………………… 146

Tabla No.24 Programa de mantenimiento para aire acondicionado tipo

mini-split 15 a 24K BTU.………………………………………… 149

Tabla No.25 Índices de control………….……………………………………… 152

Page 11: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

LISTA DE FIGURAS

Página

Figura No. 1 El proceso de mantenimiento.......................................................... 24

Figura No. 2 Formato para solicitud de trabajos.................................................. 153

Figura No. 3 Formato para mantenimiento preventivo de vehículos.................... 154

Figura No. 4 Formato para mantenimiento preventivo de aires acondicionados.. 156

Figura No. 5 Formato para reparación de vehículos…………………………… 158

Figura No. 6 Formato para reparación de aires acondicionados...……………… 160

Figura No. 7 Formulario Menú principal……………………………….………….. 178

Figura No. 8 Formulario Lista de equipos...………………………….……………. 184

Figura No. 9 Formulario Equipo actual…......………………………….………….. 195

Figura No.10 Formulario Equipo nuevo…......………………………….………….. 202

Figura No.11 Formulario Lista de empleados..………………………….………….. 203

Figura No.12 Formulario Empleado actual....………………………….……………. 207

Figura No.13 Formulario Empleado nuevo...………………………….…………….. 209

Figura No.14 Formulario Lista de ubicaciones……………………….……………… 212

Figura No.15 Formulario Ubicación actual……...…………………….……………… 215

Figura No.16 Formulario Ubicación nueva……...…………………….……………… 216

Figura No.17 Formulario Información de empresa….……………….……………… 217

Figura No.18 Formulario Reportes…………………………………………………… 219

Figura No.19 Formulario Listado de solicitudes de trabajo……………...………… 244

Figura No. 20 Formulario Solicitudes de órdenes de trabajo…….……………….. 248

Figura No. 21 Formulario Listados generales del sistema…..…….……………….. 251

Figura No. 22 Formulario Listados generales del sistema - Equipos……………... 252

Figura No. 23 Formulario Listados generales del sistema - Tipos de equipos…… 252

Figura No. 24 Formulario Listados generales del sistema - Empleados………….. 253

Figura No. 25 Formulario Listados generales del sistema - Ubicaciones..……….. 254

Page 12: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

LISTA DE FIGURAS

Página

Figura No. 26 Formulario Listados generales del sistema - Proveedores.……….. 255

Figura No. 27 Formulario Listados generales del sistema - Repuestos...……….. 256

Figura No. 28 Formulario Listados generales del sistema - Códigos de Falla..….. 257

Figura No. 29 Formulario Listados generales del sistema - Otros…………....….. 258

Figura No. 30 Formulario Listados generales del sistema - Departamentos....….. 259

Figura No. 31 Menú mantenimiento preventivo……………………………….....….. 267

Figura No. 32 Lista de tareas de mantenimiento preventivo por fechas..….....….. 269

Figura No. 33 Tarea de mantenimiento preventivo actual por fecha…....….....….. 273

Figura No. 34 Lista de Tareas - medidores…………………………………......….. 285

Figura No. 35 Tarea de mantenimiento preventivo actual por medidores…….….. 289

Figura No. 36 Lectura de medidores……………………………………………….... 297

Figura No. 37 Lista de instrucciones……………………………………………….... 302

Figura No. 38 Instrucción actual……..…………………………………………….... 303

Figura No. 39 Instrucción nueva……..…………………………………………….... 303

Figura No. 40 Generación de orden de trabajo de mantenimiento preventivo….... 308

Figura No. 41 Horas de mano de obra distribuidos en mantenimiento preventivo... 329

Page 13: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

INTRODUCCIÓN

El mantenimiento se ha convertido en una necesidad evidente de los sistemas de

producción y servicios a nivel mundial. Existen razones que justifican la existencia de planes de

mantenimiento preventivo, las cuales resultan en beneficio directo e indirecto del sistema.

El mantenimiento es considerado hoy en día un factor estratégico cuando se busca

incrementar los niveles de productividad, calidad y seguridad en una empresa. Es por ello que

una empresa que aspire a ser mas competitiva y eficiente debe adoptar técnicas y sistemas que

le permitan tener organizada y actualizada una gran cantidad de información para llevar a cabo

una buena gestión del mismo, alcanzando beneficios en la reducción de paros de equipos,

aumento de la vida útil de los equipos, reducción de los niveles de inventario, prevención de

reparaciones mayores, disminución de accidentes, contabilidad y uniformidad en la calidad de

sus productos y/o servicios.

El diseño de un plan de mantenimiento, tomando en cuenta los requerimientos y

características de cada empresa o institución, necesita de inventario de todos los equipos de

manera que permita identificar y seleccionar a cada uno de acuerdo a su complejidad y

criticidad de manera rápida y efectiva a través de un sistema de codificación por medio del

cual el personal que labora allí reconocerá los equipos.

Además, un programa de mantenimiento contempla toda la información técnica acerca de

lo que se debe seguir para el mantenimiento de los equipos existentes en una institución, de

manera de facilitar su operación al personal y con el propósito de preservar las máquinas y

equipos en condiciones óptimas de operación durante su tiempo de vida para la continuidad del

servicio que ofrece la institución y conectar la atención en las áreas más problemáticas y de

mayor importancia tecnológica, a fin de trabajar de forma coordinada con el área operativa,

minimizar el mantenimiento correctivo, costos de operación, paradas innecesarias por falta de

planificación, y por ende prolongar la vida útil de los equipos.

En el caso particular de los organismos policiales se diseñará un plan de mantenimiento

preventivo para sus equipos y maquinarias contemplando toda la información necesaria que

permita cumplir de forma adecuada y segura las labores de mantenimiento y de esta manera

maximizar la eficacia de los mismos garantizando la disponibilidad y calidad del servicio que

ofrecen estas instituciones.

13

Page 14: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

14

Así mismo, se evaluará y mejorará la metodología que utilizan estas instituciones para el

manejo de sus inventarios, considerando que este aspecto es muy importante ya que se

relaciona directamente con la eficacia de un programa de mantenimiento óptimo.

Una vez definidos los programas de mantenimiento para los equipos y maquinarias de las

instituciones policiales y establecidos los adecuados procedimientos y técnicas para el manejo

de los inventarios, se diseñará un programa para computadoras que ayudará en alto grado al

control y seguimiento de las actividades de mantenimiento de cada uno de los equipos y

maquinarias de las instituciones policiales y permitirá llevar registros de todos las operaciones

que se lleven a cabo en los mismos incluyendo el manejo de los inventarios.

Este trabajo de grado se encuentra estructurado de la siguiente manera:

En el Capitulo I se especifican generalidades del problema donde se describe el objetivo

general, objetivos específicos, justificación, y una breve descripción de las funciones de los

organismos policiales.

En el Capitulo II se explican una serie de conceptos y antecedentes en general, que

permitan un mayor entendimiento acerca del diseño óptimo y eficiente de los programas de

mantenimiento preventivo.

En el Capitulo III se señalan los procedimientos a seguir para la elaboración de los

programas de mantenimiento, considerando la situación actual de los organismos policiales en

materia de mantenimiento. También comprende el tipo de investigación a realizar, la población

a ser estudiada, la recopilación de datos y los procedimientos para el análisis de los resultados.

En el capitulo IV se muestran los resultados obtenidos, la interpretación de los mismos y

la solución del problema.

Finalmente se expone las conclusiones y recomendaciones de la problemática estudiada.

Page 15: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

CAPITULO I ASPECTOS GENERALES

En este capitulo se hace referencia a los aspectos generales del tema a tratar que incluye

el planteamiento y formulación del problema, el objetivo general, los objetivos específicos, la

justificación de la investigación, alcance, delimitación, y la descripción de la empresa.

1.1. – Planteamiento y formulación del problema

El mantenimiento de los equipos y maquinaria en una institución o empresa es uno de los

aspectos más importantes dentro de las funciones que éstas desarrollan ya que de él depende

el mantener dichos equipos en óptimo estado de operatividad y lograr el uso más eficiente de

los mismos durante su período de vida útil. Es bien conocido que en los organismos de

servicios públicos, que prestan servicios a la comunidad, como las instituciones policiales, las

labores de mantenimiento generalmente son subcontratadas o no se realizan debido a varias

razones como la no asignación de presupuesto o carencia de personal capacitado.

Durante las últimas dos décadas pasadas, fue muy común el observar la situación que se

presentaba con los equipos y maquinarias en los organismos policiales caracterizada por la falta

casi total de mantenimiento, por lo que dichos equipos eran utilizados hasta que los mismos se

deterioraban y/o presentaban fallas. Cuando esto sucedía a algún equipo, el mismo era

colocado en un depósito para su supuesta posterior reparación, la cual no era realizada, se

desmantelaba el equipo y terminaba en lo que comúnmente se denomina un “cementerio de

chatarra”.

A pesar de que en los últimos siete años se ha dado una mayor importancia a los

aspectos relacionados con el mantenimiento y que actualmente se está considerando la

inclusión del departamento de mantenimiento en la estructura organizativa de los organismos

policiales, estos departamentos en su mayoría no se encuentran organizados de una manera

óptima ya que no se llevan controles de inventario de partes, programa de mantenimiento

adecuado y personal bien calificado, limitándose a realizar las labores de mantenimiento

correctivo cuando el equipo falla y dejando el equipo inoperable hasta conseguir la parte a

reemplazar y realizar la reparación.

Otras de las situaciones reales que se presentan en los organismos policiales es el

frecuente cambio de personal, situación a la que no escapa el personal encargado de la

dirección del departamento o gerencia de mantenimiento. Se da el caso de que se coloca en la

dirección de mantenimiento a personal no calificado para estas labores.

Cuando el director ó gerente de mantenimiento es cambiado de su cargo en un tiempo

Page 16: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

16

relativamente breve, es muy común que se pierdan los planes de mantenimiento que ha venido

desarrollando durante el tiempo de su trabajo además de perderse información recopilada

durante su período. Como es lógico el nuevo gerente aplicará su metodología propia y no se da

continuidad al trabajo realizado anteriormente y muchas veces se generan cambios en las

políticas de mantenimiento.

Bajo estos escenarios, no óptimos para una gerencia de mantenimiento, se llegan a

generar varios tipos de pérdidas que promedian un 40% más de tiempo de un equipo en espera

de repuestos y como consecuencia de la ausencia de un programa de mantenimiento

coherente, en donde se lleve el control sobre las actividades de mantenimiento acumuladas,

registros, información y seguimiento del programa, se genera un 35% mas en los costos de

mantenimiento. Por lo que se presenta la solución al planteamiento del problema como: ¿qué

recursos metodológicos y/o tecnológicos utilizar en los organismos policiales para llevar el

control sobre el programa de mantenimiento de manera que permita la operación y optimización

continua del mismo?

1.2. - Justificación

La elaboración de este proyecto busca desarrollar un sistema automatizado para la

programación y el seguimiento efectivo de todas las actividades de mantenimiento que se

desarrollen en las instituciones policiales.

La investigación es conveniente ya que sirve para estandarizar los métodos y

procedimientos para cada una de las actividades de mantenimiento que se realizan en los

institutos policiales y tiene implicaciones prácticas ya que ayudará a solucionar el problema de

la falta de seguimiento del programa de mantenimiento.

Así mismo, tiene utilidad metodológica al considerar una de las tendencias más

importantes y actuales en la gerencia del mantenimiento como lo es el Mantenimiento Clase

Mundial en el desarrollo del programa de mantenimiento preventivo, y la utilización de índices

de control para la medición de la efectividad del sistema, lo cual genera nuevos conocimientos

para el departamento encargado.

De igual manera, el proyecto genera un nuevo instrumento para la recolección y análisis

de datos ya que con el desarrollo de un programa para computadoras será posible realizar

estudios de historiales que influyan notablemente en la acertada toma de decisiones en lo que a

acciones de mantenimiento se refiera.

Además, considerando que el desarrollo del programa se basará en las actividades de

mantenimiento que se realizan en instituciones policiales, éste será de gran utilidad al estar

adaptado a las necesidades actuales de los mismos y a la vez podrá ser modificado para

Page 17: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

17

adaptarlo a nuevos escenarios de mantenimiento que puedan generarse posteriormente.

1.3. – Alcance

La presente investigación comprende la identificación de las partes, maquinarias y

equipos de las instituciones policiales que van a ser tomadas en cuenta para el diseño del

sistema automatizado, considerando la flota vehicular, equipos de telecomunicaciones, equipos

electrónicos y eléctricos, equipos acondicionadores de ambiente y flota de operaciones aéreas,

evaluando los programas de mantenimiento actuales para su mejoramiento y creación de

nuevos programas que incluyan recomendaciones y lineamientos del mantenimiento clase

mundial. Así mismo, comprende la selección de los índices de control necesarios para medir la

efectividad del sistema y el desarrollo del programa de mantenimiento para computadoras

adaptado a los requerimientos de las instituciones policiales.

1.4. - Delimitación

El proyecto se limitará al diseño de un programa para computadoras para la programación

y seguimiento de las actividades de mantenimiento en las instituciones policiales de la región

zuliana: Instituto Autónomo Policía del Municipio Maracaibo, Instituto Autónomo Policía del

Municipio San Francisco y Policía Regional del estado Zulia. La investigación se encuentra

delimitada temporalmente desde el mes de abril del 2005 hasta el mes de Abril del 2007.

1.5. - Objetivo general

Desarrollar un sistema automatizado para la programación y seguimiento de las

actividades de mantenimiento de los equipos y maquinarias en instituciones policiales.

1.6. – Objetivos específicos

Elaborar el inventario de las partes, maquinarias y equipos a ser considerados en el

diseño del sistema automatizado para la programación y seguimiento de las actividades

de mantenimiento en instituciones policiales.

Evaluar el programa de mantenimiento existente en las instituciones policiales y los

factores que se tomaron en cuenta para su elaboración.

Page 18: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

18

Desarrollar el programa de mantenimiento preventivo para los equipos y maquinarias,

basados en historiales, recomendaciones del fabricante y siguiendo los lineamientos

característicos del Mantenimiento Clase Mundial.

Formular índices de control para medir la efectividad total del sistema.

Diseñar los parámetros que van a ser considerados por del sistema automatizado para

la programación y seguimiento de las actividades de mantenimiento.

Desarrollar el programa para computadoras con interfaz hombre-máquina amigable con

el objeto de hacer fácil su operabilidad.

1.7. – Antecedentes de la investigación.

Desarrollo de un sistema computacional para el control de equipos y trabajos en

empresas productoras de vinos. Ing. Claudia Wildman. Trabajo de grado para optar al

título de Magíster Scientiarum en Gerencia de Mantenimiento. Universidad del Zulia,

2003.

Resumen

A fin de controlar la actividad de mantenimiento a través de los subsistemas de control de equipos y trabajos de manera fácil, rápida y precisa a tono con la política empresarial, el ambiente y la situación socio-económica del país; se crea un sistema de información automatizado para dichos subsistemas en empresas productoras de vino. El escenario computacional es creado siguiendo la metodología enfocada por el autor James Seen, el cual menciona seis etapas que conforman el ciclo de vida de un sistema completamente desarrollado: 1.- Investigación preliminar, 2.- Determinación de los requerimientos, 3.- diseño del sistema, 4.- Desarrollo del software, 5.- Prueba del sistema, 6.- Implantación del sistema. Escrito en lenguaje Visual Basic, este software registra la información concerniente a los equipos y actividades para el programa de mantenimiento preventivo del Centro Vitícola del Edo. Zulia, consignando la entrada y salida de datos, los cuales son desplegados por pantallas e impresos por reportes originados automáticamente. Con este sistema se mejora considerablemente la velocidad de procesamiento y consulta de la información; aumentando la confiabilidad de las transcripciones, eliminando de esta manera la realización de actividades manuales, minimizando la pérdida de tiempo y dinero; sirviendo de herramienta para la estructuración y organización general del mantenimiento. Como prueba de validez de esta investigación se pone de manifiesto la funcionalidad del sistema y se evidencia la facilidad del manejo del mismo, permitiendo así comprobar que satisface las necesidades y los requerimientos establecidos.

De este trabajo, el cual contempla entre otros aspectos, el uso de un programa para

computadoras para llevar la información referente a los equipos instalados en una empresa

Page 19: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

19

productora de vinos y su mantenimiento, se toma como referencia la clasificación detallada de

los parámetros a tomar en cuenta en el programa de mantenimiento de los equipos y la manera

de mostrar la información en el sistema además de la apropiada codificación de los equipos y

tareas de mantenimiento.

Diseño de un sistema de mantenimiento preventivo de los equipos para empresas

de servicios. Ing. Joseline Finol. Trabajo de grado para optar al título de Magíster

Scientiarum en Gerencia de Mantenimiento. Universidad del Zulia, 2002.

Resumen

En un mundo en plena transformación, donde la competitividad es la clave del éxito de cualquier empresa que opere mecánicamente, una de las herramientas básicas para la consecución de tal objetivo, la constituye un sistema gerencial de mantenimiento que permita obtener los parámetros específicos de un programa de mantenimiento preventivo, que a su vez asegure el eficiente funcionamiento de los equipos, aumente su vida útil y reduzca los períodos de mal funcionamiento o fallas que generen costos innecesarios, para así ofrecer ventajas competitivas a los clientes de las empresas de servicios de alimentos. Para tales efectos se seleccionó como punto de partida de esta investigación la empresa SHRM (Servicio de Hotelería, Restaurante y Mantenimiento) que labora en este ramo. El diseño del plan de mantenimiento preventivo se realizó a partir de la identificación y codificación de los equipos críticos y semicríticos que permitió llevar un control de equipos mediante registros e historiales, un control de trabajos mediante la programación de las actividades de mantenimiento preventivo a ejecutar y la aplicación de formatos, un control de inventario a través de la codificación de los repuestos, materiales, herramientas y equipos, el establecimiento de políticas y formatos para su control; y la utilización del computador como respaldo de información; que permite imponer mejoras significativas en el proceso productivo de las empresas de servicios de alimentos. Siendo todas las características del programa de mantenimiento preventivo adaptables a cualquier empresa que labore en el mismo ramo.

Este trabajo crea un modelo de base de datos de fácil uso y compatible con muchos

programas que manejan las mismas el cual permite compartir los datos con otras aplicaciones

desarrolladas en otros lenguajes. Esta filosofía de manejo de la información tiene la gran

ventaja de que en futuros desarrollos de programas no se pierde la misma sino que es utilizada

por las nuevas aplicaciones.

Software de Mantenimiento MaintSmart. Daniel Cook. Es un programa para

mantenimiento que se empezó a desarrollar en el año 1997 y que cuenta con constantes

actualizaciones y que en comparación con otras aplicaciones es una de las más

completas del mercado. El programa es modular lo que significa que de acuerdo con la

necesidad del cliente se adquieren los módulos de programa requeridos para cada

Page 20: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

20

función de la empresa. De este programa se tomó como referencia las variables básicas

que debe tener una aplicación de computadoras para mantenimiento.

Software de mantenimiento EZ Maintenance, CMMS Preventive Maintenance

Software. Link it Software Corporation. Este programa planifica el mantenimiento de

flotas de vehículos así como otros equipos de una empresa. También utiliza varios

niveles de accesos al usuario que usa el programa para prevenir accesos no autorizados

o modificación de datos en los diferentes módulos del programa. A pesar de que no está

orientado al manejo de inventario, se tomo como referencia principal el manejo que hace

de las flotas de vehículos en las actividades de mantenimiento.

Software Prisma II Gestión de Mantenimiento. Sisteplant S.A. Es un software que

está orientado a la reducción de averías y costos de mantenimiento así como también

la optimización de los mantenimientos preventivos, cumpliendo con los estándares ISO.

De este software se tomo como referencia la manera de presentación de los datos y

presentaciones en pantalla.

1.8. – Descripción de los organismos policiales

Los Organismos de seguridad policiales son instituciones sin fines de lucro que tienen

como función principal la prestación del servicio de seguridad a la comunidad y sus bienes así

como funciones secundarias como velar por el mantenimiento de la moralidad, salubridad,

urbanismo, ornato público, defensa del ambiente, tránsito y orden público en la jurisdicción que

les corresponde. Estos organismos son dependencias de las gobernaciones o alcaldías

municipales de cada región y que dependen a su vez del gobierno nacional.

Estas instituciones tienen dentro de sus estrategias el cumplir con sus funciones de

patrullaje diario y constante por todos los sectores de la ciudad o región; para ello cuentan con

un importante número de unidades radio patrulleras (vehículos), y camionetas rústicas y otros

equipos para blindar su capacidad de repuesta en las regiones bajo su responsabilidad.

También pueden tener otras maquinarias utilizadas como soporte a sus labores de seguridad

como las unidades de apoyo aéreo, motocicletas y unidades de transporte.

Son instituciones que por su carácter de organismos de seguridad prestan un servicio a la

comunidad de 24 horas diarias durante todo el año, lo que implica un uso constante de sus

activos por parte del personal asignado, incluyendo vehículos automotores, equipos eléctricos y

electrónicos, equipos de oficina, computadoras y equipos de telecomunicaciones.

Page 21: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

CAPITULO II FUNDAMENTOS TEORICOS

A continuación se definirán los fundamentos teóricos de las disciplinas consideradas en

esta investigación, con el propósito de establecer una base de referencias sobre los tópicos a

tratar. Como punto de partida de los fundamentos teóricos se definirán los términos que serán

manejados en esta investigación y posteriormente otros conceptos importantes relacionados

con la misma.

2.1. Aspectos generales sobre sistemas automatizados

Se define como Sistema a un conjunto de elementos que, ordenadamente relacionados

entre sí, contribuyen a determinado objeto, según el diccionario de la lengua española

(http://www.wordreference.com/definicion/sistema). Herrera (1994), define un sistema como un

conjunto de objetos organizados que interactúan entre sí para lograr un objetivo. Se puede

definir entonces como Sistema al conjunto de objetos relacionados entre si que interactúan para

cumplir una función específica.

Así mismo, se puede definir un Sistema automatizado partiendo del concepto de Control

Automático que según Abarca (2003) se define como “el mantenimiento de un valor deseado

para una cantidad o condición física, midiendo su valor actual, comparándolo con el valor

referencia, y utilizando la diferencia para proceder a reducirla mediante una acción correctiva.

En consecuencia, el control automático exige un lazo cerrado de acción y reacción que funcione

sin intervención humana”. En base a este concepto, se puede definir un Sistema Automatizado

como: el conjunto de elementos organizados que interactúan entre sí para lograr un objetivo

minimizando la intervención humana. En esta investigación el sistema automatizado estará

representado por un programa para computadoras que asistirá al usuario en la programación y

seguimiento de las actividades propias del mantenimiento de los activos en los organismos de

seguridad.

El término Programación, según Sethi (1992), se define como la acción de establecer una

secuencia de instrucciones mediante las cuales se ejecutan diferentes acciones. Cuando se

habla de Programación y seguimiento de las actividades de mantenimiento se refiere a la

definición de las tareas que se ejecutarán a un bien, activo o equipo como parte de un programa

de mantenimiento y el control sobre la oportuna ejecución de esas tareas durante un período de

tiempo de funcionamiento del mismo. Esto implica el registro de todas las actividades que se

ejecuten al equipo durante su tiempo de vida estimado.

Page 22: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

2.2. – Aspectos generales del mantenimiento

Según García Garrido (1993), el Mantenimiento es “el conjunto de técnicas destinado a

conservar equipos e instalaciones en servicio durante el mayor tiempo posible buscando la más

alta disponibilidad y con el máximo rendimiento.” Este conjunto de técnicas no solo abarcan las

actividades que se aplican a un equipo o instalación sino también el estudio de las mejores

prácticas, metodologías, análisis de fallas, gestión y control. Por esta razón es importante

destacar y conocer más en detalle los aspectos que implica el mantenimiento, detalles

necesarios para la elaboración y aplicación de un efectivo plan de mantenimiento.

2.2.1. - Introducción al mantenimiento

Todo sistema, maquinaria o equipo, cuando comienza a ser utilizado por primera vez,

generalmente se encuentra en un estado totalmente operativo considerando su condición de

nuevo. Pero a pesar que el mismo comienza su vida operativa, cada usuario del mismo debe

estar consciente de que, independientemente de la perfección de su diseño o de su tecnología,

a lo largo de su operación se producirán cambios irreversibles. Estos cambios son resultado de

procesos tales como corrosión, abrasión, acumulación de deformaciones, distorsión,

sobrecalentamientos, fatiga, difusión de un material en otro, etc. A menudo, estos procesos se

superponen e interactúan los unos con los otros y causan un cambio en el sistema, con lo cual

cambiarán sus características de actuación. La desviación de esas características respecto a

los valores especificados es lo que se considera como fallo del sistema, los que también

pueden ser provocados por errores de los operadores, sobrecargas, reparaciones incorrectas,

etc.

Para que un sistema recupere la capacidad de realizar una función es necesario realizar

unas tareas especificadas, conocidas como tareas de mantenimiento. Se conoce como

mantenimiento al conjunto de acciones que se aplican a los equipos con el objeto de detectar,

corregir y prever condiciones desfavorables en su funcionamiento, asegurando de esta manera

que la calidad de servicio permanezca dentro de los límites establecidos.

Las tareas de recuperación más comunes son limpieza, ajuste, lubricación, pintura,

calibración, sustitución, reparación, restauración, renovación, etc.; a menudo es necesario

realizar más de una tarea para recuperar la funcionalidad de un sistema. Además de las tareas

de mantenimiento consecuentes al fallo durante la operación, un sistema puede requerir tareas

adicionales para mantenerlo en estado de funcionamiento. Generalmente, estas tareas son

menos complejas que las necesarias para la recuperación de la funcionabilidad, siendo típicas

actividades tales como limpieza, ajuste, comprobación e inspección.

22

Page 23: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Es muy importante que el usuario del sistema en consideración, tenga al principio de su

vida operativa, información sobre la funcionabilidad, costo, seguridad y otras características. Sin

embargo, es igualmente importante, tener información sobre las características que definen la

forma de su perfil de funcionabilidad, ya que la razón principal para la adquisición de cualquier

equipo o sistema es la prestación satisfactoria de su función esperada. Simplemente, un

sistema es útil cuando, y solo cuando, realiza la función exigida. Por consiguiente, una de las

mayores preocupaciones de los usuarios es la forma de su perfil de funcionabilidad cuyos

factores responsables son las características inherentes al sistema como fiabilidad, y

mantenibilidad y la logística de mantenimiento cuyo objetivo es gestionar el suministro de los

recursos necesarios para la conclusión de todas las tareas de mantenimiento. (Knezevic, 1996).

2.2.2. - El proceso de mantenimiento

Todos los operadores de un sistema, maquinaria o equipo desean que los mismos se

mantengan en estado de funcionamiento tanto tiempo como sea posible. Para lograrlo, es

necesario “ayudar” al sistema a mantener su funcionalidad durante la operación, realizando las

tareas apropiadas. Algunas de estas tareas son exigidas o sugeridas por los diseñadores o

fabricantes. Sin embargo, a pesar de todas las tareas realizadas, no puede posponerse

indefinidamente el momento en que el sistema deja de ser funcionable. A partir de ahí, es

necesario realizar otras tareas para que recupere su funcionabilidad. Esto conduce al concepto

de mantenimiento que incluye todas las tareas que realiza el usuario para conservar el

elemento o sistema en estado de funcionabilidad, o para recuperarlo a ese estado.

Hay multitud de sistemas creados por el hombre cuya funcionabilidad debe ser

conservada por el usuario a lo largo de su utilización. El proceso durante el que se mantiene la

capacidad del sistema para realizar una función, es conocido como proceso de mantenimiento y

se puede definir como un conjunto de tareas de mantenimiento realizadas por el usuario para

mantener la funcionabilidad del sistema durante su vida operativa.

Por tanto, la entrada para el proceso de mantenimiento está constituida por la

funcionabilidad de cualquier sistema humano, que deba ser conservada por el usuario, mientras

que la salida del proceso consiste en el sistema funcionable, como se muestra en la figura 1.

23

Page 24: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

RECURSOS

ENTRADA SALIDA

RESTRICCIONES

Figura 1.- El proceso de Mantenimiento.

Cuando se analizan los objetivos de las tareas de mantenimiento realizadas durante un

proceso de mantenimiento, es posible enumerarlos así:

Reducción del cambio de condición, con lo que se consigue un alargamiento de la vida

operativa del sistema. Ejemplos típicos son: lavado, limpieza, pintura, filtrado, ajuste,

lubricación, calibración, etc.

Garantía de la fiabilidad y seguridad exigidas, lo que reduce la probabilidad de presencia

de fallos. Las actividades más comunes de este tipo son: inspección, detección,

exámenes, pruebas.

Consecución de una tasa óptima de consumo para elementos como combustible,

lubricantes, neumáticos, etc., lo que contribuye al costo-eficacia del proceso de

operación.

Recuperación de la funcionabilidad del sistema, una vez que se ha producido la

transición al estado de falla. Las actividades más frecuentemente realizadas para

recuperar la funcionabilidad son: sustitución, reparación, restauración, renovación, etc.

Es necesario hacer hincapié en que se necesitan ciertos recursos para facilitar este

proceso. Como el fin principal de estos recursos es facilitar el proceso de mantenimiento, se les

designará con el nombre de recursos de mantenimiento. Los recursos necesarios para la

realización con éxito de toda tarea de mantenimiento pueden agruparse en las siguientes

24

Page 25: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

categorías:

Abastecimiento o aprovisionamiento: es un nombre genérico que incluye el suministro de

todos los repuestos, elementos de reparación, consumibles, suministros especiales y

artículos de inventario necesarios para apoyar a los procesos de mantenimiento.

Equipos de prueba y apoyo: incluye todas las herramientas, equipos especiales de

vigilancia de la condición, equipos de comprobación, metrología y calibración, bancos de

mantenimiento, y equipos auxiliares de servicio necesarios para apoyar las tareas de

mantenimiento asociadas al elemento o sistema.

Personal: se incluye el necesario para la instalación, comprobación, manejo y realización

del mantenimiento del elemento o sistema y de los equipos necesarios de prueba y

apoyo. Debe considerarse la formación específica del personal necesario para cada

tarea de mantenimiento.

Instalaciones: incluye las instalaciones especiales precisas para la ejecución de las

tareas de mantenimiento. Deben considerarse las plantas industriales, edificios,

edificaciones portátiles, fosas de inspección, diques secos, refugios, talleres de

mantenimiento, laboratorios de calibración y otras instalaciones para reparaciones

especiales y revisiones generales relacionadas con cada tarea de mantenimiento.

Datos técnicos: procedimientos de comprobación, instrucciones de mantenimiento,

procedimientos de inspección y calibración, procedimientos de revisiones generales,

instrucciones de modificación, información sobre las instalaciones, planos y

especificaciones que son necesarios para realizar las funciones de mantenimiento del

sistema. Tales datos no sólo se refieren al sistema, sino también al equipo de prueba y

apoyo, y de transporte y manejo del equipo.

Recursos informáticos: comprende los ordenadores y sus accesorios, software, discos y

cintas de programas, bases de datos, etc., necesarios para realizar las funciones de

mantenimiento.

Los procesos de mantenimiento, como tantos otros, tienen sus propias restricciones. Las

más frecuentes en los procesos de mantenimiento son:

Presupuesto.

25

Page 26: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Programación, tiempo disponible.

Reglamentaciones de seguridad.

Entorno, clima.

Lenguas extranjeras.

Cultura y costumbres.

Cuando se realiza un proceso de mantenimiento es imperativo considerar tanto los

recursos como las restricciones, a fin de conseguir un óptimo control de unas operaciones tan

complejas, que tienen un gran impacto en la seguridad, fiabilidad, costo, prestigio y otras

características decisivas para la conducción competitiva de las operaciones. (Knezevic, 1996).

2.2.3. - Políticas de mantenimiento

Con respecto a la relación entre el instante de producción de la falla (conocido como

tiempo hasta la falla o TTF) y el instante de ejecución de la tarea de mantenimiento (conocido

como tiempo para el mantenimiento o TTM), existen las siguientes políticas de mantenimiento:

Política de mantenimiento basada en la producción de la falla (Failure-based

maintenance, FBM), en la que las tareas de mantenimiento correctivo se inician tras la

producción de la falla, es decir, tras la presentación de anomalías en la función del

sistema o equipo.

Política de mantenimiento basada en la vida del sistema (life-based maintenance, LBM),

donde se realizan tareas de mantenimiento preventivo a intervalos fijos predeterminados

durante la vida operativa del sistema.

Política de mantenimiento basada en la inspección (Inspection-based maintenance,

IBM), donde se realizan las actividades de mantenimiento condicional en forma de

inspecciones a intervalos fijos del tiempo de operación, hasta que se requiere la

realización de una tarea de mantenimiento preventivo.

Política de mantenimiento basada en el examen (examination-based maintenance,

EBM), donde se realizan las tareas de mantenimiento condicional en forma de

exámenes, según la condición observada en el elemento o sistema, hasta que se

necesita la ejecución de una tarea de mantenimiento preventivo.

Política de mantenimiento basada en la oportunidad (Oportunity-based maintenance,

26

Page 27: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Dentro de cada política de mantenimiento, excepto la FBM, la programación de las

actividades de mantenimiento condicional y preventivo se determina mediante una

estrategia específica, determinada por el usuario del equipo o sistema. (Knezevic, 1996)

2.2.4. Objetivos y funciones del mantenimiento

Una estrategia efectiva para toda empresa productora de bienes o servicios, teniendo en

cuenta que, en todo caso, requieren algún tipo de equipo o herramienta para realizar su función,

consiste en contar con las herramientas, tecnología, personal y procesos necesarios para

maximizar las prestaciones y la vida útil de los equipamientos. Pero, más que esto, para

maximizar las prestaciones de los activos es crítico aplicar las actividades correctas, al activo

correcto en todo su ciclo de vida. Dependiendo de los objetivos precisos y de la parte del

proceso a mantener, la estrategia ideal es una mezcla de dos métodos principales de

mantenimiento conocidos como mantenimiento preventivo y mantenimiento correctivo o

reactivo.

En forma general, la misión básica del mantenimiento es la de proporcionar la utilización

óptima de la mano de obra, materiales y equipos para mantener un sistema productivo en forma

adecuada de manera que pueda cumplir su misión para lograr la producción esperada y la

calidad de servicio exigida a un costo global mínimo.

Esto se logra a través de:

Preservar la inversión de capital.

Crear una confiabilidad en las instalaciones y equipos.

Asegurar que el proceso opere con control estadístico.

Dirigir la división de mantenimiento de manera de obtener costo totales mínimos de

operación.

La filosofía de mantenimiento depende en cada caso de una serie de factores, como son:

Tamaño de la empresa, complejidad de los equipos, numero de equipos iguales, costo de

paradas, etc. Sin embargo es necesario tener un sistema que evite o al menos reduzca las

averías detecte o diagnostique las fallas y repara o corrija los efectos del uso, sujetándose en

todos momentos al presupuesto de la empresa. (Rosaler, 1997).

27

Page 28: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Los trabajos de mantenimientos exigen calidad y, sobre todo, la aplicación criterio

económico, pues en ocasiones es preferible cambiar una parte de los equipos (aunque esto a

primera vista parezca muy costoso) que cambiar, por creerlo mas económico, una pequeña

pieza que no garantice que el equipo pueda continuar funcionando correctamente y un tiempo

entre fallas mayor.

Para el logro de su misión básica, el mantenimiento debe emplear varios recursos, y

actividades, y cumplir varias funciones entre las que podemos mencionar:

Llevar a cabo una inspección sistemática de las instalaciones, a intervalos de control

definidos, para detectar cualquier desgaste o rotura, manteniendo registros adecuados.

Mantener, reparar y revisar los equipos e instalaciones.

Efectuar las reparaciones de emergencia lo mas pronto posible, empleando los métodos

más fáciles de reparación.

Sugerir y proyectar mejoras en la maquinaria y equipos.

Controlar el costo directo de mantenimiento mediante el uso correcto y eficiencia del

tiempo, materiales, mano de obra y servicio.

Seleccionar y entrenar al personal en las técnicas de mantenimiento.

Desarrollar los programas de Mantenimiento preventivo programado.

Controlar y asegurar un inventario de repuestos y suministros.

Reducir al mínimo el tiempo de paro.

Planear y coordinar la distribución del trabajo acorde con la fuerza laboral disponible.

Proporcionar y mantener el equipo de taller requerido.

Preparar un presupuesto anual, con justificación adecuada que cuba el costo de las

actividades del programa de mantenimiento.

Mantener los equipos de seguridad y demás equipos de protección.

Entrenar al personal en el uso de los equipos de protección personal y medidas de

seguridad a tomar en las actividades de mantenimiento.

Maximizar el tiempo de vida de los equipos.

2.2.5. - Ventajas del mantenimiento

Dado que el mantenimiento representa una inversión que a mediano y largo plazo

acarreará ganancias no solo para el empresario a quien esta inversión se le revertirá en

mejoras en su producción y también en el ahorro que representa tener trabajadores sanos e

índices de accidentes bajos, se justifica plenamente el tener un programa de mantenimiento en

toda empresa.

28

Page 29: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

El mantenimiento representa un arma importante en seguridad laboral, ya que un gran

porcentaje de accidentes son causados por desperfectos en los equipos que pueden ser

prevenidos.

Otras ventajas de tener un programa de mantenimiento son las siguientes:

Menor tiempo perdido como resultado de menos paros de máquinas por avería.

Menor costo por concepto de horas extraordinarias de trabajos, como resultado

de laborar con un programa preestablecido.

Menos reparaciones en gran escala, pues son prevenidas mediante reparaciones

oportunas y de rutinas.

Menos ocurrencias de productos rechazados, repeticiones y desperdicios (en el

caso de empresas productoras de bienes) producto de una mejor condición

general del equipo.

Identificación del equipo que origina gastos de mantenimiento preventivo

exagerados, pudiéndose así señalar la necesidad de un trabajo de

mantenimiento correctivo para el mismo, un mejor adiestramiento del operador o

reemplazo de las máquinas muy viejas.

Mejores condiciones de seguridad.

2.2.6. Tipos de mantenimiento

Partiendo del concepto general del mantenimiento como el conjunto de acciones para

mantener o restablecer un bien, a través de los años se han establecido varios modelos de tipos

de mantenimiento según el autor o investigador que lo determine. Unos hacen una división de

más o menos tipos según lo consideren apropiado y que generalmente son subdivisiones de

otros tipos pero que en su totalidad tienen validez y son aceptados como correctos. Una modelo

simple de los tipos de mantenimiento, y en la que todos los autores coinciden, es la siguiente:

Mantenimiento Correctivo.

Mantenimiento Preventivo (del que puede derivarse el Mantenimiento Predictivo).

En esta investigación se tomarán en cuenta estos dos principales tipos de mantenimiento

ya que se desarrollará un programa de mantenimiento preventivo para equipos y maquinarias y

el mantenimiento correctivo es imprevisto y por tanto siempre hay que considerarlo. A

continuación se definen estos tópicos.

29

Page 30: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

2.2.6.1. Mantenimiento correctivo

También es conocido como ”mantenimiento reactivo” y consiste en corregir una falla y

la(s) causa(s) que la originan en un equipo. Si no se produce una falla el mantenimiento será

nulo, por lo que se tendrá que esperar hasta que se presente el desperfecto para tomar las

medidas de corrección de errores. Este mantenimiento trae consigo las siguientes

consecuencias:

Paradas no previstas en el proceso productivo, disminuyendo las horas operativas.

Afecta las cadenas productivas, es decir, que los ciclos productivos posteriores se verán

detenidos a la espera de la corrección de la etapa anterior.

Presenta costos por reparación y repuestos no presupuestados, por lo que se dará el

caso que por falta de recursos económicos no se podrán comprar los repuestos en el

momento deseado.

La planificación del tiempo que estará el equipo fuera de operación no es predecible.

El mantenimiento correctivo amerita detener el proceso de producción de una máquina o

equipo. Las reparaciones que se realizan pueden tener diferentes orígenes entre los que se

pueden mencionar:

Reparaciones surgidas por el mantenimiento preventivo o predictivo como consecuencia

de la detección de una falla parcial o intermitente. Estas reparaciones se programan

para ser realizadas en las horas que más le convenga a la gerencia de operaciones o de

producción.

Reparaciones derivadas de la ocurrencia de una falla total imprevista. Estas

reparaciones tienen que efectuarse, generalmente, de emergencia ya que originan

interrupciones no previstas. (Knezevic, 1996).

2.2.6.2. Mantenimiento preventivo

Este mantenimiento también es denominado “mantenimiento planificado” y se realiza

antes de que ocurra una falla o avería. Se efectúa bajo condiciones controladas sin la existencia

de algún error en el equipo o sistema. Se realiza a razón de la experiencia del personal,

recomendaciones del fabricante y condiciones de uso del equipo siguiendo un criterio

30

Page 31: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

determinado. Está diseñado para prolongar la vida útil del equipo y evitar cualquier actividad

imprevista de mantenimiento, minimizando así costos, fallas y depreciación excesiva del equipo.

El mantenimiento preventivo comprende planes y programas a fin de detectar en el equipo

cualquier condición que pudiese afectar el servicio del mismo.

Las mediciones del mantenimiento preventivo abarcan la vida útil del equipo, las

variaciones directas de mano de obra, las reparaciones, el inventario de partes de repuestos y

la productividad del personal de mantenimiento. (Newbrough, 1967).

Presenta las siguientes características:

Se realiza en un momento planificado en que la parada del equipo produce un mínimo

impacto para la empresa.

Se lleva a cabo mediante un programa previamente elaborado donde se detalla el

procedimiento a seguir y las actividades a realizar, a fin de tener las herramientas y

repuestos necesarios.

Cuenta con una fecha programada, además de un tiempo de inicio y de fin

preestablecido y aprobado por la directiva de la empresa.

Permite a la empresa contar con un historial de todos los equipos.

Permite contar con un presupuesto aprobado por la directiva.

Los resultados obtenidos con el mantenimiento preventivo son los siguientes:

Disminución del tiempo ocioso debido a menos paros imprevistos en la

empresa.

Menor número de reparaciones repetitivas por fallas inesperadas.

Reducción de costos de mantenimiento, mano de obra y gastos generales para

las partidas de activos que se encuentran en el programa.

Cambia el mantenimiento deficiente de paros a mantenimiento programado

menos costoso con lo que se logra mejor control del trabajo. (Knezevic, 1996)

2.3.- Aspectos generales sobre sistemas computarizados de gestión de mantenimiento

2.3.1.- Qué es un Sistema computarizado de gestión de mantenimiento

Un sistema computarizado de gestión de mantenimiento es un programa para

computadoras que mantiene una base de datos de información relevante a todas las

31

Page 32: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

operaciones de mantenimiento de una empresa. Actualmente existe una cantidad considerable

de compañías desarrolladoras de programas o “software” que tienen en el mercado

aplicaciones diseñadas para el manejo efectivo de los programas de mantenimiento de una

empresa. Estos programas son conocidos también como “Softwares para administración de

activos empresariales” o “Sistemas de gestión de mantenimiento asistida por computadoras”,

todos provenientes de las siglas en inglés CMMS (Computerized Maintenance Management

System).

Las siglas “GMAO”, que corresponden a la expresión “Gestión de mantenimiento asistido

por ordenador”, se utilizan en la práctica para identificar a los programas informáticos que

permiten la gestión de mantenimiento de los equipos y/o instalaciones de una o más empresas,

tanto mantenimiento preventivo como correctivo. También se conocen como sistemas “GMAC”

cuyas siglas significan “Gestión de mantenimiento asistido por computadora”.

Los sistemas Gmac suelen estar compuestos de varias secciones o módulos de programa

interconectados, todos con acceso a una base de datos, que permiten ejecutar y llevar el control

de las tareas habituales en los departamentos de mantenimiento como:

Control de incidencias, averías y fallas formando un historial de cada máquina o

equipo.

Programación de las revisiones y tareas de mantenimiento preventivo: limpieza,

lubricación, etc.

Control de “Stocks” de repuestos y recambios, conocido como gestión o control de

almacén.

Generación y seguimiento de las "Ordenes de trabajo" para los técnicos de

mantenimiento.

2.3.2.- Ventajas de un sistema computarizado de gestión de mantenimiento

La utilización de un sistema computarizado destinado al control y seguimiento de las

actividades de mantenimiento como una herramienta de soporte para la gerencia o personal de

mantenimiento de una empresa brinda numerosas ventajas entre las que se pueden

mencionar:

Los sistemas Gmac permiten disponer de gran cantidad de información, de una

forma adecuada y fácil de y/o extraer. Esto, a su vez, permite disponer de un

historial de cada equipo, maquinaria o componente, tanto de características

técnicas, como de fallas, revisiones, sustituciones, fechas de las últimas

32

Page 33: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

33

Al mismo tiempo, permitirá programar en función de los parámetros que se

requieran, los mantenimientos preventivos, generando los listados

correspondientes para las actividades de los técnicos, según los plazos

programados.

Muchos de los sistemas Gmac permiten la gestión de herramientas y/o stocks de

repuestos, avisando cuando se tiene menos de un mínimo de piezas de un

determinado repuesto, generando incluso una orden de compra. También pueden

tener un archivo de proveedores, fabricantes, empleados, etc.

Así mismo, pueden gestionar las órdenes de reparación de equipos fuera de la

ubicación habitual, gestión de garantías, etc.

Permiten garantizar la disponibilidad de los equipos y maquinarias al apoyarse en

las tareas de administración, control, planificación y seguimiento de los procesos

de mantenimiento preventivo.

Page 34: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

CAPITULO III MARCO METODOLÓGICO

En este capítulo se describen las fases que comprenden la metodología utilizada para el

desarrollo de cada objetivo de la investigación. En él se especifica el tipo de investigación,

herramientas y procedimientos aplicados.

3.1. - Tipo de investigación

Según el nivel de profundidad de conocimiento esta investigación es de tipo descriptiva,

según la estrategia empleada la investigación es de campo, según el método utilizado la

investigación es de tipo descriptivo y según el carácter es de tipo cualitativa. Esta clasificación

está basada en los estudios y descripciones de las obras varios autores reconocidos en el área

de la metodología de la investigación cuyos contenidos podemos citar:

La investigación descriptiva es el tipo de investigación que procura determinar cuál es la situación, ver lo que hay…describir cuál es la condición sobre un asunto o problema. Mediante este tipo de investigación se logra caracterizar un objeto de estudio o una situación concreta, señalar sus características y propiedades. Combinada con ciertos criterios de clasificación sirve para ordenar, agrupar o sistematizar los objetos involucrados en el trabajo indagatorio; puede servir de base para investigaciones que requieran un mayor nivel de profundidad”. (Tamayo y Tamayo, 1990).

“El trabajo de campo asume la forma de la observación...”, “…se apoya en los

documentos para la planeación del trabajo y la interpretación de la información recolectada. Se

caracteriza por el contacto directo con el objeto de estudio”. (Ortiz y García, 2003).

Tesis de Investigación de Campo. Investigaciones en donde la recopilación de información se realiza enmarcada dentro del ambiente específico en el que se presenta en fenómeno o hecho a estudiar [...] se utilizan métodos específicos de recopilación de datos [...] y la tabulación y análisis de información se utilizan métodos y técnicas estadísticas y/o matemáticos [...].(Muñoz Razo, 1998).

“La investigación cualitativa evita la cuantificación; es una investigación sin medición. En

vez de medir variables, los investigadores cualitativos hacen registros narrativos de los

fenómenos que son estudiados mediante técnicas como la observación participante y las

entrevistas no estructuradas”. (Abdellah FG, 1994).

“La investigación cualitativa es un proceso permanente de producción de conocimiento,

Page 35: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

donde los resultados son momentos parciales, que de manera continua se integran dando lugar

a nuevos interrogantes, abriendo nuevos caminos a la producción del conocimiento.” (Fica

Carrasco, 2002)

3.2.- Población y Muestra

Los elementos de observación para el desarrollo del proyecto son los equipos,

maquinarias y sus partes de las instituciones policiales del estado Zulia, que conforman la

población de trabajo. Se tomará como muestra los equipos, maquinarias y partes de los

organismos policiales Instituto Autónomo Policía del Municipio Maracaibo, Instituto Autónomo

Policía del Municipio San Francisco y Policía Regional del estado Zulia.

3.3. - Técnicas e instrumentos de recolección de datos

Los recursos a utilizar para la recolección de la información necesaria para el desarrollo de

la investigación son: entrevistas, observación directa, investigación documental bibliográfica e

investigación documental magnética.

3.4. - Procedimiento Metodológico

OBJETIVO Nº 1:

ELABORAR EL INVENTARIO DE LAS PARTES, MAQUINARIAS Y EQUIPOS A SER

CONSIDERADOS EN EL DISEÑO DEL SISTEMA AUTOMATIZADO PARA LA

PROGRAMACIÓN Y SEGUIMIENTO DE LAS ACTIVIDADES DE MANTENIMIENTO EN

INSTITUCIONES POLICIALES.

ACTIVIDAD METODOLOGIA

I. Realizar inventario de los

equipos objetos de estudio

- Realizar una investigación bibliográfica sobre las

consideraciones a tomar en cuenta para el manejo de inventarios en talleres de mantenimiento.

- Efectuar una entrevista con el personal responsable del

inventario de equipos y partes para determinar la mejor estructuración del inventario. Se diseñará y entregará un formato con preguntas referentes a manejo de inventarios para detectar posibles irregularidades que puedan ser corregidas.

- Efectuar una entrevista con el personal de

mantenimiento para determinar cuáles son los

35

Page 36: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

II. Establecer Codificación

estándar.

- Establecer la codificación para los equipos, partes y

maquinaria a ser utilizados por el sistema computarizado y los programas de mantenimiento. Para ejecutar esta fase se realizarán reuniones con el personal de mantenimiento de las instituciones policiales para realizar propuestas y determinar una codificación que se adapte a las necesidades de cada institución.

- Diseño de formatos donde se señalen las

características de los equipos presentes en el estudio y sus características técnicas tales como, marca, tipo, modelo, serial, código, función, frecuencia de mantenimiento, estado actual y observaciones entre otras.

III. Recopilar Información

- Se emitirá un informe que recopile y registre la

información donde se indicarán los equipos, partes y maquinarias con sus respectivos códigos establecidos.

OBJETIVO Nº 2:

EVALUAR EL PROGRAMA DE MANTENIMIENTO EXISTENTE Y LOS FACTORES QUE

SE TOMARON EN CUENTA PARA SU ELABORACION.

ACTIVIDAD METODOLOGIA

I. Determinar el tipo de

Mantenimiento existentes para

cada tipo de Equipo y

Maquinaria.

- Se realizará una entrevista con los jefes de

mantenimiento de las instituciones policiales para precisar si existen programas de mantenimiento programados para los equipos y maquinarias de la institución que representan.

- Precisar qué tipo y frecuencia de mantenimiento se

aplica a los equipos y maquinarias.

36

Page 37: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

II. Establecimiento de los

parámetros de los Programas

de Mantenimiento actuales

- Se establecerán los parámetros que se tomaron en

cuenta para la elaboración de los programas de mantenimiento existentes para que éstos sean reevaluados y determinar su importancia para los nuevos programas a desarrollar.

.OBJETIVO N° 3:

DESARROLLAR EL PROGRAMA DE MANTENIMIENTO PREVENTIVO PARA LOS

EQUIPOS Y MAQUINARIAS BASADOS EN HISTORIALES, RECOMENDACIONES DEL

FABRICANTE Y SIGUIENDO LOS LINEAMIENTOS CARACTERISTICOS DEL

MANTENIMIENTO CLASE MUNDIAL

ACTIVIDAD METODOLOGIA

I. Investigación Documental.

- Se consultarán los manuales de operación de los

equipos, para recabar la información referente al uso y el mantenimiento sugeridas por el fabricante y de igual forma se revisarán fuentes bibliográficas.

- Se tomará como base la Norma Covenin 3049-93, para el desarrollo de instrucciones y procedimientos correctos de mantenimiento.

II. Definir los objetivos del

Sistema de Mantenimiento

Clase Mundial a considerar.

- Precisar las mejores prácticas del método de

Mantenimiento Clase Mundial que serán tomadas en cuenta para la elaboración del programa de mantenimiento preventivo como parámetros adicionales con el objeto de optimizarlo.

-

III. Elaboración del Programa

de Mantenimiento Preventivo.

- Se definirán las actividades que van a conformar el

programa de mantenimiento preventivo teniendo en cuenta los estándares de personal, frecuencia, naturaleza y tiempo empleado en dichas labores.

- Para el desarrollo de éste programa se tomará en cuenta el historial de operación y mantenimiento de cada uno de los equipos y maquinarias y las recomendaciones del fabricante.

- Se elaborará el plan de mantenimiento por equipo.

IV. Diseño de Formatos a

utilizar.

- Diseño de los formatos que van a ser utilizados para las

labores de mantenimiento y que servirán a su vez de fuente de información de datos para la base de datos del Sistema automatizado.

37

Page 38: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

OBJETIVO N° 4:

FORMULAR LOS ÍNDICES DE CONTROL PARA MEDIR LA EFECTIVIDAD DEL

SISTEMA

ACTIVIDAD METODOLOGIA

I. Determinar índices de control.

- Se efectuarán reuniones con los jefes de

mantenimiento de las instituciones policiales para determinar cuáles son los índices que se evaluarán para medir la efectividad del sistema.

- Se propondrán índices de control, tomando en cuenta

los indicadores de clase mundial que puedan ser aplicados.

OBJETIVO N° 5

DISEÑAR LOS PARÁMETROS QUE VAN A SER CONSIDERADOS POR EL SISTEMA

AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE LAS ACTIVIDADES

DE MANTENIMIENTO

ACTIVIDAD METODOLOGIA

I. Determinar los Parámetros

del Sistema Computarizado.

- Se realizarán reuniones de trabajo con los jefes de

mantenimiento de las instituciones policiales para establecer cuáles serán los parámetros que tomará en cuenta el programa de computadoras para su elaboración y funcionamiento.

- Se determinarán los parámetros considerando el régimen de uso que tienen en particular los equipos y maquinarias en las instituciones.

38

Page 39: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

39

OBJETIVO N° 6:

DESARROLLAR EL PROGRAMA PARA COMPUTADORAS CON INTERFAZ HOMBRE-

MAQUINA AMIGABLE CON EL OBJETO DE HACER FACIL SU OPERABILIDAD

ACTIVIDAD METODOLOGIA

I. Selección del Lenguaje de

Programación.

- Se realizará una investigación de los lenguajes de

programación existentes capaces de manejar bases de datos de forma eficiente.

- Se recopilará la información disponible sobre el lenguaje seleccionado para la documentación y estudio del mismo.

II.- Determinar el método de

programación adecuado para la

Elaboración de la Aplicación.

- Se realizarán reuniones de trabajo con profesionales

especialistas en sistemas de información para determinar el método de manejo de la base de datos apropiado para el programa.

III. Definir los Subprogramas

que deben confirmar la

Aplicación completa

- Se definirán la cantidad y contenido de las subrutinas

de programación que serán parte de la aplicación completa.

IV. Desarrollar el Sistema

automatizado.

- Se desarrollará el programa de computadoras basados

en toda la información recopilada y requerimientos de las Instituciones policiales.

Page 40: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

CAPITULO IV PRESENTACIÓN DE RESULTADOS

En este capítulo se presentan los resultados obtenidos en el estudio y desarrollo del

sistema automatizado para la programación y seguimiento de las actividades de mantenimiento

en instituciones policiales. Estos se encuentran estructurados de acuerdo con los objetivos

específicos planteados en el capitulo I asi como las fases metodológicas desarrolladas en el

capitulo III.

4.1. Inventario de partes, maquinarias y equipos a ser considerados por el sistema

automatizado para la programación y seguimiento de las actividades de mantenimiento

en instituciones policiales

Como primer paso se realizó una investigación bibliográfica sobre las consideraciones que

se deben tomar en cuenta para el manejo eficiente de inventarios para determinar cuáles son

loas aspectos más importantes en este tema. De esta investigación se obtuvo que para llevar

un control oportuno, permanente y preciso de un inventario se deben cumplir los siguientes

puntos:

Formalizar el sistema general de localización que se utiliza en toda la instalación.

Seguir el almacenamiento y movimiento de la parte o bien desde que se recibe hasta

que se traslade a su punto de uso.

Mantener registros oportunos del almacenamiento y movimiento de todos los artículos.

Luego de realizar la investigación bibliográfica de las recomendaciones para el manejo

eficiente de inventarios se realizaron entrevistas con el personal encargado de los almacenes

de partes de los institutos policiales para analizar los procedimientos que llevan a cabo para

llevar el control de sus inventarios y mejorarlos si fuera necesario. Para obtener información

específica de las instituciones policiales se les entregó un formato con preguntas concretas

referentes al inventario que manejan cada una de ellas. A continuación se muestran los

resultados obtenidos de las respuestas dadas a estos formatos:

Page 41: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Formulario para la evaluación y mejoramiento de Inventarios

Nombre de la Institución: Policía del Municipio San Francisco

Posee su institución almacén de partes y repuestos? SI NO

Maneja su institución un programa de entrenamiento para el personal de almacén?

SI NO

Utilizan algún programa para computadoras para el manejo de inventarios?

SI NO

O utiliza alguna Hoja de Cálculo como Excel, Multiplan, Lotus, etc para llevar el control de inventario?

SI NO

Explique: Se lleva en Excel

Utiliza libros para el registro de entradas, salidas y pedidos de partes? SI NO

Tiene alguna codificación especial para identificar las partes? SI NO Explique: Se lleva por número de parte original

Utilizaría una Herramienta de Software para el mejoramiento del manejo de inventarios?

SI NO

Formulario para la evaluación y mejoramiento de Inventarios

Nombre de la Institución: Policía Regional del Estado Zulia

Posee su institución almacén de partes y repuestos? SI NO

Maneja su institución un programa de entrenamiento para el personal de almacén?

SI NO

Utilizan algún programa para computadoras para el manejo de inventarios? SI

NO

O utiliza alguna Hoja de Cálculo como Excel, Multiplan, Lotus, etc para llevar el control de inventario?

SI NO

Explique: Las reparaciones y mantenimientos son responsabilidad de cada dependencia. Los jefes de cada dependencia o departamento policial son los encargados de solicitar el mantenimiento o reparación de los activos bajo su responsabilidad. Existe un taller para reparaciones y mantenimiento.

Utiliza libros para el registro de entradas, salidas y pedidos de partes? SI NO

Tiene alguna codificación especial para identificar las partes? SI

NO Explique: Utilizaría una Herramienta de Software para el mejoramiento del manejo de inventarios?

SI NO

41

Page 42: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Formulario para la evaluación y mejoramiento de Inventarios

Nombre de la Institución: Instituto Autónomo Policía del Municipio Maracaibo

Posee su institución almacén de partes y repuestos? SI NO

Maneja su institución un programa de entrenamiento para el personal de almacén?

SI NO

Utilizan algún programa para computadoras para el manejo de inventarios?

SI NO

O utiliza alguna Hoja de Cálculo como Excel, Multiplan, Lotus, etc para llevar el control de inventario?

SI NO

Explique: se usa hoja de cálculo Excel para control del inventario

Utiliza libros para el registro de entradas, salidas y pedidos de partes? SI NO

Tiene alguna codificación especial para identificar las partes? SI NO Explique: se codifica por número de parte, pero la información también puede ser ordenada por otro campo como marca, centro de consumo, ubicación, etc ya que la hoja de excel lo permite.

Utilizaría una Herramienta de Software para el mejoramiento del manejo de inventarios?

SI NO

De las respuestas de estos formatos se obtuvieron las siguientes conclusiones

generales:

No existe un sistema informático o programa específico para el manejo de inventario.

El registro de información de las partes se lleva utilizando una hoja de cálculo excel

por lo que se revelaron diferentes registros con números de parte iguales lo que

representa una inconsistencia.

No se lleva registro del costo de las partes.

No se lleva registro de los tiempos de entrega de las empresas que suministran las

partes.

No se clasifican las partes y repuestos por algún parámetro en especifico como

marca, tipo de parte, número de parte, código propio, etc.

Por otro lado se realizaron entrevistas con el personal encargado del mantenimiento en

cada una de las instituciones para determinar cuales son los condiciones que según sus puntos

de vista deben ser mas importantes para la realización de un programa de mantenimiento que

se adapte a sus necesidades. De estas reuniones se concluyó que todos los bienes activos de

las instituciones son importantes para cada una de ellas, por lo que el sistema automatizado

debe tener la capacidad de registrar y llevar el control del las actividades de mantenimiento para

cualquier tipo de bien, sin embargo, el parámetro que determina cuales son los equipos que

42

Page 43: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

deben formar parte en una fase inicial de una futura implementación del sistema automatizado,

es la criticidad del equipo ya que, por ser instituciones policiales que laboran las 24 horas del

día durante todo el año, sus maquinarias y equipos deben tener alta disponibilidad.

Asi mismo. se realizaron reuniones con los jefes o encargados de los inventarios para

explicarles los puntos más importantes de las investigaciones bibliográficas realizadas,

mencionadas anteriormente, y proponer algunas mejoras que ayudarían a un manejo eficiente

de los inventarios en las instituciones policiales.

De estas reuniones se presentaron, se acordaron y se establecieron los siguientes puntos

para lograr corregir los defectos actuales y por consiguiente conseguir las mejoras deseadas:

Desarrollo de una aplicación para computadoras adaptada a los requerimientos de

las instituciones policiales para el manejo de inventarios de partes con capacidad de

registrar cualquier tipo de equipo, parte o maquinaria.

Las maquinarias y equipos clasificados como críticos y las partes en almacén

clasificadas como repuestos son las que van a ser consideradas para el desarrollo

del sistema automatizado, sin embargo este último tendrá la capacidad de manejar

cualquier tipo de equipo. Bajo esta condición, las maquinarias a ser considerados

por el sistema automatizado son los vehículos de operaciones de cada una de las

instituciones policiales y los equipos a considerar son los equipos de

telecomunicaciones y las unidades de aire acondicionado de las edificaciones. Esta

selección se fundamenta en el hecho de que estos equipos y maquinarias son

críticos ya que están en funcionamiento constantemente, es decir, todos los días, a

todas horas, considerando que las instituciones policiales laboran las 24 horas del

día los 365 días del año, por lo que ésta selección requiere un mayor mantenimiento

que aquellos equipos y maquinarias que no son clasificados como críticos.

Se realizó el inventario de los equipos y maquinarias consideradas como críticas

para las instituciones policiales a fin de evaluar y mejorar sus programas de

mantenimiento o de diseñar nuevos programas de mantenimiento en caso de que

éstos no existan. Este inventario se muestra en la Tabla 2.

Se estableció una codificación para los equipos y maquinarias de los institutos

policiales.

Se estableció que la codificación a utilizar para las partes de almacén clasificadas

43

Page 44: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

44

4.2. - Codificación

La codificación establecida para la identificación y ubicación de los equipos maquinarias

es la siguiente:

4.2.1. - Código para equipos

Para la identificación de los equipos o activos de la institución se seleccionó un código de

nueve caracteres alfanuméricos. Este código se seleccionó tomando en cuenta que el mismo

puede ser utilizado en instituciones policiales nacionales e internacionales de manera que

pueda ser utilizado por cualquier tipo de organismo de seguridad y tomando en cuenta que

varias instituciones de seguridad de un país pueden integrarse a un mismo sistema

automatizado de mantenimiento..

Formato del Código: XXXYYYZZZ, donde

XXX = Institución Policial.

YYY = Región.

ZZZ = Número de equipo.

Page 45: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 1. – Inventario de aires acondicionados de la policía del municipio Maracaibo. (Equipos de aire acondicionado en la central de comunicaciones)

Ciclos (Hz)

Ubicación Tipo Marca Modelo Serial Capac. Fase Comp. Amp Presion A. Presion B. Voltaje

Central de Comunicaciones

Ventana Samsung S/I 18K btu 1 S/I 1 60 12 S/I S/I 208

Central de Comunicaciones

Compacto Tempco S/I S/I 1 1 60 24 5 Ton. 400 psi 300 psi 208

Central de Comunicaciones

Compacto Carrier

(Equipos de aire acondicionado en sede operativa este)

50SS060301 4395G4034 5 Ton. 1 1 60 22 300psi / 2068Kpa

150psi / 1034Kpa

208

Central de Comunicaciones

Compacto Tempco 50MH051F 0495243 4 Ton. 1 1 60 28 400 psi 300 psi 208

Central de Comunicaciones

Compacto Carrier 50ZP036311 4601G30759 5 Ton. 1 1 60 22 431psi /

2967 Kpa 171 psi / 1179Kpa

208

Ciclos (Hz)

Amp Presion

A. Presion

B. Ubicación Tipo Marca Modelo Serial Capac Fase Comp. Voltaje

Sede Este Compacto York D2CE180A25C NMKA30152 15

Ton. 1 3 60 S/I

450 LBS/PO2

190 LBS/PO2

208/230

Sede Este Compacto York D2CE240A25C NLKM119285 25

Ton. 1 4 60 S/I

450 LBS/PO2

190 LBS/PO2

208/230

Sede Este Compacto York D2CE300A25A NMKM126658 25

Ton. 1 4 60 S/I

450 LBS/PO2

190 LBS/PO2

208/230

Sede Este Compacto York D2CE180A25C NMKM131141 15

Ton. 1 3 60 S/I

450 LBS/PO2

190 LBS/PO2

208/230

45

Page 46: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 1. – Continuación. (Equipos de aire acondicionado en academia)

Ciclo (Hz)

Amp Presion

A. Presion

B. Ubicación Tipo Marca Modelo Serial Capac Fase Comp. Voltaje

Academia Compacto LG Gold LK0529AH 411KANY00175 5 Ton. 1 1 60 27 S/I S/I 208/230Academia Compacto Tempco 50MH051F 0495242 4 Ton. 1 1 60 38 400 psi 300 psi 208

(Equipos de aire acondicionado en sede operativa oeste)

Ubicación Tipo Marca Modelo Serial Capac Fase Comp. Ciclos (Hz)

Amp Presion A. Presion B. Voltaje

Sede Oeste

Compacto Inperca EC180BHHV2H 501492 5 3 1 60 26,9 250 198 208/230

Sede Oeste

Compacto Inperca EC240BHHV2Z 501358 5 3 1 60 32 250 198 208/230

Sede Oeste

Compacto Inperca EC180BHHV2H 501491 5 3 1 60 32 250 198 208/230

Sede Oeste

Compacto Inperca EC300BHHV2H 501074 5 3 1 60 48,4 250 198 208/230

46

Page 47: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 1. – Continuación.

(Equipos de aire acondicionado en sede central)

Ubicación Tipo Marca Modelo Serial Capac Fase Comp Ciclos (Hz)

AmpPresion

A. Presion

B. Voltaje

Sede Central Split Carrier NAC060AKCE E040718381 3 1 1 60 50

300 PSI/2068 Kpa

150 Psi/1034 Kpa 208/230

Sede Central Split Carrier NAC060AKCE E040428867 3 1 1 60 50

300 PSI/2068 Kpa

150 Psi/1034 Kpa 208/230

Sede Central Split Carrier NAC060AKCE E040718373 3 1 1 60 50

300 PSI/2068 Kpa

150 Psi/1034 Kpa 208/230

Sede Central Compacto Carrier 50ZP060311 5004G12259 3 1 1 60 25

337Psa/ 2320 Kpa

160Psi/ 1103 Kpa 230

Sede Central Split Carrier NAC060AKCE E040718391 3 1 1 60 50

300 PSI/2068 Kpa

150 Psi/1034 Kpa 208/230

Sede Central Split Carrier NAC060AKCE E040718344 3 1 1 60 50

300 PSI/2068 Kpa

150 Psi/1034 Kpa 208/230

Sede Central Split Carrier NAC036AKA4 L024204868 3 1 1 60 50

300 PSI/2068 Kpa

150 Psi/1034 Kpa 208/230

Sede Central Compacto LG Gold LK0529AH 311KA00097 3 1 1 60 22 S/I S/I 208/230Sede Central Compacto LG Gold LK0529AH 311KA00096 3 1 1 60 22 S/I S/I 208/230

47

Page 48: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

48

Tabla 1. – Continuación.

Ubicación Tipo Marca Modelo Serial Capac Fase CompCiclos (Hz)

AmpPresion

A. Presion

B. Voltaje

Sede Central Split Carrier 38CKC060370 420422779 3 1 1 60 20

300 PSI/2068 Kpa

150 Psi/1034 Kpa 208/230

Sede Central Split Carrier 38CKC060370 4204330778 3 1 1 60 20

300 PSI/2068 Kpa

150 Psi/1034 Kpa 208/230

Sede Central Split Carrier 38TG018300 2990E40777 1 1 60 20

450PSI/ 3102 Kpa

210Psi/ 1448 Kpa

Area de oficinas Compacto Carrier FAHBNF0600 4704A76008 3 1 1 60 25 S/I S/I 208/230Area de oficinas Compacto Carrier FAHBNF0600 3 1 1 60 25 S/I S/I 208/230

Division de Transito Compacto Carrier EBP600B A040573375 3 1 1 60 25 S/I S/I 208/230

Division de Transito Compacto Carrier FB4BNF060 3104A73887 3 1 1 60 25 S/I S/I 208/230

Division de Transito Compacto Carrier NFCP3600D2 L022487619 3 1 1 60 25 S/I S/I 208/230

208Administración Compacto Chema C.A. FEV1036ND

0001091-192 3 1 1 60 30 S/I S/I

Administración Compacto Chema C.A. FEV1036ND

0000891-192 3 1 1 60 30 S/I S/I 208

Page 49: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 2. – Inventario de unidades automotoras de la policia del municipio Maracaibo.

Codigo Ubicación Tipo Marca Modelo

PDM-001 Sede Central Sedán Ford Crown Victoria

PDM-002 Sede Central Sedán Ford Crown Victoria

PDM-003 Sede Central Sedán Ford Crown Victoria

PDM-004 Sede Central Sedán Ford Crown Victoria

PDM-005 Sede Central Sedán Ford Crown Victoria

PDM-006 Sede Central Sedán Ford Crown Victoria

PDM-007 Sede Central Sedán Ford Crown Victoria

PDM-008 Sede Operativa Este Sedán Ford Crown Victoria

PDM-009 Sede Operativa Este Sedán Ford Crown Victoria

PDM-010 Sede Operativa Este Sedán Ford Crown Victoria

PDM-011 Sede Operativa Este Sedán Ford Crown Victoria

PDM-012 Sede Operativa Este Sedán Ford Crown Victoria

PDM-013 Sede Operativa Este Sedán Ford Crown Victoria

PDM-014 Sede Operativa Este Sedán Ford Crown Victoria

PDM-015 Sede Operativa Este Sedán Ford Crown Victoria

PDM-016 Sede Operativa Este Sedán Ford Crown Victoria

PDM-017 Sede Operativa Este Sedán Ford Crown Victoria

PDM-018 Sede Operativa Este Sedán Ford Crown Victoria

PDM-019 Sede Operativa Este Sedán Ford Crown Victoria

PDM-020 Sede Operativa Este Sedán Ford Crown Victoria

Codigo Ubicación Tipo Marca Modelo

PDM-021 Sede Operativa Este Sedán Ford Crown Victoria

PDM-022 Sede Operativa Este Sedán Ford Crown Victoria

PDM-023 Sede Operativa Este Sedán Ford Crown Victoria

PDM-024 Sede Operativa Este Sedán Ford Crown Victoria

PDM-025 Sede Operativa Este Sedán Ford Crown Victoria

PDM-026 Sede Operativa Este Sedán Ford Crown Victoria

PDM-027 Sede Operativa Este Sedán Ford Crown Victoria

PDM-028 Sede Operativa Este Sedán Ford Crown Victoria

PDM-029 Sede Operativa Este Sedán Ford Crown Victoria

PDM-030 Sede Operativa Este Sedán Ford Crown Victoria

PDM-031 Sede Operativa Oeste Sedán Ford Crown Victoria

PDM-032 Sede Operativa Oeste Sedán Ford Crown Victoria

PDM-033 Sede Operativa Oeste Sedán Ford Crown Victoria

PDM-034 Sede Operativa Oeste Sedán Ford Crown Victoria

PDM-035 Sede Operativa Oeste Sedán Ford Crown Victoria

PDM-036 Sede Operativa Oeste Sedán Ford Crown Victoria

PDM-037 Sede Operativa Oeste Sedán Ford Crown Victoria

PDM-038 Sede Operativa Oeste Sedán Ford Crown Victoria

PDM-039 Sede Operativa Oeste Sedán Ford Crown Victoria

PDM-040 Sede Operativa Oeste Sedán Ford Crown Victoria

49

Page 50: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 2. – Continuación.

Codigo Ubicación Tipo Marca Modelo

PDM-041 Sede Operativa Oeste Sedán Ford Crown Victoria

PDM-042 Sede Operativa Oeste Sedán Ford Crown Victoria

PDM-043 Sede Operativa Oeste Sedán Ford Crown Victoria

PDM-044 Sede Operativa Oeste Sedán Ford Crown Victoria

PDM-045 Sede Operativa Oeste Sedán Ford Crown Victoria

PDM-046 Sede Operativa Oeste Sedán Ford Crown Victoria

PDM-047 Sede Operativa Oeste Sedán Ford Crown Victoria

PDM-048 Sede Operativa Oeste Sedán Ford Crown Victoria

PDM-049 Sede Operativa Oeste Sedán Ford Crown Victoria

PDM-050 Sede Operativa Oeste Sedán Ford Crown Victoria

PDM-051 Sede Central Sedán Toyota Four Runner

PDM-052 Sede Central Sedán Toyota Four Runner

PDM-053 Sede Central Sedán Toyota Four Runner

PDM-054 Sede Central Sedán Toyota Four Runner

PDM-055 Sede Central Sedán Toyota Four Runner

PDM-056 Sede Central Sedán Toyota Four Runner

PDM-057 Sede Central Sedán Toyota Four Runner

PDM-058 Sede Central Sedán Toyota Four Runner

PDM-059 Sede Central Sedán Toyota Four Runner

PDM-060 Sede Central Sedán Toyota Four Runner

Codigo Ubicación Tipo Marca Modelo

PDM-061 Sede Central Sedán Toyota Four Runner

PDM-062 Sede Operativa Este Sedán Toyota Four Runner

PDM-063 Sede Operativa Este Sedán Toyota Four Runner

PDM-064 Sede Operativa Este Sedán Toyota Four Runner

PDM-065 Sede Operativa Este Sedán Toyota Four Runner

PDM-066 Sede Operativa Este Sedán Toyota Four Runner

PDM-067 Sede Operativa Este Sedán Toyota Four Runner

PDM-068 Sede Operativa Este Sedán Toyota Four Runner

PDM-069 Sede Operativa Este Sedán Toyota Four Runner

PDM-070 Sede Operativa Este Sedán Toyota Four Runner

PDM-071 Sede Operativa Este Sedán Toyota Four Runner

PDM-072 Sede Operativa Este Sedán Toyota Four Runner

PDM-073 Sede Operativa Este Sedán Toyota Four Runner

PDM-074 Sede Operativa Este Sedán Toyota Four Runner

PDM-075 Sede Operativa Este Sedán Toyota Four Runner

PDM-076 Sede Operativa Este Sedán Toyota Four Runner

PDM-077 Sede Operativa Oeste Sedán Toyota Four Runner

PDM-078 Sede Operativa Oeste Sedán Toyota Four Runner

PDM-079 Sede Operativa Oeste Sedán Toyota Four Runner

PDM-080 Sede Operativa Oeste Sedán Toyota Four Runner

50

Page 51: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 2. – Continuación.

Codigo Ubicación Tipo Marca Modelo

PDM-081 Sede Operativa Oeste Sedán Toyota Four Runner

PDM-082 Sede Operativa Oeste Sedán Toyota Four Runner

PDM-083 Sede Operativa Oeste Sedán Toyota Four Runner

PDM-084 Sede Operativa Oeste Sedán Toyota Four Runner

PDM-085 Sede Operativa Oeste Sedán Toyota Four Runner

PDM-086 Sede Operativa Oeste Sedán Toyota Four Runner

PDM-087 Sede Operativa Oeste Sedán Toyota Four Runner

PDM-088 Sede Operativa Oeste Sedán Toyota Four Runner

PDM-089 Sede Operativa Oeste Sedán Toyota Four Runner

PDM-090 Sede Operativa Oeste Sedán Toyota Four Runner

PDM-091 Sede Central Sedán GM Impala

PDM-092 Sede Central Sedán GM Impala

PDM-093 Sede Central Sedán GM Impala

PDM-094 Sede Central Sedán GM Impala

PDM-095 Sede Central Sedán GM Impala

PDM-096 Sede Central Sedán GM Impala

PDM-097 Sede operativa Este Sedán GM Impala

PDM-098 Sede operativa Este Sedán GM Impala

PDM-099 Sede operativa Este Sedán GM Impala

PDM-100 Sede operativa Este Sedán GM Impala

Codigo Ubicación Tipo Marca Modelo

PDM-101 Sede operativa Este Sedán GM Impala

PDM-102 Sede operativa Este Sedán GM Impala

PDM-103 Sede operativa Este Sedán GM Impala

PDM-104 Sede operativa Este Sedán GM Impala

PDM-105 Sede operativa Este Sedán GM Impala

PDM-106 Sede operativa Este Sedán GM Impala

PDM-107 Sede operativa Este Sedán GM Impala

PDM-108 Sede operativa Este Sedán GM Impala

PDM-109 Sede operativa Este Sedán GM Impala

PDM-110 Sede operativa Este Sedán GM Impala

PDM-111 Sede operativa Este Sedán GM Impala

PDM-112 Sede operativa Este Sedán GM Impala

PDM-113 Sede operativa Este Sedán GM Impala

PDM-114 Sede operativa Este Sedán GM Impala

PDM-115 Sede operativa Este Sedán GM Impala

PDM-116 Sede operativa Este Sedán Mazda B2600

PDM-117 Sede operativa Este Sedán Mazda B2600

PDM-118 Sede operativa Oeste Sedán Mazda B2600

PDM-119 Sede operativa Oeste Sedán Mazda B2600

PDM-120 Sede operativa Oeste Sedán Mazda B2600

51

Page 52: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 2. – Continuación. Codigo Ubicación Tipo Marca Modelo

PDM-121 Sede operativa Oeste Sedán Mazda B2600 PDM-122 Sede operativa Oeste Sedán Mazda B2600

PDM-123 Sede operativa Oeste Sedán Mazda B2600

PDM-124 Sede operativa Oeste Sedán Mazda B2600 PDM-125 Sede operativa Oeste Sedán Mazda B2600

PDM-126 Sede operativa Oeste Sedán Mazda B2600 PDM-127 Sede operativa Oeste Sedán Mazda B2600

PDM-128 Sede operativa Oeste Sedán Mazda B2600

PDM-129 Sede operativa Oeste Sedán Mazda B2600 PDM-130 Sede operativa Oeste Sedán Mazda B2600

PDM-131 Sede operativa Oeste Sedán Mazda B2600 PDM-132 Sede operativa Oeste Sedán Mazda B2600

PDM-133 Sede operativa Oeste Sedán Mazda B2600

T-01 Sede Central Bus Titan S/I T-02 Sede Central Bus Titan S/I

52

Page 53: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 3. – Inventario de aires acondicionados de la policía regional del estado Zulia.

Ubicación Tipo Marca Serial Capacidad Fase Ciclos (Hz) Voltaje

DP Padilla Split York L023505765 3 Ton. 1 50 a 60 Hz 220 VAC

DP Padilla Ventana GE S/I 18K BTU 1 50 a 60 Hz 220 VAC

DP Baralt Split LG 371LA26748A 15K BTU 1 50 a 60 Hz 220 VAC

DP Baralt Split LG 371LA27490A 15K BTU 1 50 a 60 Hz 220 VAC

DP Catatumbo Compacto York WKJM021253 3 Ton. 1 50 a 60 Hz 220 VAC

DP Colón Split York 3918250308 3 Ton. 1 50 a 60 Hz 220 VAC

DP Colón Ventana Samsung S/I 21K BTU 1 50 a 60 Hz 220 VAC

DP Francisco Javier Pulgar Compacto Carrier WDJP193972 5 Ton. 1 50 a 60 Hz 220 VAC

DP Jesús Enrique Losada Split Panasonic S/I 12K BTU 1 50 a 60 Hz 220 VAC

DP Jesús Enrique Losada Split LG 162GA05275A 15K BTU 1 50 a 60 Hz 220 VAC

DP Jesús María Semprún Compacto York WFJP002057 3 Ton. 1 50 a 60 Hz 220 VAC

DP Jesús María Semprún Split Panasonic S/I 12K BTU 1 50 a 60 Hz 220 VAC

DP La Cañada Split Carrier 0600E06992 18K BTU 1 50 a 60 Hz 220 VAC

DP La Cañada Ventana GE S/I 18K BTU 1 50 a 60 Hz 220 VAC

DP Machiques de Perijá Split LG 312KA00488A 15K BTU 1 50 a 60 Hz 220 VAC

DP Machiques de Perijá Split Carrier 08001R08251 18K BTU 1 50 a 60 Hz 220 VAC

DP Mara Ventana GE S/I 18K BTU 1 50 a 60 Hz 220 VAC

DP Mara Split York WMJM013496 3 Ton. 1 50 a 60 Hz 220 VAC

DP Miranda Split York WMJM006897 3 Ton. 1 50 a 60 Hz 220 VAC

DP Miranda Ventana Fedders S/I 21K BTU 1 50 a 60 Hz 220 VAC

DP Páez Ventana GE S/I 18K BTU 1 50 a 60 Hz 220 VAC

DP Páez Split LG GSA030800578 5 Ton. 1 50 a 60 Hz 220 VAC

DP Páez Split LG 074LA02251A 15K BTU 1 50 a 60 Hz 220 VAC

53

Page 54: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 3. – Continuación. Ubicación Tipo Marca Serial Capacidad Fase Ciclos (Hz) Voltaje DP Rosario de Perijá Compacto Carrier 1604G51691 5 Ton. 1 50 a 60 Hz 220 VAC DP Rosario de Perijá Ventana Samsung S/I 18K BTU 1 50 a 60 Hz 220 VAC

DP San Francisco Split LG 352KA88358A 15K BTU 1 50 a 60 Hz 220 VAC DP San Francisco Split LG 352KA57822A 15K BTU 1 50 a 60 Hz 220 VAC DP Santa Rita Compacto Tappan 4329361 3 Ton. 1 50 a 60 Hz 220 VAC

DP Santa Rita Split Carrier 0600E0158244 21K BTU 1 50 a 60 Hz 220 VAC DP Simón Bolívar Compacto York WGJM000848 3 Ton. 1 50 a 60 Hz 220 VAC DP Simón Bolívar Compacto York WDJP193923 3 Ton. 1 50 a 60 Hz 220 VAC

DP Sucre Compacto Carrier 1604651685 5 Ton. 1 50 a 60 Hz 220 VAC DP Valmore Rodríguez Split Carrier 24001E24816 21K BTU 1 50 a 60 Hz 220 VAC DP Valmore Rodríguez Split LG 247LA14528A 15K BTU 1 50 a 60 Hz 220 VAC

Paroquia Idelfonso Vázquez Split Carrier 0803E26309 21K BTU 1 50 a 60 Hz 220 VAC DP Ciudad Ojeda y Venezuela Ventana GE S/I 15K BTU 1 50 a 60 Hz 220 VAC DP Ciudad Ojeda y Venezuela Compacto Carrier 370063A190 10 Ton 1 50 a 60 Hz 220 VAC

DP Ciudad Ojeda y Venezuela Split LG O101507859 5 Ton. 1 50 a 60 Hz 220 VAC DP Ciudad Ojeda y Venezuela Split LG 211KA00784 30K BTU 1 50 a 60 Hz 220 VAC DP Ciudad Ojeda y Venezuela Split York 3699040240 3 Ton. 1 50 a 60 Hz 220 VAC

DP Cabimas Ventana GE S/I 21K BTU 1 50 a 60 Hz 220 VAC DP Cabimas Compacto Carrier O16967NBKM 10 Ton 1 50 a 60 Hz 220 VAC DP Cabimas Split Carrier 0803E28318 21K BTU 1 50 a 60 Hz 220 VAC

DP Cabimas Split Carrier 0803E157299 18K BTU 1 50 a 60 Hz 220 VAC DP Cabimas Compacto Carrier 51016A0696 5 Ton. 1 50 a 60 Hz 220 VAC

DP Cabimas Ventana GE S/I 18K BTU 1 50 a 60 Hz 220 VAC

54

Page 55: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 3. – Continuación.

Ubicación Tipo Marca Serial Capacidad Fase Ciclos (Hz) Voltaje

DP Bolívar Split Carrier 0800E337591 18K BTU 1 50 a 60 Hz 220 VAC

DP Bolívar Ventana Samsung S/I 15K BTU 1 50 a 60 Hz 220 VAC

DP Santa Lucía Split York WMSM007086 3 Ton. 1 50 a 60 Hz 220 VAC

DP Santa Lucía Split LG 195KA41186A 15K BTU 1 50 a 60 Hz 220 VAC

DP Cacique Mara Split York WMJM006897 3 Ton. 1 50 a 60 Hz 220 VAC

DP Cacique Mara Ventana GE S/I 18K BTU 1 50 a 60 Hz 220 VAC

DP Cecilio Acosta Split LG 180LA55723A 15K BTU 1 50 a 60 Hz 220 VAC

DP Cecilio Acosta Split Carrier 0803E131794 21K BTU 1 50 a 60 Hz 220 VAC

DP Chiquinquirá Split York ECHM501056 3 Ton. 1 50 a 60 Hz 220 VAC

DP Chiquinquirá Ventana Samsung S/I 18K BTU 1 50 a 60 Hz 220 VAC

DP Chiquinquirá Split LG 182LA52498A 15K BTU 1 50 a 60 Hz 220 VAC

DP Coquivacoa Split Carrier 0803E3987286 18K BTU 1 50 a 60 Hz 220 VAC

DP Coquivacoa Split LG 354KA37264A 21K BTU 1 50 a 60 Hz 220 VAC

DP Cristo de Aranza Split York SELJM473584 3 Ton. 1 50 a 60 Hz 220 VAC

DP Francisco Bustamante Split York SELJM49182 3 Ton. 1 50 a 60 Hz 220 VAC

DP Idelfonso Vázquez Split LG 263LA98274A 15K BTU 1 50 a 60 Hz 220 VAC

DP Juana de Avila Split Carrier 0800E264390 18K BTU 1 50 a 60 Hz 220 VAC

DP Juana de Avila Split Carrier 0800E236932 18K BTU 1 50 a 60 Hz 220 VAC

DP Luis Hurtado Higuera Split York SELJM494120 3 Ton. 1 50 a 60 Hz 220 VAC

DP Manuel Dagnino Split Carrier 0600E231796 21K BTU 1 50 a 60 Hz 220 VAC

DP Manuel Dagnino Split LG 263LA98274A 12K BTU 1 50 a 60 Hz 220 VAC

DP Olegario Villalobos Ventana GE S/I 21K BTU 1 50 a 60 Hz 220 VAC

DP Olegario Villalobos Split LG 351KA34827A 15K BTU 1 50 a 60 Hz 220 VAC

55

Page 56: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 3. – Continuación.

Ubicación Tipo Marca Serial Capacidad Fase Ciclos (Hz) Voltaje DP Raúl Leoni Split York SFLJM473585 3 Ton. 1 50 a 60 Hz 220 VAC

DP San Isidro Ventana GE S/I 18KBTU 1 50 a 60 Hz 220 VAC DP San Isidro Ventana GE S/I 15K BTU 1 50 a 60 Hz 220 VAC DP Venancio Pulgar Split Carrier 0601E277685 21K BTU 1 50 a 60 Hz 220 VAC

DP Venancio Pulgar Ventana Samsung S/I 18K BTU 1 50 a 60 Hz 220 VAC Comandancia Delicias Split York L020717696 5 Ton. 1 50 a 60 Hz 220 VAC

Comandancia Delicias Split Carrier 1705610069 10 Ton 1 50 a 60 Hz 220 VAC Comandancia Delicias Split York SELJM473611 3 Ton. 1 50 a 60 Hz 220 VAC

Comandancia Delicias Split LG 411LA33790A 18K BTU 1 50 a 60 Hz 220 VAC Comandancia Delicias Split LG 351LA35827A 15K BTU 1 50 a 60 Hz 220 VAC

DIP - Centro Control RF Split York WCK017483 5 Ton. 1 50 a 60 Hz 220 VAC

DIP - Centro Control RF Split Carrier 4399F58328 10 Ton 1 50 a 60 Hz 220 VAC DIP - Centro Control RF Split York 2709710114 5 Ton. 1 50 a 60 Hz 220 VAC

56

Page 57: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 4. – Inventario de unidades automotoras de la policía regional del estado Zulia.

Cantidad Ubicación Tipo Marca Modelo

3 Municipio Almirante Padilla Sedán Jeep Cherokee 2 Municipio Almirante Padilla Sedán Chevrolet D-max 6 Municipio Baralt Sedán Jeep Cherokee 8 Municipio Baralt Sedán Ford Crown Victoria

3 Municipio Baralt Sedán Chevrolet D-max 4 Municipio Baralt Sedán Chevrolet Impala 8 Municipio Catatumbo Sedán Jeep Cherokee 3 Municipio Catatumbo Sedán Chevrolet D-max

8 Municipio Colón Sedán Jeep Cherokee

3 Municipio Colón Sedán Chevrolet D-max 3 Municipio Francisco Javier Pulgar Sedán Chevrolet D-max 4 Municipio Francisco Javier Pulgar Sedán Chevrolet Impala

10 Municipio Jesús Enrique Losada Sedán Ford Crown Victoria

2 Municipio Jesús Enrique Losada Sedán Chevrolet D-max 5 Municipio Jesús Enrique Losada Sedán Chevrolet Impala 8 Municipio Jesús María Semprún Sedán Ford Crown Victoria

3 Municipio Jesús María Semprún Sedán Chevrolet D-max

10 Municipio La Cañada de Urdaneta Sedán Jeep Cherokee 15 Municipio La Cañada de Urdaneta Sedán Ford Crown Victoria 3 Municipio La Cañada de Urdaneta Sedán Chevrolet D-max

57

Page 58: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 4. – Continuación. Cantidad Ubicación Tipo Marca Modelo

5 Municipio La Cañada de Urdaneta Sedán Chevrolet Impala

7 Municipio Machiques de Perijá Sedán Jeep Cherokee 3 Municipio Machiques de Perijá Sedán Chevrolet D-max 5 Municipio Machiques de Perijá Sedán Chevrolet Impala

10 Municipio Mara Sedán Jeep Cherokee

15 Municipio Mara Sedán Ford Crown Victoria 5 Municipio Mara Sedán Chevrolet D-max 8 Municipio Mara Sedán Chevrolet Impala

8 Municipio Miranda Sedán Ford Crown Victoria

3 Municipio Miranda Sedán Chevrolet D-max 4 Municipio Miranda Sedán Chevrolet Impala 8 Municipio Páez Sedán Jeep Cherokee

10 Municipio Páez Sedán Ford Crown Victoria

3 Municipio Páez Sedán Chevrolet D-max 5 Municipio Páez Sedán Chevrolet Impala 8 Municipio Rosario de Perijá Sedán Jeep Cherokee 8 Municipio Rosario de Perijá Sedán Ford Crown Victoria

3 Municipio Rosario de Perijá Sedán Chevrolet D-max

5 Municipio Rosario de Perijá Sedán Chevrolet Impala 10 Municipio San Francisco Sedán Ford Crown Victoria

58

Page 59: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 4. – Continuación.

Cantidad Ubicación Tipo Marca Modelo 5 Municipio San Francisco Sedán Chevrolet D-max

8 Municipio San Francisco Sedán Chevrolet Impala

4 Municipio Santa Rita Sedán Jeep Cherokee 8 Municipio Santa Rita Sedán Ford Crown Victoria 3 Municipio Santa Rita Sedán Chevrolet D-max

4 Municipio Santa Rita Sedán Chevrolet Impala

10 Municipio Simón Bolívar Sedán Ford Crown Victoria 3 Municipio Simón Bolívar Sedán Chevrolet D-max 4 Municipio Simón Bolívar Sedán Chevrolet Impala

8 Municipio Sucre Sedán Ford Crown Victoria

2 Municipio Sucre Sedán Chevrolet D-max 4 Municipio Sucre Sedán Chevrolet Impala 10 Municipio Valmore Rodríguez Sedán Jeep Cherokee 10 Municipio Valmore Rodríguez Sedán Ford Crown Victoria

4 Municipio Valmore Rodríguez Sedán Chevrolet D-max

5 Municipio Valmore Rodríguez Sedán Chevrolet Impala 3 Paroquia Idelfonso Vázquez Sedán Chevrolet Impala 8 Parroquia Alonso de Ojeda y Venezuela - Mun.Lagunillas Sedán Jeep Cherokee

12 Parroquia Alonso de Ojeda y Venezuela - Mun.Lagunillas Sedán Ford Crown Victoria

2 Parroquia Alonso de Ojeda y Venezuela - Mun.Lagunillas Sedán Chevrolet D-max

59

Page 60: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 4. – Continuación. Cantidad Ubicación Tipo Marca Modelo 8 Parroquia Alonso de Ojeda y Venezuela - Mun.Lagunillas Sedán Chevrolet Impala 12 Parroquia Ambrosio - Municipio Cabimas Sedán Jeep Cherokee 12 Parroquia Ambrosio - Municipio Cabimas Sedán Ford Crown Victoria

2 Parroquia Ambrosio - Municipio Cabimas Sedán Chevrolet D-max

10 Parroquia Ambrosio - Municipio Cabimas Sedán Chevrolet Impala 10 Parroquia Bolívar y Santa Lucía Sedán Ford Crown Victoria 2 Parroquia Bolívar y Santa Lucía Sedán Chevrolet D-max

2 Parroquia Cacique Mara y Cecilio Acosta Sedán Chevrolet D-max

4 Parroquia Cacique Mara y Cecilio Acosta Sedán Chevrolet Impala 5 Parroquia Chiquinquirá Sedán Ford Crown Victoria 2 Parroquia Chiquinquirá Sedán Chevrolet D-max

6 Parroquia Chiquinquirá Sedán Chevrolet Impala

5 Parroquia Coquivacoa Sedán Ford Crown Victoria 2 Parroquia Coquivacoa Sedán Chevrolet D-max 2 Parroquia Cristo de Aranza Sedán Chevrolet D-max

4 Parroquia Cristo de Aranza Sedán Chevrolet Impala

2 Parroquia Francisco Bustamante Sedán Chevrolet D-max

4 Parroquia Francisco Bustamante Sedán Chevrolet Impala 8 Parroquia Germán Rios Linares - Municipio Cabimas Sedán Jeep Cherokee 8 Parroquia Germán Rios Linares - Municipio Cabimas Sedán Ford Crown Victoria

60

Page 61: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 4. – Continuación. Cantidad Ubicación Tipo Marca Modelo

5 Parroquia Germán Rios Linares - Municipio Cabimas Sedán Chevrolet D-max 7 Parroquia Idelfonso Vázquez Sedán Ford Crown Victoria 2 Parroquia Idelfonso Vázquez Sedán Chevrolet D-max 3 Parroquia Juana de Avila Sedán Chevrolet D-max

6 Parroquia Juana de Avila Sedán Chevrolet Impala

2 Parroquia Luis Hurtado Higuera y Manuel Dagnino Sedán Chevrolet D-max 4 Parroquia Luis Hurtado Higuera y Manuel Dagnino Sedán Chevrolet Impala 4 Parroquia Olegario Villalobos Sedán Chevrolet D-max

7 Parroquia Olegario Villalobos Sedán Chevrolet Impala

5 Parroquia Punta Gorda - Municipio Cabimas Sedán Ford Crown Victoria 3 Parroquia Punta Gorda - Municipio Cabimas Sedán Chevrolet D-max 4 Parroquia Punta Gorda - Municipio Cabimas Sedán Chevrolet Impala

3 Parroquia Raúl Leoni y Carracciolo Parra Pérez Sedán Chevrolet D-max

4 Parroquia Raúl Leoni y Carracciolo Parra Pérez Sedán Chevrolet Impala 5 Parroquia San Isidro Sedán Jeep Cherokee 8 Parroquia San Isidro Sedán Ford Crown Victoria 3 Parroquia San Isidro Sedán Chevrolet D-max

5 Parroquia Venancio Pulgar y Borjas Romero Sedán Jeep Cherokee 5 Parroquia Venancio Pulgar y Borjas Romero Sedán Chevrolet D-max 6 Parroquia Venancio Pulgar y Borjas Romero Sedán Chevrolet Impala

61

Page 62: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 5. – Inventario de aires acondicionados de la policía del municipio San Francisco.

Ciclos (Hz) Voltaje Ubicación Tipo Marca Serial Capac Fase

Sede Principal PSF Compacto Carrier 3502G11277 10 Ton. 1 60 208/230 VAC

Sede Principal PSF Compacto Carrier 2249F23903 15 Ton. 1 60 208/230 VAC

Sede Principal PSF Compacto Carrier 3502G20729 10 Ton. 1 60 208/230 VAC

Sede Principal PSF Compacto Carrier 2258F38793 15 Ton. 1 60 208/230 VAC Estacionamiento

PSF Compacto Carrier 1604G51671 5 Ton. 1 60 208/230 VAC

Estacionamiento PSF Compacto Carrier O200G30363 10 Ton. 1 60 208/230 VAC

Estacionamiento PSF

Split LG 177LB204491 24K BTU 1 60 208/230 VAC

Estacionamiento PSF Compacto Carrier 1604G37193 5 Ton 1 60 208/230 VAC

62

Page 63: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

63

Tabla 6. – Inventario de unidades automotoras de la policía del municipio San Francisco.

Codigo Ubicación Tipo Marca Modelo PSF-001 Garaje PSF Sedán Ford Crown Victoria PSF-002 Garaje PSF Sedán Ford Crown Victoria PSF-003 Garaje PSF Sedán Ford Crown Victoria PSF-004 Garaje PSF Sedán Ford Crown Victoria PSF-005 Garaje PSF Sedán Ford Crown Victoria PSF-006 Garaje PSF Sedán Ford Crown Victoria PSF-007 Garaje PSF Sedán Ford Crown Victoria PSF-008 Garaje PSF Sedán Ford Crown Victoria PSF-009 Garaje PSF Sedán Ford Crown Victoria PSF-010 Garaje PSF Sedán Ford Crown Victoria PSF-011 Garaje PSF Sedán Ford Crown Victoria PSF-012 Garaje PSF Sedán Ford Crown Victoria PSF-013 Garaje PSF Sedán Ford Crown Victoria PSF-014 Garaje PSF Sedán Ford Crown Victoria PSF-015 Garaje PSF Sedán Ford Crown Victoria PSF-016 Garaje PSF Sedán Ford Crown Victoria PSF-017 Garaje PSF Sedán Ford Crown Victoria PSF-018 Garaje PSF Sedán Ford Crown Victoria PSF-019 Garaje PSF Sedán Ford Crown Victoria PSF-020 Garaje PSF Sedán Ford Crown Victoria PSF-021 Garaje PSF Sedán Ford Crown Victoria PSF-022 Garaje PSF Sedán Ford Crown Victoria PSF-023 Garaje PSF Sedán Ford Crown Victoria PSF-024 Garaje PSF Sedán Ford Crown Victoria PSF-025 Garaje PSF Sedán Ford Crown Victoria PSF-026 Garaje PSF Sedán Ford Crown Victoria PSF-027 Garaje PSF Sedán Ford Crown Victoria

PSF-028 Garaje PSF Sedán Ford Crown Victoria

Codigo Ubicación Tipo Marca Modelo PSF-029 Garaje PSF Sedán Ford Crown Victoria PSF-030 Garaje PSF Sedán Ford Crown Victoria PSF-031 Garaje PSF Sedán Ford Crown Victoria PSF-032 Garaje PSF Sedán Ford Crown Victoria PSF-033 Garaje PSF Sedán Ford Crown Victoria PSF-034 Garaje PSF Sedán Ford Crown Victoria PSF-035 Garaje PSF Sedán Ford Crown Victoria PSF-036 Garaje PSF Sedán Ford Crown Victoria PSF-037 Garaje PSF Sedán Ford Crown Victoria PSF-038 Garaje PSF Sedán Ford Crown Victoria PSF-039 Garaje PSF Sedán Ford Crown Victoria PSF-040 Garaje PSF Sedán Ford Crown Victoria PSF-041 Garaje PSF Sedán Ford Crown Victoria PSF-042 Garaje PSF Sedán Ford Crown Victoria PSF-043 Garaje PSF Sedán Ford Crown Victoria PSF-044 Garaje PSF Sedán Ford Crown Victoria PSF-045 Garaje PSF Sedán Ford Crown Victoria PSF-046 Garaje PSF Sedán Ford Crown Victoria PSF-047 Garaje PSF Sedán Ford Crown Victoria PSF-048 Garaje PSF Sedán Ford Crown Victoria PSF-049 Garaje PSF Sedán Ford Crown Victoria PSF-050 Garaje PSF Sedán Ford Crown Victoria PSF-051 Garaje PSF Sedán Ford Crown Victoria PSF-052 Garaje PSF Sedán Ford Crown Victoria PSF-053 Garaje PSF Sedán Ford Crown Victoria PSF-054 Garaje PSF Sedán Ford Crown Victoria PSF-055 Garaje PSF Sedán Ford Crown Victoria

PSF-056 Garaje PSF Sedán Ford Crown Victoria

Page 64: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

64

Tabla 6. – Continuación.

Codigo Ubicación Tipo Marca Modelo PSF-057 Garaje PSF Sedán Ford Crown Victoria PSF-058 Garaje PSF Sedán Ford Crown Victoria PSF-059 Garaje PSF Sedán Ford Crown Victoria PSF-060 Garaje PSF Sedán Ford Crown Victoria PSF-061 Garaje PSF Sedán Ford Crown Victoria PSF-062 Garaje PSF Sedán Ford Crown Victoria PSF-063 Garaje PSF Sedán Ford Crown Victoria PSF-064 Garaje PSF Sedán Ford Crown Victoria PSF-065 Garaje PSF Sedán Ford Crown Victoria PSF-066 Garaje PSF Sedán Ford Crown Victoria PSF-067 Garaje PSF Sedán Ford Crown Victoria PSF-068 Garaje PSF Sedán Ford Crown Victoria PSF-069 Garaje PSF Sedán Ford Crown Victoria PSF-070 Garaje PSF Sedán Ford Crown Victoria PSF-071 Garaje PSF Sedán Ford Crown Victoria PSF-072 Garaje PSF Sedán Ford Crown Victoria PSF-073 Garaje PSF Sedán Ford Crown Victoria PSF-074 Garaje PSF Sedán Ford Crown Victoria PSF-075 Garaje PSF Sedán Ford Crown Victoria PSF-076 Garaje PSF Sedán Ford Crown Victoria PSF-077 Garaje PSF Sedán Ford Crown Victoria PSF-078 Garaje PSF Sedán Ford Crown Victoria PSF-079 Garaje PSF Sedán Ford Crown Victoria PSF-080 Garaje PSF Sedán Ford Crown Victoria PSF-081 Garaje PSF Sedán Ford Crown Victoria PSF-082 Garaje PSF Sedán Ford Crown Victoria PSF-083 Garaje PSF Sedán Ford Crown Victoria

PSF-084 Garaje PSF Sedán Ford Crown Victoria

Codigo Ubicación Tipo Marca Modelo PSF-085 Garaje PSF Sedán Ford Crown Victoria PSF-086 Garaje PSF Sedán Ford Crown Victoria PSF-087 Garaje PSF Sedán Ford Crown Victoria PSF-088 Garaje PSF Sedán Ford Crown Victoria PSF-089 Garaje PSF Sedán Ford Crown Victoria PSF-090 Garaje PSF Sedán Toyota Autana PSF-091 Garaje PSF Sedán Toyota Autana PSF-092 Garaje PSF Sedán Toyota Autana PSF-093 Garaje PSF Sedán Toyota Autana PSF-094 Garaje PSF Sedán Toyota Autana PSF-095 Garaje PSF Sedán Toyota Autana PSF-096 Garaje PSF Sedán Toyota Autana PSF-097 Garaje PSF Sedán Toyota Autana PSF-098 Garaje PSF Sedán Toyota Autana PSF-099 Garaje PSF Sedán Toyota Autana PSF-100 Garaje PSF Sedán Toyota Autana PSF-101 Garaje PSF Sedán Toyota Autana PSF-102 Garaje PSF Sedán Toyota Autana PSF-103 Garaje PSF Sedán Toyota Autana PSF-104 Garaje PSF Sedán Toyota Autana PSF-105 Garaje PSF Sedán Toyota Autana PSF-106 Garaje PSF Sedán Toyota Autana PSF-107 Garaje PSF Sedán Toyota Autana PSF-108 Garaje PSF Sedán Toyota Autana PSF-109 Garaje PSF Sedán Toyota Autana PSF-110 Garaje PSF Sedán Toyota Autana PSF-111 Garaje PSF Sedán Toyota Autana

PSF-112 Garaje PSF Sedán Toyota Autana

Page 65: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 7. – Inventario de equipos de telecomunicaciones de la policía del municipio Maracaibo.

Cantidad Descripción Marca Modelo Potencia / Capacidad Ubicación 6 Repetidora de RF Motorola Quantar Intellirepeater 100 Watts Torre Elca - Maracaibo 1 Combinador de Transmisión Andrew DB8062F 500 Watts / 10 canales Torre Elca - Maracaibo

2 Antenas RFS BMR-O-12 500 Watts Torre Elca - Maracaibo 1 Rectificador Cargador de Baterías Intergy IMPS 520 120 Amp Torre Elca - Maracaibo

32 Batería Sellada Dynasty MPS12-50 12 VDC Torre Elca - Maracaibo 1 Modem Motorola Trendnet TFM560X Torre Elca - Maracaibo

80 Batería Sellada Dynasty MPS12-50 12 VDC Sede DIP - PDM 1 Banco de canales Motorola Tensr 800 32 canales Sede DIP - PDM

1 Modem Trendnet TFM560X N/A Sede DIP - PDM 1 UPS Powerware 9315-225 225 KVA Sede DIP - PDM

266 Radio Portátil sin teclado Motorola PRO 5750 3 watts / 16 canales Sedes Operativas PDM 130 Radio móvil Motorola LCS 2000 15 watts / 8 canales Unidades automotoras

Tabla 8. – Inventario de equipos de telecomunicaciones de la policía del municipio San Francisco.

Cantidad Descripción Marca Modelo Potencia / Capacidad Ubicación 4 Repetidora de RF Motorola Quantar 100 Watts Torre Hotel Maruma 1 Combinador de Transmisión RFS TCD900-5 150 Watt / 5 canales Torre Hotel Maruma

2 Antenas RFS BMR-O-10 500 Watts Torre Hotel Maruma Rectificador / Cargador de Baterías

1 Majorpower MajorTPS 50/48 50 Amps Torre Hotel Maruma

16 Batería Sellada Power 12100X 12 VDC Torre Hotel Maruma

1 UPS APC Smart-UPS 2200 VA Torre Hotel Maruma 120 Radio Portátil con teclado Motorola LTS 2000 3 watts / 16 canales Sede Operativa PSF 92 Radio móvil Motorola MCS 2000 15 watts / 8 canales Unidades automotoras

65

Page 66: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 9. – Inventario de equipos de telecomunicaciones de la policía regional del estado Zulia.

Cantidad Descripción Marca Modelo Potencia / Capacidad Ubicación

11 Repetidora de RF Motorola Quantar Intellirepeater 100 Watts Sede DIP - Policía Regional

2 Combinador de Transmisión Andrew DB8062F 500 Watts / 10 canales Sede DIP - Policía Regional

3 Antenas RFS BMR-O-12 500 Watts Sede DIP - Policía Regional

1 Rectificador Cargador de Baterías Intergy IMPS 520 120 Amp Sede DIP - Policía Regional

80 Batería Sellada Dynasty MPS12-50 12 VDC Sede DIP - Policía Regional

1 Modem Motorola Trendnet TFM560X Sede DIP - Policía Regional

1 Banco de canales Motorola Tensr 800 32 canales Sede DIP - Policía Regional

1 Modem Trendnet TFM560X N/A Sede DIP - Policía Regional

20 Radio Portátil con teclado Motorola PRO7750 3 watts / 16 canales Sedes Operativas

1560 Radio Portátil sin teclado Motorola PRO 5750 3 watts / 16 canales Sedes Operativas

420 Radio móvil Motorola LCS 2000 15 watts / 8 canales Unidades automotoras

4 Repetidora de RF Motorola Quantar Intellirepeater 100 Watts Cerro Misoa

1 Combinador de Transmisión Andrew DB8062F 500 Watts / 6 canales Cerro Misoa

2 Antenas RFS BMR-O-12 500 Watts Cerro Misoa

1 Rectificador Cargador de Baterías Intergy IMPS 520 120 Amp Cerro Misoa

32 Batería Sellada Dynasty MPS12-50 12 VDC Cerro Misoa

1 Modem Trendnet TFM560X N/A Cerro Misoa

4 Repetidora de RF Motorola Quantar Intellirepeater 100 Watts La Sierra

1 Combinador de Transmisión Andrew DB8062F 500 Watts / 6 canales La Sierra

2 Antenas RFS BMR-O-12 500 Watts La Sierra

66

Page 67: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 9. – Continuación.

Cantidad Descripción Marca Modelo Potencia / Capacidad Ubicación

1 Rectificador Cargador de Baterías Intergy IMPS 520 120 Amp La Sierra

32 Batería Sellada Dynasty MPS12-50 12 VDC La Sierra

1 Modem Trendnet TFM560X N/A La Sierra

3 Repetidora de RF Motorola Quantar Intellirepeater 100 Watts Paraguaipoa 1 Combinador de Transmisión Andrew DB8062F 500 Watts / 6 canales Paraguaipoa

2 Antenas RFS BMR-O-12 500 Watts Paraguaipoa

1 Rectificador Cargador de Baterías Intergy IMPS 520 120 Amp Paraguaipoa 24 Batería Sellada Dynasty MPS12-50 12 VDC Paraguaipoa

1 Modem Trendnet TFM560X N/A Paraguaipoa 3 Repetidora de RF Motorola Quantar Intellirepeater 100 Watts Cerro San Telmo 1 Combinador de Transmisión Andrew DB8062F 500 Watts / 6 canales Cerro San Telmo

2 Antenas RFS BMR-O-12 500 Watts Cerro San Telmo 1 Rectificador Cargador de Baterías Intergy IMPS 520 120 Amp Cerro San Telmo

24 Batería Sellada Dynasty MPS12-50 12 VDC Cerro San Telmo 1 Modem Trendnet TFM560X N/A Cerro San Telmo 5 Repetidora de RF Motorola Quantar Intellirepeater 100 Watts Cerro Azul

1 Combinador de Transmisión Andrew DB8062F 500 Watts / 6 canales Cerro Azul

2 Antenas RFS BMR-O-12 500 Watts Cerro Azul

1 Rectificador Cargador de Baterías Intergy IMPS 520 120 Amp Cerro Azul

32 Batería Sellada Dynasty MPS12-50 12 VDC Cerro Azul 1 Modem Trendnet TFM560X N/A Cerro Azul

67

Page 68: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 10. – Inventario de partes en almacenes.

Cantidad No. De Parte Descripción de parte

1 15 Piñon de Cadena 1 387 Crucetas 2 655 Disco de Clocheth 1 5123 Discos de Freno Delantero 1 5472 Discos de Freno Delantero

13 7298 Tacos de Frenos 3 12506 Buje de Tijera Izqiuerda 3 23612 Aceite de Barras 1 33262 Disco de croche 3 41885 Rueda Libre

12 51040 Filtro de Aceite 55 51348 Filtro de Aceite 1 51515 Filto de aceite wix 3 51515 Filtro de Aceite 2 54029 Discos delanteros 2 54060 Discos de Freno 6 231776 Contra peso 6 234509 Tapa polvo 4 316487 Protectores de tapas de valvulas 1 330222 Prensa disco 1 330223 Prensa discos 4 335892 Parales

28 341233 Filtros de gasolina 20 341708 Empacadura tapa valvula 2 361082 Emblema BMW pequeña 5 376004 Pomo de silicon 1 455342 Cardan 1 461852 Interruptor 1 465153 Regulador de presion 3 651457 Parales 4 765005 Mica de stop trasero

Cantidad No. De Parte Descripción de parte

4 790320 Guaya de kilometrajes 1 832400 Pomo de silicon

10 908133 Pasadores 30 1230319 Gomas de carrocerias 6 1242019 Bujes de separacion de tuberia 6 1242020 Muelles

10 1242104 Goma de posa pie 2 1244611 Kit de arranque 2 1247406 Valvulas catalizadoras 4 1340324 Estopera de piñon 5 1340724 Soporte de escape traseros

10 1340900 Tapa de cierre 7 1340903 Tapa de valvula izquierda 8 1340904 Tapa de valvula derecha 1 1341022 Capsula de temperatura 1 1341030 Pulsor de señal 1 1341231 Bomba de gasolina 5 1341232 Amortiguadores 5 1341418 Pulgas

20 1341472 Tornillo 8 MM 2 1341562 Tapa de polea

10 1341592 Manguiutos 4 1341619 Topes de goma 2 1341697 Muelle operador

20 1341707 Punta interior 20 1341786 Orrines 30 1341797 Anillos obturados grades 1 1341895 Tapa delantera del motor 2 1341978 Bombina de encendido 4 1342366 Inyectadores

10 1342394 Empacadura del carter

68

Page 69: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 10. – Continuación.

Cantidad No. De Parte Descripción de parte

2 1342641 Pipas de bujias 12 1342979 Protector de tapa bujias 30 1354619 Bombillos de halogenos 20 1370987 Fusidle de 32 volteos 30 1372033 Click de tornillo 20 1372626 Fusibles de 15 AMP 25 1386627 Fucibles 10 1386848 Fusibles de 32 voltios 2 1389105 Relay 2 1393412 Relay de 4 tapas 1 1436000 Sesor de suiche 5 1437474 Anillo octurado pequeño 1 1450230 Casquillo de Cojinete 6 1451237 Pasadores de posa pie

10 1459136 Socate de luces 20 1460165 Lochas de Motor 10 1460594 Caperusa de proteccion 32 1461475 Gomas universales 2 1464985 Termostato 2 1465286 Protector de tapa de agua 4 1703993 Interruptor termico 5 1707705 Ty rap 3 1720201 Soporte de Tuberia de Gasolina 1 1739365 Carbonera regulador 1 1739510 Sensor de temperatura 1 2305735 Suiche de freno 1 2306020 Alternador 2 2306050 Mica de stop trasero

40 2306150 Bombillo de cruce 5 2306327 Porta mangas 1 2306624 Flotador de tanque

Cantidad No. De Parte Descripción de parte

2 2306979 Intermitentes 11 2310401 Gomas de posa pie 10 2310404 Posa pie 2 2310575 Click 6 2310871 Base protectora de suiche 6 2310872 Pieza distanciadora derecha 1 2311409 Acticulacion eferica 1 2311670 Resorte de freno trasero 8 2311988 Retendor de eje 6 2312712 Tapones de chasis 4 2312836 Estoperas grandes 4 2312837 Anillos de Retencion

10 2312838 Estopera de barra 11 2313229 Llaves virgenes 5 2313284 Cerradura con llaves 4 2313544 Tornillo de suiches 2 2313716 Cruce delantero izquierdo completo 2 2313783 Swuiche

10 2313823 Tornillos de cilindros 10 2314017 Pulga de frenos 10 2314301 Topones de chasis 30 2325999 Tornillos de cabeza 5 2330145 Tornillo de cierre

10 2330310 Tornillo de ventilacion 1 2330391 T delantero 1 2331278 Disco trasero 1 2331289 Sensor trasero

24 2332469 Tornillos l 5MM 2 2332604 Anillo obturado 4 2332844 Estoperas 4 2332885 Retendedor de eje

69

Page 70: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 10. – Continuación.

Cantidad No. De Parte Descripción de parte

1 2333397 Juegos de tapas discos 1 2333485 Sensor de abs 1 2335061 Bomba de lapis 4 2335322 Base de resortes 1 2337268 Cilindro de cierre 8 2337268 Cerraduras 2 2337268 Juegos de cilindros 6 2337269 Cilindro de cierre 2 2338238 Disco traseros 4 2343022 Empacadura de cilindro 2 2343036 Rolig delantero de arranque 2 2343037 Rollin trasero 4 2343114 Tamiz de Aceite 1 2343175 Pasadores 2 2343243 Chavetas de discos 2 2343255 Chaveta de Discos 2 2343259 Estopera de eje de cambio 6 2343326 Tornillo de tapa valvula 1 2343442 Pasadores de Piston 3 2343451 Kit de bomba de agua 1 2343565 Filtro de Gasolina 1 2343576 Orrig grandes 2 2343582 Catalizador

10 2343583 Tapas protectoras de escapes izquierdo 7 2343584 Tapas protectoras de escapes

10 2343587 Aro de tapa de gasolina 64 2345232 Filtros de aire 12 2345275 Resorte de parales 10 2345383 Orrig pequeños 1 2345743 Caja de cerrojos 2 2345799 T de Barra

Cantidad No. De Parte Descripción de parte

4 2345802 Soporte de bolante 2 2345827 Anillo Obturador 1 2345853 Bomba de Freno Deelantero 1 2345868 Regulador 5 2346383 Tapas de maleteros 3 2346391 Soporte de guardaborro 1 2346396 Encadenado Delantero 1 2346397 Tablero 1 2346545 Bomba de gasolina 1 2346550 Ratificador de Corriente 1 2346552 Sensor de arranque 1 2346553 Interructor de Luz Trasera 2 2346558 Faro Delantero 1 2346566 Cochinotios de arraque

10 2346570 Bombinas de encendido 4 2346586 Balanceador 6 2346586 Conta peso 4 2346589 Cruces completos 6 2351511 Tornillo abellados 1 2352156 Puntas 1 2352170 Juego de reparacion de piston 2 2352171 Jusgo de reparacion de piston 4 2606433 Mica de cruce izquierdo

28 3225859 Filtro de gasolina 1 5260040 Tijera delantera 2 7393417 Relay 1 7554745 Puete de orquilla 2 7606335 Relay indicador de combustible 3 7650006 Anillo de ajustes 2 7650082 Palanca manipuladora 1 7650087 Placas de Soporte

70

Page 71: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 10. – Continuación.

Cantidad No. De Parte Descripción de parte

1 7650269 Base de caja de luces 1 7650281 Suiche de luces de Cambio Izquierdo 1 7650293 Base de Posa Pie Izquierdo 1 7650294 Base de Posa Pie Derecho 1 7650585 Eje trasero 2 7650685 Parales

10 7650942 Tapa de compresion 2 7650987 Protector de suiche 4 7650994 Leva de freno 2 7650999 Relay de intermitentes

10 7651036 Goma de carroceria grande 3 7651446 Protector de tapa cadenas 1 7651461 Manguera de Freno Delantero

10 7651630 Tornillo 120 7651954 Quita Ruido De Freno Trasero 1 7651954 Juegos de piezas adicionales

40 7651955 Quita Ruido De Freno Delantero 1 7652084 Anillos censor delantero 1 7652085 Anillos de Sensor 8 7652161 Tornillo de tapa lateral 2 7652560 Tapas laterale protectoras 5 7652611 Retrovisor izquierdo 5 7652612 Retrovisor derecho 1 7652671 Reja de soporte izquierdo 1 7652672 Reja de soporte derecho

15 7652847 Cargador de bateria 1 7652879 Piston 2 7652916 Anillos de seguridad 1 7652919 Palanca de Embrage 4 7652921 Puntas de tapas 1 7652932 Arrandela Distanciadora

Cantidad No. De Parte Descripción de parte

1 7652934 Protector de tapas de gasolina 4 7652940 Empacaduras de tapas delanteras 3 7652942 Pedal de cambio 4 7652944 Empacadura de compresion 4 7652946 Empacaduras de croches 1 7652980 Juego de aros 1 7652984 Juego completos de Anillos 3 7652984 Juego de lamina de forro 1 7653873 L 2 7654026 Rin Trasero 1 7654216 Suiche de Encendido

10 7654223 Tornillo de casquillo 1 7654244 Encendido

10 7654407 Tornillos Tirafon 1 7654444 Caja derecha 1 7654603 Interruptor de apllo lateral 2 7654604 Padal de cambio 1 7654609 Suisw de Arranque 7 7654616 Base de retroviso 3 7654663 Posa pie delantero izquierdo 1 7654664 Posa pie delantero

10 7654865 Abrasedera 2 7654915 Volantes 8 7654978 Caquillo de goma 4 7655284 Manguitos de gomas 5 7655396 Juego de cilindro de freno 5 7655480 Estopera 2 7655605 Protector de Moto 2 7655781 Tapones de barra delantero 1 7655838 Base del faro delantero 4 7656019 Estopera de eje de cambio

71

Page 72: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 10. – Continuación.

Cantidad No. De Parte Descripción de parte

1 7657001 Conductor de guaya de acelerador 5 7657148 Leva de freno 8 7657922 Chapa de repuesto

12 7657949 Tornillos 4mm 5 7658697 Recubrimiento 4 7658870 Manubrio de volantes 4 7659677 Guaya de acelerador pequeña 1 7660427 Bomba de frenos traseros 1 7661513 Tubo flexible de freno 2 7661648 Mirilla del nivel de aceite 2 7662056 Relay de 7 patas 1 7690380 Guaya de acelerador

50 8164924 Emblemas BMW grandes 6 8364594 Fusibles

70 9063575 Bombillos de cruces 20 9900019 Orring 20 9902167 Tornillo 6 9902186 Pasadore de Posa Pie 6 9902538 Tornillos L 5 9919143 Tapon de aceite

50 9931019 Arandela Plana 50 9931696 Arandela 4MM 5 9934319 Chapa de Sujecion

100 9936439 Arrandela Plana 5 9941417 Prisioneros 6 9945076 Pasadores 1 10289769 Camisa ( Parrilla ) 2 10448574 Soporte de Motor 3 10560031 Lotite 0 11758311 Filtro de Aceite 1 12582313 Estopera Trasera

Cantidad No. De Parte Descripción de parte

20 14606149 Puntas 1 15293665 Tijera inferior izquierda 2 22343581 Escape 7 27657147 Leva de croche 2 32313715 Cruce delantero derecho completo

66 1371134528 Filtro de aire 1 5215935040 Placa de Parachoque Trasero 1 S/N Kit Transmision Automatica 3 S/N Electroventilador 1 S/N Radiador P/ Crown Victoria 2 S/N ParachoquePlastico 2 S/N Guaya de Kilometraje 1 S/N Bendix de Motor de Arranque 4 S/N Pistones 4 S/N Bandas de Frenos 2 S/N Puerta Delantera Derecha

31 L24651 Filtro de Aceite de Motor 13 FA1032 Filtro de Aire 3 FG-986B Filtro de Gasolina 1 01-46100W Kit de Caja Hidromatica 1 04111-11026 Juego de Empacadura 1 04445-60070 Juego de Empacadura de Engranaje 2 10-82230 Filtro de Aceite de Motor 1 12372-15171 Soporte de Caja 1 15830A Kit de Carburador 1 16361 - 66020 Taraba 1 16470-15081 Tanque Recuperador de Agua de Radiador2 16533-15120 Soporte de Radiador 1 17700 - 62100 Envase Purificador de Aire C/ Filtro 1 1LZZ-6L266-AA Tensor 6 1W1Z-14B006-AA Sensor de Air Bag

72

Page 73: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 10. – Continuación.

Cantidad No. De Parte Descripción de parte

4 1W7Z14B321-AC Sensor Principal de Air Bag 2 1W7Z5440A26-AA Tapa Externa de Tanque 3 1W7Z-8260-AA Manguera 2 1W7Z-8286-BA Manguera 6 20-59629 Espejo de Retrovisor 1 20-86831 Espejo de Retrovisor Derecho 1 20-86832 Espejo Retrovisor Izquierdo

13 24x175 Tripas 3 2W7Z3A131-AA Terminales Largo

24 2W7Z3A139-AA Terminales Corto 1 44305-22040 Tapa de Reserva de Aceite de la Bomba 1 45-000EREH Kit de Caja Hidromatica 4 48061-35050 Bujes de tijerea inferior Derecho

15 48815-35100 Bujes de Barra Estabilizadora 1 4FU-W0045-00 Tacos de Freno Delantero Yamaha 5 4PK1090 Corres de Direccion 1 4W7Z-13008B Faro Delantero Derecho 1 4W7Z-19805-AA Motor Soplador 4 52075-12030 Retenedor Amortiguador de Choque Posterior 3 52076-12030 Retenedor Amortiguador de Choque 1 52115-12340 Soporte Amortiguador de Choque 2 52116-12270 Soporte Amortiguador de Choque 3 52156-12200 Soporte de Parachoque Trasero Izquierdo

10 52185-12130 Bracket 1 52553-12030 Rellenador Amortiguador de Choque Posterior 1 53111-35400 Parrilla 1 53202-35100 Soporte de Radiador 2 53215-12200 Soporte de Cirre de Capota 2 60-100/DG-508 Bobinas de Encendido 2 69901-12190 Rieles 2 6PK-2325 Correa Motor

Cantidad No. De Parte Descripción de parte

4 6PK-2540 Correa de Motor 8 7499C9E Bujias de Moto Yamaha Secca 1 75085-35020 Moldura de guardafango delantero derecho 1 75441-12650 Carracteristica de Puerta 1 78180-10470 Cojunto de Cable de Control de Acelerador 4 7822BPR6ES Bujias 1 81130-10810 Faro Delantero Derecho usado 1 81150-1A552 Conjunto de Faro Delantero Izquierdo 2 81481 - 12040 Sello Lateral Amortiguador Choque 2 81621-35340 Mica de Cruce Delantera Izquierda 1 85211 - 10091 Conjuntos de Brazo Limpiaparabrisa Derecho1 85220 - 12671 Cepillos Limpiaparabrisa 1 85221 - 10091 Brazo Limpiaparabrisa Izq 2 90080-91090-83 Correas de alternador 1 90311 - 38047 Sello Aceite ( Portadiferencial) 1 90-62287 Tacos de Freno Delantero Yamaha 4 90916-04902 Soporte de Radiador 2 91-62234 Tacos de Freno Delantero Yamaha 1 92PV-978-AA Insteructor 1 97JZ-17757-6A Valvula BY PASS 1 97JZ-9P04-A6 Manguera de Vacio 8 A1 Filtro De aceite partmo 4 A263GF Alternador de Crown 3 A52155-12210 Soporte Lateral 1 DC-354 Distribuidor 1 DD08626 Vidro de Puerta Delantera Derecha 2 DD08627 Vidrio de Puerta Delantera Izquierda 1 DD08-73326TYVVX Vidrio de Puerta Delantera Derecha 4 DD09292 Vidrio de Puerta Trasera Izquierdo 1 DD87-336TYVVX Vidrio de Puerta Delantero Izquierdo 1 E8TZ-4676-C Estopera piñon de ataque

73

Page 74: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 10. – Continuación.

Cantidad No. De Parte Descripción de parte

1 E9SZ-9278-A Swich de Puerta 2 ES3302RL Terminales Externos 4 F1TZ-1341-1F Socate de Dos Contactos 4 F2MY5424701-A Chapa Externa de Puerta Trasera derecha 3 F2MY54247-A Chapa Externa de Puerta Trasera Izquierda 1 F4MY-5426870-A Vidrio Lateral Puerta Trasera Derecha 1 F4MY-5426871-A Vidrio Lateral Puerta Trasera Izquierda 1 F57A-FBA19F2 Fan Cluch 2 F57Z-7827008-AC Mecanismo de Puerta Trasera Derecha 2 F57Z-7827009-AC Mecanismo de Puerta Trasera Izquierda 2 F57Z-7829038-AAB Platina de Guardafango Derecho 1 F57Z-7829039-AAB Platina de Guardafango Izquierdo 1 F5AZ-3105-A Acople de Direccion Izquierdo 2 F5AZ-3106-A Acople de Direccion Derecho 9 F5AZ-5421818-C Manillas Interna de Puerta Derecha. 5 F5AZ5421819-C Manillas Interna de Puerta Izquierda 4 F5TZ-17626-AAD Babero de Parachoque Delantero Inferior 2 F600 Reguladores de Voltaje 1 F60Z-VARMI Carcaza de Alternador 1 F67Z-7823208-AA Mecanismo Puerta Derecha 2 F67Z-7823209-AA Mecanismo Puerta Izquierda

15 F6AZ-6840-AA Empacadura Base de filtro 2 F6AZ-7A098-A Filtro de Aceite de Caja 1 F6DY-10316-A Regulador de Voltaje 1 F6DZ-6A666-D Valvula PCV 3 F6MZ-5425597-AAA Cepillo de vidrio de puerta 1 F77Z - 6051-AF Empacadura de Camara 2 F77Z-4A489-AA Amortiguadores del Diferencial 1 F77Z-6268-BC Cadena de Tiempo 8 F77Z-6571-AB Gomas de Valvulas 1 F77Z-6B209-AA Tensor de Correa

Cantidad No. De Parte Descripción de parte

1 F77Z-6K397-BC Gia Tensora 1 F77Z-6M264-BA Pinon de Cigueñal Grande 2 F77Z-7821818 Manilla interna derecha 1 F77Z-7821819 Manilla Interna Izquierda 1 F77Z-7825596-AAA Cepillo de vidrio de puerta trasera derecha 1 F77Z-7825597-AAA Cepillo de vidrio de puerta trasera izquierda2 F77Z-8600-DB Taraba de Motor 4 F7AZ-7F251-AA Sensor de Caja 1 F7TZ-8594-A Toma de Agua 4 F7Z-3069-AA Buje de Meseta 2 F85Z-3A674-ABRM Bomba de Direccion Hidraulica 1 F87Z-14529-CA Swich 1 F87Z-16005-EA Guardafango Delantero Derecho 2 F87Z-16006-EA Guardafango Delantero Izquierdo 1 F87Z-17757-GA Parachoque Delantero 3 F87Z-2005-AA Hidrobak 6 F87Z-7822404-BAL Manilla Externa De Puerta 2 F87Z-784214-AA Gancho de ventana trasera 1 F87Z-8190-CA Frontal 3 F87Z-8200-NAD Camisa 2 F887Z-8286-HA Manguera de radiador 4 F8AZ16A602-AA Refuerzo de Bisagra 3 F8AZ-1754-AA Base de Barra de Inpacto Derecha 4 F8AZ-17755-AA Base de Barra de Inpacto Izquierdo 4 f8az-17906 Biga de Parachoque Delantero 2 F8AZ-17A385-AA Porta Placa Delantero 6 F8AZ-17D995-AA Soporte Izq. Lateral de Parachoque

10 F8AZ-17D995-AB Soporte Der. Lateral de Parachoque 10 F8AZ-3590-AA Brazo Pigman 5 F8AZ-5420878-BAA Platina Media Puerta derecha izquierda 3 F8AZ-5424630-AA Puerta Trasera Derecha

74

Page 75: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 10. – Continuación.

Cantidad No. De Parte Descripción de parte

2 F8AZ-5424631-AA Puerta Trasera Izquierda 6 F8AZ-5425556-BAA Platina Media Puerta trasera izquierda 1 F8AZ-5427886-AA Guardafango Interno Trasero Derecho 1 F8AZ-5427887-AA Guardafango Interno Trasero Izquierdo 7 F8AZ-5K484-AA Brazos Secundarios de Barra Estab. 5 F8AZ-8326-AA Plasticos 0 F8AZ-8A080-AB Tanque Recuperador de Agua 4 F8VZ-16E128-AA Brazo Soporte Guardafango Izquierdo

17 F8VZ-17787-AA Base de Barra de Inpacto Izquierdo 19 F8VZ-17788-AA Base de Barra de Inpacto Derecha 1 F8Z7-2B373 Vavula del ABS 7 F91032 Filtro de Aire

11 FCZC-1190-AA Estopera de Disco de Freno Delantero 9 FJ-1040-SM Pastillas de Frenos Traseros R-1150 9 FJ-1070-M Pastillas de Frenos Traseros F 650 GS

10 FJ-1480M Pastillas de Frenos Delanteros F 650GS 1 FL-820S Filtro de Aceite 1 FL-A1 Filtro de Aceite 5 K060910 Correas de Motor 8 K-8259 Muñon de Tijera Inferior

12 K8704 Bujes Superiores 14 K8705 Bujes de Tijera Inferior 31 L10111 Filtros de Aceite Puroleitor 1 L30001 Filtro de aceite 2 LK2604 Pastillas de Freno Trasero 2 LK4004 Pastillas de Freno Delantero

11 MK 6479 Filtro de Aire Millan 13 MK-2676 Filtro de Aire Millard 2 P06017B Amortiguadores Delanteros

14 PDG508M Tacos de Freno Traseros 10 PDG699M Tacos de Freno Delantero

Cantidad No. De Parte Descripción de parte

1 PGD652M Tacos Para Frenos Delanteros 6 PGD674A Tacos de Freno Trasero

18 PGD-748M Tacos de Freno Delantero 36 PL3387 Filtro de Aceite 12 PL-372 Filtro de Aceite 1 RF10FR602 Diodera de Alternador 9 RT-1178 Termostato

20 S/N Orrig de cilindros 2 S/N Rines traseros 2 S/N Rines delanteros 1 S/N Tubo de escape 2 S/N Bateria, para RT 1150 4 S/N Barras Delantera 4 S/N Guaya de Acelerador 1 S/N Extension de Guardabarro Delantero 7 S/N Parabrisas Delantero de Color Gris 4 S/N Empadura 1 S/N Base de Cruces 5 S/N Protector de guardabarro trasero 6 S/N Cojinetes 8 S/N Baterias 3 S/N Filtro de Aire de Chevrolet 1 S/N Brazo de Anclaje de Chevrolet 1 S/S Terminal de Direccion

12 WIX-51372 Filtro de Aceite 1 WR-5784 Cable de Bujia 8 XL2Z-6M273-AA Patin de Cadena 1 XL3Z-7G383-AB Selenoide 7 XW7Z13008-AB Faro Delantero Izquierdo 1 XW7Z-15A201-AB Micas de Cruce 4 XW7Z-18125-BB Amortiguadores Traseros

75

Page 76: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

76

Tabla 10. – Continuación.

Cantidad No. De Parte Descripción de parte

1 XW7Z-216700-AA Cerradura de Capota 3 XW7Z-5422404-AAA Manillas externas 1 XW7Z-5422405-AAA Manillas Internas 3 XW7Z-5426604-AA Manilla Externa De Puerta delantera izquierda 3 XW7Z-5426605-AA Manilla Externa de puerta delantera derecha 2 XW7Z-9439-AA Empacadura de Camarin(maniford) 1 YW7Z-13405-AA Stop Trasero Derecho 1 YW7Z-13405-AA Stop Trasero Izquierdo 1 YW7Z-5420125-AA Puerta Delantera Izquierda 3 YW7Z5420200-AA Chapa Externa de Puerta Delantera Derecha 1 YW7Z5420201-BA Chapa Externa de Puerta Delantera Izquierda 2 YW7Z-8327-AA Plastico protector de radiador 4 S/N Brazo Soporte Guardafango Derecho 7 S/N Vidrio de Puerta Trasera Derecha 1 S/N Maleta de Crown 2 S/N Terminales Externo 1 S/N Disco de Freno rin 16 1 S/N Estopera de Piñon de Ataque 1 S/N Relleno de Parachoque Delantero 1 S/N Parachoque Delantero 1 S/N Plastico Superior de Parachoque 1 S/N Muñones Inferior derecho 1 S/N Muñon superior izquierdo 2 S/N Amortiguador Izquierdo 2 S/N Cruces Completo

Page 77: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

77

4.2.2. - Código para locaciones o ubicaciones

Para la identificación de los diferentes sitios, ubicaciones y locaciones que utiliza el

sistema para registrar los lugares de establecimiento de equipos, ubicación de oficinas y sitios

donde se encuentran asignados vehículos automotores se seleccionó un código de siete

caracteres alfanuméricos.

Formato del código: XXYYZZZ , donde

XX = Ubicación de Edificación.

YY = Área de trabajo.

ZZZ = Oficina o ubicación específica.

4.2.3. - Código para categorías de equipos

Para la identificación de las categorías de equipos se seleccionó un código de 6 cifras

numéricas:

Formato del código: XXX - YYY, donde

XXX = Categoría principal de equipo.

YYY = Subcategoría.

4.2.4. - Código para departamentos

Para la identificación de los diferentes departamentos de las instituciones policiales se

seleccionó un código de tres cifras numéricas

Formato del código: XXX, donde

XXX = Número de departamento.

4.2.5. - Código para estatus de equipos

El estatus de equipo es una variable que indica en qué condición se encuentra el equipo o

activo de una institución policial. El código asignado es un número de una cifra ya que existen

menos de diez estados en los que puede estar un equipo en el sistema.

Page 78: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

78

Formato del código: X, donde

X = Número (indica el estatus).

Se diseñó el informe final de la codificación propuesta indicando los campos de

datos importantes para las instituciones policiales y que a su vez serán

contemplados en el sistema automatizado. A continuación se detallan los códigos

establecidos.

Códigos para equipos y maquinarias:

XXX = Institución

ZZZ = Número de Equipo

Formato: XXXYYYZZZ YYY = Región

Policía Regional 059

Policía Municipal de Maracaibo 058

Policía Municipal de San Franscisco 060

Municipio Almirante Padilla 001

Municipio Baralt 002

Municipio Cabimas 003

Municipio Catatumbo 004

Municipio Colón 005

Municipio Francisco Javier Pulgar 006

Municipio Jesús Enrique Losada 007

Municipio Jesús María Semprún 008

Municipio La Cañada de Urdaneta 009

Municipio Lagunillas 010

Municipio Machiques de Perijá 011

Municipio Mara 012

Municipio Maracaibo 013

Municipio Miranda 014

Municipio Páez 015

Municipio Rosario de Perijá 016

Municipio San Francisco 017

Municipio Santa Rita 018

Municipio Simón Bolívar 019

Municipio Sucre 020

Municipio Valmore Rodríguez 021

Desde 001 hasta 999

Numeración de Equipos y Maquinarias

Page 79: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

79

Códigos para Locaciones o Ubicaciones:

XX = Edificación

YY = Area de Trabajo

ZZ = Ubicación específica

Formato: XXYYZZ

Sede Central Policía Municipal de Maracaibo 01

Sede Este Policía Municipal de Maracaibo 02

Sede Oeste Policía Municipal de Maracaibo 03

Comandancia General Policía Regional 04

Sede DIP de Policía Regional 05

DP Almirante Padilla 06

DP Baralt 07

DP Cabimas 08

DP Catatumbo 09

DP Colón 10

DP Francisco Javier Pulgar 11

DP Jesús Enrique Losada 12

DP Jesús María Semprún 13

DP La Cañada de Urdaneta 14

DP Lagunillas 15

DP Machiques de Perijá 16

DP Mara 17

DP Maracaibo 18

DP Miranda 19

DP Páez 20

DP Rosario de Perijá 21

DP San Francisco 22

DP Santa Rita 23

DP Simón Bolívar 24

DP Sucre 25

DP Valmore Rodríguez 26

Comando Principal Policía Mun. San Francisco 27

Estacionamiento Policía Mun.de San Francisco 28

Administración AD

Informática IN

Comunicaciones CO

Operaciones OP

Servicios Generales SG

Taller TA

Traslado TR

Ubicación específica dentro de cada edificación desde 01 hasta 99

Page 80: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

80

Códigos para Categoría de equipos y maquinarias.

XXX= Categoría principal

YYY = Subcategoría

Formato: XXX-YYY

Aire Acondicionado Split 100 - 001

Aire Acondicionado Compacto 100 - 002

Aire Acondicionado de Ventana 100 - 003

Vehículo normal sedan 200 - 001

Vehículo rústico 200 - 002

Vehículo de Transporte 200 - 003

Códigos para Estatus de equipos y maquinarias.

X = Número de Estatus

Formato: X

Activo 1 Inactivo 2 Desincorporado 3

Extraviado 4

En Almacen 5

Códigos para Departamentos

XXX = Número Departamento

Formato: XXX

Administración 001 Operaciones 002 Comunicaciones 003

Informatica 004

Servicios Generales 005 Taller 006

Deposito 007

Page 81: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

4.3. Evaluación de programa de mantenimiento existente

4.3.1. Programas de mantenimiento existentes

Se realizaron reuniones con el personal encargado de las labores de mantenimiento de

las instituciones policiales para conocer si existen programas de mantenimiento en cada una de

ellas y de existir programas de mantenimiento obtener la información de las actividades que

comprenden éstos. Se muestra a continuación un resúmen de los datos obtenidos sobre los

programas de mantenimiento de las instituciones policiales:

Programa de Mantenimiento para Vehículo Impala:

KMS TIEMPO COMPONENTE TIPO MANT. DESCRIPCIÓN DEL MANTENIMIENTO

5.000 1ER CAMBIO PREVENTIVO CAMBIO DE ACEITE DEL MOTOR

12.500 2do CAMBIO PREVENTIVO CAMBIO DE ACEITE DEL MOTOR

PREVENTIVO CAMBIO DE ACEITE DEL MOTOR 12.500

CORRECTIVO REEMPLACE FILTRO DE ACEITE DEL MOTOR

25.000 PREVENTIVO INSPECCIONAR EL FILTRO DE AIRE

166.000 PREVENTIVO INSPECCIÓN Y REEMPLAZO DE BUJÍAS

PREVENTIVO CHEQUEAR SISTEMA DE ENFRIAMIENTO 5 AÑOS

MOTOR

PREVENTIVO CAMBIO DE REFRIGERANTE

CORRECTIVO

CAMBIO DE ACEITE DE LA TRANSMISIÓN AUTOMÁTICA

83.000

TRANSMISIÓN

CORRECTIVO REEMPLAZO DEL FILTRO DE LA TRANSMISIÓN AUTOMÁTICA

5.000 1ERA ROTACION PREVENTIVO ROTACIÓN DE NEUMÁTICOS

12.500 2DA ROTACION PREVENTIVO ROTACIÓN DE NEUMÁTICOS

PREVENTIVO REVISAR CILINDROS DE PUERTA ANUAL

PREVENTIVO LUBRICACIÓN EN LAS PUERTAS

PREVENTIVO REVISAR LIMPIAPARABRISA

PREVENTIVO CHEQUEO AUTOMÁTICO DE EJES

PREVENTIVO INSPECCION SENSOR DE LIBERACIÓN DE MALETA PORTA EQUIPAJE

SEMESTRAL

CARROCERÍA

PREVENTIVO REVISAR CINTURONES DE SEGURIDAD

81

Page 82: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Programa de mantenimiento para vehículo Crown Victoria

KMS TIEMPO COMPONENTE TIPO MANT. DESCRIPCIÓN DEL MANTENIMIENTO DIARIO PREVENTIVO NIVEL DE ACEITE

1 MES PREVENTIVO NIVEL DEL REFRIGERANTE DEL MOTOR

3 MESES PREVENTIVO SEÑALES DE FUGA DE REFRIGERANTE EN EL RADIADOR Y OTROS

5.000

CORRECTIVO REEMPLACE EL FILTRO DE AIRE

CORRECTIVO CAMBIAR ACEITE DEL MOTOR

PREVENTIVO INSPECCIONE EL SISTEMA DE ENFRIAMIENTO Y MANGUERAS

8.000

CORRECTIVO REEMPLAZAR FILTRO DE ACEITE

25.000 CORRECTIVO REEMPLACE EL FILTRO DE COMBUSTIBLE

75.000 CORRECTIVO CAMBIE EL REFRIGERANTE DEL MOTOR

CORRECTIVO REEMPLACE LAS BUJÍA 100.000

MOTOR

CORRECTIVO REEMPLACE FILTRO DE AIRE

PREVENTIVO NIVEL DEL FLUIDO DE LOS FRENOS 3 MESES

CORRECTIVO TACOS DELANTEROS DE LOS FRENOS 5.000

PREVENTIVO FRENO DE ESTACIONAMIENTO

PREVENTIVO INSPECCIONE EL SISTEMA: DISCOS, TACOS, BANDAS, LÍNEAS, MANGUERAS Y FRENO DE MANO 6 MESES

FRENOS

PREVENTIVO INSPECCIONE LOS TACOS TRASEROS DE LOS FRENOS

8.000

3 MESES PREVENTIVO INSPECCIONAR NIVEL DEL FLUIDO DE LA DIRECCIÓN HIDRÁULICA

5.000

8.000 DIRECCIÓN

PREVENTIVO INSPECCIONE EL SISTEMA DE DIRECCIÓN

160.000 EJE CORRECTIVO REEMPLACE LUBRICANTE EN EL EJE TRASERO CADA VEZ QUE EL EJE SE SUMERJA EN AGUA

SUSPENSIÓN PREVENTIVO INSPECCIONE EL SISTEMA DE SUSPENSIÓN 8.000

1 MES PREVENTIVO REVISIÓN DEL FLUIDO DE LA TRANSMISIÓN AUTOMÁTICA

5.000

8.000 PREVENTIVO INSPECCIONE EL NIVEL DEL FLUÍDO DE LA TRANSMISIÓN AUTOMÁTICA

25.000 CORRECTIVO CAMBIE EL FLUÍDO DE LA TRANSMISIÓN AUTOMÁTICA.

CORRECTIVO REEMPLACE GRASA EN LOS SELLOS Y AJUSTE LAS ROLINERAS

50.000 CORRECTIVO

CAMBIE EL FLUIDO DE LA TRANSMISIÓN AUTOMÁTICA

100.000

TRANSMISIÓN

CORRECTIVO CAMBIE EL FLUIDO DE LA CAJA

8.000 TREN

DELANTERO CORRECTIVO LUBRICAR CON GRASA ZERK

5.000 3 MESES PREVENTIVO CABLES, BORNES Y CONEXIONES DE LA BATERÍA 8.000

SISTEMA ELÉCTRICO PREVENTIVO CHEQUEE NIVEL DE ELECTROLITO

PREVENTIVO FLUIDO LIMPIAPARABRISA

PREVENTIVO DESGASTE Y/O PRESIÓN DE CAUCHOS 5000 DIARIO

PREVENTIVO FUNCIONES DE LAS LUCES INTERIORES Y EXTERIORES

8.000 PREVENTIVO ROTAR LOS CAUCHOS

25.000

CARROCERÍA

PREVENTIVO INSPECCIONE EL SISTEMA DE ESCAPE

20.000 AIRE ACONDIC. CORRECTIVO VERIFICAR GAS REFRIGERANTE DEL AIRE ACOND./ EVAPORADOR

82

Page 83: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Programa de mantenimiento para vehículo Rústico (Tipo camioneta):

Pro

KMS  TIEMPO  COMPONENTE  TIPO MANT.  DESCRIPCIÓN DEL MANTENIMIENTO 

PREVENTIVO REEMPLACE ACEITE DEL MOTOR 10.000  12 MESES 

CORRECTIVO REEMPLACE FILTRO DE ACEITE DEL MOTOR 

24 MESES  PREVENTIVO REEMPLACE REFRIGERANTE DEL MOTOR 40.000 

48 MESES  PREVENTIVO REEMPLACE BUJÍAS 

MOTOR 

CORRECTIVO REEMPLACE CORREA DE DISTRIBUCIÓN 150.000 

12 MESES  PREVENTIVOINSPECCIONE ACEITE DE ENGRANAJES DEL 

DIFERENCIAL 40.000 

48 MESES 

DIFERENCIAL 

PREVENTIVOREEMPLACE ACEITE DE ENGRANAJES DEL 

DIFERENCIAL 80.000 

12 MESES  DIRECCIÓN  PREVENTIVOINSPECCIONE VOLANTE DE DIR., VARILLAJE Y 

ACEITE DE CAJA ENGRANAJES DE LA DIRECCIÓN 20.000 

10.000  6 MESES  SERVODIRECCIÓN PREVENTIVO INSPECCIONAR LÍQUIDO DE LA SERVODIRECCIÓN 

12 MESES  PREVENTIVOINSPECCIONE TAPA DEL DEPÓSITO DE 

COMBUSTIBLE, LÍNEAS DE COMBUSTIBLE Y 

CONEXIONES 

20.000 

SISTEMA DE 

COMBUSTIBLE 

CORRECTIVO REEMPLAZAR FILTRO DE COMBUSTIBLE 80.000 

5.000  3 MESES  PREVENTIVO INSPECCIONAR PASTILLAS Y DISCOS DE LOS FRENOS

PREVENTIVOINSPECCIONAR PEDAL DE FRENO Y FRENO DE 

MANO 10.000  6 MESES 

PREVENTIVO INSPECCIONE LÍQUIDO DE FRENOS 

PREVENTIVOINSPECCIONAR FORROS Y TAMBORES DE LOS 

FRENOS 20.000  12 MESES 

PREVENTIVOINSPECCIONE TUBOS Y MANGUERAS DE LAS LÍNEAS 

DEL FRENO 

24 MESES 

SISTEMA DE 

FRENOS 

CORRECTIVO REEMPLACE LÍQUIDO DE LOS FRENOS 40.000 

12 MESES  SUSPENSIÓN  PREVENTIVOINSPECCIONE SUSPENSIONES DELANTERAS Y 

TRASERAS 20.000 

20.000  24 MESES  PREVENTIVO  INSPECCIONAR CORREA DE LA TRANSMISIÓN 

24 MESES  PREVENTIVOINSPECCIONE LÍQUIDO TRANSMISIÓN 

AUTOMÁTICA Y ACEITE DE LA TRANSFERENCIA 40.000 

48 MESES 

TRANSMISIÓN 

CORRECTIVOREEMPLACE LÍQUIDO TRANSMISIÓN AUTOMÁTICA 

Y ACEITE DE LA TRANSFERENCIA 80.000 

6 MESES TREN 

DELANTERO PREVENTIVO

JUNTAS DE BOLA Y CUBIERTAS CONTRA EL POLVO, 

MUÑONES 10.000 

12 MESES SISTEMA 

ELÉCTRICO PREVENTIVO INSPECCIONE BATERÍA Y BORNES 10.000 

PREVENTIVOINSPECCIONAR DESGASTE EN NEUMÁTICOS, 

PRESIÓN Y ROTAR CAUCHOS 10.000  6 MESES 

PREVENTIVOINSPECCIONAR LUCES, BOCINAS, LIMPIADORES Y 

LAVADORES 

12 MESES 

CARROCERÍA

PREVENTIVO INSPECCIONE TUBOS DE ESCAPE Y MONTURAS 20.000 

20.000  12 MESES  AIRE ACOND.  PREVENTIVO INSPECCIONAR EL GAS REFRIGERANTE  

83

Page 84: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Programa de mantenimiento para aires acondicionados:

TIEMPO COMPONENTE TIPO MANT. DESCRIPCIÓN DE MANTENIMIENTO

EVAPORADOR

CONDENSADOR PREVENTIVO LAVADO

INSPECCIÓN DE CORREAS MOTOR PREVENTIVO

ENGRASE

COMPRESOR MEDICIÓN DE PRESIÓN DE GAS

2 MESES

SISTEMA ELECTRICO PREVENTIVO

INSPECCIÓN DE CABLES Y CONEXIONES

1 AÑO CAMBIO DE CORREA

18 MESES MOTOR CORRECTIVO

CAMBO DE RODAMIENTO

De la evaluación de estos programas de mantenimiento encontrados en las instituciones

policiales se pueden concluir los siguientes aspectos generales importantes:

Existen actividades de mantenimiento vehicular que se ejecutan en base a la

medición de un kilometraje determinado o una fecha determinada, lo que representa

un error ya que las actividades de mantenimiento que se rígen por la medición de

kilometraje no pueden ser ejecutadas en base a la variable tiempo ya que esta

variable no da información acerca del uso del vehículo.

No existen formatos mediante los cuales el mantenimiento ejecutado a los equipos o

maquinarias se registre, de manera de formar un historial de mantenimiento, sino

que se llena un formato donde, en el caso de los vehículos, se coloca el kilometraje o

fecha de ejecución del próximo mantenimiento y cuando éste es ejecutado se llena

un nuevo formato y se desecha el anterior. En el caso de los equipos de aire

acondicionado y equipos de telecomunicaciones no existen formatos.

Los equipos de aire acondicionado son considerados todos del mismo tipo lo cual es

una imprecisión ya que existen varios tipos de éstos y sus lugares y condiciones de

uso son diferentes.

No existe un conocimiento claro y definido de lo que es mantenimiento preventivo y

un mantenimiento correctivo. Algunas actividades son consideradas como

mantenimiento correctivo erróneamente ya que éstas no son producto de una falla.

84

Page 85: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

85

No se tiene ningún programa de mantenimiento para los equipos de

telecomunicaciones que, a pesar de que son considerados equipos críticos y que

bajo una condición de falla puede detener las operaciones de los organismos

policiales, no se tiene personal de mantenimiento para estos equipos.

No se llevan índices de control que permitan medir, desde varios puntos de vista, la

efectividad de la gestión del mantenimiento.

Partiendo de estos puntos, mencionados anteriormente, se planteó la necesidad de

corregir y mejorar los programas de mantenimiento existentes en las instituciones policiales y

determinar que parámetros fueron tomados en cuenta en los programas de mantenimiento

actuales y que parámetros adicionales deben ser incluidos. En el siguiente punto se tratan los

parámetros de los programas de mantenimiento encontrados.

4.3.2. Parámetros de los programas de mantenimiento existentes

En las instituciones policiales, donde se desarrolló esta investigación, que tenían estos

programas de mantenimiento, se encontró que el personal encargado de la planificación de

estas actividades no tenían ningun tipo de estudios especializados en mantenimiento lo que

confirma que para la elaboración de los programas se tomó en cuenta sólo la experiencia del

personal técnico que ejecuta las labores. No fué consultado ningun tipo de literatura como

manuales de mantenimiento o recomendaciones de los fabricantes. En uno de los organismos

policiales se encontró que los mantenimientos de los equipos de aire acondicionado eran

ejecutados por una empresa especialista subcontratada. Posteriormente, para reducir costos,

no fué renovado su contrato de mantenimiento y como consecuencia, aumentaron las fallas en

este tipo de equipos producto de un mantenimiento deficiente. Se puede concluir entonces, que

los programas de mantenimento encontrados en estas instituciones fueron elaborados

empíricamente.

Dada esta situación, común en las instituciones policiales, se elaborará, en el siguiente

punto, nuevos programas de mantenimiento en los que se tomará en cuenta no solamente la

experiencia del personal técnico, que es un variable válida, sino también las recomendaciones

de los fabricantes, documentación de mantenimiento, seguridad, régimen de uso y prácticas

orientadas a conseguir características del mantenimiento clase mundial.

Page 86: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

4.4. programa de mantenimiento preventivo para equipos y maquinarias basados en

historiales, recomendaciones del fabricante y siguiendo los lineamientos caracteristicos

del mantenimiento clase mundial

4.4.1. Investigación documental

Se realizó una investigación documental para conocer cuales son las recomendaciones

de los fabricantes de los equipos y maquinarias referentes al mantenimiento de los mismos asi

como también las características y conceptos que se manejan en el mantenimiento clase

mundial. Se consultaron las empresas consecionarias de vehículos y se obtuvo alguna

información sobre el mantenimiento recomendado por los fabricantes. En el caso de los equipos

de aire acondicionado se obtuvo información de las empresas representantes de los fabricantes

y de documentación técnica general sobre este tipo de equipos. En cuanto a la filosofía del

mantenimiento clase mundial a continuación se describen los aspectos más importantes de esta

metodología.

El mantenimiento clase mundial es el conjunto de las mejores prácticas operacionales y

de mantenimiento que reune elementos de distintos enfoques organizacionales los cuales

aplicados en forma coherente optimizan las operaciones de una empresa incluyendo la

administración del mantenimiento. Estas prácticas buscan el mejoramiento contínuo en las

operaciones de mantenimiento lo que implica mejoramiento en las actividades y en las

tecnologías de mantenimiento.; en otras palabras, la empresa debe estar actualizada en cuanto

a las estratégias y en la tecnología nueva en materia de mantenimiento. Reune características

de varios enfoques de mantenimiento como el mantenimiento basado en confiabilidad,

mantenimiento productivo total y la filosofía japonesa kaisen. Los principales objetivos

generales del mantenimiento mundial son los siguientes:

Lograr excelencia en los procesos de mantenimiento.

Obtener calidad y rentabilidad de los productos.

Motivar y satisfacer las necesidades del personal y de los clientes.

Lograr las metas de mantenimiento.

Maximizar disponibilidad y confiabilidad.

Maximizar la seguridad personal.

Maximizar la protección ambiental.

Mejorar la flexibilidad en la producción.

Disminuir los costos de producción

86

Page 87: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Mejorar la seguridad y el impacto al medio ambiente en el sistema.

Aumentar la conservación y transferencia de conocimientos.

4.4.2. – Objetivos del mantenimiento clase mundial a considerar

En las instituciones policiales se puede perseguir el logro de los objetivos generales del

mantenimiento clase mundial, exceptuando los que se refieren a la producción, en el sentido

estricto de la palabra, ya que los organismos policiales no son empresas que generan

productos, pero si se toma en cuenta que la función principal de los mismos es el servicio hacia

la comunidad se puede considerar el servicio como el producto final de estas instituciones. De

esta forma se pueden establecer los objetivos basados en el mantenimiento clase mundial que

serán considerados para la elaboración de los programas de mantenimiento preventivo:

Optimizar los procesos de mantenimiento, incluyendo actividades, inventario,

tiempos de ejecución, requisiciones, control, seguridad y calidad.

Lograr las metas del mantenimiento.

Motivar y satisfacer las necesidades del personal.

Maximizar la disponibilidad y confiabilidad de los equipos y maquinarias.

Maximizar la seguridad personal.

Maximizar la protección ambiental.

Disminuir los costos de mantenimiento.

Entrenamiento continuo y actualizado del personal.

Uso fundamental de la tecnología de la información como integrador de los

procesos.

4.4.3. – Elaboración del Programa de Mantenimiento

A objeto de tomar en cuenta los objetivos propuestos para la elaboración del programa de

mantenimiento para los equipos y maquinarias de las instituciones policiales, se precisaron

algunas actividades generales que se deben cumplir para todas las labores de mantenimiento

específicas para cada tipo de equipo o maquinaria. Estas actividades generales tienen que ver

con la seguridad del personal, limpieza y procedimientos a seguir y las mismas se describen a

continuación:

Limpieza del lugar de trabajo.

Verificar condiciones seguras de trabajo.

87

Page 88: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

88

Utilizar equipo de protección personal adecuado a las actividades a ejecutar.

Obtener los formatos a llenar para el tipo de labor a realizar.

Solicitar los suministros que se utilizarán durante las actividades de mantenimiento.

Notificar al supervisor el inicio de las actividades.

Utilizar las herramientas adecuadas para las actividades a realizar.

Informar al supervisor de cualquier situación anormal que pueda presentarse.

Dejar limpio el sitio de trabajo al finalizar las actividades.

Llenar los formatos y entregarlos al supervisor.

Colocar los desechos en el sitio establecido por la gerencia.

Estas actividades se deben cumplir siempre que se vaya a ejecutar el mantenimiento

preventivo o reparación de cualquier equipo o maquinaria.

Seguidamente se detallan los programas de mantenimiento preventivo elaborados para los

equipos y maquinarias clasificadas como críticas por el personal de mantenimiento de las

instituciones policiales ya que de estos equipos depende el funcionamiento contínuo de estas

instituciones, que como se indicó anteriormente, laboran las 24 horas del día durante todo el

año lo que implica un uso constante de tales equipos. Los equipos clasificados como críticos

para estos organismos son los equipos de telecomunicaciones y los aires acondicionados,

mientras que las maquinarias clasificadas como críticas son los vehículos de operaciones.

Conociendo esto se elaboraron los programas de mantenimiento preventivo, utilizando una hoja

de cálculo Excel que permite introducir valores iniciales para obtener los programas de

mantenimiento específicos para cada equipo o maquinaria. En el caso de los equipos de

comunicaciones o aires acondicionados se introduce la fecha inicial y para el caso de los

vehículos de operaciones se introduce el kilometraje inicial de cada unidad obteniendose así el

progamas de mantenimiento individuales. Seguidamente se muestran estos programas:

Page 89: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 11. – Programa de mantenimiento para vehiculo modelo Crown Victoria.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

CROWN VICTORIA

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

4800

8000

9600

1440

0

1600

0

2400

0

2880

0

3200

0

3360

0

4000

0

4320

0

4800

0

Aceite de Motor Cambiar √ √ √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √Terminales y muñones Inspección √ √ √ √ √ √ √ √Sistema de Frenos Inspección y limpieza √ √ √ √ √ √Rines + Cauchos Rotar √ √ √ √ √ √Filtro de Aire Reemplazar √ √Líquido de Transmisión automática Medir nivel/completar √ √Líquido de Transmisión automática CambiarMangueras y tuberías de sistema de frenos Inspección y ajuste √ √Sistema de enfriamiento Inspección √ √Filtro de gasolina Reemplazar √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √Sistema de escape Inspección √Rolineras de ruedas Inspección √Refrigerante ReemplazarBujías ReemplazarCardán y eje de Transmisión Inspección y LubricaciónCorrea del Motor Inspección / reemplazarVálvula PCV ReemplazarLíquido de diferencial trasero Cambiar

89

Page 90: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 11 – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

CROWN VICTORIA

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

5280

0

5600

0

5760

0

6240

0

6400

0

6720

0

7200

0

7680

0

8000

0

8160

0

8640

0

8800

0

Aceite de Motor Cambiar √ √ √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √Terminales y muñones Inspección √ √ √ √ √ √ √ √Sistema de Frenos Inspección y limpieza √ √ √ √ √Rines + Cauchos Rotar √ √ √ √ √Filtro de Aire Reemplazar √Líquido de Transmisión automática Medir nivel/completarLíquido de Transmisión automática CambiarMangueras y tuberías de sistema de frenos Inspección y ajuste √Sistema de enfriamiento Inspección √Filtro de gasolina Reemplazar √Sistema de Dirección y Suspensión Inspección y lubricación √Sistema de escape InspecciónRolineras de ruedas InspecciónRefrigerante Reemplazar √Bujías ReemplazarCardán y eje de Transmisión Inspección y LubricaciónCorrea del Motor Inspección / reemplazarVálvula PCV ReemplazarLíquido de diferencial trasero Cambiar

90

Page 91: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 11 – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

CROWN VICTORIA

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

9120

0

9600

0

1008

00

1040

00

1056

00

1104

00

1120

00

1152

00

1200

00

1248

00

1280

00

1296

00

Aceite de Motor Cambiar √ √ √ √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √ √Terminales y muñones Inspección √ √ √ √ √ √ √ √ √Sistema de Frenos Inspección y limpieza √ √ √ √ √Rines + Cauchos Rotar √ √ √ √ √Filtro de Aire Reemplazar √ √Líquido de Transmisión automática Medir nivel/completar √Líquido de Transmisión automática CambiarMangueras y tuberías de sistema de frenos Inspección y ajuste √Sistema de enfriamiento Inspección √Filtro de gasolina Reemplazar √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √Sistema de escape Inspección √Rolineras de ruedas Inspección √Refrigerante Reemplazar √Bujías Reemplazar √Cardán y eje de Transmisión Inspección y Lubricación √Correa del Motor Inspección / reemplazarVálvula PCV ReemplazarLíquido de diferencial trasero Cambiar

91

Page 92: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 11 – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

CROWN VICTORIA

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

1344

00

1360

00

1392

00

1440

00

1488

00

1520

00

1536

00

1584

00

1600

00

1632

00

1680

00

1728

00

Aceite de Motor Cambiar √ √ √ √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √ √Terminales y muñones Inspección √ √ √ √ √ √ √ √ √Sistema de Frenos Inspección y limpieza √ √ √ √ √Rines + Cauchos Rotar √ √ √ √ √Filtro de Aire Reemplazar √ √Líquido de Transmisión automática Medir nivel/completarLíquido de Transmisión automática Cambiar √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √Sistema de enfriamiento Inspección √ √Filtro de gasolina Reemplazar √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √Sistema de escape Inspección √Rolineras de ruedas Inspección √Refrigerante Reemplazar √Bujías ReemplazarCardán y eje de Transmisión Inspección y LubricaciónCorrea del Motor Inspección / reemplazar √Válvula PCV Reemplazar √Líquido de diferencial trasero Cambiar

92

Page 93: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 11 – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

CROWN VICTORIA

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

1760

00

1776

00

1824

00

1840

00

1872

00

1920

00

1968

00

2000

00

2016

00

2064

00

2080

00

2112

00

Aceite de Motor Cambiar √ √ √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √Terminales y muñones Inspección √ √ √ √ √ √ √ √Sistema de Frenos Inspección y limpieza √ √ √ √ √Rines + Cauchos Rotar √ √ √ √ √Filtro de Aire Reemplazar √Líquido de Transmisión automática Medir nivel/completarLíquido de Transmisión automática Cambiar √Mangueras y tuberías de sistema de frenos Inspección y ajuste √Sistema de enfriamiento Inspección √Filtro de gasolina Reemplazar √Sistema de Dirección y Suspensión Inspección y lubricación √Sistema de escape Inspección √Rolineras de ruedas Inspección √Refrigerante ReemplazarBujías Reemplazar √Cardán y eje de Transmisión Inspección y Lubricación √Correa del Motor Inspección / reemplazarVálvula PCV ReemplazarLíquido de diferencial trasero Cambiar

93

Page 94: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 11 – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

CROWN VICTORIA

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

2160

00

2208

00

2240

00

2256

00

2304

00

2320

00

2352

00

2400

00

Aceite de Motor Cambiar √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √Terminales y muñones Inspección √ √ √ √ √ √Sistema de Frenos Inspección y limpieza √ √ √ √Rines + Cauchos Rotar √ √ √ √Filtro de Aire Reemplazar √ √Líquido de Transmisión automática Medir nivel/completarLíquido de Transmisión automática Cambiar √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √Sistema de enfriamiento Inspección √ √Filtro de gasolina Reemplazar √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √Sistema de escape Inspección √Rolineras de ruedas Inspección √Refrigerante Reemplazar √Bujías ReemplazarCardán y eje de Transmisión Inspección y LubricaciónCorrea del Motor Inspección / reemplazarVálvula PCV ReemplazarLíquido de diferencial trasero Cambiar √

94

Page 95: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 12. – Programa de mantenimiento para vehiculo modelo Impala.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

IMPALA

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

6000

1200

0

1800

0

2400

0

3000

0

3600

0

4200

0

4800

0

5400

0

6000

0

6600

0

Aceite de Motor Cambiar √ √ √ √ √ √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √ √ √ √Filtro de Aire de la Cabina Inspección √ √ √ √ √Tren delantero Inspección √ √ √ √ √ √ √ √ √ √ √Rines + Cauchos Rotar √ √ √ √ √Filtro de Aire Reemplazar √ √Sistema de Frenos Inspección y limpieza √ √ √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √Filtros de Transmisión automática ReemplazarLíquido de Transmisión automática CambiarSistema de escape Inspección √Sistema de enfriamiento Inspección/ServicioRefrigerante ReemplazarBujías + Cables ReemplazarCorrea del Motor Inspección / reemplazarSistema de Dirección y Suspensión Inspección y lubricación √

95

Page 96: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 12. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

IMPALA

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

7200

0

7800

0

8000

0

8400

0

9000

0

9600

0

1020

00

1080

00

1140

00

1200

00

1260

00

1320

00

Aceite de Motor Cambiar √ √ √ √ √ √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √ √ √ √Filtro de Aire de la Cabina Inspección √ √ √ √ √ √Tren delantero Inspección √ √ √ √ √ √ √ √ √ √ √Rines + Cauchos Rotar √ √ √ √ √ √Filtro de Aire Reemplazar √ √ √Sistema de Frenos Inspección y limpieza √ √ √ √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √ √Filtros de Transmisión automática Reemplazar √Líquido de Transmisión automática Cambiar √Sistema de escape Inspección √Sistema de enfriamiento Inspección/ServicioRefrigerante ReemplazarBujías + Cables ReemplazarCorrea del Motor Inspección / reemplazarSistema de Dirección y Suspensión Inspección y lubricación √ √

96

Page 97: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 12. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

IMPALA

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

1380

00

1440

00

1500

00

1560

00

1600

00

1620

00

1680

00

1740

00

1800

00

1860

00

1920

00

1980

00

Aceite de Motor Cambiar √ √ √ √ √ √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √ √ √ √Filtro de Aire de la Cabina Inspección √ √ √ √ √Tren delantero Inspección √ √ √ √ √ √ √ √ √ √ √Rines + Cauchos Rotar √ √ √ √ √Filtro de Aire Reemplazar √ √ √Sistema de Frenos Inspección y limpieza √ √ √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √Filtros de Transmisión automática Reemplazar √Líquido de Transmisión automática Cambiar √Sistema de escape Inspección √ √Sistema de enfriamiento Inspección/ServicioRefrigerante ReemplazarBujías + Cables Reemplazar √Correa del Motor Inspección / reemplazarSistema de Dirección y Suspensión Inspección y lubricación √ √

97

Page 98: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 12. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

IMPALA

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

2040

00

2100

00

2160

00

2220

00

2280

00

2340

00

2400

00

Aceite de Motor Cambiar √ √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √Filtro de Aire de la Cabina Inspección √ √ √ √Tren delantero Inspección √ √ √ √ √ √ √Rines + Cauchos Rotar √ √ √ √Filtro de Aire Reemplazar √Sistema de Frenos Inspección y limpieza √ √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √Filtros de Transmisión automática Reemplazar √Líquido de Transmisión automática Cambiar √Sistema de escape Inspección √Sistema de enfriamiento Inspección/Servicio √Refrigerante Reemplazar √Bujías + Cables ReemplazarCorrea del Motor Inspección / reemplazar √Sistema de Dirección y Suspensión Inspección y lubricación √

98

Page 99: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 13. – Programa de mantenimiento para vehiculo modelo Four Runner.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

FOUR RUNNER

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

8000

1600

0

2400

0

3200

0

4000

0

4800

0

5600

0

6400

0

7200

0

8000

0

8800

0

Aceite de Motor Cambiar √ √ √ √ √ √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √ √ √ √Terminales y muñones Inspección √ √ √ √ √ √ √ √ √ √ √Pernos y tuercas de chasis Inspección y ajuste √ √ √ √ √ √ √ √ √ √ √Sistema de Frenos (Tacos, bandas, protectores) Inspección y limpieza √ √ √ √ √ √ √ √ √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √Tripoides Inspección √ √ √ √ √ √ √ √ √ √ √Rines + Cauchos Rotar √ √ √ √ √ √ √ √ √ √ √Filtro de Aire Inspección √ √ √ √ √ √ √ √ √ √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √ √ √ √ √ √ √ √ √ √Líquido de Transmisión automática Inspección/Completar √ √ √Líquido de Diferencial delantero Cambiar √ √ √Sistema de enfriamiento Limpieza √Sistema de escape Inspección √ √ √Rolineras de ruedas Inspección √Refrigerante Reemplazar √Bujías Reemplazar √Diferencial trasero Inspección y Lubricación √ √ √Fluido de Diferencial trasero Cambiar √ √ √Correa del Motor Inspección / reemplazarTapa de Gasolina Inspección √Sistema de Gasolina (Tanque, mangueras, bomba, inyectores) Inspección / Limpieza √Filtro de gasolina Reemplazar √Líquido de Caja de Transferencia Cambio √Apertura de válvulas Inspección / ajusteDispositivo de Control de emisiones InspecciónCorrea del Tiempo Reemplazar

99

Page 100: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 13. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

FOUR RUNNER

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

9600

0

1040

00

1120

00

1200

00

1280

00

1360

00

1440

00

1520

00

1600

00

1680

00

1760

00

Aceite de Motor Cambiar √ √ √ √ √ √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √ √ √ √Terminales y muñones Inspección √ √ √ √ √ √ √ √ √ √ √Pernos y tuercas de chasis Inspección y ajuste √ √ √ √ √ √ √ √ √ √ √Sistema de Frenos (Tacos, bandas, protectores) Inspección y limpieza √ √ √ √ √ √ √ √ √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √ √Tripoides Inspección √ √ √ √ √ √ √ √ √ √ √Rines + Cauchos Rotar √ √ √ √ √ √ √ √ √ √ √Filtro de Aire Inspección √ √ √ √ √ √ √ √ √ √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √ √ √ √ √ √ √ √ √ √Líquido de Transmisión automática Inspección/Completar √ √ √ √Líquido de Diferencial delantero Cambiar √ √ √ √Sistema de enfriamiento Limpieza √ √Sistema de escape Inspección √ √ √ √Rolineras de ruedas Inspección √ √Refrigerante Reemplazar √ √Bujías Reemplazar √ √Diferencial trasero Inspección y Lubricación √ √ √ √Fluido de Diferencial trasero Cambiar √ √ √ √Correa del Motor Inspección / reemplazar √ √ √ √Tapa de Gasolina Inspección √ √Sistema de Gasolina (Tanque, mangueras, bomba, inyectores) Inspección / Limpieza √ √Filtro de gasolina Reemplazar √ √Líquido de Caja de Transferencia Cambio √Apertura de válvulas Inspección / ajuste √Dispositivo de Control de emisiones Inspección √Correa del Tiempo Reemplazar √

100

Page 101: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 13. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

FOUR RUNNER

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

1840

00

1920

00

2000

00

2080

00

2160

00

2240

00

2320

00

2400

00

Aceite de Motor Cambiar √ √ √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √Terminales y muñones Inspección √ √ √ √ √ √ √ √Pernos y tuercas de chasis Inspección y ajuste √ √ √ √ √ √ √ √Sistema de Frenos (Tacos, bandas, protectores) Inspección y limpieza √ √ √ √ √ √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √Tripoides Inspección √ √ √ √ √ √ √ √Rines + Cauchos Rotar √ √ √ √ √ √ √ √Filtro de Aire Inspección √ √ √ √ √ √ √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √ √ √ √ √ √ √Líquido de Transmisión automática Inspección/Completar √ √ √Líquido de Diferencial delantero Cambiar √Sistema de enfriamiento Limpieza √ √Sistema de escape Inspección √ √ √Rolineras de ruedas Inspección √ √Refrigerante Reemplazar √ √Bujías Reemplazar √ √Diferencial trasero Inspección y Lubricación √ √ √Fluido de Diferencial trasero Cambiar √ √ √Correa del Motor Inspección / reemplazar √Tapa de Gasolina Inspección √ √Sistema de Gasolina (Tanque, mangueras, bomba, inyectores) Inspección / Limpieza √Filtro de gasolina Reemplazar √ √Líquido de Caja de Transferencia Cambio √Apertura de válvulas Inspección / ajuste √Dispositivo de Control de emisiones Inspección √Correa del Tiempo Reemplazar

101

Page 102: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 14. – Programa de mantenimiento para vehiculo modelo Luv - Dmax.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

LUV D-MAX

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

4800

9600

1168

0

1200

0

1440

0

1600

0

1920

0

2336

0

2400

0

2880

0

3200

0

Aceite de Motor Cambiar √ √Filtro de Aceite Reemplazar √ √Chasis (Pernos, Tuercas, paneles) Inspección / ajuste √ √ √ √ √ √ √Sistema de Frenos (Discos,tacos, protectores) Inspección y limpieza √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √Guaya de Freno Inspección y lubricación √ √ √ √ √ √Guaya de Cambio de velocidades Inspección √ √ √ √ √ √Sistema Lavaparabrisas(incluye cepillos) Verificar / Completar Nivel √ √ √ √Rines + Cauchos Rotar / Ajustar presión √ √Filtro de Aire Inspección √ √Sistema de inyección de combustible Inspección / Limpieza √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √ √ √ √ √Líquido de Transmisión automática CambiarFiltro de Transmisión automática ReemplazarSistema de enfriamiento Inspección / LimpiezaSistema de escape InspecciónRefrigerante Reemplazar √ √Bujías + Cables ReemplazarCorrea del Motor Inspección / reemplazarFiltro de gasolina ReemplazarCadena del Tiempo Reemplazar

102

Page 103: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 14. – Continuación.

4.3.2. Elaboración nuevos progra antenimiento preventi

4.3.3. Objetiv enimiento clase mundial considerad

4.3.4. Diseño

mas de m vo.

os del sistema de mant os.

de formatos.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

LUV D-MAX

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

3360

0

3504

0

3600

0

3840

0

4000

0

4320

0

4672

0

4800

0

5280

0

5760

0

5840

0

Aceite de Motor Cambiar √ √Filtro de Aceite Reemplazar √ √ √Chasis (Pernos, Tuercas, paneles) Inspección / ajuste √ √ √ √ √ √Sistema de Frenos (Discos,tacos, protectores) Inspección y limpieza √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √Guaya de Freno Inspección y lubricación √ √ √ √ √ √Guaya de Cambio de velocidades Inspección √ √ √ √ √ √Sistema Lavaparabrisas(incluye cepillos) Verificar / Completar Nivel √ √Rines + Cauchos Rotar / Ajustar presión √ √Filtro de Aire Inspección √Sistema de inyección de combustible Inspección / Limpieza √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √ √ √ √ √Líquido de Transmisión automática CambiarFiltro de Transmisión automática ReemplazarSistema de enfriamiento Inspección / LimpiezaSistema de escape Inspección √Refrigerante Reemplazar √ √Bujías + Cables ReemplazarCorrea del Motor Inspección / reemplazarFiltro de gasolina ReemplazarCadena del Tiempo Reemplazar

103

Page 104: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 14. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

LUV D-MAX

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

6000

0

6240

0

6400

0

6720

0

7008

0

7200

0

7680

0

8000

0

8160

0

8176

0

8400

0

Aceite de Motor Cambiar √ √ √Filtro de Aceite Reemplazar √ √Chasis (Pernos, Tuercas, paneles) Inspección / ajuste √ √ √ √ √ √ √Sistema de Frenos (Discos,tacos, protectores) Inspección y limpieza √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √Guaya de Freno Inspección y lubricación √ √ √ √ √Guaya de Cambio de velocidades Inspección √ √ √ √ √Sistema Lavaparabrisas(incluye cepillos) Verificar / Completar Nivel √ √ √ √ √Rines + Cauchos Rotar / Ajustar presión √ √ √Filtro de Aire Inspección √ √Sistema de inyección de combustible Inspección / Limpieza √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √ √ √ √Líquido de Transmisión automática Cambiar √Filtro de Transmisión automática Reemplazar √Sistema de enfriamiento Inspección / Limpieza √Sistema de escape Inspección √Refrigerante Reemplazar √ √Bujías + Cables ReemplazarCorrea del Motor Inspección / reemplazarFiltro de gasolina Reemplazar √Cadena del Tiempo Reemplazar

104

Page 105: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 14. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

LUV D-MAX

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

8640

0

9120

0

9344

0

9600

0

1008

00

1051

20

1056

00

1080

00

1104

00

1120

00

1152

00

Aceite de Motor Cambiar √ √Filtro de Aceite Reemplazar √ √Chasis (Pernos, Tuercas, paneles) Inspección / ajuste √ √ √ √ √ √ √Sistema de Frenos (Discos,tacos, protectores) Inspección y limpieza √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √Guaya de Freno Inspección y lubricación √ √ √ √ √ √Guaya de Cambio de velocidades Inspección √ √ √ √ √ √Sistema Lavaparabrisas(incluye cepillos) Verificar / Completar Nivel √ √ √Rines + Cauchos Rotar / Ajustar presión √ √Filtro de Aire InspecciónSistema de inyección de combustible Inspección / Limpieza √Sistema de Dirección y Suspensión Inspección y lubricación √ √ √ √ √ √ √Líquido de Transmisión automática CambiarFiltro de Transmisión automática ReemplazarSistema de enfriamiento Inspección / LimpiezaSistema de escape InspecciónRefrigerante Reemplazar √ √Bujías + Cables ReemplazarCorrea del Motor Inspección / reemplazar √Filtro de gasolina ReemplazarCadena del Tiempo Reemplazar

105

Page 106: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 14. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

LUV D-MAX

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

1168

00

1200

00

1248

00

1280

00

1284

80

1296

00

1320

00

1344

00

1392

00

1401

60

1440

00

Aceite de Motor Cambiar √ √ √Filtro de Aceite Reemplazar √ √ √Chasis (Pernos, Tuercas, paneles) Inspección / ajuste √ √ √ √ √ √ √Sistema de Frenos (Discos,tacos, protectores) Inspección y limpieza √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √Guaya de Freno Inspección y lubricación √ √ √ √ √Guaya de Cambio de velocidades Inspección √ √ √ √ √ √Sistema Lavaparabrisas(incluye cepillos) Verificar / Completar Nivel √ √ √ √Rines + Cauchos Rotar / Ajustar presión √ √ √Filtro de Aire InspecciónSistema de inyección de combustible Inspección / Limpieza √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √ √ √ √ √Líquido de Transmisión automática CambiarFiltro de Transmisión automática ReemplazarSistema de enfriamiento Inspección / LimpiezaSistema de escape Inspección √Refrigerante Reemplazar √ √ √Bujías + Cables ReemplazarCorrea del Motor Inspección / reemplazarFiltro de gasolina ReemplazarCadena del Tiempo Reemplazar √

106

Page 107: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 14. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

LUV D-MAX

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

1488

00

1518

40

1536

00

1560

00

1584

00

1600

00

1632

00

1635

20

1680

00

1728

00

1752

00

Aceite de Motor Cambiar √Filtro de Aceite Reemplazar √ √ √Chasis (Pernos, Tuercas, paneles) Inspección / ajuste √ √ √ √ √ √ √Sistema de Frenos (Discos,tacos, protectores) Inspección y limpieza √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √Guaya de Freno Inspección y lubricación √ √ √ √ √ √Guaya de Cambio de velocidades Inspección √ √ √ √ √ √Sistema Lavaparabrisas(incluye cepillos) Verificar / Completar Nivel √ √ √Rines + Cauchos Rotar / Ajustar presión √ √Filtro de Aire Inspección √Sistema de inyección de combustible Inspección / Limpieza √Sistema de Dirección y Suspensión Inspección y lubricación √ √ √ √ √ √Líquido de Transmisión automática Cambiar √Filtro de Transmisión automática Reemplazar √Sistema de enfriamiento Inspección / LimpiezaSistema de escape Inspección √Refrigerante Reemplazar √ √Bujías + Cables Reemplazar √Correa del Motor Inspección / reemplazarFiltro de gasolina Reemplazar √Cadena del Tiempo Reemplazar

107

Page 108: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 14. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

LUV D-MAX

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

1760

00

1776

00

1800

00

1824

00

1868

80

1872

00

1920

00

1968

00

1985

60

2000

00

2016

00

Aceite de Motor Cambiar √ √Filtro de Aceite Reemplazar √ √Chasis (Pernos, Tuercas, paneles) Inspección / ajuste √ √ √ √ √ √ √Sistema de Frenos (Discos,tacos, protectores) Inspección y limpieza √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √Guaya de Freno Inspección y lubricación √ √ √ √ √ √Guaya de Cambio de velocidades Inspección √ √ √ √ √ √Sistema Lavaparabrisas(incluye cepillos) Verificar / Completar Nivel √ √ √Rines + Cauchos Rotar / Ajustar presión √ √Filtro de Aire InspecciónSistema de inyección de combustible Inspección / Limpieza √ √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √ √ √ √Líquido de Transmisión automática CambiarFiltro de Transmisión automática ReemplazarSistema de enfriamiento Inspección / LimpiezaSistema de escape Inspección √Refrigerante Reemplazar √ √Bujías + Cables ReemplazarCorrea del Motor Inspección / reemplazarFiltro de gasolina ReemplazarCadena del Tiempo Reemplazar

108

Page 109: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 14. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

LUV D-MAX

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

2040

00

2064

00

2080

00

2102

40

2112

00

2160

00

2208

00

2219

20

2240

00

2256

00

2280

00

Aceite de Motor Cambiar √ √ √Filtro de Aceite Reemplazar √ √Chasis (Pernos, Tuercas, paneles) Inspección / ajuste √ √ √ √ √ √ √Sistema de Frenos (Discos,tacos, protectores) Inspección y limpieza √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √Guaya de Freno Inspección y lubricación √ √ √ √ √Guaya de Cambio de velocidades Inspección √ √ √ √ √Sistema Lavaparabrisas(incluye cepillos) Verificar / Completar Nivel √ √ √ √ √Rines + Cauchos Rotar / Ajustar presión √ √ √Filtro de Aire InspecciónSistema de inyección de combustible Inspección / Limpieza √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √ √ √ √Líquido de Transmisión automática CambiarFiltro de Transmisión automática ReemplazarSistema de enfriamiento Inspección / LimpiezaSistema de escape InspecciónRefrigerante Reemplazar √ √ √Bujías + Cables ReemplazarCorrea del Motor Inspección / reemplazarFiltro de gasolina ReemplazarCadena del Tiempo Reemplazar

109

Page 110: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 14. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

LUV D-MAX

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

2304

00

2336

00

2352

00

2400

00

Aceite de Motor Cambiar √Filtro de Aceite Reemplazar √Chasis (Pernos, Tuercas, paneles) Inspección / ajuste √ √ √Sistema de Frenos (Discos,tacos, protectores) Inspección y limpieza √Mangueras y tuberías de sistema de frenos Inspección y ajuste √Guaya de Freno Inspección y lubricación √ √ √Guaya de Cambio de velocidades Inspección √ √ √Sistema Lavaparabrisas(incluye cepillos) Verificar / Completar Nivel √Rines + Cauchos Rotar / Ajustar presión √Filtro de Aire Inspección √Sistema de inyección de combustible Inspección / Limpieza √Sistema de Dirección y Suspensión Inspección y lubricación √ √ √Líquido de Transmisión automática Cambiar √Filtro de Transmisión automática Reemplazar √Sistema de enfriamiento Inspección / Limpieza √Sistema de escape Inspección √Refrigerante Reemplazar √Bujías + Cables ReemplazarCorrea del Motor Inspección / reemplazar √Filtro de gasolina Reemplazar √Cadena del Tiempo Reemplazar

110

Page 111: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 15. – Programa de mantenimiento para vehiculo modelo Jeep Cherokee.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

JEEP CHEROKEE

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

4800

9600

1200

0

1440

0

1920

0

2400

0

2880

0

3360

0

3600

0

3840

0

4320

0

Aceite de Motor Cambiar √ √ √ √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √ √Chasis (Pernos, Tuercas) Inspección / ajuste √ √ √ √ √ √ √Terminales y Muñones Inspección √ √ √ √Sistema de Frenos (Discos,tacos, protectores) Inspección y limpieza √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √ √ √ √ √Juntas de Velocidad Constante Inspección / Ajuste √ √ √ √ √ √ √ √ √Rines + Cauchos Rotar / Ajustar presión √ √ √Filtro de Aire Inspección √Sistema de inyección de combustible Inspección / Limpieza √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √ √ √ √ √ √ √ √ √Líquido de Transmisión automática Cambiar √ √Filtro de Transmisión automática ReemplazarLíquido de Diferencial Reemplazar √ √Líquido Caja de transferencia ReemplazarSistema de enfriamiento Inspección / LimpiezaSistema de escape Inspección √ √ √ √ √ √Refrigerante ReemplazarBujías + Cables ReemplazarCorrea del Motor Inspección / reemplazarFiltro de gasolina Reemplazar √ √Cadena del Tiempo Reemplazar

111

Page 112: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 15. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

JEEP CHEROKEE

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

4800

0

5280

0

5760

0

6000

0

6240

0

6720

0

7200

0

7680

0

8160

0

8400

0

8640

0

Aceite de Motor Cambiar √ √ √ √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √ √Chasis (Pernos, Tuercas) Inspección / ajuste √ √ √ √ √ √Terminales y Muñones Inspección √ √ √ √ √Sistema de Frenos (Discos,tacos, protectores) Inspección y limpiezaMangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √ √ √ √ √ √Juntas de Velocidad Constante Inspección / Ajuste √ √ √ √ √ √ √ √ √Rines + Cauchos Rotar / Ajustar presión √ √ √ √Filtro de Aire Inspección √ √Sistema de inyección de combustible Inspección / Limpieza √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √ √ √ √ √ √ √ √ √ √Líquido de Transmisión automática Cambiar √ √Filtro de Transmisión automática ReemplazarLíquido de Diferencial Reemplazar √ √Líquido Caja de transferencia Reemplazar √Sistema de enfriamiento Inspección / LimpiezaSistema de escape Inspección √ √ √ √ √Refrigerante Reemplazar √ √ √Bujías + Cables Reemplazar √Correa del Motor Inspección / reemplazar √Filtro de gasolina Reemplazar √ √Cadena del Tiempo Reemplazar

112

Page 113: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 15. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

JEEP CHEROKEE

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

9120

0

9600

0

1008

00

1056

00

1104

00

1152

00

1200

00

1248

00

1296

00

1320

00

1344

00

Aceite de Motor Cambiar √ √ √ √ √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √ √ √Chasis (Pernos, Tuercas) Inspección / ajuste √ √ √ √ √ √ √ √ √Terminales y Muñones Inspección √ √ √ √Sistema de Frenos (Discos,tacos, protectores) Inspección y limpiezaMangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √ √ √ √ √ √ √Juntas de Velocidad Constante Inspección / Ajuste √ √ √ √ √ √ √ √ √Rines + Cauchos Rotar / Ajustar presión √ √ √ √Filtro de Aire Inspección √ √Sistema de inyección de combustible Inspección / Limpieza √ √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √ √ √ √ √ √ √ √ √Líquido de Transmisión automática Cambiar √ √ √Filtro de Transmisión automática ReemplazarLíquido de Diferencial Reemplazar √ √ √Líquido Caja de transferencia Reemplazar √Sistema de enfriamiento Inspección / LimpiezaSistema de escape Inspección √ √ √ √ √ √ √ √Refrigerante Reemplazar √ √ √Bujías + Cables Reemplazar √Correa del Motor Inspección / reemplazarFiltro de gasolina Reemplazar √ √ √Cadena del Tiempo Reemplazar

113

Page 114: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 15. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

JEEP CHEROKEE

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

1392

00

1440

00

1488

00

1536

00

1560

00

1584

00

1632

00

1680

00

1728

00

1776

00

1800

00

Aceite de Motor Cambiar √ √ √ √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √ √Chasis (Pernos, Tuercas) Inspección / ajuste √ √ √ √ √ √ √ √Terminales y Muñones Inspección √ √ √ √Sistema de Frenos (Discos,tacos, protectores) Inspección y limpieza √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √ √ √ √ √ √ √Juntas de Velocidad Constante Inspección / Ajuste √ √ √ √ √ √ √ √ √Rines + Cauchos Rotar / Ajustar presión √ √ √ √Filtro de Aire Inspección √ √Sistema de inyección de combustible Inspección / Limpieza √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √ √ √ √ √ √ √ √ √ √Líquido de Transmisión automática Cambiar √ √Filtro de Transmisión automática ReemplazarLíquido de Diferencial Reemplazar √ √Líquido Caja de transferencia Reemplazar √Sistema de enfriamiento Inspección / LimpiezaSistema de escape Inspección √ √ √ √ √Refrigerante Reemplazar √ √ √ √Bujías + Cables Reemplazar √Correa del Motor Inspección / reemplazar √Filtro de gasolina Reemplazar √ √Cadena del Tiempo Reemplazar √

114

Page 115: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 15. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

JEEP CHEROKEE

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

1824

00

1872

00

1920

00

2016

00

2064

00

2112

00

2160

00

2208

00

2256

00

2304

00

2352

00

2400

00

Aceite de Motor Cambiar √ √ √ √ √ √ √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √ √ √ √ √Chasis (Pernos, Tuercas) Inspección / ajuste √ √ √ √ √ √ √ √ √ √ √Terminales y Muñones Inspección √ √ √ √ √ √Sistema de Frenos (Discos,tacos, protectores) Inspección y limpieza √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √ √ √ √ √ √ √ √ √Juntas de Velocidad Constante Inspección / Ajuste √ √ √ √ √ √ √ √ √ √ √Rines + Cauchos Rotar / Ajustar presión √ √ √ √ √ √Filtro de Aire Inspección √ √Sistema de inyección de combustible Inspección / Limpieza √ √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √ √ √ √ √ √ √ √ √ √Líquido de Transmisión automática Cambiar √ √ √Filtro de Transmisión automática ReemplazarLíquido de Diferencial Reemplazar √ √ √Líquido Caja de transferencia Reemplazar √ √Sistema de enfriamiento Inspección / LimpiezaSistema de escape Inspección √ √ √ √ √ √ √ √Refrigerante ReemplazarBujías + Cables Reemplazar √ √Correa del Motor Inspección / reemplazar √Filtro de gasolina Reemplazar √ √ √Cadena del Tiempo Reemplazar

115

Page 116: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 16. – Programa de mantenimiento para vehiculo modelo Mazda B2600.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

MAZDA B2600

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

4800

8000

9600

1440

0

1600

0

1920

0

2400

0

2880

0

3200

0

3360

0

3840

0

4000

0

Aceite de Motor Cambiar √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √Chasis (Pernos, Tuercas) Inspección / ajusteTerminales y Muñones InspecciónSistema de Frenos (Discos,tacos, líquido) Inspección y limpieza √ √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √ √Guaya de Freno de mano InspecciónCardán y eje de transmisión Inspección / Lubricación √Rines + Cauchos Rotar / Ajustar presión √ √ √Filtro de Aire Inspección / ReemplazoSistema de inyección de combustible Inspección / Limpieza √Sistema de Dirección y Suspensión Inspección y lubricaciónLíquido de Transmisión automática CambiarLíquido Caja de transferencia ReemplazarSistema de enfriamiento Inspección / LimpiezaSistema de escape InspecciónRefrigerante ReemplazarBujías + Cables ReemplazarCorrea del Motor Inspección / reemplazarFiltro de gasolina Reemplazar √Cadena del Tiempo ReemplazarVálvula PCV Reemplazar

116

Page 117: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 16. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

MAZDA B2600

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

4320

0

4800

0

5280

0

5600

0

5760

0

6240

0

6400

0

6720

0

7200

0

7680

0

8000

0

8160

0

Aceite de Motor Cambiar √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √ √Chasis (Pernos, Tuercas) Inspección / ajuste √Terminales y Muñones Inspección √Sistema de Frenos (Discos,tacos, líquido) Inspección y limpieza √ √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √ √Guaya de Freno de mano Inspección √Cardán y eje de transmisión Inspección / Lubricación √Rines + Cauchos Rotar / Ajustar presión √ √ √ √Filtro de Aire Inspección / Reemplazo √Sistema de inyección de combustible Inspección / Limpieza √ √Sistema de Dirección y Suspensión Inspección y lubricación √Líquido de Transmisión automática Cambiar √Líquido Caja de transferencia ReemplazarSistema de enfriamiento Inspección / Limpieza √ √Sistema de escape Inspección √Refrigerante Reemplazar √Bujías + Cables ReemplazarCorrea del Motor Inspección / reemplazarFiltro de gasolina Reemplazar √ √Cadena del Tiempo ReemplazarVálvula PCV Reemplazar

117

Page 118: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 16. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

MAZDA B2600

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

8640

0

8800

0

9120

0

9600

0

1008

00

1040

00

1056

00

1104

00

1120

00

1152

00

1200

00

1248

00

Aceite de Motor Cambiar √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √ √Chasis (Pernos, Tuercas) Inspección / ajuste √Terminales y Muñones Inspección √Sistema de Frenos (Discos,tacos, líquido) Inspección y limpieza √ √ √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √ √ √Guaya de Freno de mano InspecciónCardán y eje de transmisión Inspección / Lubricación √Rines + Cauchos Rotar / Ajustar presión √ √ √ √Filtro de Aire Inspección / Reemplazo √Sistema de inyección de combustible Inspección / Limpieza √ √Sistema de Dirección y Suspensión Inspección y lubricación √Líquido de Transmisión automática Cambiar √Líquido Caja de transferencia Reemplazar √Sistema de enfriamiento Inspección / Limpieza √Sistema de escape InspecciónRefrigerante ReemplazarBujías + Cables Reemplazar √Correa del Motor Inspección / reemplazarFiltro de gasolina Reemplazar √ √Cadena del Tiempo ReemplazarVálvula PCV Reemplazar

118

Page 119: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 16. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

MAZDA B2600

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

1280

00

1296

00

1344

00

1360

00

1392

00

1440

00

1488

00

1520

00

1536

00

1584

00

1600

00

1632

00

Aceite de Motor Cambiar √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √Chasis (Pernos, Tuercas) Inspección / ajuste √Terminales y Muñones InspecciónSistema de Frenos (Discos,tacos, líquido) Inspección y limpieza √ √ √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √ √ √Guaya de Freno de mano InspecciónCardán y eje de transmisión Inspección / LubricaciónRines + Cauchos Rotar / Ajustar presión √ √ √ √Filtro de Aire Inspección / ReemplazoSistema de inyección de combustible Inspección / Limpieza √Sistema de Dirección y Suspensión Inspección y lubricaciónLíquido de Transmisión automática Cambiar √Líquido Caja de transferencia ReemplazarSistema de enfriamiento Inspección / Limpieza √Sistema de escape InspecciónRefrigerante Reemplazar √Bujías + Cables Reemplazar √Correa del Motor Inspección / reemplazar √Filtro de gasolina Reemplazar √Cadena del Tiempo Reemplazar √Válvula PCV Reemplazar √

119

Page 120: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 16. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

MAZDA B2600

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

1680

00

1728

00

1760

00

1776

00

1824

00

1840

00

1872

00

1920

00

1968

00

2000

00

2016

00

2064

00

Aceite de Motor Cambiar √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √ √Chasis (Pernos, Tuercas) Inspección / ajuste √Terminales y Muñones Inspección √Sistema de Frenos (Discos,tacos, líquido) Inspección y limpieza √ √ √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √ √ √Guaya de Freno de mano Inspección √Cardán y eje de transmisión Inspección / Lubricación √Rines + Cauchos Rotar / Ajustar presión √ √ √Filtro de Aire Inspección / Reemplazo √Sistema de inyección de combustible Inspección / Limpieza √ √Sistema de Dirección y Suspensión Inspección y lubricación √Líquido de Transmisión automática Cambiar √Líquido Caja de transferencia Reemplazar √Sistema de enfriamiento Inspección / Limpieza √Sistema de escape InspecciónRefrigerante ReemplazarBujías + Cables Reemplazar √Correa del Motor Inspección / reemplazarFiltro de gasolina Reemplazar √ √Cadena del Tiempo ReemplazarVálvula PCV Reemplazar

120

Page 121: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 16. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO TIPO

MAZDA B2600

Kilometraje Inicial: 0

Componente del Vehículo Actividad Km

2080

00

2112

00

2160

00

2208

00

2240

00

2256

00

2304

00

2320

00

2352

00

2400

00

Aceite de Motor Cambiar √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √Chasis (Pernos, Tuercas) Inspección / ajuste √Terminales y Muñones Inspección √ √Sistema de Frenos (Discos,tacos, líquido) Inspección y limpieza √ √ √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √ √ √Guaya de Freno de mano Inspección √ √Cardán y eje de transmisión Inspección / Lubricación √ √Rines + Cauchos Rotar / Ajustar presiónFiltro de Aire Inspección / Reemplazo √Sistema de inyección de combustible Inspección / Limpieza √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √Líquido de Transmisión automática Cambiar √Líquido Caja de transferencia ReemplazarSistema de enfriamiento Inspección / Limpieza √ √Sistema de escape Inspección √Refrigerante ReemplazarBujías + Cables ReemplazarCorrea del Motor Inspección / reemplazarFiltro de gasolina Reemplazar √ √Cadena del Tiempo ReemplazarVálvula PCV Reemplazar

121

Page 122: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 17. – Programa de mantenimiento para vehiculo modelo Autana.

PLAN DE MANTENIMIENTO PARA VEHICULO: AUTANAKilometraje Inicial: 0

Componente del Vehículo Actividad Km

8000

1600

0

2400

0

3200

0

4000

0

4800

0

5600

0

6400

0

7200

0

8000

0

Aceite de Motor Cambiar √ √ √ √ √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √ √ √Terminales y muñones Inspección √ √ √ √ √ √ √ √ √ √Pernos y tuercas de chasis Inspección y ajuste √ √ √ √ √ √ √ √ √ √Sistema de Frenos (Tacos, bandas, protectores) Inspección y limpieza √ √ √ √ √ √ √ √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √ √ √ √ √ √ √ √Tripoides Inspección √ √ √ √ √ √ √ √ √ √Rines + Cauchos Rotar √ √ √ √ √ √ √ √ √ √Filtro de Aire Inspección √ √ √ √ √ √ √ √ √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √ √ √ √ √ √ √ √ √Líquido de Transmisión automática Inspección/Completar √ √ √Fluido de Diferencial delantero Cambiar √ √ √Fluido de Diferencial trasero Cambiar √Diferencial Inspección / Lubricación √ √ √Diferencial Trasero Inspección / Lubricación √ √ √Sistema de enfriamiento Limpieza √Sistema de escape Inspección √ √ √Rolineras de ruedas Inspección √Refrigerante Reemplazar √Bujías Reemplazar √Correa del Motor Inspección / reemplazarTapa de Gasolina Inspección √Sistema de Gasolina (Tanque, mangueras, bomba, inyectores) Inspección / Limpieza √Filtro de gasolina Reemplazar √Líquido de Caja de Transferencia Cambio √Apertura de válvulas Inspección / ajusteDispositivo de Control de emisiones InspecciónCadena del Tiempo Reemplazar

122

Page 123: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 17. – Continuación.

PLAN DE MANTENIMIENTO PARA VEHICULO: AUTANAKilometraje Inicial: 0

Componente del Vehículo Actividad Km

8800

0

9600

0

1040

00

1120

00

1200

00

1280

00

1360

00

1440

00

1520

00

1600

00

Aceite de Motor Cambiar √ √ √ √ √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √ √ √Terminales y muñones Inspección √ √ √ √ √ √ √ √ √ √Pernos y tuercas de chasis Inspección y ajuste √ √ √ √ √ √ √ √ √ √Sistema de Frenos (Tacos, bandas, protectores) Inspección y limpieza √ √ √ √ √ √ √ √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √ √ √ √ √ √ √ √Tripoides Inspección √ √ √ √ √ √ √ √ √ √Rines + Cauchos Rotar √ √ √ √ √ √ √ √ √ √Filtro de Aire Inspección √ √ √ √ √ √ √ √ √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √ √ √ √ √ √ √ √ √Líquido de Transmisión automática Inspección/Completar √ √ √Fluido de Diferencial delantero Cambiar √ √ √Fluido de Diferencial trasero Cambiar √ √Diferencial Inspección / Lubricación √ √ √Diferencial Trasero Inspección / Lubricación √ √ √Sistema de enfriamiento Limpieza √ √Sistema de escape Inspección √ √ √Rolineras de ruedas Inspección √ √Refrigerante Reemplazar √ √Bujías Reemplazar √ √Correa del Motor Inspección / reemplazar √Tapa de Gasolina Inspección √ √Sistema de Gasolina (Tanque, mangueras, bomba, inyectores)

Inspección / Limpieza√ √

Filtro de gasolina Reemplazar √ √Líquido de Caja de Transferencia Cambio √ √Apertura de válvulas Inspección / ajuste √Dispositivo de Control de emisiones Inspección √Cadena del Tiempo Reemplazar √

123

Page 124: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

PLAN DE MANTENIMIENTO PARA VEHICULO: AUTANAKilometraje Inicial: 0

Componente del Vehículo Actividad Km

1680

00

1760

00

1840

00

1920

00

2000

00

2080

00

2160

00

2240

00

2320

00

2400

00

Aceite de Motor Cambiar √ √ √ √ √ √ √ √ √ √Filtro de Aceite Reemplazar √ √ √ √ √ √ √ √ √ √Terminales y muñones Inspección √ √ √ √ √ √ √ √ √ √Pernos y tuercas de chasis Inspección y ajuste √ √ √ √ √ √ √ √ √ √Sistema de Frenos (Tacos, bandas, protectores) Inspección y limpieza √ √ √ √ √ √ √ √ √ √Mangueras y tuberías de sistema de frenos Inspección y ajuste √ √ √ √ √ √ √ √ √ √Tripoides Inspección √ √ √ √ √ √ √ √ √ √Rines + Cauchos Rotar √ √ √ √ √ √ √ √ √ √Filtro de Aire Inspección √ √ √ √ √ √ √ √ √ √Sistema de Dirección y Suspensión Inspección y lubricación √ √ √ √ √ √ √ √ √ √Líquido de Transmisión automática Inspección/Completar √ √ √ √Fluido de Diferencial delantero Cambiar √ √ √ √Fluido de Diferencial trasero Cambiar √ √Diferencial Inspección / Lubricación √ √ √ √Diferencial Trasero Inspección / Lubricación √ √ √ √Sistema de enfriamiento Limpieza √ √Sistema de escape Inspección √ √ √ √Rolineras de ruedas Inspección √ √Refrigerante Reemplazar √ √Bujías Reemplazar √ √Correa del Motor Inspección / reemplazar √Tapa de Gasolina Inspección √ √Sistema de Gasolina (Tanque, mangueras, bomba, inyectores) Inspección / Limpieza √ √Filtro de gasolina Reemplazar √ √Líquido de Caja de Transferencia Cambio √ √Apertura de válvulas Inspección / ajuste √Dispositivo de Control de emisiones Inspección √Cadena del Tiempo Reemplazar

Tabla 17. – Continuación.

124

Page 125: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 18. – Programa de mantenimiento para aire acondicionado tipo ventana.

PLAN DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

General Electric, Samsung

Descripción del Equipo Tipo: VentanaCapacidad:15K, 18K, 24K BTU

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Urbano

Partes del Equipo Actividad Fecha

10/1

2/06

09/0

1/07

08/0

2/07

10/0

3/07

09/0

4/07

09/0

5/07

08/0

6/07

08/0

7/07

07/0

8/07

06/0

9/07

06/1

0/07

05/1

1/07

Filtro de Aire Limpieza /Lavado √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √Condensador Limpieza / Lavado químico √ √ √Motor Limpieza / Lubricación √ √ √Compresor Limpieza √ √ √Relé de encendido Inspección √ √Tarjeta de Control Aplicar Limpacontactos √ √Ventilador Condensador Inspección / Limpieza √ √ √Impulsor Limpieza √ √ √Tuberías de cobre (Capilar) Inspección / Limpieza √ √ √Gas Refrigerante Medición de nivel √ √ √ √ √ √Válvula de Expansión Inspección √ √ √Termostato Inspección √ √ √Filtro deshidratador Inspección √

125

Page 126: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 18. – Continuación.

PLAN DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

General Electric, Samsung

Descripción del Equipo Tipo: VentanaCapacidad:15K, 18K, 24K BTU

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Urbano

Partes del Equipo Actividad Fecha

05/1

2/07

04/0

1/08

03/0

2/08

04/0

3/08

03/0

4/08

03/0

5/08

02/0

6/08

02/0

7/08

01/0

8/08

31/0

8/08

30/0

9/08

30/1

0/08

Filtro de Aire Limpieza /Lavado √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √Condensador Limpieza / Lavado químico √ √ √Motor Limpieza / Lubricación √ √ √Compresor Limpieza √ √ √Relé de encendido Inspección √ √Tarjeta de Control Aplicar Limpacontactos √ √Ventilador Condensador Inspección / Limpieza √ √ √Impulsor Limpieza √ √ √Tuberías de cobre (Capilar) Inspección / Limpieza √ √ √Gas Refrigerante Medición de nivel √ √ √ √ √ √Válvula de Expansión Inspección √ √ √Termostato Inspección √ √ √Filtro deshidratador Inspección √ √ √

126

Page 127: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 18. – Continuación.

PLAN DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

General Electric, Samsung

Descripción del Equipo Tipo: VentanaCapacidad:15K, 18K, 24K BTU

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Urbano

Partes del Equipo Actividad Fecha

29/1

1/08

29/1

2/08

28/0

1/09

27/0

2/09

29/0

3/09

28/0

4/09

28/0

5/09

27/0

6/09

27/0

7/09

26/0

8/09

25/0

9/09

Filtro de Aire Limpieza /Lavado √ √ √ √ √Evaporador Limpieza / Lavado químico √ √Condensador Limpieza / Lavado químico √ √Motor Limpieza / Lubricación √ √Compresor Limpieza √ √Relé de encendido Inspección √Tarjeta de Control Aplicar Limpacontactos √Ventilador Condensador Inspección / Limpieza √ √Impulsor Limpieza √ √Tuberías de cobre (Capilar) Inspección / Limpieza √ √Gas Refrigerante Medición de nivel √ √ √ √ √Válvula de Expansión Inspección √ √Termostato Inspección √ √Filtro deshidratador Inspección √ √

127

Page 128: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 18. – Continuación.

PLAN DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

General Electric, Samsung

Descripción del Equipo Tipo: VentanaCapacidad:15K, 18K, 24K BTU

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Rural

Partes del Equipo Actividad Fecha

10/1

2/06

09/0

1/07

08/0

2/07

10/0

3/07

09/0

4/07

09/0

5/07

08/0

6/07

08/0

7/07

07/0

8/07

06/0

9/07

06/1

0/07

05/1

1/07

Filtro de Aire Limpieza /Lavado √ √ √ √ √ √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √ √Condensador Limpieza / Lavado químico √ √ √ √Motor Limpieza / Lubricación √ √ √ √Compresor Limpieza √ √ √ √Relé de encendido Inspección √ √Tarjeta de Control Aplicar Limpacontactos √ √Ventilador Condensador Inspección / Limpieza √ √ √ √Impulsor Limpieza √ √ √ √Tuberías de cobre (Capilar) Inspección / Limpieza √ √ √ √Gas Refrigerante Medición de nivel √ √ √ √Válvula de Expansión Inspección √ √ √ √Termostato Inspección √ √ √ √Filtro deshidratador Inspección √ √

128

Page 129: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 18. – Continuación.

PLAN DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

General Electric, Samsung

Descripción del Equipo Tipo: VentanaCapacidad:15K, 18K, 24K BTU

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Rural

Partes del Equipo Actividad Fecha

05/1

2/07

04/0

1/08

03/0

2/08

04/0

3/08

03/0

4/08

03/0

5/08

02/0

6/08

02/0

7/08

01/0

8/08

31/0

8/08

30/0

9/08

30/1

0/08

Filtro de Aire Limpieza /Lavado √ √ √ √ √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √ √Condensador Limpieza / Lavado químico √ √ √ √Motor Limpieza / Lubricación √ √ √ √Compresor Limpieza √ √ √ √Relé de encendido Inspección √ √Tarjeta de Control Aplicar Limpacontactos √ √Ventilador Condensador Inspección / Limpieza √ √ √ √Impulsor Limpieza √ √ √ √Tuberías de cobre (Capilar) Inspección / Limpieza √ √ √ √Gas Refrigerante Medición de nivel √ √ √ √Válvula de Expansión Inspección √ √ √ √Termostato Inspección √ √ √ √Filtro deshidratador Inspección √ √

129

Page 130: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 18. – Continuación.

PLAN DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

General Electric, Samsung

Descripción del Equipo Tipo: VentanaCapacidad:15K, 18K, 24K BTU

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Rural

Partes del Equipo Actividad Fecha

29/1

1/08

29/1

2/08

28/0

1/09

27/0

2/09

29/0

3/09

28/0

4/09

28/0

5/09

27/0

6/09

27/0

7/09

26/0

8/09

25/0

9/09

Filtro de Aire Limpieza /Lavado √ √ √ √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √Condensador Limpieza / Lavado químico √ √ √Motor Limpieza / Lubricación √ √ √Compresor Limpieza √ √ √Relé de encendido Inspección √Tarjeta de Control Aplicar Limpacontactos √Ventilador Condensador Inspección / Limpieza √ √ √Impulsor Limpieza √ √ √Tuberías de cobre (Capilar) Inspección / Limpieza √ √ √Gas Refrigerante Medición de nivel √ √ √Válvula de Expansión Inspección √ √ √Termostato Inspección √ √ √Filtro deshidratador Inspección √

130

Page 131: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 19. – Programa de mantenimiento para aire acondicionado tipo split 3 a 5 toneladas.

PLAN DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

YORK

Descripción del Equipo Tipo: SplitCapacidad:3, 5 Ton.

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Urbano

Partes del Equipo Actividad Fecha

10/1

2/06

09/0

1/07

08/0

2/07

10/0

3/07

09/0

4/07

09/0

5/07

08/0

6/07

08/0

7/07

07/0

8/07

06/0

9/07

06/1

0/07

05/1

1/07

Filtro de Aire Limpieza /Lavado √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √ √Condensador Limpieza / Lavado químico √ √ √ √Motor Limpieza / Lubricación √ √ √ √Compresor Limpieza √ √ √ √Interruptor Inspección √ √ √Contactor Aplicar Limpacontactos √ √ √Capacitor Inspección / Prueba √ √ √Ventilador Helicoidal Inspección / Limpieza √ √ √ √Ventilador Centrífugo Limpieza √ √ √ √Tuberías de cobre Inspección / Limpieza √ √ √ √Gas Refrigerante Medición de nivel √ √ √ √Válvula de Expansión Inspección √ √ √ √Termostato Inspección √ √Filtro deshidratador Inspección √ √Drenaje Inspección / Limpieza √ √ √ √ √ √

131

Page 132: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 19. – Continuación.

PLAN DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

YORK

Descripción del Equipo Tipo: SplitCapacidad:3, 5 Ton.

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Urbano

Partes del Equipo Actividad Fecha

05/1

2/07

04/0

1/08

03/0

2/08

04/0

3/08

03/0

4/08

03/0

5/08

02/0

6/08

02/0

7/08

01/0

8/08

31/0

8/08

30/0

9/08

30/1

0/08

Filtro de Aire Limpieza /Lavado √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √ √Condensador Limpieza / Lavado químico √ √ √ √Motor Limpieza / Lubricación √ √ √ √Compresor Limpieza √ √ √ √Interruptor Inspección √ √ √Contactor Aplicar Limpacontactos √ √ √Capacitor Inspección / Prueba √ √ √Ventilador Helicoidal Inspección / Limpieza √ √ √ √Ventilador Centrífugo Limpieza √ √ √ √Tuberías de cobre Inspección / Limpieza √ √ √ √Gas Refrigerante Medición de nivel √ √ √ √Válvula de Expansión Inspección √ √ √ √Termostato Inspección √ √Filtro deshidratador Inspección √ √Drenaje Inspección / Limpieza √ √ √ √ √ √

132

Page 133: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 19. – Continuación.

PLAN DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

YORK

Descripción del Equipo Tipo: SplitCapacidad:3, 5 Ton.

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Urbano

Partes del Equipo Actividad Fecha

29/1

1/08

29/1

2/08

28/0

1/09

27/0

2/09

29/0

3/09

28/0

4/09

28/0

5/09

27/0

6/09

27/0

7/09

26/0

8/09

25/0

9/09

Filtro de Aire Limpieza /Lavado √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √Condensador Limpieza / Lavado químico √ √ √Motor Limpieza / Lubricación √ √ √Compresor Limpieza √ √ √Interruptor Inspección √ √ √Contactor Aplicar Limpacontactos √ √ √Capacitor Inspección / Prueba √ √ √Ventilador Helicoidal Inspección / Limpieza √ √ √Ventilador Centrífugo Limpieza √ √ √Tuberías de cobre Inspección / Limpieza √ √ √Gas Refrigerante Medición de nivel √ √ √Válvula de Expansión Inspección √ √ √Termostato Inspección √Filtro deshidratador Inspección √Drenaje Inspección / Limpieza √ √ √ √ √

133

Page 134: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 19. – Continuación.

PLAN DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

YORK

Descripción del Equipo Tipo: SplitCapacidad:3, 5 Ton.

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Rural - Amb salino

Partes del Equipo Actividad Fecha

10/1

2/06

09/0

1/07

08/0

2/07

10/0

3/07

09/0

4/07

09/0

5/07

08/0

6/07

08/0

7/07

07/0

8/07

06/0

9/07

06/1

0/07

05/1

1/07

Filtro de Aire Limpieza /Lavado √ √ √ √ √ √ √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √ √ √ √Condensador Limpieza / Lavado químico √ √ √ √ √ √Motor Limpieza / Lubricación √ √ √ √ √ √Compresor Limpieza √ √ √ √ √ √Interruptor Inspección √ √ √ √ √ √Contactor Aplicar Limpacontactos √ √ √ √ √ √Capacitor Inspección / Prueba √ √ √ √ √ √Ventilador Helicoidal Inspección / Limpieza √ √ √ √ √ √Ventilador Centrífugo Limpieza √ √ √ √ √ √Tuberías de cobre Inspección / Limpieza √ √ √ √ √ √Gas Refrigerante Medición de nivel √ √ √ √ √ √Válvula de Expansión Inspección √ √ √ √ √ √Termostato Inspección √ √ √Filtro deshidratador Inspección √ √Drenaje Inspección / Limpieza √ √ √ √ √ √ √ √ √ √ √ √

134

Page 135: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 19. – Continuación.

PLAN DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

YORK

Descripción del Equipo Tipo: SplitCapacidad:3, 5 Ton.

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Rural - Amb salino

Partes del Equipo Actividad Fecha

05/1

2/07

04/0

1/08

03/0

2/08

04/0

3/08

03/0

4/08

03/0

5/08

02/0

6/08

02/0

7/08

01/0

8/08

31/0

8/08

30/0

9/08

30/1

0/08

Filtro de Aire Limpieza /Lavado √ √ √ √ √ √ √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √ √ √ √Condensador Limpieza / Lavado químico √ √ √ √ √ √Motor Limpieza / Lubricación √ √ √ √ √ √Compresor Limpieza √ √ √ √ √ √Interruptor Inspección √ √ √ √ √ √Contactor Aplicar Limpacontactos √ √ √ √ √ √Capacitor Inspección / Prueba √ √ √ √ √ √Ventilador Helicoidal Inspección / Limpieza √ √ √ √ √ √Ventilador Centrífugo Limpieza √ √ √ √ √ √Tuberías de cobre Inspección / Limpieza √ √ √ √ √ √Gas Refrigerante Medición de nivel √ √ √ √ √ √Válvula de Expansión Inspección √ √ √ √ √ √Termostato Inspección √ √ √Filtro deshidratador Inspección √ √Drenaje Inspección / Limpieza √ √ √ √ √ √ √ √ √ √ √ √

135

Page 136: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 19. – Continuación.

PLAN DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

YORK

Descripción del Equipo Tipo: SplitCapacidad:3, 5 Ton.

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Rural - Amb salino

Partes del Equipo Actividad Fecha

29/1

1/08

29/1

2/08

28/0

1/09

27/0

2/09

29/0

3/09

28/0

4/09

28/0

5/09

27/0

6/09

27/0

7/09

26/0

8/09

25/0

9/09

Filtro de Aire Limpieza /Lavado √ √ √ √ √ √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √ √ √Condensador Limpieza / Lavado químico √ √ √ √ √Motor Limpieza / Lubricación √ √ √ √ √Compresor Limpieza √ √ √ √ √Interruptor Inspección √ √ √ √ √Contactor Aplicar Limpacontactos √ √ √ √ √Capacitor Inspección / Prueba √ √ √ √ √Ventilador Helicoidal Inspección / Limpieza √ √ √ √ √Ventilador Centrífugo Limpieza √ √ √ √ √Tuberías de cobre Inspección / Limpieza √ √ √ √ √Gas Refrigerante Medición de nivel √ √ √ √ √Válvula de Expansión Inspección √ √ √ √ √Termostato Inspección √ √Filtro deshidratador Inspección √Drenaje Inspección / Limpieza √ √ √ √ √ √ √ √ √ √ √

136

Page 137: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 20. – Programa de mantenimiento para aire acondicionada tipo Multi-split 5 toneladas.

PROGRAMA DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

LG

Descripción del Equipo Tipo: Multi-SplitCapacidad: 5 Ton.

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Urbano

Partes del Equipo Actividad Fecha

10/1

2/06

09/0

1/07

08/0

2/07

10/0

3/07

09/0

4/07

09/0

5/07

08/0

6/07

08/0

7/07

07/0

8/07

06/0

9/07

06/1

0/07

05/1

1/07

Filtros de Aire de unidades interiores Limpieza /Lavado √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √ √ √ √Condensador Limpieza / Lavado químico √ √ √ √ √ √Motor Limpieza / Lubricación √ √ √ √ √ √Compresor Limpieza √ √ √ √ √ √Interruptor Inspección √ √ √ √ √ √Contactor Aplicar Limpacontactos √ √ √ √ √ √Capacitor Inspección / Prueba √ √ √ √ √ √Ventilador Helicoidal Inspección / Limpieza √ √ √ √ √ √Impulsores de unidades internas Limpieza √ √ √ √Tarjetas de control de unidades internas Aplicar Limpacontactos √ √ √Tuberías de cobre Inspección / Limpieza √ √ √ √ √ √Gas Refrigerante Medición de nivel √ √ √ √ √ √Válvula de Expansión Inspección √ √ √ √ √ √Termostato Inspección √ √ √Filtro deshidratador Inspección √ √Drenaje Inspección / Limpieza √ √ √ √ √ √

137

Page 138: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 20. – Continuación.

PROGRAMA DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

LG

Descripción del Equipo Tipo: Multi-SplitCapacidad: 5 Ton.

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Urbano

Partes del Equipo Actividad Fecha

05/1

2/07

04/0

1/08

03/0

2/08

04/0

3/08

03/0

4/08

03/0

5/08

02/0

6/08

02/0

7/08

01/0

8/08

31/0

8/08

30/0

9/08

30/1

0/08

Filtros de Aire de unidades interiores Limpieza /Lavado √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √ √ √ √Condensador Limpieza / Lavado químico √ √ √ √ √ √Motor Limpieza / Lubricación √ √ √ √ √ √Compresor Limpieza √ √ √ √ √ √Interruptor Inspección √ √ √ √ √ √Contactor Aplicar Limpacontactos √ √ √ √ √ √Capacitor Inspección / Prueba √ √ √ √ √ √Ventilador Helicoidal Inspección / Limpieza √ √ √ √ √ √Impulsores de unidades internas Limpieza √ √ √ √Tarjetas de control de unidades internas Aplicar Limpacontactos √ √ √Tuberías de cobre Inspección / Limpieza √ √ √ √ √ √Gas Refrigerante Medición de nivel √ √ √ √ √ √Válvula de Expansión Inspección √ √ √ √ √ √Termostato Inspección √ √ √Filtro deshidratador Inspección √ √Drenaje Inspección / Limpieza √ √ √ √ √ √

138

Page 139: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 20. – Continuación.

PROGRAMA DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

LG

Descripción del Equipo Tipo: Multi-SplitCapacidad: 5 Ton.

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Urbano

Partes del Equipo Actividad Fecha

29/1

1/08

29/1

2/08

28/0

1/09

27/0

2/09

29/0

3/09

28/0

4/09

28/0

5/09

27/0

6/09

27/0

7/09

26/0

8/09

25/0

9/09

Filtros de Aire de unidades interiores Limpieza /Lavado √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √ √ √Condensador Limpieza / Lavado químico √ √ √ √ √Motor Limpieza / Lubricación √ √ √ √ √Compresor Limpieza √ √ √ √ √Interruptor Inspección √ √ √ √ √Contactor Aplicar Limpacontactos √ √ √ √ √Capacitor Inspección / Prueba √ √ √ √ √Ventilador Helicoidal Inspección / Limpieza √ √ √ √ √Impulsores de unidades internas Limpieza √ √ √Tarjetas de control de unidades internas Aplicar Limpacontactos √ √Tuberías de cobre Inspección / Limpieza √ √ √ √ √Gas Refrigerante Medición de nivel √ √ √ √ √Válvula de Expansión Inspección √ √ √ √ √Termostato Inspección √ √Filtro deshidratador Inspección √Drenaje Inspección / Limpieza √ √ √ √ √

139

Page 140: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 21. – Programa de mantenimiento para aire acondicionada tipo split 30K BTU.

PROGRAMA DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

LG

Descripción del Equipo Tipo: SplitCapacidad: 30K BTU

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Urbano

Partes del Equipo Actividad Fecha

10/1

2/06

09/0

1/07

08/0

2/07

10/0

3/07

09/0

4/07

09/0

5/07

08/0

6/07

08/0

7/07

07/0

8/07

06/0

9/07

06/1

0/07

05/1

1/07

Filtro de Aire Limpieza /Lavado √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √ √Condensador Limpieza / Lavado químico √ √ √ √Motor Limpieza / Lubricación √ √ √ √Compresor Limpieza √ √ √ √Interruptor Inspección √ √ √Capacitor Inspección / Prueba √ √ √Ventilador de Condensador Inspección / Limpieza √ √ √ √Impulsor Limpieza √ √ √ √Tuberías de cobre Inspección / Limpieza √ √ √ √Gas Refrigerante Medición de nivel √ √ √ √Válvula de Expansión Inspección √ √ √ √Termostato Inspección √ √Filtro deshidratador Inspección √ √Drenaje Inspección / Limpieza √ √ √ √ √ √

140

Page 141: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 21. – Continuación.

PROGRAMA DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

LG

Descripción del Equipo Tipo: SplitCapacidad: 30K BTU

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Urbano

Partes del Equipo Actividad Fecha

05/1

2/07

04/0

1/08

03/0

2/08

04/0

3/08

03/0

4/08

03/0

5/08

02/0

6/08

02/0

7/08

01/0

8/08

31/0

8/08

30/0

9/08

30/1

0/08

Filtro de Aire Limpieza /Lavado √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √ √Condensador Limpieza / Lavado químico √ √ √ √Motor Limpieza / Lubricación √ √ √ √Compresor Limpieza √ √ √ √Interruptor Inspección √ √ √Capacitor Inspección / Prueba √ √ √Ventilador de Condensador Inspección / Limpieza √ √ √ √Impulsor Limpieza √ √ √ √Tuberías de cobre Inspección / Limpieza √ √ √ √Gas Refrigerante Medición de nivel √ √ √ √Válvula de Expansión Inspección √ √ √ √Termostato Inspección √ √Filtro deshidratador Inspección √ √Drenaje Inspección / Limpieza √ √ √ √ √ √

141

Page 142: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 21. – Continuación.

PROGRAMA DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

LG

Descripción del Equipo Tipo: SplitCapacidad: 30K BTU

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Urbano

Partes del Equipo Actividad Fecha

29/1

1/08

29/1

2/08

28/0

1/09

27/0

2/09

29/0

3/09

28/0

4/09

28/0

5/09

27/0

6/09

27/0

7/09

26/0

8/09

25/0

9/09

Filtro de Aire Limpieza /Lavado √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √Condensador Limpieza / Lavado químico √ √ √Motor Limpieza / Lubricación √ √ √Compresor Limpieza √ √ √Interruptor Inspección √ √ √Capacitor Inspección / Prueba √ √ √Ventilador de Condensador Inspección / Limpieza √ √ √Impulsor Limpieza √ √ √Tuberías de cobre Inspección / Limpieza √ √ √Gas Refrigerante Medición de nivel √ √ √Válvula de Expansión Inspección √ √ √Termostato Inspección √Filtro deshidratador Inspección √Drenaje Inspección / Limpieza √ √ √ √ √

142

Page 143: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 22. – Programa de mantenimiento para aire acondicionada tipo compacto 5 a 20 toneladas.

PROGRAMA DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

CARRIER

Descripción del Equipo Tipo: CompactoCapacidad: 5 a 20 Ton.

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Urbano

Partes del Equipo Actividad Fecha

10/1

2/06

09/0

1/07

08/0

2/07

10/0

3/07

09/0

4/07

09/0

5/07

08/0

6/07

08/0

7/07

07/0

8/07

06/0

9/07

06/1

0/07

05/1

1/07

Filtro de Aire Limpieza /Lavado √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √ √Condensador Limpieza / Lavado químico √ √ √ √Motor Limpieza / Lubricación √ √ √ √Compresor Limpieza √ √ √Interruptor Inspección √ √ √Contactor Aplicar Limpacontactos √ √ √Capacitor Inspección / Prueba √ √ √Ventilador Helicoidal Inspección / Limpieza √ √ √ √Impulsor Limpieza √ √ √ √Tarjeta de circuito eléctrico Aplicar Limpacontactos √ √Tuberías de cobre Inspección / Limpieza √ √Gas Refrigerante Medición de nivel √ √Válvula de Expansión Inspección √ √Termostato Inspección √ √Filtro deshidratador Inspección √ √Drenaje Inspección / Limpieza √ √ √ √ √ √

143

Page 144: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 22. – Continuación.

PROGRAMA DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

CARRIER

Descripción del Equipo Tipo: CompactoCapacidad: 5 a 20 Ton.

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Urbano

Partes del Equipo Actividad Fecha

05/1

2/07

04/0

1/08

03/0

2/08

04/0

3/08

03/0

4/08

03/0

5/08

02/0

6/08

02/0

7/08

01/0

8/08

31/0

8/08

30/0

9/08

30/1

0/08

Filtro de Aire Limpieza /Lavado √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √ √Condensador Limpieza / Lavado químico √ √ √ √Motor Limpieza / Lubricación √ √ √ √Compresor Limpieza √ √ √Interruptor Inspección √ √ √Contactor Aplicar Limpacontactos √ √ √Capacitor Inspección / Prueba √ √ √Ventilador Helicoidal Inspección / Limpieza √ √ √ √Impulsor Limpieza √ √ √ √Tarjeta de circuito eléctrico Aplicar Limpacontactos √ √Tuberías de cobre Inspección / Limpieza √ √Gas Refrigerante Medición de nivel √ √Válvula de Expansión Inspección √ √Termostato Inspección √ √Filtro deshidratador Inspección √ √Drenaje Inspección / Limpieza √ √ √ √ √ √

144

Page 145: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 22. – Continuación.

PROGRAMA DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

CARRIER

Descripción del Equipo Tipo: CompactoCapacidad: 5 a 20 Ton.

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Urbano

Partes del Equipo Actividad Fecha

29/1

1/08

29/1

2/08

28/0

1/09

27/0

2/09

29/0

3/09

28/0

4/09

28/0

5/09

27/0

6/09

27/0

7/09

26/0

8/09

25/0

9/09

Filtro de Aire Limpieza /Lavado √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √Condensador Limpieza / Lavado químico √ √ √Motor Limpieza / Lubricación √ √ √Compresor Limpieza √ √Interruptor Inspección √ √Contactor Aplicar Limpacontactos √ √Capacitor Inspección / Prueba √ √Ventilador Helicoidal Inspección / Limpieza √ √ √Impulsor Limpieza √ √ √Tarjeta de circuito eléctrico Aplicar Limpacontactos √Tuberías de cobre Inspección / Limpieza √Gas Refrigerante Medición de nivel √Válvula de Expansión Inspección √Termostato Inspección √Filtro deshidratador Inspección √Drenaje Inspección / Limpieza √ √ √ √ √

145

Page 146: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 23. – Programa de mantenimiento para aire acondicionada tipo split 5 a 15 toneladas.

PROGRAMA DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

CARRIER

Descripción del Equipo Tipo: SplitCapacidad: 5 a 15 Ton.

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Rural

Partes del Equipo Actividad Fecha

10/1

2/06

09/0

1/07

08/0

2/07

10/0

3/07

09/0

4/07

09/0

5/07

08/0

6/07

08/0

7/07

07/0

8/07

06/0

9/07

06/1

0/07

05/1

1/07

Filtro de Aire Limpieza /Lavado √ √ √ √ √ √ √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √ √Condensador Limpieza / Lavado químico √ √ √ √Motor Limpieza / Lubricación √ √ √ √Compresor Limpieza √ √ √ √Interruptor Inspección √ √ √ √Contactor Aplicar Limpacontactos √ √ √ √Capacitor Inspección / Prueba √ √ √ √Ventilador Helicoidal Inspección / Limpieza √ √ √ √Impulsor Limpieza √ √ √ √Tarjeta de circuito eléctrico Aplicar Limpacontactos √ √Tuberías de cobre Inspección / Limpieza √ √Gas Refrigerante Medición de nivel √ √Válvula de Expansión Inspección √ √Termostato Inspección √ √Filtro deshidratador Inspección √ √Drenaje Inspección / Limpieza √ √ √ √ √ √ √ √ √ √ √ √

146

Page 147: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 23. – Continuación.

PROGRAMA DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

CARRIER

Descripción del Equipo Tipo: SplitCapacidad: 5 a 15 Ton.

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Rural

Partes del Equipo Actividad Fecha

05/1

2/07

04/0

1/08

03/0

2/08

04/0

3/08

03/0

4/08

03/0

5/08

02/0

6/08

02/0

7/08

01/0

8/08

31/0

8/08

30/0

9/08

30/1

0/08

Filtro de Aire Limpieza /Lavado √ √ √ √ √ √ √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √ √Condensador Limpieza / Lavado químico √ √ √ √Motor Limpieza / Lubricación √ √ √ √Compresor Limpieza √ √ √ √Interruptor Inspección √ √ √ √Contactor Aplicar Limpacontactos √ √ √ √Capacitor Inspección / Prueba √ √ √ √Ventilador Helicoidal Inspección / Limpieza √ √ √ √Impulsor Limpieza √ √ √ √Tarjeta de circuito eléctrico Aplicar Limpacontactos √ √Tuberías de cobre Inspección / Limpieza √ √Gas Refrigerante Medición de nivel √ √Válvula de Expansión Inspección √ √Termostato Inspección √ √Filtro deshidratador Inspección √ √Drenaje Inspección / Limpieza √ √ √ √ √ √ √ √ √ √ √ √

147

Page 148: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 23. – Continuación.

PROGRAMA DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

CARRIER

Descripción del Equipo Tipo: SplitCapacidad: 5 a 15 Ton.

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Rural

Partes del Equipo Actividad Fecha

29/1

1/08

29/1

2/08

28/0

1/09

27/0

2/09

29/0

3/09

28/0

4/09

28/0

5/09

27/0

6/09

27/0

7/09

26/0

8/09

25/0

9/09

Filtro de Aire Limpieza /Lavado √ √ √ √ √ √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √Condensador Limpieza / Lavado químico √ √ √Motor Limpieza / Lubricación √ √ √Compresor Limpieza √ √ √Interruptor Inspección √ √ √Contactor Aplicar Limpacontactos √ √ √Capacitor Inspección / Prueba √ √ √Ventilador Helicoidal Inspección / Limpieza √ √ √Impulsor Limpieza √ √ √Tarjeta de circuito eléctrico Aplicar Limpacontactos √Tuberías de cobre Inspección / Limpieza √Gas Refrigerante Medición de nivel √Válvula de Expansión Inspección √Termostato Inspección √Filtro deshidratador Inspección √Drenaje Inspección / Limpieza √ √ √ √ √ √ √ √ √ √ √

148

Page 149: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 24. – Programa de mantenimiento para aire acondicionada tipo mini-split 15 a 24K BTU.

PROGRAMA DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

CARRIER, LG

Descripción del Equipo Tipo: Mini SplitCapacidad: 15K a 24K BTU

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Normal

Partes del Equipo Actividad Fecha

10/1

2/06

09/0

1/07

08/0

2/07

10/0

3/07

09/0

4/07

09/0

5/07

08/0

6/07

08/0

7/07

07/0

8/07

06/0

9/07

06/1

0/07

05/1

1/07

Filtro de Aire Limpieza /Lavado √ √ √ √ √ √ √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √ √ √ √Condensador Limpieza / Lavado químico √ √ √ √ √ √Motor Limpieza / Lubricación √ √ √ √ √ √Compresor Limpieza √ √ √ √ √ √Capacitor Inspección / Prueba √ √ √Ventilador de Condensador Inspección / Limpieza √ √ √ √Impulsor Limpieza √ √ √ √Tuberías de cobre Inspección / Limpieza √ √ √ √Gas Refrigerante Medición de nivel √ √ √ √Válvula de Expansión Inspección √ √ √ √Termostato Inspección √ √Filtro deshidratador Inspección √ √Drenaje Inspección / Limpieza √ √ √ √ √ √ √ √ √ √ √ √

149

Page 150: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 24. – Continuación.

PROGRAMA DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

CARRIER, LG

Descripción del Equipo Tipo: Mini SplitCapacidad: 15K a 24K BTU

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Normal

Partes del Equipo Actividad Fecha

05/1

2/07

04/0

1/08

03/0

2/08

04/0

3/08

03/0

4/08

03/0

5/08

02/0

6/08

02/0

7/08

01/0

8/08

31/0

8/08

30/0

9/08

30/1

0/08

Filtro de Aire Limpieza /Lavado √ √ √ √ √ √ √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √ √ √ √Condensador Limpieza / Lavado químico √ √ √ √ √ √Motor Limpieza / Lubricación √ √ √ √ √ √Compresor Limpieza √ √ √ √ √ √Capacitor Inspección / Prueba √ √ √Ventilador de Condensador Inspección / Limpieza √ √ √ √Impulsor Limpieza √ √ √ √Tuberías de cobre Inspección / Limpieza √ √ √ √Gas Refrigerante Medición de nivel √ √ √ √Válvula de Expansión Inspección √ √ √ √Termostato Inspección √ √Filtro deshidratador Inspección √ √Drenaje Inspección / Limpieza √ √ √ √ √ √ √ √ √ √ √ √

150

Page 151: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

PROGRAMA DE MANTENIMIENTO PARA AIRE ACONDICIONADO Marca

CARRIER, LG

Descripción del Equipo Tipo: Mini SplitCapacidad: 15K a 24K BTU

Fecha Inicial: 10/11/2006Condición de uso: Continuo - Rural

Partes del Equipo Actividad Fecha

29/1

1/08

29/1

2/08

28/0

1/09

27/0

2/09

29/0

3/09

28/0

4/09

28/0

5/09

27/0

6/09

27/0

7/09

26/0

8/09

25/0

9/09

Filtro de Aire Limpieza /Lavado √ √ √ √ √ √ √ √ √ √ √Evaporador Limpieza / Lavado químico √ √ √ √ √Condensador Limpieza / Lavado químico √ √ √ √ √Motor Limpieza / Lubricación √ √ √ √ √Compresor Limpieza √ √ √ √ √Capacitor Inspección / Prueba √ √ √Ventilador de Condensador Inspección / Limpieza √ √ √Impulsor Limpieza √ √ √Tuberías de cobre Inspección / Limpieza √ √ √Gas Refrigerante Medición de nivel √ √ √Válvula de Expansión Inspección √ √ √Termostato Inspección √Filtro deshidratador Inspección √Drenaje Inspección / Limpieza √ √ √ √ √ √ √ √ √ √ √

Tabla 24. – Continuación.

151

Page 152: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Tabla 25. – Programa de mantenimiento para equipos de telecomunicaciones.

PLAN DE MANTENIMIENTO PARA EQUIPOS DE TELECOMUNICACIONES

Fecha Inicial: 10/11/2006Condición de uso: Continuo

Descripción del Equipo Actividad Fecha

05/1

1/07

30/1

0/08

25/1

0/09

20/1

0/10

15/1

0/11

09/1

0/12

04/1

0/13

29/0

9/14

24/0

9/15

18/0

9/16

13/0

9/17

Repetidor modelo Quantar Ajuste de Oscilador √ √ √ √ √ √ √ √ √ √ √Repetidor modelo Quantar Verificación de Potencia Reflejada √ √ √ √ √ √ √ √ √ √ √Repetidor modelo Quantar Verificación de Potencia de Salida √ √ √ √ √ √ √ √ √ √ √Repetidor modelo Quantar Verificación y Ajuste de desviación √ √ √ √ √ √Conectores de antenas de Tx y Rx Inspección y cambio de teipes √ √ √ √ √ √Soporte de antenas de Tx y Rx Limpieza y pintura √ √ √ √ √ √Pernos de soporte de antenas Inspección √ √ √ √ √ √Banco de baterías Limpieza de terminales √ √ √ √ √ √ √ √ √ √ √Rectificador - Cargador de baterías Verificación y ajuste voltaje de salida √ √ √ √ √ √ √ √ √ √ √Radio portátil modelo LTS 2000 o Serie PRO Ajuste de Oscilador √ √ √ √ √ √Radio portátil modelo LTS 2000 o Serie PRO Inspección de pulsadores √ √ √ √ √ √Radio portátil modelo LTS 2000 o Serie PRO Inspección de base de antena √ √ √ √ √ √Radio portátil modelo LTS 2000 o Serie PRO Prueba de selectores √ √ √ √ √ √Radio portátil modelo LTS 2000 o Serie PRO Verificación de Potencia de Salida √ √ √ √ √ √Radio portátil modelo LTS 2000 o Serie PRO Verificación y Ajuste de desviación √ √ √ √ √ √Radio móvil MCS 2000 o LCS 2000 Ajuste de Oscilador √ √ √ √ √ √Radio móvil MCS 2000 o LCS 2000 Verificación de Potencia Reflejada √ √ √ √ √ √Radio móvil MCS 2000 o LCS 2000 Verificación de Potencia de salida √ √ √ √ √ √Radio móvil MCS 2000 o LCS 2000 Inspección de conectores √ √ √ √ √ √Radio móvil MCS 2000 o LCS 2000 Verificación y Ajuste de desviación √ √ √ √ √ √UPS marca APC Verificación de baterías √ √ √ √ √ √ √ √ √ √ √

152

Page 153: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

4.4.4. - Formatos a utilizar en labores de mantenimiento.

Los siguientes son los formatos diseñados para utilizar en las labores de mantenimiento.

Estos formatos servirán para introducir la información en ellos recopilada en la base de datos

del sistema automatizado. A continuación se muestra el formato de solicitud de trabajo.

Nombre y Apellido del Solicitante:

Seleccione el tipo de equipo/maquinaria:

Crown Victoria Yamaha Computadora CarrierImpala Suzuki Calculadora YorkFour Runner BMW Teléfono LGD-Max Kawasaki Impresora General ElectricB-2600 Filtro SamsungCherokee MicroondasAutana NeveraPeugeot

Número o Identificación del equipo/maquinaria:

Ubicación del Equipo/Maquinaria;

Describa avería o motivo de la solicitud:

SOLICITUD DE SERVICIO / REPARACION

Firma del SolicitanteC.I.

VEHICULO MOTOCICLETA EQUIPO DE OFICINA AIRE ACONDICIONADO

Logotipo Aqui

Figura 2. – Formato para solicitud de trabajo.

153

Page 154: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Formato de mantenimiento preventivo de vehículos:

Número o Identificación de Vehículo: Fecha de Inicio:

CambiarReemplazarInspecciónInspección y ajusteInspección y limpieza

Mangueras y tuberías de sistema de frenos Inspección y ajusteInspecciónRotarInspecciónInspección y lubricaciónInspección/CompletarCambiarCambiarInspección / LubricaciónInspección / LubricaciónLimpiezaInspecciónInspecciónReemplazarReemplazarInspección / reemplazarInspecciónInspección / LimpiezaReemplazarCambioInspección / ajusteInspecciónReemplazar

Cantidad Descripción

MANTENIMIENTO DE VEHICULOS

Cadena del Tiempo

SUMINISTROS UTILIZADOSOrigen

Filtro de gasolinaLíquido de Caja de TransferenciaApertura de válvulasDispositivo de Control de emisiones

BujíasCorrea del MotorTapa de GasolinaSistema de Gasolina (Tanque, mangueras, bomba, inyectores)

Sistema de enfriamientoSistema de escapeRolineras de ruedasRefrigerante

Fluido de Diferencial delanteroFluido de Diferencial traseroDiferencialDiferencial Trasero

Rines + CauchosFiltro de AireSistema de Dirección y SuspensiónLíquido de Transmisión automática

Terminales y muñonesPernos y tuercas de chasisSistema de Frenos (Tacos, bandas, protectores)

Tripoides

ActividadComponenteAceite de MotorFiltro de Aceite

Logotipo Aqui

Figura 3. – Formato para mantenimiento preventivo de vehículos.

154

Page 155: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Fecha de Culminación:

Jefe Mantenimiento:

Supervisor General:

REVISADO POR FIRMA

Supervisor Cuadrilla:

Nombre de Técnicos mecánicos Especialidad

Figura 3. – Continuación.

155

Page 156: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Formato de mantenimiento preventivo de aires acondicionados:

Número o Identificación del Equipo: Fecha de Inicio:

Limpieza /Lavado

Limpieza / Lavado químico

Limpieza / Lavado químico

Limpieza / Lubricación

Limpieza

Inspección

Aplicar Limpacontactos

Inspección / Prueba

Inspección / Limpieza

Limpieza

Aplicar Limpacontactos

Inspección / Limpieza

Medición de nivel

Inspección

Inspección

Inspección

Inspección / Limpieza

Aplicar Limpacontactos

Inspección / Limpieza

Limpieza

Cantidad Descripción

ActividadComponente

Compresor

Interruptor

Filtro de Aire

Evaporador

Condensador

Motor

Gas Refrigerante

Válvula de Expansión

Contactor

Capacitor

Ventilador Helicoidal

Impulsor

Ventilador Condensador

Ventilador Centrífugo

MANTENIMIENTO DE AIRES ACONDICIONADOS

Termostato

Filtro deshidratador

Drenaje

Tarjeta de Control

Tarjeta de circuito eléctrico

Tuberías de cobre

SUMINISTROS UTILIZADOS

Origen

Logotipo Aqui

Figura 4. – Formato para mantenimiento preventivo de aires acondicionados.

156

Page 157: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Fecha de Culminación:

Nombre de Técnicos mecánicos Especialidad

REVISADO POR FIRMA

Supervisor Cuadrilla::

Supervisor General:

Jefe Mantenimiento:

Figura 4. – Continuación.

157

Page 158: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Formato para Reparación de vehículos (mantenimiento correctivo):

Número o Identificación de Vehículo: Fecha de Inicio:

CambioCambioCambioCambioCambioCambioReparaciónReparación / CambioReparación / CambioCambioCambioCambioReparaciónReparación / CambioReparaciónReparación / CambioCambioCambioReparación / CambioCambio

Motor Limpiavidrios Reparación / Cambio

Motivo de la Reparación:

Cantidad Descripción

Componente

Terminales y muñonesSistema de Frenos (Disco o Tambor)

REPARACION DE VEHICULOS

CompresorEvaporadorCondensador

Tripoides

Motor de Arranque

Actividad

Sistema de Dirección (Bomba dirección, ejes)

CauchosSistema de Suspensión (Amortiguadores)

Batería

Transmisión automáticaDiferencial delanteroDiferencial TraseroSistema de enfriamiento (Radiador)Rolineras de ruedasBomba de GasolinaMotor

Caja de Transferencia

Alternador

SUMINISTROS UTILIZADOS

Origen

Logotipo Aqui

Figura 5. – Formato para reparación de vehículos.

158

Page 159: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Cantidad Descripción

Fecha de Culminación:

SUMINISTROS UTILIZADOS

Origen

Nombre de Técnicos mecánicos Especialidad

REVISADO POR FIRMA

Supervisor Cuadrilla:

Supervisor General:

Jefe Mantenimiento:

Figura 5 – Continuación.

159

Page 160: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Formato para reparación de airea acondicionados (mantenimiento correctivo):

Número o Identificación del Equipo: Fecha de Inicio:

Cambio

Cambio

Reparación / Cambio

Reparación / Cambio

Cambio

Cambio

Cambio

Reparación / Cambio

Reparación / Cambio

Reparación / CambioCambio

Cambio

Cambio

CambioReparación / Cambio

Reparación / Cambio

Reparación / Cambio

Motivo de la Reparación:

Cantidad Descripción

REPARACION DE AIRES ACONDICIONADOS

Origen

SUMINISTROS UTILIZADOS

Ventilador Condensador

Ventilador Centrífugo

Termostato

Filtro deshidratadorTarjeta de Control

Tarjeta de circuito eléctricoTuberías de cobre

Válvula de Expansión

Contactor

Capacitor

Ventilador Helicoidal

Impulsor

ActividadComponente

Compresor

Interruptor

Evaporador

Condensador

Motor

Logotipo Aqui

Figura 6. – Formato para reparación de aires acondicionados.

160

Page 161: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

161

Cantidad Descripción

Fecha de Culminación:

Jefe Mantenimiento:

Supervisor General:

REVISADO POR FIRMA

Supervisor Cuadrilla::

SUMINISTROS UTILIZADOS

Nombre de Técnicos mecánicos Especialidad

Origen

Figura 6. – Continuación.

Page 162: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

4.5. – Índices de control para medir efectividad del sistema

Se realizaron reuniones con el personal de mantenimiento de las instituciones policiales

para proponer y concertar la modalidad para evaluar el ejercicio de los procesos de

mantenimiento en forma contínua. Esto se logra a través de los llamados índices o indicadores

de control. Un índice de control es una expresión numérica que nos permite monitorear un

proceso o función de gestión dada. Los índices de control permiten tomar decisiones a través

de la información que suministran para mejorar y corregir el proceso que se está evaluando.

Tradicionalmente los indicadores se han visto reactivamente, o sea, utilizándolos para

mirar hacia atrás con vistas a planear el futuro, sin embargo se ha venido provocando un

cambio en este sentido encaminado a utilizar los indicadores con una visión proactiva, o sea,

para tomar decisiones hacia el futuro, manejándolos. Las características fundamentales que

deben cumplir los indicadores de mantenimiento, siempre con la mirada puesta en lo qué se

desea alcanzar con el mantenimiento, son las siguientes:

Pocos, pero suficientes para analizar la gestión.

Claros de entender y calcular.

Útiles para conocer rápidamente como van las cosas y por qué.

Por esta razón los índices deben:

Identificar los factores claves del mantenimiento.

Dar los elementos necesarios que permiten realizar una evaluación profunda de la

actividad en cuestión.

Establecer un registro de datos que permita su cálculo periódico.

Controlar los objetivos propuestos comparando los valores reales con los valores

planificados.

Facilitar la toma de decisiones y acciones oportunas ante las desviaciones que se

puedan presentar.

Puesto que en las instituciones policiales estudiadas no se encontró ningún tipo de

indicadores de gestión de mantenimiento, se seleccionaron los siguientes índices de clase

mundial que pueden ser aplicados en estos organismos:

162

Page 163: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

A continuación se muestran los índices de control seleccionados:

Tabla No. 25 – Indices de control

Indice Objetivo Fórmula Descripción

Tiempo promedio entre fallas

Indica el intervalo de tiempo más probable entre un arranque y la aparición de un fallo; es decir, es el tiempo medio transcurrido hasta la llegada del evento "fallo". Mientras mayor sea su valor, mayor es la confiabilidad del componente o equipo.

NoIT = Número de itemsTOP = Tiempo de OperaciónNTF = Número total de fallas observadas en los items en el período

Tiempo promedio para la falla

Mide el tiempo promedio que es capaz de operar el equipo a capacidad sin interrupciones dentro del período considerado; este constituye un indicador indirecto de la confiabilidad del equipo o sistema. El Tiempo Promedio para Fallar también es llamado "Tie

TOP =Tiempo total de operación de un conjunto de ítemsNTF =Número total de fallas observadas en esos ítems en el período

Tiempo promedio para reparar

Mide la distribución del tiempo de reparación de un equipo. Este indicador mide la efectividad en restituir la unidad a condiciones óptimas de operación una vez que la unidad se encuentra fuera de servicio por una falla, dentro de un período de tiempo det

TMC =Tiempo total en mantenimiento correctivo en un conjunto de ítems.NTF =Número total de fallas detectadas en esos ítems en el período

DisponibilidadEstimar en forma global el porcentaje de tiempo total en que se puede esperar que un equipo esté disponible para cumplir la función para la cual fue destinado.

TOP =Tiempo total de operación de un equipo en un período.TMN =Tiempo total en mantenimiento (preventivo, correctivo y otros) de ese equipo en el período.

NTFNoITxTOPTMEF

NTFTOP

TPPF

NTFTMC

TPPF

100xTMNTOP

TOPDisp

163

Page 164: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

164

Tabla 25. – Continuación.

Indice Objetivo Fórmula Descripción

Trabajo en mantenimiento programado

Mide la distribución del tiempo empleado por el personal en mantenimientos preventivos en relación con el tiempo total de disponibilidad del personal

TMP =Tiempo total empleado por el personal en mantenimientos preventivos en un período.TTD =Tiempo total de disponibilidad del pesonal en el período.

Trabajo en mantenimiento correctivo

Mide la distribución del tiempo empleado por el personal en mantenimientos correctivos o no programados en relación con el tiempo total de disponibilidad del personal

TMC =Tiempo total empleado por el personal en mantenimientos preventivos en un período.TTD =Tiempo total de disponibilidad del pesonal en el período.

Trabajo en otras actividades

Mide la distribución del tiempo empleado por el personal en actividades no ligadas al mantenimiento en relación con el tiempo total de disponibilidad del personal

TOA =Tiempo total empleado por el personal en actividades no ligadas a mantenimiento en un período.TTD =Tiempo total de disponibilidad del pesonal en el período.

Tiempo en espera de repuestos

Mide el tiempo promedio en que los equipos se encuentran en espera de repuestos en un período dado.

TER =Tiempo total en que los equipos se encuentran esperando repuestos en un período.TT =Tiempo total del período.

Tasa de frecuencia Accidentes

Mide la frecuencia de accidentes ocurridos al personal de mantenimiento en un período dado.

NoAcc =Número de accidentes ocurridos al personal de mantenimiento en un período de trabajo dado.HHTB =Tiempo total del período de horas hombre trabajadas.

100xTTDTMP

TMPt

100xTTDTMC

TMCt

100xTTD

TOATOAt

100xTTTER

TERt

HHTBAccNoTacc .

Page 165: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

4.6. Parámetros a ser considerados por el sistema automatizado para la programación y

seguimiento de las actividades de mantenimiento.

Se efectuaron reuniones con el presonal encargado del mantenimiento de las instituciones

policiales para determinaron cuales son los parámetros y campos de información que deben

considerarse en el desarrollo del sistema automatizado. Los parámetros servirán de base para

crear los campos de datos de la base de datos general del sistema. Cada parámetro puede dar

a lugar la creación de un campo o conjunto de campos de datos que guardan relación directa

con ese parámetro. Los campos de datos serán definidos en el siguiente objetivo mediante el

desarrollo del sistema automatizado. Como resultado de estas reuniones se definieron los

siguientes parámetros a considerar por el sistema automatizado:

Número o código de equipo o maquinaria.

Descripción de equipo o maquinaria.

Categoría de equipo o maquinaria.

Modelo de equipo o maquinaria.

Estatus de equipo o maquinaria.

Garantía de equipos o maquinarias.

Fabricante del equipo o maquinaria.

Criticidad de equipo o maquinaria

Número o código de locación o ubicación.

Descripción de la locación o ubicación.

Número o código de departamento.

Descripción de departamento.

Número o código de empleado.

Información del empleado.

Área de trabajo del empleado.

Tipo de acceso al sistema del empleado.

Número o código de parte.

Descripción de parte.

Ubicación de parte.

Nivel máximo en inventario de parte.

Nivel mínimo en inventario de parte.

Punto de reorden.

Recepción de partes.

Entrega de partes.

165

Page 166: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

166

Órdenes de compra de partes.

Número o código de proveedor.

Número o código de solicitud de trabajo.

Descripción de solicitud de trabajo.

Estatus de solicitud de trabajo.

Número o código de órden de trabajo.

Descripción de órden de trabajo.

Estatus de órden de trabajo.

Número o código de mantenimiento preventivo por fecha.

Descripción de mantenimiento preventivo por fecha.

Fecha de ejecución y próximo mantenimiento preventivo.

Número o código de mantenimiento preventivo por medidor.

Descripción de mantenimiento preventivo por medidor.

Medida de ejecución y próximo mantenimiento preventivo.

Número o código de actividad de mantenimiento preventivo.

Descripción de actividad de mantenimiento preventivo.

Page 167: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

4.7. Desarrollar el programa para computadoras con interfaz hombre-maquina amigable

con el objeto de hacer facil su operabilidad

Para desarrollar el código de programa del sistema automatizado es necesario establecer

una codificación para algunas variables que se manejarán en la aplicación. A continuación se

describe la codificación seleccionada y descripción para las variables indicadas.

Código para solicitudes de trabajo y órdenes de trabajo.

Para la identificación de las solicitudes y órdenes de trabajo se seleccionó un código de

diez cifras numéricas. Se utilizó el mismo código para estas dos variables para brindar facilidad

al usuario haciendo coincidir el número de solicitud con el número de la orden de trabajo,

aclarando que puede crearse una solicitud de trabajo sin generarse la orden de trabajo

correspondiente hasta que el usuario decida hacerlo.

Formato del código: XXXXXXXXXX = Número de solicitud u orden de trabajo.

Código para Empleados.

Para la identificación de los empleados se seleccionó un código de cuatro caracteres

alfanuméricos.

Formato del Código: XYYY, donde

X = Tipo de empleado

YYY = Número de empleado.

Código para Instrucciones.

Las instrucciones son listas de procedimientos que el personal debe seguir cuando

ejecuta las labores de mantenimiento de los equipos y maquinarias. Cada lista de instrucciones

presenta el procedimiento a seguir en forma secuencial de forma que el personal pueda verificar

que cada paso se vaya ejecutando y no permitir que se pase por alto alguno de ellos. Para la

identificación de las listas de instrucciones en el sistema se seleccionó un código de siete

caracteres alfanuméricos,

167

Page 168: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Formato del código: XXXXYYY, donde

XXXX = Identificador de tipo de instrucciones.

YYY = Número de actividad.

4.7.1. - Selección de lenguaje de programación

Para la selección de un lenguaje de programación uno de los puntos mas importantes a

considerar es el equilibrio de las características funcionales del lenguaje con aspectos como

costo, complejidad y soporte. También es importante considerar el tipo de aplicación que se

quiere desarrollar ya que dependiento de ésta existen lenguajes mas apropiados que otros. Los

lenguajes de programación han evolucionado desde los conocidos como “lenguajes de bajo

nivel” o “lenguajes de máquina” que se caracterízan por ser complicados en la programación. A

partir de éstos se inventaron nuevos lenguajes menos complicados y se creó una clasificación

llamada “generación del lenguaje”. Actualmente los lenguajes de programación se clasifican

como lenguajes de primera a quinta generación, lenguajes de programación orientada a objetos

y lenguajes de programación visual. Se realizó una investigación de los lenguajes de

programación actuales tomando en cuenta aspectos como facilidad, interactividad,

compatibilidad y soporte documental. Entre los lenguajes evaluados se encuentran FoxPro,

Clarion, Ms-Access, Sql, MySql, Delphi, Visual Basic, PowerBuilder y Php. Para la

programación de la aplicación a desarrollar en esta investigación se seleccionó un lenguaje de

consulta de bases de datos ya que el programa maneja gran cantidad de datos y a su vez un

lenguaje de programación orientado a objetos ya que permite dividir el programa en sub-

módulos o sub-aplicaciones cada una con programación independiente y con acceso a la

misma base de datos, lo que representa una gran ventaja y facilidad en la programación. Como

lenguaje de programación para el manejo de la base de datos se seleccionó el lenguaje SQL

(Structured Query Language) que es un lenguaje estándar de comunicación con bases de datos

y que por ser un lenguaje normalizado tiene la ventaja de trabajar con cualquier otro tipo de

lenguaje. Aparte de esta universalidad, el SQL posee otras dos características muy apreciadas:

por una parte, presenta una potencia y versatilidad notables que contrasta, por otra, con su

accesibilidad de aprendizaje. Por otra parte se seleccionó la aplicación Ms-Access para el

desarrollo de la interfaz de usuario del programa. El Ms-Access es un sistema de gestión de

datos, complatible con SQL, de fácil programación y cuyo lenguaje es orientado a objetos. Entre

las funcionalidades del Access se encuentran:

168

Page 169: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Crear tablas de datos indexadas.

Modificar tablas de datos.

Relacionar tablas (creación de bases de datos relacionales).

Creación de consultas y vistas.

Consultas de acción (crear, insertar, borrar y actualizar bases de datos).

Crear formularios.

Crear Informes en pantalla y reportes.

Para el desarrollo de la aplicación de computadoras para la programación y seguimiento

de las actividades de mantenimiento, objetivo de esta investigación, se seleccionó el Ms-Access

para la presentación en pantalla de los diferentes formatos que interactúan con el usuario para

llevar a cabo las funciones del programa. Estos formatos o formularios se utilizarán para realizar

los menús de opciones del programa, introducción de nuevos datos, modificación de datos,

consultas de datos, informes en pantalla y reportes por impresora.

4.7.2. - Método de programación para la aplicación

Se realizaron reuniones con el personal de informática de las instituciones y con

profesionales en el área de sistemas para determinar el método más apropiado para el manejo

de la base de datos del programa. Actualmente existen dos metodologías principales para el

desarrollo de aplicaciones para computadoras: la programación estructurada y la programación

orientada a objetos, ésta última muy ligada a la programación visual donde se le dá gran uso al

dispositivo apuntador de la computadora (conocido como “ratón” o “Mouse”). Aprovechando las

características de utilizar un lenguaje de programación orientada a objetos, el programa se

dividirá en varios módulos cada uno con código de programa propio y con una función propia

dependiendo de la acción que el usuario quiera realizar con el programa. Esta metodología es

común en las aplicaciones desarrolladas con lenguajes de programación orientada a objetos, en

las cuales se crea un menú principal con todas las opciones que ofrece el programa y el usuario

selecciona una de las opciones; también tiene la ventaja de permitir una mejor organización del

programa y una depuración mas rápida al momento de corregir errores de código. Se utilizará

entonces la programación orientada a objetos para el desarrollo de la aplicación del sistema

automatizado para la programación y seguimiento de las actividades de mantenimiento en

instituciones policiales y se dividirá en varios módulos de programa. La cantidad de módulos de

sub-aplicaciones que integrarán el sistema automatizado completo se definirán en el siguiente

punto.

169

Page 170: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

4.7.3. - Subprogramas que conforman la aplicación

En base a la revisión y evaluación de aplicaciones para computadoras existentes en el

mercado diseñadas para el mantenimiento y los requerimientos de las instituciones policiales se

realizaron reuniones de trabajo con el personal de mantenimiento de estas instituciones para

definir como estará conformado el programa a desarrollar. Como resultdo se acordó que el

sistema automatizado estará conformado por los siguientes módulos de programa:

Módulo de equipos.

Módulo de sitios o ubicaciones.

Módulo de personal.

Módulo de solicitudes de trabajo.

Módulo de órdenes de trabajo.

Módulo de mantenimiento preventivo (Fechas).

Módulo de mantenimiento preventivo (Medidores).

Módulo de seguridad de acceso.

Módulo de actividades.

Módulo de informes.

Módulo de inventario.

A continuación se describe el funcionamiento que tendrá cada uno de estos módulos:

Módulo de equipos: se utilizará para el manejo de la información de los bienes de cada

institución. Entre sus funciones estará la creación, modificación y consulta de datos

referente a los equipos.

Módulo de sitios o ubicaciones: se utilizará para el manejo de la información de los

lugares o sitios donde se encuentren instalados o asignados los equipos de cada

institución. Permitirá crear, modificar, borrar y modificar los datos referentes a las

locaciones.

Módulo de personal: se utilizará para el manejo de la información del personal de

mantenimiento o empleados de los departamentos responsables de algún equipo en

cada institución. Permitirá crear, modificar, consultar y borrar los datos referentes a los

empleados.

170

Page 171: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

Módulo de solicitudes de trabajo: se utilizará para el manejo de la información de las

solicitudes de trabajo creadas por algún usuario que requiera una labor de

mantenimiento o reparación para un equipo. Permitirá crear, modificar y consultar los

datos referentes a las siolicitudes de trabajo.

Módulo de órdenes de trabajo: se utilizará para el manejo de la información de las

órdenes de trabajo creadas por solicitud de algún usuario o generadas automáticamente

por el sistema. Permitirá crear, modificar y consultar los datos referentes a las órdenes

de trabajo.

Módulo de mantenimiento preventivo (por fechas): se utilizará para el manejo de la

información de las actividades de mantenimiento preventivo que se ejecutan a intervalos

regulares de tiempo establecidos por cada institución. Permitirá crear, modificar,

consultar y eliminar datos referentes al mantenimiento preventivo por fechas.

Módulo de mantenimiento preventivo (por medidores): se utilizará para el manejo de

la información de las actividades de mantenimiento preventivo que se ejecutan de

acuerdo a la lectura de un medidor de alguna variable que genera el equipo. Ejemplo de

estas variables son el kilometraje de un vehículo, la cantidad de litros de un surtidor de

gasolina, etc. Permitirá crear, modificar, consultar y eliminar datos referentes al

mantenimiento preventivo por medidores.

Módulo de seguridad de acceso: se utilizará para el manejo de la información de los

usuarios que tienen acceso al programa y a crear, modificar, borrar o consultar datos en

el mismo. De acuerdo a un nivel de acceso que se creará cada usuario del sistema

tendrá diferentes facultades o permisos para utilizar cada módulo del programa.

Módulo de actividades: se utilizará para el manejo de la información de las actividades

de mantenimiento preventivo que se ejecuten a los equipos y maquinarias de las

instituciones policiales. Permitirá crear, modificar, borrar y consultar los datos referentes

a las actividades de mantenimiento del sistema.

Módulo de informes: se utilizará para la creación de informes en pantalla y reportes en

impresora solicitados por un usuario y donde la información puede ser filtrada por alguna

variable dada por sistema como por ejemplo, fecha, número de equipo, historial, órden

de trabajo, etc.

171

Page 172: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

172

Módulo de inventario: se utilizará para el manejo de la información de las partes

componentes del inventario de cada institución. Manejará los conceptos y técnicas

básicas empleadas en el manejo de inventarios asi como la posibilidad de filtrar la

información según variables como número de parte, ubicación, partes entregadas y

otras.

Para seleccionar cada uno de los módulos mencionados se utilizará un menú de opciones

que consiste en un despliegue en pantalla de varios botones de opciones que pueden ser

seleccionados utilizando el dispositivo puntero del computador, conocido comúnmente como

“ratón” o “mouse” y oprimiendo el botón de selección del mismo, generalmente el botón

izquierdo. Cada uno de los módulos abrirá a su vez otros despliegues, llamados también

“formularios” que ofrecerán al usuario otras opciones de selección o realizar algún tipo de

consulta de información. Cada vez que se cierra un formulario, el programa abrirá el formulario

anterior al que se cerró. De esta manera, el usuario tendrá la posibilidad de volver mas

rápidamente a un formulario cerrado por error, en vez de volver al menú principal y realizar toda

la operación nuevamente.

El programa a desarrollar tendrá también la posibilidad de ser interrumpido en cualquier

momento y en cualquier módulo de programa para revisar o modificar el código fuente del

mismo. Esto permite a un usuario, con cierta experiencia en programación, agregar o mejorar el

sistema creando nuevas características funcionales que puedan ser requeridas en un futuro

dado, modificar el comportamiento del programa o cambiar la presentación de los formularios

generando asi actualizaciones al programa original.

Se desarrollará entonces, una aplicación conformada por módulos individuales con

programación propia, con acceso a la misma base de datos y con código de programación

abierto para permitir mejoras y actualizaciones del mismo.

Page 173: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

173

4.7.4. – Desarrollo del sistema automatizado.

En este punto se desarrolla el sistema automatizado para la programación y seguimiento

de las actividades de mantenimiento. El sistema automatizado consiste en un programa para

computadoras organizado en módulos de programa con código propios que tienen acceso a

una misma base de datos. Una base de datos es un conjunto de elementos diseñados para

combinar datos procedentes de varias fuentes en una o varias tablas. Los elementos de una

base de datos pueden ser tablas de información, formularios, consultas y reportes, y son

representados cada uno como un objeto. Las tablas son objetos que contienen información de

un tópico o tema determinado. Cada tabla contiene uno o varios campos que contienen la

información específica de una variable determinada realacionada con la tabla. El bloque básico

del diseño de una base de datos es la tabla. Las tablas están formadas por columnas (también

denominadas campos), y por filas (también denominadas registros). Un campo alberga un

determinado tipo de datos, como por ejemplo un nombre o número de equipo; mientras que un

registro posee un conjunto completo de campos relativos a una entidad, como por ejemplo el

nombre, ubicación y número de un equipo. Así mismo, las tablas pueden o no relacionarse

entre sí según se especifique en la creación de la base de datos.

4.7.4.1. - Tablas utilizadas para almacenamiento de información

A continuación se describen las tablas utilizadas por el sistema desarrollado en las cuales

se almacena toda la información y datos que requiere el usuario para el manejo oportuno de las

actividades de mantenimiento de cada equipo. Se indican los campos que posee cada una de

las tablas y en el siguiente punto, referente a los formularios del sistema, se indicara el uso que

tienen los campos.

Tabla de ajustes: esta tabla se utiliza para realizar ajustes de inventario siempre y

cuando el usuario este autorizado por el sistema. Los campos de esta tabla son los

siguientes: número de ajuste, número de stock, fecha, persona que realiza el ajuste,

cantidad a ajustar, observaciones, precio, y código de sitio.

Tabla de asignaciones: esta tabla se utiliza para asignar al personal correspondiente

las órdenes de trabajo que hayan sido generadas y mantener la información pertinente a

la orden de trabajo y el solicitante de la misma. Los campos de esta tabla son los

siguientes: número de orden de trabajo, tipo de trabajo, estatus del trabajo, descripción

del problema, fecha de recepción, fecha requerida, solicitante, teléfono de trabajo,

Page 174: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

174

teléfono de habitación, teléfono celular y asignación.

Tabla de categoría de equipos: esta tabla se utiliza para almacenar el tipo de equipo

existente en la institución. La categoría de equipos es una clasificación genérica que

indica al usuario información sencilla acerca del equipo. La categoría de equipos puede

ser: aire acondicionado, motor, vehiculo normal, vehículo rústico, compresor, etc.,

campos que no proporcionan detalle del equipo. Los campos de esta tabla son: código

de categoría y nombre de categoría.

Tabla de Equipos: esta tabla almacena toda la información de los equipos o activos que

posee la institución. Como es una tabla con información bastante detallada los campos

de la misma son los siguientes: número de equipo, descripción del equipo, empleado

responsable, número de ubicación, código de categoría, estatus del equipo, modelo,

serial, fecha de adquisición, fecha de venta, precio de compra, valor de salvamento,

valor actual, observaciones, información adicional, fecha de próximo mantenimiento,

número de garantía, fecha de expiración de contrato, observaciones sobre garantía,

empresa que cubre la garantía, vendedor, número de lista de partes, número de

departamento, número de causa de falla, criticidad, fecha de desincorporación,

observaciones, número de equipo mayor al que pertenece (si aplica), número de equipo

equivalente, archivos externos, descripción de archivos externos, tiempo de vida

estimado y fabricante.

Tabla estatus del equipo: esta tabla almacena la información del estado en que se

encuentra el equipo o activo. Los campos de esta tabla son: número de estatus y

descripción del estatus. Los valores de este último pueden ser: activo, inactivo,

desincorporado, extraviado y en almacén.

Tabla área de atención: esta tabla guarda los valores del área general de atención de

los equipos y nos expresa el tipo de personal debe asistir al equipo en caso de cualquier

tipo de mantenimiento. Solo contiene un campo y este puede tener los siguientes

valores: A/A (aire acondicionado), carpintería, civil, computación, electricidad y

mecánica.

Tabla de criticidad: esta tabla se utiliza para almacenar los valores de criticidad que

puedan tener cada uno de los equipos. Solo tiene un campo y éste puede asumir

cualquiera de los siguientes valores: critica, mediana o normal dependiendo de la

criticidad que se asuma para el equipo.

Page 175: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

175

Tabla de departamentos: esta tabla se utiliza para guardar los nombres de los

diferentes departamentos que tiene la empresa. Los campos de esta tabla son: número

de departamento y descripción del departamento. Los departamentos asignados a esta

tabla son: administración, operaciones, comunicaciones, informática, servicios

generales, taller y depósito.

Tabla de entregas: esta tabla se utiliza para guardar la información referente a las

partes que han sido entregadas por el depósito o almacén donde se tienen todos los

repuestos y suministros de taller. Los campos para esta tabla son los siguientes: número

de entrega, descripción de stock, fecha, número de orden de compra, número de orden

de trabajo, cantidad, precio y código del sitio.

Tabla de empleados: esta tabla se utiliza para almacenar la información detallada de

las personas que tengan algún tipo de relación con la institución o empresa. Estas

personas son categorizadas en dos grandes grupos: empleados o clientes. Los campos

para esta tabla son los siguientes: número de empleado, nombre, cargo, departamento,

número telefónico de trabajo, extensión, número telefónico celular, número de fax,

número telefónico de habitación, dirección, ubicación de oficina, salario, sobretiempos,

categoría (empleado o cliente), acceso (a los módulos de programas del sistema),

identificación, contraseña, acceso a ajustes(si o no) y área de trabajo.

Tabla de causas de falla: esta tabla se utiliza para almacenar la información de la

descripción de las fallas que vayan ocurriendo a medida que se utilice cada equipo a

través de su vida útil. Es una tabla acumulativa de manera que la información en ella

crece constantemente según sea alimentada por el usuario con datos de nuevas fallas

detectadas. Los campos de esta tabla son los siguientes: código de falla y descripción

de falla.

Tabla de ubicaciones de sitios: esta tabla almacena la información sobre las

locaciones o sitios donde puedan ser ubicados los equipos o activos de la empresa.

Estas locaciones pueden ser oficinas, áreas externas, áreas de taller, depósitos,

corredores, etc. Los campos para esta tabla son los siguientes: número de ubicación,

descripción, observaciones, departamento y criticidad.

Tabla de lista de partes: esta tabla se utiliza para almacenar las listas de repuestos o

partes de los equipos. Cada lista de partes puede contener uno o varios componentes,

Page 176: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

176

lo que significa que puede ser un kit de repuestos o un solo componente. Los campos de

esta tabla son los siguientes: número de lista de partes y descripción de lista de partes.

Tabla de detalles de lista de partes: esta tabla complementa la tabla “lista de partes”.

Se utiliza para guardar la información de los componentes de cada lista de partes. En el

caso de un kit de repuestos en esta tabla se detallan cada uno de los componentes del

kit. Los campos para esta tabla son los siguientes: número de detalle de lista, número de

factura, número de lista de partes, descripción de la parte y cantidad de partes.

Tabla de lista de tareas de mantenimiento preventivo: esta tabla sirve para

almacenar la información referente a cada una de las listas que contienen las

actividades a desarrollar durante la ejecución de un mantenimiento preventivo de un

equipo. Los campos para esta tabla son los siguientes: número de lista, nombre de lista,

tareas o actividades, horas estimadas de labor, nombre de archivo externo (si existe).

Tabla de proyecciones de mantenimiento preventivo: esta tabla contiene los

mantenimientos preventivos proyectados por el sistema a petición del usuario para un

equipo en particular. Contiene las fechas de inicio y de fin del mantenimiento preventivo

de acuerdo a la duración de las tareas o actividades que se han de ejecutar en un

período dado por el usuario. Los campos de esta tabla son los siguientes: descripción

del equipo, número de mantenimiento preventivo, número de lista de tareas, frecuencia

de mantenimiento preventivo, fecha de inicio, fecha de fin y próxima fecha.

Tabla de medidores de mantenimiento preventivo: esta tabla se utiliza para guardar

la información necesaria para realizar mantenimientos preventivos basados en

mediciones, es decir, en las lecturas tomadas en instrumentos de medición de una

variable. Por ejemplo, se puede generar una orden de mantenimiento preventivo basado

en la lectura del medidor de kilometraje de un vehiculo, o del medidor de litros surtidos

de una bomba de gasolina o del medidor de copias sacadas de una máquina

fotocopiadora. Esta tabla también sirve para generar órdenes de mantenimiento

preventivo según si las lecturas de un medidor de un equipo estén por debajo o por

encima de un valor predeterminado, como por ejemplo en el caso de un compresor de

aire o la bomba de aceite de un vehículo. Los campos para esta tabla son los siguientes:

número de medidor, descripción, equipo al que pertenece, ubicación, tipo de medidor,

límite inferior, límite superior, última lectura, tarea si valor esta debajo de límite inferior,

tarea si valor esta por encima de límite superior, tarea en condiciones normales,

unidades de medición, lectura inicial, incremento, lectura para próximo mantenimiento

Page 177: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

177

preventivo, período, frecuencia, unidad de frecuencia, fecha inicial de toma de lectura,

fecha de inicio de mantenimiento preventivo, fecha de fin de mantenimiento preventivo,

próxima fecha, contador de mantenimientos preventivos y área de trabajo.

Tabla de programación o calendario de mantenimiento preventivo: esta tabla se

utiliza para llevar el control de la ejecución de los mantenimientos preventivos según la

fecha programada. Los campos de esta tabla son los siguientes: número de

mantenimiento preventivo, nombre del mantenimiento preventivo, número de equipo,

ubicación, número de lista de tareas, período, tipo de trabajo, frecuencia, unidades de

frecuencia, fecha de inicio de mantenimiento, fecha de fin de mantenimiento, próxima

fecha de mantenimiento, tipo de mantenimiento preventivo, área de trabajo, semana de

mes y día de la semana.

Tabla de evaluación: esta tabla almacena los datos referentes a la evaluación que

puede ser dada a un trabajo cuando éste es finalizado. Esta tabla tiene los campos:

valor y descripción de la evaluación. El primer campo puede tomar valores desde 1

hasta 6 y el segundo campo puede ser: pobre, regular, bueno, muy bueno, excelente y

sin evaluar.

Tabla de recepción de partes: esta tabla se utiliza para llevar la información de las

partes que se reciben en almacén y son introducidas al inventario. Los campos para esta

tabla son: número de recepción, código de stock, descripción de stock, fecha de

recepción, vendedor, cantidad recibida, número de orden de compra y precio.

Tabla de nombres de reportes: esta tabla lleva la lista de todos los reportes o informes

que puede generar el sistema. Los campos de esta tabla son los siguientes: número de

reporte, nombre del reporte y grupo de reporte.

Tabla de devoluciones: esta tabla se utiliza para guardar la información que se genera

cuando un equipo o parte es devuelta por la empresa o institución. Los campos de esta

tabla son los siguientes: número de devolución, número de stock, cantidad, fecha,

persona, departamento, observaciones, número de orden de compra y precio de

devolución (puede ser diferente al de compra).

Tabla de códigos de stock: esta tabla se utiliza en el manejo de inventarios para llevar

la información de la existencia de las partes en almacén incluyendo los niveles máximo,

mínimo y precios de las mismas. Los campos para esta tabla son los siguientes: número

Page 178: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

178

de stock, descripción, unidad de medida, área de atención, estatus, ubicación, nivel

máximo, nivel mínimo, precio, observaciones, tiempo de espera, precio promedio,

balance de stock e información sobre la orden.

Tabla de proveedores: esta tabla almacena la información detallada sobre los

proveedores de la empresa. Los campos de la misma son los siguientes: número de

proveedor, nombre de proveedor, persona contacto, cargo de persona contacto,

dirección, ciudad, código postal, estado, país, número telefónico, número de fax,

servicios que presta y correo electrónico.

4.7.4.2. – Formularios

Los formularios son objetos de una base de datos que facilitan la visualización de los

datos y la interacción del usuario con la misma. En lugar de presentar los datos en forma de

cuadrícula, la creación de formularios para la visualización de los datos de las tablas y consultas

permite organizar los campos en el formulario y añadir texto descriptivo para una mayor

comprensión del contenido del formulario. También es posible utilizar un formulario para

introducir nuevos registros en una tabla. A continuación se muestran los formularios utilizados

en el sistema automatizado indicando su utilización, los campos que poseen y el código de

programa para cada uno de ellos.

Formulario Menu Principal

Figura 7. – Formulario Menú Principal.

Page 179: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

179

El Formulario Menu Principal muestra todas las opciones de módulos de programa a los

cuales el usuario puede acceder si esta autorizado para ello. Este menú muestra las opciones:

Equipos, Personal, Ubicaciones, Acceso, Reportes, Órdenes de Trabajo, Solicitud, Inventario,

Listados, Mantenimiento preventivo y Salir del Sistema. Cada una de estas opciones pueden

ser seleccionadas mediante la acción del botón izquierdo del ratón y cada una de ellas abre el

módulo de programa que corresponda. Dependiendo del nivel de autorización que tenga cada

usuario del programa éste tendrá acceso a más o menos módulos del sistema. El código

perteneciente a este módulo o formulario de Menú principal es el siguiente:

'*********************** ' ' MENU PRINCIPAL ' '*********************** Option Compare Database Private Sub Admin1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) HighlightMe Admin1.Name End Sub Private Sub Mas1_Click() End Sub Private Sub WR1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) HighlightMe WR1.Name End Sub Private Sub Asset1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) HighlightMe Asset1.Name End Sub Private Sub Detail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) HighlightMe Detail.Name End Sub Private Sub Emp1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) HighlightMe Emp1.Name End Sub Private Sub Exit_Click() DoCmd.Close DoCmd.OpenForm "CierreForm" End Sub Private Sub Exit_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) HighlightMe "Exit" End Sub

Page 180: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

180

Private Sub Form_Activate() DoCmd.Restore ReCheckMe End Sub Private Sub Form_Deactivate() DoCmd.Minimize End Sub Private Sub ReCheckMe() AssLevel = DLookup("Accessibility", "employees", "EmployeeNo='" & StaffNo & "'") If InStr(1, AssLevel, 1) > 0 Then Me.WO1.Visible = True Me.WO1.HyperlinkSubAddress = "Form OTListaForm" Else Me.WO1.Visible = False Me.WO1.HyperlinkSubAddress = "" End If If InStr(1, AssLevel, 2) > 0 Then Me.Asset1.Visible = True Me.Asset1.HyperlinkSubAddress = "Form ListaEqForm" Else Me.Asset1.Visible = False Me.Asset1.HyperlinkSubAddress = "" End If If InStr(1, AssLevel, 3) > 0 Then Me.Loc1.Visible = True Me.Loc1.HyperlinkSubAddress = "Form ListaUbicacForm" Else Me.Loc1.Visible = False Me.Loc1.HyperlinkSubAddress = "" End If If InStr(1, AssLevel, 4) > 0 Then Me.Pre1.Visible = True Me.Pre1.HyperlinkSubAddress = "Form MPMenuPrincipal" Else Me.Pre1.Visible = False Me.Pre1.HyperlinkSubAddress = "" End If If InStr(1, AssLevel, 5) > 0 Then Me.Emp1.Visible = True Me.Emp1.HyperlinkSubAddress = "Form ListaEmpleadosForm" Else Me.Emp1.Visible = False Me.Emp1.HyperlinkSubAddress = "" End If If InStr(1, AssLevel, 6) > 0 Then Me.Inv1.Visible = True Me.Inv1.HyperlinkSubAddress = "Form InventarioForm" Else Me.Inv1.Visible = False Me.Inv1.HyperlinkSubAddress = "" End If If InStr(1, AssLevel, 7) > 0 Then Me.Mas1.Visible = True

Page 181: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

181

Me.Mas1.HyperlinkSubAddress = "Form Lista General" Else Me.Mas1.Visible = False Me.Mas1.HyperlinkSubAddress = "" End If If InStr(1, AssLevel, 8) > 0 Then Me.Rep1.Visible = True Me.Rep1.HyperlinkSubAddress = "Form MenuReportes" Else Me.Rep1.Visible = False Me.Rep1.HyperlinkSubAddress = "" End If If InStr(1, AssLevel, 9) > 0 Then Me.Admin1.Visible = True Me.Admin1.HyperlinkSubAddress = "Form AdminPerm" Else Me.Admin1.Visible = False Me.Admin1.HyperlinkSubAddress = "" End If If InStr(1, AssLevel, 0) > 0 Then Me.WR1.Visible = True Me.WR1.HyperlinkSubAddress = "Form OTListaSolicForm" Else Me.WR1.Visible = False Me.WR1.HyperlinkSubAddress = "" End If End Sub Private Sub Form_Open(Cancel As Integer) Me.Caption = DLookup("[compname]", "userinfo", "") & " [Usuario: " & PWuser & "]" AssLevel = DLookup("Accessibility", "employees", "EmployeeNo='" & StaffNo & "'") If InStr(1, AssLevel, 1) > 0 Then Me.WO1.Visible = True Me.WO1.HyperlinkSubAddress = "Form OTListaForm" End If If InStr(1, AssLevel, 2) > 0 Then Me.Asset1.Visible = True Me.Asset1.HyperlinkSubAddress = "Form ListaEqForm" End If If InStr(1, AssLevel, 3) > 0 Then Me.Loc1.Visible = True Me.Loc1.HyperlinkSubAddress = "Form ListaUbicacForm" End If If InStr(1, AssLevel, 4) > 0 Then Me.Pre1.Visible = True Me.Pre1.HyperlinkSubAddress = "Form MPMenuPrincipal" End If If InStr(1, AssLevel, 5) > 0 Then Me.Emp1.Visible = True Me.Emp1.HyperlinkSubAddress = "Form ListaEmpleadosForm" End If If InStr(1, AssLevel, 6) > 0 Then Me.Inv1.Visible = True

Page 182: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

182

Me.Inv1.HyperlinkSubAddress = "Form InventarioForm" End If If InStr(1, AssLevel, 7) > 0 Then Me.Mas1.Visible = True Me.Mas1.HyperlinkSubAddress = "Form Lista General" End If If InStr(1, AssLevel, 8) > 0 Then Me.Rep1.Visible = True Me.Rep1.HyperlinkSubAddress = "Form MenuReportes" End If If InStr(1, AssLevel, 9) > 0 Then Me.Admin1.Visible = True Me.Admin1.HyperlinkSubAddress = "Form AdminPerm" End If If InStr(1, AssLevel, 0) > 0 Then Me.WR1.Visible = True Me.WR1.HyperlinkSubAddress = "Form OTListaSolicForm" End If Dim rs As DAO.Recordset Set dbSICAM = CurrentDb Set rs = dbSICAM.OpenRecordset("SELECT Count(MeterNo) FROM PmMetersToGenerate") If rs.EOF = False Then If rs.Fields(0) > 0 Then DoCmd.OpenForm "MPMedidEmergForm" Forms("MPMedidEmergForm").Label0.Caption = "Hay " + CStr(rs.Fields(0)) + " OT's preventiva (s) basada en medidores que ha cumplido con los criterios de generación del día. Desea proceder a generarla (s)?" End If End If rs.Close Set rs = Nothing Set dbSICAM = Nothing End Sub Private Sub Img1_Click() End Sub Private Sub Inv1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) HighlightMe Inv1.Name End Sub Private Sub Label286_Click() DoCmd.Quit End Sub Private Sub HighlightMe(CN As String) Me.WO1.SpecialEffect = IIf(UCase(CN) = UCase(Me.WO1.Name), 4, 0) Me.Asset1.SpecialEffect = IIf(UCase(CN) = UCase(Me.Asset1.Name), 4, 0) Me.Loc1.SpecialEffect = IIf(UCase(CN) = UCase(Me.Loc1.Name), 4, 0) Me.Pre1.SpecialEffect = IIf(UCase(CN) = UCase(Me.Pre1.Name), 4, 0) Me.Emp1.SpecialEffect = IIf(UCase(CN) = UCase(Me.Emp1.Name), 4, 0) Me.Inv1.SpecialEffect = IIf(UCase(CN) = UCase(Me.Inv1.Name), 4, 0) Me.PO1.SpecialEffect = IIf(UCase(CN) = UCase(Me.PO1.Name), 4, 0)

Page 183: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

183

Me.Mas1.SpecialEffect = IIf(UCase(CN) = UCase(Me.Mas1.Name), 4, 0) Me.Rep1.SpecialEffect = IIf(UCase(CN) = UCase(Me.Rep1.Name), 4, 0) Me.Admin1.SpecialEffect = IIf(UCase(CN) = UCase(Me.Admin1.Name), 4, 0) Me.Exit.SpecialEffect = IIf(UCase(CN) = UCase(Me.Exit.Name), 4, 0) Me.WR1.SpecialEffect = IIf(UCase(CN) = UCase(Me.WR1.Name), 4, 0) Me.WR1.BorderStyle = IIf(UCase(CN) = UCase(Me.WR1.Name), 1, 0) Me.WO1.BorderStyle = IIf(UCase(CN) = UCase(Me.WO1.Name), 1, 0) Me.Asset1.BorderStyle = IIf(UCase(CN) = UCase(Me.Asset1.Name), 1, 0) Me.Loc1.BorderStyle = IIf(UCase(CN) = UCase(Me.Loc1.Name), 1, 0) Me.Pre1.BorderStyle = IIf(UCase(CN) = UCase(Me.Pre1.Name), 1, 0) Me.Emp1.BorderStyle = IIf(UCase(CN) = UCase(Me.Emp1.Name), 1, 0) Me.Inv1.BorderStyle = IIf(UCase(CN) = UCase(Me.Inv1.Name), 1, 0) Me.PO1.BorderStyle = IIf(UCase(CN) = UCase(Me.PO1.Name), 1, 0) Me.Mas1.BorderStyle = IIf(UCase(CN) = UCase(Me.Mas1.Name), 1, 0) Me.Rep1.BorderStyle = IIf(UCase(CN) = UCase(Me.Rep1.Name), 1, 0) Me.Admin1.BorderStyle = IIf(UCase(CN) = UCase(Me.Admin1.Name), 1, 0) Me.Exit.BorderStyle = IIf(UCase(CN) = UCase(Me.Exit.Name), 1, 0) End Sub Private Sub Loc1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) HighlightMe Loc1.Name End Sub Private Sub Mas1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) HighlightMe Mas1.Name End Sub Private Sub PO1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) HighlightMe PO1.Name End Sub Private Sub Pre1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) HighlightMe Pre1.Name End Sub Private Sub Rep1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) HighlightMe Rep1.Name End Sub Private Sub WO1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) HighlightMe WO1.Name End Sub

Page 184: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

184

Formulario Lista de Equipos Figura 8. – Formulario Lista de Equipos. El Formulario Lista de Equipos muestra todos los equipos o activos de la empresa y lleva

un registro detallado de cada uno de ellos. Este formulario permite clasificar y buscar los

equipos según el criterio que se seleccione los cuales son: número de equipo, descripción,

ubicación, departamento, tipo, persona responsable, modelo, fabricante, garantía y fecha de

compra. Seleccionando uno de los equipos de la lista y haciendo “doble click” sobre él, se abrirá

un formulario mas detallado sobre el equipo. Este último formulario es el mismo que se utiliza

para introducir un equipo nuevo, como se muestra en el punto 4.3, solo que todos los campos

contienen información.

Los botones de la parte inferior del formulario “Lista de equipos” permiten ingresar un

nuevo equipo al sistema, ver todos los equipos, exportar el listado a una hoja de cálculo Excel,

ver el historial de las órdenes de trabajo y cerrar el formulario. En la parte inferior izquierda se

muestra la cantidad de registros o de equipos existentes en el sistema. El código de este

formulario se muestra a continuación:

'******************* ' ' Lista de Equipos ' '******************* Option Explicit Dim sel, Sortby, sqlline As String

Page 185: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

185

Dim fld As Integer Private Sub asgn_Click() fld = 5 Me.DataList.RowSource = "SELECT assetstatus.AssetStatusDesc FROM assetstatus ORDER BY assetstatus.AssetStatusDesc;" End Sub Private Sub Command103_Click() On Error GoTo Err_Command103_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "ListaEqServ" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Command103_Click: Exit Sub Err_Command103_Click: MsgBox err.Description Resume Exit_Command103_Click End Sub Private Sub Command104_Click() fld = 13 Me.DataList.RowSource = "SELECT LocationNo FROM Location Order By LocationNo" End Sub Private Sub Command105_Click() On Error GoTo Err_Command105_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "RelacEqForm" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Command105_Click: Exit Sub Err_Command105_Click: MsgBox err.Description Resume Exit_Command105_Click End Sub Private Sub Command115_Click() Me.AssTo = Null End Sub Private Sub Command116_Click() fld = 14 Me.DataList.RowSource = "SELECT suppliers.SupplierNo FROM suppliers ORDER BY suppliers.SupplierNo;" End Sub Private Sub Command117_Click() Me.Text115 = Null End Sub Private Sub Command119_Click() If Not IsNull(Me.WType) Then sqlline = sqlline & "Assets.AssetNumber like '" & Me.WType & "*' " End If

Page 186: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

186

If Not IsNull(Me.WStatus) Then If Not IsNull(Me.WType) Then sqlline = sqlline & "And " sqlline = sqlline & "Assets.AssetDescription like '" & Me.WStatus & "*' " End If If Not IsNull(Me.WNO) Then If Not IsNull(Me.WType) Or Not IsNull(Me.WStatus) _ Then sqlline = sqlline & "And " sqlline = sqlline & "Assets.LocationNo IN (" & Left(Me.WNO, Len(Me.WNO) - 1) & ")" End If If Not IsNull(Me.Reqtr) Then If Not IsNull(Me.WType) Or Not IsNull(Me.WStatus) Or Not IsNull(Me.WNO) _ Then sqlline = sqlline & "And " sqlline = sqlline & "Location.LocationDescription like '" & Me.Reqtr & "*' " End If If Not IsNull(Me.AssTo) Then If Not IsNull(Me.WType) Or Not IsNull(Me.WStatus) Or Not IsNull(Me.WNO) _ Or Not IsNull(Me.Reqtr) Then sqlline = sqlline & "And " sqlline = sqlline & "AssetStatus.AssetStatusDesc IN (" & Left(Me.AssTo, Len(Me.AssTo) - 1) & ")" End If If Not IsNull(Me.DeptNo) Then If Not IsNull(Me.WType) Or Not IsNull(Me.WStatus) Or Not IsNull(Me.WNO) _ Or Not IsNull(Me.Reqtr) Or Not IsNull(Me.AssTo) _ Then sqlline = sqlline & "And " sqlline = sqlline & "Assets.DepartmentNo IN (" & Left(Me.DeptNo, Len(Me.DeptNo) - 1) & ")" End If If Not IsNull(Me.AssCat) Then If Not IsNull(Me.WType) Or Not IsNull(Me.WStatus) Or Not IsNull(Me.WNO) _ Or Not IsNull(Me.Reqtr) Or Not IsNull(Me.AssTo) Or Not IsNull(Me.DeptNo) _ Then sqlline = sqlline & "And " sqlline = sqlline & "Assets.AssetCatCode IN (" & Left(Me.AssCat, Len(Me.AssCat) - 1) & ")" End If If Not IsNull(Me.AuthE) Then If Not IsNull(Me.WType) Or Not IsNull(Me.WStatus) Or Not IsNull(Me.WNO) _ Or Not IsNull(Me.Reqtr) Or Not IsNull(Me.AssTo) _ Or Not IsNull(Me.DeptNo) Or Not IsNull(Me.AssCat) _ Then sqlline = sqlline & "And " sqlline = sqlline & "Assets.EmployeeNo IN (" & Left(Me.AuthE, Len(Me.AuthE) - 1) & ")" End If If Not IsNull(Me.ModalNo) Then If Not IsNull(Me.WType) Or Not IsNull(Me.WStatus) Or Not IsNull(Me.WNO) _ Or Not IsNull(Me.Reqtr) Or Not IsNull(Me.AssTo) _ Or Not IsNull(Me.DeptNo) Or Not IsNull(Me.AssCat) Or Not IsNull(Me.AuthE) _ Then sqlline = sqlline & "And " sqlline = sqlline & "Assets.ModelNumber like '" & Me.ModalNo & "*' " End If If Not IsNull(Me.MFac) Then If Not IsNull(Me.WType) Or Not IsNull(Me.WStatus) Or Not IsNull(Me.WNO) _ Or Not IsNull(Me.Reqtr) Or Not IsNull(Me.AssTo) _

Page 187: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

187

Or Not IsNull(Me.DeptNo) Or Not IsNull(Me.AssCat) Or Not IsNull(Me.AuthE) _ Or Not IsNull(Me.ModalNo) _ Then sqlline = sqlline & "And " sqlline = sqlline & "Assets.Manufacturer IN (" & Left(Me.MFac, Len(Me.MFac) - 1) & ")" End If If Not IsNull(Me.Supp) Then If Not IsNull(Me.WType) Or Not IsNull(Me.WStatus) Or Not IsNull(Me.WNO) _ Or Not IsNull(Me.Reqtr) Or Not IsNull(Me.AssTo) _ Or Not IsNull(Me.DeptNo) Or Not IsNull(Me.AssCat) Or Not IsNull(Me.AuthE) _ Or Not IsNull(Me.ModalNo) Or Not IsNull(Me.MFac) _ Then sqlline = sqlline & "And " sqlline = sqlline & "Assets.Contractor IN (" & Left(Me.Supp, Len(Me.Supp) - 1) & ")" End If If Not IsNull(Me.Text115) Then If Not IsNull(Me.WType) Or Not IsNull(Me.WStatus) Or Not IsNull(Me.WNO) _ Or Not IsNull(Me.Reqtr) Or Not IsNull(Me.AssTo) _ Or Not IsNull(Me.DeptNo) Or Not IsNull(Me.AssCat) Or Not IsNull(Me.AuthE) _ Or Not IsNull(Me.ModalNo) Or Not IsNull(Me.MFac) Or Not IsNull(Me.Supp) _ Then sqlline = sqlline & "And " sqlline = sqlline & "Assets.Vendor IN (" & Left(Me.Text115, Len(Me.Text115) - 1) & ")" End If If Not IsNull(Me.WDate2) Then If Not IsNull(Me.WType) Or Not IsNull(Me.WStatus) Or Not IsNull(Me.WNO) _ Or Not IsNull(Me.Reqtr) Or Not IsNull(Me.AssTo) _ Or Not IsNull(Me.DeptNo) Or Not IsNull(Me.AssCat) Or Not IsNull(Me.AuthE) _ Or Not IsNull(Me.ModalNo) Or Not IsNull(Me.MFac) Or Not IsNull(Me.Supp) Or Not IsNull(Me.Text115) _ Then sqlline = sqlline & "And " sqlline = sqlline & "Assets.Warranty_ContractExpiry Between #" & _ Format(Me.WDate1, "m/d/yyyy") & "# AND #" & _ Format(Me.WDate2, "m/d/yyyy") & "#" End If If Not IsNull(Me.DateAcq2) Then If Not IsNull(Me.WType) Or Not IsNull(Me.WStatus) Or Not IsNull(Me.WNO) _ Or Not IsNull(Me.Reqtr) Or Not IsNull(Me.AssTo) _ Or Not IsNull(Me.DeptNo) Or Not IsNull(Me.AssCat) Or Not IsNull(Me.AuthE) _ Or Not IsNull(Me.ModalNo) Or Not IsNull(Me.MFac) Or Not IsNull(Me.Supp) Or Not IsNull(Me.Text115) _ Or Not IsNull(Me.WDate2) _ Then sqlline = sqlline & "And " sqlline = sqlline & "Assets.DateAcquired Between #" & _ Format(Me.DateAcq1, "m/d/yyyy") & "# AND #" & _ Format(Me.DateAcq2, "m/d/yyyy") & "#" End If If Not IsNull(Me.DDisp2) Then If Not IsNull(Me.WType) Or Not IsNull(Me.WStatus) Or Not IsNull(Me.WNO) _ Or Not IsNull(Me.Reqtr) Or Not IsNull(Me.AssTo) _ Or Not IsNull(Me.DeptNo) Or Not IsNull(Me.AssCat) Or Not IsNull(Me.AuthE) _ Or Not IsNull(Me.ModalNo) Or Not IsNull(Me.MFac) Or Not IsNull(Me.Supp) Or Not IsNull(Me.Text115) _ Or Not IsNull(Me.WDate2) _ Then sqlline = sqlline & "And " sqlline = sqlline & "Assets.DataDisposed Between #" & _

Page 188: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

188

Format(Me.DDisp1, "m/d/yyyy") & "# AND #" & _ Format(Me.DDisp2, "m/d/yyyy") & "#" End If sel = sqlline Call AdvSearch Call contarreg sqlline = "" End Sub Private Sub Command149_Click() On Error GoTo Err_Command149_Click Dim MyDB As DAO.Database Dim qdf As QueryDef Set MyDB = CurrentDb() Dim temp As QueryDef Dim foundQuery As Boolean foundQuery = False For Each temp In MyDB.QueryDefs If temp.Name = "SICReport" Then foundQuery = True Exit For End If Next temp Set temp = Nothing If foundQuery = True Then MyDB.QueryDefs.Delete "SICReport" Set qdf = MyDB.CreateQueryDef("SICReport", Me.List.RowSource) DoCmd.OutputTo acOutputQuery, "SICReport", acFormatXLS, , True Exit_Command149_Click: Exit Sub Err_Command149_Click: MsgBox err.Description Resume Exit_Command149_Click End Sub Private Sub Command23_Click() Call vertodo End Sub Private Sub Command42_Click() fld = 7 Me.DataList.RowSource = "SELECT Department.DepartmentNo FROM Department ORDER BY Department.DepartmentNo;" End Sub Private Sub Command43_Click() Me.DeptNo = Null End Sub Private Sub Command46_Click() fld = 8 Me.DataList.RowSource = "SELECT assetcategories.AssetCatCode FROM assetcategories ORDER BY assetcategories.AssetCatCode;" End Sub

Page 189: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

189

Private Sub Command47_Click() Me.AssCat = Null End Sub Private Sub Command55_Click() fld = 9 Me.DataList.RowSource = "SELECT employees.EmployeeNO FROM employees ORDER BY employees.EmployeeNO;" End Sub Private Sub Command56_Click() Me.AuthE = Null End Sub Private Sub Command64_Click() Me.ModalNo = Null End Sub Private Sub Command67_Click() fld = 11 Me.DataList.RowSource = "SELECT distinct(assets.Manufacturer) FROM assets where assets.Manufacturer<>'' ORDER BY assets.Manufacturer;" End Sub Private Sub Command68_Click() Me.MFac = Null End Sub Private Sub Command71_Click() fld = 12 Me.DataList.RowSource = "SELECT suppliers.SupplierNo FROM suppliers ORDER BY suppliers.SupplierNo;" End Sub Private Sub Command72_Click() Me.Supp = Null End Sub Private Sub Command74_Click() Me.WStatus = Null End Sub Private Sub Command76_Click() Me.DateAcq1 = Null Me.DateAcq2 = Null End Sub Private Sub Command78_Click() Me.WNO = Null End Sub Private Sub Command79_Click() Me.Reqtr = Null End Sub Private Sub Command80_Click() Me.WType = Null End Sub Private Sub Command81_Click()

Page 190: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

190

Me.DDisp1 = Null Me.DDisp2 = Null End Sub Private Sub Command83_Click() Me.WDate1 = Null Me.WDate2 = Null End Sub Private Sub Command88_Click() sqlline = "" Me.WType = Null Me.WStatus = Null Me.WNO = Null Me.Reqtr = Null Me.AssTo = Null Me.DeptNo = Null Me.AssCat = Null Me.AuthE = Null Me.ModalNo = Null Me.MFac = Null Me.Supp = Null Me.WDate1 = Null Me.WDate2 = Null Me.DateAcq1 = Null Me.DateAcq2 = Null Me.DDisp1 = Null Me.DDisp2 = Null Me.Text115 = Null Me.DataList.RowSource = "" End Sub Private Sub DataList_Click() Dim strWhere, strWhereIN, a As String strWhereIN = strWhereIN & "'" & Me.DataList & "'," If fld = 5 Then Me.AssTo = Me.AssTo & strWhereIN ElseIf fld = 7 Then Me.DeptNo = Me.DeptNo & strWhereIN ElseIf fld = 8 Then Me.AssCat = Me.AssCat & strWhereIN ElseIf fld = 9 Then Me.AuthE = Me.AuthE & strWhereIN ElseIf fld = 11 Then Me.MFac = Me.MFac & strWhereIN ElseIf fld = 12 Then Me.Supp = Me.Supp & strWhereIN ElseIf fld = 13 Then Me.WNO = Me.WNO & strWhereIN ElseIf fld = 14 Then Me.Text115 = Me.Text115 & strWhereIN End If End Sub Private Sub Form_Activate() Call contarreg Refresh DoCmd.Restore End Sub Private Sub Form_Deactivate() DoCmd.Minimize End Sub

Page 191: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

191

Private Sub Form_Open(Cancel As Integer) Call vertodo End Sub Private Sub Command6_Click() On Error GoTo Err_Command6_Click Dim stLinkCriteria As String DoCmd.OpenForm "EquipoNuevoForm", , , stLinkCriteria Exit_Command6_Click: Exit Sub Err_Command6_Click: MsgBox err.Description Resume Exit_Command6_Click End Sub Private Sub List_DblClick(Cancel As Integer) If IsNull(Me.List.Column(0)) Then MsgBox "Seleccione un registro", vbInformation, "SICAM" Else DoCmd.OpenForm "ActEqForm", , , "[AssetNumber]=" & "'" & Me.List.Column(0) & "'" End If End Sub Private Sub vertodo() Dim AssetList As String AssetList = "SELECT Assets.AssetNumber AS [No de equipo], Assets.AssetDescription AS [Descripción equipo], AssetStatus.AssetStatusDesc AS Status, Assets.LocationNo AS [No de localización], " & _ "Location.LocationDescription AS [Descripción localización], department.DepartmentDescription AS [Descripción del departamento], assetcategories.AssetCategory AS [Tipo de equipo], " & _ "employees.FirstName AS [Persona responsable], Assets.ModelNumber AS [No de modelo], Assets.Manufacturer AS Fabricante, Assets.Warranty_ContractExpiry AS [Fecha de vencimiento de garantía], " & _ "suppliers.SupplierName AS [Proveedor de garantía], suppliers_1.SupplierName AS [Nombre de proveedor], Assets.DateAcquired AS [Fecha de compra], Assets.DataDisposed AS [Desde fecha] " & _ "FROM ((((((Assets LEFT JOIN Location ON Assets.LocationNo = Location.LocationNo) LEFT JOIN AssetStatus ON Assets.Status = AssetStatus.AssetStatusID) LEFT JOIN assetcategories ON Assets.AssetCatCode = assetcategories.AssetCatCode) " & _ "LEFT JOIN department ON Assets.DepartmentNo = department.DepartmentNo) LEFT JOIN employees ON Assets.EmployeeNo = employees.EmployeeNO) LEFT JOIN suppliers ON Assets.Contractor = suppliers.SupplierNo) LEFT JOIN suppliers AS suppliers_1 ON Assets.Vendor = suppliers_1.SupplierNo " & _ "ORDER BY Assets.AssetNumber;" Me.List.RowSource = AssetList Me.List.ColumnCount = 15 Me.List.ColumnHeads = True Me.List.ColumnWidths = "4 cm; 8 cm; 3 cm; 3 cm; 5 cm; 5 cm; 5 cm; 5 cm; 5 cm; 5 cm; 6 cm; 5 cm; 5 cm; 4 cm; 3cm" Call contarreg End Sub Private Sub AdvSearch() Dim AssetList As String

Page 192: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

192

AssetList = "SELECT Assets.AssetNumber AS [No de equipo], Assets.AssetDescription AS [Descripción equipo], AssetStatus.AssetStatusDesc AS Status, Assets.LocationNo AS [No de localización], " & _ "Location.LocationDescription AS [Descripción localización], department.DepartmentDescription AS [Descripción del departamento], assetcategories.AssetCategory AS [Tipo de equipo], " & _ "employees.FirstName AS [Persona responsable], Assets.ModelNumber AS [No de modelo], Assets.Manufacturer AS Fabricante, Assets.Warranty_ContractExpiry AS [Fecha de vencimiento de garantía], " & _ "suppliers.SupplierName AS [Proveedor de garantía], suppliers_1.SupplierName AS [Nombre de proveedor], Assets.DateAcquired AS [Fecha de compra], Assets.DataDisposed AS [Desde fecha] " & _ "FROM ((((((Assets LEFT JOIN Location ON Assets.LocationNo = Location.LocationNo) LEFT JOIN AssetStatus ON Assets.Status = AssetStatus.AssetStatusID) LEFT JOIN assetcategories ON Assets.AssetCatCode = assetcategories.AssetCatCode) " & _ "LEFT JOIN department ON Assets.DepartmentNo = department.DepartmentNo) LEFT JOIN employees ON Assets.EmployeeNo = employees.EmployeeNO) LEFT JOIN suppliers ON Assets.Contractor = suppliers.SupplierNo) LEFT JOIN suppliers AS suppliers_1 ON Assets.Vendor = suppliers_1.SupplierNo " & _ "WHERE " & sel & " ORDER BY Assets.AssetNumber;" Me.List.RowSource = AssetList Me.List.ColumnCount = 15 Me.List.ColumnHeads = True Me.List.ColumnWidths = "4 cm; 8 cm; 3 cm; 3 cm; 5 cm; 5 cm; 5 cm; 5 cm; 5 cm; 5 cm; 6 cm; 5 cm; 5 cm;4 cm; 3 cm" End Sub Private Sub Command24_Click() On Error GoTo Err_Command24_Click DoCmd.Close acForm, Me.Name Exit_Command24_Click: Exit Sub Err_Command24_Click: MsgBox err.Description Resume Exit_Command24_Click End Sub Public Sub Sort() Dim AssetList As String AssetList = "SELECT Assets.AssetNumber AS [No de equipo], Assets.AssetDescription AS [Descripción equipo], AssetStatus.AssetStatusDesc AS Status, Assets.LocationNo AS [No de localización], " & _ "Location.LocationDescription AS [Descripción localización], department.DepartmentDescription AS [Descripción del departamento], assetcategories.AssetCategory AS [Tipo de equipo], " & _ "employees.FirstName AS [Persona responsable], Assets.ModelNumber AS [No de modelo], Assets.Manufacturer AS Fabricante, Assets.Warranty_ContractExpiry AS [Fecha de vencimiento de garantía], " & _ "suppliers.SupplierName AS [Proveedor de garantía], suppliers_1.SupplierName AS [Nombre de proveedor], Assets.DateAcquired AS [Fecha de compra], Assets.DataDisposed AS [Desde fecha] " & _ "FROM ((((((Assets LEFT JOIN Location ON Assets.LocationNo = Location.LocationNo) LEFT JOIN AssetStatus ON Assets.Status = AssetStatus.AssetStatusID) LEFT JOIN assetcategories ON Assets.AssetCatCode = assetcategories.AssetCatCode) " & _ "LEFT JOIN department ON Assets.DepartmentNo = department.DepartmentNo) LEFT JOIN employees ON Assets.EmployeeNo = employees.EmployeeNO) LEFT JOIN suppliers ON Assets.Contractor = suppliers.SupplierNo) LEFT JOIN suppliers AS suppliers_1 ON Assets.Vendor = suppliers_1.SupplierNo " & _ Sortby Me.List.RowSource = AssetList

Page 193: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

193

Me.List.ColumnCount = 15 Me.List.ColumnHeads = True Me.List.ColumnWidths = "4 cm; 8 cm; 3 cm; 3 cm; 5 cm; 5 cm; 5 cm; 5 cm; 5 cm; 5 cm; 6 cm; 5 cm; 5 cm;4 cm; 3 cm" Call contarreg End Sub Private Sub contarreg() Call CountRecord(Me.ListRec, List) End Sub Private Sub SortB1_Click() If Me.SortB1.Caption = "Ordenar A->Z" Then If Me.Select = 1 Then Sortby = "ORDER BY AssetNumber ASC" ElseIf Me.Select = 2 Then Sortby = "ORDER BY AssetDescription ASC" ElseIf Me.Select = 3 Then Sortby = "ORDER BY AssetStatus.AssetStatusDesc ASC" ElseIf Me.Select = 4 Then Sortby = "ORDER BY Assets.LocationNo ASC" ElseIf Me.Select = 5 Then Sortby = "ORDER BY Location.LocationDescription ASC" ElseIf Me.Select = 7 Then Sortby = "ORDER BY Department.DepartmentDescription ASC" ElseIf Me.Select = 8 Then Sortby = "ORDER BY assetcategories.AssetCategory ASC" ElseIf Me.Select = 9 Then Sortby = "ORDER BY employees.FirstName ASC" ElseIf Me.Select = 10 Then Sortby = "ORDER BY Assets.ModelNumber ASC" ElseIf Me.Select = 11 Then Sortby = "ORDER BY Assets.Manufacturer ASC" ElseIf Me.Select = 12 Then Sortby = "ORDER BY Suppliers.SupplierName ASC" ElseIf Me.Select = 13 Then Sortby = "ORDER BY Assets.Warranty_ContractExpiry ASC" ElseIf Me.Select = 14 Then Sortby = "ORDER BY Assets.DateAcquired ASC" ElseIf Me.Select = 15 Then Sortby = "ORDER BY Assets.DataDisposed ASC" ElseIf Me.Select = 16 Then Sortby = "ORDER BY suppliers_1.SupplierName ASC" End If Me.SortB1.Caption = "Ordenar Z->A" Else If Me.Select = 1 Then Sortby = "ORDER BY AssetNumber DESC" ElseIf Me.Select = 2 Then Sortby = "ORDER BY AssetDescription DESC" ElseIf Me.Select = 3 Then Sortby = "ORDER BY AssetStatus.AssetStatusDesc DESC" ElseIf Me.Select = 4 Then Sortby = "ORDER BY Assets.LocationNo DESC" ElseIf Me.Select = 5 Then Sortby = "Order by Location.LocationDescription DESC" ElseIf Me.Select = 7 Then Sortby = "ORDER BY Department.DepartmentDescription DESC" ElseIf Me.Select = 8 Then Sortby = "ORDER BY assetcategories.AssetCategory DESC"

Page 194: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

194

ElseIf Me.Select = 9 Then Sortby = "ORDER BY employees.FirstName DESC" ElseIf Me.Select = 10 Then Sortby = "ORDER BY Assets.ModelNumber DESC" ElseIf Me.Select = 11 Then Sortby = "ORDER BY Assets.Manufacturer DESC" ElseIf Me.Select = 12 Then Sortby = "ORDER BY Suppliers.SupplierName DESC" ElseIf Me.Select = 13 Then Sortby = "ORDER BY Assets.Warranty_ContractExpiry DESC" ElseIf Me.Select = 14 Then Sortby = "ORDER BY Assets.DateAcquired DESC" ElseIf Me.Select = 15 Then Sortby = "ORDER BY Assets.DataDisposed DESC" ElseIf Me.Select = 16 Then Sortby = "Order BY suppliers_1.SupplierName DESC" End If Me.SortB1.Caption = "Ordenar A->Z" End If Call Sort End Sub Private Sub txtFind_Change() Dim sel As String If fld = 5 Then sel = "SELECT assetstatus.AssetStatusDesc FROM assetstatus WHERE assetstatus.AssetStatusDesc LIKE '*" + Me.txtFind.Text + "*' ORDER BY assetstatus.AssetStatusDesc;" ElseIf fld = 7 Then sel = "SELECT Department.DepartmentNo FROM Department WHERE Department.DepartmentNo Like '*" + Me.txtFind.Text + "*' ORDER BY Department.DepartmentNo;" ElseIf fld = 8 Then sel = "SELECT assetcategories.AssetCatCode FROM assetcategories WHERE AssetCatCode Like '*" + Me.txtFind.Text + "*' ORDER BY assetcategories.AssetCatCode;" ElseIf fld = 9 Then sel = "SELECT employees.EmployeeNO FROM employees WHERE EmployeeNo Like '*" + Me.txtFind.Text + "*' ORDER BY employees.EmployeeNO;" ElseIf fld = 11 Then sel = "SELECT distinct(assets.Manufacturer) FROM assets where assets.Manufacturer Like '*" + Me.txtFind.Text + "*' ORDER BY assets.Manufacturer;" ElseIf fld = 12 Then sel = "SELECT suppliers.SupplierNo FROM suppliers where SupplierNo Like '*" + Me.txtFind.Text + "*' ORDER BY suppliers.SupplierNo;" ElseIf fld = 13 Then sel = "SELECT LocationNo FROM Location WHERE LocationNo Like '*" + Me.txtFind.Text + "*' Order By LocationNo" ElseIf fld = 14 Then sel = "SELECT suppliers.SupplierNo FROM suppliers where SupplierNo Like '*" + Me.txtFind.Text + "*' ORDER BY suppliers.SupplierNo;" End If Me.DataList.RowSource = sel End Sub

Page 195: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

195

Formulario Equipo Actual

Figura 9. – Formulario Equipo actual.

Este formulario despliega toda la información del Equipo que se tiene seleccionado al momento. Como se puede observar en la figura el formulario muestra todos los campos de información acerca del equipo y para ello utiliza varias pestañas que agrupan los campos según el tipo de datos. Estas pestañas están identificadas como: equipo, repuestos, equipos asociados, información adicional, historial orden de trabajo y archivos auxiliares. Los campos que se muestran en este formulario son los siguientes: “ID de equipo”, “Descripción”, “Modelo”, “Serial”, “Fabricante”, “Ubicación”, “Departamento”, Tipo”, “Status”, “Prioridad”, “Responsable”, “Notas técnicas”, “Vendedor”, “Precio de compra”, “Fecha de compra”, “Tiempo de vida estimado”, “Valor actual”, “Desde”, “Garantía por”, “Tipo de garantía”, “Fecha de vencimiento”, “Status de garantía”, “Notas garantía”, “Observaciones”, “Código de piezas”, “Equipos secundarios”, “Información adicional”, “Número de OT”, “Status de OT”, ”Descripción trabajo”, “Fecha solicitud”, “Fecha de inicio”, “Fecha de término”, “Archivo asociado”, “Descripción archivo asociado”. Los campos de información en este formulario pueden ser modificados y guardados en la base de datos del sistema. El código de programa asociado a este formulario es el siguiente: '***************************** ' ' Registro Actual de Equipo ' '***************************** Option Compare Database Dim selectedfile As String Dim typ As Integer Dim OldStatus As Integer Private Sub cboSibling_AfterUpdate() If Not IsNull(Me.cboSibling) Then Dim rsSib, rsAss As DAO.Recordset Dim sqlq, sqla As String Set dbSICAM = CurrentDb sqlq = "Select * FROM Sibling Where Sibling ='" + Me.cboSibling + "'"

Page 196: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

196

Set rsSib = dbSICAM.OpenRecordset(sqlq) If rsSib.RecordCount <> 0 Then MsgBox "El Equipo seleccionado es componente del Equipo: " & rsSib.Fields("AssetNo"), vbInformation Me.cboSibling = Null Me.cboSibling.SetFocus rsSib.Close Exit Sub End If rsSib.Close sqla = "Select * FROM Sibling Where AssetNo ='" + Me.cboSibling + "'" Set rsAss = dbSICAM.OpenRecordset(sqla) If rsAss.RecordCount <> 0 Then MsgBox "El Equipo seleccionado ya existe como principal.", vbInformation Me.cboSibling = Null Me.cboSibling.SetFocus End If rsAss.Close Else Me.cboSibling.SetFocus End If End Sub Private Sub cmdSiblingSave_Click() If IsNull(Me.AssetNo) Or Me.AssetNo = "" Then MsgBox "Indique el ID del Equipo antes de grabarlo como componente", vbInformation Exit Sub ElseIf IsNull(Me.cboSibling) Or Me.cboSibling = "" Then MsgBox "Ninguna fecha a grabar.", vbInformation Me.cboSibling.SetFocus Exit Sub Else If Me.Per = Me.cboSibling Then MsgBox "Equipo ya seleccionado como principal", vbInformation Exit Sub Else Dim rsSibling, rsAssets As DAO.Recordset Dim sqlq, sqla As String sqlq = "Select * FROM Sibling Where AssetNo ='" + Me.AssetNo + "' AND Sibling = '" + Me.cboSibling + "'" Set dbSICAM = CurrentDb Set rsSibling = dbSICAM.OpenRecordset(sqlq) If rsSibling.EOF = False Then MsgBox "Componente ya agregado", vbInformation Else rsSibling.AddNew rsSibling.Fields("AssetNo") = Me.AssetNo rsSibling.Fields("Sibling") = cboSibling.Column(0) rsSibling.Update rsSibling.Close Me.Sibling_subform.Requery sqla = "Select * FROM Assets Where AssetNumber ='" + Me.cboSibling + "'" Set rsAssets = dbSICAM.OpenRecordset(sqla) rsAssets.Edit rsAssets.Fields("Parent") = Me.AssetNo rsAssets.Update rsAssets.Close Me.cboSibling = Null End If End If End If End Sub

Page 197: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

197

Private Sub Command140_Click() Call SelectFile Me.Extfile1 = selectedfile Me.View1.HyperlinkAddress = Me.Extfile1 End Sub Private Sub Command147_Click() Call SelectFile Me.Extfile2 = selectedfile Me.View2.HyperlinkAddress = Me.Extfile2 End Sub Private Sub Command149_Click() Call SelectFile Me.Extfile3 = selectedfile Me.view3.HyperlinkAddress = Me.Extfile3 End Sub Private Sub Command150_Click() Call SelectFile Me.Extfile4 = selectedfile Me.view4.HyperlinkAddress = Me.Extfile4 End Sub Private Sub Command151_Click() Call SelectFile Me.Extfile5 = selectedfile Me.view5.HyperlinkAddress = Me.Extfile5 End Sub Private Sub Command169_Click() Me.calCtl2.Visible = True Me.calCtl2.Value = Date End Sub Private Sub Command170_Click() Call Klendario typ = 1 End Sub Private Sub Command171_Click() Call Klendario typ = 2 End Sub Private Sub DateAcquired_AfterUpdate() Call CalDepValue End Sub Private Sub EstLife_AfterUpdate() Call CalDepValue End Sub Private Sub Form_Activate() DoCmd.Restore Refresh End Sub Private Sub Command3_Click() On Error GoTo Err_Command3_Click If IsNull(Me.AssetDescription) Or Trim(Me.AssetDescription) = "" Then MsgBox "Indique la Descripción del Equipo ", vbOKOnly + vbExclamation

Page 198: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

198

Me.AssetDescription.SetFocus Exit Sub End If If IsNull(Me.LocationNo) Then MsgBox "Introduzca los datos al campo", vbInformation Me.LocationNo.SetFocus Exit Sub End If If Me.Dirty Then If Not IsNull(Me.Warranty_ContractExpiry) And IsNull(Me.Warranty_Contract) Then MsgBox "Introduzca los datos al campo", vbInformation DoCmd.GoToControl "Warranty/Contract" Exit Sub ElseIf MsgBox("Desea grabar el registro ?", vbInformation + vbYesNo, "Grabar") = vbNo Then DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70 End If End If DoCmd.Close acForm, Me.Name Exit_Command3_Click: Exit Sub Err_Command3_Click: MsgBox err.Description Resume Exit_Command3_Click End Sub Public Sub SubForm() DoCmd.OpenForm Subdocname, , , stLinkCriteria End Sub Private Sub Command128_Click() On Error GoTo Err_Command128_Click Dim stLinkCriteria As String DoCmd.OpenForm "EmpNuevoForm", , , stLinkCriteria Exit_Command128_Click: Exit Sub Err_Command128_Click: MsgBox err.Description Resume Exit_Command128_Click End Sub Private Sub Command129_Click() On Error GoTo Err_Command129_Click Dim stLinkCriteria As String DoCmd.OpenForm "ProveedorNuevoForm", , , stLinkCriteria Exit_Command129_Click: Exit Sub Err_Command129_Click: MsgBox err.Description Resume Exit_Command129_Click End Sub Private Sub Command134_Click() On Error GoTo Err_Command134_Click

Page 199: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

199

DoCmd.OpenForm "ProveedorNuevoForm", , , "[SupplierNo]=" & "'" & Me![Vendor] & "'" Exit_Command134_Click: Exit Sub Err_Command134_Click: MsgBox err.Description Resume Exit_Command134_Click End Sub Private Function SelectFile() Dim f As Integer Dim lngFlags As Long Dim gfni As adh_accOfficeGetFileNameInfo On Error GoTo HandleErrors With gfni .lngFlags = lngFlags .strFilter = "All Files (*.*)" .lngFilterIndex = CInt("1") .strFile = "" .strDlgTitle = "Select a file" .strOpenTitle = "Select" .strFile = "" .strInitialDir = "" End With If adhOfficeGetFileName(gfni, True) = adhcAccErrSuccess Then selectedfile = Trim(gfni.strFile) End If ExitHere: Exit Function HandleErrors: MsgBox "Error: " & err.Description & " (" & err.Number & ")" Resume ExitHere End Function Private Sub Form_Load() If Not IsNull(Me.Extfile1) Then Me.View1.HyperlinkAddress = Me.Extfile1 End If If Not IsNull(Me.Extfile2) Then Me.View2.HyperlinkAddress = Me.Extfile2 End If If Not IsNull(Me.Extfile3) Then Me.view3.HyperlinkAddress = Me.Extfile3 End If Call CalDepValue End Sub Private Sub Form_Open(Cancel As Integer) OldStatus = IIf(IsNull(Me.Status.Column(0)), 0, Me.Status.Column(0)) CheckWarrantyStatus If Not IsNull(Me.Warranty_ContractExpiry) Then If CDate(Me.Warranty_ContractExpiry) < ServerdateQuery() Then Me.warrantystatus.Caption = "Expired" End If End Sub

Page 200: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

200

Private Sub Page1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error GoTo ErrorHandler If Me.calCtl1.Visible = True Then Me.calCtl1.Visible = False If Me.calCtl2.Visible = True Then Me.calCtl2.Visible = False ErrorHandler: If err.Number <> 0 Then Me.DateAcquired.SetFocus If Me.calCtl1.Visible = True Then Me.calCtl1.Visible = False Me.Warranty_ContractExpiry.SetFocus If Me.calCtl2.Visible = True Then Me.calCtl2.Visible = False End If End Sub Private Sub PurchasePrice_AfterUpdate() Call CalDepValue End Sub Private Sub calCtl1_Click() Select Case typ Case 1 Me.DateAcquired = Me.calCtl1.Value Call CalDepValue Me.DateAcquired.SetFocus Case 2 Me.DataDisposed = Me.calCtl1.Value Me.DataDisposed.SetFocus End Select Me.calCtl1.Visible = False End Sub Private Sub Klendario() Me.calCtl1.Visible = True Me.calCtl1.Value = Date End Sub Private Sub calCtl2_Click() Me.Warranty_ContractExpiry = Me.calCtl2.Value Me.Warranty_ContractExpiry.SetFocus Me.calCtl2.Visible = False CheckWarrantyStatus CheckExpiry End Sub Private Sub Status_AfterUpdate() If Me.Status.Column(0) >= 2 Then If PMExist(Me.AssetNumber) = True Then If MsgBox("Hay Ordenes de trabajo activas para este Equipo. Desea proceder?", vbYesNo + vbQuestion, "SICAM") = vbNo Then Me.Status = OldStatus End If Exit Sub End If If WOExist(Me.AssetNumber) = True Then If MsgBox("Hay Ordenes de Trabajo activas para este Equipo. Desea proceder?", vbYesNo + vbQuestion, "SICAM") = vbNo Then Me.Status = OldStatus End If Exit Sub End If End If

Page 201: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

201

End Sub Private Function PMExist(MyAssNo As String) As Boolean Dim rc As DAO.Recordset Set dbSICAM = CurrentDb Set rc = dbSICAM.OpenRecordset("select PMNo from pmschedule where AssetNo='" & Trim(Replace(MyAssNo, "'", "''")) & "' and PMActive=-1") PMExist = IIf(rc.EOF, False, True) rc.Close Set rc = Nothing End Function Private Function WOExist(MyAssNo As String) As Boolean Dim rc As DAO.Recordset Set dbSICAM = CurrentDb Set rc = dbSICAM.OpenRecordset("select WorkorderNo from WorkOrders where AssetNo='" & Trim(Replace(MyAssNo, "'", "''")) & "' and WorkStatus=1 or AssetNo='" & Trim(Replace(MyAssNo, "'", "''")) & "' and WorkStatus>=4") WOExist = IIf(rc.EOF, False, True) rc.Close Set rc = Nothing End Function Private Sub CalDepValue() On Error GoTo err If IsNull(Me.EstLife) Then Me.EstLife.Value = 0 Me.CurrentValue.Value = 0 Exit Sub End If Dim TotalVal, curval As Double If Not IsNull(Me.DateAcquired) And Not IsNull(Me.PurchasePrice) And Me.PurchasePrice <> 0 And Me.EstLife <> 0 Then TotalVal = Me.PurchasePrice * DateDiff("d", Me.DateAcquired, Date) / (Me.EstLife * 365) curval = Me.PurchasePrice - TotalVal If curval <= 0 Then Me.CurrentValue = 1 Else Me.CurrentValue = curval End If Else Me.CurrentValue = 0 End If Exit Sub err: Exit Sub End Sub Private Sub Warranty_Contract_Enter() CheckWarrantyStatus CheckExpiry End Sub Private Sub CheckWarrantyStatus() If Warranty_Contract.Column(1) = "Garantía" Or Warranty_Contract.Column(1) = "Contrato" Then Me.warrantystatus.Caption = "Active" Else Me.warrantystatus.Caption = ""

Page 202: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

202

End If End Sub Private Sub CheckExpiry() If Me.Warranty_Contract.Column(1) = "Garantía" And Me.Warranty_ContractExpiry < ServerdateQuery() Then MsgBox "La Fecha de Vencimiento de garantía debe ser mayor a la fecha actal", vbInformation, "SICAM" Me.Warranty_ContractExpiry = Null Me.warrantystatus.Caption = "" DoCmd.GoToControl "Warranty/ContractExpiry" ElseIf Me.Warranty_Contract.Column(1) = "Contrato" And Me.Warranty_ContractExpiry < ServerdateQuery() Then MsgBox "La Fecha de Vencimiento de garantía debe ser mayor a la Fecha actual", vbInformation, "SICAM" Me.Warranty_ContractExpiry = Null Me.warrantystatus.Caption = "" DoCmd.GoToControl "Warranty/ContractExpiry" ElseIf Me.Warranty_Contract.Column(1) = "Sin Contrato" And Me.Warranty_ContractExpiry > ServerdateQuery() Then MsgBox "Fecha de Vencimiento de garantía debe ser menor a Fecha actual", vbInformation, "SICAM" Me.Warranty_ContractExpiry = Null Me.warrantystatus.Caption = "" DoCmd.GoToControl "Warranty/ContractExpiry" End If End Sub Private Sub Warranty_ContractExpiry_AfterUpdate() CheckWarrantyStatus CheckExpiry End Sub

Formulario Equipo nuevo. Figura 10. - Formulario Equipo nuevo.

Page 203: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

203

Este formulario permite ingresar un equipo o activo nuevo a la base de datos del sistema. El

mismo cuenta con varias pestañas dentro del mismo formulario y que sirven para organizar de

una mejor manera la información asociada al equipo. La pestaña “Equipo” solicita la mayoría de

la información de éste y sus campos son: número de equipo (ID equipo), Descripción, Modelo,

Serial, Fabricante, Ubicación, Departamento, Tipo de Equipo, Status, Prioridad, Persona

responsable, Observaciones, Vendedor, Precio de compra, Fecha de compra, Tiempo de vida

estimado, Valor actual, Fecha de ingreso al sistema, Tipo de garantía, Fecha de vencimiento de

garantía, Observaciones sobre la garantía y Otras observaciones. La pestaña “Repuestos”

permite introducir los códigos de las piezas de repuestos asociadas al equipo. La pestaña

“Equipos asociados” permite introducir algún otro equipo asociado o que trabaje en conjunto

con el equipo que se está creando en el sistema en caso de que fuera necesario. (Un ejemplo

de este caso seria un Computador que esta asociado a una unidad de suministro de energía

ininterrumpida o Ups o un equipo que forme parte de uno mas grande y que para efectos del

programa de mantenimiento debe ser considerado como un componente). La pestaña

“Información adicional” se utiliza para agregar algún comentario o información de interés para el

usuario o personal operador o de mantenimiento del equipo. La pestaña “Archivos auxiliares”

permite asociar hasta tres archivos externos que contengan alguna información sobre el equipo

y que se ejecuten con otra aplicación de computadoras como hojas de cálculo, archivos de

texto, presentaciones, gráficos, archivos pdf, etc. El botón “Guardar” permite almacenar en la

base de datos del sistema toda la información suministrada al formulario sobre el equipo y el

botón “Cerrar” permite salir del formulario sin guardar la información.

Formulario Lista de Empleados

Figura 11. – Formulario Lista de Empleados.

Page 204: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

204

Este formulario muestra la lista de los empleados o clientes del sistema con los campos

de información que pueden ser de interés para el usuario. Estos campos son los siguientes:

número de empleado, nombre, cargo, categoría, teléfono de trabajo, teléfono de habitación,

teléfono celular y departamento. Estos campos pueden ser vistos utilizando las barras de

desplazamiento. El formulario permite filtrar la información seleccionando una de las casillas de

opciones ubicadas en la parte inferior del mismo y luego pulsando el botón “Buscar”. El botón

“Nuevo Empleado” abre otro formulario que permite introducir un nuevo empleado al sistema y

el botón “Ordenar A->Z” permite ordenar en orden ascendente o descendente la presentación

de los datos de acuerdo al filtro seleccionado en las casillas inferiores. Seleccionando un

empleado de la lista y haciendo “doble click” sobre él se abrirá el formulario “Empleado actual”

que muestra toda la información del mismo. El código de programa para el formulario “Lista de

empleados” es el siguiente:

'************************ ' ' Lista de Empleados ' '************************ Option Explicit Dim sel, Sortby As String Private Sub Command16_Click() Dim EmployeeList As String If Me.Select = 1 Then sel = "EmployeeNo ='" & Me.Input & "'" ElseIf Me.Select = 2 Then sel = "FirstName like '" & Me.Input & "*'" ElseIf Me.Select = 3 Then sel = "Positions like '" & Me.Input & "*'" ElseIf Me.Select = 4 Then If UCase(Me.Input) = "EMPLEADO" Then sel = "category = '1'" ElseIf UCase(Me.Input) = "CLIENTE" Then sel = "category = '2'" End If ElseIf Me.Select = 5 Then sel = "Department.[DepartmentDescription] like '" & Me.Input & "*'" End If EmployeeList = "SELECT Employees.EmployeeNO as [No de empleado], Employees.FirstName as [Nombre], " & _ "Employees.Positions as [Cargo],iif(Employees.category='1','Empleado','Cliente') as [Categoría] ,Employees.WorkPhone as [Teléfono oficina], " & _ "Employees.Housephone as [Teléfono Hab], Employees.Handphone as [Teléfono celular],Department.[DepartmentDescription] as [Departamento] " & _ "FROM Employees LEFT JOIN Department ON Employees.DepartmentNo = Department.[DepartmentNo] " & _ "WHERE " & sel & " ;" Debug.Print EmployeeList Me.List.RowSource = EmployeeList Me.List.ColumnCount = 8

Page 205: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

205

Me.List.ColumnHeads = True Me.List.ColumnWidths = "3 cm; 5 cm; 4 cm; 3 cm; 3 cm; 3 cm; 3 cm; 4 cm" Call contarreg End Sub Private Sub Command17_Click() Call vertodo End Sub Private Sub Form_Activate() DoCmd.Restore Call contarreg Refresh End Sub Private Sub Form_Deactivate() DoCmd.Minimize End Sub Private Sub Form_Open(Cancel As Integer) Call vertodo End Sub Private Sub Command6_Click() On Error GoTo Err_Command6_Click Dim stLinkCriteria As String DoCmd.OpenForm "EmpNuevoForm", , , stLinkCriteria Exit_Command6_Click: Exit Sub Err_Command6_Click: MsgBox err.Description Resume Exit_Command6_Click End Sub Private Sub List_DblClick(Cancel As Integer) If IsNull(Me.List.Column(0)) Then MsgBox "Seleccione un registro", vbInformation, "SICAM" Else DoCmd.OpenForm "ActEmpForm", , , "[EmployeeNo]=" & "'" & Me.List.Column(0) & "'" End If End Sub Public Sub vertodo() Dim EmployeeList As String EmployeeList = "SELECT Employees.EmployeeNO as [No de empleado], Employees.FirstName as [Nombre], " & _ "Employees.Positions as [Cargo],iif(Employees.category='1','Empleado','Cliente') as [Categoría] ,Employees.WorkPhone as [Teléfono oficina], " & _ "Employees.Housephone as [Teléfono Hab], Employees.Handphone as [Teléfono celular],Department.[DepartmentDescription] as [Departamento] " & _ "FROM Employees LEFT JOIN Department ON Employees.DepartmentNo = Department.[DepartmentNo];" Me.List.RowSource = EmployeeList Me.List.ColumnCount = 8 Me.List.ColumnHeads = True Me.List.ColumnWidths = "3 cm; 5 cm; 4 cm; 3 cm; 3 cm; 3 cm; 3 cm; 4 cm" Call contarreg End Sub Private Sub Command19_Click()

Page 206: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

206

On Error GoTo Err_Command19_Click DoCmd.Close acForm, Me.Name Exit_Command19_Click: Exit Sub Err_Command19_Click: MsgBox err.Description Resume Exit_Command19_Click End Sub Private Sub SortB1_Click() If Me.SortB1.Caption = "Ordenar A->Z" Then If Me.Select = 1 Then Sortby = "ORDER BY EmployeeNO ASC" ElseIf Me.Select = 2 Then Sortby = "ORDER BY FirstName ASC" ElseIf Me.Select = 3 Then Sortby = "ORDER BY Positions ASC" ElseIf Me.Select = 4 Then Sortby = "ORDER BY Category ASC" ElseIf Me.Select = 5 Then Sortby = "ORDER BY Department.[DepartmentDescription] ASC" End If Me.SortB1.Caption = "Ordenar Z->A" Else If Me.Select = 1 Then Sortby = "ORDER BY EmployeeNO DESC" ElseIf Me.Select = 2 Then Sortby = "ORDER BY FirstName DESC" ElseIf Me.Select = 3 Then Sortby = "ORDER BY Positions DESC" ElseIf Me.Select = 4 Then Sortby = "ORDER BY Category DESC" ElseIf Me.Select = 5 Then Sortby = "ORDER BY Department.[DepartmentDescription] DESC" End If Me.SortB1.Caption = "Ordenar A->Z" End If Call Sort End Sub Public Sub Sort() Dim EmployeeList As String EmployeeList = "SELECT Employees.EmployeeNO as [No de empleado], Employees.FirstName as [Nombre], " & _ "Employees.Positions as [Posición],iif(Employees.category='1','Empleado','Cliente') as [Categoría] ,Employees.WorkPhone as [Teléfono oficina], " & _ "Employees.Housephone as [Teléfono casa], Employees.Handphone as [Teléfono celular],Department.[DepartmentDescription] as [Departamento] " & _ "FROM Employees LEFT JOIN Department ON Employees.DepartmentNo = Department.[DepartmentNo] " & Sortby & ";" Me.List.RowSource = EmployeeList Me.List.ColumnCount = 8 Me.List.ColumnHeads = True Me.List.ColumnWidths = "3 cm; 5 cm; 4 cm; 3 cm; 3 cm; 3 cm; 3 cm; 4 cm" Call contarreg End Sub Private Sub contarreg()

Page 207: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

207

Call CountRecord(Me.ListRec, List) End Sub

Formulario Empleado actual

Figura 12. – Formulario Empleado actual. Este formulario muestra toda la información de un empleado en particular que ha sido

seleccionado de la lista general de empleados. Muestra la información sobre los datos

personales del empleado: número de empleado, dirección, cargo, teléfonos, área de trabajo,

departamento, ubicación y correo electrónico. Además muestra la información sobre los equipos

que tiene asignado o de los cuales es responsable y el salario, horas extras y categoría. Los

campos de la información general de la persona son editables y pueden ser cambiados a

excepción del número de empleado (ID Empleado). También pueden modificarse los campos de

salario, tiempo extra y categoría. El código de programa asociado a este formulario es el

siguiente:

'**************************** ' ' Registro Actual Empleados ' '***************************** Option Compare Database Dim MyUserId As String Private Sub AccessLevel_AfterUpdate() If Len(Me.AccessLevel) > 9 Then

Page 208: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

208

MsgBox "Usted no puede seleccionar más de 9 módulos", vbInformation Me.AccessLevel.SetFocus Me.AccessLevel = Null End If End Sub Private Sub Command38_Click() On Error GoTo Err_Command38_Click If AccessLevelEmpty = True Then MsgBox "Especifique módulos de acceso.", vbInformation Exit Sub End If If Me.Dirty Then If MsgBox("Desea grabar el registro?", vbInformation + vbYesNo, "Grabar") = vbNo Then DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70 End If End If DoCmd.Close acForm, Me.Name Exit_Command38_Click: Exit Sub Err_Command38_Click: MsgBox err.Description Resume Exit_Command38_Click End Sub Private Function AccessLevelEmpty() As Boolean AccessLevelEmpty = False If Not IsNull(Me.UserID) And Not Me.UserID = "" Then If IsNull(Me.AccessLevel) Or Me.AccessLevel = "" Then AccessLevelEmpty = True Else AccessLevelEmpty = False End If End If End Function Private Sub Form_Open(Cancel As Integer) If AdminAccess = "Admin" Then Me.UserID.Visible = True Me.UserPW.Visible = True Me.AccessLevel.Visible = True Me.ModList.Visible = True Me.Adjustment.Visible = True End If MyUserId = IIf(IsNull(UserID.Value), "", UserID.Value) End Sub Private Sub ModList_Click() If Len(Me.AccessLevel) > 9 Then MsgBox "Usted no puede seleccionar más de 9 módulos", vbInformation Exit Sub End If Me.AccessLevel.SetFocus If InStr(1, IIf(IsNull(Me.AccessLevel.Text), "", Me.AccessLevel.Text), Me.ModList.Column(0), vbTextCompare) = 0 Then Me.AccessLevel = Me.AccessLevel & Me.ModList.Column(0) End If End Sub

Page 209: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

209

Private Sub UserID_AfterUpdate() If IsNull(Me.UserID) Or Trim(Me.UserID) = "" Then Exit Sub Dim rsEmp As DAO.Recordset Set dbSICAM = CurrentDb() Set rsEmp = dbSICAM.OpenRecordset("Select UserId from Employees where UserID='" & Me.UserID & "' and EmployeeNo<>'" & Me.EmployeeNo & "'") If Not rsEmp.EOF Then MsgBox "Usuario ya existe" Me.UserID = MyUserId End If rsEmp.Close Set rsEmp = Nothing End Sub Private Sub UserID_BeforeUpdate(Cancel As Integer) End Sub

Formulario Empleado Nuevo Figura 13 – Formulario Empleado nuevo.

Este formulario se usa para introducir un empleado o cliente nuevo a la base de datos del

sistema. El formulario pide al usuario introducir los datos de la persona comenzando con el

número del empleado (ID empleado), siendo éste el más importante ya que es el campo clave

para identificar a la persona en el sistema. Como muestra la figura 4.6 los campos de

información de este formulario son los siguientes: ID empleado, Nombre, Dirección, Cargo,

Teléfono de Trabajo y extensión, Fax, Teléfono de habitación, Departamento, Ubicación, Correo

electrónico, salario por hora, tasa de tiempo extra y Categoría. El botón “Guardar” permite

almacenar el registro en la base de datos; el botón “Cerrar” permite salir del formulario sin

almacenar la información. El código de programa correspondiente a este formulario es el

Page 210: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

210

siguiente:

'**************************** ' ' Nuevo Registro Empleados ' '**************************** Option Explicit Dim stLinkCriteria As String Private Sub AccessLevel_AfterUpdate() If Len(Me.AccessLevel) > 9 Then MsgBox "Usted no puede seleccionar más de 9 módulos.", vbInformation Me.AccessLevel.SetFocus Me.AccessLevel = Null End If End Sub Private Sub EmpNo_AfterUpdate() Dim rsEmp As DAO.Recordset Set dbSICAM = CurrentDb() Set rsEmp = dbSICAM.OpenRecordset("Employees") Do While Not rsEmp.EOF If UCase(rsEmp!EmployeeNo) = UCase(Me.EmpNo) Then MsgBox "Empleado o Solicitante ya existe", vbInformation Me.EmpNo = Null DoCmd.GoToControl "EmpNo" End If rsEmp.MoveNext Loop rsEmp.Close End Sub Private Sub Form_Open(Cancel As Integer) If AdminAccess = "Admin" Then Me.UserID.Visible = True Me.UserPW.Visible = True Me.AccessLevel.Visible = True Me.ModList.Visible = True Me.Adjustment.Visible = True End If End Sub Private Sub ModList_Click() If Len(Me.AccessLevel) > 9 Then MsgBox "Usted no puede seleccionar más de 9 módulos.", vbInformation Exit Sub End If Me.AccessLevel.SetFocus If InStr(1, IIf(IsNull(Me.AccessLevel.Text), "", Me.AccessLevel.Text), Me.ModList.Column(0), vbTextCompare) = 0 Then Me.AccessLevel = Me.AccessLevel & Me.ModList.Column(0) End If End Sub Private Sub Save_Click() Dim response Dim rsEmp As DAO.Recordset If IsNull(Me.EmpNo) Or Me.EmpNo = "" Then MsgBox "Indique el ID del Empleado.", vbInformation DoCmd.GoToControl "Empno" ElseIf IsNull(Me.FirstName) Or Me.FirstName = "" Then MsgBox "Indique el Nombre del Empleado.", vbInformation DoCmd.GoToControl "Firstname" ElseIf ((Not IsNull(Me.UserPW) Or Not Trim(Me.UserPW) = "") And IsNull(Me.UserID) Or Trim(Me.UserID) = "") Then

Page 211: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

211

MsgBox "Indique El ID de Ususario" DoCmd.GoToControl "UserId" ElseIf AccessLevelEmpty = True Then MsgBox "Indique módulos de acceso.", vbInformation Else response = MsgBox("Desea grabar el registro ?", vbYesNo + vbInformation + vbDefaultButton2, "Grabar") If response = vbYes Then Set dbSICAM = CurrentDb() Set rsEmp = dbSICAM.OpenRecordset("Employees") With rsEmp .AddNew ![EmployeeNo] = Me.EmpNo ![FirstName] = Me.FirstName ![Positions] = Me.Positions ![DepartmentNo] = Me.Depart.Column(0) ![WorkTrade] = Me.WorkTrade.Column(0) ![Extension] = Me.Ext ![WorkPhone] = Me.WorkPhone ![HandPhone] = Me.HandPhone ![Email] = Me.Eml ![OfficeLocation] = Me.OfficeLocation.Column(0) ![HourlySalary] = Me.HS ![OverTime1] = Me.OTV1 ![OverTime2] = Me.OTV2 ![OverTime3] = Me.OTV3 ![HousePhone] = Me.HP ![Address] = Me.ADRES ![Fax] = Me.fx ![category] = Me.category ![UserID] = Me.UserID ![Password] = Me.UserPW ![Accessibility] = Me.AccessLevel ![Adjustment] = Me.Adjustment .Update .Close End With DoCmd.Close acForm, Me.Name DoCmd.OpenForm "EmpNuevoForm", , , stLinkCriteria Else DoCmd.GoToControl "EmpNo" End If End If End Sub Private Function AccessLevelEmpty() As Boolean AccessLevelEmpty = False If Not IsNull(Me.UserID) And Not Me.UserID = "" Then If IsNull(Me.AccessLevel) Or Me.AccessLevel = "" Then AccessLevelEmpty = True Else AccessLevelEmpty = False End If End If End Function Private Sub Command104_Click() On Error GoTo Err_Command104_Click DoCmd.Close acForm, Me.Name Exit_Command104_Click: Exit Sub Err_Command104_Click: MsgBox err.Description

Page 212: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

212

Resume Exit_Command104_Click End Sub Private Sub UserID_LostFocus() If IsNull(Me.UserID) Or Trim(Me.UserID) = "" Then Exit Sub Dim rsEmp As DAO.Recordset Set dbSICAM = CurrentDb() Set rsEmp = dbSICAM.OpenRecordset("Select EmployeeNO from Employees where UserID='" & Me.UserID & "'") If Not rsEmp.EOF Then MsgBox "Usuario ya existe" Me.UserID = "" End If rsEmp.Close Set rsEmp = Nothing End Sub

Formulario Lista de Ubicaciones Figura 14. - Formulario Lista de ubicaciones. Este formulario muestra las ubicaciones o locaciones que se encuentran en la base de

datos del sistema. Una locación puede ser el lugar donde se encuentre instalado uno o varios

equipos o donde este asignada o trabajando una(s) maquinaria(s), una oficina, área o donde

sea el lugar de aparcamiento de un vehiculo. En resumen, una ubicación o locación es el sitio

donde pueda ser localizado un equipo o activo de la empresa. Este formulario muestra el

número de ubicación, la descripción y el departamento al que pertenece cada locación. Los

datos pueden ser filtrados seleccionando alguna de las casillas de la parte inferior del formulario

de manera que se muestren organizadas por número, descripción o departamento al presionar

el botón “Buscar”. Así mismo, una vez que se seleccione una de estas casillas los datos pueden

ser ordenados de manera ascendente o descendente seleccionando el botón “Ordenar A->Z”.

Page 213: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

213

Para ver todos las locaciones una vez que han sido filtradas se selecciona el botón “Ver Todo”.

El botón “Nueva Ubicación” abre otro formulario que sirve para introducir una nueva locación a

la base de datos del sistema. Al seleccionar un registro de la lista y hacer “doble click” se abre

el formulario “Ubicación actual”. El código de programa para el formulario “Lista de ubicaciones”

es el siguiente:

'*********************** ' ' Lista de Ubicaciones ' '*********************** Option Explicit Dim sel, Sortby As String Private Sub Command13_Click() Dim LocationList As String If Me.Select = 1 Then sel = "LocationNo ='" & Me.Input & "'" ElseIf Me.Select = 2 Then sel = "LocationDescription like '" & Me.Input & "*'" ElseIf Me.Select = 3 Then sel = " Department.[DepartmentDescription] like '" & Me.Input & "*'" End If LocationList = "SELECT Location.LocationNo as [No de Ubicación], Location.LocationDescription as [Descripción], Department.[DepartmentDescription] as [Departamento]" & _ "FROM Location LEFT JOIN Department ON Location.DeptNo = Department.[DepartmentNo] " & _ "WHERE " & sel & " ;" Me.List.RowSource = LocationList Me.List.ColumnCount = 3 Me.List.ColumnHeads = True Me.List.ColumnWidths = "3 cm; 9 cm; 3 cm" Call contarreg End Sub Private Sub Command14_Click() Call vertodo End Sub Private Sub Form_Activate() DoCmd.Restore Call contarreg Refresh End Sub Private Sub Form_Deactivate() DoCmd.Minimize End Sub Private Sub Form_Open(Cancel As Integer) Call vertodo End Sub Private Sub Command3_Click() On Error GoTo Err_Command3_Click

Page 214: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

214

Dim stLinkCriteria As String DoCmd.OpenForm "UbicNuevaForm", , , stLinkCriteria Exit_Command3_Click: Exit Sub Err_Command3_Click: MsgBox err.Description Resume Exit_Command3_Click End Sub Private Sub List_DblClick(Cancel As Integer) If IsNull(Me.List.Column(0)) Then MsgBox "Seleccione un registro", vbInformation, "SICAM" Else DoCmd.OpenForm "ActUbicForm", , , "[LocationNo]=" & "'" & Me.List.Column(0) & "'" End If End Sub Public Sub vertodo() Dim LocationList As String LocationList = "SELECT Location.LocationNo as [No de Ubicación], Location.LocationDescription as [Descripción], Department.[DepartmentDescription] as [Departamento]" & _ "FROM Location LEFT JOIN Department ON Location.DeptNo = Department.[DepartmentNo];" Me.List.RowSource = LocationList Me.List.ColumnCount = 3 Me.List.ColumnHeads = True Me.List.ColumnWidths = "3 cm; 9 cm; 3 cm" Call contarreg End Sub Private Sub Command15_Click() On Error GoTo Err_Command15_Click DoCmd.Close acForm, Me.Name Exit_Command15_Click: Exit Sub Err_Command15_Click: MsgBox err.Description Resume Exit_Command15_Click End Sub Private Sub SortB1_Click() If Me.SortB1.Caption = "Ordenar A->Z" Then If Me.Select = 1 Then Sortby = "ORDER BY LocationNo ASC" ElseIf Me.Select = 2 Then Sortby = "ORDER BY LocationDescription ASC" ElseIf Me.Select = 3 Then Sortby = "ORDER BY Department.[DepartmentDescription] ASC" End If Me.SortB1.Caption = "Ordenar Z->A" Else

Page 215: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

215

If Me.Select = 1 Then Sortby = "ORDER BY LocationNo DESC" ElseIf Me.Select = 2 Then Sortby = "ORDER BY LocationDescription DESC" ElseIf Me.Select = 3 Then Sortby = "ORDER BY Department.[DepartmentDescription] DESC" End If Me.SortB1.Caption = "Ordenar A->Z" End If Call Sort End Sub Public Sub Sort() Dim LocationList As String LocationList = "SELECT Location.LocationNo as [No de Ubicación], Location.LocationDescription as [Descripción], Department.[DepartmentDescription] as [Departamento]" & _ "FROM Location LEFT JOIN Department ON Location.DeptNo = Department.[DepartmentNo] " & Sortby & ";" Me.List.RowSource = LocationList Me.List.ColumnCount = 3 Me.List.ColumnHeads = True Me.List.ColumnWidths = "3 cm; 9 cm; 3 cm" Call contarreg End Sub Private Sub contarreg() Call CountRecord(Me.ListRec, List) End Sub

Formulario Ubicación actual Figura 15. – Formulario Ubicación actual.

Page 216: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

216

Este formulario muestra la información sobre una locación en particular que ha sido

seleccionada desde la lista de ubicaciones. Se muestra el código del lugar, la descripción,

departamento, prioridad, observaciones y el historial de las órdenes de trabajo que se han

realizado o están por ejecutarse en el sitio y la información resumida sobre cada orden de

trabajo. Seleccionando el botón que esta a la izquierda del número de cada orden de trabajo se

abrirá el formulario “Orden de trabajo” que muestra toda la información detallada sobre esa

orden. El botón “Cerrar” permite salir de este formulario. El código de programa asociado a este

formulario es el siguiente:

'********************************* ' ' Registro Actual de Ubicación ' '********************************* Option Explicit Private Sub Command19_Click() On Error GoTo Err_Command19_Click If Me.Dirty Then If MsgBox("Desea grabar el registro?", vbInformation + vbYesNo, "Grabar") = vbNo Then DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70 End If End If DoCmd.Close acForm, Me.Name Exit_Command19_Click: Exit Sub Err_Command19_Click: MsgBox err.Description Resume Exit_Command19_Click End Sub

Formulario Ubicación nueva Figura 16. – Formulario Ubicación nueva.

Page 217: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

217

Este formulario se utiliza para introducir una nueva locación a la base de datos del

sistema. El mismo pide información sobre el número de la locación, descripción, departamento,

prioridad y observaciones. El campo más importante es el número de ubicación ya que este es

el campo clave de la tabla de ubicaciones. Si el valor introducido ya existe el programa da un

mensaje alertando al usuario sobre el error y no permite el valor duplicado solicitando un nuevo

valor. El botón “Guardar” permite almacenar el registro en la base de datos del sistema y el

botón “Cerrar” permite salir del formulario dando la opción de guardar o no los datos

introducidos en los campos del formulario.

Formulario Información de Empresa

Figura 17. – Formulario Información de empresa. Este formulario almacena y muestra la información de la empresa y de los empleados que

utilizan el sistema. Tiene dos pestañas identificadas como “Empresa” y “Empleados”. La primera

de ellas despliega los datos de la empresa en seis campos, a saber: nombre de la compañía,

dirección, ciudad, estado, país y código postal; todos estos campos pueden ser modificados.

Esta pestaña tiene un botón para cerrar el formulario. En caso de que al menos alguno de los

campos haya sido modificado se presenta un aviso que pregunta al usuario si las

modificaciones hechas van a ser almacenadas o no. La pestaña “Empleados” presenta dos

opciones para seleccionar la forma cómo se van a mostrar la lista de empleados. Estas

opciones son: “por número de empleado” o “por nombre de empleado”. También presenta tres

botones los cuales permiten crear un nuevo empleado (botón Nuevo empleado), editar la

información del empleado seleccionado (botón Editar empleado) y o cerrar el formulario. El

código de programa para este formulario es el siguiente:

'********************************* ' Empresa y Acceso de Empleados '*********************************

Page 218: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

218

Option Explicit Private Sub Command49_Click() If IsNull(Me.By_Search_Type) Then MsgBox "Especifique información a buscar ...", vbInformation Exit Sub End If AdminAccess = "Admin" If [Type of Search].Value = 1 Then DoCmd.OpenForm "ActEmpForm", , , "[EmployeeNo]=" & "'" & Me.By_Search_Type.Column(0) & "'" ElseIf [Type of Search].Value = 2 Then DoCmd.OpenForm "ActEmpForm", , , "[FirstName]=" & "'" & Me.By_Search_Type.Column(0) & "'" End If End Sub Private Sub Command45_Click() On Error GoTo Err_Command45_Click If Me.Dirty Then If MsgBox("Desea grabar el registro ?", vbInformation + vbYesNo, "Grabar") = vbNo Then DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70 End If End If DoCmd.Close acForm, Me.Name Exit_Command45_Click: Exit Sub Err_Command45_Click: MsgBox err.Description Resume Exit_Command45_Click End Sub Private Sub Form_Activate() DoCmd.Restore End Sub Private Sub Form_Deactivate() DoCmd.Minimize End Sub Private Sub Type_of_Search_AfterUpdate() On Error GoTo Search_Type_Err Me.By_Search_Type.Enabled = True If [Type of Search].Value = 1 Then [By Search Type].RowSource = "" [Search Text].Caption = "Seleccione ID del Empleado a buscar" [By Search Type].ColumnCount = 2 [By Search Type].ColumnWidths = "3 cm;5 cm" [By Search Type].BoundColumn = 2 [By Search Type].RowSource = "SELECT Employees.EmployeeNo, Employees.FirstName FROM Employees ORDER BY Employees.EmployeeNo" ElseIf [Type of Search].Value = 2 Then [By Search Type].RowSource = "" [Search Text].Caption = "Seleccione Nombre del Empleado a buscar" [By Search Type].ColumnCount = 2 [By Search Type].ColumnWidths = "5 cm;3 cm" [By Search Type].BoundColumn = 2 [By Search Type].RowSource = "SELECT FirstName, EmployeeNo FROM Employees ORDER BY FirstName" ElseIf [Type of Search].Value = 3 Then End If DoCmd.GoToControl "By Search Type" SendKeys ("{F4}")

Page 219: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

219

Exit Sub Search_Type_Err: MsgBox "Error is " & Error$, 16 Exit Sub End Sub Private Sub Command51_Click() On Error GoTo Err_Command51_Click AdminAccess = "" DoCmd.Close acForm, Me.Name Exit_Command51_Click: Exit Sub Err_Command51_Click: MsgBox err.Description Resume Exit_Command51_Click End Sub Private Sub Command53_Click() On Error GoTo Err_Command53_Click Dim stDocName As String Dim stLinkCriteria As String AdminAccess = "Admin" stDocName = "EmpNuevoForm" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Command53_Click: Exit Sub Err_Command53_Click: MsgBox err.Description Resume Exit_Command53_Click End Sub

Formulario Reportes Figura 17. – Formulario Reportes

Page 220: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

220

Este formulario no almacena ninguna información sino que muestra una lista de los

posibles reportes que puede generar el sistema. Tiene un campo etiquetado como “Grupo de

reporte” para filtrar la información que se muestra en la lista de manera de que se desplieguen

en grupos que tengan información en común. Dependiendo del reporte seleccionado el

formulario solicitará la información que necesite el programa para mostrar la información en

pantalla o imprimir el informe. Esta información es solicitada en la parte inferior del formulario y

puede ser de variadas índoles como intervalo de fechas, número de equipos, partes, ubicación,

etc. El formulario posee un botón identificado como “Vista Preliminar” para desplegar el informe

en pantalla para su revisión antes de imprimirlo y otro botón para cerrar el formulario. El código

de programa asignado a este formulario es el siguiente:

'******************** ' ' Lista de Informes ' '******************** Option Explicit Dim repName As String Dim repno As Integer Private Sub calCtl11_Click() Me.txtMtbfStart = Me.calCtl11.Value Me.txtMtbfEnd.SetFocus Me.calCtl11.Visible = False End Sub Private Sub calCtl12_Click() Me.txtMtbfEnd = Me.calCtl12.Value Me.txtMtbfEnd.SetFocus Me.calCtl12.Visible = False Me.lstMtbfWorkType.Visible = True End Sub Private Sub calCtl13_Click() Me.TxtFrom = Me.calCtl13.Value Me.TxtFrom.SetFocus Me.calCtl13.Visible = False End Sub Private Sub calCtl14_Click() Me.TxtTo = Me.calCtl14.Value Me.TxtTo.SetFocus Me.calCtl14.Visible = False End Sub Private Sub Calendar2_Click() Me.txtFailureStDate = Me.Calendar2.Value Me.txtFailureStDate.SetFocus Me.Calendar2.Visible = False End Sub Private Sub Calendar3_Click()

Page 221: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

221

Me.txtFailureEdDate = Me.Calendar3.Value Me.txtFailureEdDate.SetFocus Me.Calendar3.Visible = False Me.lstFailureWorkType.Visible = True End Sub Private Sub CmbAssetCtg_AfterUpdate() Me.CmbAsset.RowSource = "SELECT assets.AssetNumber AS [No de equipo] , assets.AssetDescription AS [Descripción de equipo], assets.AssetCatCode FROM assets WHERE (((assets.AssetCatCode)='" & Me.CmbAssetCtg.Column(0) & "')) Order By AssetNumber;" End Sub Private Sub CmbCtg_AfterUpdate() Dim List As String If Me.CmbCtg.Column(0) = "<ALL>" Then List = "SELECT ReportNo as [No Reporto], ReportDesc as [Grupo de Reporte], " & _ "ReportName as [Nombre del Reporte],repvalue FROM ReportDB Order by reportdesc,reportname;" Else List = "SELECT ReportNo as [No Reporto], ReportDesc as [Grupo de Reporte], " & _ "ReportName as [Nombre del Reporte],repvalue FROM ReportDB where ReportDesc='" & Me.CmbCtg.Column(0) & "' Order by reportdesc,reportname;" End If Me.List.RowSource = List Me.List.ColumnCount = 4 Me.List.ColumnHeads = True Me.List.ColumnWidths = "0 cm;4.5 cm; 8 cm; 0 cm" End Sub Private Sub cmdDelWorkType_Click() Me.txtMtbfWorkType = "'Breakdown'" End Sub Private Sub ExportWOManHours() Dim i As Long Dim rc As DAO.Recordset Dim SQL As String Dim x1 As Object On Error GoTo err Set dbSICAM = CurrentDb SQL = "SELECT workorderlabor.EmployeeNo, Sum(workorderlabor.TotHour) AS SumOfTotHour, worktype.WorkTypeDescription " & _ "FROM (workorderlabor INNER JOIN workorders ON workorderlabor.WorkorderNo = workorders.WorkorderNo) LEFT JOIN worktype ON workorders.WorkType = worktype.WorkTypeID " & _ "WHERE (((workorderlabor.StartDate) Between #" & Format(Me.txtStartDate.Value, "m/d/yyyy") & "# And #" & Format(DateAdd("d", 1, Me.txtEndDate.Value), "m/d/yyyy") & "#)) " & _ "GROUP BY workorderlabor.EmployeeNo, worktype.WorkTypeDescription, workorders.WorkStatus HAVING (((workorders.WorkStatus)=2));" Set rc = dbSICAM.OpenRecordset(SQL) If rc.EOF = True Then MsgBox "No hay Archivos para este rango de fechas", vbInformation rc.Close Set rc = Nothing Exit Sub

Page 222: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

222

End If i = 2 Set x1 = CreateObject("Excel.Application") x1.Workbooks.Open (Application.CurrentProject.Path + "\WorkOrderManHours.xls") x1.sheets("Sheet1").Select x1.Rows("2:65536").Select x1.Selection.Delete Shift:=-4162 'x1.Range("A1").Value = "No de empleado" 'x1.Range("B1").Value = "Tipo de OT" 'x1.Range("C1").Value = "TOTALHOURS" While Not rc.EOF x1.Range("A" & i).Value = rc(0) x1.Range("B" & i).Value = rc(2) x1.Range("C" & i).Value = rc(1) i = i + 1 rc.MoveNext Wend rc.Close Set rc = Nothing x1.sheets("Sheet4").Select x1.ActiveWorkbook.RefreshAll x1.ActiveWorkbook.Save x1.Visible = True Set x1 = Nothing Exit Sub err: MsgBox err.Description, vbExclamation x1.Quit End Sub Private Sub cmdExport_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim rsTemp As DAO.Recordset Dim sqlq As String Dim x1 As Object Dim title As String Dim newDate As String Dim excelFilename As String On Error GoTo ExcelError If repno = 78 Then Call ExportWOManHours Exit Sub End If Set x1 = CreateObject("Excel.Application") excelFilename = Application.CurrentProject.Path + "\WorkOrderStatusChart.xls" Set db = CurrentDb repno = Me.List.Column(0) If repno = 48 Then sqlq = "SELECT [WorkStatus] FROM [WorkOrderStatusChart] WHERE DateReceived Between #" & _ Format(CStr(Me.txtStartDate), "m/d/yyyy") + "# AND #" + Format(CStr(DateAdd("d", 1, CDate(Me.txtEndDate))), "m/d/yyyy") + "#" title = "Grafico Status de OT de " + CStr(Format(Me.txtStartDate, "dd/mm/yyyy")) + " to " + CStr(Format(Me.txtEndDate, "dd/mm/yyyy"))

Page 223: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

223

Else sqlq = "SELECT [WorkStatus] FROM [PMWorkOrderStatusChart] WHERE DateReceived Between #" & _ Format(CStr(Me.txtStartDate), "m/d/yyyy") + "# AND #" + Format(CStr(DateAdd("d", 1, CDate(Me.txtEndDate))), "m/d/yyyy") + "#" title = "PMWork Order Status Chart From " + CStr(Format(Me.txtStartDate, "dd/mm/yyyy")) + " to " + CStr(Format(Me.txtEndDate, "dd/mm/yyyy")) End If Set rs = db.OpenRecordset(sqlq) x1.Workbooks.Open (excelFilename) x1.Worksheets("Sheet1").Activate Dim i As Integer Dim a As String i = 1 a = "A1" While (x1.Range(a).Value <> "") x1.Range(a).Value = "" i = i + 1 a = "A" + CStr(i) Wend i = 2 x1.Range("A1").Value = "WorkStatus" rs.MoveFirst While rs.EOF = False a = "A" + CStr(i) x1.Range(a).Value = rs.Fields(0) rs.MoveNext i = i + 1 Wend x1.Charts(1).Activate x1.ActiveChart.ApplyDataLabels 3 'xlDataLabelsShowLabelAndPercent x1.ActiveChart.HasLegend = True x1.ActiveChart.ChartTitle.Caption = title x1.ActiveWorkbook.RefreshAll x1.ActiveWorkbook.Save x1.Visible = True Set x1 = Nothing Exit Sub ExcelError: MsgBox err.Description, vbExclamation x1.Quit End Sub Private Sub CmdExport4_Click() If repno = 79 Then Call ExportWODistribution ElseIf repno = 80 Then Call ExportWODistributionManHours ElseIf repno = 81 Then Call ExportWOPMComp End If End Sub Private Sub ExportWOPMComp() Dim db As DAO.Database Dim rs As DAO.Recordset Dim rsTemp As DAO.Recordset Dim x1 As Object Dim TotalPM As Long Dim TotalLateCompleteSch As Long Dim TotalCompleteSch As Long

Page 224: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

224

Dim TotalPMOpen As Long Dim TotalPMOverdue As Long Dim TotalPMCancelled As Long On Error GoTo ExcelError If IsNull(Me.TxtFrom) Or Trim(Me.TxtTo) = "" Then MsgBox "Introduzca rango de fechas", vbInformation, "SICAM" Exit Sub End If Set x1 = CreateObject("Excel.Application") Set db = CurrentDb repno = Me.List.Column(0) Set rs = db.OpenRecordset("SELECT Count(workorders.WorkorderNo) AS TotalWOPM FROM workorders WHERE workorders.WorkType In (2)" & _ " AND workorders.PMTarCompDate Between # " + Format(Me.TxtFrom, "m/d/yyyy") + "# AND #" + Format(Me.TxtTo, "m/d/yyyy") + "#") If Not rs.EOF Then TotalPM = rs(0) End If rs.Close Set rs = Nothing Set rs = db.OpenRecordset("SELECT Count(WOCompSch.WorkorderNo) AS CountOfWorkorderNo FROM WOCompSch WHERE (((WOCompSch.result) = 'Y'))HAVING (((WOCompSch.pm2) Between #" & Format(Me.TxtFrom, "m/d/yyyy") & "# And #" & Format(DateAdd("d", 1, CDate(Me.TxtTo)), "m/d/yyyy") & "#));") If Not rs.EOF Then TotalLateCompleteSch = rs(0) End If rs.Close Set rs = Nothing Set rs = db.OpenRecordset("SELECT Count(WOCompSch.WorkorderNo) AS CountOfWorkorderNo FROM WOCompSch WHERE (((WOCompSch.result) = 'N'))HAVING (((WOCompSch.pm2) Between #" & Format(Me.TxtFrom, "m/d/yyyy") & "# And #" & Format(DateAdd("d", 1, CDate(Me.TxtTo)), "m/d/yyyy") & "#));") If Not rs.EOF Then TotalCompleteSch = rs(0) End If rs.Close Set rs = Nothing Set rs = db.OpenRecordset("SELECT Count(workorders.WorkorderNo) AS CountOfWorkorderNo FROM workorders WHERE (((workorders.PMTarCompDate)> ServerdateQuery()) AND (workorders.PMTarCompDate) Between #" & Format(Me.TxtFrom, "m/d/yyyy") & "# And #" & Format(DateAdd("d", 1, CDate(Me.TxtTo)), "m/d/yyyy") & "# AND ((workorders.WorkStatus)<>2 And (workorders.WorkStatus)<>3 AND (workorders.WorkStatus) <>7) AND ((workorders.WorkType) In (2)));") If Not rs.EOF Then TotalPMOpen = rs(0) End If rs.Close Set rs = Nothing Set rs = db.OpenRecordset("SELECT Count(workorders.WorkorderNo) AS CountOfWorkorderNo FROM workorders WHERE (((workorders.PMTarCompDate)<=ServerdateQuery()) AND (workorders.PMTarCompDate) Between #" & Format(Me.TxtFrom, "m/d/yyyy") & "# And #" & Format(DateAdd("d", 1, CDate(Me.TxtTo)), "m/d/yyyy") & "# AND ((workorders.WorkStatus)<>2 And (workorders.WorkStatus)<>3 AND (workorders.WorkStatus) <>7) AND ((workorders.WorkType) In (2)));") If Not rs.EOF Then TotalPMOverdue = rs(0) End If

Page 225: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

225

rs.Close Set rs = Nothing Set rs = db.OpenRecordset("SELECT Count(workorders.WorkorderNo) AS CountOfWorkorderNo FROM workorders WHERE (workorders.PMTarCompDate) Between #" & Format(Me.TxtFrom, "m/d/yyyy") & "# And #" & Format(DateAdd("d", 1, CDate(Me.TxtTo)), "m/d/yyyy") & "# AND (workorders.WorkStatus = 3 ) AND ((workorders.WorkType) In (2));") If Not rs.EOF Then TotalPMCancelled = rs(0) End If rs.Close Set rs = Nothing x1.Workbooks.Open (Application.CurrentProject.Path + "\PMComplianceReportChart.xls") x1.sheets("Sheet1").Activate x1.Range("B2").Value = TotalCompleteSch + TotalLateCompleteSch + TotalPMOverdue + TotalPMOpen + TotalPMCancelled x1.Range("B3").Value = TotalCompleteSch x1.Range("B4").Value = TotalLateCompleteSch x1.Range("B5").Value = TotalPMOpen x1.Range("B6").Value = TotalPMOverdue x1.Range("B7").Value = TotalPMCancelled x1.Columns("A:A").EntireColumn.AutoFit x1.sheets("Chart1").Activate x1.ActiveChart.ChartTitle.Caption = "PM Compliance Report, Target Complete Date Range From " & Me.TxtFrom.Value & " to " & Me.TxtTo.Value x1.ActiveChart.HasLegend = True x1.ActiveWorkbook.RefreshAll x1.ActiveWorkbook.Save x1.Visible = True Set x1 = Nothing Exit Sub ExcelError: MsgBox err.Description, vbExclamation x1.Quit End Sub Private Sub ExportWODistribution() Dim db As DAO.Database Dim rs As DAO.Recordset Dim rsTemp As DAO.Recordset Dim sqlq As String, sqlq1 As String Dim x1 As Object Dim title As String Dim newDate As String Dim excelFilename As String On Error GoTo ExcelError Set x1 = CreateObject("Excel.Application") excelFilename = Application.CurrentProject.Path + "\WorkOrderDistribution.xls" Set db = CurrentDb sqlq = "SELECT worktype.WorkTypeDescription FROM workorders LEFT JOIN worktype ON workorders.WorkType = worktype.WorkTypeID " & _ "WHERE workorders.WorkStatus not in(3) and (((workorders.DateReceived) Between #" & Format(Me.TxtFrom, "m/d/yyyy") & "# And #" & Format(DateAdd("d", 1, Me.TxtTo), "m/d/yyyy") & "#) AND ((worktype.WorkTypeID) Not In (2)));"

Page 226: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

226

sqlq1 = "SELECT worktype.WorkTypeDescription FROM workorders LEFT JOIN worktype ON workorders.WorkType = worktype.WorkTypeID " & _ "WHERE workorders.WorkStatus not in(3) and (((workorders.PMTarStartDate) Between #" & Format(Me.TxtFrom, "m/d/yyyy") & "# And #" & Format(DateAdd("d", 1, Me.TxtTo), "m/d/yyyy") & "#) AND ((worktype.WorkTypeID) In (2)));" title = "Gráfica de OT´s por Tipo de Orden de " + CStr(Format(Me.TxtFrom, "dd/mm/yyyy")) + " a " + CStr(Format(Me.TxtTo, "dd/mm/yyyy")) Set rs = db.OpenRecordset(sqlq) x1.Workbooks.Open (excelFilename) x1.Worksheets("Sheet1").Activate x1.sheets("Sheet1").Select x1.Rows("2:65536").Select x1.Selection.Delete Shift:=-4162 Dim row As Long Dim a As String row = 2 While Not rs.EOF x1.Range("A" & row).Value = rs(0) row = row + 1 rs.MoveNext Wend rs.Close Set rs = Nothing Set rs = db.OpenRecordset(sqlq1) While Not rs.EOF x1.Range("A" & row).Value = rs(0) row = row + 1 rs.MoveNext Wend rs.Close Set rs = Nothing x1.Charts(1).Activate x1.ActiveChart.ApplyDataLabels 3 'xlDataLabelsShowLabelAndPercent x1.ActiveChart.HasLegend = True x1.ActiveChart.ChartTitle.Caption = title x1.ActiveWorkbook.RefreshAll x1.ActiveWorkbook.Save x1.Visible = True Set x1 = Nothing Exit Sub ExcelError: MsgBox err.Description, vbExclamation x1.Quit End Sub Private Sub ExportWODistributionManHours() Dim db As DAO.Database Dim rs As DAO.Recordset Dim rsTemp As DAO.Recordset Dim sqlq As String, sqlq1 As String Dim x1 As Object Dim title As String Dim newDate As String Dim excelFilename As String On Error GoTo ExcelError Set x1 = CreateObject("Excel.Application")

Page 227: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

227

excelFilename = Application.CurrentProject.Path + "\WorkOrderDistributionManHours.xls" Set db = CurrentDb sqlq = "SELECT worktype.WorkTypeDescription, IIf(IsNull([TotHour]),0,[TotHour]) AS TotalHours FROM (workorders LEFT JOIN worktype ON workorders.WorkType = worktype.WorkTypeID) LEFT JOIN workorderlabor ON workorders.WorkorderNo = workorderlabor.WorkorderNo " & _ "WHERE (((workorders.DateReceived) Between #" & Format(Me.TxtFrom, "m/d/yyyy") & "# And #" & Format(Me.TxtTo, "m/d/yyyy") & "#) AND ((worktype.WorkTypeID) Not In (2)));" sqlq1 = "SELECT worktype.WorkTypeDescription, IIf(IsNull([TotHour]),0,[TotHour]) AS TotalHours FROM (workorders LEFT JOIN worktype ON workorders.WorkType = worktype.WorkTypeID) LEFT JOIN workorderlabor ON workorders.WorkorderNo = workorderlabor.WorkorderNo " & _ "WHERE (((workorders.PMTarStartDate) Between #" & Format(Me.TxtFrom, "m/d/yyyy") & "# And #" & Format(Me.TxtTo, "m/d/yyyy") & "#) AND ((worktype.WorkTypeID) In (2)));" title = "Gráfica de Total de Hrs. de MO por Tipo de Orden de " + CStr(Format(Me.TxtFrom, "dd/mm/yyyy")) + " a " + CStr(Format(Me.TxtTo, "dd/mm/yyyy")) Set rs = db.OpenRecordset(sqlq) x1.Workbooks.Open (excelFilename) x1.Worksheets("Sheet1").Activate x1.sheets("Sheet1").Select x1.Rows("2:65536").Select x1.Selection.Delete Shift:=-4162 Dim row As Long Dim a As String row = 2 While Not rs.EOF x1.Range("A" & row).Value = rs(0) x1.Range("B" & row).Value = rs(1) row = row + 1 rs.MoveNext Wend rs.Close Set rs = Nothing Set rs = db.OpenRecordset(sqlq1) While Not rs.EOF x1.Range("A" & row).Value = rs(0) x1.Range("B" & row).Value = rs(1) row = row + 1 rs.MoveNext Wend rs.Close Set rs = Nothing x1.Charts(1).Activate x1.ActiveChart.ApplyDataLabels 3 'xlDataLabelsShowLabelAndPercent x1.ActiveChart.HasLegend = True x1.ActiveChart.ChartTitle.Caption = title x1.ActiveWorkbook.RefreshAll x1.ActiveWorkbook.Save x1.Visible = True Set x1 = Nothing Exit Sub ExcelError: MsgBox err.Description, vbExclamation x1.Quit

Page 228: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

228

End Sub Private Sub cmdExportMtbf_Click() If IsNull(Me.txtMtbfStart) Or Me.txtMtbfStart = "" Then MsgBox "Indique la fecha del inicio", vbInformation Me.txtMtbfStart.SetFocus Exit Sub End If If IsNull(Me.txtMtbfEnd) Or Me.txtMtbfEnd = "" Then MsgBox "Indique la fecha final", vbInformation Me.txtMtbfEnd.SetFocus Exit Sub End If If Me.txtMtbfStart.Value > Me.txtMtbfEnd.Value Then MsgBox "Fecha final debe ser mayor que fecha de inicio", vbInformation Me.txtMtbfEnd.SetFocus Exit Sub End If If Me.List.Column(0) = 75 Then MtbfReport "MTBF(days)", "mtbf.xls" Else MttrReport "MTTR(mins)", "mttr.xls" End If End Sub Private Sub cmdFailureExport_Click() If IsNull(Me.txtFailureStDate) Or Trim(Me.txtFailureStDate) = "" Then MsgBox "Indique la fecha de Inicio", vbInformation Me.txtFailureStDate.SetFocus Exit Sub End If If IsNull(Me.txtFailureEdDate) Or Trim(Me.txtFailureEdDate) = "" Then MsgBox "Indique la fecha de Fin", vbInformation Me.txtFailureEdDate.SetFocus Exit Sub End If If Me.txtFailureEdDate < Me.txtFailureStDate Then MsgBox "La fecha de Fin debe ser mayor que la fecha de inicio", vbInformation Me.txtFailureEdDate.SetFocus Exit Sub End If FailureAnalysis "Failure Analysis", "FailureTypeAnalysis.xls", IIf(IsNull(Me.CmbAsset) Or Trim(Me.CmbAsset.Column(0)), False, True) End Sub Private Sub FailureAnalysis(ByVal title As String, ByVal filname As String, ByVal GotAss As Boolean) Dim db As DAO.Database Dim rs As DAO.Recordset Dim sqlq As String Dim x1 As Object Dim i As Integer Dim a As String filname = Application.CurrentProject.Path + "\" + filname On Error GoTo ExcelError Set db = CurrentDb Set x1 = CreateObject("Excel.Application") x1.Workbooks.Open (filname) x1.Worksheets("Sheet1").Activate 'Eliminar los registros existenstes de excel x1.Rows("2:65535").Select x1.Selection.Delete Shift:=-4162

Page 229: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

229

'x1.Visible = True If GotAss = False Then sqlq = " SELECT Left([FailureCauseDescription],1000) AS FailureDesc, Count(workorders.WorkorderNo) AS CountOfWorkorderNo, failurecause.FailureCauseCode,Sum(workorders.DownTime) AS SumOfDownTime " & _ " FROM (workorders INNER JOIN failurecause ON workorders.FailureCauseCode = failurecause.FailureCauseCode) INNER JOIN worktype ON workorders.WorkType = worktype.WorkTypeID" & _ " WHERE DateSerial(Year(DateReceived),Month(DateReceived),Day(DateReceived)) " & _ " BETWEEN DateSerial(" + CStr(Year(Me.txtFailureStDate)) + "," + CStr(Month(Me.txtFailureStDate)) + "," + CStr(Day(Me.txtFailureStDate)) + ")" & _ " AND DateSerial(" + CStr(Year(Me.txtFailureEdDate)) + "," + CStr(Month(Me.txtFailureEdDate)) + "," + CStr(Day(Me.txtFailureEdDate)) + ")" Else sqlq = " SELECT Left([FailureCauseDescription],1000) AS FailureDesc, Count(workorders.WorkorderNo) AS CountOfWorkorderNo, failurecause.FailureCauseCode,Sum(workorders.DownTime) AS SumOfDownTime " & _ " FROM (workorders INNER JOIN failurecause ON workorders.FailureCauseCode = failurecause.FailureCauseCode) INNER JOIN worktype ON workorders.WorkType = worktype.WorkTypeID" & _ " WHERE workorders.AssetNo='" & Replace(Me.CmbAsset.Column(0), "'", "''") & "' and DateSerial(Year(DateReceived),Month(DateReceived),Day(DateReceived)) " & _ " BETWEEN DateSerial(" + CStr(Year(Me.txtFailureStDate)) + "," + CStr(Month(Me.txtFailureStDate)) + "," + CStr(Day(Me.txtFailureStDate)) + ")" & _ " AND DateSerial(" + CStr(Year(Me.txtFailureEdDate)) + "," + CStr(Month(Me.txtFailureEdDate)) + "," + CStr(Day(Me.txtFailureEdDate)) + ")" End If sqlq = sqlq + " AND workorders.WorkStatus = 2" sqlq = sqlq + " AND WorkTypeDescription IN(" + Me.txtFailureWorkType + ") GROUP BY Left([FailureCauseDescription],1000), failurecause.FailureCauseCode" Debug.Print sqlq Set rs = db.OpenRecordset(sqlq) If rs.EOF = False Then rs.MoveFirst i = 2 While rs.EOF = False a = "A" + CStr(i) x1.Range(a).Value = rs.Fields("FailureCauseCode") + " " + IIf(IsNull(rs.Fields("FailureDesc")), "", rs.Fields("FailureDesc")) a = "B" + CStr(i) x1.Range(a).Value = rs.Fields("SumOfDownTime") a = "C" + CStr(i) x1.Range(a).Value = rs.Fields("CountOfWorkorderNo") rs.MoveNext i = i + 1 Wend rs.Close Set rs = Nothing db.Close Set db = Nothing x1.Charts(1).Activate x1.ActiveChart.ChartTitle.Caption = "Failure Analysis (Downtime) From " + CStr(Me.txtFailureStDate) + " to " + CStr(Me.txtFailureEdDate) x1.Charts(2).Activate x1.ActiveChart.ChartTitle.Caption = "Failure Analysis (Frequency) From " + CStr(Me.txtFailureStDate) + " to " + CStr(Me.txtFailureEdDate) x1.Charts(1).Activate x1.ActiveWorkbook.RefreshAll x1.ActiveWorkbook.Save

Page 230: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

230

x1.Visible = True Exit Sub ExcelError: MsgBox err.Description, vbExclamation x1.Quit End Sub Private Sub Command108_Click() On Error GoTo Err_Command108_Click Me.calCtl1.Visible = True Me.calCtl1.Value = Date Exit_Command108_Click: Exit Sub Err_Command108_Click: MsgBox err.Description Resume Exit_Command108_Click End Sub Private Sub Command109_Click() Me.calCtl2.Visible = True Me.calCtl2.Value = Date End Sub Private Sub Command110_Click() Me.calCtl5.Visible = True Me.calCtl5.Value = Date End Sub Private Sub Command111_Click() Me.calCtl6.Visible = True Me.calCtl6.Value = Date End Sub Private Sub Command174_Click() Me.calCtl3.Visible = True Me.calCtl3.Value = Date End Sub Private Sub Command175_Click() Me.calCtl4.Visible = True Me.calCtl4.Value = Date End Sub Private Sub Command187_Click() Me.calCtl7.Visible = True Me.calCtl7.Value = Date End Sub Private Sub Command188_Click() Me.calCtl8.Visible = True Me.calCtl8.Value = Date End Sub Private Sub Command196_Click() Me.calCtl9.Visible = True Me.calCtl9.Value = Date End Sub Private Sub Command197_Click() Me.calCtl10.Visible = True Me.calCtl10.Value = Date End Sub

Page 231: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

231

Private Sub Command221_Click() Me.calCtl11.Visible = True Me.calCtl11.Value = Date End Sub Private Sub Command224_Click() Me.calCtl12.Visible = True Me.calCtl12.Value = Date Me.lstMtbfWorkType.Visible = False End Sub Private Sub Command230_Click() Me.calCtl13.Visible = True Me.calCtl13.Value = Date End Sub Private Sub Command233_Click() Me.calCtl14.Visible = True Me.calCtl14.Value = Date End Sub Private Sub Command273_Click() Me.Calendar2.Visible = True Me.Calendar2.Value = Date End Sub Private Sub Command274_Click() Me.txtFailureEdDate.SetFocus Me.lstFailureWorkType.Visible = False Me.Calendar3.Visible = True Me.Calendar3.Value = Date End Sub Private Sub Command287_Click() Me.txtFailureWorkType = "'Reparación (sin garantía)'" End Sub Private Sub Ctl11_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error GoTo ErrorHandler If Me.calCtl7.Visible = True Then Me.calCtl7.Visible = False If Me.calCtl8.Visible = True Then Me.calCtl8.Visible = False ErrorHandler: If err.Number <> 0 Then Me.txtStartDate.SetFocus If Me.calCtl7.Visible = True Then Me.calCtl7.Visible = False If Me.calCtl8.Visible = True Then Me.calCtl8.Visible = False End If End Sub Private Sub Ctl12_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error GoTo ErrorHandler If Me.calCtl9.Visible = True Then Me.calCtl9.Visible = False If Me.calCtl10.Visible = True Then Me.calCtl10.Visible = False ErrorHandler: If err.Number <> 0 Then Me.tar1.SetFocus If Me.calCtl9.Visible = True Then Me.calCtl9.Visible = False If Me.calCtl10.Visible = True Then Me.calCtl10.Visible = False End If End Sub Private Sub Ctl13_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If Me.calCtl11.Visible = True Then

Page 232: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

232

Me.txtMtbfStart.SetFocus Me.calCtl11.Visible = False End If If Me.calCtl12.Visible = True Then Me.txtMtbfEnd.SetFocus Me.calCtl12.Visible = False Me.lstMtbfWorkType.Visible = True End If End Sub Private Sub Ctl14_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error GoTo ErrorHandler If Me.calCtl13.Visible = True Then Me.calCtl13.Visible = False If Me.calCtl14.Visible = True Then Me.calCtl14.Visible = False ErrorHandler: If err.Number <> 0 Then Me.TxtFrom.SetFocus If Me.calCtl13.Visible = True Then Me.calCtl13.Visible = False If Me.calCtl14.Visible = True Then Me.calCtl14.Visible = False End If End Sub Private Sub Ctl15_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error GoTo ErrorHandler If Me.Calendar2.Visible = True Then Me.Calendar2.Visible = False If Me.Calendar3.Visible = True Then Me.Calendar3.Visible = False ErrorHandler: If err.Number <> 0 Then Me.txtFailureStDate.SetFocus If Me.Calendar2.Visible = True Then Me.Calendar2.Visible = False If Me.Calendar3.Visible = True Then Me.Calendar3.Visible = False End If End Sub Private Sub Ctl2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error GoTo ErrorHandler If Me.calCtl1.Visible = True Then Me.calCtl1.Visible = False If Me.calCtl2.Visible = True Then Me.calCtl2.Visible = False ErrorHandler: If err.Number <> 0 Then Me.WODate1.SetFocus If Me.calCtl1.Visible = True Then Me.calCtl1.Visible = False If Me.calCtl2.Visible = True Then Me.calCtl2.Visible = False End If End Sub Private Sub Ctl3_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error GoTo ErrorHandler If Me.calCtl3.Visible = True Then Me.calCtl3.Visible = False If Me.calCtl4.Visible = True Then Me.calCtl4.Visible = False ErrorHandler: If err.Number <> 0 Then Me.TargetDate1.SetFocus If Me.calCtl3.Visible = True Then Me.calCtl3.Visible = False If Me.calCtl4.Visible = True Then Me.calCtl4.Visible = False End If End Sub Private Sub Ctl6_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error GoTo ErrorHandler

Page 233: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

233

If Me.calCtl5.Visible = True Then Me.calCtl5.Visible = False If Me.calCtl6.Visible = True Then Me.calCtl6.Visible = False ErrorHandler: If err.Number <> 0 Then Me.Trans1.SetFocus If Me.calCtl5.Visible = True Then Me.calCtl5.Visible = False If Me.calCtl6.Visible = True Then Me.calCtl6.Visible = False End If End Sub Private Sub Department_AfterUpdate() Dim deptlist As String deptlist = "Select AssetNumber AS [No de equipo],AssetDescription AS [Descripción de equipo] " & _ "FROM Assets Where DepartmentNo='" & Me.Department.Column(0) & "' ORDER BY Assets.AssetNumber;" Me.AssetNo1.RowSource = deptlist Me.AssetNo2.RowSource = deptlist End Sub Private Sub Form_Load() Me.RepParam.Style = 2 End Sub Private Sub Form_Open(Cancel As Integer) Dim List, SQL, MyList As String Set dbSICAM = CurrentDb() Dim rc As DAO.Recordset SQL = "SELECT Distinct ReportDesc as [Reporto] FROM ReportDB Order by reportdesc;" Set rc = dbSICAM.OpenRecordset(SQL) MyList = "<ALL>" Do While Not rc.EOF MyList = MyList & ";" & rc(0) rc.MoveNext Loop CmbCtg.RowSource = MyList rc.Close Set rc = Nothing List = "SELECT ReportNo as [No Reporto], ReportDesc as [Grupo de Reporte], " & _ "ReportName as [Nombre del Reporte], repvalue FROM ReportDB Order by reportdesc,reportname;" Me.List.RowSource = List Me.List.ColumnCount = 4 Me.List.ColumnHeads = True Me.List.ColumnWidths = "0 cm;4.5 cm; 8 cm; 0 cm" Me.txtMtbfWorkType = "'Breakdown'" End Sub Private Sub Command2_Click() On Error GoTo Err_Command2_Click DoCmd.Close acForm, Me.Name Exit_Command2_Click: Exit Sub Err_Command2_Click: MsgBox err.Description Resume Exit_Command2_Click End Sub Private Sub List_Click() On Error GoTo Err_List_Click

Page 234: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

234

Me.LblRemarks.Caption = "" Me.Label189.Visible = True Me.CmdExport4.Visible = True Dim val As Integer repno = Me.List.Column(0) repName = Me.List.Column(2) val = Me.List.Column(3) Me.RepParam.Pages(val).SetFocus Select Case repno Case 1, 2, 3, 4, 5, 72 Me.AssetNo1 = Null Me.AssetNo2 = Null Me.Department = Null Me.AssetNo1.RowSource = "" Me.AssetNo2.RowSource = "" If repno = 1 Or repno = 3 Or repno = 72 Then Dim AssList As String AssList = "SELECT AssetNumber AS [No de equipo], AssetDescription AS [Descripción de equipo] FROM assets " & _ "ORDER BY Assets.AssetNumber;" Me.AssetNo1.RowSource = AssList Me.AssetNo2.RowSource = AssList Me.AssetNo2.Enabled = True Me.Department.Enabled = False ElseIf repno = 2 Or repno = 4 Then Me.AssetNo2.Enabled = True Me.Department.Enabled = True Me.Department.SetFocus Else AssList = "SELECT AssetNumber AS [No de equipo], AssetDescription AS [Descripción de equipo] FROM assets " & _ "ORDER BY Assets.AssetNumber;" Me.AssetNo1.RowSource = AssList Me.AssetNo2.Enabled = False Me.Department.Enabled = False End If Case 71 Me.ass1.Enabled = True Me.ass2.Enabled = True Case 73 Me.ass1.Enabled = False Me.ass2.Enabled = False Case 11, 13, 14, 16, 18, 20, 22, 32, 33, 48 Me.Trade.Enabled = False Case 12, 15, 17, 19, 21, 23, 25, 27, 29, 31 Me.Trade.Enabled = True Case 34, 36, 38, 40, 42, 44, 46 Me.PMWOTrade.Enabled = False Case 35, 37, 39, 41, 43, 45, 47 Me.PMWOTrade.Enabled = True Case 50, 52, 54, 56 Me.partno.Enabled = False Case 51, 53, 55, 57, 65 Me.partno.Enabled = True Case 77 Me.Trade.Enabled = False Case 78 Me.Label189.Visible = False Case 79, 80 Me.LblRemarks.Caption = "(Para las Ot´s Preventivas se toma la fecha programada de Inicio de MP, para las demás la Fecha de Solicitud. Se excluyen las OT´s canceladas)" Case 81 Me.LblRemarks.Caption = "(Basadas en Ordenes de Trabajo de MP Terminadas)" Case 83

Page 235: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

235

Me.LblRemarks.Caption = "(Basadas en la fecha de Fin real de OT´s. Este informe solo usa las Ordenes de Trabajo Cerradas para su cálculo)" Me.CmdExport4.Visible = False Case 84 Me.CmdExport4.Visible = False End Select Exit_List_Click: Exit Sub Err_List_Click: MsgBox err.Description Resume Exit_List_Click End Sub Private Sub Command48_Click() On Error GoTo Err_Command48_Click If Me.List.Column(0) = 75 Or Me.List.Column(0) = 76 Or Me.List.Column(0) = 78 Or Me.List.Column(0) = 79 Or Me.List.Column(0) = 80 Or Me.List.Column(0) = 82 Then MsgBox "Informe solo disponible para exportar a Excel", vbInformation Exit Sub End If Me.wodt1 = Me.WODate1 Me.wodt2 = Me.WODate2 Me.ast1 = Me.AssetNo1 Me.ast2 = Me.AssetNo2 Me.tardt1 = Me.TargetDate1 Me.tardt2 = Me.TargetDate2 Me.trn1 = Me.Trans1 Me.trn2 = Me.Trans2 Me.wotar1 = Me.tar1 Me.wotar2 = Me.Tar2 Dim stDocName As String If repno = 61 And IsNull(Me.Loc) Then MsgBox "Seleccione Ubicación para ver este informe", vbInformation, "SICAM" Exit Sub End If If repno = 59 Or repno = 62 Then If IsNull(Me.Attr) Then MsgBox "Seleccione grupo para ver este informe!", vbInformation, "SICAM" Exit Sub End If End If If repName = "Detalles del Empleado" Then repName = "Detalles Empleados" ElseIf repName = "Lista de Empleados" Then repName = "Lista Empleados" ElseIf repName = "Lista de Departamentos" Then repName = "Lista Departamentos" ElseIf repName = "Detalle de Proveedores" Then repName = "Detalles Proveedores" ElseIf repName = "Lista de Proveedores" Then repName = "Lista Proveedores" ElseIf repName = "Listado de OT’s por Ubicación" Then repName = "Historico OT Ubicac" ElseIf repName = "Listado de Ubicaciones" Then repName = "Lista de Ubicaciones" ElseIf repName = "Entrega de Inventario" Then repName = "Entrega de Partes" ElseIf repName = "Recibos de Inventarios por No de Artículo" Then repName = "Ingreso de Partes por No Parte" ElseIf repName = "Entrega de Inventario por No de Artículo" Then

Page 236: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

236

repName = "Entrega de Partes por No Parte" ElseIf repName = "Ajustes de Inventario" Then repName = "Ajuste Partes" ElseIf repName = "Ajustes de Inventario por No de Artículo" Then repName = "Ajuste Partes por No de Parte" ElseIf repName = "Devoluciones de Inventario" Then repName = "Devolucion de Partes" ElseIf repName = "Valor y especificaciones de Inventario" Then repName = "Balance de Stock" ElseIf repName = "Valor y especificaciones de Inventario por Tipo" Then repName = "Balance de Stock por Tipo" ElseIf repName = "Hojas para Conteos Físicos" Then repName = "Lista Conteo Stock" ElseIf repName = "Hojas para Conteos Físicos por Ubicación" Then repName = "Lista Conteo Stock por Ubicacion" ElseIf repName = "Devoluciones de Inventario por No de Artículo" Then repName = "Devolucion de Partes por No Parte No" ElseIf repName = "Recibos de Inventarios" Then repName = "Ingreso de Partes" ElseIf repName = "Hojas para Conteos Físicos por Tipo" Then repName = "Lista Conteo Stock por Tipo" ElseIf repName = "Requisiciones Sugeridas" Then repName = "Compras Propuestas" ElseIf repName = "Lista simple de Equipos por Departamentos" Then repName = "Lista Equipos por Departamento" ElseIf repName = "Lista simple de Equipos" Then repName = "Lista Equipos" ElseIf repName = "Historial de Mantenimiento por Equipo" Then repName = "Asset Maintenance History" ElseIf repName = "Detalles de Equipos por Departamentos" Then repName = "Detalles Equipos por Departamento" ElseIf repName = "Detalles de Equipos" Then repName = "Detalles Equipos" ElseIf repName = "Tiempo de Paro por Fecha y Equipos" Then repName = "Tiempo Inactivo Equipo por Fecha y Equipo" ElseIf repName = "Tiempo de Paro por Equipos" Then repName = "Tiempo Inactivo Equipo por Equipo" ElseIf repName = "Tiempo de Paro por Fecha" Then repName = "Tiempo Inactivo Equipo por Fecha" ElseIf repName = "Historial de Mantenimiento de Equipos" Then repName = "Historico Mant Equipos" ElseIf repName = "Reporte de MTTR (Tiempo Medio entre reparaciones)" Then repName = "Reporte MTTR" ElseIf repName = "Reporte de MTBF (Tiempo Medio entre Fallas)" Then repName = "Reporte MTBF" ElseIf repName = "Programación Anual de Preventivos" Then repName = "MP Anual Prog" ElseIf repName = "Procedimiento de Instrucciones" Then repName = "MP Instrucciones" ElseIf repName = "Lista de Instrucciones" Then repName = "MP Lista Actividades" ElseIf repName = "OT´s con 15 días de antiguedad" Then repName = "OT con 15 dias antiguedad" ElseIf repName = "OT´s con 10 días de antiguedad por Area" Then repName = "OT con 10 dias antiguedad por Area" ElseIf repName = "OT´s con 10 días de antiguedad" Then repName = "OT con 10 dias antiguedad" ElseIf repName = "OT´s con 5 días de antiguedad por Area" Then repName = "OT con 5 dias antiguedad por Area" ElseIf repName = "OT´s con 5 días de antiguedad" Then repName = "OT con 5 dias antiguedad" ElseIf repName = "Lista de OT’s en espera de Partes por Area" Then repName = "Lista OT espera Partes por Area" ElseIf repName = "Lista de OT’s Pendientes por Area" Then repName = "Lista OT Pendientes por Area" ElseIf repName = "Lista de OT’s en espera de ser Aprobadas por Area" Then repName = "Lista OT por aprobacion por Area"

Page 237: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

237

ElseIf repName = "Lista de OT’s Cerradas por Area" Then repName = "Lista OT Cerradas por Area" ElseIf repName = "Lista de OT’s en espera de ser Aprobadas" Then repName = "Lista OT por aprobacion" ElseIf repName = "Lista de OT’s Cerradas" Then repName = "Lista OT Cerradas" ElseIf repName = "OT´s con 15 días de antiguedad por Area" Then repName = "OT con 15 dias antiguedad por Area" ElseIf repName = "Lista de OT’s Pendientes" Then repName = "Lista OT Pendientes" ElseIf repName = "Lista de OT’s en espera de Partes" Then repName = "Lista OT espera Partes" ElseIf repName = "Lista de las Ordenes de Trabajo" Then repName = "Lista OT" ElseIf repName = "Lista de OT’s Canceladas por Area" Then repName = "Lista de OT Canceladas por Area" ElseIf repName = "Gráfica del Status de las OT’s" Then repName = "Grafico Status de OT" ElseIf repName = "OT´s con 30 días de antiguedad" Then repName = "OT con 30 dias antiguedad" ElseIf repName = "Ordenes de Trabajo Por Area" Then repName = "Lista OT por Area" ElseIf repName = "Detalles de la Orden de Trabajo" Then repName = "Detalles OT" ElseIf repName = "Lista de OT’s Canceladas" Then repName = "Lista OT Canceladas" ElseIf repName = "Ordenes de Trabajo por Solicitante" Then repName = "OT por Solicitante" ElseIf repName = "Ordenes de Trabajo por Asignado A" Then repName = "OT por Empleados" ElseIf repName = "OT´s con 30 días de antiguedad por Area" Then repName = "OT con 30 dias antiguedad por Area" ElseIf repName = "Costo de la Orden de Trabajo por Area" Then repName = "Costo OT" ElseIf repName = "Gráfica de OT´s por Tipo de Orden" Then repName = "Work Order Distribution" ElseIf repName = "Gráfica de Total de Hrs. de MO por Tipo de Orden" Then repName = "Work Order Distribution by Man Hours" ElseIf repName = "Detalle de Hrs. del empleado por Tipo Orden" Then repName = "Work Order Man Hours" ElseIf repName = "Estadística del Status de las OT´s" Then repName = "Estadistica Status OT" ElseIf repName = "Lista de OT’s Pendientes MP" Then repName = "Lista OT de MP Pendientes" ElseIf repName = "Lista de OT’s MP" Then repName = "Lista OT de MP" ElseIf repName = "Lista de OT’s MP por Area" Then repName = "Lista OT de MP por Area" ElseIf repName = "Lista de OT’s MP con Fecha Programada de Inicio Vencida" Then repName = "Lista OT de MP con Fecha Prog Inicio Vencida" ElseIf repName = "Lista de OT’s MP con Fecha Programada de Inicio Vencida por Area" Then repName = "Lista OT de MP con Fecha Prog Inicio Vencida por Area" ElseIf repName = "Lista de OT’s MP Canceladas" Then repName = "Lista OT de MP Canceladas" ElseIf repName = "Lista de OT’s MP Canceladas por Area" Then repName = "Lista OT de MP Canceladas por Area" ElseIf repName = "Lista de OT’s MP Cerradas por Area" Then repName = "Lista OT de MP Cerradas por Area" ElseIf repName = "Lista de OT’s Pendientes MP por Area" Then repName = "Lista OT de MP Pendientes por Area" ElseIf repName = "Lista de OT’s MP en Espera de Ser Aprobadas" Then repName = "Lista OT de MP por aprobacion" ElseIf repName = "Lista de OT’s MP en Espera de Ser Aprobadas por Area" Then repName = "Lista OT de MP por aprobacion por Area"

Page 238: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

238

ElseIf repName = "Lista de OT’s MP en Espera de Partes" Then repName = "Lista OT de MP espera Partes" ElseIf repName = "Lista de OT’s MP en Espera de Partes por Area" Then repName = "Lista OT de MP espera Partes por Area" ElseIf repName = "Gráfica del Status de las OT’s MP" Then repName = "Grafico Status OT de MP" ElseIf repName = "Lista de OT’s MP Cerradas" Then repName = "Lista OT de MP Cerradas" ElseIf repName = "Estadísticas de Inventario" Then repName = "Estadistica de Partes" End If stDocName = repName DoCmd.OpenReport stDocName, acPreview Me.AssetNo1 = Null Me.AssetNo2 = Null Me.Department = Null Me.LocationNo = Null Me.WODate1 = Null Me.WODate2 = Null Me.Trade = Null Me.TargetDate1 = Null Me.TargetDate2 = Null Me.PMWOTrade = Null Me.trade1 = Null Me.Text67 = Null Me.Trans1 = Null Me.Trans2 = Null Me.partno = Null Me.Text60 = Null Me.Attr = Null Me.Loc = Null Me.TaskNo = Null Me.Warr = Null Me.ass1 = Null Me.ass2 = Null Me.tar1 = Null Me.Tar2 = Null Exit_Command48_Click: Exit Sub Err_Command48_Click: MsgBox err.Description Resume Exit_Command48_Click End Sub Private Sub LocationNo_AfterUpdate() Me.Text67 = Me.LocationNo.Column(1) End Sub Private Sub calCtl1_Click() Me.WODate1 = Me.calCtl1.Value Me.WODate1.SetFocus Me.calCtl1.Visible = False End Sub Private Sub calCtl2_Click() Me.WODate2 = Me.calCtl2.Value Me.WODate2.SetFocus Me.calCtl2.Visible = False End Sub

Page 239: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

239

Private Sub calCtl3_Click() Me.TargetDate1 = Me.calCtl3.Value Me.TargetDate1.SetFocus Me.calCtl3.Visible = False End Sub Private Sub calCtl4_Click() Me.TargetDate2 = Me.calCtl4.Value Me.TargetDate2.SetFocus Me.calCtl4.Visible = False End Sub Private Sub calCtl5_Click() Me.Trans1 = Me.calCtl5.Value Me.Trans1.SetFocus Me.calCtl5.Visible = False End Sub Private Sub calCtl6_Click() Me.Trans2 = Me.calCtl6.Value Me.Trans2.SetFocus Me.calCtl6.Visible = False End Sub Private Sub calCtl7_Click() Me.txtStartDate = Me.calCtl7.Value Me.txtStartDate.SetFocus Me.calCtl7.Visible = False End Sub Private Sub calCtl8_Click() Me.txtEndDate = Me.calCtl8.Value Me.txtEndDate.SetFocus Me.calCtl8.Visible = False End Sub Private Sub calCtl9_Click() Me.tar1 = Me.calCtl9.Value Me.tar1.SetFocus Me.calCtl9.Visible = False End Sub Private Sub calCtl10_Click() Me.Tar2 = Me.calCtl10.Value Me.Tar2.SetFocus Me.calCtl10.Visible = False End Sub Private Sub lstFailureWorkType_Click() If Not IsNull(Me.lstFailureWorkType.Value) And Me.lstFailureWorkType.Value <> "" Then If Not IsNull(Me.txtFailureWorkType) And Me.txtFailureWorkType <> "" Then Me.txtFailureWorkType = Me.txtFailureWorkType + ",'" + Me.lstFailureWorkType + "'" Else Me.txtFailureWorkType = "'" + Me.lstFailureWorkType + "'" End If End If End Sub

Page 240: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

240

Private Sub lstMtbfWorkType_Click() If Not IsNull(Me.lstMtbfWorkType.Value) And Me.lstMtbfWorkType.Value <> "" Then Me.txtMtbfWorkType = Me.txtMtbfWorkType + ",'" + Me.lstMtbfWorkType.Value + "'" End If End Sub Private Sub MtbfReport(ByVal title As String, ByVal filname As String) Dim db As DAO.Database Dim rs As DAO.Recordset Dim rs1 As DAO.Recordset Dim x1 As Object Dim i As Integer Dim USEACDATE As Boolean Dim MySQL As String Dim MySQL1 As String Dim sqlq As String filname = Application.CurrentProject.Path + "\" + filname On Error GoTo ExcelError Set db = CurrentDb Set x1 = CreateObject("Excel.Application") x1.Workbooks.Open (filname) x1.Worksheets("Sheet1").Activate 'Eliminar registros existentes de Excel x1.Rows("1:65535").Select x1.Selection.Delete Shift:=-4162 x1.Range("A1").Value = "Asset No" x1.Range("B1").Value = title i = 2 If Not IsNull(Me.cboMtbfLocation) And Me.cboMtbfLocation <> "" And Me.cboMtbfLocation <> "<ALL>" Then sqlq = " AND assetCategories.AssetCatCode = '" + Me.cboMtbfLocation.Column(0) + "'" End If If Not IsNull(Me.cboLocationMtbf) And Me.cboLocationMtbf <> "" And Me.cboLocationMtbf <> "<ALL>" Then sqlq = sqlq + " AND assets.LocationNo = '" + Me.cboLocationMtbf + "'" End If MySQL = "SELECT Distinct workorders.AssetNo, assets.DateAcquired " & _ "FROM ((workorders INNER JOIN assets ON workorders.AssetNo = assets.AssetNumber) INNER JOIN worktype ON workorders.WorkType = worktype.WorkTypeID) left JOIN assetcategories ON assets.AssetCatCode = assetcategories.AssetCatCode " & _ "WHERE (((workorders.WorkStatus) Not In (3))) and (((worktype.WorkTypeDescription) In (" & Me.txtFailureWorkType & "))" & sqlq & ");" Set rs = db.OpenRecordset(MySQL) While Not rs.EOF If IsDate(rs("DateAcquired")) Then If CDate(rs("DateAcquired")) > CDate(Me.txtMtbfStart) Then MySQL1 = "SELECT workorders.AssetNo, Left([AssetDescription],1000) AS AssetDesc, Count(workorders.AssetNo) AS CountFailures, Sum(DateDiff('n',workorders.ActDateStart,workorders.ActDateEnd)) AS TotalRepairTime, Sum(workorders.DownTime) AS TotalDowntime " & _ "FROM ((workorders INNER JOIN assets ON workorders.AssetNo = assets.AssetNumber) INNER JOIN worktype ON workorders.WorkType = worktype.WorkTypeID) LEFT JOIN assetcategories ON assets.AssetCatCode = assetcategories.AssetCatCode " & _ "WHERE

Page 241: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

241

(((DateSerial(Year([DateReceived]),Month([DateReceived]),Day([DateReceived]))) Between DateSerial(" & CStr(Year(rs("DateAcquired"))) & "," & CStr(Month(rs("DateAcquired"))) & "," & CStr(Day(rs("DateAcquired"))) & ") And DateSerial(" & CStr(Year(Me.txtMtbfEnd)) & "," & CStr(Month(Me.txtMtbfEnd)) & "," & CStr(Day(Me.txtMtbfEnd)) & ")) AND ((worktype.WorkTypeDescription) In (" & Me.txtFailureWorkType & "))) " & _ "GROUP BY workorders.AssetNo, Left([AssetDescription],1000) HAVING (((workorders.AssetNo)='" & rs("AssetNo") & "'));" USEACDATE = True Else MySQL1 = "SELECT workorders.AssetNo, Left([AssetDescription],1000) AS AssetDesc, Count(workorders.AssetNo) AS CountFailures, Sum(DateDiff('n',workorders.ActDateStart,workorders.ActDateEnd)) AS TotalRepairTime, Sum(workorders.DownTime) AS TotalDowntime " & _ "FROM ((workorders INNER JOIN assets ON workorders.AssetNo = assets.AssetNumber) INNER JOIN worktype ON workorders.WorkType = worktype.WorkTypeID) LEFT JOIN assetcategories ON assets.AssetCatCode = assetcategories.AssetCatCode " & _ "WHERE (((DateSerial(Year([DateReceived]),Month([DateReceived]),Day([DateReceived]))) Between DateSerial(" & CStr(Year(Me.txtMtbfStart)) & "," & CStr(Month(Me.txtMtbfStart)) & "," & CStr(Day(Me.txtMtbfStart)) & ") And DateSerial(" & CStr(Year(Me.txtMtbfEnd)) & "," & CStr(Month(Me.txtMtbfEnd)) & "," & CStr(Day(Me.txtMtbfEnd)) & ")) AND ((worktype.WorkTypeDescription) In (" & Me.txtFailureWorkType & "))) " & _ "GROUP BY workorders.AssetNo, Left([AssetDescription],1000) HAVING (((workorders.AssetNo)='" & rs("AssetNo") & "'));" USEACDATE = False End If Else MySQL1 = "SELECT workorders.AssetNo, Left([AssetDescription],1000) AS AssetDesc, Count(workorders.AssetNo) AS CountFailures, Sum(DateDiff('n',workorders.ActDateStart,workorders.ActDateEnd)) AS TotalRepairTime, Sum(workorders.DownTime) AS TotalDowntime " & _ "FROM ((workorders INNER JOIN assets ON workorders.AssetNo = assets.AssetNumber) INNER JOIN worktype ON workorders.WorkType = worktype.WorkTypeID) LEFT JOIN assetcategories ON assets.AssetCatCode = assetcategories.AssetCatCode " & _ "WHERE (((DateSerial(Year([DateReceived]),Month([DateReceived]),Day([DateReceived]))) Between DateSerial(" & CStr(Year(Me.txtMtbfStart)) & "," & CStr(Month(Me.txtMtbfStart)) & "," & CStr(Day(Me.txtMtbfStart)) & ") And DateSerial(" & CStr(Year(Me.txtMtbfEnd)) & "," & CStr(Month(Me.txtMtbfEnd)) & "," & CStr(Day(Me.txtMtbfEnd)) & ")) AND ((worktype.WorkTypeDescription) In (" & Me.txtFailureWorkType & "))) " & _ "GROUP BY workorders.AssetNo, Left([AssetDescription],1000) HAVING (((workorders.AssetNo)='" & rs("AssetNo") & "'));" USEACDATE = False End If Set rs1 = db.OpenRecordset(MySQL1) While Not rs1.EOF x1.Range("A" & CStr(i)).Value = rs1.Fields("AssetNo") + " " + IIf(IsNull(rs1.Fields("AssetDesc")), "", rs1.Fields("AssetDesc")) x1.Range("B" & CStr(i)).Value = DateDiff("d", IIf(USEACDATE = True, rs("DateAcquired"), Me.txtMtbfStart), Me.txtMtbfEnd) / IIf(IsNull(rs1.Fields("CountFailures")), 1, rs1.Fields("CountFailures")) rs1.MoveNext i = i + 1 Wend rs1.Close Set rs1 = Nothing rs.MoveNext Wend rs.Close

Page 242: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

242

Set rs = Nothing db.Close Set db = Nothing x1.Charts(1).Activate 'x1.ActiveChart.ApplyDataLabels xlDataLabelsShowLabelAndPercent 'x1.ActiveChart.HasLegend = True If Not IsNull(Me.cboMtbfLocation) And Me.cboMtbfLocation <> "" Then title = title + " for Asset Category " + Me.cboMtbfLocation.Column(1) End If If Not IsNull(Me.cboLocationMtbf) And Me.cboLocationMtbf <> "" Then title = title + " by Location " + Me.cboLocationMtbf.Column(1) End If title = title + " From " + CStr(Me.txtMtbfStart) + " to " + CStr(Me.txtMtbfEnd) x1.ActiveChart.ChartTitle.Caption = title x1.ActiveWorkbook.RefreshAll x1.ActiveWorkbook.Save x1.Visible = True Exit Sub ExcelError: MsgBox err.Description, vbExclamation x1.Quit End Sub Private Sub MttrReport(ByVal title As String, ByVal filname As String) Dim db As DAO.Database Dim rs As DAO.Recordset Dim sqlq As String Dim x1 As Object Dim i As Integer Dim a As String Dim MySQL As String Dim IncCom As String filname = Application.CurrentProject.Path + "\" + filname On Error GoTo ExcelError Set db = CurrentDb Set x1 = CreateObject("Excel.Application") x1.Workbooks.Open (filname) x1.Worksheets("Sheet1").Activate 'Eliminar registros existentes de Excel x1.Rows("1:65535").Select x1.Selection.Delete Shift:=-4162 'x1.Visible = True i = 1 x1.Range("A1").Value = "Asset No" x1.Range("B1").Value = title If Not IsNull(Me.cboMtbfLocation) And Me.cboMtbfLocation <> "" And Me.cboMtbfLocation <> "<ALL>" Then sqlq = " AND assetCategories.AssetCatCode = '" + Me.cboMtbfLocation.Column(0) + "'" End If If Not IsNull(Me.cboLocationMtbf) And Me.cboLocationMtbf <> "" And Me.cboLocationMtbf <> "<ALL>" Then sqlq = sqlq + " AND assets.LocationNo = '" + Me.cboLocationMtbf + "'" End If sqlq = sqlq + " AND (DateSerial(Year(DateReceived),Month(DateReceived),Day(DateReceived)) BETWEEN " & _ " DateSerial(" + CStr(Year(Me.txtMtbfStart)) + "," +

Page 243: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

243

CStr(Month(Me.txtMtbfStart)) + "," + CStr(Day(Me.txtMtbfStart)) & _ " ) AND DateSerial(" + CStr(Year(Me.txtMtbfEnd)) + "," + CStr(Month(Me.txtMtbfEnd)) + "," + CStr(Day(Me.txtMtbfEnd)) & _ " )) " sqlq = sqlq + " AND WorkTypeDescription IN (" + Me.txtMtbfWorkType + ")" sqlq = "SELECT workorders.AssetNo, Left([AssetDescription],1000) AS AssetDesc, Count(workorders.AssetNo) AS CountFailures, Sum(DateDiff('n',workorders.ActDateStart,workorders.ActDateEnd)) AS TotalRepairTime, Sum(workorders.DownTime) AS TotalDowntime" & _ " FROM ((workorders INNER JOIN assets ON workorders.AssetNo = assets.AssetNumber) INNER JOIN worktype ON workorders.WorkType = worktype.WorkTypeID) LEFT JOIN assetcategories ON assets.AssetCatCode = assetcategories.AssetCatCode " & _ " WHERE (((workorders.WorkStatus) = 2)) " + sqlq & _ " GROUP BY workorders.AssetNo, Left([AssetDescription],1000)" Set rs = db.OpenRecordset(sqlq) If rs.EOF = False Then rs.MoveFirst i = 2 While rs.EOF = False a = "A" + CStr(i) x1.Range(a).Value = rs.Fields("AssetNo") + " " + IIf(IsNull(rs.Fields("AssetDesc")), "", rs.Fields("AssetDesc")) a = "B" + CStr(i) x1.Range(a).Value = IIf(IsNull(rs.Fields("TotalRepairTime")), 1, rs.Fields("TotalRepairTime")) / IIf(IsNull(rs.Fields("CountFailures")), 1, rs.Fields("CountFailures")) rs.MoveNext i = i + 1 Wend rs.Close Set rs = Nothing db.Close Set db = Nothing x1.Charts(1).Activate 'x1.ActiveChart.ApplyDataLabels xlDataLabelsShowLabelAndPercent 'x1.ActiveChart.HasLegend = True If Not IsNull(Me.cboMtbfLocation) And Me.cboMtbfLocation <> "" Then title = title + " for Asset Category " + Me.cboMtbfLocation.Column(1) End If If Not IsNull(Me.cboLocationMtbf) And Me.cboLocationMtbf <> "" Then title = title + " by Location " + Me.cboLocationMtbf.Column(1) End If title = title + " From " + CStr(Me.txtMtbfStart) + " to " + CStr(Me.txtMtbfEnd) x1.ActiveChart.ChartTitle.Caption = title x1.ActiveWorkbook.RefreshAll x1.ActiveWorkbook.Save x1.Visible = True Exit Sub ExcelError: MsgBox err.Description, vbExclamation x1.Quit End Sub Private Sub TxtFrom_BeforeUpdate(Cancel As Integer) End Sub

Page 244: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

244

Formulario Solicitudes de trabajo Figura 19. - Formulario Solicitudes de Trabajo Este formulario se utiliza para mostrar una, varias o todas las solicitudes de trabajo

existentes en el sistema en un momento dado. Seleccionando una de las solicitudes que

aparecen en la lista y haciendo “doble clic” sobre ella se abrira un formulario más detallado

sobre la solicitud. La lista de las solicitudes existentes muestra los siguientes campos: número

de solicitud, status de la solicitud, número de orden de trabajo, status de la orden de trabajo,

descripción del trabajo, fecha de la solicitud, tipo de orden de trabajo y persona que solicito el

trabajo. La información que se muestra en la lista puede ser filtrada según el criterio que se

escoja en las casillas de la parte inferior del formulario identificadas como “No solicitud”,

“descripción”, “status de OT”, “fecha de solicitud” y “status de solicitud”. Seleccionando alguna

de estas casillas y colocando el criterio de búsqueda en el campo ubicado debajo de las casillas

se mostrará la información solicitada al pulsar sobre el botón “buscar”. Una vez que se ha

realizado una búsqueda según un criterio dado se pueden mostrar todas las solicitudes

seleccionando el botón “Mostrar todo”. El botón “Ordenar A->Z” permite ordenar en forma

ascendente o descendente la información. El botón “Nueva solicitud” permite abrir un formulario

para introducir una nueva solicitud al sistema El botón “cerrar” permite salir del formulario. El

código de programa para este formulario es el siguiente:

'********************************* ' ' Lista Solicitudes de Trabajo ' '*********************************

Page 245: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

245

Dim sel, Sortby As String Private Sub Command22_Click() Dim WOlist As String If Me.Select = 1 Then sel = "WORequest.RequestNo ='" & Me.Input & "'" ElseIf Me.Select = 2 Then sel = "WORequest.ReceivedDate Between #" & Me.date1 & "# And #" & Me.date2 & "#" ElseIf Me.Select = 3 Then sel = "WORequest.ProblemDesc Like '" & Me.Input & "*'" ElseIf Me.Select = 4 Then sel = "WorkStatus.WorkStatus Like '" & Me.Input & "*'" ElseIf Me.Select = 5 Then sel = "workstatus_1.WorkStatus Like '" & Me.Input & "*'" End If WOlist = "SELECT WORequest.RequestNo AS [No de solicitud], WorkStatus.WorkStatus AS [Status de solicitud], WORequest.WorkOrderNo AS [No de OT], workstatus_1.WorkStatus AS [Status de OT], WORequest.ProblemDesc AS [Descripción del trabajo], WORequest.ReceivedDate AS [Fecha/Hora de solicitud], WorkType.WorkTypeDescription AS [Tipo de OT], Employees.FirstName AS [Nombre empleado] " & _ "FROM ((((WORequest LEFT JOIN Employees ON WORequest.RequesterNo = Employees.EmployeeNO) LEFT JOIN WorkType ON WORequest.WorkType = WorkType.WorkTypeID) LEFT JOIN WorkStatus ON WORequest.RequestStatus = WorkStatus.WorkStatusID) LEFT JOIN workorders ON WORequest.WorkOrderNo = workorders.WorkorderNo) LEFT JOIN workstatus AS workstatus_1 ON workorders.WorkStatus = workstatus_1.WorkStatusID " & _ "WHERE " & sel & " ORDER BY WORequest.RequestNo DESC;" Debug.Print WOlist Me.List.RowSource = WOlist Me.List.ColumnCount = 8 Me.List.ColumnHeads = True Me.List.ColumnWidths = "3 cm;3 cm; 3 cm; 3 cm; 8 cm; 4 cm; 3 cm; 3 cm" Call contarreg End Sub Private Sub Command23_Click() Call vertodo1 End Sub Private Sub Form_Activate() DoCmd.Restore Call contarreg Refresh End Sub Private Sub Form_Deactivate() DoCmd.Minimize End Sub Private Sub Select_AfterUpdate() If Me.Select = 2 Then Me.date1.Visible = True Me.date2.Visible = True Me.Input.Visible = False Else Me.date1.Visible = False Me.date2.Visible = False Me.Input.Visible = True

Page 246: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

246

End If End Sub Private Sub SortB1_Click() If Me.SortB1.Caption = "Ordenar A->Z" Then If Me.Select = 1 Then Sortby = "ORDER BY WORequest.RequestNo ASC" ElseIf Me.Select = 2 Then Sortby = "ORDER BY WORequest.ReceivedDate ASC" ElseIf Me.Select = 3 Then Sortby = "ORDER BY WORequest.ProblemDesc ASC" ElseIf Me.Select = 4 Then Sortby = "ORDER BY WorkStatus.WorkStatus ASC" ElseIf Me.Select = 5 Then Sortby = "ORDER BY WorkStatus_1.WorkStatus ASC" End If Me.SortB1.Caption = "Ordenar Z->A" Else If Me.Select = 1 Then Sortby = "ORDER BY WORequest.RequestNo DESC" ElseIf Me.Select = 2 Then Sortby = "ORDER BY WORequest.ReceivedDate DESC" ElseIf Me.Select = 3 Then Sortby = "ORDER BY WORequest.ProblemDesc DESC" ElseIf Me.Select = 4 Then Sortby = "ORDER BY WorkStatus.WorkStatus DESC" ElseIf Me.Select = 5 Then Sortby = "ORDER BY WorkStatus_1.WorkStatus DESC" End If Me.SortB1.Caption = "Ordenar A->Z" End If Call Sort End Sub Private Sub Form_Open(Cancel As Integer) Call vertodo End Sub Private Sub List_DblClick(Cancel As Integer) If IsNull(Me.List.Column(0)) Then MsgBox "Seleccione un item de la lista", vbInformation, "SICAM" Else typeWO = "WO" WOStatus = Me.List.Column(2) DoCmd.OpenForm "ActReqOTForm", , , "[requestno]=" & "'" & Me.List.Column(0) & "'" End If End Sub Private Sub vertodo() Dim WOlist As String WOlist = "SELECT WORequest.RequestNo AS [No de solicitud], WorkStatus.WorkStatus AS [Status de solicitud], WORequest.WorkOrderNo AS [No de OT], workstatus_1.WorkStatus AS [Status de OT], WORequest.ProblemDesc AS [Descripción del trabajo], WORequest.ReceivedDate AS [Fecha/Hora de solicitud], WorkType.WorkTypeDescription AS [Tipo de OT], Employees.FirstName AS [Nombre empleado], WORequest.RequesterNo " & _ "FROM ((((WORequest LEFT JOIN Employees ON WORequest.RequesterNo = Employees.EmployeeNO) LEFT JOIN WorkType ON WORequest.WorkType = WorkType.WorkTypeID) LEFT JOIN WorkStatus ON WORequest.RequestStatus = WorkStatus.WorkStatusID) LEFT JOIN workorders ON WORequest.WorkOrderNo =

Page 247: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

247

workorders.WorkorderNo) LEFT JOIN workstatus AS workstatus_1 ON workorders.WorkStatus = workstatus_1.WorkStatusID " & _ "WHERE (((WorkStatus.WorkStatusID) In (1,8)) AND ((workstatus_1.WorkStatusID) Not In (2,3))) OR (((WorkStatus.WorkStatusID) Not In (3)) AND ((workstatus_1.WorkStatusID) Is Null)) " & _ "ORDER BY WORequest.RequestNo DESC;" Me.List.RowSource = WOlist Me.List.ColumnCount = 8 Me.List.ColumnHeads = True Me.List.ColumnWidths = "3 cm;3 cm; 3 cm; 3 cm; 8 cm; 4 cm; 3 cm; 3 cm" Call contarreg End Sub Private Sub vertodo1() Dim WOlist As String WOlist = "SELECT WORequest.RequestNo AS [No de solicitud], WorkStatus.WorkStatus AS [Status de solicitud], WORequest.WorkOrderNo AS [No de OT], workstatus_1.WorkStatus AS [Status de OT], WORequest.ProblemDesc AS [Descripción del trabajo], WORequest.ReceivedDate AS [Fecha/Hora de solicitud], WorkType.WorkTypeDescription AS [Tipo de OT], Employees.FirstName AS [Nombre empleado] " & _ "FROM ((((WORequest LEFT JOIN Employees ON WORequest.RequesterNo = Employees.EmployeeNO) LEFT JOIN WorkType ON WORequest.WorkType = WorkType.WorkTypeID) LEFT JOIN WorkStatus ON WORequest.RequestStatus = WorkStatus.WorkStatusID) LEFT JOIN workorders ON WORequest.WorkOrderNo = workorders.WorkorderNo) LEFT JOIN workstatus AS workstatus_1 ON workorders.WorkStatus = workstatus_1.WorkStatusID " & _ "ORDER BY WORequest.RequestNo DESC;" Me.List.RowSource = WOlist Me.List.ColumnCount = 8 Me.List.ColumnHeads = True Me.List.ColumnWidths = "3 cm;3 cm; 3 cm; 3 cm; 8 cm; 4 cm; 3 cm; 3 cm" Call contarreg End Sub Private Sub Command25_Click() On Error GoTo Err_Command25_Click DoCmd.Close Exit_Command25_Click: Exit Sub Err_Command25_Click: MsgBox err.Description Resume Exit_Command25_Click End Sub Private Sub Sort() Dim WOlist As String WOlist = "SELECT WORequest.RequestNo AS [No de solicitud], WorkStatus.WorkStatus AS [Status de solicitud], WORequest.WorkOrderNo AS [No de OT], workstatus_1.WorkStatus AS [Status de OT], WORequest.ProblemDesc AS [Descripción del trabajo], WORequest.ReceivedDate AS [Fecha/Hora de solicitud], WorkType.WorkTypeDescription AS [Tipo de OT], Employees.FirstName AS [Nombre empleado] " & _ "FROM ((((WORequest LEFT JOIN Employees ON WORequest.RequesterNo = Employees.EmployeeNO) LEFT JOIN WorkType ON WORequest.WorkType =

Page 248: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

248

WorkType.WorkTypeID) LEFT JOIN WorkStatus ON WORequest.RequestStatus = WorkStatus.WorkStatusID) LEFT JOIN workorders ON WORequest.WorkOrderNo = workorders.WorkorderNo) LEFT JOIN workstatus AS workstatus_1 ON workorders.WorkStatus = workstatus_1.WorkStatusID " & _ Sortby & ";" Me.List.RowSource = WOlist Me.List.ColumnCount = 8 Me.List.ColumnHeads = True Me.List.ColumnWidths = "3 cm; 3 cm;3 cm; 3 cm; 8 cm; 4 cm; 3 cm; 3 cm" Call contarreg End Sub Private Sub Command38_Click() On Error GoTo Err_Command38_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "OTSolicForm" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Command38_Click: Exit Sub Err_Command38_Click: MsgBox err.Description Resume Exit_Command38_Click End Sub Private Sub contarreg() Call CountRecord(ListRec, List) End Sub

Formulario Solicitud de Orden de Trabajo Figura 20. - Formulario Solicitud de Orden de Trabajo Este formulario se utiliza para crear una solicitud de trabajo, es decir, para solicitar una

orden de trabajo. El formulario genera automáticamente los campos: “número de solicitud”,

“fecha de solicitud” y “status de solicitud”. Adicionalmente solicita otros campos para completar

los datos de la solicitud. Estos campos son: “Empleado solicitante”, “tipo de orden de trabajo”,

Page 249: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

249

“prioridad”, “número de equipo”, “número de ubicación”, “fecha requerida” y “descripción del

trabajo”. El botón “Guardar” permite almacenar la información en la base de datos del sistema y

el botón “Cerrar” permite salir del formulario sin guardar los datos suministrados. El código para

este formulario es el siguiente:

'*************************************** ' ' Nuevo Registro de Solicitud de OT ' '*************************************** Option Explicit Dim ty, typ, MyStat As Integer Private Sub AssetNo_AfterUpdate() Me.LocationNo = Me.AssetNo.Column(6) End Sub Private Sub Command361_Click() Me.calCtl6.Visible = True Me.calCtl6.Value = Format(CDate(Date), "Short Date") & " " & "00:00:00" End Sub Private Sub Detail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error GoTo err If Me.calCtl6.Visible = True Then Me.calCtl6.Visible = False Exit Sub err: Exit Sub End Sub Private Sub Form_Activate() Refresh End Sub Private Sub Form_Open(Cancel As Integer) Me.RequestNo = "0000000000" Me.DateRec = ServerdateQuery() Me.WorkType = 3 Me.WorkPriority = 1 End Sub Private Sub Command73_Click() On Error GoTo Err_Command73_Click DoCmd.Close Exit_Command73_Click: Exit Sub Err_Command73_Click: MsgBox err.Description Resume Exit_Command73_Click End Sub Private Sub PlantCode_AfterUpdate() SendKeys "{F9}", True End Sub Private Sub ReqTime_LostFocus()

Page 250: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

250

On Error GoTo ErrorHandler Me.DateReq = Format(CDate(Me.DateReq), "Short Date") & " " & Format(CDate(Me.ReqTime), "Short Time") ErrorHandler: If err.Number <> 0 Then ' MsgBox "Error : " & err.Description & "", vbInformation Me.ReqTime = Null Me.ReqTime.SetFocus End If End Sub Private Sub Workorder_Click() Dim response If Me.DateRec = "" Or IsNull(Me.DateRec) Then MsgBox "Indique fecha de solicitud.", vbOKOnly + vbExclamation Me.DateRec.SetFocus Else response = MsgBox("Desea guardar el registro?", vbYesNo + vbInformation + vbDefaultButton2, "Confirmar grabar") If response = vbYes Then Call saveRecord Else Me.ProbDesc.SetFocus End If End If End Sub Private Sub saveRecord() Dim rsreqno As DAO.Recordset Set dbSICAM = CurrentDb() Set rsreqno = dbSICAM.OpenRecordset("SELECT * From WORequest ORDER By RequestNo ASC") If rsreqno.RecordCount = 0 Then Me.RequestNo = "0000000001" Else rsreqno.MoveLast Me.RequestNo = Right("0000000000" & CStr(val(Right(rsreqno!RequestNo, 10) + 1)), 10) End If rsreqno.Close Dim rsworeq As DAO.Recordset Set rsworeq = dbSICAM.OpenRecordset("WORequest") With rsworeq .AddNew ![RequestNo] = Me.RequestNo ![RequestStatus] = 1 ![ReceivedDate] = Me.DateRec ![ProblemDesc] = Me.ProbDesc ![RequireDateTime] = Me.DateReq ![WorkType] = Me.WorkType.Column(0) ![WorkPriority] = Me.WorkPriority.Column(0) ![RequesterNo] = Me.reqid.Column(0) ![AssetNo] = Me.AssetNo ![LocationNo] = Me.LocationNo .Update .Close End With Set rsworeq = Nothing

Page 251: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

251

DoCmd.OpenForm "ActReqOTForm", acNormal, , "[RequestNo]=" & "'" & Me.RequestNo & "'" DoCmd.Close acForm, "OTSolicForm" End Sub Private Sub calCtl6_Click() Me.DateReq = Me.calCtl6.Value Me.ReqTime.SetFocus Me.calCtl6.Visible = False End Sub Private Sub worktype_AfterUpdate() If Me.WorkType = 2 Then MsgBox "Este tipo de OT es solo para generación automática de MPs", vbInformation Me.WorkType = Null Me.WorkType.SetFocus End If End Sub

Formulario Listados generales del sistema: Figura 21. - Listados generales del sistema. Este formulario se utiliza para como un formulario principal, comúnmente conocido como

“menú”, para mostrar los listados generales de las principales tablas de datos que existen en el

sistema. El formulario muestra el nombre de los listados disponibles en la parte superior del

mismo. Éstos son: Equipos, tipos de equipos, empleados, ubicaciones, proveedores, repuestos,

códigos de falla, departamentos y otros. Seleccionando con el puntero o “ratón” y haciéndo clic

cobre cada uno de estos nombres el programa abrirá un subformulario correspondiente a la lista

de datos que se solicita. A continuación se muestran estos subformularios

Page 252: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

252

Subformulario Listados Generales del sistema – Equipos

Figura 22. - Listados generales de Sistema – Equipos

Este subformulario despliega la lista de todos los equipos de la base de datos del sistema.

Seleccionando un equipo de la lista y haciendo “doble click” sobre él se abrirá un formulario mas

detallado con toda la información sobre el mismo. Seleccionando el botón “Equipo nuevo” se

abre un formulario para introducir los datos de un equipo nuevo al sistema.

Subformulario Listados generales del Sistema – Tipos de equipos

Figura 23. – Subformulario Listados generales del sistema – Tipos de equipos.

Page 253: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

253

Este subformulario muestra los tipos de equipos existentes en el sistema y su descripción.

Tiene la opción de crear un nuevo tipo de equipo presentando dos campos en la parte superior

de la lista y almacenar la información presionando el botón “Guardar”.

Subformulario Listados generales del Sistema – Empleados

Figura 24 – Subformulario Listados generales del Sistema – Empleados

Este subformulario muestra la lista de los empleados del sistema en dos campos: el

número o identificador del empleado y su nombre. Seleccionando un registro de la lista se abre

un formulario más detallado con toda la información de la persona. El botón “Nuevo empleado”

sirve para abrir otro formulario que solicita al usuario todos los datos que requiere el sistema

para crear un nuevo empleado.

Page 254: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

254

Subformulario Listados generales del sistema – Ubicaciones.

Figura 25. - Subformulario Listados generales del sistema – Ubicaciones.

Este subformulario despliega la lista de las ubicaciones del sistema en dos campos:

número o identificador de ubicación y descripción. Seleccionando un registro de la lista y

haciendo “doble click” sobre el mismo se abre otro formulario con la información mas detallada

de la ubicación seleccionada. El botón “Nueva ubicación” abre un formulario que permite

introducir la información de una nueva ubicación que se quiera crear y almacenar en la base de

datos.

Page 255: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

255

Subformulario Listados generales del sistema – Proveedores

Figura 26. – Subformulario Listados generales del sistema – Proveedores.

Este subformulario despliega la lista de las proveedores del sistema en dos campos:

número o identificador de proveedor y descripción del proveedor. Seleccionando un registro de

la lista y haciendo “doble click” sobre el mismo se abre otro formulario con la información mas

detallada del proveedor seleccionado. El botón “Nuevo proveedor” abre un formulario que

permite crear un nuevo proveedor y almacenar la información en la base de datos del sistema.

Page 256: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

256

Subformulario Listados generales del sistema – Repuestos

Figura 27. – Subformulario Listados generales del sistema – Repuestos

Este subformulario muestra la listas de repuestos y códigos de piezas existentes en el

inventario de partes del sistema. Seleccionando un registro de la lista se abre un formulario con

la información mas detallada del mismo. El subfromulario también tiene la opción de crear un

nuevo código de partes y su descripción si se desea y almacenarlo en la base de datos

oprimiendo el botón “Guardar”. Así mismo, se puede agregar una o varias partes a una lista de

partes o piezas, oprimiendo el botón “Agregar”.

Page 257: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

257

Subformulario Listados generales del sistema – Códigos de falla.

Figura 28. – Subformulario listados generales del sistema – Códigos de falla.

Este subformulario despliega los códigos y fallas y la descripción de cada uno de ellos en

los campos “Código falla” y “Descripción”. Seleccionando la opción “Nuevo” se abre otro

formulario que permite crear otro código de falla con su respectiva descripción. También tiene la

opción de crear un nuevo código de falla y almacenarlo en la base de datos del sistema

oprimiendo el botón “Guardar”.

Page 258: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

258

Subformulario Listados generales del sistema – Otros

Figura 29. – Subformulario Listados generales del sistema – Otros

Este subformulario muestra el contenido de varias tablas que utiliza el sistema en sus

diferentes formularios. Estas tablas son: “Status de Orden de trabajo”, “Tipos de órdenes de

trabajo”, “Tipos garantía”, “Status de Equipos”, “Prioridad de órdenes de trabajo”, “Area de

trabajo” y “Prioridad de Equipos”. Para cada una de estas tablas, este formulario despliega el

contenido de cada registro.

Page 259: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

259

Subformulario Listados generales del sistema – Departamentos

Figura No. 30 - Subformulario Listados generales del sistema - Departamentos

Este subformulario despliega en pantalla la lista de los departamentos actuales del

sistema, mostrando el número y la descripción del departamento. También tiene la opción de

crear un nuevo departamento, suministrando los datos requeridos y seleccionando la tecla

“Guardar”. El código de programa del formulario “Listados generales del sistema” es el

siguiente:

'************************ ' ' LISTADO GENERAL ' '************************ Option Explicit Private Sub ac_Click() Me.MyTab.Value = 2 HighlightMe ac.Name End Sub Private Sub as_Click() Me.MyTab.Value = 5

Page 260: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

260

HighlightMe "as" End Sub Private Sub AstCatCode_AfterUpdate() Set dbSICAM = CurrentDb() Dim rsasctq As DAO.Recordset Set rsasctq = dbSICAM.OpenRecordset("AssetCategories") Do While Not rsasctq.EOF If UCase(rsasctq![AssetCatCode]) = UCase(Me.AstCatCode) Then MsgBox "Categoría de Equipo ya existente", vbInformation Me.AstCatCode = Null DoCmd.GoToControl "astcatcode" End If rsasctq.MoveNext Loop rsasctq.Close End Sub Private Sub b_Click() Me.MyTab.Value = 3 HighlightMe b.Name End Sub Private Sub BOMNo_AfterUpdate() Dim rsboml As DAO.Recordset Set dbSICAM = CurrentDb() Set rsboml = dbSICAM.OpenRecordset("PartsList") Do While Not rsboml.EOF If UCase(rsboml![PartsListNo]) = UCase(Me.BOMNo) Then MsgBox "Lista ya existe", vbInformation Me.BOMNo = Null DoCmd.GoToControl "BOMNo" End If rsboml.MoveNext Loop rsboml.Close End Sub Private Sub Close_Click() HighlightMe "Close" DoCmd.Close acForm, Me.Name End Sub Private Sub CmdPartList_Click() Dim i As Integer If IsNull(Me.BOMNo) Or Trim(Me.BOMNo.Value) = "" Then MsgBox "Indique en No. de lista.!", vbInformation, " " Exit Sub End If If IsNull(Me.partno) Or Trim(Me.partno.Column(0)) = "" Then MsgBox "Indique el No. de Parte.!", vbInformation, " " Exit Sub End If If IsNull(Me.TxtPartQty) Or Trim(Me.TxtPartQty.Value) = "" Or Me.TxtPartQty.Value = 0 Then MsgBox "Indique la cantidad", vbInformation, " " Exit Sub End If For i = 1 To lstPartList.ListItems.Count If Me.partno.Column(0) = lstPartList.ListItems(i).Text Then

Page 261: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

261

MsgBox " No existen partes en la lista", vbInformation, " " Exit Sub End If Next lstPartList.ListItems.Add , , Me.partno.Column(0) lstPartList.ListItems(lstPartList.ListItems.Count).SubItems(1) = Me.partno.Column(1) lstPartList.ListItems(lstPartList.ListItems.Count).SubItems(2) = Me.TxtPartQty.Value Me.partno = Null Me.TxtPartQty = Null End Sub Private Sub Command151_Click() Dim i As Integer Dim response Dim rsbom As DAO.Recordset If IsNull(Me.BOMNo) Or IsNull(Me.BOMDesc) Then MsgBox "Llene todos los campos para grabar el registro", vbInformation DoCmd.GoToControl "BOMNo" ElseIf lstPartList.ListItems.Count = 0 Then MsgBox "Indique al menos una cantidad para crear una lista de Materiales", vbInformation Else response = MsgBox(" Desea grabar el Registro ?", vbYesNo + vbInformation + vbDefaultButton2, "Grabar") If response = vbYes Then Set dbSICAM = CurrentDb() Set rsbom = dbSICAM.OpenRecordset("PartsList") With rsbom .AddNew ![PartsListNo] = Me.BOMNo ![PartsListDescription] = Me.BOMDesc .Update End With Refresh rsbom.Close Set rsbom = dbSICAM.OpenRecordset("Partslistdetails") For i = 1 To lstPartList.ListItems.Count With rsbom .AddNew rsbom("BOMNo") = Me.BOMNo.Value rsbom("PartsNo") = lstPartList.ListItems(i).Text rsbom("PartsDescription") = lstPartList.ListItems(i).SubItems(1) rsbom("PartsQty") = lstPartList.ListItems(i).SubItems(2) .Update End With Next rsbom.Close Me.BOMNo = Null Me.BOMDesc = Null Me.partno = Null Me.TxtPartQty = Null lstPartList.ListItems.Clear Else DoCmd.GoToControl "bomno" End If End If End Sub Private Sub Command210_Click() On Error GoTo Err_Command210_Click Dim stLinkCriteria As String

Page 262: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

262

DoCmd.OpenForm "ProveedorNuevoForm", , , stLinkCriteria Exit_Command210_Click: Exit Sub Err_Command210_Click: MsgBox err.Description Resume Exit_Command210_Click End Sub Private Sub Command27_Click() On Error GoTo Err_Command27_Click Dim stLinkCriteria As String DoCmd.OpenForm "EquipoNuevoForm", , , stLinkCriteria Exit_Command27_Click: Exit Sub Err_Command27_Click: MsgBox err.Description Resume Exit_Command27_Click End Sub Private Sub Command28_Click() On Error GoTo Err_Command28_Click Dim stLinkCriteria As String DoCmd.OpenForm "UbicNuevaForm", , , stLinkCriteria Exit_Command28_Click: Exit Sub Err_Command28_Click: MsgBox err.Description Resume Exit_Command28_Click End Sub Private Sub Command29_Click() On Error GoTo Err_Command29_Click Dim stLinkCriteria As String DoCmd.OpenForm "EmpNuevoForm", , , stLinkCriteria Exit_Command29_Click: Exit Sub Err_Command29_Click: MsgBox err.Description Resume Exit_Command29_Click End Sub Private Sub Command40_Click() Dim response Dim rsdpt As DAO.Recordset If IsNull(Me.DeptNo) Or IsNull(Me.DeptDesc) Then MsgBox "Llene todos los campos para grabar el registro", vbInformation DoCmd.GoToControl "deptno" Else response = MsgBox(" Desea grabar el registro?", vbYesNo + vbInformation + vbDefaultButton2, "Grabar") If response = vbYes Then Set dbSICAM = CurrentDb() Set rsdpt = dbSICAM.OpenRecordset("Department") With rsdpt .AddNew ![DepartmentNo] = Me.DeptNo ![DepartmentDescription] = Me.DeptDesc .Update End With Refresh Me.DeptNo = Null Me.DeptDesc = Null rsdpt.Close Else DoCmd.GoToControl "deptno"

Page 263: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

263

End If End If End Sub Private Sub Command54_Click() Dim response Dim rsfc As DAO.Recordset If IsNull(Me.FCcode) Or IsNull(Me.FCDesc) Then MsgBox "Llene todos los campos para grabar el registro", vbInformation DoCmd.GoToControl "fccode" Else response = MsgBox(" Desea grabar el registro?", vbYesNo + vbInformation + vbDefaultButton2, "Grabar") If response = vbYes Then Set dbSICAM = CurrentDb() Set rsfc = dbSICAM.OpenRecordset("FailureCause") With rsfc .AddNew ![FailureCauseCode] = Me.FCcode ![FailureCauseDescription] = Me.FCDesc .Update End With Refresh Me.FCcode = Null Me.FCDesc = Null rsfc.Close Else DoCmd.GoToControl "fccode" End If End If End Sub Private Sub Command60_Click() Dim response Dim rsassct As DAO.Recordset If IsNull(Me.assetctq) Or IsNull(Me.AstCatCode) Then MsgBox "Llene todos los campos para grabar el registro", vbInformation DoCmd.GoToControl "AstCatCode" Else response = MsgBox(" Desea grabar el registro?", vbYesNo + vbInformation + vbDefaultButton2, "Grabar") If response = vbYes Then Set dbSICAM = CurrentDb() Set rsassct = dbSICAM.OpenRecordset("AssetCategories") With rsassct .AddNew ![AssetCatCode] = Me.AstCatCode ![AssetCategory] = Me.assetctq .Update End With Refresh Me.assetctq = Null Me.AstCatCode = Null rsassct.Close Else DoCmd.GoToControl "astcatcode" End If End If End Sub Private Sub d_Click() Me.MyTab.Value = 0

Page 264: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

264

HighlightMe d.Name End Sub Private Sub DeptNo_AfterUpdate() Dim rsdept As DAO.Recordset Set dbSICAM = CurrentDb() Set rsdept = dbSICAM.OpenRecordset("Department") Do While Not rsdept.EOF If UCase(rsdept![DepartmentNo]) = UCase(Me.DeptNo) Then MsgBox "No de Departamento ya existe", vbInformation Me.DeptNo = Null DoCmd.GoToControl "DeptNo" End If rsdept.MoveNext Loop rsdept.Close End Sub Private Sub e_Click() Me.MyTab.Value = 7 HighlightMe e.Name End Sub Private Sub f_Click() Me.MyTab.Value = 1 HighlightMe f.Name End Sub Private Sub fccode_AfterUpdate() Dim rsfcc As DAO.Recordset Set dbSICAM = CurrentDb() Set rsfcc = dbSICAM.OpenRecordset("FailureCause") Do While Not rsfcc.EOF If UCase(rsfcc![FailureCauseCode]) = UCase(Me.FCcode) Then MsgBox "Código de Falla ya existe", vbInformation Me.FCcode = Null DoCmd.GoToControl "fccode" End If rsfcc.MoveNext Loop rsfcc.Close End Sub Private Sub Form_Activate() DoCmd.Restore Refresh End Sub Private Sub Form_Deactivate() DoCmd.Minimize End Sub Private Sub Form_Open(Cancel As Integer) Me.MyTab.Value = 9 End Sub Private Sub l_Click() Me.MyTab.Value = 6 HighlightMe l.Name End Sub Private Sub ListAsset_DblClick(Cancel As Integer) If IsNull(Me.ListAsset.Column(0)) Then

Page 265: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

265

MsgBox "Seleccione un registro de la lista", vbInformation, " " Else DoCmd.OpenForm "ActEqForm", , , "[AssetNumber]=" & "'" & Me.ListAsset.Column(0) & "'" End If End Sub Private Sub ListBOM_DblClick(Cancel As Integer) If IsNull(Me.ListBOM.Column(0)) Then MsgBox "Seleccione un registro de la lista", vbInformation, " " Else DoCmd.OpenForm "ActBomForm", , , "[PartsListNo]=" & "'" & Me.ListBOM.Column(0) & "'" End If End Sub Private Sub ListEmp_DblClick(Cancel As Integer) If IsNull(Me.ListEmp.Column(0)) Then MsgBox "Seleccione un registro de la lista", vbInformation, " " Else DoCmd.OpenForm "ActEmpForm", , , "[EmployeeNo]=" & "'" & Me.ListEmp.Column(0) & "'" End If End Sub Private Sub ListLocation_DblClick(Cancel As Integer) If IsNull(Me.ListLocation.Column(0)) Then MsgBox "Seleccione un registro de la lista", vbInformation, " " Else DoCmd.OpenForm "ActUbicForm", , , "[LocationNo]=" & "'" & Me.ListLocation.Column(0) & "'" End If End Sub Private Sub ListSupp_DblClick(Cancel As Integer) If IsNull(Me.ListSupp.Column(0)) Then MsgBox "Seleccione un registro de la lista", vbInformation, " " Else DoCmd.OpenForm "ActProveedForm", , , "[SupplierNo]=" & "'" & Me.ListSupp.Column(0) & "'" End If End Sub Private Sub lstPartList_KeyPress(KeyAscii As Integer) If Not lstPartList.ListItems.Count = 0 Then lstPartList.ListItems.Remove lstPartList.SelectedItem.Index End If End Sub Private Sub m_Click() Me.MyTab.Value = 9 HighlightMe m.Name End Sub Private Sub mi_Click() Me.MyTab.Value = 8 HighlightMe mi.Name End Sub Private Sub HighlightMe(CN As String) Me.m.ForeColor = IIf(UCase(CN) = UCase(Me.m.Name), 13209, 0) Me.d.ForeColor = IIf(UCase(CN) = UCase(Me.d.Name), 13209, 0) Me.f.ForeColor = IIf(UCase(CN) = UCase(Me.f.Name), 13209, 0) Me.ac.ForeColor = IIf(UCase(CN) = UCase(Me.ac.Name), 13209, 0) Me.b.ForeColor = IIf(UCase(CN) = UCase(Me.b.Name), 13209, 0)

Page 266: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

266

Me.s.ForeColor = IIf(UCase(CN) = UCase(Me.s.Name), 13209, 0) Me.As.ForeColor = IIf(UCase(CN) = UCase(Me.As.Name), 13209, 0) Me.l.ForeColor = IIf(UCase(CN) = UCase(Me.l.Name), 13209, 0) Me.e.ForeColor = IIf(UCase(CN) = UCase(Me.e.Name), 13209, 0) Me.mi.ForeColor = IIf(UCase(CN) = UCase(Me.mi.Name), 13209, 0) Me.Close.ForeColor = IIf(UCase(CN) = UCase(Me.Close.Name), 13209, 0) Me.m.BorderStyle = IIf(UCase(CN) = UCase(Me.m.Name), 1, 0) Me.d.BorderStyle = IIf(UCase(CN) = UCase(Me.d.Name), 1, 0) Me.f.BorderStyle = IIf(UCase(CN) = UCase(Me.f.Name), 1, 0) Me.ac.BorderStyle = IIf(UCase(CN) = UCase(Me.ac.Name), 1, 0) Me.b.BorderStyle = IIf(UCase(CN) = UCase(Me.b.Name), 1, 0) Me.s.BorderStyle = IIf(UCase(CN) = UCase(Me.s.Name), 1, 0) Me.As.BorderStyle = IIf(UCase(CN) = UCase(Me.As.Name), 1, 0) Me.l.BorderStyle = IIf(UCase(CN) = UCase(Me.l.Name), 1, 0) Me.e.BorderStyle = IIf(UCase(CN) = UCase(Me.e.Name), 1, 0) Me.mi.BorderStyle = IIf(UCase(CN) = UCase(Me.mi.Name), 1, 0) Me.Close.BorderStyle = IIf(UCase(CN) = UCase(Me.Close.Name), 1, 0) Me.m.BackStyle = IIf(UCase(CN) = UCase(Me.m.Name), 1, 0) Me.d.BackStyle = IIf(UCase(CN) = UCase(Me.d.Name), 1, 0) Me.f.BackStyle = IIf(UCase(CN) = UCase(Me.f.Name), 1, 0) Me.ac.BackStyle = IIf(UCase(CN) = UCase(Me.ac.Name), 1, 0) Me.b.BackStyle = IIf(UCase(CN) = UCase(Me.b.Name), 1, 0) Me.s.BackStyle = IIf(UCase(CN) = UCase(Me.s.Name), 1, 0) Me.As.BackStyle = IIf(UCase(CN) = UCase(Me.As.Name), 1, 0) Me.l.BackStyle = IIf(UCase(CN) = UCase(Me.l.Name), 1, 0) Me.e.BackStyle = IIf(UCase(CN) = UCase(Me.e.Name), 1, 0) Me.mi.BackStyle = IIf(UCase(CN) = UCase(Me.mi.Name), 1, 0) Me.Close.BackStyle = IIf(UCase(CN) = UCase(Me.Close.Name), 1, 0) ' Si UCase(CN) = UCase("d") entonces Me.MyTab.Value = 0 ' Si UCase(CN) = UCase("f") entonces Me.MyTab.Value = 1 ' Si UCase(CN) = UCase("ac") entonces Me.MyTab.Value = 2 ' Si UCase(CN) = UCase("b") entonces Me.MyTab.Value = 3 ' Si UCase(CN) = UCase("s") entonces Me.MyTab.Value = 4 ' Si UCase(CN) = UCase("as") entonces Me.MyTab.Value = 5 ' Si UCase(CN) = UCase("l") entonces Me.MyTab.Value = 6 ' Si UCase(CN) = UCase("e") entonces Me.MyTab.Value = 7 ' Si UCase(CN) = UCase("mi") entonces Me.MyTab.Value = 8 End Sub Private Sub partno_AfterUpdate() Me.TxtPartQty.Value = Me.partno.Column(3) End Sub Private Sub s_Click() Me.MyTab.Value = 4 HighlightMe s.Name End Sub Private Sub TxtPartQty_KeyPress(KeyAscii As Integer) If InStr(1, TxtPartQty.Text, ".", vbTextCompare) And KeyAscii = Asc(".") Then KeyAscii = 0 Exit Sub End If If Not KeyAscii = vbKeyBack And Not IsNumeric(Chr(KeyAscii)) And Not Chr(KeyAscii) = "." Then KeyAscii = 0 End If End Sub

Page 267: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

267

Formulario Mantenimiento preventivo.

Figura 31.– Formulario Mantenimiento preventivo

Este formulario despliega el menú principal de los módulos de programa del sistema

referentes al mantenimiento preventivo. De muestran seis opciones correspondientes a los

formularios que se ejecutan al seleccionar cada una de laas opciones. Estas opciones son las

siguientes: actividades de mantenimiento preventivo por fechas, actividades de mantenimiento

preventivo por medidores, instrucciones de actividades, horas de mano de obra, generar

ordenes de mantenimiento preventivo y cerrar el menú. A continuación se muestra el código de

programa de este formulario:

'************************ ' ' Menu Principal de MP ' '************************ Option Explicit Private Sub Command10_Click() On Error GoTo Err_Command10_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "MPListaChForm" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Command10_Click: Exit Sub Err_Command10_Click:

Page 268: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

268

MsgBox err.Description Resume Exit_Command10_Click End Sub Private Sub Command11_Click() On Error GoTo Err_Command11_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "MPListaProgramForm" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Command11_Click: Exit Sub Err_Command11_Click: MsgBox err.Description Resume Exit_Command11_Click End Sub Private Sub Command12_Click() On Error GoTo Err_Command12_Click Dim stLinkCriteria As String DoCmd.OpenForm "MPGenForm", , , stLinkCriteria Exit_Command12_Click: Exit Sub Err_Command12_Click: MsgBox err.Description Resume Exit_Command12_Click End Sub Private Sub Command13_Click() On Error GoTo Err_Command13_Click DoCmd.Close acForm, Me.Name Exit_Command13_Click: Exit Sub Err_Command13_Click: MsgBox err.Description Resume Exit_Command13_Click End Sub Private Sub Command16_Click() On Error GoTo Err_Command16_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "MPListaMed" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Command16_Click: Exit Sub Err_Command16_Click: MsgBox err.Description Resume Exit_Command16_Click End Sub Private Sub Command17_Click() On Error GoTo Err_Command17_Click Dim stLinkCriteria As String

Page 269: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

269

DoCmd.OpenForm "MPHorasHombre", , , stLinkCriteria Exit_Command17_Click: Exit Sub Err_Command17_Click: MsgBox err.Description Resume Exit_Command17_Click End Sub Private Sub Form_Activate() DoCmd.Restore End Sub Private Sub Form_Deactivate() DoCmd.Minimize End Sub

Formulario Lista de tareas de MP por fecha

Figura 32. – Formulario Lista de tareas de MP por fecha

Este formulario muestra la lista de las actividades de mantenimiento preventivo que lleva

el sistema controladas por fecha. La lista muestra los campos “número de tarea”, “descripción

de la tarea”, “tarea en servicio”, “código de instrucción” y “número de ubicación”. Seleccionando

una tarea de la lista y haciéndo “doble click” sobre ésta se abrirá un formulario que muestra los

detalles de la actividad la información de todos sus campos asociados. El formulario permite

filtrar la información que se despliega seleccionando una de las casillas que aparecen en la

Page 270: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

270

parte inferior de la lista, colocando la palabra o número a buscar en la casilla en blanco y

pulsando el botón “Buscar”. Las opciones de filtrado posible son: por “ID de equipo”, por

“Código de instrucción”, por “Número de tarea” y por “ descripción de tarea”. El botón “Ordenar

A->Z” permite ordenar la información de la lista de forma ascendente o descendente. El botón

“Nueva tarea” permite crear una nueva actividad y almacenarla en la base de datos del sistema.

El botón “Ver todo” permite desplegar nuevamente todos los datos de la lista cuando se ha

hecho una consulta previamente utilizando alguno de los filtros indicados anteriormente. El

botón “Cerrar” permite cerrar y salir del formulario. El código de programa de este formulario es

el siguiente:

'******************************* ' ' Lista de Programación de MP´s ' '******************************* Option Explicit Dim sel, Sortby As String Private Sub Command17_Click() Dim PMSList As String If Me.Select = 1 Then sel = "PMNo ='" & Me.Input & "'" ElseIf Me.Select = 2 Then sel = "PMName like '" & Me.Input & "*'" ElseIf Me.Select = 3 Then sel = "AssetNo like '" & Me.Input & "*'" ElseIf Me.Select = 4 Then sel = "ChecklistNo like '" & Me.Input & "*'" End If PMSList = "SELECT PMNo AS [No de tarea], PMName AS [Descripción de tarea], YesNo.Description AS [Tarea en servicio], ChecklistNo AS [Código de instrucción], AssetNo AS [No de equipo], PhyLocationNo AS [No de Ubicación], [TypePMGEN] as [Tipo MP] FROM PMSchedule INNER JOIN [YesNo] ON PMSchedule.PMActive = YesNo.Num " & _ "WHERE " & sel & " ;" Debug.Print PMSList Me.List.RowSource = PMSList Me.List.ColumnCount = 7 Me.List.ColumnHeads = True Me.List.ColumnWidths = "3 cm; 9 cm; 3 cm; 5 cm; 3 cm;3 cm; 0 cm" Call contarreg End Sub Private Sub Command18_Click() Call vertodo End Sub Private Sub Form_Activate() DoCmd.Restore Call contarreg Refresh

Page 271: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

271

End Sub Private Sub Form_Deactivate() DoCmd.Minimize End Sub Private Sub Form_Open(Cancel As Integer) Call vertodo End Sub Private Sub Command3_Click() On Error GoTo Err_Command3_Click Dim stLinkCriteria As String DoCmd.OpenForm "MPProgSelec", , , stLinkCriteria Exit_Command3_Click: Exit Sub Err_Command3_Click: MsgBox err.Description Resume Exit_Command3_Click End Sub Private Sub List_DblClick(Cancel As Integer) If IsNull(Me.List.Column(0)) Then MsgBox "Seleccione un registro", vbInformation, "SICAM" Else If Me.List.Column(6) = "3" Then DoCmd.OpenForm "ActMPProgramEspecificForm", , , "[PMNo]=" & "'" & Me.List.Column(0) & "'" ElseIf Me.List.Column(6) = "4" Or Me.List.Column(6) = "5" Then DoCmd.OpenForm "ActMPProgramMensForm", , , "[PMNo]=" & "'" & Me.List.Column(0) & "'" Else DoCmd.OpenForm "ActMPProgramForm", , , "[PMNo]=" & "'" & Me.List.Column(0) & "'" End If End If End Sub Public Sub vertodo() Dim PMSList As String PMSList = "SELECT PMNo AS [No de tarea], PMName AS [Descripción de tarea], YesNo.Description AS [Tarea en servicio], ChecklistNo AS [Código de instrucción], AssetNo AS [No de equipo], PhyLocationNo AS [No de Ubicación], [TypePMGEN] as [Tipo MP] FROM PMSchedule INNER JOIN [YesNo] ON PMSchedule.PMActive = YesNo.Num " Me.List.RowSource = PMSList Me.List.ColumnCount = 7 Me.List.ColumnHeads = True Me.List.ColumnWidths = "3 cm; 9 cm; 3 cm; 5 cm; 3 cm; 3 cm; 0 cm" Call contarreg End Sub Private Sub Command19_Click()

Page 272: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

272

On Error GoTo Err_Command19_Click DoCmd.Close acForm, Me.Name Exit_Command19_Click: Exit Sub Err_Command19_Click: MsgBox err.Description Resume Exit_Command19_Click End Sub Private Sub SortB1_Click() If Me.SortB1.Caption = "Ordenar A->Z" Then If Me.Select = 1 Then Sortby = "ORDER BY PMNo ASC" ElseIf Me.Select = 2 Then Sortby = "ORDER BY PMName ASC" ElseIf Me.Select = 3 Then Sortby = "ORDER BY AssetNo ASC" ElseIf Me.Select = 4 Then Sortby = "ORDER BY ChecklistNo ASC" End If Me.SortB1.Caption = "Ordenar Z->A" Else If Me.Select = 1 Then Sortby = "ORDER BY PMNo DESC" ElseIf Me.Select = 2 Then Sortby = "ORDER BY PMName DESC" ElseIf Me.Select = 3 Then Sortby = "ORDER BY AssetNo DESC" ElseIf Me.Select = 4 Then Sortby = "ORDER BY ChecklistNo DESC" End If Me.SortB1.Caption = "Ordenar A->Z" End If Call Sort End Sub Public Sub Sort() Dim PMSList As String PMSList = "SELECT PMNo AS [No de tarea], PMName AS [Descripción de tarea], YesNo.Description AS [Tarea en servicio], ChecklistNo AS [Código de instrucción], AssetNo AS [No de equipo], PhyLocationNo AS [No de Ubicación], [TypePMGEN] as [Tipo MP] FROM PMSchedule INNER JOIN [YesNo] ON PMSchedule.PMActive = YesNo.Num " & Sortby & ";" Me.List.RowSource = PMSList Me.List.ColumnCount = 7 Me.List.ColumnHeads = True Me.List.ColumnWidths = "3 cm; 9 cm; 3 cm; 5 cm; 3 cm; 3 cm;0 cm" Call contarreg End Sub Private Sub contarreg() Call CountRecord(Me.ListRec, List) End Sub

Page 273: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

273

Formulario Tarea MP actual por fecha

Figura 33. – Formulario Tarea MP actual por fecha Este formulario muestra los campos de información referentes a la actividad de

mantenimiento preventivo (por fecha) que se ha seleccionado previamente. Los campos que se

muestran son los siguientes: “Número de tarea”, “Descripción de tarea”, “Tipo de OT”, “Area de

trabajo”, “Número de equipo”, “ID de ubicación”, “Código de instrucción”, “Unidad de frecuencia”,

“Frecuencia”, “Días”, “Duración de Tarea”, “Fecha de inicio”, “Fecha programada de inicio”,

“Fecha programada de Fin” y “Fecha próxima ejecución”. El botón “Ver programación” permite

desplegar una tabla que muestra la programación proyectada a futuro para la actividad

indicando la fecha de ejecución. El código de programa de este formulario es el siguiente:

'************************************* ' ' Registro actual del Programa de MP ' '************************************* Option Explicit Dim ty As Integer Dim dateval, assetnoval, phylocnoval As String Private Sub AssetNo_AfterUpdate() Set dbSICAM = CurrentDb()

Page 274: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

274

Dim rsCheck As DAO.Recordset If IsNull(Me.AssetNo) Then MsgBox "Se requiere información en este campo.", vbCritical Me.AssetNo = assetnoval Me.AssetNo.SetFocus Exit Sub End If Set rsCheck = dbSICAM.OpenRecordset("SELECT PMNo,AssetNo From [PMSchedule] WHERE AssetNo = '" & Me.AssetNo & "'") If rsCheck.RecordCount <> 0 Then If MsgBox("Este Equipo tiene Tareas programadas, desea proceder?", vbYesNo + vbInformation, "SICAM") = vbNo Then Exit Sub End If End If rsCheck.Close Me.AssetDesc = Me.AssetNo.Column(1) Me.LocNo = Me.AssetNo.Column(2) Me.LocDesc = Me.AssetNo.Column(3) End Sub Private Sub Command101_Click() ' Salvar MP Múltiple en la Tabla Dim response If IsNull(Me.TaskNo) Or IsNull(Me.MSeq) Or Me.MSeq = 0 Or IsNull(Me.MTSdate) Or Me.MTSdate = "" Then MsgBox "Se requiere información en este campo para grabar el registro", vbInformation DoCmd.GoToControl "TaskNo" Else response = MsgBox("Desea grabar el registro?", vbYesNo + vbInformation + vbDefaultButton2, "Grabar") If response = vbYes Then Set dbSICAM = CurrentDb() Dim rswolb As DAO.Recordset Set rswolb = dbSICAM.OpenRecordset("MultiplePM") With rswolb .AddNew ![MPMNo] = Me.PMNo ![MTaskNo] = Me.TaskNo ![MSeq] = Me.MSeq ![MCount] = Me.MSeq ![MPMCounter] = 1 ![MStartDate] = Me.MTSdate ![MStartDateCount] = Me.MSDcount ![MDescription] = Me.MDesc If Me.biltaskno < Me.txtMseq Then ![MtaskSeq] = Me.txtMseq Else ![MtaskSeq] = Me.biltaskno End If .Update .Close End With Refresh Me.txtMseq = Me.txtMseq + 1 Me.TaskNo = Null Me.TaskDesc = Null Me.MSeq = 0 Me.MTSdate = Null Me.MSDcount = 0 Me.MDesc = Null Me.MultiplePMsubform.Requery Else

Page 275: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

275

Me.TaskNo.SetFocus End If End If End Sub Private Sub Command115_Click() On Error GoTo Err_Command115_Click ' Para ver el Programa de MP en la lista de Proyecciones If IsNull(Me.PMName) Or Me.PMName = "" Or IsNull(Me.PMWOTrade) Or Me.PMWOTrade = "" Then MsgBox "Se requiere información en todos los campos para grabar el registro ", vbOKOnly + vbExclamation Me.PMName.SetFocus Exit Sub ElseIf Me.PMType = 1 And IsNull(Me.AssetNo) Or Me.AssetNo = "" Then MsgBox "Se requiere información en todos los campos para grabar el registro ", vbOKOnly + vbExclamation Me.AssetNo.SetFocus Exit Sub ElseIf Me.PMType = 2 And IsNull(Me.PhyLocNo) Or Me.PhyLocNo = "" Then MsgBox "Se requiere información en todos los campos para grabar el registro ", vbOKOnly + vbExclamation Me.PhyLocNo.SetFocus Exit Sub ElseIf IsNull(Me.PMChNo) Or Me.PMChNo = "" Or IsNull(Me.FU) Or Me.FU = "" Or IsNull(Me.Frequency) Or Me.Frequency = "" Or IsNull(Me.WorkPeriodDays) Or Me.WorkPeriodDays = "" Or IsNull(Me.TargetStartDate) Or Me.TargetStartDate = "" Then MsgBox "Se requiere información en todos los campos para grabar el registro ", vbOKOnly + vbExclamation Me.PMChNo.SetFocus Exit Sub End If If IsNull(Me.TaskNo) Or Me.TaskNo = "" Then MsgBox "Seleccione el # de Tarea para ver la Proyección ", vbOKOnly, "SICAM" Me.TaskNo.SetFocus ElseIf Me.MSeq = 0 Or IsNull(Me.MSeq) Or Me.MSeq = "" Then MsgBox "Verifique que la Secuencia de la Tarea no es nula o igual a 0", vbOKOnly, "SICAM" Me.MSeq.SetFocus ElseIf IsNull(Me.MTSdate) Or Me.MTSdate = "" Then MsgBox "Verifique que la fecha programada de inicio no sea nula y vuela a ingresar la secuencia de la Tarea. ", vbOKOnly, "SICAM" Me.MSeq.SetFocus Else Dim stLinkCriteria As String If Me.TypePMgen = 1 Then PMTSdate = Me.TargetStartDate Else If IsNull(Me.NextDateAct) Then PMTSdate = Me.TargetStartDate Else PMTSdate = Me.NextDateAct End If End If PMBilTSKNo = Me.biltaskno PMJbSeq = Me.MSeq PMmsdseq = Me.MSDcount PMFNo = Me.PMNo PMFDesc = Me.PMName PMFFreq = Me.FreqDays PMFTask = Me.PMChNo

Page 276: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

276

PMNextTask = Me.TaskNo PMCounterNo = Me.PMCounter PMTypeGn = Me.TypePMgen ViewPMFore = 2 DoCmd.OpenForm "MPListaProyecc", , , stLinkCriteria End If Exit_Command115_Click: Exit Sub Err_Command115_Click: MsgBox err.Description Resume Exit_Command115_Click End Sub Private Sub Command129_Click() ' Para ver el Programa de MP en la lista de proyecciones If IsNull(Me.PMName) Or Me.PMName = "" Or IsNull(Me.PMWOTrade) Or Me.PMWOTrade = "" Then MsgBox "Se requiere información en todos los campos para grabar el registro ", vbOKOnly + vbExclamation Me.PMName.SetFocus Exit Sub ElseIf Me.PMType = 1 And IsNull(Me.AssetNo) Or Me.AssetNo = "" Then MsgBox "Se requiere información en todos los campos para grabar el registro ", vbOKOnly + vbExclamation Me.AssetNo.SetFocus Exit Sub ElseIf Me.PMType = 2 And IsNull(Me.PhyLocNo) Or Me.PhyLocNo = "" Then MsgBox "Se requiere información en todos los campos para grabar el registro ", vbOKOnly + vbExclamation Me.PhyLocNo.SetFocus Exit Sub ElseIf IsNull(Me.PMChNo) Or Me.PMChNo = "" Or IsNull(Me.FU) Or Me.FU = "" Or IsNull(Me.Frequency) Or Me.Frequency = "" Or IsNull(Me.WorkPeriodDays) Or Me.WorkPeriodDays = "" Or IsNull(Me.TargetStartDate) Or Me.TargetStartDate = "" Then MsgBox "Se requiere información en todos los campos para grabar el registro ", vbOKOnly + vbExclamation Me.PMChNo.SetFocus Exit Sub End If Dim stLinkCriteria As String If Me.TypePMgen = 1 Then PMTSdate = Me.TargetStartDate Else If IsNull(Me.NextDateAct) Then PMTSdate = Me.TargetStartDate Else PMTSdate = Me.NextDateAct End If End If PMBilTSKNo = Me.biltaskno PMJbSeq = Me.MSeq PMmsdseq = Me.MSDcount PMFNo = Me.PMNo PMFDesc = Me.PMName PMFFreq = Me.FreqDays PMFTask = Me.PMChNo PMNextTask = Me.TaskNo

Page 277: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

277

PMCounterNo = Me.PMCounter PMTypeGn = Me.TypePMgen ViewPMFore = 1 DoCmd.OpenForm "MPListaProyecc", , , stLinkCriteria End Sub Private Sub Command130_Click() If IsNull(Me.TargetStartDate) Then dateval = CDate(Format(ServerdateQuery(), "short date")) Else dateval = Me.TargetStartDate End If Me.calCtl1.Visible = True Me.calCtl1.Value = Date ty = 1 End Sub Private Sub Command131_Click() dateval = Me.NextDateAct Me.calCtl1.Visible = True Me.calCtl1.Value = Date ty = 2 End Sub Private Sub Detail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error GoTo ErrorHandler If Me.calCtl1.Visible = True Then Me.calCtl1.Visible = False ErrorHandler: If err.Number <> 0 Then Me.TargetStartDate.SetFocus If Me.calCtl1.Visible = True Then Me.calCtl1.Visible = False End If End Sub Private Sub Form_Activate() Me.biltaskno = PMBilTSKNo Me.MSDcount = PMmsdseq Me.MTSdate = PMMTSdate End Sub Private Sub Form_Close() ' Salvar la nueva fecha de inicio objetivo, fecha de fin objetivo y próxima fecha Set dbSICAM = CurrentDb() Dim rspmsh As DAO.Recordset Set rspmsh = dbSICAM.OpenRecordset("PMSchedule") Do While Not rspmsh.EOF If rspmsh![PMNo] = Me.PMNo Then rspmsh.Edit rspmsh![TargetCompDate] = Me.TarCompDate If Me.TypePMgen = 1 Then rspmsh![NextDate] = Me.NextDate Else rspmsh![NextDate] = Me.NextDateAct End If rspmsh.Update End If rspmsh.MoveNext Loop rspmsh.Close

Page 278: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

278

End Sub Private Sub Form_Open(Cancel As Integer) PMForm = "2" PMBilTSKNo = 2 PMmsdseq = 0 PMMTSdate = "" Me.TypePMgen.Locked = True If Me.PMActive.Value = 0 Then LockAllFields True Me.AssetDesc = Me.AssetNo.Column(1) Me.LocNo = Me.AssetNo.Column(2) Me.LocDesc = Me.AssetNo.Column(3) Me.PhyLocDesc = Me.PhyLocNo.Column(1) Me.PMChListName = Me.PMChNo.Column(1) If Me.FreqUnits = 1 Then Me.FU = "Dias" ElseIf Me.FreqUnits = 7 Then Me.FU = "Semanas" ElseIf Me.FreqUnits = 28 Then Me.FU = "Meses" ElseIf Me.FreqUnits = 365 Then Me.FU = "Años" End If Me.FreqDays = Me.FU.Column(1) * Me.Frequency If Me.PMType = 1 Then assetnoval = Me.AssetNo Me.AssetNo.Enabled = True Me.AssetDesc.Enabled = True Me.LocNo.Enabled = True Me.LocDesc.Enabled = True Me.AssetDesc.Locked = True Me.LocNo.Locked = True Me.LocDesc.Locked = True Me.PhyLocNo.Enabled = False Me.PhyLocDesc.Enabled = False Me.PhyLocDesc.Locked = False Else phylocnoval = Me.PhyLocNo Me.PhyLocNo.Enabled = True Me.PhyLocDesc.Enabled = True Me.AssetNo.Enabled = False Me.AssetDesc.Enabled = False Me.AssetDesc.Locked = False Me.LocNo.Locked = False Me.LocDesc.Locked = False Me.LocNo.Enabled = False Me.LocDesc.Enabled = False Me.PhyLocDesc.Locked = True End If If Me.PMMultiple = True Then Me.MultiTask.Enabled = True Else Me.MultiTask.Enabled = False End If If Me.TypePMgen = 1 Then Me.NextDateAct.Visible = False Me.ActualCompDate.Visible = False Me.TarCompDate = Me.TargetStartDate + Me.WorkPeriodDays - 1

Page 279: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

279

Me.NextDate = Me.TargetStartDate + Me.FreqDays Me.Command131.Visible = False Else Me.Command130.Enabled = False Me.TargetStartDate.Locked = True Me.NextDate.Visible = False Me.TarCompDate = Me.TargetStartDate + Me.WorkPeriodDays - 1 If IsNull(Me.TargetStartDate) Or IsNull(Me.ActualCompDate) Then Me.NextDate.Locked = True Me.Command131.Enabled = False End If End If Dim rsCal As DAO.Recordset If Me.TypePMgen = 2 Then Set rsCal = CurrentDb.OpenRecordset("Select PMNO from WorkOrders where PMNo='" & Me.PMNo.Value & "'") If rsCal.RecordCount = 0 Then Me.Command130.Enabled = True Else Me.Command130.Enabled = False End If rsCal.Close End If End Sub Private Sub Frequency_AfterUpdate() If Me.Frequency <= 0 Then Me.Frequency = 1 End If Me.FreqDays = Me.FU.Column(1) * Me.Frequency If Me.TypePMgen = 1 Then Me.NextDate = Me.TargetStartDate + Me.FreqDays End If End Sub Private Sub Frequency_KeyPress(KeyAscii As Integer) If Not KeyAscii = vbKeyBack And Not IsNumeric(Chr(KeyAscii)) Then KeyAscii = 0 End If End Sub Private Sub FU_AfterUpdate() Me.FreqDays = Me.FU.Column(1) * Me.Frequency Me.FreqUnits = Me.FU.Column(1) If Me.TypePMgen = 1 Then Me.NextDate = Me.TargetStartDate + Me.FreqDays End If End Sub Private Sub MSeq_AfterUpdate() If IsNull(Me.TargetStartDate) Or IsNull(Me.FreqDays) Then MsgBox "La Programación de las Tareas no puede ser realizada sin la Fecha de Inicio.", vbOKOnly, "SICAM" Exit Sub End If If Me.TypePMgen = 1 Then Me.MTSdate = (Me.FreqDays * (Me.MSeq - 1)) + Me.TargetStartDate Else If IsNull(Me.NextDateAct) Then Me.MTSdate = (Me.FreqDays * (Me.MSeq - 1)) + Me.TargetStartDate

Page 280: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

280

Else Me.MTSdate = (Me.FreqDays * (Me.MSeq - 1)) + Me.NextDateAct End If End If PMMTSdate = Me.MTSdate If Me.PMCounter = 1 Then Me.MSDcount = Me.MSeq Else Me.MSDcount = Me.PMCounter + (Me.MSeq - 1) End If End Sub Private Sub MSeq_LostFocus() Dim Seq As Integer If Me.MSeq.Locked = True Then Exit Sub If Me.MSeq.Value = "" Or IsNull(Me.MSeq) Then Me.MSeq = 0 Exit Sub End If Set dbSICAM = CurrentDb() Dim rsseq As DAO.Recordset Set rsseq = dbSICAM.OpenRecordset("Select MAX(MSeq) from MultiplePM where MPMNo='" & Me.Text108.Value & "'") If Not IsNull(rsseq(0)) Then Seq = rsseq(0) Else Seq = 0 End If rsseq.Close Set rsseq = Nothing If Not IsNull(Seq) Then If Int(Seq) >= Int(Me.MSeq.Value) Then MsgBox "Secuencia de Tareas no valida, debe ser mas larga que la última secuencia.", vbOKOnly, "SICAM" Me.MSeq = 0 Exit Sub End If End If End Sub Private Sub NextDateAct_AfterUpdate() 'Verificar que la fecha de inicio objetivo del MP no este por debajo de la fecha actual de generación Call verifydate End Sub Private Sub PhyLocNo_AfterUpdate() Set dbSICAM = CurrentDb() Dim rsCheck As DAO.Recordset If IsNull(Me.PhyLocNo) Then MsgBox "Se requiere información en este campo.", vbCritical Me.PhyLocNo = phylocnoval Me.PhyLocNo.SetFocus Exit Sub End If Set rsCheck = dbSICAM.OpenRecordset("SELECT PMNo,PhyLocationNo From [PMSchedule] WHERE PhyLocationNo = '" & Me.PhyLocNo & "'") If rsCheck.RecordCount <> 0 Then If MsgBox("Esta Ubicación ya tiene una tarea preventiva, Desea continuar?", vbYesNo + vbInformation, "SICAM") = vbNo Then Exit Sub

Page 281: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

281

End If End If rsCheck.Close Me.PhyLocDesc = Me.PhyLocNo.Column(1) End Sub Private Sub PMActive_Click() If PMActive.Value = 0 Then DoCmd.GoToControl "page39" LockAllFields True Else DoCmd.GoToControl "page39" LockAllFields False End If End Sub Private Sub LockAllFields(Opt As Boolean) If Opt = True Then PMName.Locked = True PMWOTrade.Locked = True Check56.Locked = True Check58.Locked = True AssetNo.Locked = True LocNo.Locked = True PhyLocNo.Locked = True Check71.Locked = True Check73.Locked = True PMMultiple.Locked = True PMChNo.Locked = True FU.Locked = True Frequency.Locked = True WorkPeriodDays.Locked = True Command129.Enabled = False Command130.Enabled = False Command131.Enabled = False Command115.Enabled = False Command101.Enabled = False Else PMName.Locked = False PMWOTrade.Locked = False Check56.Locked = False Check58.Locked = False AssetNo.Locked = False LocNo.Locked = False PhyLocNo.Locked = False Check71.Locked = False Check73.Locked = False PMMultiple.Locked = False PMChNo.Locked = False FU.Locked = False Frequency.Locked = False WorkPeriodDays.Locked = False Command129.Enabled = True Command130.Enabled = True Command131.Enabled = True Command115.Enabled = True Command101.Enabled = True End If End Sub Private Sub PMChNo_AfterUpdate()

Page 282: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

282

Me.PMChListName = Me.PMChNo.Column(1) End Sub Private Sub Command32_Click() On Error GoTo Err_Command32_Click If IsNull(Me.PMName) Or Me.PMName = "" Or IsNull(Me.PMWOTrade) Or Me.PMWOTrade = "" Then MsgBox "Se requiere información en todos los campos para grabar el registro ", vbOKOnly + vbExclamation Me.PMName.SetFocus Exit Sub ElseIf Me.PMType = 1 And IsNull(Me.AssetNo) And Me.AssetNo = "" Then MsgBox "Se requiere información en todos los campos para grabar el registro ", vbOKOnly + vbExclamation Me.AssetNo.SetFocus Exit Sub ElseIf Me.PMType = 2 And IsNull(Me.PhyLocNo) And Me.PhyLocNo = "" Then MsgBox "Se requiere información en todos los campos para grabar el registro ", vbOKOnly + vbExclamation Me.PhyLocNo.SetFocus Exit Sub ElseIf IsNull(Me.PMChNo) Or IsNull(Me.FU) Or Me.FU = "" Or IsNull(Me.Frequency) Or Me.Frequency = "" Or IsNull(Me.WorkPeriodDays) Or Me.WorkPeriodDays = "" Or IsNull(Me.TargetStartDate) Or Me.TargetStartDate = "" Then MsgBox "Se requiere información en todos los campos para grabar el registro ", vbOKOnly + vbExclamation Me.PMChNo.SetFocus Exit Sub End If Dim temp As Boolean If PMActive.Value = -1 Then temp = verifydate Else temp = True End If If temp = True Then If Me.Dirty Then If MsgBox("Desea grabar el registro?", vbInformation + vbYesNo, "Grabar") = vbNo Then DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70 End If End If DoCmd.Close acForm, Me.Name End If Exit_Command32_Click: Exit Sub Err_Command32_Click: MsgBox err.Description Resume Exit_Command32_Click End Sub Private Sub PMMultiple_AfterUpdate() If Me.PMMultiple = True Then Me.MultiTask.Enabled = True Else Me.MultiTask.Enabled = False End If End Sub

Page 283: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

283

Private Sub PMNo_AfterUpdate() Dim rspm As DAO.Recordset Set dbSICAM = CurrentDb() Set rspm = dbSICAM.OpenRecordset("PMSchedule") Do While Not rspm.EOF If UCase(rspm!PMNo) = UCase(Me.PMNo) Then MsgBox "Tarea ya existe", vbInformation Me.PMNo = Null DoCmd.GoToControl "PMNo" End If rspm.MoveNext Loop rspm.Close End Sub Private Sub PMType_AfterUpdate() If Me.PMType = 1 Then Me.AssetNo.Enabled = True Me.AssetDesc.Enabled = True Me.LocNo.Enabled = True Me.LocDesc.Enabled = True Me.AssetDesc.Locked = True Me.LocNo.Locked = True Me.LocDesc.Locked = True Me.PhyLocNo.Enabled = False Me.PhyLocDesc.Enabled = False Me.PhyLocDesc.Locked = False Me.PhyLocNo = Null Me.PhyLocDesc = Null Else Me.PhyLocNo.Enabled = True Me.PhyLocDesc.Enabled = True Me.AssetNo.Enabled = False Me.AssetDesc.Enabled = False Me.AssetDesc.Locked = False Me.LocNo.Locked = False Me.LocDesc.Locked = False Me.LocNo.Enabled = False Me.LocDesc.Enabled = False Me.PhyLocDesc.Locked = True Me.AssetNo = Null Me.AssetDesc = Null Me.LocNo = Null Me.LocDesc = Null End If End Sub Private Sub TargetStartDate_AfterUpdate() 'Verificar que la fecha de inicio objetivo del MP no este por debajo de la fecha actual de generación Call verifydate Me.TarCompDate = Me.TargetStartDate + Me.WorkPeriodDays - 1 Me.NextDate = [TargetStartDate] + [FreqDays] End Sub Private Sub TaskNo_AfterUpdate() Me.TaskDesc = Me.TaskNo.Column(1) End Sub

Page 284: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

284

Private Sub WorkPeriodDays_AfterUpdate() If Me.WorkPeriodDays > Me.FreqDays Then MsgBox "El periodo de Trabajo no puede ser mayor que la Frecuencia", vbInformation Me.WorkPeriodDays.SetFocus Else Me.TarCompDate = Me.TargetStartDate + Me.WorkPeriodDays - 1 End If End Sub Private Sub calCtl1_Click() If ty = 1 Then Me.TargetStartDate = Me.calCtl1.Value Me.TargetStartDate.SetFocus Call verifydate Me.TarCompDate = Me.TargetStartDate + Me.WorkPeriodDays - 1 Me.NextDate = [TargetStartDate] + [FreqDays] Else Me.NextDateAct = Me.calCtl1.Value Me.NextDateAct.SetFocus Call verifydate End If Me.calCtl1.Visible = False End Sub Function verifydate() As Boolean Set dbSICAM = CurrentDb() Dim rsPMGenDate As DAO.Recordset Set rsPMGenDate = dbSICAM.OpenRecordset("SELECT * From PMGenDates") If rsPMGenDate.RecordCount <> 0 Then rsPMGenDate.MoveLast 'Fecha actual de Fin del MP If Me.TypePMgen = 1 Then 'Tipo de MP = Programado If rsPMGenDate![ToDate] >= Me.TargetStartDate Then MsgBox "La Fecha programada de Inicio de las Tareas es menor al rango (" & rsPMGenDate![ToDate] & ")", vbInformation Me.TargetStartDate = Null Me.TargetStartDate.SetFocus verifydate = False Exit Function End If 'ElseIf Me.TypePMgen = 2 Then ' If rsPMGenDate![ToDate] >= Me.NextDateAct Then ' MsgBox "Su próxima fecha de realización de las tareas es menor al rango seleccionado de generación", vbInformation ' Me.NextDateAct = Null ' Me.NextDateAct.SetFocus ' verifydate = False ' Exit Function ' End If End If End If rsPMGenDate.Close verifydate = True End Function Private Sub WorkPeriodDays_KeyPress(KeyAscii As Integer) If Not KeyAscii = vbKeyBack And Not IsNumeric(Chr(KeyAscii)) Then KeyAscii = 0 End If End Sub

Page 285: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

285

Formulario Lista de Tareas MP (Medidores).

Figura 34 – Formulario Lista de Tareas - Medidores Este formulario muestra el listado de las actividades de mantenimiento preventivo del

sistema que se ejecutan según la lectura de un medidor determinado. La lista muestra los

campos “Número de medidor”, “Descripción del medidor”, “Número de equipo”, “Descripción del

equipo”, “Número de ubicación”, “Descripción de ubicación” y “Tarea en servicio”.

Seleccionando una tarea de la lista y haciéndo “doble click” sobre ésta se abrirá un formulario

que muestra los detalles de la actividad la información de todos sus campos asociados. El

formulario permite filtrar la información que se despliega seleccionando una de las casillas que

aparecen en la parte inferior de la lista, colocando la palabra o número a buscar en la casilla en

blanco y pulsando el botón “Buscar”. Las opciones de filtrado posible son: por “Número de

medidor”, por “Descripción de medidor”, por “ID de equipo” ,“Descripción de equipo”, por “ID de

ubicación” y por “Descripción de ubicación”. El botón “Ordenar A->Z” permite ordenar la

información de la lista de forma ascendente o descendente. El botón “Nueva tarea” permite

crear una nueva actividad y almacenarla en la base de datos del sistema. El botón “Ver todo”

permite desplegar nuevamente todos los datos de la lista cuando se ha hecho una consulta

previamente utilizando alguno de los filtros indicados anteriormente. El botón “Lectura” permite

abrir un formulario que muestra los valores de los medidores del sistema con todos los detalles

referentes a los mismos. El botón “Cerrar” permite cerrar y salir del formulario. El código de

programa de este formulario es el siguiente:

Page 286: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

286

Option Explicit Dim sel, Sortby As String Private Sub Command22_Click() Dim WOlist As String If Me.Select = 1 Then sel = "Meterno ='" & Me.Input & "'" ElseIf Me.Select = 2 Then sel = "MeterDescription like '" & Me.Input & "*'" ElseIf Me.Select = 3 Then sel = "Assets.AssetNumber Like '" & Me.Input & "*'" ElseIf Me.Select = 4 Then sel = "Assets.AssetDescription like '" & Me.Input & "*'" ElseIf Me.Select = 5 Then sel = "Location.LocationNo like '" & Me.Input & "*'" ElseIf Me.Select = 6 Then sel = "Location.LocationDescription like '" & Me.Input & "*'" End If WOlist = "SELECT PMMeters.MeterNo as [No de medidor], PMMeters.MeterDescription as [Descripción de medidor], " & _ "Assets.AssetNumber as [No de equipo], Assets.AssetDescription as [Descripción de equipo], " & _ "Location.LocationNo as [No de Ubicación ], Location.LocationDescription as [Descripción de Ubicación], yesno.Description as [Tarea en servicio] " & _ "FROM ((PMMeters LEFT JOIN Assets ON PMMeters.AssetNo = Assets.AssetNumber) LEFT JOIN Location ON Assets.LocationNo = Location.LocationNo) " & _ "INNER JOIN [yesno] ON pmmeters.PMActive = yesno.Num WHERE " & sel & " ;" Me.List.RowSource = WOlist Me.List.ColumnCount = 7 Me.List.ColumnHeads = True Me.List.ColumnWidths = "3 cm; 5 cm; 3 cm; 5 cm; 3 cm; 5 cm; 3 cm" Call contarreg End Sub Private Sub Command23_Click() Call vertodo End Sub Private Sub Command25_Click() DoCmd.Close acForm, Me.Name End Sub Private Sub Command38_Click() Dim stLinkCriteria As String DoCmd.OpenForm "MPMedidNuevoForm", , , stLinkCriteria End Sub Private Sub Form_Activate() DoCmd.Restore Call contarreg Refresh

Page 287: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

287

End Sub Private Sub Form_Deactivate() DoCmd.Minimize End Sub Private Sub Form_Open(Cancel As Integer) DoCmd.Restore Call vertodo End Sub Public Sub vertodo() Dim WOlist As String WOlist = "SELECT PMMeters.MeterNo as [No de medidor], PMMeters.MeterDescription as [Descripción de medidor], " & _ "Assets.AssetNumber as [No de equipo], Assets.AssetDescription as [Descripción de equipo], " & _ "Location.LocationNo as [No de Ubicación ], Location.LocationDescription as [Descripción de Ubicación], yesno.Description as [Tarea en servicio] " & _ "FROM ((PMMeters LEFT JOIN Assets ON PMMeters.AssetNo = Assets.AssetNumber) LEFT JOIN Location ON Assets.LocationNo = Location.LocationNo) " & _ "INNER JOIN [yesno] ON pmmeters.PMActive = yesno.Num;" Me.List.RowSource = WOlist Me.List.ColumnCount = 7 Me.List.ColumnHeads = True Me.List.ColumnWidths = "3 cm; 5 cm; 3 cm; 5 cm; 3 cm; 5 cm; 3 cm" Call contarreg End Sub Private Sub Command24_Click() On Error GoTo Err_Command24_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "NewMeters" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Command24_Click: Exit Sub Err_Command24_Click: MsgBox err.Description Resume Exit_Command24_Click End Sub Private Sub List_DblClick(Cancel As Integer) DoCmd.OpenForm "ActMPMedForm", , , "[MeterNo]=" & "'" & Me.List.Column(0) & "'" End Sub Private Sub SortB1_Click() If Me.SortB1.Caption = "Ordenar A->Z" Then If Me.Select = 1 Then Sortby = "ORDER BY PMMeters.MeterNo ASC" ElseIf Me.Select = 2 Then Sortby = "ORDER BY PMMeters.MeterDescription ASC"

Page 288: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

288

ElseIf Me.Select = 3 Then Sortby = "ORDER BY Assets.AssetNumber ASC" ElseIf Me.Select = 4 Then Sortby = "ORDER BY Assets.AssetDescription ASC" ElseIf Me.Select = 5 Then Sortby = "ORDER BY Location.LocationNo ASC" ElseIf Me.Select = 6 Then Sortby = "ORDER BY Location.LocationDescription ASC" End If Me.SortB1.Caption = "Ordenar Z->A" Else If Me.Select = 1 Then Sortby = "ORDER BY PMMeters.MeterNo DESC" ElseIf Me.Select = 2 Then Sortby = "ORDER BY PMMeters.MeterDescription DESC" ElseIf Me.Select = 3 Then Sortby = "ORDER BY Assets.AssetNumber DESC" ElseIf Me.Select = 4 Then Sortby = "ORDER BY Assets.AssetDescription DESC" ElseIf Me.Select = 5 Then Sortby = "ORDER BY Location.LocationNo DESC" ElseIf Me.Select = 6 Then Sortby = "ORDER BY Location.LocationDescription DESC" End If Me.SortB1.Caption = "Ordenar A->Z" End If Call Sort End Sub Public Sub Sort() Dim WOlist As String WOlist = "SELECT PMMeters.MeterNo as [No de medidor], PMMeters.MeterDescription as [Descripción de medidor], " & _ "Assets.AssetNumber as [No de equipo], Assets.AssetDescription as [Descripción de equipo], " & _ "Location.LocationNo as [No de Ubicación ], Location.LocationDescription as [Descripción de Ubicación], yesno.Description as [Tarea en servicio] " & _ "FROM ((PMMeters LEFT JOIN Assets ON PMMeters.AssetNo = Assets.AssetNumber) LEFT JOIN Location ON Assets.LocationNo = Location.LocationNo) " & _ "INNER JOIN [yesno] ON pmmeters.PMActive = yesno.Num " + Sortby & ";" Me.List.RowSource = WOlist Me.List.ColumnCount = 7 Me.List.ColumnHeads = True Me.List.ColumnWidths = "3 cm; 5 cm; 3 cm; 5 cm; 3 cm; 5 cm; 3 cm" Call contarreg End Sub Private Sub Command26_Click() On Error GoTo Err_Command26_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "MPLecturasMed" DoCmd.OpenForm stDocName, , , stLinkCriteria

Page 289: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

289

Exit_Command26_Click: Exit Sub Err_Command26_Click: MsgBox err.Description Resume Exit_Command26_Click End Sub Private Sub contarreg() Call CountRecord(Me.ListRec, List) End Sub

Formulario Tarea MP por medidor actual. Figura 35. – Formulario Tarea MP por medidor actual.

Este formulario muestra los campos de información referentes a la actividad de

mantenimiento preventivo (por medidores) que se ha seleccionado previamente. Los campos

que se muestran son los siguientes: “Número de medidor”, “Descripción de medidor”, “Número

de equipo”, ”Número de ubicación”, “Area de trabajo”, “Unidades de medidor”, efectuar cada” y

“Próximo MP en:” El código de programa de este formulario es el siguiente:

Option Explicit 'Medidor Actual (MP)

Page 290: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

290

Dim AssetVal, PMWOTradeVal, lowtaskVal, upptaskVal, IncPMTaskVal As String Dim lowlimVal, upplimVal, IncFreqVal, IncPMDueVal As Double Private Sub AssetNo_AfterUpdate() Set dbSICAM = CurrentDb() Dim rsCheck As DAO.Recordset If IsNull(Me.AssetNo) Then MsgBox "Fecha requerida en este campo.", vbCritical Me.AssetNo = AssetVal Me.AssetNo.SetFocus Exit Sub End If Set rsCheck = dbSICAM.OpenRecordset("SELECT PMNo,AssetNo From [PMSchedule] WHERE AssetNo = '" & Me.AssetNo & "'") If rsCheck.RecordCount <> 0 Then If MsgBox("Este Equipo tiene Tareas programadas, desea proceder?", vbYesNo + vbInformation, "SICAM") = vbNo Then Exit Sub End If End If rsCheck.Close End Sub Private Sub calCtl1_Click() If Me.calCtl1.Value < ServerdateQuery() Then MsgBox "Indique una fecha mayor a la fecha actual", vbInformation Exit Sub End If Me.TarStartDate = Me.calCtl1.Value Me.TarStartDate.SetFocus Me.calCtl1.Visible = False TarStartDate_AfterUpdate End Sub Private Sub Command403_Click() Me.calCtl1.Visible = True Me.calCtl1.Value = Format(CDate(Date), "Short Date") End Sub Private Sub Form_Open(Cancel As Integer) AssetVal = Me.AssetNo PMWOTradeVal = Me.PMWOTrade.Column(0) Me.MeterType.Locked = True If Me.MeterType = 1 Then lowlimVal = Me.Lowerlimit lowtaskVal = Me.PMLowTaskNo upplimVal = Me.UpperLimit upptaskVal = Me.PMUppTaskNo Me.Lowerlimit.Enabled = True Me.UpperLimit.Enabled = True Me.PMLowTaskNo.Enabled = True Me.PMLowTaskDesc.Enabled = True Me.PMLowTaskDesc.Locked = True Me.PMUppTaskNo.Enabled = True Me.PMUppTaskDesc.Enabled = True Me.PMUppTaskDesc.Locked = True

Page 291: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

291

Me.StartMeterReading.Enabled = False Me.IncFreq.Enabled = False Me.LastPMreading.Enabled = False Me.IncPMDue.Enabled = False Me.PMIncTaskNo.Enabled = False Me.PMIncTaskDesc.Enabled = False Me.Time.Visible = False Else Me.Time.Visible = True IncFreqVal = Me.IncFreq IncPMDueVal = Me.IncPMDue IncPMTaskVal = IIf(IsNull(Me.PMIncTaskNo), "", Me.PMIncTaskNo) Me.StartMeterReading.Enabled = False Me.IncFreq.Enabled = True Me.LastPMreading.Enabled = False Me.IncPMDue.Enabled = True Me.PMIncTaskNo.Enabled = True Me.PMIncTaskDesc.Enabled = True Me.PMIncTaskDesc.Locked = True Me.Lowerlimit.Enabled = False Me.UpperLimit.Enabled = False Me.PMLowTaskNo.Enabled = False Me.PMLowTaskDesc.Enabled = False Me.PMUppTaskNo.Enabled = False Me.PMUppTaskDesc.Enabled = False End If If Me.FreqUnits = 1 Then Me.FU = "Dias" ElseIf Me.FreqUnits = 7 Then Me.FU = "Semanas" ElseIf Me.FreqUnits = 28 Then Me.FU = "Meses" ElseIf Me.FreqUnits = 365 Then Me.FU = "Años" End If Me.FreqDays = Me.FU.Column(1) * Me.Frequency If Me.MeterType = 1 Then Me.TimeBased.Enabled = False Else If Me.TimeBased = -1 Then Me.Time.Enabled = True End If End If End Sub Private Sub Command37_Click() On Error GoTo Err_Command37_Click If Me.Dirty Then If IsNull(Me.MeterNo) Or Trim(Me.MeterNo) = "" Then MsgBox " Indique el nombre del Medidor.", vbExclamation DoCmd.GoToControl "MeterNo" Exit Sub End If If IsNull(Me.MeterDesc) Or Trim(Me.MeterDesc) = "" Then MsgBox " Indique la Descripción del Medidor.", vbExclamation DoCmd.GoToControl "MeterDesc" Exit Sub

Page 292: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

292

End If If IsNull(Me.AssetNo) Or Trim(Me.AssetNo.Value) = "" Then MsgBox "Indique el ID del Equipo.", vbExclamation DoCmd.GoToControl "AssetNo" Exit Sub End If If IsNull(Me.MeterType) Then MsgBox "Seleccione el Tipo de Medidor antes de grabar.", vbExclamation DoCmd.GoToControl "metertype" Exit Sub End If If Me.MeterType.Value = 1 And Me.UpperLimit < Me.Lowerlimit Then MsgBox " Limites superiores inferiores al nivel mas bajo . Favor reingrese los valores", vbExclamation DoCmd.GoToControl "UpperLimit" Exit Sub End If If Me.MeterType.Value = 1 And Me.UpperLimit = Me.Lowerlimit Then MsgBox " Limite Max. no puede ser igual o menor que Limite Min. Introduzca datos válidos.", vbExclamation DoCmd.GoToControl "UpperLimit" Exit Sub End If If Me.MeterType = 1 And (Trim(Me.Lowerlimit.Value) = "" Or IsNull(Me.Lowerlimit) Or Trim(Me.PMLowTaskNo) = "" Or IsNull(Me.PMLowTaskNo)) Then MsgBox "Se requieren datos en todos los campos.", vbExclamation DoCmd.GoToControl "lowerlimit" Exit Sub End If If Me.MeterType = 1 And (Trim(Me.UpperLimit.Value) = "" Or IsNull(Me.UpperLimit) Or Trim(Me.PMUppTaskNo) = "" Or IsNull(Me.PMUppTaskNo)) Then MsgBox "Se requieren datos en todos los campos.", vbExclamation UpperLimit.SetFocus Exit Sub End If If Me.MeterType = 2 And (Me.IncFreq = 0 Or Trim(Me.IncFreq.Value) = "" Or IsNull(Me.IncFreq.Value) Or Trim(Me.PMIncTaskNo) = "") Then MsgBox "Se requieren datos en todos los campos.", vbExclamation DoCmd.GoToControl "incfreq" Exit Sub End If If Me.TimeBased.Value = -1 Then If IsNull(Me.FU) Or Me.FU = "" Then MsgBox "Indique la unidad de frecuencia", vbInformation Me.FU.SetFocus Exit Sub End If If IsNull(Me.Frequency) Or Me.Frequency = "" Then MsgBox "Indique la frecuencia", vbInformation Me.Frequency.SetFocus Exit Sub End If

Page 293: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

293

If IsNull(WorkPeriodDays) Or Me.WorkPeriodDays = "" Then MsgBox "Indique los días del período del trabajo ", vbInformation Me.WorkPeriodDays.SetFocus Exit Sub End If 'If IsNull(StartDate) Or StartDate = "" Then ' ' MsgBox "Introduzca la fecha de inicio", vbInformation ' ' Me.StartDate.SetFocus ' ' Exit Sub 'End If If IsNull(TarStartDate) Or TarStartDate = "" Then MsgBox "Indique le Fecha de inicio", vbInformation Me.TarStartDate.SetFocus Exit Sub End If If IsNull(TarCompDate) Or TarCompDate = "" Then MsgBox "Indique le Fecha de Fin", vbInformation Me.TarCompDate.SetFocus Exit Sub End If If IsNull(NextDate) Or NextDate = "" Then MsgBox "Indique la fecha próxima", vbInformation Me.NextDate.SetFocus Exit Sub End If If Me.TarStartDate.Value < ServerdateQuery() Then MsgBox "La Fecha de Inicio debe ser mayor que la Fecha actual", vbInformation Me.TarStartDate.SetFocus Exit Sub End If End If If MsgBox("Desea grabar el registro ?", vbInformation + vbYesNo, "Grabar") = vbNo Then DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70 End If End If DoCmd.Close acForm, Me.Name Exit_Command37_Click: Exit Sub Err_Command37_Click: MsgBox err.Description Resume Exit_Command37_Click End Sub Private Sub Frequency_AfterUpdate() Me.FreqDays = Me.FU.Column(1) * Me.Frequency If Trim(TarStartDate) <> "" Or Not IsNull(TarStartDate) Then ' If IsNull(Me.StartDate) Then ' Me.TarStartDate = Me.TarStartDate + [FreqDays] ' Else ' Me.TarStartDate = [StartDate] + [FreqDays] ' End If ' Me.TarCompDate = [TarStartDate] + [WorkPeriodDays] - 1 Me.NextDate = [TarCompDate] + [FreqDays]

Page 294: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

294

End If End Sub Private Sub FU_AfterUpdate() Me.FreqDays = Me.FU.Column(1) * Me.Frequency Me.FreqUnits = Me.FU.Column(1) If Trim(TarStartDate) <> "" Or Not IsNull(TarStartDate) Then ' If IsNull(Me.StartDate) Then ' Me.TarStartDate = Me.TarStartDate + [FreqDays] ' Else ' Me.TarStartDate = [StartDate] + [FreqDays] ' End If 'Me.TarCompDate = [TarStartDate] + [WorkPeriodDays] - 1 Me.NextDate = [TarCompDate] + [FreqDays] End If End Sub Private Sub IncFreq_AfterUpdate() If IsNull(Me.IncFreq) Or Me.IncFreq <= 0 Then MsgBox "El valor no puede ser nulo o menor a 0.", vbCritical Me.IncFreq = IncFreqVal Me.IncFreq.SetFocus Exit Sub End If End Sub Private Sub IncPMDue_AfterUpdate() Set dbSICAM = CurrentDb() Dim rsCheck As DAO.Recordset If IsNull(Me.IncPMDue) Then MsgBox "Fecha requerida en este campo.", vbCritical Me.IncPMDue = IncPMDueVal Me.IncPMDue.SetFocus Exit Sub End If Set rsCheck = dbSICAM.OpenRecordset("SELECT reading From readings WHERE MeterNo = '" & Me.MeterNo & "'") If rsCheck.RecordCount <> 0 Then rsCheck.MoveLast If Me.IncPMDue < rsCheck!Reading Then MsgBox "Lectura anterior del medidor:próxima fecha de realización, no puede ser menor a la ultima lectura de medidor .", vbInformation Me.IncPMDue = IncPMDueVal End If End If rsCheck.Close End Sub Private Sub Lowerlimit_AfterUpdate() If IsNull(Me.Lowerlimit) Then MsgBox "Fecha requerida en este campo.", vbCritical Me.Lowerlimit = lowlimVal Me.Lowerlimit.SetFocus Exit Sub End If End Sub Private Sub MeterType_AfterUpdate()

Page 295: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

295

If Me.MeterType = 1 Then Me.Lowerlimit.Enabled = True Me.UpperLimit.Enabled = True Me.PMLowTaskNo.Enabled = True Me.PMLowTaskDesc.Enabled = True Me.PMLowTaskDesc.Locked = True Me.PMUppTaskNo.Enabled = True Me.PMUppTaskDesc.Enabled = True Me.PMUppTaskDesc.Locked = True Me.StartMeterReading.Enabled = False Me.IncFreq.Enabled = False Me.LastPMreading.Enabled = False Me.IncPMDue.Enabled = False Me.PMIncTaskNo.Enabled = False Me.PMIncTaskDesc.Enabled = False Me.Time.Enabled = False Me.TimeBased.Enabled = False Else Me.IncFreq.Enabled = True Me.IncPMDue.Enabled = True Me.PMIncTaskNo.Enabled = True Me.PMIncTaskDesc.Enabled = True Me.PMIncTaskDesc.Locked = True Me.Lowerlimit.Enabled = False Me.UpperLimit.Enabled = False Me.PMLowTaskNo.Enabled = False Me.PMLowTaskDesc.Enabled = False Me.PMUppTaskNo.Enabled = False Me.PMUppTaskDesc.Enabled = False Me.TimeBased.Enabled = True If Me.TimeBased = -1 Then Me.Time.Enabled = True End If End If End Sub Private Sub PMIncTaskNo_AfterUpdate() If IsNull(Me.PMIncTaskNo) Then Me.PMIncTaskNo = IncPMTaskVal Exit Sub End If End Sub Private Sub PMLowTaskNo_AfterUpdate() If IsNull(Me.PMLowTaskNo) Then MsgBox "Fecha requerida en este Campo.", vbCritical Me.PMLowTaskNo = lowtaskVal Me.PMLowTaskNo.SetFocus Exit Sub End If End Sub Private Sub PMUppTaskNo_AfterUpdate() If IsNull(Me.PMUppTaskNo) Then MsgBox "Fecha requerida en este Campo.", vbCritical Me.PMUppTaskNo = upptaskVal Me.PMUppTaskNo.SetFocus Exit Sub

Page 296: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

296

End If End Sub Private Sub PMWOTrade_AfterUpdate() If IsNull(Me.PMWOTrade) Then MsgBox "Fecha requerida en este Campo.", vbCritical Me.PMWOTrade = PMWOTradeVal Me.PMWOTrade.SetFocus End If End Sub Private Sub StartMeterReading_AfterUpdate() Me.LastPMreading = Me.StartMeterReading End Sub Private Sub TarStartDate_AfterUpdate() If Trim(TarStartDate) <> "" Or Not IsNull(TarStartDate) Then Me.TarCompDate = [TarStartDate] + [WorkPeriodDays] - 1 Me.NextDate = [TarCompDate] + [FreqDays] End If End Sub Private Sub Time_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error GoTo ErrorHandler If Me.calCtl1.Visible = True Then Me.calCtl1.Visible = False ErrorHandler: If err.Number <> 0 Then Me.TarStartDate.SetFocus If Me.calCtl1.Visible = True Then Me.calCtl1.Visible = False End If End Sub Private Sub TimeBased_AfterUpdate() If Me.TimeBased = True Then Me.Time.Enabled = True If IsNull(Me.StartDate) Then Me.StartDate.Value = ServerdateQuery() Else Me.Time.Enabled = False End If End Sub Private Sub UpperLimit_AfterUpdate() If IsNull(Me.UpperLimit) Then MsgBox "Fecha requerida en este Campo.", vbCritical Me.UpperLimit = upplimVal Me.UpperLimit.SetFocus Exit Sub End If End Sub Private Sub WorkPeriodDays_AfterUpdate() If Trim(TarStartDate) <> "" Or Not IsNull(TarStartDate) Then 'If Not IsNull(Me.StartDate) Then ' Me.TarStartDate = [StartDate] + [FreqDays] 'End If Me.TarCompDate = [TarStartDate] + [WorkPeriodDays] - 1 Me.NextDate = [TarCompDate] + [FreqDays] End If End Sub

Page 297: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

297

Formulario Lecturas de Medidores

Figura 36. – Formulario Lecturas de medidores. Este formulario muestra los valores de los medidores del sistema. Seleccionando el

Número de medidor en la casilla identificada como “No. De medidor”, ubicada en la parte

superior izquierda del formulario, se muestran todos los demas campos de información

correspondientes al medidor seleccionado. Estos campos son: “Descripción del medidor”,

“Fecha de lectura”, “Lectura actual”, “ID de equipo”, “Valor mínimo”, “Valor máximo”, “Lectura

inicial”, “Efectuar cada”, “Última lectura”, “ Próximo MP en”, “Fecha próximo MP” y “Frecuencia”.

El campo “Lectura actual” se utiliza para introducir un nuevo valor de la lectura que se tiene del

medidor para actualizar los datos del mismo al presionar el botón “Guardar”. El formulario tiene

dos áreas adicionales para mostrar la información de los medidores. La primera de ellas

muestra el historial de los registros de todos los medidores del sistema mientras que la

segunda, ubicada en la parte inferior del formulario, muestra el historial del medidor

seleccionado. El botón “Ver MP a crear” abre un formulario que muestra la lista de ordenes de

mantenimiento preventivo que se pueden generar, dando la opción al usuario de crearlas o no.

El código de programa para este formulario es el siguiente:

Page 298: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

298

Option Explicit '******************************* ' Lectura de Medidores '******************************* Private Sub Command10_Click() On Error GoTo Err_Command10_Click DoCmd.Close acForm, Me.Name Exit_Command10_Click: Exit Sub Err_Command10_Click: MsgBox err.Description Resume Exit_Command10_Click End Sub Private Sub Command11_Click() Dim response Dim rsdup As DAO.Recordset Dim rsreading As DAO.Recordset If IsNull(Me.MeterNo) Then MsgBox "No de Medidor no puede ser nulo", vbInformation DoCmd.GoToControl "meterno" ElseIf IsNull(Me.DateReading) Then MsgBox "Fecha de lectura no puede ser nula", vbInformation DoCmd.GoToControl "Date" ElseIf ((Me.MeterType = 2) And (IsNull(Me.Reading) Or Me.Reading = 0)) Then MsgBox "Lectura actual no puede ser nula o cero", vbInformation DoCmd.GoToControl "Reading" ElseIf Me.MeterType = 2 And CDbl(Me.Reading.Value) < CDbl(Me.StartMeter.Value) Then MsgBox "Lectura Actual no puede ser menor a la Última lectura", vbInformation DoCmd.GoToControl "Reading" ElseIf CDate(Me.DateReading) > ServerdateQuery() Then MsgBox "Fecha de Lectura no puede ser mayor a la fecha actual", vbInformation DoCmd.GoToControl "DateReading" Else Set dbSICAM = CurrentDb() 'Verificación de lecturas duplicadas que necesitan generar un número mas alto Set rsdup = dbSICAM.OpenRecordset("Readings") Do While Not rsdup.EOF If rsdup![MeterNo] = Me.MeterNo And rsdup![genstatus] = "Yes" And rsdup![Reading] < val(Me.Reading) Then rsdup.Edit rsdup![genstatus] = "No" rsdup.Update End If rsdup.MoveNext Loop rsdup.Close If MsgBox("Desea grabar el registro ?", vbYesNo + vbInformation + vbDefaultButton2, "Grabar") = vbYes Then Set rsreading = dbSICAM.OpenRecordset("Readings") With rsreading .AddNew ![MeterNo] = Me.MeterNo ![Reading] = Me.Reading

Page 299: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

299

![LastReading] = Me.LastReading ![LastPMDue] = Me.PMIncDue ![PMActive] = Me.MeterNo.Column(17) ![Date] = Me.DateReading ![Enterdate] = CDate(Format(ServerdateQuery(), "short date")) 'Format(Date, "dd-mm-yyyy") If Me.MeterType = "1" Then If (Me.Reading < val(Me.LowLimit) Or Me.Reading > val(Me.UppLimit)) And Me.MeterNo.Column(17) = -1 Then ![genstatus] = "Yes" ![MeterDescription] = Me.MeterDescription & " (Last Reading : " & Me.Reading.Value & " )" Else ![genstatus] = "No" End If End If If Me.MeterType = "2" Then If Me.MeterNo.Column(15) = "Yes" Then Call upTSD ![MeterDescription] = Me.MeterDescription & " (Time Based : " & Me.DateReading.Value & " )" 'MtrRead = "Time Based : " & Me.DateReading.Value If Me.MeterNo.Column(17) = -1 Then ![genstatus] = "Yes" Else ![genstatus] = "No" End If ElseIf Me.Reading >= val(Me.PMIncDue) And Me.MeterNo.Column(17) = -1 Then 'Si Reading > PM debido a time based activo, el sistema editara el TSD actual ![MeterDescription] = Me.MeterDescription & " (Last Reading : " & Me.Reading.Value & " )" If Me.MeterNo.Column(18) = -1 Then 'MtrRead = "Last Reading : " & Me.LastReading.Value Call upTSD End If ![genstatus] = "Yes" Else ![genstatus] = "No" End If dbSICAM.Execute "UPDATE PMMeters SET PMMeters.LastPMreading = " & Me.Reading & " " & _ "WHERE PMMeters.MeterNo='" & Me.MeterNo & "';" End If .Update .Close End With 'Call MeterReading Refresh Me.MeterNo = Null Me.MeterDescription = Null Me.Reading = 0 Me.DateReading = Null Me.AssetNo = Null Me.AssDesc = Null Me.MeterType = Null Me.MeterTypeDesc = Null Me.LowLimit = 0 Me.UppLimit = 0 Me.StartMeter = 0 Me.Frequency = 0 Me.LastReading = 0 Me.PMIncDue = 0

Page 300: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

300

Me.nxdate = Null Me.Freq = 0 Else DoCmd.GoToControl "MeterNo" End If End If End Sub Private Sub Command60_Click() Me.calCtl1.Visible = True Me.calCtl1.Value = Date End Sub Private Sub DateReading_AfterUpdate() Dim nowdate As Date nowdate = ServerdateQuery() If CDate(Me.DateReading) > nowdate Then MsgBox "Fecha de Lectura no puede ser mayor a la fecha actual", vbInformation Me.DateReading.SetFocus Me.DateReading = Null End If End Sub Private Sub Detail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error GoTo ErrorHandler If Me.calCtl1.Visible = True Then Me.calCtl1.Visible = False ErrorHandler: If err.Number <> 0 Then Me.DateReading.SetFocus If Me.calCtl1.Visible = True Then Me.calCtl1.Visible = False End If End Sub Private Sub Form_Activate() DoCmd.Restore End Sub Private Sub Form_Deactivate() DoCmd.Minimize End Sub Private Sub Form_Load() contarreg Me.List.ListCount, Me.List1.ListCount End Sub Private Sub MeterNo_AfterUpdate() Call MeterReading Me.MeterDescription = Me.MeterNo.Column(1) Me.MeterType = Me.MeterNo.Column(8) Me.AssetNo = Me.MeterNo.Column(2) Me.AssDesc = Me.MeterNo.Column(12) Me.DateReading = CDate(Format(ServerdateQuery(), "short date")) Me.Reading.SetFocus If Me.MeterType = 1 Then Me.LowLimit.Locked = True Me.UppLimit.Locked = True Me.LowLimit = Me.MeterNo.Column(3) Me.UppLimit = Me.MeterNo.Column(4)

Page 301: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

301

Me.StartMeter = 0 Me.Frequency = 0 Me.LastReading = 0 Me.PMIncDue = 0 Else Me.StartMeter.Locked = True Me.Frequency.Locked = True Me.LastReading.Locked = True Me.PMIncDue.Locked = True Me.StartMeter = Me.MeterNo.Column(5) Me.Frequency = Me.MeterNo.Column(6) Me.LastReading = Me.MeterNo.Column(10) Me.PMIncDue = Me.MeterNo.Column(11) Me.nxdate = Me.MeterNo.Column(13) Me.Freq = Me.MeterNo.Column(14) Me.LowLimit = 0 Me.UppLimit = 0 End If Me.MeterTypeDesc = Me.MeterNo.Column(9) Call MeterReading End Sub Private Sub MeterReading() Dim ReadingList ReadingList = "SELECT Date AS [Fecha / hora de lectura],MeterNo as [No de medidor], Reading as [Lectura Actual], " & _ "LastReading as [Lectura anterior], GenStatus as [Genera MP], yesno.Description as [Tarea en servicio],GenDate as [Fecha de generación] " & _ "FROM Readings INNER JOIN [yesno] ON Readings.PMActive = yesno.Num WHERE MeterNo='" & Me.MeterNo & "' ORDER BY Date DESC , Reading DESC;" Me.List1.RowSource = ReadingList Me.List1.ColumnCount = 7 Me.List1.ColumnHeads = True Me.List1.ColumnWidths = "4 cm; 3 cm; 3 cm; 3 cm; 3 cm; 3 cm; 3 cm" contarreg Me.List.ListCount, Me.List1.ListCount 'ORDER BY Readings.MeterNo; End Sub Private Sub Command42_Click() On Error GoTo Err_Command42_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "MPMGenForm" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Command42_Click: Exit Sub Err_Command42_Click: MsgBox err.Description Resume Exit_Command42_Click End Sub Function contarreg(aa As Integer, bb As Integer)

Page 302: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

302

Call CountRecord(Me.ListRec, List) Call CountRecord(Me.ListRec1, List1) End Function Private Sub calCtl1_Click() Me.DateReading = Me.calCtl1.Value Me.DateReading.SetFocus Me.calCtl1.Visible = False End Sub Private Sub upTSD() Dim rsMet As DAO.Recordset Dim freqcy As Integer Set rsMet = dbSICAM.OpenRecordset("SELECT * FROM PMMeters WHERE MeterNo='" & Me.MeterNo & "'") With rsMet .Edit freqcy = ![FreqUnits] * ![Frequency] ![TargetStartDate] = DateAdd("d", freqcy, ![TargetStartDate]) ![TargetCompDate] = ![TargetStartDate] + ![PeriodDays] - 1 ![NextDate] = ![TargetCompDate] + freqcy .Update .Close End With End Sub

Formulario Lista de Instrucciones Figura 37 – Formulario Lista de instrucciones Este formulario muestra la lista de los códigos de instrucción del sistema. Seleccionando

uno de los registros de la lista y haciendo “doble click” se abrirá el formulario “Instrucción

actual” que muestra el procedimiento detallado del código de instrucción. El botón “Ordenar A-

Page 303: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

303

>Z” permite ordenar la lista de registro de manera ascendente o descendente. La información

que se despliega en pantalla se puede filtrar seleccionando una de las casillas ubicadas en la

parte inferior del formulario identificadas como “Código de instrucción”, “Horas estimadas” y

“Descripción de instrucción”, colocando la información solicitada en la casilla en blanco y

presionando el botón “Buscar”. El botón “Ver todo” se utiliza para mostrar nuevamente todos los

registros de la lista si antes se ha hecho una búsqueda de información utilizando uno de los

filtros mencionados. El botón “Nueva instrucción” abre el formulario “Instrucción nueva” que

permite al usuario crear un nuevo código de instrucción con sus respectivo procedimiento y

tiempo estimado.

Figura No. 38 – Formulario Instrucción actual. Figura 39. – Formulario Instrucción nueva.

Page 304: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

304

Los códigos de programa de estos formularios son los siguientes: '******************************* ' ' Lista de Instrucciones de MP ' '******************************* Option Explicit Dim sel, Sortby As String Private Sub Command16_Click() If Me.Select = 1 Then sel = "[ChecklistNo] ='" & Me.Input & "'" ElseIf Me.Select = 2 Then sel = "[ChecklistName] like '" & Me.Input & "*'" ElseIf Me.Select = 3 Then sel = "EstimatedLaborHours like '" & Me.Input & "*'" End If Dim PMCListForm As String PMCListForm = "SELECT ChecklistNo as [Código de instrucción], ChecklistName as [Descripción de instrucción], EstimatedLaborHours as [Horas estimadas] " & _ "FROM [PMChecklist] WHERE " & sel & " ;" Me.List.RowSource = PMCListForm Me.List.ColumnCount = 3 Me.List.ColumnHeads = True Me.List.ColumnWidths = "5 cm; 9 cm; 3 cm" Call contarreg End Sub Private Sub Command17_Click() Call vertodo End Sub Private Sub Form_Activate() DoCmd.Restore Call contarreg Refresh End Sub Private Sub Form_Deactivate() DoCmd.Minimize End Sub Private Sub Form_Open(Cancel As Integer) Call vertodo End Sub Private Sub vertodo() Dim PMCListForm As String PMCListForm = "SELECT ChecklistNo as [Código de instrucción], ChecklistName as [Descripción de instrucción], EstimatedLaborHours as [Horas estimadas] " & _ "FROM [PMChecklist];" Me.List.RowSource = PMCListForm Me.List.ColumnCount = 3 Me.List.ColumnHeads = True Me.List.ColumnWidths = "5 cm; 9 cm; 3 cm" Call contarreg

Page 305: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

305

End Sub Private Sub Command2_Click() On Error GoTo Err_Command2_Click Dim stLinkCriteria As String DoCmd.OpenForm "MPListaVerifNuevaForm", , , stLinkCriteria Exit_Command2_Click: Exit Sub Err_Command2_Click: MsgBox err.Description Resume Exit_Command2_Click End Sub Private Sub Command3_Click() On Error GoTo Err_Command3_Click DoCmd.Close acForm, Me.Name Exit_Command3_Click: Exit Sub Err_Command3_Click: MsgBox err.Description Resume Exit_Command3_Click End Sub Private Sub List_DblClick(Cancel As Integer) If IsNull(Me.List.Column(0)) Then MsgBox "Seleccione un registro", vbInformation, "SICAM" Else DoCmd.OpenForm "ActMPListaverifForm", , , "[ChecklistNo]=" & "'" & Me.List.Column(0) & "'" End If End Sub Private Sub SortB1_Click() If Me.SortB1.Caption = "Ordenar A->Z" Then If Me.Select = 1 Then Sortby = "ORDER BY ChecklistNo ASC" ElseIf Me.Select = 2 Then Sortby = "ORDER BY ChecklistName ASC" ElseIf Me.Select = 3 Then Sortby = "ORDER BY EstimatedLaborHours ASC" End If Me.SortB1.Caption = "Ordenar Z->A" Else If Me.Select = 1 Then Sortby = "ORDER BY ChecklistNo DESC" ElseIf Me.Select = 2 Then Sortby = "ORDER BY ChecklistName DESC" ElseIf Me.Select = 3 Then Sortby = "ORDER BY EstimatedLaborHours DESC" End If Me.SortB1.Caption = "Ordenar A->Z" End If Call Sort End Sub Public Sub Sort() Dim PMCListForm As String PMCListForm = "SELECT ChecklistNo as [Código de instrucción],

Page 306: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

306

ChecklistName as [Descripción de instrucción], EstimatedLaborHours as [Horas estimadas] " & _ "FROM [PMChecklist] " & Sortby & ";" Me.List.RowSource = PMCListForm Me.List.ColumnCount = 3 Me.List.ColumnHeads = True Me.List.ColumnWidths = "5 cm; 9 cm; 3 cm" Call contarreg End Sub Private Sub contarreg() Call CountRecord(Me.ListRec, List) End Sub '*************************************************** ' ' Registro Actual de Lista de Instrucciones de MP ' '*************************************************** Option Compare Database Private Sub Command17_Click() On Error GoTo Err_Command17_Click If IsNull(Me.EstimatedLaborHours) Or Trim(Me.EstimatedLaborHours.Value) = "" Then MsgBox "Introduzca datos al campo", vbInformation Me.EstimatedLaborHours.SetFocus Exit Sub End If If Me.Dirty Then If MsgBox("Desea grabar el registro?", vbInformation + vbYesNo, "Grabar") = vbNo Then DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70 End If End If DoCmd.Close acForm, Me.Name Exit_Command17_Click: Exit Sub Err_Command17_Click: MsgBox err.Description Resume Exit_Command17_Click End Sub '************************************************ ' ' Lista de Instrucciones MP / Nueva Instrucción ' '************************************************ Option Explicit Private Sub cheklistNo_AfterUpdate() Dim rstask As DAO.Recordset Set dbSICAM = CurrentDb() Set rstask = dbSICAM.OpenRecordset("PMChecklist") Do While Not rstask.EOF If UCase(rstask!ChecklistNo) = UCase(Me.cheklistNo) Then

Page 307: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

307

MsgBox "No de Tarea ya existente", vbInformation Me.cheklistNo = Null Me.cheklistNo.SetFocus End If rstask.MoveNext Loop rstask.Close End Sub Private Sub Save_Click() Dim response Dim rsPMC As DAO.Recordset Dim stLinkCriteria As String If IsNull(Me.cheklistNo) Then MsgBox "Introduzca los datos al campo", vbInformation DoCmd.GoToControl "cheklistNo" ElseIf IsNull(Me.ChecklistName) Then MsgBox "Introduzca los datos al campo", vbInformation DoCmd.GoToControl "CheckListName" ElseIf IsNull(Me.EstimatedLaborHours) Or Trim(Me.EstimatedLaborHours.Value) = "" Then MsgBox "Introduzca los datos al campo", vbInformation Me.EstimatedLaborHours.SetFocus Else response = MsgBox("Desea grabar el registro?", vbYesNo + vbInformation + vbDefaultButton2, "Grabar") If response = vbYes Then Set dbSICAM = CurrentDb() Set rsPMC = dbSICAM.OpenRecordset("PMChecklist") With rsPMC .AddNew ![ChecklistNo] = Me.cheklistNo ![ChecklistName] = Me.ChecklistName ![Tasks] = Me.Task ![EstimatedLaborHours] = Me.EstimatedLaborHours .Update .Close End With DoCmd.Close acForm, Me.Name DoCmd.OpenForm "MPListaVerifNuevaForm", , , stLinkCriteria Else Me.cheklistNo.SetFocus End If End If End Sub Private Sub Command17_Click() On Error GoTo Err_Command17_Click DoCmd.Close acForm, Me.Name Exit_Command17_Click: Exit Sub Err_Command17_Click: MsgBox err.Description Resume Exit_Command17_Click End Sub

Page 308: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

308

Formulario Generación de OT de MP Figura 40. – Formulario Generación de OT de MP. Este formulario se utiliza para generar las ordenes de trabajo de mantenimiento

preventivo. El mismo muestra la última fecha de generación de las ordenes de mantenimiento y

el último rango de fechas de la generación. El formulario tiene dos casillas para colocar un

nuevo intervalo para generar nuevas ordenes de trabajo de mantenimiento preventivo. La

primera casilla coloca la fecha inmediata posterior a la última fecha del último rango de

generación; la segunda casilla premite colocar una nueva fecha para asi poder acceder a la

proyección de los mantenimientos preventivos en ese rango por medio del botón “Proyección de

MP”. En la parte central del formulario se muestran los mantenimientos preventivos proyectados

con sus correspondientes fechas de inicio y fin de las actividades. En el área inferior del

formulario se muestran los mantenimientos preventivos proyectados si éstos estan basados en

una programación flotante. El botón “Generar OT’s” se utiliza para crear las nuevas ordenes de

trabajo de mantenimiento preventivo en el último rango seleccionado que ya han sido

inspeccionadas en las áreas central e inferior del formulario. El código de programa de este

formulario es el siguiente:

Page 309: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

309

'******************* ' ' Generación de MP ' '******************* Option Compare Database Dim sel, WONo As String Dim Totrec As Integer Dim firstDay As Date Dim tempDay As Date Dim lastDay As Date Dim PMDate As Date Dim zMonth As Integer Dim zYear As Integer Dim targetYear As Integer Dim targetMonth As Integer Dim Dayno As Integer Dim zDay As Integer Private Sub Command40_Click() ' Para Ver MP antes de generarlo If IsNull(Me.date1) Or IsNull(Me.date2) Then MsgBox "Indique el rango de fechas para ver las Ordenes Preventivas", vbInformation Me.date2.SetFocus Exit Sub End If If Me.date2 < Me.date1 Then MsgBox "Segunda Fecha debe ser mayor a la Fecha inicial", vbInformation, "SICAM" Me.date2 = Null DoCmd.GoToControl "date2" Exit Sub End If Dim show Set dbSICAM = CurrentDb() dbSICAM.Execute "DELETE * FROM [PMSchTemp];" dbSICAM.Execute "DELETE * FROM [PMGenTemp];" dbSICAM.Execute "DELETE * FROM [MultiplePMTemp];" Dim sqlqSch As String Dim sqlqMulti As String sqlqSch = "SELECT PMNo,PMName,AssetNo,PhyLocationNo,ChecklistNo,PeriodDays,NextSchComp,WorkTypeID,FreqUnits,Frequency,FrqNo, " & _ "StartDate,TargetStartDate,TargetCompDate,ActualCompDate,NextDate,TypePMgen,TypePM,PMCounter,PMMultiple,PMActive,PMWOTrade,WeekofMonth,DayofWeek " & _ "FROM pmschedule;" sqlqMulti = "SELECT MPmID,MPMNo,MDescription,MTaskNo,MSeq,MCount,MStartDate,MStartDateCount,MTaskSeq,MScount,MPMCounter,WeekofMonth,DayofWeek " & _ " FROM multiplepm;" dbSICAM.Execute "INSERT INTO [PMSchTemp] " + sqlqSch dbSICAM.Execute "INSERT INTO [MultiplePMTemp] " + sqlqMulti Dim Task As String Dim rsPMGenTemp As DAO.Recordset Dim rsPMMschTemp As DAO.Recordset Set rsPMGenTemp = dbSICAM.OpenRecordset("PMGenTemp")

Page 310: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

310

Set rsPMschTemp = dbSICAM.OpenRecordset("PMSchTemp") Me.lblProgress.Visible = True DoEvents Do While Not rsPMschTemp.EOF ' loop#1 Me.PmProgress.Visible = True Me.BoxPBar.Visible = True DoEvents Me.PmProgress.Value = rsPMschTemp.PercentPosition If rsPMschTemp![TypePMgen] = "1" And rsPMschTemp![PMActive] = -1 Then 'type of PM (schedule) if#1 Do While rsPMschTemp![TargetStartDate] >= Me.date1 And rsPMschTemp![TargetStartDate] <= Me.date2 Task = rsPMschTemp![ChecklistNo] Set rsPMMulti = dbSICAM.OpenRecordset("MultiplePMTemp") If rsPMschTemp![PMMultiple] = True Then Do While Not rsPMMulti.EOF If rsPMMulti![MPMNo] = rsPMschTemp![PMNo] Then If rsPMschTemp![PMCounter] = 1 Or rsPMMulti![MPMCounter] = 1 Then rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MStartDateCount] rsPMMulti.Update End If If rsPMMulti![MSCount] = rsPMschTemp![PMCounter] Then Task = rsPMMulti![MTaskNo] rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MSCount] + rsPMMulti![MSeq] rsPMMulti![MPMCounter] = rsPMMulti![MPMCounter] + 1 rsPMMulti.Update End If End If rsPMMulti.MoveNext Loop rsPMMulti.Close End If With rsPMGenTemp .AddNew ![PMNo] = rsPMschTemp![PMNo] ![PMName] = rsPMschTemp![PMName] ![TypePMgen] = rsPMschTemp![TypePMgen] ![AssetNo] = rsPMschTemp![AssetNo] ![PhyLocationNo] = rsPMschTemp![PhyLocationNo] ![ChecklistNo] = Task ![StartDate] = rsPMschTemp![StartDate] ![PMCounter] = rsPMschTemp![PMCounter] ![PeriodDays] = rsPMschTemp![PeriodDays] ![Frequency] = rsPMschTemp![Frequency] ![TargetStartDate] = rsPMschTemp![TargetStartDate] ![TargetCompDate] = rsPMschTemp![TargetCompDate] ![NextDate] = rsPMschTemp![NextDate] ![PMWOTrade] = rsPMschTemp![PMWOTrade] .Update End With

Page 311: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

311

With rsPMschTemp .Edit ![PMCounter] = rsPMschTemp![PMCounter] + 1 ![TargetStartDate] = rsPMschTemp![NextDate] ![TargetCompDate] = rsPMschTemp![TargetStartDate] + rsPMschTemp![PeriodDays] - 1 ![NextDate] = rsPMschTemp![TargetStartDate] + (rsPMschTemp![Frequency] * rsPMschTemp![FreqUnits]) .Update End With 'rsPMschTemp.MoveNext Loop ElseIf rsPMschTemp![TypePMgen] = "2" And rsPMschTemp![PMActive] = -1 Then ' View PM based on Actual Comp Date if#1 Dim ActualCond ActualCond = IIf(rsPMschTemp![PMCounter] = 1, rsPMschTemp![TargetStartDate] <= Me.date2, rsPMschTemp![ActualCompDate] <> "" And rsPMschTemp![NextDate] <= Me.date2) If ActualCond Then Task = rsPMschTemp![ChecklistNo] 'Copy from PM Schedule to PMSchTemp Set rsPMMulti = dbSICAM.OpenRecordset("MultiplePMTemp") If rsPMschTemp![PMMultiple] = True Then Do While Not rsPMMulti.EOF If rsPMMulti![MPMNo] = rsPMschTemp![PMNo] Then If rsPMschTemp![PMCounter] = 1 Or rsPMMulti![MPMCounter] = 1 Then rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MStartDateCount] rsPMMulti.Update End If If rsPMMulti![MSCount] = rsPMschTemp![PMCounter] Then Task = rsPMMulti![MTaskNo] rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MSCount] + rsPMMulti![MSeq] rsPMMulti![MPMCounter] = rsPMMulti![MPMCounter] + 1 rsPMMulti.Update End If End If rsPMMulti.MoveNext Loop rsPMMulti.Close End If If IsNull(rsPMschTemp![ActualCompDate]) Then If rsPMschTemp![PMCounter] = 1 Then ' Orden de Trabajo de Mantenimiento Preven tivo por primera vez With rsPMGenTemp .AddNew ![PMNo] = rsPMschTemp![PMNo] ![PMName] = rsPMschTemp![PMName] ![TypePMgen] = rsPMschTemp![TypePMgen] ![AssetNo] = rsPMschTemp![AssetNo] ![PhyLocationNo] = rsPMschTemp![PhyLocationNo] ![ChecklistNo] = Task ![StartDate] = rsPMschTemp![StartDate] ![PMCounter] = rsPMschTemp![PMCounter]

Page 312: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

312

![PeriodDays] = rsPMschTemp![PeriodDays] ![Frequency] = rsPMschTemp![Frequency] ![TargetStartDate] = rsPMschTemp![TargetStartDate] ![TargetCompDate] = rsPMschTemp![TargetCompDate] ![PMWOTrade] = rsPMschTemp![PMWOTrade] .Update End With With rsPMschTemp .Edit ![PMCounter] = rsPMschTemp![PMCounter] + 1 .Update End With End If Else 'Se generará el MP cuando se indique la fecha de Fin With rsPMschTemp .Edit ![TargetStartDate] = rsPMschTemp![NextDate] ![TargetCompDate] = rsPMschTemp![TargetStartDate] + rsPMschTemp![PeriodDays] - 1 .Update End With With rsPMGenTemp .AddNew ![PMNo] = rsPMschTemp![PMNo] ![PMName] = rsPMschTemp![PMName] ![TypePMgen] = rsPMschTemp![TypePMgen] ![AssetNo] = rsPMschTemp![AssetNo] ![PhyLocationNo] = rsPMschTemp![PhyLocationNo] ![ChecklistNo] = Task ![StartDate] = rsPMschTemp![StartDate] ![PMCounter] = rsPMschTemp![PMCounter] ![PeriodDays] = rsPMschTemp![PeriodDays] ![Frequency] = rsPMschTemp![Frequency] ![TargetStartDate] = rsPMschTemp![TargetStartDate] ![TargetCompDate] = rsPMschTemp![TargetCompDate] ![PMWOTrade] = rsPMschTemp![PMWOTrade] .Update End With With rsPMschTemp .Edit ![PMCounter] = rsPMschTemp![PMCounter] + 1 .Update End With End If End If ElseIf rsPMschTemp![TypePMgen] = "3" And rsPMschTemp![PMActive] = -1 Then Do While rsPMschTemp![TargetStartDate] >= Me.date1 And rsPMschTemp![TargetStartDate] <= Me.date2 Task = rsPMschTemp![ChecklistNo] Set rsPMMulti = dbSICAM.OpenRecordset("MultiplePMTemp") If rsPMschTemp![PMMultiple] = True Then Do While Not rsPMMulti.EOF If rsPMMulti![MPMNo] = rsPMschTemp![PMNo] Then

Page 313: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

313

If rsPMschTemp![PMCounter] = 1 Or rsPMMulti![MPMCounter] = 1 Then rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MStartDateCount] rsPMMulti.Update End If If rsPMMulti![MSCount] = rsPMschTemp![PMCounter] Then Task = rsPMMulti![MTaskNo] rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MSCount] + rsPMMulti![MSeq] rsPMMulti![MPMCounter] = rsPMMulti![MPMCounter] + 1 rsPMMulti.Update End If End If rsPMMulti.MoveNext Loop rsPMMulti.Close End If With rsPMGenTemp .AddNew ![PMNo] = rsPMschTemp![PMNo] ![PMName] = rsPMschTemp![PMName] ![TypePMgen] = rsPMschTemp![TypePMgen] ![AssetNo] = rsPMschTemp![AssetNo] ![PhyLocationNo] = rsPMschTemp![PhyLocationNo] ![ChecklistNo] = Task ![StartDate] = rsPMschTemp![StartDate] ![PMCounter] = rsPMschTemp![PMCounter] ![PeriodDays] = rsPMschTemp![PeriodDays] ![Frequency] = rsPMschTemp![Frequency] ![TargetStartDate] = rsPMschTemp![TargetStartDate] ![TargetCompDate] = rsPMschTemp![TargetCompDate] ![NextDate] = rsPMschTemp![NextDate] ![PMWOTrade] = rsPMschTemp![PMWOTrade] ![WeekofMonth] = rsPMschTemp![WeekofMonth] ![DayofWeek] = rsPMschTemp![DayofWeek] .Update End With 'change here' With rsPMschTemp .Edit ![PMCounter] = rsPMschTemp![PMCounter] + 1 ![TargetStartDate] = rsPMschTemp![NextDate] ![TargetCompDate] = rsPMschTemp![TargetStartDate] + rsPMschTemp![PeriodDays] - 1 zMonth = Month(rsPMschTemp![NextDate]) + rsPMschTemp![Frequency] zYear = Year(rsPMschTemp![NextDate]) Dayno = rsPMschTemp![DayofWeek] getNextDate (rsPMschTemp![WeekofMonth]) ![NextDate] = PMDate .Update End With 'rsPMschTemp.MoveNext Loop ElseIf rsPMschTemp![TypePMgen] = "4" And rsPMschTemp![PMActive] = -1 Then zDay = Day(rsPMschTemp![TargetStartDate]) Do While rsPMschTemp![TargetStartDate] >= Me.date1 And rsPMschTemp![TargetStartDate] <= Me.date2 Task = rsPMschTemp![ChecklistNo]

Page 314: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

314

Set rsPMMulti = dbSICAM.OpenRecordset("MultiplePMTemp") If rsPMschTemp![PMMultiple] = True Then Do While Not rsPMMulti.EOF If rsPMMulti![MPMNo] = rsPMschTemp![PMNo] Then If rsPMschTemp![PMCounter] = 1 Or rsPMMulti![MPMCounter] = 1 Then rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MStartDateCount] rsPMMulti.Update End If If rsPMMulti![MSCount] = rsPMschTemp![PMCounter] Then Task = rsPMMulti![MTaskNo] rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MSCount] + rsPMMulti![MSeq] rsPMMulti![MPMCounter] = rsPMMulti![MPMCounter] + 1 rsPMMulti.Update End If End If rsPMMulti.MoveNext Loop rsPMMulti.Close End If With rsPMGenTemp .AddNew ![PMNo] = rsPMschTemp![PMNo] ![PMName] = rsPMschTemp![PMName] ![TypePMgen] = rsPMschTemp![TypePMgen] ![AssetNo] = rsPMschTemp![AssetNo] ![PhyLocationNo] = rsPMschTemp![PhyLocationNo] ![ChecklistNo] = Task ![StartDate] = rsPMschTemp![StartDate] ![PMCounter] = rsPMschTemp![PMCounter] ![PeriodDays] = rsPMschTemp![PeriodDays] ![Frequency] = rsPMschTemp![Frequency] ![TargetStartDate] = rsPMschTemp![TargetStartDate] ![TargetCompDate] = rsPMschTemp![TargetCompDate] ![NextDate] = rsPMschTemp![NextDate] ![PMWOTrade] = rsPMschTemp![PMWOTrade] ![WeekofMonth] = rsPMschTemp![WeekofMonth] ![DayofWeek] = rsPMschTemp![DayofWeek] .Update End With 'Modificar aqui With rsPMschTemp .Edit ![PMCounter] = rsPMschTemp![PMCounter] + 1 ![TargetStartDate] = rsPMschTemp![NextDate] ![TargetCompDate] = rsPMschTemp![TargetStartDate] + rsPMschTemp![PeriodDays] - 1 PMDate = DateAdd("m", CDbl(rsPMschTemp![Frequency]), rsPMschTemp![TargetStartDate]) ![NextDate] = PMDate .Update End With Loop ElseIf rsPMschTemp![TypePMgen] = "5" And rsPMschTemp![PMActive] = -1 Then 'has been added after the changes to monthly schedule zDay = Day(rsPMschTemp![TargetStartDate]) Do While rsPMschTemp![TargetStartDate] >= Me.date1 And

Page 315: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

315

rsPMschTemp![TargetStartDate] <= Me.date2 Task = rsPMschTemp![ChecklistNo] Set rsPMMulti = dbSICAM.OpenRecordset("MultiplePMTemp") If rsPMschTemp![PMMultiple] = True Then Do While Not rsPMMulti.EOF If rsPMMulti![MPMNo] = rsPMschTemp![PMNo] Then If rsPMschTemp![PMCounter] = 1 Or rsPMMulti![MPMCounter] = 1 Then rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MStartDateCount] rsPMMulti.Update End If If rsPMMulti![MSCount] = rsPMschTemp![PMCounter] Then Task = rsPMMulti![MTaskNo] rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MSCount] + rsPMMulti![MSeq] rsPMMulti![MPMCounter] = rsPMMulti![MPMCounter] + 1 rsPMMulti.Update End If End If rsPMMulti.MoveNext Loop rsPMMulti.Close End If With rsPMGenTemp .AddNew ![PMNo] = rsPMschTemp![PMNo] ![PMName] = rsPMschTemp![PMName] ![TypePMgen] = rsPMschTemp![TypePMgen] ![AssetNo] = rsPMschTemp![AssetNo] ![PhyLocationNo] = rsPMschTemp![PhyLocationNo] ![ChecklistNo] = Task ![StartDate] = rsPMschTemp![StartDate] ![PMCounter] = rsPMschTemp![PMCounter] ![PeriodDays] = rsPMschTemp![PeriodDays] ![Frequency] = rsPMschTemp![Frequency] ![TargetStartDate] = rsPMschTemp![TargetStartDate] ![TargetCompDate] = rsPMschTemp![TargetCompDate] ![NextDate] = rsPMschTemp![NextDate] ![PMWOTrade] = rsPMschTemp![PMWOTrade] ![WeekofMonth] = rsPMschTemp![WeekofMonth] ![DayofWeek] = rsPMschTemp![DayofWeek] .Update End With 'Modificar aqui' With rsPMschTemp .Edit ![PMCounter] = rsPMschTemp![PMCounter] + 1 ![TargetStartDate] = rsPMschTemp![NextDate] ![TargetCompDate] = DateAdd("m", 1, rsPMschTemp![TargetStartDate]) - 1 PMDate = DateAdd("m", CDbl(rsPMschTemp![Frequency]), rsPMschTemp![TargetStartDate]) ![NextDate] = PMDate .Update End With Loop End If 'if No.1

Page 316: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

316

rsPMschTemp.MoveNext Loop 'Loop No.1 Me.PmProgress.Value = 100 rsPMGenTemp.Close rsPMschTemp.Close ' A continuación los script que muestran el Programa de MP Dim PMSList1, PMSList2 As String 'Ver MP TipoGen =1 PMSList = "SELECT PMNo as [No de tarea], PMName as [Descripción de tarea], ChecklistNo as [Código de instrucción], " & _ "AssetNo as [No de equipo], PhyLocationNo as [Ubicación],StartDate as [Fecha de inicio], " & _ "TargetStartdate as [Fecha programada de inicio], TargetCompDate as [Fecha programada de término], NextDate as [Próxima fecha / Ejecución] " & _ "FROM PMGenTemp WHERE TypePMGen In('1','3','4','5');" Me.List.RowSource = PMSList Me.List.ColumnCount = 10 Me.List.ColumnHeads = True Me.List.ColumnWidths = "3 cm; 8 cm; 4 cm; 3 cm; 3 cm; 3 cm; 5 cm; 5 cm; 5 cm" 'Ver MP TipoGen=2 (por Fecha de Fin Actual) PMSList2 = "SELECT PMNo as [No de tarea], PMName as [Descripción de tarea], ChecklistNo as [Código de instrucción], " & _ "AssetNo as [No de equipo], PhyLocationNo as [Ubicación],StartDate as [Fecha de Inicio], " & _ "TargetStartdate as [Fecha Programada de Inicio], TargetCompDate as [Fecha programada de término], NextDate as [Próxima fecha / Ejecución] " & _ "FROM PMGenTemp WHERE TypePMGen = '2';" Me.List1.RowSource = PMSList2 Me.List1.ColumnCount = 10 Me.List1.ColumnHeads = True Me.List1.ColumnWidths = "3 cm; 8 cm; 4 cm; 3 cm; 3 cm; 3 cm; 5 cm; 6 cm; 5 cm" contarreg Me.List.ListCount, Me.List1.ListCount Dim pmview As DAO.Recordset Set pmview = dbSICAM.OpenRecordset("SELECT * From PMGenTemp") If pmview.RecordCount <> 0 Then Me.Command47.Enabled = True Me.Command70.Enabled = True End If Me.lblProgress.Visible = False Me.PmProgress.Visible = False Me.BoxPBar.Visible = False End Sub Private Sub Command47_Click() ' Siguiente procedimiento se usa para generar el MP y la OT de MP Set dbSICAM = CurrentDb() dbSICAM.Execute "DELETE * FROM [PMGenerate];" 'Comprobar que la OT no sea nula Set rswono = dbSICAM.OpenRecordset("SELECT * From workorders") If rswono.RecordCount <> 0 Then

Page 317: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

317

rswono.MoveLast If IsNull(rswono![WorkorderNo]) Then MsgBox "Error durante la generación de Ots," & Chr(13) _ & "Ultimo registro de la tabla Ordenes de Trabajo esta vacío.", vbInformation Exit Sub End If End If rswono.Close Me.Label78.Visible = True Me.PBar.Value = 0 Me.PBar.Max = 100 Me.PBar.Visible = True Me.BoxPBar.Visible = True DoEvents 'Verificar si el Equipo y Ubicación existen Set rsassgen = dbSICAM.OpenRecordset("PMGenTemp") Do While Not rsassgen.EOF If Not IsNull(rsassgen!AssetNo) Then Set rsAssNo = dbSICAM.OpenRecordset("Select * FROM Assets WHERE AssetNumber='" & rsassgen!AssetNo & "'") If rsAssNo.RecordCount = 0 Then MsgBox "Error durante la generación de Ots, " & Chr(13) _ & "No de equipo : " & rsassgen!AssetNo & " no existe en la tabla de Equipos. ", vbInformation Me.Label78.Visible = False Me.PBar.Value = 0 Me.PBar.Visible = False Me.BoxPBar.Visible = False rsAssNo.Close Exit Sub End If ElseIf Not IsNull(rsassgen!PhyLocationNo) Then Set rsLocNo = dbSICAM.OpenRecordset("Select * FROM Location WHERE LocationNo='" & rsassgen!PhyLocationNo & "'") If rsLocNo.RecordCount = 0 Then MsgBox "Error durante la generación de Ots, " & Chr(13) _ & "No de Ubicación : " & rsassgen!PhyLocationNo & " no existe en la tabla Maestra de Ubicaciones. ", vbInformation Me.Label78.Visible = False Me.PBar.Value = 0 Me.PBar.Visible = False Me.BoxPBar.Visible = False rsLocNo.Close Exit Sub End If Else MsgBox "Error durante la generación de Ots, " & Chr(13) _ & "No de Equipo y No de Ubicación no existen.", vbInformation Me.Label78.Visible = False Me.PBar.Value = 0 Me.PBar.Visible = False Me.BoxPBar.Visible = False Exit Sub End If Me.PBar.Value = rsassgen.PercentPosition rsassgen.MoveNext Loop rsassgen.Close Me.Label78.Visible = False

Page 318: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

318

Me.PBar.Value = 0 Me.BoxPBar.Visible = False Me.PBar.Visible = False Dim ActCompDate, disp If Not MsgBox("No se podrán generar OT´s anteriores a " & Me.date2.Value & " después de la generación. Esta seguro que desea proceder?", vbQuestion + vbYesNo, "SICAM") = vbYes Then Exit Sub Set rspmgen = dbSICAM.OpenRecordset("PMGenerate") Set rspmsch = dbSICAM.OpenRecordset("PMSchedule") Me.lblProgress.Visible = True Me.PmProgress.Visible = True Me.BoxPBar.Visible = True DoEvents 'identificación el tipo de generación de MP, 1 - por programación; 2 - por Fecha actual de Fin Do While Not rspmsch.EOF Me.PmProgress.Value = rspmsch.PercentPosition If rspmsch![TypePMgen] = "1" And rspmsch![PMActive] = -1 Then Do While rspmsch![TargetStartDate] >= Me.date1 And rspmsch![TargetStartDate] <= Me.date2 Task = rspmsch![ChecklistNo] Set rsPMMulti = dbSICAM.OpenRecordset("MultiplePM") If rspmsch![PMMultiple] = True Then ' Check for Multiple Task Do While Not rsPMMulti.EOF If rsPMMulti![MPMNo] = rspmsch![PMNo] Then If rspmsch![PMCounter] = 1 Or rsPMMulti![MPMCounter] = 1 Then rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MStartDateCount] rsPMMulti.Update End If If rsPMMulti![MSCount] = rspmsch![PMCounter] Then Task = rsPMMulti![MTaskNo] rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MSCount] + rsPMMulti![MSeq] rsPMMulti![MPMCounter] = rsPMMulti![MPMCounter] + 1 rsPMMulti.Update End If End If rsPMMulti.MoveNext Loop rsPMMulti.Close End If With rspmgen .AddNew ![PMNo] = rspmsch![PMNo] ![PMName] = rspmsch![PMName] ![TypePMgen] = rspmsch![TypePMgen] ![TypePM] = rspmsch![TypePM] ![PhyLocationNo] = rspmsch![PhyLocationNo] ![AssetNo] = rspmsch![AssetNo]

Page 319: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

319

![ChecklistNo] = Task ![StartDate] = rspmsch![StartDate] ![PMCounter] = rspmsch![PMCounter] ![PeriodDays] = rspmsch![PeriodDays] ![Frequency] = rspmsch![Frequency] ![TargetStartDate] = rspmsch![TargetStartDate] ![TargetCompDate] = rspmsch![TargetCompDate] ![NextDate] = rspmsch![NextDate] ![PMWOTrade] = rspmsch![PMWOTrade] .Update End With With rspmsch .Edit ![PMCounter] = rspmsch![PMCounter] + 1 ![TargetStartDate] = rspmsch![NextDate] ![TargetCompDate] = rspmsch![TargetStartDate] + rspmsch![PeriodDays] - 1 ![NextDate] = rspmsch![TargetStartDate] + (rspmsch![Frequency] * rspmsch![FreqUnits]) .Update End With Loop ElseIf rspmsch![TypePMgen] = "2" And rspmsch![PMActive] = -1 Then 'Generación de MP basada en la fecha de Fin Dim ActualCond ActualCond = IIf(rspmsch![PMCounter] = 1, rspmsch![TargetStartDate] <= Me.date2, rspmsch![ActualCompDate] <> "" And rspmsch![NextDate] <= Me.date2) If ActualCond Then Task = rspmsch![ChecklistNo] 'Generación de Multiple MP Set rsPMMulti = dbSICAM.OpenRecordset("MultiplePM") If rspmsch![PMMultiple] = True Then ' Check for Multiple Task Do While Not rsPMMulti.EOF If rsPMMulti![MPMNo] = rspmsch![PMNo] Then If rspmsch![PMCounter] = 1 Or rsPMMulti![MPMCounter] = 1 Then rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MStartDateCount] rsPMMulti.Update End If If rsPMMulti![MSCount] = rspmsch![PMCounter] Then Task = rsPMMulti![MTaskNo] rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MSCount] + rsPMMulti![MSeq] rsPMMulti![MPMCounter] = rsPMMulti![MPMCounter] + 1 rsPMMulti.Update End If End If rsPMMulti.MoveNext Loop rsPMMulti.Close End If

Page 320: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

320

'Actualizar la el Programa de MP con la fecha actual If IsNull(rspmsch![ActualCompDate]) Then If rspmsch![PMCounter] = 1 Then With rspmgen .AddNew ![PMNo] = rspmsch![PMNo] ![PMName] = rspmsch![PMName] ![ChecklistNo] = Task ![TypePMgen] = rspmsch![TypePMgen] ![AssetNo] = rspmsch![AssetNo] ![PhyLocationNo] = rspmsch![PhyLocationNo] ![StartDate] = rspmsch![StartDate] ![PMCounter] = rspmsch![PMCounter] ![PeriodDays] = rspmsch![PeriodDays] ![Frequency] = rspmsch![Frequency] ![TargetStartDate] = rspmsch![TargetStartDate] ![TargetCompDate] = rspmsch![TargetCompDate] ![ActualCompDate] = rspmsch![ActualCompDate] ![TypePM] = rspmsch![TypePM] ![PMWOTrade] = rspmsch![PMWOTrade] .Update End With With rspmsch .Edit ![PMCounter] = rspmsch![PMCounter] + 1 .Update End With End If Else With rspmsch .Edit ![TargetStartDate] = rspmsch![NextDate] ![TargetCompDate] = rspmsch![TargetStartDate] + rspmsch![PeriodDays] - 1 ![ActualCompDate] = Null .Update End With With rspmgen .AddNew ![PMNo] = rspmsch![PMNo] ![PMName] = rspmsch![PMName] ![ChecklistNo] = Task ![TypePMgen] = rspmsch![TypePMgen] ![AssetNo] = rspmsch![AssetNo] ![PhyLocationNo] = rspmsch![PhyLocationNo] ![StartDate] = rspmsch![StartDate] ![PMCounter] = rspmsch![PMCounter] ![PeriodDays] = rspmsch![PeriodDays] ![Frequency] = rspmsch![Frequency] ![TargetStartDate] = rspmsch![TargetStartDate] ![TargetCompDate] = rspmsch![TargetCompDate] ![ActualCompDate] = rspmsch![ActualCompDate] ![TypePM] = rspmsch![TypePM] ![PMWOTrade] = rspmsch![PMWOTrade] .Update End With With rspmsch .Edit ![PMCounter] = rspmsch![PMCounter] + 1 .Update End With

Page 321: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

321

End If End If ElseIf rspmsch![TypePMgen] = "3" And rspmsch![PMActive] = -1 Then Do While rspmsch![TargetStartDate] >= Me.date1 And rspmsch![TargetStartDate] <= Me.date2 Task = rspmsch![ChecklistNo] Set rsPMMulti = dbSICAM.OpenRecordset("MultiplePM") If rspmsch![PMMultiple] = True Then ' Verificar Tareas Multiples Do While Not rsPMMulti.EOF If rsPMMulti![MPMNo] = rspmsch![PMNo] Then If rspmsch![PMCounter] = 1 Or rsPMMulti![MPMCounter] = 1 Then rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MStartDateCount] rsPMMulti.Update End If If rsPMMulti![MSCount] = rspmsch![PMCounter] Then Task = rsPMMulti![MTaskNo] rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MSCount] + rsPMMulti![MSeq] rsPMMulti![MPMCounter] = rsPMMulti![MPMCounter] + 1 rsPMMulti.Update End If End If rsPMMulti.MoveNext Loop rsPMMulti.Close End If With rspmgen .AddNew ![PMNo] = rspmsch![PMNo] ![PMName] = rspmsch![PMName] ![TypePMgen] = rspmsch![TypePMgen] ![TypePM] = rspmsch![TypePM] ![PhyLocationNo] = rspmsch![PhyLocationNo] ![AssetNo] = rspmsch![AssetNo] ![ChecklistNo] = Task ![StartDate] = rspmsch![StartDate] ![PMCounter] = rspmsch![PMCounter] ![PeriodDays] = rspmsch![PeriodDays] ![Frequency] = rspmsch![Frequency] ![TargetStartDate] = rspmsch![TargetStartDate] ![TargetCompDate] = rspmsch![TargetCompDate] ![NextDate] = rspmsch![NextDate] ![PMWOTrade] = rspmsch![PMWOTrade] ![TargetStartDate] = rspmsch![TargetStartDate] ![TargetCompDate] = rspmsch![TargetCompDate] .Update End With With rspmsch .Edit ![PMCounter] = rspmsch![PMCounter] + 1 ![TargetStartDate] = rspmsch![NextDate] ![TargetCompDate] = rspmsch![TargetStartDate] + rspmsch![PeriodDays] - 1 zMonth = Month(rspmsch![NextDate]) + rspmsch![Frequency]

Page 322: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

322

zYear = Year(rspmsch![NextDate]) Dayno = rspmsch![DayofWeek] getNextDate (rspmsch![WeekofMonth]) ![NextDate] = PMDate .Update End With Loop ElseIf rspmsch![TypePMgen] = "4" And rspmsch![PMActive] = -1 Then zDay = Day(rspmsch![TargetStartDate]) Do While rspmsch![TargetStartDate] >= Me.date1 And rspmsch![TargetStartDate] <= Me.date2 Task = rspmsch![ChecklistNo] Set rsPMMulti = dbSICAM.OpenRecordset("MultiplePM") If rspmsch![PMMultiple] = True Then ' Verificar Multiples Tareas Do While Not rsPMMulti.EOF If rsPMMulti![MPMNo] = rspmsch![PMNo] Then If rspmsch![PMCounter] = 1 Or rsPMMulti![MPMCounter] = 1 Then rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MStartDateCount] rsPMMulti.Update End If If rsPMMulti![MSCount] = rspmsch![PMCounter] Then Task = rsPMMulti![MTaskNo] rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MSCount] + rsPMMulti![MSeq] rsPMMulti![MPMCounter] = rsPMMulti![MPMCounter] + 1 rsPMMulti.Update End If End If rsPMMulti.MoveNext Loop rsPMMulti.Close End If With rspmgen .AddNew ![PMNo] = rspmsch![PMNo] ![PMName] = rspmsch![PMName] ![TypePMgen] = rspmsch![TypePMgen] ![TypePM] = rspmsch![TypePM] ![PhyLocationNo] = rspmsch![PhyLocationNo] ![AssetNo] = rspmsch![AssetNo] ![ChecklistNo] = Task ![StartDate] = rspmsch![StartDate] ![PMCounter] = rspmsch![PMCounter] ![PeriodDays] = rspmsch![PeriodDays] ![Frequency] = rspmsch![Frequency] ![TargetStartDate] = rspmsch![TargetStartDate] ![TargetCompDate] = rspmsch![TargetCompDate] ![NextDate] = rspmsch![NextDate] ![PMWOTrade] = rspmsch![PMWOTrade] ![TargetStartDate] = rspmsch![TargetStartDate] ![TargetCompDate] = rspmsch![TargetCompDate] ![PMWOraise] = -1 .Update End With

Page 323: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

323

With rspmsch .Edit ![PMCounter] = rspmsch![PMCounter] + 1 ![TargetStartDate] = rspmsch![NextDate] ![TargetCompDate] = rspmsch![TargetStartDate] + rspmsch![PeriodDays] - 1 PMDate = DateAdd("m", CDbl(rspmsch![Frequency]), rspmsch![TargetStartDate]) ![NextDate] = PMDate .Update End With Loop ElseIf rspmsch![TypePMgen] = "5" And rspmsch![PMActive] = -1 Then 'has been added after the changes to monthly schedule zDay = Day(rspmsch![TargetStartDate]) Do While rspmsch![TargetStartDate] >= Me.date1 And rspmsch![TargetStartDate] <= Me.date2 Task = rspmsch![ChecklistNo] Set rsPMMulti = dbSICAM.OpenRecordset("MultiplePM") If rspmsch![PMMultiple] = True Then ' Check for Multiple Task Do While Not rsPMMulti.EOF If rsPMMulti![MPMNo] = rspmsch![PMNo] Then If rspmsch![PMCounter] = 1 Or rsPMMulti![MPMCounter] = 1 Then rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MStartDateCount] rsPMMulti.Update End If If rsPMMulti![MSCount] = rspmsch![PMCounter] Then Task = rsPMMulti![MTaskNo] rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MSCount] + rsPMMulti![MSeq] rsPMMulti![MPMCounter] = rsPMMulti![MPMCounter] + 1 rsPMMulti.Update End If End If rsPMMulti.MoveNext Loop rsPMMulti.Close End If With rspmgen .AddNew ![PMNo] = rspmsch![PMNo] ![PMName] = rspmsch![PMName] ![TypePMgen] = rspmsch![TypePMgen] ![TypePM] = rspmsch![TypePM] ![PhyLocationNo] = rspmsch![PhyLocationNo] ![AssetNo] = rspmsch![AssetNo] ![ChecklistNo] = Task ![StartDate] = rspmsch![StartDate] ![PMCounter] = rspmsch![PMCounter] ![PeriodDays] = rspmsch![PeriodDays] ![Frequency] = rspmsch![Frequency] ![TargetStartDate] = rspmsch![TargetStartDate] ![TargetCompDate] = rspmsch![TargetCompDate] ![NextDate] = rspmsch![NextDate]

Page 324: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

324

![PMWOTrade] = rspmsch![PMWOTrade] ![TargetStartDate] = rspmsch![TargetStartDate] ![TargetCompDate] = rspmsch![TargetCompDate] ![PMWOraise] = -1 .Update End With With rspmsch .Edit ![PMCounter] = rspmsch![PMCounter] + 1 ![TargetStartDate] = rspmsch![NextDate] ![TargetCompDate] = DateAdd("m", 1, rspmsch![TargetStartDate]) - 1 PMDate = DateAdd("m", CDbl(rspmsch![Frequency]), rspmsch![TargetStartDate]) ![NextDate] = PMDate .Update End With Loop End If rspmsch.MoveNext Loop Me.PmProgress.Value = 100 rspmgen.Close rspmsch.Close 'Generar la OT de MP 'Call WOPM 'Ver todas las OT de MP que ya han sido generadas Dim PMSList1, PMSList2 As String PMSList1 = "SELECT PMNo as [No de tarea], PMName as [Descripción de tarea], PMWONo as [No de OT], PMWOraise as [OT generada], ChecklistNo as [Código de instrucción], " & _ "AssetNo as [No de equipo], PhyLocationNo as [Ubicación],StartDate as [Fecha de Inicio], " & _ "TargetStartdate as [Fecha Programada de Inicio], TargetCompDate as [Fecha programada de término], NextDate as [Próxima fecha / Ejecución] " & _ "FROM PMGenerate WHERE TypePMGen In('1','3','4','5');" Me.List.RowSource = PMSList1 Me.List.ColumnCount = 12 Me.List.ColumnHeads = True Me.List.ColumnWidths = "3 cm; 8 cm; 4 cm; 3 cm; 5 cm; 3 cm; 3 cm; 3 cm; 5 cm; 5 cm; 5 cm" PMSList2 = "SELECT PMNo as [No de tarea], PMName as [Descripción de tarea], PMWONo as [No de OT ], PMWOraise as [OT generada], " & _ "ChecklistNo as [Código de instrucción], AssetNo as [No de equipo], PhyLocationNo as [Ubicación], StartDate as [Fecha de Inicio], " & _ "TargetStartdate as [Fecha Programada de Inicio], TargetCompDate as [Fecha programada de término], NextDate as [Próxima fecha / Ejecución] " & _ "FROM PMGenerate WHERE TypePMGen = '2';" Me.List1.RowSource = PMSList2 Me.List1.ColumnCount = 12 Me.List1.ColumnHeads = True Me.List1.ColumnWidths = "3 cm; 8 cm; 4 cm; 3 cm; 5 cm; 3 cm; 3 cm; 3 cm; 5 cm; 6 cm; 5 cm" contarreg Me.List.ListCount, Me.List1.ListCount

Page 325: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

325

' Generar OT de MP Call WOPM 'Copiar fecha del rango a la tabla PMGenDate para bloquear la fecha de generación Set rsPMGenDate = dbSICAM.OpenRecordset("PMGenDates") With rsPMGenDate .AddNew ![FromDate] = Me.date1 ![ToDate] = Me.date2 ![DateGenerate] = Date .Update End With rsPMGenDate.Close DoCmd.GoToControl "Command19" Me.Command47.Enabled = False Me.Command63.Enabled = True Me.lblProgress.Visible = False Me.PmProgress.Visible = False Me.BoxPBar.Visible = False End Sub Private Sub Command63_Click() Dim stDocName, pmwono1, pmwono2 As String Dim stLinkCriteria As String Set dbSICAM = CurrentDb() Set rspmgent = dbSICAM.OpenRecordset("SELECT * From PMGenerate") If rspmgent.RecordCount <> 0 Then rspmgent.MoveFirst pmwono1 = rspmgent![PMWONo] rspmgent.MoveLast pmwono2 = rspmgent![PMWONo] stDocName = "ImpOT1" stLinkCriteria = "[workorderno] between " & "'" & pmwono1 & "'" & " and " & "'" & pmwono2 & "'" DoCmd.OpenReport stDocName, acViewPreview, , stLinkCriteria Else MsgBox "No existen Ordenes de Trabajo preventivas a imprimir", vbInformation End If rspmgent.Close End Sub Private Sub Command70_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim rsTemp As DAO.Recordset Dim sqlq As String Dim x1 As Object Dim result Dim strFileName As String On Error GoTo ExcelError Set x1 = CreateObject("Excel.Application") strFileName = Application.CurrentProject.Path + "\MPListaProyecc.xls"

Page 326: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

326

Set db = CurrentDb Set rs = db.OpenRecordset("PMForecastTbl") db.Execute "Delete * From PMForecastTbl;" db.Execute "INSERT INTO PMForecastTbl ( Asset, PMNo, TaskNo, PMFrequency, TargetStartDate, TargetCompDate, NextDate ) " & _ "SELECT IIf(IsNull([pmgentemp].[assetno]),[pmgentemp].[PhyLocationNo] & ' (' & [location].[LocationDescription] & ')', " & _ "[pmgentemp].[AssetNo] & ' (' & [assets].[assetDescription] & ')') AS AssLoc, [PMGenTemp].[PMNo] & ' (' & [PMGenTemp].[PMName] & ')' AS PMNo, " & _ "PMGenTemp.ChecklistNo AS TaskNo, [PMSchTemp].[FreqUnits]*[PMSchTemp].[Frequency] AS PMFrequency, PMGenTemp.TargetStartDate, PMGenTemp.TargetCompDate, " & _ "PMGenTemp.NextDate " & _ "FROM (((PMGenTemp LEFT JOIN PMSchTemp ON PMGenTemp.PMNo = PMSchTemp.PMNo) LEFT JOIN Assets ON PMGenTemp.AssetNo = Assets.AssetNumber) LEFT JOIN PMChecklist ON PMGenTemp.ChecklistNo = PMChecklist.ChecklistNo) LEFT JOIN location ON PMGenTemp.PhyLocationNo = location.LocationNo;" DoCmd.TransferSpreadsheet acExport, 8, "PMForecastTbl", strFileName, True x1.Workbooks.Open strFileName x1.ActiveWorkbook.RefreshAll x1.ActiveWorkbook.Save x1.Worksheets("Sheet1").Activate x1.Visible = True Set x1 = Nothing Exit Sub ExcelError: MsgBox err.Description, vbExclamation End Sub Private Sub Command71_Click() Me.calCtl1.Visible = True Me.calCtl1.Value = Me.date1 End Sub Private Sub Date2_AfterUpdate() If Me.date2 < Me.date1 Then MsgBox "Segunda Fecha debe ser mayor a Fecha inicial", vbInformation, "SICAM" Me.date2 = Null DoCmd.GoToControl "date2" End If End Sub Private Sub Detail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error GoTo ErrorHandler If Me.calCtl1.Visible = True Then Me.calCtl1.Visible = False ErrorHandler: If err.Number <> 0 Then Me.date2.SetFocus If Me.calCtl1.Visible = True Then Me.calCtl1.Visible = False End If End Sub

Page 327: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

327

Private Sub Form_Open(Cancel As Integer) Me.Command47.Enabled = False Me.Command70.Enabled = False Set dbSICAM = CurrentDb() Set rsPMGenDate = dbSICAM.OpenRecordset("SELECT * From PMGenDates") If rsPMGenDate.RecordCount <> 0 Then rsPMGenDate.MoveLast Me.LastPmGenDate = rsPMGenDate![DateGenerate] Me.LastPMDate1 = rsPMGenDate![FromDate] Me.LastPMDate2 = rsPMGenDate![ToDate] Me.date1 = rsPMGenDate![ToDate] + 1 End If rsPMGenDate.Close If IsNull(Me.LastPMDate2) Then Me.date1.Locked = False End If End Sub Private Sub Command19_Click() On Error GoTo Err_Command19_Click DoCmd.Close acForm, Me.Name Exit_Command19_Click: Exit Sub Err_Command19_Click: MsgBox err.Description Resume Exit_Command19_Click End Sub Private Sub GenWOno() Set dbSICAM = CurrentDb() Set rsworder = dbSICAM.OpenRecordset("SELECT * From Workorders Order By WorkorderNo ASC") If rsworder.RecordCount = 0 Then WONo = "0000000001" Else rsworder.MoveLast WONo = Right("0000000000" & CStr(val(Right(rsworder!WorkorderNo, 10) + 1)), 10) End If rsworder.Close End Sub Private Sub WOPM() Set dbSICAM = CurrentDb() Set rsWopm = dbSICAM.OpenRecordset("Workorders") Set rspmgen = dbSICAM.OpenRecordset("PMGenerate") Me.PBar.Value = 0 Me.PBar.Max = 100 Do While Not rspmgen.EOF Call GenWOno With rsWopm .AddNew ![WorkorderNo] = WONo ![DateReceived] = CDate(Format(ServerdateQuery(), "short date")) ![ProblemDescription] = rspmgen![PMName] ![PMTarStartDate] = rspmgen![TargetStartDate] ![PMTarCompDate] = rspmgen![TargetCompDate] ![PMType] = "1"

Page 328: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

328

![WorkType] = 2 ![WorkStatus] = 1 ![WorkPriority] = 1 ![WOTrade] = rspmgen![PMWOTrade] ![PMNo] = rspmgen![PMNo] ![TaskNo] = rspmgen![ChecklistNo] If rspmgen![TypePM] = 1 Then Set rsAssetLoc = dbSICAM.OpenRecordset("SELECT LocationNo From Assets Where AssetNumber = '" & rspmgen![AssetNo] & "'") ![AssetNo] = rspmgen![AssetNo] ![LocationNo] = rsAssetLoc![LocationNo] rsAssetLoc.Close Else ![LocationNo] = rspmgen![PhyLocationNo] End If .Update End With rspmgen.Edit rspmgen![PMWONo] = WONo rspmgen![PMWOraise] = True rspmgen.Update Me.PmProgress = rspmgen.PercentPosition rspmgen.MoveNext Loop rspmgen.Close rsWopm.Close End Sub Function contarreg(aa As Integer, bb As Integer) Call CountRecord(Me.ListRec, List) Call CountRecord(Me.ListRec1, List1) End Function Sub GetDayofPM(weeksDay) If weeksDay > Dayno Then PMDate = tempDay - weeksDay + Dayno - _ IIf(weeksDay > Dayno, 0, 7) Else If weeksDay < Dayno Then PMDate = tempDay - weeksDay + Dayno + _ IIf(weeksDay < Dayno, 0, 7) Else PMDate = tempDay End If End If End Sub Sub GetPMDayLast(weeksDay) If weeksDay <> Dayno Then PMDate = tempDay - weeksDay + Dayno - _ IIf(weeksDay > Dayno, 0, 7) Else PMDate = tempDay End If End Sub Sub GetPMDayStart(weeksDay) If weeksDay <> Dayno Then PMDate = tempDay - weeksDay + Dayno + _ IIf(weeksDay < Dayno, 0, 7) Else PMDate = tempDay

Page 329: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

329

End If End Sub Sub getNextDate(cboWeeks) If zMonth > 12 Then zYear = zYear + 1 zMonth = zMonth - 12 End If Select Case cboWeeks Case 0 firstDay = DateSerial(zYear, zMonth, 1) tempDay = firstDay GetPMDayStart (Weekday(firstDay)) Case 1, 2, 3 firstDay = DateSerial(zYear, zMonth, 1) tempDay = DateAdd("ww", cboWeeks, firstDay) GetDayofPM (Weekday(tempDay)) Case 4 lastDay = DateSerial(zYear, zMonth + 1, 0) tempDay = lastDay GetPMDayLast (Weekday(lastDay)) End Select End Sub Private Sub calCtl1_Click() Me.date2 = Me.calCtl1.Value Me.date2.SetFocus Me.calCtl1.Visible = False End Sub

Formulario Horas de mano de obra distribuidas en mantenimientos preventivos. Figura 41. – Formulario Horas de mano de obra distribuidas en mantenimiento preventivo. Este formularios muestra como se distribuyen las actividades de mantenimiento

Page 330: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

330

preventivo semanalmente durante un año específico que el usuario puede introducir en la casilla

superior identificada como “Año” y luego presionando la tecla “Vista Preliminar”. Este formulario

puede ayudar a redistribuir mejor las actividades de mantenimiento en caso de que sea

necesario, por ejemplo, en el caso de que existan semanas cuya carga de trabajo sea alta y

existan actividades que no sean críticas. El formulario muestra la carga de trabajo en horas por

semana. Cada columna del formulario representa la semana del año y el número dentro de

cada casilla representa las horas planificadas para labores de mantenimiento preventivo. El

código de programa para este formulario es el siguiente:

'*********************** ' ' Horas de MP semanales ' '************************ Option Explicit Dim firstDay As Date Dim tempDay As Date Dim lastDay As Date Dim PMDate As Date Dim zMonth As Integer Dim zYear As Integer Dim targetYear As Integer Dim targetMonth As Integer Dim Dayno As Integer Dim zDay As Integer Dim MyYear As String Private Sub Command13_Click() On Error GoTo Err_Command13_Click DoCmd.Close acForm, Me.Name Exit_Command13_Click: Exit Sub Err_Command13_Click: MsgBox err.Description Resume Exit_Command13_Click End Sub Private Sub Command19_Click() Dim i As Integer If IsNull(Me.TxtYear) Or Trim(Me.TxtYear) = "" Then MsgBox "Indique el año", vbInformation, "SICAM" Me.TxtYear.SetFocus Exit Sub End If MyYear = Me.TxtYear.Value Set dbSICAM = CurrentDb() dbSICAM.Execute "DELETE * FROM [PMScheduleTable];" dbSICAM.Execute "INSERT INTO PMScheduleTable ( PMTask,Month1,Month2,Description,AssetDesc, PhyLoc, Status, Color, StartDate, EndDate, [Year], PMFreq, PMFrequency, AstNo, LocNo )" & _ "SELECT pmchecklist.ChecklistNo, Format([PMTarStartDate],'ww'),pmchecklist.EstimatedLaborHours, IIf([AssetDesc]='-',[PhyLocDesc],[AssetDesc]) AS Description,IIf(IsNull([workorders].[assetno]),'-',[AssetDescription] & ' (' &

Page 331: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

331

[AssetNumber] & ') ' & '(PM No:' & [PMSchedule].[PMNo] & ') ' & '(Task No:' & [workorders].[taskNo] & ')') AS AssetDesc, " & _ "IIf(IsNull([workorders].[assetno]),[location].[locationDescription] & ' (' & [location].[LocationNo] & ')' & ' (PM No:' & [workorders].[PMNo] & ') ' & '(Task No:' & [workorders].[TaskNo] & ')','-') AS PhyLocDesc, " & _ "WorkStatus.WorkStatus AS Status, tblWOStatusLegend.Color, Workorders.PMTarStartDate AS [Start Date], Workorders.PMTarCompDate AS [End Date], Format([PMTarStartDate],'yyyy') AS Expr1, [frequnits]*[frequency] AS Freq, " & _ "IIf([Freq]=7,'W',IIf([freq]=28,'M',IIf([freq]=84,'Q',IIf([freq]=168,'H',IIf([freq]=336,'Y',[frequency]))))) AS PMFrequency, Assets.AssetNumber, Assets.LocationNo " & _ "FROM ((((Workorders INNER JOIN (WorkStatus INNER JOIN tblWOStatusLegend ON WorkStatus.WorkStatusID = tblWOStatusLegend.WOStatusID) ON Workorders.WorkStatus = tblWOStatusLegend.WOStatusID) " & _ "LEFT JOIN Assets ON Workorders.AssetNo = Assets.AssetNumber) " & _ "LEFT JOIN pmchecklist ON Workorders.TaskNo = pmchecklist.ChecklistNo) " & _ "LEFT JOIN pmschedule ON Workorders.PMNo = pmschedule.PMNo) " & _ "LEFT JOIN location ON Workorders.LocationNo = location.LocationNo " & _ "WHERE (((Format([PMTarStartDate],'yyyy'))='" & MyYear & "'));" Call GenSchedule dbSICAM.Execute "INSERT INTO PMScheduleTable ( PMTask,Month1,Month2,Description,AssetDesc, PhyLoc, WorkStatus, Color, [StartDate], [EndDate], [Year], PMFreq, PMFrequency, AstNo, LocNo, PhyLocationNo ) " & _ "SELECT pmchecklist.ChecklistNo, Format([start date],'ww'),pmchecklist.EstimatedLaborHours, IIf([AssetDesc]='-',[PhyLocDesc],[AssetDesc]) AS Description,IIf(IsNull([assetNo]),'-',[AssetDescription] & ' (' & [AssetNumber] & ')' & ' (PM No:' & PMgentemp.PMNo & ') ' & '(Task No:' & PMgentemp.ChecklistNo & ')') AS AssetDesc, " & _ "IIf(IsNull([PhylocationNo]),'-',[locationDescription] & ' (' & [PhyLocationNo] & ')' & ' (PM No:' & [PMgentemp].[PMNo] & ') ' & '(Task No:' & [PMgentemp].[ChecklistNo] & ')') AS PhyLocDesc, " & _ "'Schedule' AS Workstatus, 65535 AS Color, PMGenTemp.TargetStartDate AS [Start Date], PMGenTemp.TargetCompDate AS [End Date], Format([start date],'yyyy') AS [Year], [frequnits]*[frequency] AS Freq, " & _ "IIf([Freq]=7,'W',IIf([freq]=28,'M',IIf([freq]=84,'Q',IIf([freq]=168,'H',IIf([freq]=336,'Y',[FREQUENCY]& 'M'))))) AS PMFrequency, Assets.AssetNumber, Assets.LocationNo, PMGenTemp.PhyLocationNo " & _ "FROM ((PMGenTemp LEFT JOIN Assets ON PMGenTemp.AssetNo = Assets.AssetNumber) " & _ "LEFT JOIN pmchecklist ON PMGenTemp.ChecklistNo = pmchecklist.ChecklistNo) " & _ "LEFT JOIN location ON PMGenTemp.PhyLocationNo = location.LocationNo " & _ "WHERE year(PMGenTemp.TargetStartDate) = " + MyYear MyList.ListItems.Clear Dim rc As DAO.Recordset Set rc = dbSICAM.OpenRecordset("SELECT PMScheduleTable.Month1 as Week, Sum(PMScheduleTable.Month2) AS ManHours FROM PMScheduleTable GROUP BY PMScheduleTable.Month1 ORDER BY PMScheduleTable.Month1;") While Not rc.EOF If rc(0) = 1 Then MyList.ListItems.Add , , rc(1) ElseIf MyList.ListItems.Count = 0 Then MyList.ListItems.Add , , "" MyList.ListItems(MyList.ListItems.Count).SubItems(CInt(rc(0)) - 1) = rc(1) ' MyList.ListItems(MyList.ListItems.Count).SubItems(CInt(rc(0)) - 1) = rc(1) Else MyList.ListItems(MyList.ListItems.Count).SubItems(CInt(rc(0)) - 1) =

Page 332: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

332

rc(1) ' MyList.ListItems(MyList.ListItems.Count).SubItems(CInt(rc(0)) - 1) = rc(1) End If Me.PBar = rc.PercentPosition rc.MoveNext If MyList.ListItems(MyList.ListItems.Count) = "" Then MyList.ListItems(MyList.ListItems.Count) = 0 For i = 2 To 53 If MyList.ListItems(MyList.ListItems.Count).SubItems(i - 1) = "" Then MyList.ListItems(MyList.ListItems.Count).SubItems(i - 1) = 0 Next Wend Me.PBar = 0 rc.Close Set rc = Nothing MyList.SetFocus End Sub Private Sub GenSchedule() Dim rsPMschTemp As DAO.Recordset, rsPMGenDate, rsPMGenTemp, rsPMMulti As DAO.Recordset Dim daterange1, daterange2 As Date Dim Task, MFrequency, dt1 As String Dim FUnit As Integer Set dbSICAM = CurrentDb() Set rsPMGenDate = dbSICAM.OpenRecordset("SELECT * From PMGenDates") If rsPMGenDate.RecordCount <> 0 Then rsPMGenDate.MoveLast daterange1 = rsPMGenDate![ToDate] + 1 Else daterange1 = DateSerial(2002, 1, 1) End If daterange2 = DateSerial(CInt(MyYear), 12, 31) rsPMGenDate.Close dbSICAM.Execute "DELETE * FROM [PMSchTemp];" dbSICAM.Execute "DELETE * FROM [PMGenTemp];" dbSICAM.Execute "DELETE * FROM [MultiplePMTemp];" dbSICAM.Execute "INSERT INTO [PMSchTemp] SELECT * FROM [PMSchedule];" dbSICAM.Execute "INSERT INTO [MultiplePMTemp] SELECT * FROM [MultiplePM];" Set rsPMGenTemp = dbSICAM.OpenRecordset("PMGenTemp") Set rsPMschTemp = dbSICAM.OpenRecordset("PMSchTemp") Do While Not rsPMschTemp.EOF ' loop#1 If rsPMschTemp![TypePMgen] = "1" And rsPMschTemp![PMActive] = -1 Then 'tipo de MP (programado) si #1 Do While rsPMschTemp![TargetStartDate] >= daterange1 And rsPMschTemp![TargetStartDate] <= daterange2 Task = rsPMschTemp![ChecklistNo] MFrequency = rsPMschTemp![Frequency] FUnit = rsPMschTemp![FreqUnits] Set rsPMMulti = dbSICAM.OpenRecordset("MultiplePMTemp") If rsPMschTemp![PMMultiple] = True Then Do While Not rsPMMulti.EOF If rsPMMulti![MPMNo] = rsPMschTemp![PMNo] Then

Page 333: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

333

If rsPMschTemp![PMCounter] = 1 Or rsPMMulti![MPMCounter] = 1 Then rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MStartDateCount] rsPMMulti.Update End If If rsPMMulti![MSCount] = rsPMschTemp![PMCounter] Then Task = rsPMMulti![MTaskNo] FUnit = rsPMschTemp![FreqUnits] * rsPMschTemp![Frequency] MFrequency = rsPMMulti![MSeq] rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MSCount] + rsPMMulti![MSeq] rsPMMulti![MPMCounter] = rsPMMulti![MPMCounter] + 1 rsPMMulti.Update End If End If rsPMMulti.MoveNext Loop rsPMMulti.Close End If With rsPMGenTemp .AddNew ![PMNo] = rsPMschTemp![PMNo] ![PMName] = rsPMschTemp![PMName] ![TypePMgen] = rsPMschTemp![TypePMgen] ![AssetNo] = rsPMschTemp![AssetNo] ![PhyLocationNo] = rsPMschTemp![PhyLocationNo] ![ChecklistNo] = Task ![StartDate] = rsPMschTemp![StartDate] ![PMCounter] = rsPMschTemp![PMCounter] ![PeriodDays] = rsPMschTemp![PeriodDays] ![FreqUnits] = FUnit ![Frequency] = MFrequency ![TargetStartDate] = rsPMschTemp![TargetStartDate] ![TargetCompDate] = rsPMschTemp![TargetCompDate] ![NextDate] = rsPMschTemp![NextDate] ![PMWOTrade] = rsPMschTemp![PMWOTrade] .Update End With With rsPMschTemp .Edit ![PMCounter] = rsPMschTemp![PMCounter] + 1 ![TargetStartDate] = rsPMschTemp![NextDate] ![TargetCompDate] = rsPMschTemp![TargetStartDate] + rsPMschTemp![PeriodDays] - 1 ![NextDate] = rsPMschTemp![TargetStartDate] + (rsPMschTemp![Frequency] * rsPMschTemp![FreqUnits]) .Update End With Loop ElseIf rsPMschTemp![TypePMgen] = "2" And rsPMschTemp![PMActive] = -1 Then ' Ver MP basado en Fecha de termino actual (if#1) Dim ActualCond ActualCond = IIf(rsPMschTemp![PMCounter] = 1, rsPMschTemp![TargetStartDate] <= daterange2, rsPMschTemp![ActualCompDate] <> "" And rsPMschTemp![NextDate] <= daterange2) If ActualCond Then

Page 334: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

334

Task = rsPMschTemp![ChecklistNo] 'Copiar desde PM Schedule a PMSchTemp Set rsPMMulti = dbSICAM.OpenRecordset("MultiplePMTemp") If rsPMschTemp![PMMultiple] = True Then Do While Not rsPMMulti.EOF If rsPMMulti![MPMNo] = rsPMschTemp![PMNo] Then If rsPMschTemp![PMCounter] = 1 Or rsPMMulti![MPMCounter] = 1 Then rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MStartDateCount] rsPMMulti.Update End If If rsPMMulti![MSCount] = rsPMschTemp![PMCounter] Then Task = rsPMMulti![MTaskNo] rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MSCount] + rsPMMulti![MSeq] rsPMMulti![MPMCounter] = rsPMMulti![MPMCounter] + 1 rsPMMulti.Update End If End If rsPMMulti.MoveNext Loop rsPMMulti.Close End If If IsNull(rsPMschTemp![ActualCompDate]) Then If rsPMschTemp![PMCounter] = 1 Then ' Orden de trabajo de MP se generara por primera vez With rsPMGenTemp .AddNew ![PMNo] = rsPMschTemp![PMNo] ![PMName] = rsPMschTemp![PMName] ![TypePMgen] = rsPMschTemp![TypePMgen] ![AssetNo] = rsPMschTemp![AssetNo] ![PhyLocationNo] = rsPMschTemp![PhyLocationNo] ![ChecklistNo] = Task ![StartDate] = rsPMschTemp![StartDate] ![PMCounter] = rsPMschTemp![PMCounter] ![PeriodDays] = rsPMschTemp![PeriodDays] ![FreqUnits] = rsPMschTemp![FreqUnits] ![Frequency] = rsPMschTemp![Frequency] ![TargetStartDate] = rsPMschTemp![TargetStartDate] ![TargetCompDate] = rsPMschTemp![TargetCompDate] ![PMWOTrade] = rsPMschTemp![PMWOTrade] .Update End With With rsPMschTemp .Edit ![PMCounter] = rsPMschTemp![PMCounter] + 1 .Update End With End If Else 'Generación de MP se hará cuando se de la fecha de Fin Actual With rsPMschTemp

Page 335: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

335

.Edit ![TargetStartDate] = rsPMschTemp![NextDate] ![TargetCompDate] = rsPMschTemp![TargetStartDate] + rsPMschTemp![PeriodDays] - 1 .Update End With With rsPMGenTemp .AddNew ![PMNo] = rsPMschTemp![PMNo] ![PMName] = rsPMschTemp![PMName] ![TypePMgen] = rsPMschTemp![TypePMgen] ![AssetNo] = rsPMschTemp![AssetNo] ![PhyLocationNo] = rsPMschTemp![PhyLocationNo] ![ChecklistNo] = Task ![StartDate] = rsPMschTemp![StartDate] ![PMCounter] = rsPMschTemp![PMCounter] ![PeriodDays] = rsPMschTemp![PeriodDays] ![FreqUnits] = rsPMschTemp![FreqUnits] ![Frequency] = rsPMschTemp![Frequency] ![TargetStartDate] = rsPMschTemp![TargetStartDate] ![TargetCompDate] = rsPMschTemp![TargetCompDate] ![PMWOTrade] = rsPMschTemp![PMWOTrade] .Update End With With rsPMschTemp .Edit ![PMCounter] = rsPMschTemp![PMCounter] + 1 .Update End With End If End If ElseIf rsPMschTemp![TypePMgen] = "3" And rsPMschTemp![PMActive] = -1 Then Do While rsPMschTemp![TargetStartDate] >= daterange1 And rsPMschTemp![TargetStartDate] <= daterange2 Task = rsPMschTemp![ChecklistNo] 'MFrequency = rsPMschTemp![Frequency] 'MFrequency = rsPMschTemp![Frequency] 'FUnit = rsPMschTemp![FreqUnits] 'FUnit = rsPMschTemp![FreqUnits] Set rsPMMulti = dbSICAM.OpenRecordset("MultiplePMTemp") If rsPMschTemp![PMMultiple] = True Then Do While Not rsPMMulti.EOF If rsPMMulti![MPMNo] = rsPMschTemp![PMNo] Then If rsPMschTemp![PMCounter] = 1 Or rsPMMulti![MPMCounter] = 1 Then rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MStartDateCount] rsPMMulti.Update End If If rsPMMulti![MSCount] = rsPMschTemp![PMCounter] Then Task = rsPMMulti![MTaskNo] rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MSCount] + rsPMMulti![MSeq] rsPMMulti![MPMCounter] = rsPMMulti![MPMCounter] + 1 rsPMMulti.Update

Page 336: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

336

End If End If rsPMMulti.MoveNext Loop rsPMMulti.Close End If With rsPMGenTemp .AddNew ![PMNo] = rsPMschTemp![PMNo] ![PMName] = rsPMschTemp![PMName] ![TypePMgen] = rsPMschTemp![TypePMgen] ![AssetNo] = rsPMschTemp![AssetNo] ![PhyLocationNo] = rsPMschTemp![PhyLocationNo] ![ChecklistNo] = Task ![StartDate] = rsPMschTemp![StartDate] ![PMCounter] = rsPMschTemp![PMCounter] ![PeriodDays] = rsPMschTemp![PeriodDays] ![Frequency] = rsPMschTemp![Frequency] ![TargetStartDate] = rsPMschTemp![TargetStartDate] ![TargetCompDate] = rsPMschTemp![TargetCompDate] ![NextDate] = rsPMschTemp![NextDate] ![PMWOTrade] = rsPMschTemp![PMWOTrade] ![WeekofMonth] = rsPMschTemp![WeekofMonth] ![DayofWeek] = rsPMschTemp![DayofWeek] .Update End With 'cambiar aqui' With rsPMschTemp .Edit ![PMCounter] = rsPMschTemp![PMCounter] + 1 ![TargetStartDate] = rsPMschTemp![NextDate] ![TargetCompDate] = rsPMschTemp![TargetStartDate] + rsPMschTemp![PeriodDays] - 1 zMonth = Month(rsPMschTemp![NextDate]) + rsPMschTemp![Frequency] zYear = Format(CDate(rsPMschTemp![NextDate]), "yyyy") Dayno = rsPMschTemp![DayofWeek] getNextDate (rsPMschTemp![WeekofMonth]) ![NextDate] = PMDate .Update End With 'rsPMschTemp.MoveNext Loop ElseIf rsPMschTemp![TypePMgen] = "4" And rsPMschTemp![PMActive] = -1 Then zDay = Day(rsPMschTemp![TargetStartDate]) Do While rsPMschTemp![TargetStartDate] >= daterange1 And rsPMschTemp![TargetStartDate] <= daterange2 Task = rsPMschTemp![ChecklistNo] Set rsPMMulti = dbSICAM.OpenRecordset("MultiplePMTemp") If rsPMschTemp![PMMultiple] = True Then Do While Not rsPMMulti.EOF If rsPMMulti![MPMNo] = rsPMschTemp![PMNo] Then If rsPMschTemp![PMCounter] = 1 Or rsPMMulti![MPMCounter] = 1 Then rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MStartDateCount] rsPMMulti.Update End If If rsPMMulti![MSCount] = rsPMschTemp![PMCounter] Then

Page 337: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

337

Task = rsPMMulti![MTaskNo] rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MSCount] + rsPMMulti![MSeq] rsPMMulti![MPMCounter] = rsPMMulti![MPMCounter] + 1 rsPMMulti.Update End If End If rsPMMulti.MoveNext Loop rsPMMulti.Close End If With rsPMGenTemp .AddNew ![PMNo] = rsPMschTemp![PMNo] ![PMName] = rsPMschTemp![PMName] ![TypePMgen] = rsPMschTemp![TypePMgen] ![AssetNo] = rsPMschTemp![AssetNo] ![PhyLocationNo] = rsPMschTemp![PhyLocationNo] ![ChecklistNo] = Task ![StartDate] = rsPMschTemp![StartDate] ![PMCounter] = rsPMschTemp![PMCounter] ![PeriodDays] = rsPMschTemp![PeriodDays] ![Frequency] = rsPMschTemp![Frequency] ![TargetStartDate] = rsPMschTemp![TargetStartDate] ![TargetCompDate] = rsPMschTemp![TargetCompDate] ![NextDate] = rsPMschTemp![NextDate] ![PMWOTrade] = rsPMschTemp![PMWOTrade] ![WeekofMonth] = rsPMschTemp![WeekofMonth] ![DayofWeek] = rsPMschTemp![DayofWeek] .Update End With 'cambiar aqui' With rsPMschTemp .Edit ![PMCounter] = rsPMschTemp![PMCounter] + 1 ![TargetStartDate] = rsPMschTemp![NextDate] ![TargetCompDate] = rsPMschTemp![TargetStartDate] + rsPMschTemp![PeriodDays] - 1 PMDate = DateAdd("m", CDbl(rsPMschTemp![Frequency]), CDate(rsPMschTemp![NextDate])) ![NextDate] = PMDate .Update End With Loop ElseIf rsPMschTemp![TypePMgen] = "5" And rsPMschTemp![PMActive] = -1 Then 'has been added after the changes to monthly schedule zDay = Day(rsPMschTemp![TargetStartDate]) Do While rsPMschTemp![TargetStartDate] >= daterange1 And rsPMschTemp![TargetStartDate] <= daterange2 Task = rsPMschTemp![ChecklistNo] Set rsPMMulti = dbSICAM.OpenRecordset("MultiplePM") If rsPMschTemp![PMMultiple] = True Then ' Verificar para Tareas Múltiples Do While Not rsPMMulti.EOF If rsPMMulti![MPMNo] = rsPMschTemp![PMNo] Then If rsPMschTemp![PMCounter] = 1 Or rsPMMulti![MPMCounter] = 1 Then rsPMMulti.Edit rsPMMulti![MSCount] =

Page 338: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

338

rsPMMulti![MStartDateCount] rsPMMulti.Update End If If rsPMMulti![MSCount] = rsPMschTemp![PMCounter] Then Task = rsPMMulti![MTaskNo] rsPMMulti.Edit rsPMMulti![MSCount] = rsPMMulti![MSCount] + rsPMMulti![MSeq] rsPMMulti![MPMCounter] = rsPMMulti![MPMCounter] + 1 rsPMMulti.Update End If End If rsPMMulti.MoveNext Loop rsPMMulti.Close End If With rsPMGenTemp .AddNew ![PMNo] = rsPMschTemp![PMNo] ![PMName] = rsPMschTemp![PMName] ![TypePMgen] = rsPMschTemp![TypePMgen] ![TypePM] = rsPMschTemp![TypePM] ![PhyLocationNo] = rsPMschTemp![PhyLocationNo] ![AssetNo] = rsPMschTemp![AssetNo] ![ChecklistNo] = Task ![StartDate] = rsPMschTemp![StartDate] ![PMCounter] = rsPMschTemp![PMCounter] ![PeriodDays] = rsPMschTemp![PeriodDays] ![Frequency] = rsPMschTemp![Frequency] ![TargetStartDate] = rsPMschTemp![TargetStartDate] ![TargetCompDate] = rsPMschTemp![TargetCompDate] ![NextDate] = rsPMschTemp![NextDate] ![PMWOTrade] = rsPMschTemp![PMWOTrade] ![TargetStartDate] = rsPMschTemp![TargetStartDate] ![TargetCompDate] = rsPMschTemp![TargetCompDate] ![PMWOraise] = -1 .Update End With With rsPMschTemp .Edit ![PMCounter] = rsPMschTemp![PMCounter] + 1 ![TargetStartDate] = rsPMschTemp![NextDate] ![TargetCompDate] = DateAdd("m", 1, rsPMschTemp![TargetStartDate]) - 1 PMDate = DateAdd("m", CDbl(rsPMschTemp![Frequency]), rsPMschTemp![TargetStartDate]) ![NextDate] = PMDate .Update End With Loop End If 'If No.1 Me.PBar = rsPMschTemp.PercentPosition rsPMschTemp.MoveNext Loop 'Loop No.1 Me.PBar = 0 rsPMGenTemp.Close rsPMschTemp.Close End Sub Sub GetDayofPM(weeksDay)

Page 339: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

339

If weeksDay > Dayno Then PMDate = tempDay - weeksDay + Dayno - _ IIf(weeksDay > Dayno, 0, 7) Else If weeksDay < Dayno Then PMDate = tempDay - weeksDay + Dayno + _ IIf(weeksDay < Dayno, 0, 7) Else PMDate = tempDay End If End If End Sub Sub GetPMDayLast(weeksDay) If weeksDay <> Dayno Then PMDate = tempDay - weeksDay + Dayno - _ IIf(weeksDay > Dayno, 0, 7) Else PMDate = tempDay End If End Sub Sub GetPMDayStart(weeksDay) If weeksDay <> Dayno Then PMDate = tempDay - weeksDay + Dayno + _ IIf(weeksDay < Dayno, 0, 7) Else PMDate = tempDay End If End Sub Sub getNextDate(cboWeeks) If zMonth > 12 Then zYear = zYear + 1 zMonth = zMonth - 12 End If Select Case cboWeeks Case 0 firstDay = DateSerial(zYear, zMonth, 1) tempDay = firstDay GetPMDayStart (Weekday(firstDay)) Case 1, 2, 3 firstDay = DateSerial(zYear, zMonth, 1) tempDay = DateAdd("ww", cboWeeks, firstDay) GetDayofPM (Weekday(tempDay)) Case 4 lastDay = DateSerial(zYear, zMonth + 1, 0) tempDay = lastDay GetPMDayLast (Weekday(lastDay)) End Select End Sub Private Sub Form_Activate() DoCmd.Restore End Sub Private Sub Form_Deactivate() DoCmd.Minimize End Sub Private Sub Form_Load() Dim i As Integer For i = 1 To 53 MyList.ColumnHeaders.Add , , i, 1000 Next Command19_Click

Page 340: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

340

End Sub

4.7.4.3. – Programación adicional. El código de programa restante desarrollado como parte del sistema automatizado se

entrega en un disco compacto adjunto en la sección de anexos debido a que el listado del

mismo es muy extenso.

Page 341: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

CONCLUSIONES

Del proyecto de investigación desarrollado se puede afirmar que según la percepción del

personal de mantenimiento de las instituciones policiales con el que se estuvo trabajando, el

diseño de la aplicación para computadoras, como parte fundamental para el mejoramiento de

las actividades de mantenimiento que se lleva a cabo en estos organismos, representa un

avance importante en la búsqueda de la optimización de la gestión del mantenimiento. El hecho

de contar con un sistema de información automatizado permite controlar en todo momento

todas las actividades relacionadas con mantenimiento de los equipos y maquinarias y, a la vez,

llevar registros históricos de las labores realizadas a cada uno de los equipos. Al poder obtener

estos registros se pueden realizar también predicciones, gráficos y estimaciones acerca de la

vida útil restante de cada equipo o de sus partes según su historial. Así mismo, con utilización

del sistema automatizado se ahorra considerablemente tiempo en las labores de oficina que se

realizan a mano como la generación de órdenes de trabajo, reportes, órdenes de compra y

listados ya que el sistema permite hacer todas estas tareas en muy breve tiempo y realizar una

gran variedad de consultas de información.

Por otra parte, se determinó que para llevar un control adecuado de los inventarios de

almacén es indispensable utilizar una aplicación para computadoras diseñada exclusivamente

para el manejo de inventarios. El sistema automatizado desarrollado cuenta con un módulo de

programa que cumple las funciones principales que se llevan a cabo en un almacén de partes y

repuestos. Realizadas las pruebas de este módulo se verificó que el mismo realiza todas las

funciones esperadas por el personal de almacén y otras adicionales como el control de stocks

que optimizan y automatizan sus labores.

Así mismo, mediante la aplicación de los indicadores o índices de control propuestos los

departamentos de mantenimiento de las instituciones policiales podrán monitorear

constantemente el desempeño de sus procesos de mantenimiento, con la ventaja de poder

seleccionar sus períodos de estudio, sacar estadísticas y tomar decisiones que permitan

mejorar su gestión.

341

Page 342: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

342

RECOMENDACIONES

Se presentan a continuación algunas recomendaciones para el mejor aprovechamiento y

utilidad de la aplicación desarrollada.

Para el mayor entendimiento de las ventajas que ofrece el uso de la tecnología en la

gestión del mantenimiento es recomendable que los departamentos encargados

presenten a la directiva de las instituciones policiales la filosofía de las nuevas técnicas

de mantenimiento, como el mantenimiento clase mundial, donde un sistema de

información y registros juega un papel importante para la optimización de los procesos,

reducción de costos y mayor disponibilidad de los equipos y maquinarias.

Es importante que los departamentos de mantenimiento de estas instituciones sean los

pioneros en proponer cambios en la manera en la cual normalmente se ve el

mantenimiento en este tipo de instituciones, los cuales lo consideran como un costo y no

como una inversión. Si estos departamentos logran cambiar esta visión errada de las

gerencias se obtendrán sin ninguna duda resultados en el mediano y largo plazo.

Es recomendable que para implementar los cambios propuestos se comience con el

mejoramiento en los procedimientos de los almacenes en el manejo de inventarios y en

la dotación adecuada de los mismos. Luego proceder con la instrucción al personal de

mantenimiento en los nuevos procedimientos y en materia de seguridad.

Para el manejo del sistema automatizado se recomienda seleccionar un personal que se

entrene en el uso del mismo y que se destine un período de prueba en el cual se

verifique que los operadores del mismo conocen el uso de todos los módulos de

programa que conforman la aplicación. Luego de este período de entrenamiento se

puede proceder a implantar el sistema automatizado.

Page 343: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

BIBLIOGRAFIA

Abarca, Patricio. (2003). Sistemas de Control Automático. AIE Asociación de la Industria

Eléctrica Electrónica. http://www.aie.cl/comites/automat/glosario/Sistemas _Control_Automatico.

htm

Abdellah FG, Levine E. (1994). Preparing Nursing Research forn the 21st Century.

Methodologies, Challenges. New York. Usa.

Aiello Mazzari, C. (2004). Manual de Procedimientos y Guía para la elaboración del trabajo

especial de grado, trabajo de grado y tesis doctoral. Primera edición, Universidad del Zulia.

Facultad de ingeniería. División de Postgrado. Maracaibo, Venezuela.

Bavaresco de Prieto, A. Proceso metodológico en la investigación. 2da edición. Academia

Nacional de Ciencias Económicas y Sociales. Universidad del Zulia. Maracaibo, Venezuela.

Cegarra Sanchez, José. (2005). Metodología de la investigación científica y tecnológica.

Ediciones Díaz de Santos. Barcelona, España.

Comisión Venezolana de Normas Industriales. (1993). Norma Covenin 3049-93. Ministerio

de Fomento. Diciembre 1, 1993.

Computerized Maintenance Management System. (2007). [On-line]. Disponible en

http://en.wikipedia.org/wiki/CMMS.

Cox Joyce, Lambert Steve, Nelson Gale, Preppernau Joan. (2004). Microsoft Office Access

2003 Step by Step. 1era edición. Microsoft Press. Redmond, Washington, Estados Unidos de

America.

Erol Isaac Zabiski Duardo. Los sistemas GMAC (CMMS) y la toma de decisiones en el

mantenimiento. Articulo publicado en revista Con Gestión, número 5. La Habana, Cuba.

Finol, Joseline. (2002). Diseño de un Sistema de Mantenimiento Preventivo de los equipos

para empresas de servicios. Trabajo de grado. Facultad de Ingeniería. División de Postgrado.

Universidad del Zulia. Maracaibo, Venezuela.

343

Page 344: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

García Garrido, Santiago. (2003). Organización y gestión integral de mantenimiento. Ediciones

Díaz de Santos.

http://www.gmao.es/gmao.htm

Herrera, Amilcar. (1994). Las nuevas tecnologías y el futuro de América Latina: riesgo y

oportunidad, Editorial Siglo veintiuno.

Knezevic, Jezdimir. (1996). Mantenimiento. Isdefe. Publicaciones de ingeniería de sistemas.

Primera edición. Madrid, España.

Levine E, Abdellah FG (1994). Preparing Nursing Research for the 21st Century. Evolution.

Methodologies, Changes. Springer: New York.

MaintSmart. (2005). [On-line]. Disponible en http://www.maintsmart.com/.

Minboss. (2006). Why CMMS?. [On-line]. Disponible en http://mainboss.com

/spanish/resources/whycmms.shtml.

Montilva Calderón, J., Besembel Carrera, I., Pérez de Ovalles, M. y Losavio, F. (2004).

Sistemas de información e ingeniería de software. 1era edición. Centro de estudios en

informática. Mérida, Venezuela.

Muller, Max. (2005). Fundamentos de administración de inventarios. Grupo editorial Norma.

Bogotá, Colombia.

Muñoz Razo, Carlos. (1998). Cómo elaborar y asesorar una investigación de tesis. Prentice

Hall. México, México.

Nava, José Domingo. (1992).Teoría de mantenimiento. Fiabilidad. Editado por el consejo de

publicaciones de la Universidad de los Andes.

Newbrough E.T. (1967). Effective maintenance management. Mc Graw Hill. Usa.

Ortiz Frida, García María P. (2003). Metodología de la investigación: el proceso y sus técnicas,

Ed. Limusa. México, México.

Perspective CMMS. The Benefits of Maintenance Software. (2006) [On-line]. Disponible en

344

Page 345: SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO DE ... · APROBACIÓN Este Jurado aprueba el Trabajo de Grado Titulado SISTEMA AUTOMATIZADO PARA LA PROGRAMACIÓN Y SEGUIMIENTO

345

http://www.pemms.co.uk/Assets/images/qube1.jpg y http://www.pemms.co.uk/ Assets/images

/qube2.jpg.

Rosaler, Robert C. (1997). HVAC Maintenance and operations handbook. McGraw-Hill

Professional.

Sethi, R. (1992). Lenguajes de programación: conceptos y constructores, Addison-Wesley

Iberoamericana.

Sexto, Luis Felipe. (2006). Clase Mundial, excelencia y mejora continua. Nota técnica No. 123.

Centro de estudios en ingeniería de mantenimiento. Coordinación editorial Ceim-Cujae. La

Habana, Cuba.

Stair, Ralph y Walter, George. (2000). Principios de sistemas de información: enfoque

administrativo. Thomson Learning Ibero.

Tamayo y Tamayo, Mario. (1990). El proceso de la investigación científica. Limusa Noriega

Editores. Segunda edición. México, México.

Tavares Lourival, A. (2004). Administración moderna del mantenimiento. 1era Edición, Novo

Polo Publicaciones. Brasil.

Wildman, Claudia. (2003). Desarrollo de un Sistema Computacional para el control de equipos

y trabajos en empresas productoras de vinos. Trabajo de grado. Facultad de Ingeniería.

Universidad del Zulia. Maracaibo, Venezuela.