Вы находитесь на странице: 1из 197

UNIVERSIDAD TCNICA FEDERICO SANTA MARA

SEDE VIA DEL MAR JOS MIGUEL CARRERA

SISTEMA DE ADMINISTRACIN Y CONTROL PARA EMPRESA IFTUNING

Trabajo de Titulacin para optar al Ttulo


Profesional

de

Tcnico

Universitario

INFORMTICA

Alumnos:
Sr. Felipe Gaete Alvarado
Sr. Alejandro Valderrama Lucero
Profesor Gua:
Sr. Dagoberto Cabrera Tapia

2012

en

RESUMEN

Keywords:

Sistema de administracin y control

IFTUNING es una pequea empresa ubicada en el sector de Villa dulce en la


ciudad de Via del Mar.
El objetivo de esta pequea empresa es entregar los servicios de modificacin,
construccin y reconstruccin de accesorios y partes de vehculos. Adems de crear
accesorios, ajenos a lo vehicular, pedidos por clientes, la construccin de estos
accesorios se define como procesos por el dueo de la pequea empresa.
Este trabajo tiene como objetivo crear un sistema de administracin y control
para los procesos ms relevantes que ocurren dentro de la empresa en el da a da. Para
el dueo de la empresa el sistema lo ayudar en diferentes aspectos como conocer el
universo de clientes que asisten a requerir los servicios, como aquellos que han dejado
de requerirlos, se podr consultar los datos especficos de cada cliente, y usuario del
sistema, aunque de momento sea slo un usuario, el sistema incluye dos perfiles de
usuario que pueden hacer uso del sistema, cada uno con diferentes niveles de acceso, el
sistema tambin guarda los trabajos que se deben realizar ya sea para vehculos o para
procesos, controla adems los datos de proveedores y empresas automotrices que
requieren los servicios, se podr consultar los datos de los insumos como su stock y la
informacin financiera como los egresos e ingresos de la empresa en general.
Para la creacin de este sistema de administracin y control se utilizaron las
siguientes herramientas: PHP (Lenguaje de programacin), Jquery (biblioteca de
JavaScript), HTML (Lenguaje de marcado), MySQL (Base de datos), adems de otras
herramientas utilizadas para trabajar e interpretar el cdigo.
A continuacin se presentan las secciones tratadas en este trabajo:
- Captulo uno: Contiene temas relevantes como la descripcin de la
organizacin, referente a la modificacin o enchulamiento de vehculos y
creacin de accesorios, descripcin de la situacin actual explicando cmo se
comporta en la actualidad la empresa sin el sistema computacional operando,
problemas existentes en las funciones de la empresa, como atencin al cliente,
inventario y mantencin de datos generales de la empresa, y la solucin
propuesta a dichos problemas.
- Captulo dos: Es donde se especifica el diseo fsico del sistema y

la

configuracin computacional en donde se ejecutar el sistema para la empresa


Iftuning, adems se nombran las herramientas utilizadas en la construccin del

sistema para la empresa, y por ltimo contiene la descripcin de las tablas


utilizadas para el desarrollo del sistema final.
- Captulo tres: Contiene la informacin y la descripcin

de programas

precisando para cada una de las partes, la funcionalidad de los diferentes


mdulos y mantenedores que en conjunto forman el sistema completo, con
muestras de las vistas del sistema desarrollado, desde el incio de la sesin hasta
el cierre de esta, cada uno con su diagrama de bloque correspondiente.
El trabajo finaliza con las conclusiones y la bibliografa, adems del anexo que
contiene el cdigo fuente del sistema.
El sistema fue desarrollado completamente fundado en los requerimientos
entregados por el dueo de la empresa IFTUNING.

NDICE

RESUMEN
INTRODUCCIN

CAPTULO 1: ASPECTOS RELEVANTES DEL DISEO LGICO


1.1.

DESCRIPCIN DE LA ORGANIZACIN

1.2.

DESCRIPCIN DE LA SITUACIN ACTUAL

1.3.

PROBLEMAS DETECTADOS

1.4.

DESCRIPCIN DEL SISTEMA PROPUESTO

1.4.1.

Objetivos y beneficios del sistema propuesto

1.4.3.

Descripcin general de la solucin propuesta

1.4.4.

Diagramas de flujo administrativo

1.4.5.

Estructura funcional del sistema

1.4.6.

Informacin que se manejar

CAPTULO 2: MEDIO AMBIENTE COMPUTACIONAL Y DESCRIPCIN


DE LA BASE DE DATOS
2.1.

DESCRIPCIN DEL RECURSO COMPUTACIONAL RELACIONADO

2.1.1.

Configuracin del sistema

2.1.2.

Software Utilizado

2.2.

DESCRIPCIN DE TABLAS DE LA BASE DE DATOS

2.2.1.

Tabla de Usuarios

2.2.2.

Tabla de Trabajos

2.2.3.

Tabla de trabajos de vehculos

2.2.4.

Tabla de trabajos de procesos

2.2.5.

Tabla de Vehculos

2.2.6.

Tabla de Clientes particulares de vehculos

2.2.7.

Tabla clientes empresas

2.2.8.

Tabla de Empresas de vehculos

2.2.9.

Tabla cuota

2.2.10. Tabla Factura


2.2.11. Tabla detalle de la factura
2.2.12. Tabla de empresas proveedoras
2.2.13. Tabla de Insumos
2.2.14. Tabla de Detalle de Insumos
2.2.15. Tabla de medida del material

CAPTULO 3: DESCRIPCIN DE PROGRAMAS


3.1.

DIAGRAMA MODULAR

3.2.

DIAGRAMA DE MENES

3.3.

LISTA DE PROGRAMAS

3.4.

DESCRIPCIN DE PROGRAMAS

3.4.1.

Inicio de sesin

3.4.2.

Pantalla principal

3.4.3.

Ingresar Usuario

3.4.4.

Consultar Usuario

3.4.5.

Modificar Usuario

3.4.6.

Eliminar Usuario

3.4.7.

Ingresar Cliente

3.4.8.

Seleccionar Cliente

3.4.9.

Actualizar Cliente

3.4.10. Eliminar Cliente


3.4.11. Listar Cliente
3.4.12. Ingresar Empresa
3.4.13. Seleccionar Empresa
3.4.14. Actualizar Empresa
3.4.15. Eliminar Empresa
3.4.16. Listar Empresa
3.4.17. Ingresar Trabajo en Vehculo
3.4.18. Seleccionar Trabajo en Vehculo
3.4.19. Actualizar trabajo en vehculo
3.4.20. Cancelar trabajo en vehculo
3.4.21. Listar trabajo en vehculo
3.4.22. Ingresar trabajo proceso
3.4.23. Seleccionar trabajo proceso
3.4.24. Actualizar trabajo proceso
3.4.25. Listar trabajo proceso
3.4.26. Cancelar trabajo proceso
3.4.27. Pago de cuotas
3.4.28. Ingresar vehculo
3.4.29. Seleccionar vehculo
3.4.30. Actualizar vehculo
3.4.31. Ver factura de insumos
3.4.32. Guardar factura de insumos
3.4.33. Ingresar insumo

3.4.34. Seleccionar insumo


3.4.35. Actualizar insumo
3.4.36. Ver stock de insumo
3.4.37. Ingresar empresa proveedora
3.4.38. Seleccionar empresa proveedora
3.4.39. Actualizar empresa proveedora
3.4.40. Ingresos
3.4.41. Egresos
3.4.42. Cambiar contrasea
3.4.43. Cerrar Sesin

CONCLUSIONES
BIBLIOGRAFA
ANEXO 1:

CDIGO FUENTE

NDICE DE FIGURAS

Figura 1-1. Comprobante de ingreso de trabajo (pedido)


Figura 1-2. Factura de compra de insumos
Figura 3-1. Pantalla de inicio de sesin
Figura 3-2. Pantalla principal
Figura 3-3. Pantalla Ingresar Usuario
Figura 3-4. Pantalla seleccionar usuario
Figura 3-5. Pantalla datos del usuario seleccionado
Figura 3-6. Pantalla de modificacin de usuario
Figura 3-7. Pantalla eliminacin de usuario
Figura 3-8. Pantalla de ingreso de cliente
Figura 3-9. Pantalla cliente seleccionado
Figura 3-10. Pantalla modificar datos cliente
Figura 3-11. Pantalla de eliminacin de cliente
Figura 3-12. Pantalla listar cliente
Figura 3-13. Pantalla de ingreso de empresa
Figura 3-14. Pantalla de seleccin de empresa
Figura 3-15. Pantalla de actualizacin de empresa
Figura 3-16. Pantalla de eliminacin de empresa
Figura 3-17. Pantalla de lista de empresa

Figura 3-18. Pantalla de ingreso de trabajo en vehculo


Figura 3-19. Pantalla de seleccin de trabajos en vehculos
Figura 3-20. Pantalla de seleccin para la actualizacin de trabajos
Figura 3-21. Pantalla de actualizar trabajo de un vehculo seleccionado
Figura 3-22. Pantalla cancelar trabajo en vehculo
Figura 3-23. Pantalla de listar trabajos de vehculos
Figura 3-24. Pantalla ingreso de trabajo proceso
Figura 3-25. Pantalla de seleccin de trabajo por cdigo de trabajo
Figura 3-26. Pantalla de seleccin de trabajo por rut de usuario
Figura 3-27. Pantalla de seleccin de actualizacin de trabajo
Figura 3-28. Pantalla de actualizacin de trabajo proceso
Figura 3-29. Pantalla listar trabajo proceso
Figura 3-30. Pantalla cancelar trabajo proceso
Figura 3-31. Pantalla de pago de cuotas
Figura 3-32. Pantalla ingreso de vehculos
Figura 3-33. Pantalla de seleccin de vehculos
Figura 3-34. Pantalla actualizar vehculo
Figura 3-35. Pantalla ver facturas
Figura 3-36. Pantalla para abrir factura en Excel
Figura 3-37. Pantalla de ingreso de factura de compra
Figura 3-38. Pantalla de ingreso de insumo
Figura 3-39. Pantalla de seleccin de insumo
Figura 3-40. Pantalla de seleccin de actualizar insumo
Figura 3-41. Pantalla de actualizacin de insumo
Figura 3-42. Pantalla de revisar el stock de insumos
Figura 3-43. Pantalla de ingreso de empresa proveedora
Figura 3-44. Pantalla seleccionar proveedor
Figura 3-45. Pantalla de actualizar empresa proveedora
Figura 3-46. Pantalla de ver ingresos segn da
Figura 3-47. Pantalla ver ingreso segn rango de fecha
Figura 3-48. Pantalla de egresos segn mes
Figura 3-49. Pantalla de egresos segn ao
Figura 3-50. Pantalla de cambio de contrasea
Figura 3-51. Pantalla de cerrar sesin

NDICE DE DIAGRAMAS

Diagrama 1-1. Flujo de Trabajos a realizar


Diagrama 1-2. Flujo de compra de insumos
Diagrama 1-3. Diagrama de Modelo de datos
Diagrama 3-1. Diagrama Modular
Diagrama 3-2. Diagrama de menes
Diagrama 3-3. Diagrama de bloque inicio de sesin
Diagrama 3-4. Diagrama de bloque pantalla principal
Diagrama 3-5. Diagrama de bloque Ingresar Usuario
Diagrama 3-6. Diagrama de bloque seleccionar usuario
Diagrama 3-7. Diagrama de bloque actualizar usuario
Diagrama 3-8. Diagrama de bloque eliminar usuario
Diagrama 3-9. Diagrama de bloque ingresar cliente
Diagrama 3-10. Diagrama de bloque seleccionar cliente
Diagrama 3-11. Diagrama de bloque actualizar cliente
Diagrama 3-12. Diagrama de bloque eliminar cliente
Diagrama 3-13. Diagrama de bloque listar cliente
Diagrama 3-14. Diagrama de bloque ingresar empresa
Diagrama 3-15. Diagrama de bloque seleccionar empresa
Diagrama 3-16. Diagrama de bloque modificar datos empresa
Diagrama 3-17. Diagrama de bloque eliminar empresa
Diagrama 3-18. Diagrama de bloque listar empresa
Diagrama 3-19. Diagrama de bloque ingresar trabajo vehculo
Diagrama 3-20. Diagrama de bloque seleccionar trabajo vehculo
Diagrama 3-21. Diagrama de bloque actualizar trabajo en vehculo
Diagrama 3-22. Diagrama de bloque cancelar trabajo en vehculo
Diagrama 3-23. Diagrama de bloque listar trabajo de vehculos
Diagrama 3-24. Diagrama de bloque ingreso de trabajos proceso
Diagrama 3-25. Diagrama de bloque seleccin de trabajo proceso
Diagrama 3-26. Diagrama de bloque actualizar trabajo proceso
Diagrama 3-27. Diagrama de bloque listar trabajo proceso
Diagrama 3-28. Diagrama de bloque cancelar trabajo proceso
Diagrama 3-29. Diagrama de bloque pago de cuotas
Diagrama 3-30. Diagrama de bloque ingreso de vehculos
Diagrama 3-31. Diagrama de bloque seleccionar vehculo
Diagrama 3-32. Diagrama de bloque actualizar vehculos

Diagrama 3-33. Diagrama de bloque ver factura insumos


Diagrama 3-34. Diagrama de bloque guardar factura
Diagrama 3-35. Diagrama de bloque ingresar insumo
Diagrama 3-36. Diagrama de bloque seleccionar insumo
Diagrama 3-37. Diagrama de bloque actualizar insumo
Diagrama 3-38. Diagrama de bloque ver stock insumo
Diagrama 3-39. Diagrama de bloque ingresar proveedor
Diagrama 3-40. Diagrama de bloque seleccionar proveedor
Diagrama 3-41. Diagrama de bloque actualizar proveedor
Diagrama 3-42. Diagrama de bloque ingresos
Diagrama 3-43. Diagrama de bloque de egresos
Diagrama 3-44. Diagrama de bloque cambiar contrasea
Diagrama 3-45. Diagrama de bloque cerrar sesin

NDICE DE TABLAS

Tabla 2-1. Usuario


Tabla 2-2. Trabajo
Tabla 2-3. Trabajo_veh
Tabla 2-4. Trabajo_proce
Tabla 2-5. Vehculo
Tabla 2-6. Cliente
Tabla 2-7. Cliente_emp
Tabla 2-8. Empresa_Vehiculo
Tabla 2-9. Cuota
Tabla 2-10. Factura
Tabla 2-11. Detalle_factura
Tabla 2-12. Empresa_prov
Tabla 2-13. Insumo
Tabla 2-14. Detalle_insumo
Tabla 2-15. Medida_material
Tabla 3-1. Lista de programas

INTRODUCCIN

Los sistemas informticos constituyen en la actualidad una parte importante de


las ms grandes empresas a nivel mundial, a nivel nacional y cada vez se aprovecha ms
la posibilidad de contar con este tipo de herramientas, ya que proveen una existencia
ms eficiente de la informacin y en general promueven una evolucin positiva de las
ganancias, en la cual se destacan algunas, como la ganancia de tiempo al obtener
informacin precisa, eficiencia de trabajo al saber todo lo que compete con la empresa,
ganancia en competitividad sobresaliendo ante sus rivales de mercado, etc., mejorando
de esta manera los servicios y otorgando un plus que aumenta el estatus al minuto de
mirar una empresa, Pyme, microempresa o cualquier tipo de organizacin.
Lo que se pretende implementar con este trabajo de ttulo, es mejorar, con el
desarrollo de un software, una pequea empresa llamada IFTUNING, que entra en el
rubro automotriz de una manera diferente ya que se encarga de cualquier tipo de
modelado de vehculos, segn lo necesite un cliente en particular o empresa en general,
trabajando en su mayora con fibra de vidrio, que es la materia prima con la cual se
efecta el proceso de modelamiento de un vehculo de cualquier tipo, de otra forma
tambin se introduce el pedido de cualquier tipo de producto ajeno al rubro automotriz,
los cuales son llamados procesos por el dueo de la empresa y que refieren por ejemplo
a piscinas, tomas de aire, modelamiento de accesorios o partes de recintos pblicos
como pubs, discos, restaurantes, y objetos pequeos como lmparas, muebles y lo que
sea que el cliente requiera y que se pueda realizar con la fibra de vidrio.
Para la mejora de esta pequea empresa se crear un sistema informtico de
administracin y control a nivel general, el cual proporcione informacin necesaria y
adecuada para el trabajo ms rpido y eficiente de las diferentes funciones que realiza
esta empresa, para lograr de esta manera con cada consulta un control de los clientes que
solicitan los servicios de modelamiento o proceso, control de la empresas proveedoras
con tal de mejorar la adquisicin de insumos, control en la contabilidad de ingresos y
egresos con el fin de poder calcular el dinero que circula dentro de la empresa en ciertos
periodos de tiempo, control del inventario de los materiales y/o herramientas, servicios
realizados y a realizar, control de los vehculos y procesos a trabajar; la administracin
de los usuarios, si bien al principio slo existe un usuario, se manejar la existencia de
distintos perfiles los cuales acomoden a las pretensiones propuestas por el dueo de la
empresa.
Por lo tanto, este trabajo de titulacin busca ayudar e integrar los
requerimientos de esta pequea empresa, teniendo en cuenta la necesidad de la
construccin de un sistema de administracin y control, con tal de mejorar e

implementar por primera vez un sistema computacional, encontrando una solucin


apegada a los estndares que se exigen en la actualidad para competir con los oferentes
del mercado actual.

CAPTULO 1:

ASPECTOS RELEVANTES DEL DISEO LGICO

1.

ASPECTOS RELEVANTES DEL DISEO LGICO

1.1.

DESCRIPCIN DE LA ORGANIZACIN

La empresa para la que se desarrollar el siguiente sistema se llama


IFTUNING, la cual es una pequea empresa que se encuentra en la Avenida Cardenal
Samor #40, Villa Dulce Norte en la ciudad de Via del Mar, y que fue establecida por
el seor Pablo Foucher.
Esta empresa trabaja la fibra de vidrio (como insumo principal) en vehculos ya
sea en parachoques, ventanas, alerones, carrocera completa y todo lo que respecta a
tunning o modelamiento de cualquier tipo de transporte, conocido vulgarmente como
enchular el vehculo, segn algunos programas populares de la televisin, que pusieron
muy de moda este tipo de vehculos en las calles de nuestro pas, sin importar el nivel
social y cultural del momento. El trabajo de modelamiento puede desarrollarse sobre
automviles, camiones, motocicletas, etc., de la misma manera en que son capaces de
producir estos trabajo, tambin entregan otro tipo de servicio a partir de la misma
materia prima, de esta forma son capaces de producir otros tipos de productos, llamados
internamente como procesos, los cuales a pedidos de clientes son capaces de crear
accesorios como lmparas, tomas de aire, piscinas y todo lo que un cliente pueda
requerir y que su manufacturacin pueda realizarse en fibra de vidrio.
Lo que respecta a la administracin, atencin, contabilidad y todo el trabajo
relevante para mantener la empresa funcionando, es realizado por el mismo dueo de la
empresa, aunque en lo que concierne a mano de obra, don Pablo Foucher no trabaja
siempre solo, hay veces en que recurre a un par de trabajadores ms para realizar de
manera ms rpida y eficiente las tareas en desarrollo, con tal de sacar lo ms rpido
posible la cola de trabajos existentes en un momento, pero por lo general es slo l quien
realiza o supervisa todas las actividades anteriormente nombradas.
El sistema a realizar ser ocupado por don Pablo en la mayora del tiempo, pero
se espera que esta empresa crezca en un periodo breve, por lo cual ms trabajadores
harn uso del sistema, por lo tanto se necesitarn perfiles de usuario, los que definirn el
acceso a la informacin, de los diferentes usuarios del sistema segn sean los
requerimientos entregados por el dueo de Iftuning.

1.2.

DESCRIPCIN DE LA SITUACIN ACTUAL

Para comenzar, el dueo de la empresa Don Pablo Foucher es quien realiza


todos los movimientos, de aspectos generales como lo son la atencin al cliente,
mantencin de datos, orden y registro de herramientas y materiales, control financiero de
su pequea empresa llamada IFTUNING, que se encarga de modelar y perfeccionar
vehculos con fibra de vidrio o crear trabajos personalizados y nicos a pedidos de
clientes, por lo que se le hace demasiado agotador estar a cargo de todo lo que ocurre en
el transcurso diario de mantener todo en un supuesto orden.
De momento su microempresa no posee trabajadores contratados, aunque por
algunos periodos de tiempo, dependiendo de la cantidad de trabajos requeridos, don
Pablo solicita la ayuda de trabajadores quienes no siempre son los mismos y que son
remunerados (de comn acuerdo entre don Pablo y el trabajador) por el tiempo que dure
el modelado de un vehculo o la creacin de un proceso o accesorio diferente, pero en el
mediano plazo, la idea, es que alguno de estos trabajadores pasen a ser parte del equipo
de trabajadores contratados de IFTUNING, y don Pablo no tenga que estar contando con
los servicios de personas de poca confianza, todo esto para que se aumenten las
expectativas de la pequea empresa y as poder llegar en aspectos ms amplios a
diferentes empresas automotrices y clientes en general para prestar sus servicios.
La forma en que parte todo, es el momento en que llega un cliente habitual
(persona) a su taller ubicado junto a su residencia, con un vehculo (puede ser ms de
uno) al que se le desee hacer un agregado o una modificacin (alerones, parachoques,
convertibles, puertas, tapabarros etc.), con tal de convertir la carrocera del auto a pedido
del cliente. Luego se evala el pedido viendo la cantidad de materiales y herramientas
que se necesitan, de manera visual segn lo que se encuentre en bodega (por lo general
la mayora de los trabajos pedidos son aceptados, sin importar la cola de pedidos
demanda con anterioridad), es entonces, al saber que puede cumplir con los
requerimientos y expresar que posee todo lo necesario para poder realizar el trabajo,
cuando pide al cliente los datos personales de ste, los datos del vehculo como la marca
y modelo de ste, el color y la patente, la descripcin del trabajo a realizar, con la
informacin de que cosas se deben hacer sobre el vehculo, detallando dimensiones y
color, cuotas y modos de pago, dando la opcin de pagar las cuotas en fechas
especficas, que acomoden al bolsillo del cliente, con lo que finalmente se pacta una
fecha de entrega del vehculo, la cual de todas maneras es tentativa, ya que segn la
cantidad de trabajos, esta puede variar, sin embargo esta variacin correspondera slo a
un par de das, los cuales son notificados al cliente con tal de satisfacer su demanda, ya
que como se explicaba anteriormente con la contratacin peridica de un empleado, se

lograra llegar al tiempo pactado, todo este proceso se registra en un libro de trabajo, del
cual dispone el dueo de la empresa, pero que no siempre entrega la informacin
adecuada buscada por ste.
Otra posibilidad es que se presente un representante de una empresa ligada al
mundo de los vehculos (automotoras, automotrices, talleres mecnicos, etc.), para
solicitar los servicios de IFTUNING, con el fin de retocar de la manera previamente
explicada, diferentes modelos y cantidades de vehculos, por lo que luego de evaluar
todo completamente y tener la certeza de poder realizar todo el trabajo, se dispone a
anotar nuevamente en su libro de trabajo, datos de la empresa, datos de la persona a
cargo de los vehculos o la empresa, la descripcin detallada de los trabajos solicitados,
los datos de los vehculos, formas de pago y estima a grandes rasgos el tiempo que
demora la entrega de todos los vehculos o el tiempo en que demorara por cada uno
segn sea necesario para la empresa a la cual se trabaja, es por esto que muchas veces la
estimacin del tiempo necesario para terminar un trabajo es incorrecto, atrasando los
pedidos de otros clientes o dejando de lado nuevas solicitudes de trabajos.
Otra modalidad de servicios que entrega IFTUNING aparte del modelado de
vehculos, es la creacin de otros tipos de productos (que se puedan manufacturar con
fibra de vidrio), los cuales son llamados procesos por el dueo de la empresa, y que
pueden ser solicitados por clientes o empresas, los cuales amplan mucho ms la
demanda de los servicios, ejemplos de estos procesos pueden ser piscinas, lmparas, u
otros accesorios, por lo cual don Pablo al aceptar un pedido de esta ndole vuelve a
requerir de su libro de trabajo para anotar datos de cliente, datos del trabajo que se debe
realizar, etc., por lo que estimar en todo momento las cantidades de material y
herramientas en stock, no poseer un adecuado sistema que le permita ver los trabajos en
desarrollo, aumentan la inexactitud de sus tiempos de entrega y costos en la cantidad de
materiales necesarios para el desarrollo de una o varias actividades.
Luego de tener los datos de las personas que solicitan los servicios y anotar el
pedido de stas, se procede a ver las formas de pago que don Pablo maneja, las cuales
son pago en efectivo, la cual segn estime don Pablo puede ser en cuotas, aceptando
tambin pagos va cheques, los cuales deben ser verificados en el momento de ser
emitidos, por lo cual se debe contactar con el banco de donde proviene el talonario para
verificar el estado de la cuenta de quien cancela los servicios prestados por IFTUNING.
Un ejemplo del ingreso de los trabajos pedidos de los clientes se puede ver a
continuacin, con un comprobante entregado al cliente, el cual cuenta con el detalle de
este, nombre del cliente, tipo del pedido, y precio a cobrar.

Figura 1-1. Comprobante de ingreso de trabajo (pedido)

Para lo que refiere a la estimacin de materiales y herramientas, y la compra de


stos en las empresas que los proveen, don Pablo da cuenta del stock de stos segn lo
que hay en bodega, por lo tanto maneja el stock visualmente, por lo que su estimacin
muchas veces es equivocada a la necesaria, ya que muchos de los materiales ocupados al
ser usados en un trabajo requieren medidas especficas las cuales determinarn la calidad
del producto final, entre los insumos ms ocupados se encuentran la fibra de vidrio
principalmente, aceleradores, resina, catalizadores, acetona, disolventes, molduras,
pinturas en polvo y en galones, adems de las herramientas como compresores, brochas,
pinceles.
Para el ejemplo de compra y la factura que sta presenta se ve a continuacin
con el detalle de la compra los cuales son presentados en una gua de despacho, el
nmero de factura, y el precio de compra de los productos adquiridos.

Figura 1-2. Factura de compra de insumos

1.3.

PROBLEMAS DETECTADOS

Despus de conocer la situacin actual de la empresa, se pueden observar


diferentes falencias, las que hasta el momento no han sido atendidas en su totalidad, en
la siguiente lista se ven los problemas a tratar:
A.

La microempresa nunca se ha mantenido ordenada sobre el respaldo de


un sistema informtico, y siempre ha dependido de un libro de trabajo
y en muchos casos incluso de papeles sueltos.

B.

Por el caso anterior mucha de la documentacin ms antigua se


encuentra deteriorada, por lo cual los datos no se encuentran
completos.

C.

No tener un registro detallado sobre todos sus trabajos y avances de


stos, muchas veces lo lleva a adquirir de forma errnea, materiales y
herramientas necesarias para modificar los vehculos y desarrollar los
procesos.

D.

Dificultad y/o incapacidad de coordinar una fecha estimada de entrega


de los diferentes pedidos aceptados o en desarrollo.

E.

Al no tener los tiempos estimados de trabajos, muchas veces pierde la


oportunidad de aceptar trabajos de cualquier tipo y as competir con
sus servicios frente a los dems oferentes.

F.

Mala gestin en compras de materiales y herramientas, por no contar


con un control ptimo de stos.

G.

El proceso de ingreso de pedidos y de clientes es demasiado lento ya


que se hace absolutamente a mano.

H.

Nunca ha posedo un control detallado de herramientas y materiales


por lo que no puede controlar si sufre de prdidas o robos de stos
mismos, ya que al contratar a gente externa, que no es de confianza,
podra ser vctima de estos imprevistos.

I.

Posibilidad de error de la informacin que se maneja, referente a


clientes, usuarios, vehculos, empresas proveedoras, etc.

J.

Todos los problemas detectados generan una imagen negativa de la


empresa la cual se encuentra en un ambiente competitivo, pues cada
vez son ms clientes los que por gusto u otro motivo requieren de la
modificacin de sus vehculos.

1.4.

DESCRIPCIN DEL SISTEMA PROPUESTO

1.4.1.

Objetivos y beneficios del sistema propuesto


Como objetivo general se pretende crear un sistema computacional que

proporcione a l o los usuarios informacin especfica y oportuna de los trabajos a


desarrollar y de los clientes que han solicitado estos trabajos, junto con la informacin
de los vehculos, empresas proveedoras, ingresos y egresos para determinar ganancias,
manejo de stock de insumos.

A continuacin se describe y detallan los objetivos y beneficios del sistema a


desarrollar.
1.4.1.1. Objetivos
Los objetivos del sistema propuesto son:
A. Lograr llevar a cabo un sistema que controle ciertos aspectos financieros
y movimientos generales ms importantes de la empresa en cuestin,
guardando los datos de las facturas de compra y los datos del cobro por
trabajo aceptado.
B. Lograr que la interaccin entre el sistema y el usuario, sea fcil, eficiente
y rpida para que mejoren las capacidades de la administracin.
C. Lograr que el sistema mantenga informacin actualizada y brinde lo que
pide el usuario.
D. Manejar la informacin personal de los clientes en general y detallar si
esta informacin pertenece a una persona o a una empresa, con tal de que
sta sea segura, sin errores y til.
E. Mantener la informacin actualizada de las distintas empresas
proveedoras y lo insumos que stas proveen.
F. Controlar el stock de los insumos usados en los diferentes trabajos a
desarrollar y mantener el stock adecuado en bodega.
G. Manejar la informacin de los vehculos diferenciando si stos pertenecen
a personas o a empresas, con tal de que sta sea especfica, segura y til.
H. Mantener informacin especfica de la empresa para cuestin de
publicidad y anuncios, como en las pginas amarillas.
I. Crear un sistema robusto capaz de soportar prdidas de informacin o
mal uso del software en s.
1.4.1.2. Beneficios
A. Buen manejo de informacin especfica de la empresa.
B. Mejor control del stock de los diferentes materiales y herramientas
existentes en bodega.
C. Ahorro de tiempo en las diferentes operaciones, como ver todos los
trabajos a desarrollar y distribuir el tiempo eficazmente.
D. Mejor mantencin de la informacin de los clientes y de las empresas que
requieren de los servicios.

E. Un flujo ms expedito de la informacin para la toma de decisiones, al


aceptar o no nuevos trabajos.
F. Implementar un sistema informtico generar una mejor imagen de la
empresa, en vista de la competitividad del mercado, ya que cada vez es
ms la demanda de mejorar o modelar vehculos a pedido.
1.4.3.

Descripcin general de la solucin propuesta


Para darle una solucin a los problemas anteriormente mencionados, se decide

disear un sistema que apoye los diferentes procesos existentes en un da de trabajo, para
esto se implementar un sistema informtico seguro y apoyado por bases de datos
consistentes para poder satisfacer las necesidades de informacin que requieren el o los
usuarios.
En general el sistema apoyar las partes vitales de la empresa como:
El manejo de los distintos tipos de trabajos pedidos a la empresa, con tal
de diferenciarlos entre trabajos sobre vehculos o procesos y ver si estos
pertenecen a clientes personas o clientes empresas.
La parte contable para proporcionar la informacin de los ingresos y
egresos que tiene la empresa durante un determinado periodo de tiempo.
El inventario de materiales y herramientas con tal de conocer el stock que
permita mantenerse para el desarrollo de futuros trabajos.
Control de los tipos de clientes, ya sean personas o empresas que
requieran los servicios de Iftuning.
Control de los futuros usuarios y perfiles de acceso al sistema.
Manejo de la informacin de las empresas proveedoras de insumos y los
materiales y herramientas que estas proporcionan.

1.4.4.

Diagramas de flujo administrativo

1.4.4.1. DFA de Trabajos

Diagrama 1-1. Flujo de Trabajos a realizar

1.4.4.2. DFA Compra Materiales

Diagrama 1-2. Flujo de compra de insumos

1.4.5.

Estructura funcional del sistema


Mantenedor de clientes: Es donde se ingresarn, seleccionarn, modificarn y
eliminarn los datos de los clientes que soliciten los servicios de la empresa. Se
manejarn dos tipos diferentes de clientes: Empresas, que respectan a las
empresas automotrices que necesiten de los servicios de IFTUNING, y
particulares, que respectan a clientes individuales que necesiten de los servicios
que ofrece la empresa.

Mantenedor de usuarios: Aqu se ingresarn, modificarn y eliminarn los


usuarios que usarn el sistema, teniendo diferentes perfiles de usuario en caso de
que haya un crecimiento de la empresa, por eso el sistema ser multiusuario
aunque en este momento el nico usuario sea don Pablo Foucher, los perfiles de
usuario que se manejarn en el presente sistema sern los de administrador y
empleado, ya que es lo que se requiere en estos momentos.

Mantenedor de trabajos de clientes: Es donde se ingresarn los trabajos para


realizar a los clientes, ya sea de uno o ms vehculos (automviles, camiones,
motocicletas, etc.) a modificar o cualquier otro proceso (piscina, cascos, tomas
de aire, ambientaciones de discotecas, etc.), en donde se procede a rescatar los
datos del cliente si es que ste ya ha recurrido a los servicios de IFTUNING
anteriormente o ingresar sus datos en caso de ser un nuevo cliente, diferenciando
si es que el pedido pertenece a una empresa o a un cliente individual, tambin se
ingresar el tiempo de inicio y al terminar el trabajo se actualizar la fecha de
trmino de ste, como tambin se registrar el estado del cobro del trabajo y los
pagos asociados a ste.

Mantenedor de insumos: Es el mantenedor en donde se realizarn los procesos de


ingreso, seleccin, eliminacin y actualizacin de la informacin de los
materiales y herramientas ocupadas en cada trabajo a desarrollar, se registran
datos como nombre del material, descripcin del material, marca, stock actual y
mnimo, y rut de la empresa que provee el insumo.

Mantenedor de proveedores: Es donde se procede al ingreso, seleccin,


eliminacin y actualizacin de los datos de los diferentes proveedores de
materiales y/o herramientas que se usarn en los diferentes servicios requeridos,

manteniendo siempre guardada su informacin para que sta pueda ser


consultada en el momento en que se requiera.

Mantenedor de vehculos: Ac se procede a ingresar, seleccionar, actualizar o


eliminar la informacin de los diferentes vehculos que se han trabajado, para as
tener registro de todos los trabajos realizados en los diferentes vehculos, con sus
correspondientes clientes (personas o empresas), manejando datos como marca
del vehculo, modelo, patente.

Funcin para incio y cierre de sesin: Con esta funcin se podr ingresar al
sistema de forma segura con tal de que slo los usuarios del sistema puedan
hacer uso de ste, esta funcin requerir el ingreso del rut, debidamente validado,
y el ingreso de una contrasea, donde ambas tienen que coincidir, para el cierre
de sesin se contar con un link que cerrar la sesin del usuario.

Funcin documentacin: Aqu se archivarn todos las facturas que entren a la


empresa, ya que todo lo que se adquiere es bajo facturas de compra, con esto se
registrar el total de cada factura, para clculos futuros de egresos.

Funcin de stock mnimo de insumos: Funcin que revisa el stock de los


materiales y herramientas, para poder tener control sobre la cantidad mnima de
cada producto para poder trabajar.

Funcin para la emisin de informes: Esta funcin es para que el sistema emita
informes de lo que se pida, ya sea ingresos del da, semana o mes, los egresos,
los pedidos programados para un determinado periodo de tiempo, listado de
clientes, listado de materiales, etc., imprimiendo o mostrando stos por pantalla.

Funcin de finanzas: Es donde se realizarn los clculos de los diferentes


movimientos financieros que haga la empresa durante el da, semana, mes o ao.

1.4.6.

Informacin que se manejar

1.4.6.1. Entradas
- Datos del Usuario: El administrador del sistema deber ingresar los datos de los
diferentes usuarios (nombre, contrasea, RUT, direccin, etc.) que ocuparn el
sistema otorgando diferentes perfiles.
- Datos de clientes personas: El administrador u otro usuario con permiso deber
ingresar por teclado los datos que los clientes le proporcionarn al realizar
pedidos, tales como nombre, RUT, direccin, telfono, etc.
- Datos de clientes empresas: Datos de empresas clientes (automotrices,
automotoras, talleres, etc.) para la instalacin de accesorios.
- Trabajos: Se ingresarn los datos de los trabajos pedidos a la empresa por parte
de los clientes, diferenciado el tipo del trabajo, con tal de identificar si este
corresponde al trabajo sobre un vehculo o proceso.
- Facturas: Se ingresar la informacin de las facturas de compra de insumos y sus
respectivos valores, guardando la informacin en el sistema, para clculos
futuros.
- Datos de empresas proveedoras: Datos de antiguas y nuevas empresas a registrar
por el Usuario para el pedido de accesorio o materiales.
- Datos de vehculos: Informacin de los vehculos y los clientes asociados a stos
ya sean personas o empresas.
- Datos de Insumos: Datos de los diferentes insumos que se usarn en cada
proceso, junto con su nombre, descripcin, empresa proveedora y stock sern
ingresados a la base de datos.
1.4.6.2. Salidas
-

Listas de clientes personas: Mostrar por pantalla la informacin de los clientes


particulares que se encuentran en la base de datos cuando un usuario lo requiera.

Lista de clientes empresas: Muestra la informacin detallada de las empresas


automotrices que han requerido los servicios de IFTUNING y la persona que
efectu el contacto para dichos trabajos.

Lista de Trabajos: Listar los datos de los diferentes trabajos realizados y/o a
realizar segn se requiera.

Lista de empresas proveedoras de insumos: Listar la informacin de las


empresas que proveen a IFTUNING de los materiales y herramientas necesarios
para el modelamiento de vehculos o la creacin de procesos.

Lista de Insumos: Mostrar por pantalla la lista de los insumos que se guardan en
bodega y que son utilizados en el desarrollo de los distintos trabajos.

Informe de movimientos financieros: Recopilar la informacin de los totales


monetarios que salen y entran de la empresa, ingresos y egresos, segn se cobre
por cada trabajo realizado y por lo que se gaste en la obtencin de insumos para
la empresa.

Lista de vehculos: Mostrar por pantalla los datos de los vehculos que estn
siendo o han sido modificados en la empresa y si se requiere, los clientes a los
que stos pertenecen.

1.4.6.3. Entidades de Informacin

Usuario: Tabla que permite registrar usuarios que tienen acceso al sistema,
con perfiles especficos (administrador, empleado), conteniendo:
o

rut_usuario

o login
o pass
o tipo_usu
o

nom_usu

o apell_usu
o dir_usu
o fono_usu
o mail_usu

Trabajo: En esta tabla se almacenarn los datos de los pedidos de los clientes,
ya sean uno o varios vehculos que sern modificados por IFTUNING, o
trabajos procesos como por ejemplo piscinas, cascos, filtros de agua, etc.,
guardando principalmente la fecha de inicio y la fecha de termino de un
trabajo, y el tipo de trabajo sobre el cual trabajar, los campos a trabajar son:
o cod_trabajo
o rut_usuario
o fecha_trab
o estado_trab
o fecha_termino_trab
o valor_trab
o estado_pago_trab
o tipo_trab

Trabajo_veh: Dentro de esta tabla, que se asocia a la tabla trabajo a travs del
cdigo de trabajo, segn el tipo de trabajo que se requiera, si este
corresponde a uno o ms vehculos, se registrar el detalle de lo que se debe
hacer para el cliente, sus campos son:
o cod_trabajo
o pat_vehiculo
o descrip_tveh

Trabajo_proce: En esta tabla, asociada a la tabla trabajo a travs del cdigo


del trabajo, y segn el tipo de trabajo, se guardar la descripcin del trabajo
proceso requerido por un cliente, sus campos son:
o cod_trabajo
o rut_cliente
o descrip_proce

Vehculo: Esta tabla se compone de los datos de los distintos vehculos que
son refaccionados por Iftuning, que estn asociados a una empresa o a una
persona en particular, contiene:
o pat_vehiculo
o rut_cliente
o modelo
o marca
o color

Cliente: En esta tabla se registrar los datos de todos los clientes que lleguen
a Iftuning en busca de los servicios prestados, siendo stos personas
particulares o empleados de empresas que van en busca de ofertas para la
remodelacin de vehculos de empresas, los campos que la componen son:
o rut_cliente
o nom_cliene
o apell_cliente
o fono_cliente
o dir_cliente
o mail_cliente
o tipo_cliente

Cliente_emp: Esta tabla es un registro de interseccin entre cliente y empresa


y se encarga de controlar los datos de un cliente y la empresa a la que ste
pertenece en caso de que una misma empresa solicite un trabajo con distintos
empleados, sus campos son:
o rut_cliente
o rut_emp

Empresa_vehculo: Esta tabla contiene los datos de las empresas


automotrices que estn vinculadas con IFTUNING tras solicitar los servicios
de esta, a travs de un representante. Contiene:
o rut_emp
o nom_emp
o fono_emp
o dir_emp
o mail_emp

Cuotas: Dentro de esta tabla se registrarn las cuotas con la que los clientes
pagarn por los servicios solicitados a Iftuning, de tal forma de llevar un
registro si se paga en una o ms cuotas, los campos que contiene son:
o cod_trabajo
o fecha_pago_cuota
o num_cuota
o tipo_pago
o valor_cuota
o estado_cuota

Factura: Esta tabla contendr los datos de las facturas de compra de insumos,
registrando en ella datos como el valor total de la compra, el rut de la
empresa que provee los insumos, la fecha en que fueron adquiridos estos
insumos y el cdigo del pedido del insumo para asociarlo al pedido y
comprobar que un pedido ya fue adquirido, sus campos son:
o nro_fact
o cod_ped_ins
o rut_emp_prov
o fecha_fact
o total_fact

Detalle_factura: Esta tabla contendr el detalle de la factura de compra de


insumos, con la cual se podr ver el valor por unidad de cada insumo y la
cantidad adquirida de cada insumo en una compra, sus correspondientes
campos son:
o cod_insumo
o nro_fact
o cant_ins
o precio_unidad

Empresa_prov: En esta tabla se incluyen datos de las empresas que


proporcionan insumos a la empresa como la fibra de vidrio (materia prima),
resinas, acetonas, aceleradores, catalizadores y herramientas varias como
mascarillas, guates de ltex etc., sus campos son:
o rut_emp_prov
o nom_emp_prov
o dir_emp_prov
o fono_emp_prov
o mail_emp_prov

Insumo: En esta tabla se ingresarn los datos de los materiales y herramientas


ocupados en la manufacturacin de los trabajos pedidos por los clientes, con
sus respectivos nombres, descripcin del insumo, el stock mnimo que este
puede alcanzar y el stock actualizado que se tiene en bodega, un detalle de la
medida de los insumos de los cuales se requiere esta informacin e
identificando que empresa es quien provee cada insumo, sus campos son:
o cod_insumo
o nom_ins
o tipo_ins
o desc_ins
o stock_actual_ins
o stock_min_ins
o desc_med_ins
o rut_emp_prov

Detalle_insumo: En esta tabla se relacionarn la empresa proveedora de


insumos con los insumos en donde se manejar la marca de los insumos y

relacionar los datos de rut de empresa con el cdigo nico de cada insumo.
Sus campos son:
o rut_emp_prov
o cod_insumo
o marca

Medida_material: En esta tabla se encontrarn datos que corresponden a los


insumos que pertenecen al grupo de materiales, relacionndose con la tabla
de insumos a travs del cdigo de la medida del material, el cual apunta a la
unidad de medida de un material. Sus campos son:
o Cod_med_mat
o Unidad

1.4.6.4. Modelo de datos

Diagrama 1-3. Diagrama de Modelo de datos

1.4.6.5. Condicionantes de diseo


El sistema ser desarrollado sobre una plataforma de Windows XP, para el
manejo de base de datos MySQL, los lenguajes a utilizar sern PHP, HTML y se
utilizarn herramientas como Javascript y Apache.
El sistema se ubicar en una intranet, por lo que no ser indispensable la
conexin a Internet.
Se escogi como gestor de base de datos a MySQL por la facilidad y rapidez de
trabajo que tiene con el lenguaje PHP y por el factor de que es un gestor gratuito.
Como servidor se ocupar Apache ya que es un servidor multiplataforma y
gratuito.
Los tiempos de respuesta sern instantneos ya que no se ver afectado por la
congestin de la red, ya que se encontrar dentro de una intranet.
Esta aplicacin no necesita de un hardware potente o de algn otro software en
especfico.

CAPTULO 2:

MEDIO AMBIENTE COMPUTACIONAL Y DESCRIPCIN


DE LA BASE DE DATOS

2.

MEDIO AMBIENTE COMPUTACIONAL Y DESCRIPCIN DE LA


BASE DE DATOS

2.1.

DESCRIPCIN DEL RECURSO COMPUTACIONAL RELACIONADO

2.1.1.

Configuracin del sistema


A continuacin se detallarn los equipos, con sus caractersticas principales,

donde se desarrollar el sistema y el equipo con el que debe contar el cliente, con los
requerimientos mnimos para que el sistema funcione ptimamente.
A. Equipo donde se desarrollar el sistema:
EQUIPO 1 (Desktop):
- AMD ATHLON X2 2800 MHz.
- Memoria RAM 4 GB PC-6400.
- Disco Duro 320 GB.
- Unidad de DVD-RW Samsung 16X.
- Monitor LCD Samsung 15.
- Tarjeta de Red Integrada 10/100 MB.
- Mouse Genius ptico 2 botones con Scroll, USB.
- Teclado Genius, ps2.
EQUIPO 2 (Laptop):
- AMD TURION 64 X2 TL-56 1800 MHz.
- Memoria RAM 3 GB PC-5200.
- Disco Duro 160 GB.
- Unidad de DVD-RW LG 16X.
- Monitor LCD 15,4.
- Tarjeta de Red Integrada 10/100 MB.
- Tarjeta de Red Inalmbrica 802.11 b/g.

B. Equipo donde se ejecutar el sistema:


- AMD Sempron 140 2700 MHz.
- Memoria RAM 1 GB PC-6400.
- Disco Duro 160 GB.
- Unidad de DVD-RW LG 16X.
- Monitor CRT AOC 15.
- Tarjeta de Red Integrada 10/100 MB.
- Mouse Logitech ptico 2 botones con Scroll, ps2.
- Teclado Logitech, ps2.
2.1.2.

Software Utilizado
A. Sistema Operativo (Desktop)
Microsoft Windows Vista: El sistema operativo ocupado en el desktop es

Windows Vista Ultimate de 64 bits, con el cual se logra tener un rendimiento ptimo, ya
que el equipo es relativamente nuevo y se ha verificado que es compatible con los
distintos software a ocupar para el desarrollo del sistema.
B. Sistema Operativo (Laptop)
Microsoft Windows Xp: El sistema operativo ocupado en el laptop es Windows
Xp Profesional con Service pack 3 de 32 bits, con el cual se logra una compatibilidad
mxima de todos los software a utilizar.
C. Herramientas de desarrollo de software.
PHP Designer 2008: Esta herramienta se utilizara para trabajar el lenguaje PHP
de manera ms ordenada y segura ya que esta herramienta cuenta con autocorreccin, lo
que facilitar la escritura del lenguaje.
XAMPP 2.2.14: Esta herramienta nos proporcionar los servicios de hosting y
administracin de base de datos, con programas como Apache y MySQL.

D. Lenguajes de Comandos.
PHP Hipertext Pre-procesor: Este lenguaje ser utilizado para la creacin de
pginas de consulta y manejo de la base de datos, incrustado en HTML y ejecutado en
un servidor.
HTML: Este lenguaje se usar para la creacin de ciertos formularios y para el
alojamiento del cdigo PHP.
MySQL: Para este sistema se contar con el motor de base de datos MySQL, el
cual es un sistema de gestin de base de datos relacional, el cual cuenta con una licencia
GPL que permite el uso libre de ste.
JQUERY: Esta biblioteca o framework de Javascript se utilizar para la
validacin de formularios, el cual permite interactuar mejor con el cdigo HTML.

2.2.

DESCRIPCIN DE TABLAS DE LA BASE DE DATOS

A continuacin se describen las tablas que pertenecen al sistema.


2.2.1.

Tabla de Usuarios

Nombre Fsico: usuario


Nombre Lgico: usuario
Descripcin: Contiene los datos de los usuarios que harn uso del sistema.
Clave Primaria: rut_usuario
Clave(s) Fornea(s): No tiene.

Tabla 2-1. Usuario

Nombre del campo

Tipo de datos

Longitud

Descripcin

rut_usuario

Varchar

10

Rut del usuario. (Ej.


11111111-1)

Login

Varchar

30

Nombre de ingreso al
sistema.

Pass

Varchar

20

Contrasea de ingreso
al sistema

tipo_usu(*)

Varchar

15

Tipo de usuario

nom_usu

Varchar

30

Nombre del usuario

apell_usu

Varchar

30

Apellido del usuario

dir_usu

Varchar

40

Direccin del usuario

fono_usu

Varchar

10

Nmero telefnico del


usuario

mail_usuario

Varchar

30

Correo electrnico del


usuario (Ej.
micorreo@dominio.xx)

(*) Los tipos de usuario en estos momentos son A de Administrador y E de Empleado

2.2.2.

Tabla de Trabajos

Nombre Fsico: trabajo


Nombre Lgico: trabajo
Descripcin: Contiene la informacin de los trabajos pedidos de cualquier tipo, que un
cliente solicita.
Clave Primaria: cod_trabajo
Clave(s) Fornea(s): rut_usuario (tabla: usuario)

Tabla 2-2. Trabajo

Nombre del campo

Tipo de datos

cod_trabajo

Longint

Longitud
6

Descripcin
Correlativo del
trabajo.

rut_usuario

Varchar

10

Rut del usuario. (Ej.


11111111-1)

fecha_inicio_trab

Date

Fecha en que se
inicia el trabajo.

estado_trab(*)

Char

Estado en que se
encuentra el trabajo.

fecha_termino_trab

Date

Fecha estimada en
que se entregar el
trabajo.

valor_trab

Integer

Valor del trabajo.

estado_pago_trab(*)

Char

Estado del pago de


un trabajo

tipo_trab(*)

Char

Tipo del trabajo

(*)El estado del trabajo vara en T de Terminado y en E de En Proceso


(*)El estado del pago contendr una P de pagado, E de en proceso de pago para el efecto de cuotas y
una N de no pagado
(*)El tipo de trabajo contendr una V si refiere a trabajos sobre vehculos y una P si se trata de un
proceso

2.2.3.

Tabla de trabajos de vehculos

Nombre Fsico: trabajo_veh


Nombre Lgico: trabajo_veh
Descripcin: Contiene los datos de la descripcin de un trabajo pedido por un cliente
que se realizarn sobre un vehculo.
Clave Primaria: cod_trabajo
Clave(s) Fornea(s): cod_trabajo (tabla: trabajo)

Tabla 2-3. Trabajo_veh

Nombre del campo

Tipo de Datos

Longitud

Descripcin

cod_trabajo

Longint

Correlativo del
trabajo

pat_vehiculo

Varchar

Patente del vehculo


(Ej. XX-XX-XX)

descrip_tveh

Varchar

100

Descripcin del
trabajo a realizar

2.2.4.

Tabla de trabajos de procesos

Nombre Fsico: trabajo_proce


Nombre Lgico: trabajo_proce
Descripcin: Contiene los datos de la descripcin de un trabajo pedido por un cliente
que se realizar en la creacin de un proceso.
Clave Primaria: cod_trabajo
Clave(s) Fornea(s): cod_trabajo (tabla: trabajo)

Tabla 2-4. Trabajo_proce

Nombre del campo

Tipo de Datos

Longitud

Descripcin

cod_trabajo

Longint

Correlativo del
trabajo

rut_cliente

Varchar

10

Rut del cliente (Ej:


11111111-1)

descrip_proce

Varchar

100

Descripcin del
trabajo a realizar

2.2.5.

Tabla de Vehculos

Nombre Fsico: vehculo


Nombre Lgico: vehculo
Descripcin: Contiene los datos de los vehculos pertenecientes a los clientes
particulares y empresas.
Clave Primaria: pat_vehculo.
Clave(s) Fornea(s): rut_cliente (tabla: cliente)

Tabla 2-5. Vehculo

Nombre del campo

Tipo de datos

Longitud

Descripcin

pat_vehculo

Varchar

Contiene la patente
de los vehculos.
(Ej: XX-XX-XX)

rut_cliente

Longint

Correlativo de los
clientes particular y
empresa (Ej:
11111111-1)

Modelo

Varchar

20

Modelo del
vehculo

Marca

Varchar

20

Marca del vehculo

Color

Varchar

20

Color del vehculo

2.2.6.

Tabla de Clientes particulares de vehculos

Nombre Fsico: cliente


Nombre Lgico: cliente
Descripcin: Esta tabla contiene los datos de los clientes que recurren a los servicios de
Iftuning.
Clave Primaria: rut_cliente
Clave(s) Fornea(s): No tiene.

Tabla 2-6. Cliente

Nombre del campo

Tipo de datos

Longitud

Descripcin

rut_cliente

Varchar

10

Rut del cliente


particular de vehculos.
(Ej: 11111111-1)

nom_cliente

Varchar

30

Nombre del cliente

apell_clienre

Varchar

30

Apellido del cliente

fono_cliente

Varchar

10

Telfono del cliente.

dir_cliente

Varchar

30

Direccin del cliente.

mail_cliente

Varchar

30

Correo electrnico del


cliente. (Ej.
micorreo@dominio.xx)

tipo_cliente(*)

Char

Tipo del cliente

(*) Corresponde al tipo del cliente P Persona y E Empresa

2.2.7.

Tabla clientes empresas

Nombre Fsico: cliente_emp


Nombre Lgico: cliente_emp
Descripcin: Contiene los datos de cliente y empresa, para identificar los clientes que
pertenecen a una empresa.
Clave Primaria: rut_cliente + rut_emp
Clave(s) Fornea(s): No tiene.

Tabla 2-7. Cliente_emp

Nombre del campo

Tipo de datos

Longitud

Descripcin

rut_cliente

Varchar

10

Rut del cliente


perteneciente a una
empresa (Ej.
11111111-1)

rut_emp

Varchar

10

Rut de la empresa
(Ej. 55555555-5)

2.2.8.

Tabla de Empresas de vehculos

Nombre Fsico: empresa_vehculo


Nombre Lgico: empresa_vehiculo
Descripcin: Esta tabla contiene la informacin de las empresas automotrices que
recurren de los servicios de Iftuning.
Clave Primaria: rut_empresa
Clave(s) Fornea(s): No tiene

Tabla 2-8. Empresa_Vehiculo

Nombre del campo

Tipo de datos

Longitud

Descripcin

rut_emp

Varchar

10

Rut de la empresa
automotriz (Ej.
55555555-5)

nom_emp

Varchar

20

Nombre de la empresa
automotriz

fono_emp

Varchar

10

Telfono de la empresa
automotriz

dir_emp

Varchar

30

Direccin de la
empresa automotriz

mail_emp

Varchar

30

E-mail de la empresa
automotriz (Ej.
micorreo@dominio.xx)

2.2.9.

Tabla cuota

Nombre Fsico: cuota


Nombre Lgico: cuota
Descripcin: Se registra los datos de las cuotas que toman los clientes en pagar un
trabajo a la empresa, ya sea una o ms cuotas.
Clave Primaria: cod_trabajo + fecha_pago_cuota
Clave(s) Fornea(s): cod_trabajo (tabla: trabajo)

Tabla 2-9. Cuota

Nombre del campo

Tipo de datos

Longitud

Descripcin

cod_trabajo

Longint

cdigo del trabajo

fecha_pago_cuota

Date

10

Fecha del pago de


las cuotas

num_cuota

Integer

Numero de la cuota

tipo_ pago(*)

Char

Tipo del pago

valor_cuota

Longint

Valor a pagar de la
cuota

estado_cuota(*)

Char

Estado de la cuota

(*) Corresponde al estado de la cuota P de Pagado y N de No Pagado

2.2.10. Tabla Factura


Nombre Fsico: factura
Nombre Lgico: factura
Descripcin: Se registran los datos de las facturas de compra de insumos.
Clave Primaria: nro_factura
Clave(s) Fornea(s): cod_ped_ins (tabla: pedido_insumo), rut_emp_prov (tabla:
empresa_prov)

Tabla 2-10. Factura

Nombre del campo

Tipo de datos

Longitud

Descripcin

nro_fact

Longint

20

Nmero de factura

cod_ped_ins

Longint

Correlativo del
pedido de insumo

rut_emp_prov

Integer

15

Rut de la empresa
proveedora (Ej.
55555555-5)

fecha_fact

Char

Fecha de emisin de
la factura

total_fact

Char

Total de la compra
por factura

2.2.11. Tabla detalle de la factura


Nombre Fsico: detalle_factura
Nombre Lgico: detalle_factura
Descripcin: Registra el detalle de la factura por la compra de insumo como la cantidad
de insumo adquirido y el precio unitario de ste.
Clave Primaria: nro_fact + cod_insumo
Clave(s) Fornea(s): nro_fact (tabla: factura), cod_insumo (tabla: insumo)

Tabla 2-11. Detalle_factura

Nombre del campo

Tipo de datos

Longitud

Descripcin

nro_fact

Longint

20

Nmero de factura

cod_insumo

Longint

Correlativo del
insumo

cant_ins

Integer

Cantidad adquirida
del insumo

precio_unidad

Integer

Precio unitario del


insumo

2.2.12. Tabla de empresas proveedoras


Nombre Fsico: empresa_prov
Nombre Lgico: empresa_prov
Descripcin: Registra los datos de las empresas que proveen de insumos para el
desarrollo de los trabajos.
Clave Primaria: rut_emp_prov
Clave(s) Fornea(s): No tiene

Tabla 2-12. Empresa_prov

Nombre del campo

Tipo de datos

Longitud

Descripcin

rut_emp_prov

Integer

15

Rut de la empresa
proveedora (Ej.
55555555-5)

nom_emp_prov

Varchar

20

Nombre de la
empresa

dir_emp_prov

Varchar

40

Direccin de la
empresa

fono_emp_prov

Varchar

10

Telfono de la
empresa

mail_emp_prov

Varchar

20

E-mail de la
empresa (Ej.
correo@dominio.cl)

2.2.13. Tabla de Insumos


Nombre Fsico: insumo
Nombre Lgico: insumo
Descripcin: Contiene la informacin de las herramientas y materiales con las que se
trabajar.
Clave Primaria: cod_insumo
Clave(s) Fornea(s): rut_emp_prov (tabla: empresa_prov)

Tabla 2-13. Insumo

Nombre del campo

Tipo de Datos

Longitud

Descripcin

cod_insumo

Longint

Correlativo de los
insumos

nom_ins

Varchar

20

Nombre de los
insumos

tipo_ins(*)

Char

Tipo de insumo

desc_ins

Varchar

50

Descripcin de los
insumos

stock_actual_ins

Integer

Stock actual de los


insumos

stock_min_ins

Integer

Stock mnimo que


deben tener los
insumos

Cant_medida

Integer

Medida del insumo


especfico para
materiales los
cuales poseen
unidad de medida

Cod_med_mat

Integer

Correlativo de la
unidad de la medida
si el insumo es
especificado como
material

(*) Corresponde al tipo de insumo que pueden ser adquiridos H de herramienta y M de material

2.2.14. Tabla de Detalle de Insumos


Nombre Fsico: detalle_insumo
Nombre Lgico: detalle_insumo
Descripcin: Contiene la informacin del detalle de los insumos con tal de identificar
que un insumo pertenece a una empresa en especfico, adems de guardar la marca a la
que pertenece dicho insumo.
Clave Primaria: cod_insumo + rut_emp_prov
Clave(s) Fornea(s): cod_insumo (tabla: insumo), rut_emp_prov (tabla: empresa_prov)

Tabla 2-14. Detalle_insumo

Nombre del campo

Tipo de Datos

Longitud

Descripcin

Rut_emp_prov

Varchar

10

Rut de la empresa
proveedora del
insumo

Cod_insumo

Integer

10

Correlativo del
insumo

marca

Varchar

20

Marca del
fabricante del
insumo

2.2.15. Tabla de medida del material


Nombre Fsico: medida_material
Nombre Lgico: medida_material
Descripcin: Contiene la informacin de aquellos insumo que corresponden al tipo
especfico material, en la que se registra la unidad de medida con la que se rige un
material en particular.
Clave Primaria: cod_ med_mat
Clave(s) Fornea(s): No tiene

Tabla 2-15. Medida_material

Nombre del campo

Tipo de Datos

Longitud

Descripcin

Cod_med_mat

Int

Correlativo de la
unidad de medida
del material

unidad

Varchar

15

Nombre de la
unidad de medida

CAPTULO 3:

DESCRIPCIN DE PROGRAMAS

3.

DESCRIPCIN DE PROGRAMAS

En este punto se darn a conocer el diagrama de menes y el diagrama modular


correspondientes al sistema.

3.1.

DIAGRAMA MODULAR

A continuacin se muestra el diagrama modular del sistema.

Diagrama 3-1. Diagrama Modular

3.2.

DIAGRAMA DE MENES

A continuacin se muestra un ejemplo del diagrama que corresponde a las


opciones del men que presenta el sistema.

Diagrama 3-2. Diagrama de menes

3.3.

LISTA DE PROGRAMAS

En la siguiente lista se presenta los programas que correspondern al sistema y


la respectiva descripcin de cada parte:

Tabla 3-1. Lista de programas

Nombre del Programa


1

Inicio de sesin

Descripcin
Se requiere RUT y Password del
usuario para poder ingresar al sistema.

Cambio de contrasea

Se requiere Password actual del usuario


y el nuevo Password a usar.

Mantenedor de Usuarios

El administrador operar los ingresos,


consultas,

actualizaciones

de

informacin y dadas de baja de los


trabajadores de la empresa.
4

Mantenedor de Clientes

El

usuario

manejar

el

ingreso,

consulta, actualizacin y eliminacin


de datos especficos de un cliente.
5

Mantenedor de Empresas

En este mantenedor se manipular el


ingreso,

consulta,

actualizacin

eliminacin de las empresas afiliadas a


Iftuning y se manejar la relacin entre
la empresa y el representante de
empresa.
6

Mantenedor de Trabajos en Vehculos

Ingreso,

consulta,

actualizacin,

eliminacin y listado de los trabajos


que se realicen en vehculos ya sea a
clientes particulares como empresas.
7

Mantenedor de Trabajos de Otros El usuario podr ingresar, consultar,


Servicios

modificar, eliminar y listar los trabajos


realizados referentes a servicios ajenos
a vehculos.

Tabla 3-1. Lista de programas (Continuacin)

Nombre del Programa


8

Mantenedor de Vehculos

Descripcin
En esta seccin el usuario podr
ingresar, consultar y actualizar los
datos de los vehculos de los clientes de
Iftuning.

Mantenedor de Insumos

El usuario podr ingresar, consultar,


actualizar y ver el stock en forma de
lista, de los insumos en bodega.

10

Mantenedor de Proveedores

Se manejar la insercin, consulta y


actualizacin de los proveedores de
insumos de la empresa.

11

Control de Facturas

Controla el ingreso y la consulta de las


facturas de compra de insumos.

12

Control de Cuotas

Se controlar el estado de las cuotas


que presentan los clientes.

3.4.

DESCRIPCIN DE PROGRAMAS

A continuacin, la descripcin de los programas que se emplearn en el


sistema.
3.4.1.

Inicio de sesin

Nombre Fsico: Login.php


Objetivo: Muestra la pgina de inicio y entrada al sistema de administracin y
control.
Descripcin: En esta pantalla se requiere el RUT y el password para poder entrar
al cuadro de administracin.
Diagrama de Bloque:

Diagrama 3-3. Diagrama de bloque inicio de sesin

Reglas de proceso: En esta pgina se piden los datos de RUT y Password al


usuario que debe estar contratado previamente para poder ingresar al sistema,
cuando los datos son correctos, se direccionar a la pgina de inicio.php en
donde el usuario ya se encontrar dentro del sistema.
Pantalla:

Figura 3-1. Pantalla de inicio de sesin

3.4.2.

Pantalla principal

Nombre Fsico: inicio.php


Objetivo: Muestra la pgina principal del sistema la que muestra una breve resea
de la empresa y se puede ver la barra de men.
Descripcin: En esta pgina principal se puede navegar por los diferentes
formularios gracias a la barra de menes.
Diagrama de Bloque:

Diagrama 3-4. Diagrama de bloque pantalla principal

Reglas de proceso: Al ingresar al sistema se cargar la pgina de inicio que


contiene el men principal con el cual se puede acceder a los formularios de
administracin de datos ya sea de usuarios, clientes, vehculos, etc.
Pantalla:

Figura 3-2. Pantalla principal

3.4.3.

Ingresar Usuario

Nombre Fsico: ingresar_usuario.php


Objetivos: Muestra el formulario a llenar con los datos de los nuevos usuarios del
sistema, quienes tendrn diferentes perfiles de usuarios como administrador y
empleado.
Descripcin: Se llenarn los diferentes campos, ya sean RUT, nombre, direccin,
telfono, e-mail, etc., con los datos del nuevo empleado, luego se presionar el
botn de ingresar para que estos datos sean validados y luego ingresados a la
base de datos correspondiente.
Diagrama de Bloque:

Diagrama 3-5. Diagrama de bloque Ingresar Usuario

Reglas de procesos: Al apretar ingresar usuario desde el men principal se


despliega la pgina ingresar_usuario.php en la que se tienen que ingresar el RUT
del usuario, nombre, apellido y tipo de usuario como datos principales, y la
informacin general como la direccin de residencia, fono, email. Al presionar el
botn de ingresar se valida que el RUT sea correcto y que no exista en la base de
datos, adems de validar de que todos los campos estn llenos. Si los datos son
correctos se ingresan en la base de datos.
Pantalla:

Figura 3-3. Pantalla Ingresar Usuario

3.4.4.

Consultar Usuario

Nombre Fsico: seleccionar_usuario.php


Objetivos: Muestra una pgina en donde se pide el RUT de usuario, para as ser
buscado y mostrar sus datos por pantalla.
Descripcin: Se llena el campo que pide el RUT del usuario para as poder
consultarlo a la base de datos y mostrar los datos de Nombre, Direccin, E-mail,
Telfono, etc., por pantalla.
Diagrama de Bloque:

Diagrama 3-6. Diagrama de bloque seleccionar usuario

Reglas de proceso: Al ingresar el RUT del usuario en el campo en blanco que se


muestra en pantalla, se proceder a apretar el botn Seleccionar y as mostrar
en pantalla por medio de una tabla los datos del usuario en cuestin.

Pantalla:

Figura 3-4. Pantalla seleccionar usuario

Figura 3-5. Pantalla datos del usuario seleccionado

3.4.5.

Modificar Usuario

Nombre Fsico: actualizar_usuario.php


Objetivos: Actualizar los datos de algn usuario seleccionado, tras ingresar el
RUT del usuario.
Descripcin: Muestra un formulario donde se debe ingresar el RUT de un usuario
al verificar el RUT se muestra el formulario con los datos de este para proceder a
la modificacin, el RUT no se puede modificar.
Diagrama de Bloque:

Diagrama 3-7. Diagrama de bloque actualizar usuario

Reglas de proceso: Al ingresar un RUT en el formulario se debe apretar el botn


seleccionar, luego se valida el RUT y si es correcto se muestra un nuevo
formulario con los datos del usuario, los cuales pueden ser modificados a
excepcin del RUT, al apretar el botn actualizar se valida que los campos de
texto no estn en blanco, si todo es correcto se actualiza la base de datos.
Pantalla:

Figura 3-6. Pantalla de modificacin de usuario

3.4.6.

Eliminar Usuario

Nombre Fsico: eliminar_usuario.php


Objetivos: Eliminar los datos de un usuario que no se encuentre ligado a algn
trabajo.
Descripcin: Muestra un formulario en el que se pide el ingreso de un RUT para
as buscar en la base de datos al usuario y seguir con el proceso de eliminacin.
Diagrama de Bloque:

Diagrama 3-8. Diagrama de bloque eliminar usuario

Reglas de proceso: Se muestra un formulario en donde hay un campo en blanco


que pide ingresar el RUT y as consultar con la base de datos la existencia del
usuario y su existencia en las diferentes tablas, verificando que la base de datos
no quede inconsistente, cuando se verifique que todo est listo para eliminar, se
proceder con la eliminacin de los datos del usuario en cuestin. En caso que se
quiera eliminar al usuario y sus datos tambin se encuentren en otras tablas, slo
se proceder a dar de baja al usuario dejando sus datos bloqueados para que no
puedan ser usados posteriormente.
Pantalla:

Figura 3-7. Pantalla eliminacin de usuario

3.4.7.

Ingresar Cliente

Nombre Fsico: ingresar_cliente.php


Objetivos: Ingresar los datos de un nuevo cliente a la base de datos, para tenerlos
disponibles para futuras operaciones, ya sea de consulta o actualizacin de los
datos, como tambin para el ingreso de nuevos trabajos, ya sea de ndole
vehicular como tambin trabajos de otros servicios.

Descripcin: Muestra un formulario con los campos a llenar con los datos del
cliente para luego ser ingresado a la base de datos.
Diagrama de Bloque:

Diagrama 3-9. Diagrama de bloque ingresar cliente

Reglas de proceso: Se muestra en un formulario los campos a rellenar con los


datos del cliente nuevo, ya sea Nombre, RUT, Direccin, E-mail, Telfono, etc.,
para luego proceder con el proceso de validacin de estos datos y posteriormente
con el ingreso a la base de datos de los datos del cliente.
Pantalla:

Figura 3-8. Pantalla de ingreso de cliente

3.4.8.

Seleccionar Cliente

Nombre Fsico: seleccionar_cliente.php


Objetivos: Mostrar los datos de los clientes que estn registrados en la empresa.
Descripcin: Muestra un formularios con el campo de RUT y luego una pgina
con los datos del cliente consultado.
Diagrama de Bloque:

Diagrama 3-10. Diagrama de bloque seleccionar cliente

Reglas de proceso: Se presenta un formulario con un campo de texto en el cual se


debe ingresar un RUT, luego de apretar el botn de consulta se valida que el
RUT sea correcto y exista en la base de datos con lo que se muestra una pgina
con los datos del cliente presentados en una tabla.
Pantalla:

Figura 3-9. Pantalla cliente seleccionado

3.4.9.

Actualizar Cliente

Nombre Fsico: actualizar_cliente.php


Objetivos: Actualizar los datos de los clientes que estn registrados en la
empresa, datos como su direccin, telfono, etc.
Descripcin: Mostrar un formulario en donde se requiere el RUT del cliente y as
proceder con la actualizacin de sus datos.
Diagrama de Bloque:

Diagrama 3-11. Diagrama de bloque actualizar cliente

Reglas de proceso: Se presenta un formulario con un campo, el que hay que


llenar con el RUT del cliente y luego apretar el botn de ingresar, de esta manera
se despliegan los datos del cliente, estando algunos solamente habilitados para
modificar, despus de cambiar los datos, se presiona el botn de actualizar y se
procede la validacin de los datos con su posterior actualizacin en la base de
datos.
Pantalla:

Figura 3-10. Pantalla modificar datos cliente

3.4.10. Eliminar Cliente


Nombre Fsico: eliminar_cliente.php
Objetivos: Eliminar de manera lgica a los clientes que se encuentren registrados
con la empresa.
Descripcin: Se muestra un formulario en donde se pide el RUT del cliente que
se desea eliminar de manera lgica del sistema.
Diagrama de Bloque:

Diagrama 3-12. Diagrama de bloque eliminar cliente

Reglas de proceso: Se debe ingresar el RUT del cliente que se desea eliminar por
cual sea el motivo y luego apretar en el botn de eliminar, de esta manera de
proceder a la validacin y comprobacin de que el resto de las tablas no queden
inconsistentes.
Pantalla:

Figura 3-11. Pantalla de eliminacin de cliente

3.4.11. Listar Cliente


Nombre Fsico: listar_cliente.php
Objetivos: Listar todos los clientes que se encuentran registrados con la empresa.
Descripcin: Muestra un formulario con una tabla en donde se encuentra una lista
con todos los clientes y sus datos ms importantes.
Diagrama de Bloque:

Diagrama 3-13. Diagrama de bloque listar cliente

Reglas de proceso: Slo se debe ingresar al formulario de listar cliente para ver la
lista desplegada con los datos de los clientes que se encuentran en la base de
datos.
Pantalla:

Figura 3-12. Pantalla listar cliente

3.4.12. Ingresar Empresa


Nombre Fsico: ingresar_cliente_emp.php
Objetivos: Ingresar los datos de las empresas automotrices que requieren de los
servicios de Iftuning y tambin poder relacionarlas con sus representantes.
Descripcin: Muestra un formulario con campos a llenar con los datos de la
empresa como RUT, nombre, fono, etc., y el RUT del cliente representante de la
empresa en cuestin, haciendo un vnculo entre la empresa y el cliente.
Diagrama de Bloque:

Diagrama 3-14. Diagrama de bloque ingresar empresa

Reglas de proceso: Se llenan los campos de RUT del cliente y el de RUT de la


empresa para verificar si es que ya se encuentran vinculados como empresa y su
representante, luego de verificar que la vinculacin no ha sido hecha, se procede
a ingresar los datos de la empresa para registrar la empresa y su representante.
Pantalla:

Figura 3-13. Pantalla de ingreso de empresa

3.4.13. Seleccionar Empresa


Nombre Fsico: seleccionar_cliente_emp.php
Objetivos: Mostrar los datos de una empresa automotriz que se encuentre en los
registros de Iftuning.
Descripcin: Se pide en un formulario el RUT de la empresa a consultar y luego
se presiona el botn de seleccionar para poder desplegar los datos de sta.
Diagrama de Bloque:

Diagrama 3-15. Diagrama de bloque seleccionar empresa

Reglas de proceso: Se muestra un formulario en donde se ingresa el RUT de la


empresa de la que se quieren consultar los datos, al presionar el botn de
seleccionar, se despliegan los datos de la empresa consultada.
Pantalla:

Figura 3-14. Pantalla de seleccin de empresa

3.4.14. Actualizar Empresa


Nombre Fsico: actualizar_cliente_emp.php
Objetivos: Actualizar los datos de las empresas que se encuentran asociadas a
Iftuning.

Descripcin: Se muestra un formulario en donde se pide el RUT de la empresa


para luego proceder con la actualizacin de sus datos.
Diagrama de Bloque:

Diagrama 3-16. Diagrama de bloque modificar datos empresa

Reglas de proceso: Se pide el RUT de la empresa a actualizar y luego se presiona


el botn de seleccionar para as desplegar los datos de la empresa en cuestin,
despus de ingresar los datos nuevos, se aprieta en el botn de actualizar para
hacer la validacin de los datos y posterior actualizacin de stos.
Pantalla:

Figura 3-15. Pantalla de actualizacin de empresa

3.4.15. Eliminar Empresa


Nombre Fsico: eliminar_cliente_emp.php
Objetivos: Eliminar de manera lgica los datos de las empresas que se encuentran
en los registros de Iftuning.
Descripcin: Se muestra un campo de donde se ingresa el RUT de la empresa a
eliminar.
Diagrama de Bloque:

Diagrama 3-17. Diagrama de bloque eliminar empresa

Reglas de proceso: Se ingresa el RUT de la empresa a eliminar y se presiona el


botn de eliminar, luego el sistema procede a validar y comprobar si es que se
puede eliminar sin daar la informacin de otras tablas.
Pantalla:

Figura 3-16. Pantalla de eliminacin de empresa

3.4.16. Listar Empresa


Nombre Fsico: listar_cliente_emp.php
Objetivos: Listar las empresas que se encuentra en los registros de Iftuning.
Descripcin: Muestra una tabla con todas las empresas que se encuentren en la
base de datos de Iftuning.
Diagrama de Bloque:

Diagrama 3-18. Diagrama de bloque listar empresa

Reglas de proceso: Slo se debe ingresar al formulario de Listar Empresa para


que aparezca la tabla con todas las empresas ligadas a Iftuning.
Pantalla:

Figura 3-17. Pantalla de lista de empresa

3.4.17. Ingresar Trabajo en Vehculo


Nombre Fsico: ingresar_trabajo_veh.php
Objetivos: Ingresar los datos de los nuevos trabajos en vehculos que se
encarguen a Iftuning.
Descripcin: Muestra los campos a llenar con los datos de los nuevos trabajos en
vehculos que se le encarguen a Iftuning.
Diagrama de Bloque:

Diagrama 3-19. Diagrama de bloque ingresar trabajo vehculo

Reglas de proceso: Se llenan los campos requeridos, como la Fecha estimada de


trmino, valor del trabajo a realizar, nmero de cuotas, patente del vehculo, etc.,
luego se aprieta en el botn de ingresar y se procede a la validacin de los datos,
la generacin de un cdigo aleatorio nico de trabajo y posterior insercin en la
base de datos.
Pantalla:

Figura 3-18. Pantalla de ingreso de trabajo en vehculo

3.4.18. Seleccionar Trabajo en Vehculo


Nombre Fsico: seleccionar_trabajo_veh.php
Objetivos: Mostrar los datos de los trabajos en vehculos que se encuentren
registrados en la base de datos.
Descripcin: Muestra un formulario en donde se elige de qu manera se quiere
buscar al trabajo que se quiere revisar, ya sea por cdigo de trabajo, RUT del
cliente o patente del vehculo que se encuentra en el taller, luego se ingresa el
dato requerido para as desplegar los datos del trabajo.
Diagrama de Bloque:

Diagrama 3-20. Diagrama de bloque seleccionar trabajo vehculo

Reglas de proceso: Se elige el criterio de bsqueda, luego se ingresa el dato,


segn el criterio elegido y se mostrarn los datos del trabajo seleccionado.
Pantalla:

Figura 3-19. Pantalla de seleccin de trabajos en vehculos

3.4.19. Actualizar trabajo en vehculo


Nombre Fsico: actualizar_trabajo_veh.php
Objetivos: Actualizar los datos de los trabajos que se encuentren registrados en el
sistema.
Descripcin: Muestra un formulario en donde se elige que dato ingresar para
poder actualizar el trabajo que se quiera y luego se procede a la actualizacin de
los datos del trabajo como fecha de trmino, valor trabajo, nmero de cuotas, etc.
Diagrama de Bloque:

Diagrama 3-21. Diagrama de bloque actualizar trabajo en vehculo

Reglas de proceso: Si se ingresa el cdigo del trabajo, se enva a un formulario


con los datos a actualizar y luego proceder con la validacin y actualizacin del
registro. Si se ingresa la patente del vehculo, se mostrar una tabla con todos los
trabajos realizados a ese vehculo y se proceder a elegir el trabajo que se desea
actualizar. Si se ingresa el RUT del cliente, se mostrar una tabla con todos los
trabajos requeridos por el cliente en cuestin y se elegir el trabajo que se desee
actualizar.
Pantalla:

Figura 3-20. Pantalla de seleccin para la actualizacin de trabajos

Figura 3-21. Pantalla de actualizar trabajo de un vehculo seleccionado

3.4.20. Cancelar trabajo en vehculo


Nombre Fsico: cancelar_trabajo_veh.php
Objetivos: Cancelar los trabajos no realizados an y que el cliente desee cancelar
por el motivo que quiera.
Descripcin: Muestra un formulario en donde se elige que dato ingresar para
poder cancelar el trabajo que se quiera y luego se procede a la cancelacin de
ste.
Diagrama de Bloque:

Diagrama 3-22. Diagrama de bloque cancelar trabajo en vehculo

Reglas de proceso: Si se elige por cdigo de trabajo, se pedir el ingreso de ste y


la posterior cancelacin. Si se elige por patente de vehculo, se mostrar una

tabla con todos los trabajos realizados para este vehculo y se elegir cual
cancelar. Si se elige por RUT del cliente, se mostrarn todos los trabajos
realizados a dicho cliente y se elegir cual cancelar.
Pantalla:

Figura 3-22. Pantalla cancelar trabajo en vehculo

3.4.21. Listar trabajo en vehculo


Nombre Fsico: listar_trabajo_veh.php
Objetivos: Listar todos los trabajos que se encuentran en la base de datos.
Descripcin: Muestra un formulario en donde se elige un criterio de bsqueda, ya
sea Estado de Pago (Pagado, Pendiente y No Pagado) o Estado de Trabajo (En
Proceso o Terminado), para luego listar los trabajos segn el criterio que se haya
elegido.
Diagrama de Bloque:

Diagrama 3-23. Diagrama de bloque listar trabajo de vehculos

Reglas de proceso: Se elige el criterio con el que se querr listar los trabajos
realizados o a realizar en vehculos.
Pantalla:

Figura 3-23. Pantalla de listar trabajos de vehculos

3.4.22. Ingresar trabajo proceso


Nombre Fsico: ingresar_trabajo_otro.php
Objetivos: Ingresar los datos de los trabajos que corresponden a Procesos a la
base de datos de Iftuning.
Descripcin: Se muestra un formulario en donde se deben llenar los campos
vacos con los datos del nuevo trabajo a ingresar.
Diagrama de Bloque:

Diagrama 3-24. Diagrama de bloque ingreso de trabajos proceso

Reglas de proceso: Se llenan todos los datos requeridos del nuevo trabajo a
ingresar, luego se presiona el botn ingresar para que el sistema realice la
validacin de los datos y posterior insercin de los datos en la base de datos de la
empresa.
Pantalla:

Figura 3-24. Pantalla ingreso de trabajo proceso

3.4.23. Seleccionar trabajo proceso


Nombre Fsico: seleccionar_trabajo_otro.php
Objetivos: Mostrar los datos de los trabajos que se encuentren en Procesos,
segn sea el criterio de bsqueda.

Descripcin: Se muestra un combo en donde se debe seleccionar el criterio de


bsqueda del trabajo.
Diagrama de Bloque:

Diagrama 3-25. Diagrama de bloque seleccin de trabajo proceso

Reglas de proceso: Si se elige cdigo de trabajo, mostrar los datos de ese


trabajo. Si se elige RUT del usuario se mostrar una tabla con todos los trabajos
de Procesos

tomados por ese empleado. Si se elige RUT del cliente se

mostrar una tabla con todos los trabajos encargados por ese cliente.
Pantalla:

Figura 3-25. Pantalla de seleccin de trabajo por cdigo de trabajo

Figura 3-26. Pantalla de seleccin de trabajo por rut de usuario

3.4.24. Actualizar trabajo proceso


Nombre Fsico: actualizar_trabajo_otro.php
Objetivos: Actualizar los datos de los trabajos que se encuentren en Procesos,
segn sea el criterio.
Descripcin: Muestra un formulario en donde se elige si se quiere actualizar por
cdigo del trabajo, RUT de usuario o RUT del cliente.
Diagrama de Bloque:

Diagrama 3-26. Diagrama de bloque actualizar trabajo proceso

Reglas de proceso: Se elige actualizar por cdigo de trabajo y aparecern los


campos a actualizar del trabajo. Si es por RUT de usuario se desplegar una tabla

con los trabajos de Procesos que hayan sido atendidos por dicho usuario. Si es
por el RUT del cliente se desplegar una tabla con todos los trabajos encargados
por el cliente en cuestin.
Pantalla:

Figura 3-27. Pantalla de seleccin de actualizacin de trabajo

Figura 3-28. Pantalla de actualizacin de trabajo proceso

3.4.25. Listar trabajo proceso


Nombre Fsico: listar_trabajo_otro.php
Objetivos: Listar todos los trabajos que se encuentren en Procesos segn sea el
criterio.
Descripcin: Se muestra un formulario en donde se pide el criterio para listar que
puede ser Estado del Pago o Estado del Trabajo.
Diagrama de Bloque:

Diagrama 3-27. Diagrama de bloque listar trabajo proceso

Reglas de proceso: Se elige si se quiere listar por Estado del Pago o Estado del
Trabajo. Si se elige la primera, se pide elegir si es Pagado, Pendiente o No
Pagado y listar segn se elija. Si se elige Estado del Trabajo, se pide elegir
Terminado o En proceso y se proceder a mostrar la tabla con la lista del criterio
que se elija.
Pantalla:

Figura 3-29. Pantalla listar trabajo proceso

3.4.26. Cancelar trabajo proceso


Nombre Fsico: cancelar_trabajo_otro.php
Objetivos: Poder cancelar los trabajos que an no se realicen y que el cliente
desee cancelar.
Descripcin: Se pide elegir con que dato se quiere eliminar, ya sea cdigo de
trabajo o RUT de cliente.
Diagrama de Bloque:

Diagrama 3-28. Diagrama de bloque cancelar trabajo proceso

Reglas de proceso: Si se elige cdigo de trabajo, se ir a un formulario en donde


se deber ingresar el cdigo del trabajo que se desea cancelar. Si se elige RUT
del cliente, se direccionar a un formulario en donde se deber ingresar el RUT
del cliente, para que luego se despliegue una tabla con todos los trabajos que han
sido pedidos por dicho cliente y un botn para poder cancelar.
Pantalla:

Figura 3-30. Pantalla cancelar trabajo proceso

3.4.27. Pago de cuotas


Nombre Fsico: paga_cuotas.php
Objetivos: Hacer pago de las cuotas correspondientes a los trabajos ya sean
vehiculares o en Procesos.
Descripcin: Se muestra un formulario en donde se pide el RUT del cliente que
llega a pagar sus cuotas en debe.
Diagrama de Bloque:

Diagrama 3-29. Diagrama de bloque pago de cuotas

Reglas de proceso: Se ingresa el RUT del cliente que se acerca a Iftuning a pagar
sus cuotas y en una tabla aparecern todas las cuotas que se encuentran como No
Pagadas en los diferentes trabajos que dicho cliente ha pedido.
Pantalla:

Figura 3-31. Pantalla de pago de cuotas

3.4.28. Ingresar vehculo


Nombre Fsico: ingresar_vehiculo.php
Objetivos: Ingresar los datos de los vehculos que los clientes llevan a Iftuning
para que sean tratados.
Descripcin: Se muestran en pantalla unos cuadros de textos a llenar con los
datos de los nuevos vehculos que los clientes acerquen a la empresa.
Diagrama de Bloque:

Diagrama 3-30. Diagrama de bloque ingreso de vehculos

Reglas de proceso: Se llenan todos los campos con los datos del vehculo como
patente, color, marca, etc., para luego proceder con la validacin e insercin de
estos en la base de datos.
Pantalla:

Figura 3-32. Pantalla ingreso de vehculos

3.4.29. Seleccionar vehculo


Nombre Fsico: seleccionar_vehiculo.php
Objetivos: Mostrar los datos de los vehculos de los clientes y empresas que se
encuentran relacionados con Iftuning.

Descripcin: Se pide el RUT del cliente o RUT de la empresa o Patente del


vehculo para ver los datos del vehculo en cuestin.
Diagrama de Bloque:

Diagrama 3-31. Diagrama de bloque seleccionar vehculo

Reglas de proceso: Se ingresa el RUT del cliente, ya sea particular o


representante y se muestra una tabla con todos los vehculos con sus datos. Si se
ingresa el RUT de la empresa se listarn todos los vehculos que tiene a su
disposicin con sus respectivos datos. Si se ingresa la patente del vehculo se
mostrarn los datos de este vehculo.
Pantalla:

Figura 3-33. Pantalla de seleccin de vehculos

3.4.30. Actualizar vehculo


Nombre Fsico: actualizar_vehiculo.php
Objetivos: Actualizar los datos de los vehculos que se encuentran en la base de
datos.
Descripcin: Se muestra un formulario en donde se debe ingresar la patente del
vehculo al que se le tienen que modificar los datos.
Diagrama de Bloque:

Diagrama 3-32. Diagrama de bloque actualizar vehculos

Reglas de proceso: Se ingresa la patente del vehculo y se muestran los datos


modificables para que el usuario procesa con la actualizacin de datos.
Pantalla:

Figura 3-34. Pantalla actualizar vehculo

3.4.31. Ver factura de insumos


Nombre Fsico: ver_factura.php
Objetivos: Se vern las facturas con su detalle correspondiente.
Descripcin: Muestra una seccin en donde se ingresar el nmero de la factura
que se quiera ver y otra en donde se presiona un botn para ver todas las facturas
disponibles.
Diagrama de Bloque:

Diagrama 3-33. Diagrama de bloque ver factura insumos

Reglas de proceso: Se ingresa el nmero de la factura den el campo vaci para as


desplegar el detalle de la factura, sino se presiona en el botn Ver y se
desplegarn todas las facturas junto con su detalle.
Pantalla:

Figura 3-35. Pantalla ver facturas

Figura 3-36. Pantalla para abrir factura en Excel

3.4.32. Guardar factura de insumos


Nombre Fsico: ingresar_factura.php
Objetivos: Guardar todas las facturas de compra que se consigan en la
adquisicin de nuevos materiales y herramientas a ocupar, si los insumos ya se
encuentran en la base de datos, se actualizarn automticamente sus stocks.
Descripcin: Se muestran los campos para ingresar los datos de la factura a
ingresar, como Nmero de factura, total de factura, cantidad de productos,
proveedor, etc.
Diagrama de Bloque:

Diagrama 3-34. Diagrama de bloque guardar factura

Reglas de proceso: Se ingresan los datos requeridos de la factura y segn la


cantidad de productos, se desplegarn campos a llenar con la cantidad de cada
producto, se selecciona el nombre del producto previamente ingresado, precio
unitario, etc.
Pantalla:

Figura 3-37. Pantalla de ingreso de factura de compra

3.4.33. Ingresar insumo


Nombre Fsico: ingresar_insumo.php
Objetivos: Ingresar los datos de los diferentes materiales y herramientas que se
compran.
Descripcin: Se muestra un combo en donde se elegir si es un material o una
herramienta, para luego desplegar los campos a llenar con los datos del producto
seleccionado.
Diagrama de Bloque:

Diagrama 3-35. Diagrama de bloque ingresar insumo

Reglas de proceso: Se selecciona que es lo que se ingresar, herramienta o


material, los campos a llenar son exactamente iguales excepto porque en
materiales se debe ingresar la medida del material, ya sean kilos, litros, galones,
etc.
Pantalla:

Figura 3-38. Pantalla de ingreso de insumo

3.4.34. Seleccionar insumo


Nombre Fsico: seleccionar_insumo.php
Objetivos: Ver los datos de todos los insumos que se encuentren en la base de
datos.
Descripcin: Se ve una parte en donde se puede elegir qu es lo que se quiere ver,
ya sea material o herramienta, teniendo esto seleccionado, aparecer una
siguiente parte en donde se seleccionara el material o herramienta para ver sus
datos.
Diagrama de Bloque:

Diagrama 3-36. Diagrama de bloque seleccionar insumo

Reglas de proceso: Se selecciona lo que se desea ver, herramienta o material,


teniendo seleccionada la opcin, se debe indicar que material o herramienta se
desea revisar y se desplegar una tabla con sus datos.
Pantalla:

Figura 3-39. Pantalla de seleccin de insumo

3.4.35. Actualizar insumo


Nombre Fsico: actualizar_insumo.php
Objetivos: Actualizar la informacin de los materiales y herramientas que hayan
sido ingresados al sistema.
Descripcin: Se mostrar un combo donde se seleccionar que se desea
actualizar, ya sea material o herramienta, seguido de esto se ver cual insumo se
desea actualizar exceptuando su stock que slo se puede restar.
Diagrama de Bloque:

Diagrama 3-37. Diagrama de bloque actualizar insumo

Reglas de proceso: Se selecciona que se quiere actualizar, teniendo eso


seleccionado se desplegar una tabla con los insumos, se elige el que se desea
actualizar desplegando un pop-up con los datos a actualizar.
Pantalla:

Figura 3-40. Pantalla de seleccin de actualizar insumo

Figura 3-41. Pantalla de actualizacin de insumo

3.4.36. Ver stock de insumo


Nombre Fsico: stock_insumo.php
Objetivos: Ver el stock de los diferentes insumos que se encuentran en la base de
datos del sistema.
Descripcin: Se muestra un formulario en donde se selecciona el tipo de insumo
y luego se muestra una tabla con los insumos y su stock.
Diagrama de Bloque:

Diagrama 3-38. Diagrama de bloque ver stock insumo

Reglas de proceso: Se selecciona lo que se quiere ver, ya sea material o


herramienta para que luego se despliegue una tabla con los nombres de los
insumos y su stock.

Pantalla:

Figura 3-42. Pantalla de revisar el stock de insumos

3.4.37. Ingresar empresa proveedora


Nombre Fsico: ingresar_proveedor.php
Objetivos: Ingresar los datos de las empresas que proveen de los diferentes
materiales y herramientas a Iftuning.
Descripcin: Se muestra un formulario en donde se debe llenar con los datos de
la empresa que provee de insumos.
Diagrama de Bloque:

Diagrama 3-39. Diagrama de bloque ingresar proveedor

Reglas de proceso: Se llenan todos los campos con los datos de las empresas
proveedoras de insumos y luego se presiona el botn de ingresar, para proceder
con la validacin y posterior insercin en la base de datos.
Pantalla:

Figura 3-43. Pantalla de ingreso de empresa proveedora

3.4.38. Seleccionar empresa proveedora


Nombre Fsico: seleccionar_proveedor.php
Objetivos: Ver los datos de los diferentes proveedores que abastecen de insumos
a la empresa.
Descripcin: Se muestra un combo con los diferentes nombres de las empresas
proveedoras, se selecciona la que se desea revisar y se despliegan sus datos.
Diagrama de Bloque:

Diagrama 3-40. Diagrama de bloque seleccionar proveedor

Reglas de proceso: Al seleccionar la empresa que se desee revisar, se desplegar


una tabla con todos los datos de dicha empresa.
Pantalla:

Figura 3-44. Pantalla seleccionar proveedor

3.4.39. Actualizar empresa proveedora


Nombre Fsico: actualizar_proveedor.php
Objetivos: Actualizar los datos de las diferentes empresas proveedoras de
materiales y/o herramientas.
Descripcin: Se muestra un combo con las diferentes empresas que se encuentran
en el sistema para poder actualizar.
Diagrama de Bloque:

Diagrama 3-41. Diagrama de bloque actualizar proveedor

Reglas de proceso: Se selecciona la empresa a la que se le desean actualizar sus


datos, luego se despliegan los datos a actualizar, cuando se termine se presiona el
botn de actualizar para validar y actualizar el registro.
Pantalla:

Figura 3-45. Pantalla de actualizar empresa proveedora

3.4.40. Ingresos
Nombre Fsico: ingresos.php
Objetivos: Ver los ingresos que obtiene la empresa.
Descripcin: Muestra un formulario en donde se elige el criterio en que se desean
ver los ingresos, ya sea por mes, por ao, por da o por un rango de fecha.
Diagrama de Bloque:

Diagrama 3-42. Diagrama de bloque ingresos

Reglas de proceso: Se elige el criterio de bsqueda de los diferentes ingresos,


seguido de esto se despliega una tabla con todos los ingresos realizados en la
fecha seleccionada.
Pantalla:

Figura 3-46. Pantalla de ver ingresos segn da

Figura 3-47. Pantalla ver ingreso segn rango de fecha

3.4.41. Egresos
Nombre Fsico: egresos.php
Objetivos: Ver los egresos que obtiene la empresa.
Descripcin: Se ve un formulario en donde se elige un criterio de fechas en que
se desea listar los egresos de la empresa.
Diagrama de Bloque:

Diagrama 3-43. Diagrama de bloque de egresos

Reglas de proceso: Se elige el criterio de bsqueda de los diferentes egresos que


tiene la empresa en una determinada fecha seleccionada.
Pantalla:

Figura 3-48. Pantalla de egresos segn mes

Figura 3-49. Pantalla de egresos segn ao

3.4.42. Cambiar contrasea


Nombre Fsico: cambia_contrasena.php
Objetivos: Cambiar la contrasea del usuario que se encuentra en sesin.
Descripcin: Se muestra un formulario en donde se ingresa la contrasea actual
para verificar y la contrasea nueva a la que se quiere cambiar.
Diagrama de Bloque:

Diagrama 3-44. Diagrama de bloque cambiar contrasea

Reglas de proceso: Se ingresa al formulario de cambiar contrasea, por medio de


un vnculo que se encuentra en la parte superior del sistema, luego se ingresa la

contrasea actual seguida de la nueva contrasea y se pide reingresar la nueva


contrasea.
Pantalla:

Figura 3-50. Pantalla de cambio de contrasea

3.4.43. Cerrar Sesin


Nombre Fsico: logout.php
Objetivos: Cerrar la sesin que se encuentra activa.
Descripcin: Es un vnculo que al presionarlo se cierra la sesin.
Diagrama de Bloque:

Diagrama 3-45. Diagrama de bloque cerrar sesin

Reglas de proceso: Al presionar el vnculo se cierra la sesin mostrando un


mensaje que dice Su sesin ha terminado.
Pantalla:

Figura 3-51. Pantalla de cerrar sesin

CONCLUSIONES

El tiempo total que tomo el trabajo fue aproximadamente de 8 meses desde que
comenz el proceso hasta terminar el software, la investigacin adicional fue necesaria
pues el lenguaje manejado PHP no era conocido completamente, adems de aprender de
libreras de javascript como jquery y ajax, la asesora del usuario final fue necesaria para
determinar cmo serian algunos de los procesos del sistema y el control que tendra ste
sobre los datos.
La formacin profesional nos ayudo en lo que refiere a la estructura de
programacin lo cual fue indispensable a la hora de programar el software, lo aprendido
sobre base de datos y el manejo de SQL fue indispensable para el desarrollo de todo el
sistema, el sistema aun no se est explotando por parte del usuario final, ya que este se
encuentra en un periodo de cambios estructurales por lo que su faena de momento est
paralizada, por un periodo aproximado de un mes y medio.
Las proyecciones para este software son buenas pues se han dado a conocer por
distintos medios algunos proyectos que requieren de un software muy parecido al creado
en este trabajo y el cual ser la base para la creacin o reestructuracin de este software
y obtener provecho de lo aprendido durante este tiempo.
Las mejoras que podramos aplicar a este software son pequeos detalles de
programacin en lo que refiere a la impresin de algunos informes y en general a lo que
refiere al diseo final del software, a pesar de que el diseo final fue de total agrado del
usuario final, y que no somos diseadores, creemos que aprender un poco mas y ahondar
en el conocimiento de esta parte de la creacin de un software es imprescindible para el
futuro en aspectos personales y laborales.
Finalmente el proceso total se llevo a cabo en total agrado con algunas
complicaciones las cuales fueron nuestros obstculos y con los cuales pudimos aprender
y aplicar soluciones para el desarrollo final de todo el transcurso, que nos impulsa al
mundo laboral de manera ms segura y visionaria.

BIBLIOGRAFA

PHP manuales en lnea autores, Stig Bakken, Gabor Hojtsy, Hartmut


Holzgraefe y Egon Schmid, actualizada al viernes 18 de diciembre de 2010.
Manuales disponibles en: <http://www.php.net/manual/es/>

Manual de PHP en la web, Jaquin Gracia, ultima actualizacin realizada en


08 de agosto de 2006. Disponible en: <http://www.webestilo.com/php/>

MySQL Reference Manual 5.0 en lnea, autor Oracle Corporation and/or its
affiliates,

ultima

actualizacion

realizada

en

2010.

<http://dev.mysql.com/doc/refman/5.0/es/index.html>

Disponible

en:

ANEXO 1: CDIGO FUENTE

Login.php
<!DOCTYPE

html

PUBLIC

"-//W3C//DTD

XHTML

1.0

Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script src="script.js" language="JavaScript"></script>
<link rel="StyleSheet" href="login.css" type="text/css">
<link rel="StyleSheet" href="style.css" type="text/css">
</head>
<body id="body">
<div id="login-principal">
<div id="login-contenido" align="center">
<script language="Javascript">
function validar(e){
tecla_codigo = (document.all) ? e.keyCode : e.which;
if(tecla_codigo==8)return true;
patron

=/[/

a-zA-

Z"""@""#""|""~""""""("")""=""'""""!""?""""""""+""*""`""^""""""_""."":"","";""<
"">""""""\\""&""%""$""""/""{""}"""]/;
tecla_valor = String.fromCharCode(tecla_codigo);
return !patron.test(tecla_valor);
}
function validarfono(e){
tecla_codigo = (document.all) ? e.keyCode : e.which;
if(tecla_codigo==8)return true;
patron

=/[/

a-zA-

Z"""@""#""|""~""""""("")""=""'""""!""?""""""""+""*""`""^""""""_""."":"","";""<
"">""""""\\""&""%""$""""/"]/;
tecla_valor = String.fromCharCode(tecla_codigo);
return !patron.test(tecla_valor);
}
/*function validarletra(e) { // 1
tecla = (document.all) ? e.keyCode : e.which; // 2

if (tecla==8) return true; // 3


patron =/[A-Za-z\s]/; // 4
te = String.fromCharCode(tecla); // 5
return patron.test(te); // 6
} */
function validarletra(e) { // 1
tecla = (document.all) ? e.keyCode : e.which; // 2
if (tecla==8) return true; // 3
patron

/[1234567890"@""#""|""~""""""("")""=""'""""!""?""""""""+""*""`""^""""""_"".""
:"","";""-""<"">""""""\\""&""%""$""""/"]/; // 4
te = String.fromCharCode(tecla); // 5
return !patron.test(te); // 6
}
</script>
<script type="text/javascript" src="jquery.js"></script>
<script>
function ing_usr(){
var pars = $("form").serialize();
$.ajax({
type: "POST",
url: "valida_usuario.php",
data: pars ,
success: function(crea_ok){
//alert (contenido)
$("#datos").html(crea_ok)
}
});
};
</script>
<form id="login" name="login" method="post">
<img class="imging" src="images/candado.png">
<table width="90%" border="0" align="center">
<tr>
<td

colspan="2"

class="td_tabla"><label>LOGIN</label></td>
<tr><td>&nbsp;</td></tr>
<tr>

align='center'

<td width='50%' class='td_tabla tdborde' align='center'>Ingrese


Rut:</td>
<td
name='rut'

align='left'

class="redondear"

class='td_tabla
size='11'

tdborde'>

maxlength='8'

<input

type='text'

onkeypress='return

validar(event)'> <input

type='text'

name='dv'

class='redondear'

size='1'

maxlength='1' onKeyUp='this.value=this.value.toLowerCase();'>
</td>
</tr>
<tr>
<td align="center" class="td_tabla tdborde">Contrasea:</td>
<td align="left" class="td_tabla tdborde"><input class="redondear"
type="password" name="pass"></td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td colspan='2' align="right"><input type="button" class='btn
btnuser' value="Ingresar" onclick='ing_usr()'></td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td colspan='4' align='center'><div id='datos'></div></td>
</tr>
</tr>
</table>
</form>
</div>
</div>
</body>
</html>

Logout.php
<?php
session_start();
// Borramos toda la sesion
session_destroy();
?>
<SCRIPT LANGUAGE="javascript">
alert ("Su sesi\u00f3n ha terminado");
location.href = "login.php";
</SCRIPT>

Diseo de todas las pantallas y men


<?php session_start(); ?>
<!DOCTYPE

html

PUBLIC

"-//W3C//DTD

XHTML

1.0

Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" >
<script src="script.js" language="JavaScript"></script>
<link rel="StyleSheet" href="style.css" type="text/css">
</head>
<body>
<?php include("conexion.php") ?>
<div class ="principal">
<table>
<td align="right"><?php echo "Bienvenido, "; echo $_SESSION['k_username']; ?> <a
href="logout.php">[-Logout-]</a></td>
<td align="left"><a href="cambia_contrasena.php">Cambiar Contrasea</a></td>
</table>
<div

id="header"><img

height="180px" ></div>
<div id="menu2">
<div id="menudiv">
<ul class="menu" id="menu">

src="images/headeriftuningfinal1.jpg"

width="960px"

<li><a href="inicio.php" class="menulink">INICIO</a></li>


<li><a href="#" class="menulink">USUARIOS</a>
<ul>
<li>
<li

class="topline"><a

href="ingresar_usuario.php">Ingresar

Usuario</a></li>
<li><a href="seleccionar_usuario.php">Seleccionar Usuario</a></li>
<li><a href="actualizar_usuario.php">Actualizar Usuario</a></li>
<li><a href="eliminar_usuario.php">Eliminar Usuario</a></li>
</li>
</ul>
</li>
<li><a href="#" class="menulink">CLIENTES</a>
<ul>
<li><a href="#" class="sub">Clientes</a>
<ul>
<li class="topline"><a href="ingresar_cliente.php">Ingresar Cliente</a></li>
<li><a href="seleccionar_cliente.php">Seleccionar Cliente</a></li>
<li><a href="actualizar_cliente.php">Actualizar Cliente</a></li>
<li><a href="eliminar_cliente.php">Eliminar Clientes</a></li>
<li><a href="listar_cliente.php">Listar Clientes</a></li>
</ul>
</li>
<li> <a href="#" class="sub">Empresas</a>
<ul>
<li

class="topline"><a

href="ingresar_cliente_emp.php">Ingresar

Empresa</a></li>
<li><a href="seleccionar_cliente_emp.php">Seleccionar Empresa</a></li>
<li><a href="actualizar_cliente_emp.php">Actualizar Empresa</a></li>
<li><a href="eliminar_cliente_emp.php">Eliminar Empresa</a></li>
<li><a href="listar_cliente_emp.php">Listar Empresa</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#" class="menulink">TRABAJOS</a>
<ul>
<li><a href="#" class="sub">Trabajos con Vehlos</a>

<ul>
<li

class="topline"><a

href="ingresar_trabajo_veh.php">Ingresar

Trabajo</a></li>
<li><a href="seleccionar_trabajo_veh.php">Seleccionar Trabajo</a></li>
<li><a href="actualizar_trabajo_veh.php">Actualizar Trabajo</a></li>
<li><a href="listar_trabajo_veh.php">Listar Trabajos</a></li>
<li><a href="cancelar_trabajo_veh.php">Cancelar Trabajo</a></li>
</ul>
</li>
<li> <a href="#" class="sub">Otros Trabajos</a>
<ul>
<li

class="topline"><a

href="ingresar_trabajo_otro.php">Ingresar

Trabajo</a></li>
<li><a href="seleccionar_trabajo_otro.php">Seleccionar Trabajo</a></li>
<li><a href="actualizar_trabajo_otro.php">Actualizar Trabajo</a></li>
<li><a href="listar_trabajo_otro.php">Listar Trabajos</a></li>
<li><a href="cancelar_trabajo_otro.php">Cancelar Trabajo</a></li>
</ul>
</li>
<li><a href="paga_cuotas.php">Pago de cuotas</a></li>
</ul>
</li>
<li><a href="#" class="menulink">VEHULOS</a>
<ul>
<li>
<li class="topline"><a href="ingresar_vehiculo.php">Ingresar Vehlo</a></li>
<li><a href="seleccionar_vehiculo.php">Seleccionar Vehlo</a></li>
<li><a href="actualizar_vehiculo.php">Actualizar Vehlo</a></li>
</li>
</ul>
</li>
<li><a href="#" class="menulink">INSUMOS</a>
<ul>
<li> <a href="#" class="sub">Facturas</a>
<ul>
<li class="topline"><a href="ver_factura.php">Ver Factura</a></li>
<li><a href="ingresar_factura.php">Guardar factura insumo</a></li>
</ul>

</li>
<li><a href="ingresar_insumo.php">Ingresar Insumo</a></li>
<li><a href="seleccionar_insumo.php">Seleccionar Insumo</a></li>
<li><a href="actualizar_insumo.php">Actualizar Insumo</a></li>
<li><a href="stock_insumo.php">Ver Stock de Insumos</a></li>
</ul>
</li>
<li><a href="#" class="menulink">PROVEEDORES</a>
<ul>
<li>
<li

class="topline"><a

href="ingresar_proveedor.php">Ingresar

Empresa</a></li>
<li><a href="seleccionar_proveedor.php">Seleccionar Empresa</a></li>
<li><a href="actualizar_proveedor.php">Actualizar Empresa</a></li>
</li>
</ul>
</li>
<li><a href="#" class="menulink">FINANZAS</a>
<ul>
<li>
<li class="topline"><a href="ingresos.php">Ingresos</a></li>
<li><a href="egresos.php">Egresos</a></li>
</li>
</ul>
</li>
</ul>
</div>
</div>
<script type="text/javascript">
var menu=new menu.dd("menu");
menu.init("menu","menuhover");
</script>
<script language="Javascript">
function validar(e){
tecla_codigo = (document.all) ? e.keyCode : e.which;
if(tecla_codigo==8) return true;
patron =/[0-9]/;
tecla_valor = String.fromCharCode(tecla_codigo);

return patron.test(tecla_valor);
}
function validarfono(e){
tecla_codigo = (document.all) ? e.keyCode : e.which;
if(tecla_codigo==8)return true;
patron

/[/

a-zA-

Z"""@""#""|""~""""""("")""=""'""""!""?""""""""+""*""`""^""""""_""."":"","";""<
"">""""""\\""&""%""$""""/""{""}"""]/;
tecla_valor = String.fromCharCode(tecla_codigo);
return !patron.test(tecla_valor);
}
/*function validarletra(e) { // 1
tecla = (document.all) ? e.keyCode : e.which; // 2
if (tecla==8) return true; // 3
patron =/[A-Za-z\s]/; // 4
te = String.fromCharCode(tecla); // 5
return patron.test(te); // 6
} */
function validarletra(e) { // 1
tecla = (document.all) ? e.keyCode : e.which; // 2
if (tecla==8) return true; // 3
patron
=/[1234567890"@""#""|""~""""""("")""=""'""""!""?""""""""+""*""`""^""""""_"".
"":"","";""-""<"">""""""\\""&""%""$""""/"]/; // 4
te = String.fromCharCode(tecla); // 5
return !patron.test(te); // 6
}
</script>
<script type="text/javascript" src="jquery.js"></script>
<script>
function ing_datos(){
var pars = $("form").serialize();
$.ajax({
type: "POST",
url: "recibe_datos_usuario.php",
data: pars ,
success: function(crea_ok){
//alert (contenido)

$("#datos").html(crea_ok)
}
});
};
</script>
<?php
function generaSelect()
{
$consulta=mysql_query("SELECT id, opcion FROM region order by id asc ");
// Voy imprimiendo el primer select compuesto por los paises
echo "<select name='region1' id='region1' onChange='cargaContenido(this.id)'
class='select'>";
echo "<option value='0'>Seleccionar</option>";
echo "<option value='0'>-----------------</option>";
while($registro=mysql_fetch_row($consulta))
{
echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
}
echo "</select>";
}
?>
<script type="text/javascript" src="select_dependientes_3_niveles.js"></script>
<div id="contenido">

Ingresar_usuario.php
<form id="usuarios" name="usuarios" method="post" >
<?php
$tipo = $_SESSION['k_tipo'];
if ($tipo=='Administrador'){
echo "
<table width='90%' border='0' align='center'>
<tr>
<br></br>
<br></br>
<td colspan='10' class='td_tabla'>INGRESAR DATOS USUARIO</td>

</tr>
<tr><td>&nbsp;</td></tr>
</table>
<!-- alineacion fieldset con div-->
<div align='center'>
<fieldset>
<legend align='left'><font color='red'>Datos de Usuario</font></legend>
<table width='80%' border='1' align='center'>
<tr>
<td width='39%' class='td_tabla' align='left'><font color = 'red'>(*)</font>
Rut:</td>
<td align='left'><input type='text' name='rut' id='td_proceso'

size='9'

maxlength='8' onkeypress='return validar(event)'> <input type='text' name='dv' id='td_proceso' size='1' maxlength='1'


onKeyUp='this.value=this.value.toLowerCase();'>
</td>
</tr>
<tr>
<td

align='left'

class='td_tabla'><font

color

'red'>(*)</font>

Nombres:</td>
<td align='left'><input type='text' name='nombre' onkeypress='return
validarletra(event)' size='30' maxlength='30'></td>
</tr>
<tr>
<td

align='left'

class='td_tabla'><font

color

'red'>(*)</font>

Apellido:</td>
<td

align='left'><input

type='text'

name='apelli'

onkeypress='return

validarletra(event)' size='30' maxlength='30'></td>


</tr>
<tr>
<td align='left' class='td_tabla'><font color = 'red'>(*)</font> Tipo de
Usuario:</td>
<td align='left'>
<select name='tipo_usuario' >
<option VALUE =''> </option>
<option VALUE ='Administrador'>Administrador</option>
<option VALUE ='Empleado'>Empleado</option>
</select>

</td>
</tr>
</table>
</fieldset>
<tr><td>&nbsp;</td></tr>
<fieldset>
<legend align='left'><font color='red'>Informacin General</font></legend>
<table width='80%' border='1' align='center'>
<tr>
<td width='42%' align='left' class='td_tabla'><font color = 'red'>(*)</font>
Direccin:</td>
<td align='left'><input size=50 type='text' name='dir' maxlength=50 ></td>
</tr>
<!-- comienzo selects dependientes-->
<tr>
<td align='left' class='td_tabla'><font color = 'red'>(*)</font> Region:</td>
<td align='left'>"; generaSelect(); echo"</td>
</tr>
<tr>
<td align='left' class='td_tabla'><font color = 'red'>(*)</font> Provincia:</td>
<td align='left'>
<select disabled='disabled' name='provincia2' id='provincia2' class='select'>
<option value='0'>Seleccionar</option>
</select>
</td>
</tr>
<tr>
<td align='left' class='td_tabla'><font color = 'red'>(*)</font> Comuna:</td>
<td align='left'>
<select disabled='disabled' name='comuna3' id='comuna3' class='select'>
<option value='0'>Seleccionar</option>
</select>
</td>
</tr>
<!--termino selects dependientes-->
<tr>
<td align='left' class='td_tabla'><font color = 'red'>(*)</font> Fono:</td>

<td

align='left'><input

type='text'

name='fono'

onkeypress='return

validarfono(event)' size='15' maxlength='15'></td>


</tr>
<tr>
<td align='left' class='td_tabla'><font color = 'red'>(*)</font> EMail:</td>
<td

align='left'><input

type='text'

name='email'

size='40'

maxlength='40'></td>
</tr>
</table>
</fieldset>
</div>
<!-- termino alineacion de fieldset con </div> -->
<br>
<div align='right'>
<table border='0' width='21%'>
<tr align='right'>
<td colspan='2' align='left'><input class='btn btnsave' type='button'
name='boton1' value=' Ingresar ' onClick='ing_datos()'></td>
</tr>
</table>
</div>
<tr>
<td colspan='4'><div align='center' id='datos'></div></td>
</tr>
<tr><td>&nbsp;</td></tr>
";
}else

echo

denegado.png'>"."<br>"."<div><img

"<img
src='Images/error.png'

src='images/acceso
width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;No tiene Permisos para acceder a este lugar</div>";


?>
</form>
<?php include("conexion.php") ?>
<?php
function ValidaDVRut($rut) {
$tur = strrev($rut);
$mult = 2;
for ($i = 0; $i <= strlen($tur); $i++) {

if ($mult > 7) $mult = 2;


$suma = $mult * substr($tur, $i, 1) + $suma;
$mult = $mult + 1;
}
$valor = 11 - ($suma % 11);
if ($valor == 11) {
$codigo_veri = "0";
} elseif ($valor == 10) {
$codigo_veri = "k";
} else {
$codigo_veri = $valor;
}
return $codigo_veri;
}
$rut1=$_POST['rut'];
$digito=ValidaDVRut($rut1);
$dv=$_POST['dv'];
$rutfin=$rut1.'-'.$dv;
$prueba = strlen($rut1);
$region=$_POST['region1'];
$provincia=$_POST['provincia2'];
$comuna=$_POST['comuna3'];
$sql

"select

count(rut_usuario)

from

usuario

where

rut_usuario='$rutfin'";
$resul = mysql_query($sql,$conexion);
$count = mysql_fetch_array($resul);
if (($prueba > 6)&&($rutfin!='00000000-0') && ($rut1!=00000000) &&
($dv!="")){
if ( $digito == $dv ){
if ($count[0]==0){
$nombre1=trim($_POST['nombre']);
if ($nombre1!=""){
$apelli1=trim($_POST['apelli']);
if ($apelli1!=""){
/*$login1=trim($_POST['login']);
if ($login1!=""){
$pass1=$_POST['pass'];
if ($pass1!=""){*/

$tipo_usuario1=$_POST['tipo_usuario'];
if ($tipo_usuario1!=""){
$dir1=trim($_POST['dir']);
if ($dir1!=""){
if ($region!=0){
if ($provincia!=0){
if ($comuna!=0){
$fono1=trim($_POST['fono']);
if

((strlen($fono1)>6)&&((substr_count($fono1,"-

")==1)||(substr_count($fono1,"-")==0))){
$regexmail = "/[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[azA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))/";
$mail1=trim($_POST['email']);
//if (substr_count($mail1,"@")== 1){
if(preg_match($regexmail,$mail1)){
$instruccion

"insert

into

usuario(rut_usuario,pass,tipo_usu,nom_usu,apell_usu,dir_usu,region_usu,provincia_usu,
comuna_usu,fono_usu,mail_usu,estado)

values

('$rutfin','$rut1','$tipo_usuario1','$nombre1','$apelli1','$dir1','$region','$provincia','$com
una','$fono1','$mail1','Disponible')";
$consulta = mysql_query ($instruccion, $conexion)
or die (mysql_error());
mysql_close ($conexion);
echo "
<script>
alert('Nuevo Usuario Ingresado');
window.location = 'ingresar_usuario.php';
</script>
";
}else echo "
<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe Ingresar un E-Mail v&aacute;lido</div>


";
}else echo "
<div

class='error'><img

height='12px'>&nbsp;&nbsp;&nbsp;Debe
V&aacute;lido</div>
";

src='Images/error.png'
Ingresar

un

width='12px'
Tel&eacute;fono

}else echo "


<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe Seleccionar una Comuna</div>


";
}else echo "
<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe Seleccionar una Provincia</div>


";
}else echo "
<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe Seleccionar una Regi&oacute;n</div>


";
}else echo "
<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe Ingresar una Direcci&oacute;n</div>


";
}else echo "
<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe Seleccionar un Tipo de Usuario</div>


";
}else echo "
<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe Ingresar al menos un Apellido</div>


";
}else echo "
<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe Ingresar al menos un Nombre</div>


";
}else echo "
<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;El RUT de usuario ya se encuentra en la Base de
Datos</div>
";
}else echo "
<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;El digito verificador no corresponde!!</div>


";
}else echo "

<div

class='error'><img

src='Images/error.png'

width='12px'

height='12x'>&nbsp;&nbsp;&nbsp;Ingrese Rut V&aacute;lido</div>


";
?>

Seleccionar_usuario.php
<form id="usuarios" name="usuarios" method="post" >
<?php
$tipo = $_SESSION['k_tipo'];
if ($tipo=='Administrador'){
echo "
<table width='90%' border='0' align='center'>
<tr>
<br>
<br>
<td colspan='3' class='td_tabla'>SELECCIONAR USUARIO</td>
</tr>
<tr><td colspan='3'>&nbsp;</td></tr>
<tr>
<td class='td_tabla' align='right'>Rut Usuario:</td>
<td align='center'><input type='text' name='rut' id='td_proceso'
size='9' maxlength='8' onkeypress='return soloNumeros(event)'> <input type='text' name='dv' id='td_proceso' size='1' maxlength='1'
onKeyUp='this.value=this.value.toLowerCase();'>
<td

align='center'><input

class='btn

btnapply'

type='button'

name='boton2' value='Seleccionar' onclick='sel_datos()'></td>


</td>
<tr><td colspan='3'>&nbsp;</td></tr>
<tr>
<td colspan='4' align='center'><div id='datos'></div></td>
</tr>
</tr>
";
}else

echo

"<img

src='Images/error.png'

src='images/acceso
width='12px'

denegado.png'>"."<br>"."<div><img

height='12px'>&nbsp;&nbsp;&nbsp;No

Permisos para acceder a este lugar</div>";

tiene

?>
</form>
<?php include("conexion.php") ?>
<?php
function ValidaDVRut($rut) {
$tur = strrev($rut);
$mult = 2;
for ($i = 0; $i <= strlen($tur); $i++) {
if ($mult > 7) $mult = 2;
$suma = $mult * substr($tur, $i, 1) + $suma;
$mult = $mult + 1;
}
$valor = 11 - ($suma % 11);
if ($valor == 11) {
$codigo_veri = "0";
} elseif ($valor == 10) {
$codigo_veri = "k";
} else {
$codigo_veri = $valor;
}
return $codigo_veri;
}
$rut = $_POST['rut'];
$digito=ValidaDVRut($rut);
$dv = $_POST['dv'];
$rutfin = $rut.'-'.$dv;
$prueba = strlen($rut);
if

(($prueba>6)&&($rutfin!='00000000-0')

&&

($rut!=00000000)

&&

($dv!="")){
if ( $digito == $dv ){
$instruccion

mysql_query("select

tipo_usu,nom_usu,apell_usu,dir_usu,region_usu,provincia_usu,comuna_usu,fono_usu,m
ail_usu,estado from usuario where rut_usuario = '$rutfin'",$conexion) or die ("Problemas
en el select") ;
$reg=mysql_fetch_array($instruccion);
$log_nom2=$reg['login'];
$tipo2=$reg['tipo_usu'];
if ($tipo2!=""){

$nombre2 = $reg['nom_usu'];
$apell2=$reg['apell_usu'];
$direccion2=$reg['dir_usu'];
$region2=$reg['region_usu'];
$provincia2=$reg['provincia_usu'];
$comuna2=$reg['comuna_usu'];
$fono2=$reg['fono_usu'];
$mail2=$reg['mail_usu'];
$estado = $reg['estado'];
$instruccion1=mysql_query("select

num_reg

from

region

where

provincia

where

comuna

where

id='$region2'",$conexion);
$reg=mysql_fetch_array($instruccion1);
$region3=utf8_encode($reg['num_reg']);
$instruccion2=mysql_query("select

opcion

from

id='$provincia2'",$conexion);
$reg=mysql_fetch_array($instruccion2);
$provincia3=utf8_encode($reg['opcion']);
$instruccion3=mysql_query("select

opcion

from

id='$comuna2'",$conexion);
$reg=mysql_fetch_array($instruccion3);
$comuna3=utf8_encode($reg['opcion']);
echo "
<table

width='100%'

cellspacing='0'

border='2'

cellpadding='5'

bordercolor=black bgcolor=white>
<tr>
<td class='td_tabla' align='left'>Tipo de Usuario:</td>
<td

align='left'><label

value=$nomemprov>";

echo

$tipo2;

echo

"</label></td>
</tr>
<tr>
<td class='td_tabla' align='left'>Nombres:</td>
<td align='left'><label value=$nomemprov>"; echo $nombre2; echo
"</label></td>
</tr>
<tr>
<td class='td_tabla' align='left'>Apellidos:</td>

<td

align='left'><label

value=$nomemprov>";

echo

$apell2;

echo

"</label></td>
</tr>
<tr>
<td class='td_tabla' align='left'>Direcci&oacute;n de Usuario:</td>
<td

align='left'><label

value=$nomemprov>";

echo

$direccion2.",

".$comuna3.", ".$provincia3.", ".$region3; echo "</label></td>


</tr>
<tr>
<td class='td_tabla' align='left'>Tel&eacute;fono de Usuario:</td>
<td

align='left'><label

value=$nomemprov>";

echo

$fono2;

echo

$mail2;

echo

$estado;

echo

"</label></td>
</tr>
<tr>
<td class='td_tabla' align='left'>E-Mail de Usuario:</td>
<td

align='left'><label

value=$nomemprov>";

echo

"</label></td>
</tr>
<tr>
<td class='td_tabla' align='left'>Estado:</td>
<td

align='left'><label

value=$estado>";

echo

"</label></td>
</tr>
</table>
<tr><td>&nbsp;</td></tr>
";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Este RUT no pertenece a nuestra Base de
Datos</div>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Digito verificador incorrecto!!</div>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Debe Ingresar un RUT v&aacute;lido</div>";
?>

Eliminar_usuario.php
<form id="usuarios" name="usuarios" method="post" >
<?php
$tipo = $_SESSION['k_tipo'];
if ($tipo=='Administrador'){
echo "
<table width='90%' border='0' align='center'>
<tr>
<br>
<br>
<td colspan='10' class='td_tabla'>ELIMINAR USUARIO</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td class='td_tabla' align='right'>Rut Usuario:</td>
<td align='center'><input type='text' name='rut' id='td_proceso'
size='9' maxlength='8' onkeypress='return soloNumeros(event)'> <input type='text' name='dv' id='td_proceso' size='1' maxlength='1'
onKeyUp='this.value=this.value.toLowerCase();'>
<td

align='center'><input

class='btn

btndelete'

name='boton2' value=' Eliminar ' onClick='ing_datos()'></td>


</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td colspan='4'><div align='center' id='datos'></div></td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
<table align='left' width='312px' border='0'>
<td align='right'>
<a href='dar_baja_usuario.php'>Dar de Baja al Usuario</a>
</td>
</table>
";

type='button'

}else

echo

"<img

src='Images/error.png'

src='images/acceso
width='12px'

denegado.png'>"."<br>"."<div><img

height='12px'>&nbsp;&nbsp;&nbsp;No

tiene

Permisos para acceder a este lugar</div>";


?>
</form>
<?php session_start() ?>
<?php include("conexion.php") ?>
<?php
function ValidaDVRut($rut) {
$tur = strrev($rut);
$mult = 2;
for ($i = 0; $i <= strlen($tur); $i++) {
if ($mult > 7) $mult = 2;
$suma = $mult * substr($tur, $i, 1) + $suma;
$mult = $mult + 1;
}
$valor = 11 - ($suma % 11);
if ($valor == 11) {
$codigo_veri = "0";
} elseif ($valor == 10) {
$codigo_veri = "k";
} else {
$codigo_veri = $valor;
}
return $codigo_veri;
}
$rut = $_POST['rut'];
$dv=$_POST['dv'];
$digito=ValidaDVRut($rut);
$rut2 = $_POST['rut'].'-'.$_POST['dv'];
$prueba = strlen($rut);
if (($prueba>6)&&($rut2!='00000000-0')&&($rut!="")&&($rut!=00000000)){
if ( $digito == $dv ){
$instruccion4=mysql_query("select nom_usu from usuario where rut_usuario =
'$rut2'",$conexion) or die ("Problemas en el select".mysql_error());
$reg=mysql_fetch_array($instruccion4);
if ($rut2!=$_SESSION[k_rut]){
if ($rut2!='16233808-0'){

if ($reg['nom_usu']!=""){
$instruccion3

='$rut2'",$conexion)

mysql_query("delete
or

die

("<div><img

from

usuario

where

src='Images/error.png'

rut_usuario
width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;No se puede Eliminar un Usuario relacionado con


Trabajos</div>") ;
echo "
<script>
alert('Usuario Eliminado');
window.location = 'eliminar_usuario.php';
</script>
";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Este RUT no pertenece a nuestra Base de
Datos</div>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Imposible eliminar el administrador principal del
sistema</div>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;No se Puede Eliminar un RUT que se encuentre en
uso</div>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;El digito verificador no corresponde!!</div>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Debe Ingresar un RUT v&aacute;lido</div>";
?>

Listar Cliente.php
<form id="clientes" name="clientes" method="post" >
<table width='90%' border='0' align='center'>
<tr>
<br>
<br>
<td colspan='10' class='td_tabla'>LISTAR CLIENTES</td>
<tr><td>&nbsp;</td></tr>
</tr>
<tr>

<td class='td_tabla' align='right' width='30%'>Elija el tipo de cliente:</td>


<td align='center'>
<select name='tipo_cliente'>
<option VALUE =''> </option>
<option VALUE ='Empresa'>Empresa</option>
<option VALUE ='Particular'>Particular</option>
<option VALUE ='Ambos'>Ambos</option>
</select>
</td>
<td align='center'><input class='btn btnlista' type='button' name='boton7'
onclick='list_datos()' value='Listar'></td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td colspan='4' align='center'><div id='datos'></div></td>
</tr>
</form>
<?php include("conexion.php") ?>
<?php
if ($_POST['tipo_cliente']!=""){
if ($_POST['tipo_cliente']=='Empresa'){
$sql = mysql_query("select * from clientes where tipo_cliente =
'Empresa'",$conexion);
$i = 0;
while ($row=mysql_fetch_array($sql)){
$i++;
}
if ($i<>0){
echo "
<table

align='center'

width='90%'

cellspacing='0'

cellpadding='5' bordercolor=black bgcolor=white>


<tr>
<td align='center' class='td_tabla'>Rut</td>
<td align='center' class='td_tabla'>Nombre</td>
<td align='center' class='td_tabla'>Apellido</td>
<td align='center' class='td_tabla'>Mail</td>
<td align='center' class='td_tabla'>Estado</td>

border='2'

";
$consulta=

mysql_query("select

rut_cliente,nom_cliente,apell_cliente,mail_cliente,estado

from

clientes

where

tipo_cliente = 'Empresa' ",$conexion);


for ($i = 1; $resultado=mysql_fetch_array($consulta) ;$i++)
{
echo "<tr><td value='$resultado[rut_cliente]'>$resultado[rut_cliente]</td>
<td value='$resultado[nom_cliente]'>$resultado[nom_cliente]</td>
<td value='$resultado[apell_cliente]'>$resultado[apell_cliente]</td>
<td value='$resultado[mail_cliente]'>$resultado[mail_cliente]</td>
<td value='$resultado[estado]'>$resultado[estado]</td></tr>";
}
echo "
</tr>
</table>
<tr><td>&nbsp;</td></tr>
";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;No

existen

clientes

representantes

de

empresas</div>";
};
if ($_POST['tipo_cliente']=='Particular'){
$sql

mysql_query("select

from

clientes

where

tipo_cliente

'Particular'",$conexion);
$i = 0;
while ($row=mysql_fetch_array($sql)){
$i++;
}
if ($i<>0){
echo "
<table

align='center'

width='90%'

cellspacing='0'

cellpadding='5' bordercolor=black bgcolor=white>


<tr>
<td align='center' class='td_tabla'>Rut</td>
<td align='center' class='td_tabla'>Nombre</td>
<td align='center' class='td_tabla'>Apellido</td>
<td align='center' class='td_tabla'>Mail</td>
<td align='center' class='td_tabla'>Estado</td>

border='2'

";
$consulta=

mysql_query("select

rut_cliente,nom_cliente,apell_cliente,mail_cliente,estado

from

clientes

where

tipo_cliente = 'Particular' ",$conexion);


for ($i = 1; $resultado=mysql_fetch_array($consulta) ;$i++)
{
echo "<tr><td value='$resultado[rut_cliente]'>$resultado[rut_cliente]</td>
<td value='$resultado[nom_cliente]'>$resultado[nom_cliente]</td>
<td value='$resultado[apell_cliente]'>$resultado[apell_cliente]</td>
<td value='$resultado[mail_cliente]'>$resultado[mail_cliente]</td>
<td value='$resultado[estado]'>$resultado[estado]</td></tr>";
}
echo "
</tr>
</table>
<tr><td>&nbsp;</td></tr>
";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;No existen clientes particulares</div>";
};
if ($_POST['tipo_cliente']=='Ambos'){
$sql

mysql_query("select

from

clientes

where

tipo_cliente

'Ambos'",$conexion);
$i = 0;
while ($row=mysql_fetch_array($sql)){
$i++;
}
if ($i<>0){
echo "
<table

align='center'

width='90%'

cellspacing='0'

cellpadding='5' bordercolor=black bgcolor=white>


<tr>
<td align='center' class='td_tabla'>Rut</td>
<td align='center' class='td_tabla'>Nombre</td>
<td align='center' class='td_tabla'>Apellido</td>
<td align='center' class='td_tabla'>Mail</td>
<td align='center' class='td_tabla'>Estado</td>
";

border='2'

$consulta=

mysql_query("select

rut_cliente,nom_cliente,apell_cliente,mail_cliente,estado

from

clientes

where

tipo_cliente = 'Ambos' ");


for ($i = 1; $resultado=mysql_fetch_array($consulta) ;$i++)
{
echo "<tr><td value='$resultado[rut_cliente]'>$resultado[rut_cliente]</td>
<td value='$resultado[nom_cliente]'>$resultado[nom_cliente]</td>
<td value='$resultado[apell_cliente]'>$resultado[apell_cliente]</td>
<td value='$resultado[mail_cliente]'>$resultado[mail_cliente]</td>
<td value='$resultado[estado]'>$resultado[estado]</td></tr>";
}
echo "

</tr>
</table>
<tr><td>&nbsp;</td></tr>
";
}else echo "<div class='error'><img src='Images/error.png' width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;No existen clientes listado como ambos</div>";


}
}else

echo

"<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe seleccionar una opcion para listar</div>";


?>

Ingresar_trabajo_veh.php
<form id="trabajoveh" name="trabajoveh" method="post" >
<table width='90%' border='0' align='center'>
<tr>
<br>
<br>
<td colspan='10' class='td_tabla'>INGRESAR TRABAJO EN
VEHCULOS</td>
</tr>
<tr><td>&nbsp;</td></tr>
<!-<tr><td>&nbsp;</td></tr>
<tr>
<td align='left' class='td_tabla'>Cdigo de Trabajo:</td>

<td

align='left'><input

type='text'

name='codtra'

readonly=''

size='5'></td>
</tr>
-->
<!-- <tr>
<td class='td_tabla' align='left'>Rut Usuario:</td>
<td align='left'><input type='text' name='rut' id='td_proceso'
size='9' maxlength='8' onkeypress='return soloNumeros(event)'> - <input type='text'
name='dv' id='td_proceso' size='1' maxlength='1'>
</td>
</tr>-->
<!--<tr>
<td align='left' class='td_tabla'>Fecha de Inicio del Trabajo:</td>
<td align='left'><input type='text' id='fecha' name='fechini' readonly=''
onChange='fechas(this.value); this.value=borrar'></td>
</tr>-->
<!--

<tr>
<td align='left' class='td_tabla'>Estado del Trabajo:</td>
<td align='left'>
<select name='esttrab' >
<option VALUE ='

'> </option>

<option VALUE ='Terminado'>Terminado</option>


<option VALUE ='En Proceso'>En proceso</option>
</select>
</td>
</tr> -->
</table>
<!-- alineacion fieldset con div-->
<div align='center'>
<fieldset>
<legend align='left'><font color='red'>Datos del Trabajo</font></legend>
<table width='90%' border='1' align='center'>
<tr>
<td

align='left'

class='td_tabla'

width='50%'><font

color

'red'>(*)</font> Fecha Estimada Trmino del Trabajo:</td>


<td

align='left'><input

type='text' id='fecha2' name='fechter'

readonly='' onChange='fechas(this.value); this.value=borrar'></td>


</tr>

<tr>
<td align='left' class='td_tabla'><font color = 'red'>(*)</font>
Valor del Trabajo:</td>
<td

align='left'><input

type='text'

name='valtrab'

onkeypress='return validar(event)' size='7' maxlength='7'></td>


</tr>
<tr>
<td align='left' class='td_tabla'><font color = 'red'>(*)</font>
Cantidad de Cuotas:</td>
<td

align='left'><input

type='text'

name='cuota'

onkeypress='return

validar(event)' size='2' maxlength='2'></td>


</tr>
<tr>
<td align='left' class='td_tabla'><font color = 'red'>(*)</font> Estado del
Pago:</td>
<td align='left'>
<select name='estpag' >
<option VALUE =''> </option>
<option VALUE ='Pagado'>Pagado</option>
<!--<option VALUE ='Pendiente'>Pendiente</option>-->
<option VALUE ='No pagado'>No pagado</option>
</select>
</td>
</tr>
<tr>
<td align='left' class='td_tabla'><font color = 'red'>(*)</font> Tipo de
Pago:</td>
<td align='left'>
<select name='tipag' >
<option VALUE =''> </option>
<option VALUE ='Efectivo'>Efectivo</option>
<option VALUE ='Cheque'>Cheque</option>
</select>
</td>
</tr>
<tr>

<td align='left' class='td_tabla'><font color = 'red'>(*)</font> Fecha de


Pago de cada Cuota</td>
<td align='left'>
<select name='fechpag'>
<option value=''></option>
<option value='05'>05</option>
<option value='10'>10</option>
<option value='15'>15</option>
<option value='20'>20</option>
<option value='25'>25</option>
</select>
</td>
</tr>
<tr>
<td align='left' class='td_tabla'><font color = 'red'>(*)</font>
Patente del Vehculo:</td>
<td align='left'><input type='text' name='patente' maxlength='8'
size='8' onKeyUp='this.value=this.value.toUpperCase();'>
</td>
</tr>
<tr>
<td align='left' class='td_tabla'><font color = 'red'>(*)</font>
Descripcin del Trabajo:</td>
<td

align='left'><textarea

cols=35

rows=7

name='desc'

onKeyUp="return maximaLongitud(this,300)"></textarea></td>
</tr>
</table>
</fieldset>
</div>
<br>
<div align='right'>
<table border='0' width='21%'>
<tr>
<td align='left'><input type='button' class='btn btnsave' name='boton1'
value='Ingresar' onclick='ing_datos()'></td>
</tr>
</table>
</div>

<table align='center'>
<tr>
<td colspan='4' align='center'><div id='datos'></div></td>
</tr>
</table>
<tr><td>&nbsp;</td></tr>
<?php
$validado=$_SESSION['validado'];
if ($validado=='n'){
echo "<script>
window.location='imprimir_trabajoveh.php';
</script>";
$_SESSION['validado']='s';
}
?>
</form>
<?php session_start() ?>
<?php include("conexion.php") ?>
<?php
date_default_timezone_set('America/Santiago');
function ValidaDVRut($rut) {
$tur = strrev($rut);
$mult = 2;
for ($i = 0; $i <= strlen($tur); $i++) {
if ($mult > 7) $mult = 2;
$suma = $mult * substr($tur, $i, 1) + $suma;
$mult = $mult + 1;
}
$valor = 11 - ($suma % 11);
if ($valor == 11) {
$codigo_veri = "0";
} elseif ($valor == 10) {
$codigo_veri = "k";
} else {
$codigo_veri = $valor;
}
return $codigo_veri;
}

function cambiafechaamysql($fecha_nom){
ereg("([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})", $fecha_nom, $mifechauno);
$fechana=$mifechauno[3]."-".$mifechauno[2]."-".$mifechauno[1];
return $fechana;
}
/*$rut=$_POST['rut'];
$digito=ValidaDVRut($rut);
$dv = $_POST['dv'];
$rutfin = $rut.'-'.$dv;
$prueba = strlen($rut);
if (($prueba > 6)&&($rutfin!='00000000-0') && ($rut!=00000000) &&
($dv!="")){
if ( $digito == $dv ){
$sql = mysql_query("select nom_usu from usuario where rut_usuario =
'$rutfin'",$conexion);
$count = mysql_fetch_array($sql);
$nom = $count[nom_usu];
if ($nom!=""){*/
$rutfin = $_SESSION['k_rut'];
$fechcuota = date("d/m/Y");
$day = substr($fechcuota, 0,2);
$month = substr($fechcuota,3,2);
$year = substr($fechcuota, 6,4);
//$fechaingre=$_POST['fechini'];
//$fechaingre2=cambiafechaamysql($fechaingre);
/*$factual = "select utc_date()";
$resultado = mysql_query($factual,$conexion);
$rfecha = mysql_fetch_array($resultado);
$actual = cambiafechaamysql($rfecha);*/
$fechaingre2 = date("Y-m-d");
//if (($fechaingre2!="")){
$_SESSION['validado']='s';
$estadotrab="En proceso";
if ($estadotrab!=""){
$fechatermi=$_POST['fechter'];
$fechatermi2=cambiafechaamysql($fechatermi);
if (($fechatermi!="")){
$fechatermi22=date_create($fechatermi2);

//$fechaingre2=date_create($fechaingre2);
$fechter=date_format($fechatermi22,"Y-m-d");
//$fechini=date_format($fechaingre2,"Y-m-d");
if ($fechter >= $fechaingre2){
$fecha = date("Y-m-d");
//echo date("Y-m-d", strtotime("$fecha +1 month"));
$valortrab=(int)$_POST['valtrab'];
if ($valortrab>999){
$cuota = $_POST['cuota'];
if ($cuota>0){
$estadopag=$_POST['estpag'];
if ($estadopag!=""){
if

((($cuota

>=

2)&&($estadopag!='Pagado'))||(($cuota==1)&&($estadopag=='Pagado'))||(($cuota==1)
&&($estadopag=='Pendiente'))||(($cuota==1)&&($estadopag=='No pagado'))){
$tipopago = $_POST['tipag'];
if ($tipopago!=""){
$fechpag = $_POST['fechpag'];
if ($fechpag != ""){
$tipotrab="Vehiculo";
$patente=$_POST['patente'];
$regex = '/^[a-z]{2}-[0-9]{2}-[0-9]{2}|[b-d,f-h,j-l,p,r-t,v-z]{2}-[b-d,f-h,jl,p,r-t,v-z]{2}-[0-9]{2}$/i';
if (preg_match($regex, $patente)){
$sql2 = "select rut_cliente from vehiculo where pat_vehiculo ='$patente'";
$cont = mysql_query($sql2,$conexion);
$reg = mysql_fetch_array($cont);
if ($reg[rut_cliente]!=""){
$descripcion1=utf8_decode($_POST['desc']);
if ($descripcion1!=""){
// Creamos la semilla para la funcin rand()
function crear_semilla() {
list($usec, $sec) = explode(' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}
srand(crear_semilla());
// Generamos la clave
$clave="";

$max_chars = round(rand(4,6)); // tendr entre 4 y 6 caracteres


$chars = array();
for ($i="a"; $i<"z"; $i++) $chars[] = $i; // creamos vector de letras
$chars[] = "z";
for ($i=0; $i<$max_chars; $i++) {
$letra = round(rand(0, 1)); // primero escogemos entre letra y nmero
if ($letra) // es letra
$clave .= $chars[round(rand(0, count($chars)-1))];
else // es numero
$clave .= round(rand(0, 9));
};
$_SESSION['clave']=$clave;
$_SESSION['validado']='n';
$instruccion

"insert

into

trabajo(cod_trabajo,rut_usuario,fecha_inicio_trab,estado_trab,fecha_termino_trab,valor_
trab,cuotas,estado_pago_trab,tipo_trab)

values

('$clave','$rutfin','$fechaingre2','$estadotrab','$fechatermi2','$valortrab','$cuota','$estadop
ag','$tipotrab')";
$consulta = mysql_query ($instruccion, $conexion)
or die (mysql_error());
/*--------------------------------------------------------------------------------------------------------------------------------*/
$instruccion7

"insert

into

trabajo_veh(id,cod_trabajo,pat_vehiculo,descripcion_tveh) values ((select id from


trabajo where cod_trabajo ='$clave'),'$clave','$patente','$descripcion1')";
$consulta = mysql_query ($instruccion7,$conexion)
or die (mysql_error());
/*------------------------------------------------------------------------------------------------------------------------------*/
$estpagcuota = 'No Pagado';
$valor = round($valortrab/$cuota);
$fechins = ($year."-".$month."-".$fechpag);
$fechins2 = date_create($fechins);
$fechins2 = date_format($fechins2,"Y-m-d");
$j=1;
while ($j<=$cuota){
$fechins2=date("Y-m-d", strtotime("$fechins2 +1 month"));

$insertcom

mysql_query("insert

into

cuota

(cod_trabajo,fecha_pago_cuota,num_cuota,tipo_pago,valor_cuota,estado_cuota) values
('$clave','$fechins2','$j','$tipopago','$valor','$estpagcuota')",$conexion);
//echo $fechins;
$j++;
}
echo "<script>
alert ('Nuevo Trabajo Ingresado');
window.location='ingresar_trabajo_veh.php'
</script>";
mysql_close ($conexion);
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Debe Ingresar una descripci&oacute;n</div>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Esta Patente no se encuentra en la Base de
Datos</div>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Debe Ingresar una Patente Correcta XX-XXXX</div>";
}else

echo

"<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe Seleccionar un D&iacute;a de pago</div>";


}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Debe Seleccionar un tipo de pago</div>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;El estado 'Pagado' es v&aacute;lido solo para una
cuota</div> ";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Debe Seleccionar un estado de pago</div>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Debe Ingresar un N&uacute;mero de cuotas mayor
a cero</div>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Debe Ingresar un valor mayor a 999</div>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;La fecha de termino debe ser mayor o igual a la
actual</div>";

}else echo "<div class='error'><img src='Images/error.png' width='12px'


height='12px'>&nbsp;&nbsp;&nbsp;Debe

Ingresar

una

fecha

de

t&eacute;rmino</div>";
}else

echo

"<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe Seleccionar un estado de Trabajo</div>";


//}else

echo

"<div><img

height='12px'>&nbsp;&nbsp;&nbsp;Debe

src='Images/error.png'
Ingresar

una

fecha

width='12px'
de

inicio

V&aacute;lida</div>";
?>

Seleccionar_trabajo_veh.php
<form id="trabajoveh" name="trabajoveh" method="post" >
<table width='90%' border='0' align='center'>
<tr>
<br>
<br>
<td colspan='10' class='td_tabla'>SELECCIONAR TRABAJO</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td align='right' class='td_tabla'>Seleccionar Trabajo Por:</td>
<td align='center'>
<select name='pedpor' >
<option VALUE ='codtra'>Codigo de Trabajo</option>
<option VALUE ='patveh'>Patente del Veh&iacute;culo</option>
<option VALUE ='rutcli'>Rut del Cliente</option>
</select>
</td>
<td align='center'><input type='button' class='btn btnapply' value='Seleccionar'
onclick='sel_datos()'></td>
</tr>
</table>
<br>
<tr>
<td colspan='4' align='center'><div id='datos'></div></td>
</tr>

</form>
<?php include("conexion.php") ?>
<?php
if ($_POST['pedpor']=='codtra'){
echo"
<table width='90%' border='0' align='center'>
<tr>
<td

align='right'

width='283px'

class='td_tabla'>Ingresar

C&oacute;digo de Trabajo:</td>
<td align='center' width='257px'><input type='text' name='codtrab'
size='10' maxlenght='10'></td>
<td align='center'><input type='button' class='btn btnapply' value='Ingresar'
onclick='sel_datos2()'></td>
</tr>
</table>
<br>
<tr>
<td colspan='4' align='center'><div align='center' id='datos2'></div></td>
</tr>
";
}
elseif ($_POST['pedpor']=='patveh'){
echo"
<table width='90%' border='0' align='center'>
<tr>
<td

class='td_tabla'

width='283px'

align='right'>Patente

del

Veh&iacute;culo:</td>
<td align='center' width='257px'><input title='Formato XX-XXXX'

type='text'

name='pat'

id='td_proceso'

size='8'

maxlength='8'

onkeyUp='this.value=this.value.toUpperCase();'></td>
<td

align='center'><input

type='button'

class='btn

btnapply'

value='Ingresar' onClick='sel_datos3()'></td>
</tr>
</table>
<br>
<tr>
<td colspan='4' align='center'><div align='center' id='datos2'></div></td>
</tr>

";
}
elseif ($_POST['pedpor']=='rutcli'){
echo"
<table width='90%' border='0' align='center'>
<tr>
<td class='td_tabla' width='283px' align='right'>Rut Cliente:</td>
<td align='center' width='257px'><input type='text' name='rut'
id='td_proceso' size='9' maxlength='8' onkeypress='return soloNumeros(event)'> <input type='text' name='dv' id='td_proceso' size='1' maxlength='1'
onkeypress='this.value=this.value.toLowerCase();'>
<td

align='center'><input

type='button'

class='btn

btnapply'

value='Ingresar' onClick='sel_datos4()'></td>
</td>
</tr>
</table>
<br>
<tr>
<td colspan='4' align='center'><div align='center' id='datos2'></div></td>
</tr>
";
}
?>
<script>
$(document).ready(function()
{
$("#prueba").tablesorter( {
sortList: [[0,0], [1,0]],
widgets: ['zebra']
} );
}
);
</script>
<?php include("conexion.php") ?>
<?php
function ValidaDVRut($rut) {
$tur = strrev($rut);

$mult = 2;
for ($i = 0; $i <= strlen($tur); $i++) {
if ($mult > 7) $mult = 2;
$suma = $mult * substr($tur, $i, 1) + $suma;
$mult = $mult + 1;
}
$valor = 11 - ($suma % 11);
if ($valor == 11) {
$codigo_veri = "0";
} elseif ($valor == 10) {
$codigo_veri = "k";
} else {
$codigo_veri = $valor;
}
return $codigo_veri;
}
$rut1=$_POST['rut'];
$dv=$_POST['dv'];
$digito=ValidaDVRut($rut1);
$rutfin =$rut1.'-'.$dv;
$prueba = strlen($rut1);
if (($prueba > 7)&&($rutfin!='00000000-0')){
if ( $digito == $dv ){
$sql = "select * from trabajo_veh tveh, vehiculo veh where
tveh.pat_vehiculo = veh.pat_vehiculo and veh.rut_cliente = '$rutfin'";
$sql2 = mysql_query($sql,$conexion);
$i=0;
while ($row=mysql_fetch_array($sql2)){
$i++;
}
if ($i>0){
echo "
<table

width='100%'

class='tablesorter'>
<thead>
<tr>
<th>C&oacute;digo</th>
<th>Cliente</th>

align='center'

id='prueba'

<th>Fecha Inicio</th>
<th>Estado</th>
<th>Fecha T&eacute;rmino</th>
<th>Valor</th>
<th>Estado</th>
<th>Descripci&oacute;n</th>
</tr>
</thead>
<tbody>
";
$instruccion

"select

tr.cod_trabajo,tr.fecha_inicio_trab,tr.estado_trab,tr.fecha_termino_trab,tr.valor_trab,tr.es
tado_pago_trab, tveh.descripcion_tveh from trabajo tr, trabajo_veh tveh,vehiculo veh
where tr.cod_trabajo = tveh.cod_trabajo and

veh.rut_cliente= '$rutfin' and

tveh.pat_vehiculo = veh.pat_vehiculo";
$sql3 = mysql_query($instruccion,$conexion);
for ($i = 1; $resultado = mysql_fetch_array($sql3);$i++){
$fechaini=date_format(date_create($resultado[fecha_inicio_trab]),"d/m/Y");
$fechater=date_format(date_create($resultado[fecha_termino_trab]),"d/m/Y");
$valortrab=number_format($resultado[valor_trab], 2, ",", ".");
echo "<tr>
<td align='center'>$resultado[cod_trabajo]</td>
<td align='center'>$rutfin</td>
<td align='center'>$fechaini</td>
<td align='center'>$resultado[estado_trab]</td>
<td align='center'>$fechater</td>
<td align='right'>$valortrab</td>
<td align='center'>$resultado[estado_pago_trab]</td>
<td>$resultado[descripcion_tveh]</td>
</tr>
";
}echo"
<tbody>
</table>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;No se encuentran trabajos asignados a este
RUT</div>";

}else echo "<div class='error'><img src='Images/error.png' width='12px'


height='12px'>&nbsp;&nbsp;&nbsp;Debe

Ingresar

una

d&iacute;gito

verificador

V&aacute;lido</div>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Debe Ingresar un RUT v&aacute;lido</div>";
?>

Actualizar_trabajo_veh.php
<form id="trabajoveh" name="trabajoveh" method="post" >
<table width='90%' border='0' align='center'>
<tr>
<br>
<br>
<td colspan='10' class='td_tabla'>ACTUALIZAR TRABAJO</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td align='right' class='td_tabla'>Actualizar Trabajo Por:</td>
<td align='center'>
<select name='actpor' >
<option VALUE ='codtra'>Cdigo de Trabajo</option>
<option VALUE ='patveh'>Patente del Vehiculo</option>
<option VALUE ='rutcli'>Rut del Cliente</option>
</select>
</td>
<td align='center'><input type='button' class='btn btnapply' value='Ingresar'
onclick='sel_datos()'></td>
</tr>
</table>
<tr>
<td colspan='4' align='center'><div id='datos'></div></td>
</tr>
<!-- Div que muestra los datos y errores del 2 form
<tr>
<td colspan='4' align='center'><div id='datos2'></div></td>

</tr>-->
<tr>
<td colspan='4' align='center'><div id='datos3'></div></td>
</tr>
<tr>
<td colspan='4' align='center'><div id='datos4'></div></td>
</tr>
<tr>
<td colspan='4' align='center'><div id='datos6'></div></td>
</tr>
</form>
<?php include("conexion.php") ?>
<script>
function act_porcod(){
var pars = $("form").serialize();
$.ajax({
type: "POST",
url: "actualizando_tvehxcod.php",
data: pars ,
success: function(crea_ok){
//alert (contenido)
$("#datos22").html(crea_ok)
}
});
};
</script>
<?php
if ($_POST['actpor']=="codtra"){
echo"<br>
<table width='90%' border='0' align='center'>
<tr>
<td

align='right'

width='284px'

class='td_tabla'>Ingresar

C&oacute;digo de Trabajo:</td>
<td align='center' width='276px'><input type='text' name='codtrab'
size='10' maxlenght='10'></td>
<td align='center'><input type='button' class='btn btnapply' value='Ingresar'
onclick='act_datos()'></td>

</tr>
</table>
<br>
<tr>
<td colspan='4' align='center'><div align='center' id='datos2'></div></td>
</tr>
<tr>
<td

colspan='4'

align='center'><div

align='center'

id='datos22'></div></td>
</tr>
<br>
";
}
elseif ($_POST['actpor']=="patveh"){
echo"<br>
<table width='90%' border='0' align='center'>
<tr>
<td

class='td_tabla'

width='284px'

align='right'>Patente

del

Veh&iacute;culo:</td>
<td align='center' width='276px'><input type='text' title='Formato
XX-XX-XX'

name='pat'

id='td_proceso'

size='9'

maxlength='9'

onkeyUp

='this.value=this.value.toUpperCase();'>
<td

align='center'><input

type='button'

class='btn

btnapply'

value='Ingresar' onclick='act_datos2()'></td>
</td>
</tr>
</table>
<br>
<tr>
<td colspan='4' align='center'><div align='center' id='datos2'></div></td>
</tr>
";
}
elseif ($_POST['actpor']=="rutcli"){
echo "<br>
<table width='90%' border='0' align='center'>
<tr>
<td class='td_tabla' width='284px' align='right'>Rut Cliente:</td>

<td align='center' width='276px'><input type='text' name='rut'


id='td_proceso' size='9' maxlength='8' onkeypress='return soloNumeros(event)'> <input type='text' name='dv' id='td_proceso' size='1' maxlength='1'
onkeyup='this.value=this.value.toLowerCase();'></td>
<td

align='center'><input

type='button'

class='btn

btnapply'

value='Ingresar' onClick='act_datos3()'></td>
</tr>
</table>
<br>
<tr>
<td colspan='4' align='center'><div align='center' id='datos2'></div></td>
</tr>
";
}
?>
<script>
$(document).ready(function()
{
$("#prueba").tablesorter( {
sortList: [[0,0], [1,0]],
widgets: ['zebra']
} );
}
);
</script>
<script>
function abre_popup(id){
sURL = "actualizando_tvehxrut.php?id="+id;
hWndVentana

window.open(sURL,"DETALLE","width=600,

height=400, Scrollbars=yes, menubar=no, location=no, resizable=no, align=center");


}
</script>
<?php include("conexion.php") ?>
<?php
function ValidaDVRut($rut) {
$tur = strrev($rut);
$mult = 2;

for ($i = 0; $i <= strlen($tur); $i++) {


if ($mult > 7) $mult = 2;
$suma = $mult * substr($tur, $i, 1) + $suma;
$mult = $mult + 1;
}
$valor = 11 - ($suma % 11);
if ($valor == 11) {
$codigo_veri = "0";
} elseif ($valor == 10) {
$codigo_veri = "k";
} else {
$codigo_veri = $valor;
}
return $codigo_veri;
}
$rut1=$_POST['rut'];
$dv=$_POST['dv'];
$digito=ValidaDVRut($rut1);
$rutfin =$rut1.'-'.$dv;
$prueba = strlen($rut1);
$sql = "select tveh.cod_trabajo from trabajo_veh tveh, vehiculo veh where
tveh.pat_vehiculo = veh.pat_vehiculo and veh.rut_cliente = '$rutfin'";
$cont = mysql_query($sql,$conexion);
$i=0;
while ($row=mysql_fetch_array($cont)){
$i++;
}
if (($prueba > 6)&&($rutfin!='00000000-0') && ($rut1!=00000000) &&
($dv!="")){
if ( $digito == $dv ){
if ($i>0){
echo "
<table width='100%' align='center' id='prueba' class='tablesorter'>
<thead>
<tr>
<th>C&oacute;digo</th>
<th>Atendedor</th>

<th>Fecha Inicio</th>
<th>Estado</th>
<th>Fecha T&eacute;rmino</th>
<th>Valor</th>
<th>Estado</th>
<th>Descripci&oacute;n</th>
<th>Patente</th>
<!--<th>Cliente</th>-->
<th>Editar</th>
</tr>
</thead>
<tbody>
";
$instruccion

"select

tr.id,

tr.cod_trabajo,

tr.rut_usuario,tr.fecha_inicio_trab,tr.estado_trab,tr.fecha_termino_trab,tr.valor_trab,tr.est
ado_pago_trab, tveh.descripcion_tveh,tveh.pat_vehiculo from trabajo tr, trabajo_veh
tveh, vehiculo veh where tr.cod_trabajo = tveh.cod_trabajo and veh.rut_cliente =
'$rutfin' and veh.pat_vehiculo = tveh.pat_vehiculo";
$sql3 = mysql_query($instruccion,$conexion);
for ($i = 1; $resultado = mysql_fetch_array($sql3);$i++){
$fechaini=date_format(date_create($resultado[fecha_inicio_trab]),"d/m/Y");
$fechater=date_format(date_create($resultado[fecha_termino_trab]),"d/m/Y");
$valortrab=number_format($resultado[valor_trab], 2, ",", ".");
$desc=utf8_decode($resultado[descripcion_tveh]);
echo "<tr>
<td align='center'>$resultado[cod_trabajo]</td>
<td align='center'>$resultado[rut_usuario]</td>
<td align='center'>$fechaini</td>
<td align='center'>$resultado[estado_trab]</td>
<td align='center'>$fechater</td>
<td align='right'>$valortrab</td>
<td align='center'>$resultado[estado_pago_trab]</td>
<td>$desc</td>
<td align='center'>$resultado[pat_vehiculo]</td>
<!--<td align='center'>$rutfin</td>-->
<td align='center'><a href='#' onclick='abre_popup(".$resultado[id].")'><img
src='edit-icon.png' width='25px' height='25px' border='0'></a></td>

</tr>
";
}echo"
<tbody>
</table>
<br>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Este RUT no se encuentra en la Base de
Datos</div>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Debe

Ingresar

una

d&iacute;gito

verificador

V&aacute;lido</div>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Debe Ingresar un RUT v&aacute;lido</div>";
?>
<script src="script.js" language="JavaScript"></script>
<link type="text/css" href="themes/base/jquery.ui.all.css" rel="stylesheet" />
<link rel="StyleSheet" href="style.css" type="text/css">
<script language="javascript" type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.ui.core.js"></script>
<script type="text/javascript" src="jquery.ui.widget.js"></script>
<script type="text/javascript" src="jquery.ui.datepicker.js"></script>
<script type="text/javascript">
$(function() {
$("#fecha4").datepicker({
showOn: 'button',
buttonImage: 'calendar.gif',
buttonImageOnly: true,
changeMonth:true,
changeYear:true,
yearRange:'c-20:c+1'
});
});
</script>
<style>
body{

background-color: #f2f2f2;
}
.t_popup{
font-family: verdana;
font-size: 11px;
}
</style>
<body>
<script>
function act_porrut(){
var pars = $("form").serialize();
$.ajax({
type: "POST",
url: "actualizando_tvehiculoxrut.php",
data: pars ,
success: function(crea_ok){
//alert (contenido)
$("#datos7").html(crea_ok)
}
});
};
</script>
<?php include("conexion.php") ?>
<form id="form" name="form" method="post" >
<?php
function to_utf8_decode($string) //para codificar cadenas
{
$tmp = $string;
$count = 0;
while (mb_detect_encoding($tmp)=="UTF-8")
{
$tmp = utf8_decode($tmp);
$count++;
}
for ($i = 0; $i < $count-1 ; $i++)
{
$string = utf8_decode($string);
}

return $string;
}
$codigo = $_GET['id'];
if ($codigo!=""){
$instruccion

mysql_query("select

tr.id,

tr.cod_trabajo,

tr.rut_usuario,tr.fecha_inicio_trab,tr.estado_trab,tr.fecha_termino_trab,tr.valor_trab,tr.est
ado_pago_trab, tveh.descripcion_tveh,tveh.pat_vehiculo from trabajo tr, trabajo_veh
tveh, vehiculo veh where tr.cod_trabajo = tveh.cod_trabajo and tr.id = '$codigo' and
veh.pat_vehiculo

tveh.pat_vehiculo",$conexion)

or

die

("Problemas

en

el

select".mysql_error());
$reg = mysql_fetch_array($instruccion);
$cotrab = $reg[cod_trabajo];
$rut = $reg[rut_usuario];
$fechini = date_format(date_create($reg[fecha_inicio_trab]),"d/m/Y");
$estado = $reg[estado_trab];
$fechter = date_format(date_create($reg[fecha_termino_trab]),"d/m/Y");
$valor = $reg[valor_trab];
$estpago = $reg[estado_pago_trab];
$desc = to_utf8_decode($reg[descripcion_tveh]);
$patente = $reg[pat_vehiculo];
echo "
<table width='100%' class='t_popup'>
<tr>
<td colspan='2' align='center'><b>Actualizar Trabajo</b></td>
</tr>
<tr>
<td align='left' class='td_tabla'>ID</td>
<td

align='left'><input

type='text'

name='id'

value=$codigo

disabled=''></td>
</tr>
<tr>
<td align='left' class='td_tabla'>C&oacute;digo</td>
<td

align='left'><input

type='text'

name='cod'

disabled=''></td>
</tr>
<tr>
<td align='left' class='td_tabla'>Atendedor</td>

value=$cotrab

<td

align='left'><input

type='text'

name='rutusu'

value=$rut

disabled=''></td>
</tr>
<tr>
<td align='left' class='td_tabla'>Inicio</td>
<td

align='left'><input

type='text'

name='fini'

value=$fechini

disabled=''></td>
</tr>
<tr>
<td align='left' class='td_tabla'>Estado del Trabajo:</td>
<td align='left'>
<select name='estadotrab' >
<option VALUE =''> </option>
<option VALUE ='Terminado'>Terminado</option>
<option VALUE ='En Proceso'>En proceso</option>
</select>
</td>
</tr>
<tr>
<td align='left' class='td_tabla'>T&eacute;rmino</td>
<td align='left'><input type='text' id='fecha4' name='fter' readonly=''
value=$fechter onChange='fechas(this.value); this.value=borrar'></td>
</tr>
<tr>
<td align='left' class='td_tabla'>Valor</td>
<td align='left'><input type='text' name='val' value=$valor size='7'
maxlength='7' disabled=''></td>
</tr>
</tr>
<tr>
<td align='left' class='td_tabla'>Estado del Pago:</td>
<td align='left'>
<select name='pago' >
<option VALUE =''> </option>
<option VALUE ='Pagado'>Pagado</option>
<option VALUE ='Pendiente'>Pendiente</option>
<option VALUE ='No pagado'>No pagado</option>
</select>

</td>
<tr>
<td class='td_tabla' align='left'>Descripcion:</td>
<td align='left'><textarea cols='40' rows='4' name='desc' onKeyUp='return
maximaLongitud(this,300)'>$desc</textarea></td>
</tr>
<td align='left' class='td_tabla'>Patente</td>
<td

align='left'><input

type='text'

name='pat'

value=$patente

disabled=''></td>
</tr>
<tr>
<td align='center'><input type='button' class='btn btnrefresh' value='Actualizar'
onclick='act_porrut()'></td>
</tr>
</table>
<tr>
<td colspan='4' align='center'><div align='center' id='datos7'></div></td>
</tr>
";
}
?>
</form>
</body>

Cancelar_trabajo_veh.php
<form id="trabajoveh" name="trabajoveh" method="post" >
<table width='90%' border='0' align='center'>
<tr>
<br>
<br>
<td colspan='10' class='td_tabla'>CANCELAR TRABAJO SOBRE
VEHULO</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td align='right' class='td_tabla'>Cancelar Trabajo Por:</td>

<td align='center'>
<select name='canpor' >
<option VALUE ='codtra'>Cdigo de Trabajo</option>
<option VALUE ='patveh'>Patente del Vehiculo</option>
<option VALUE ='rutcli'>Rut del Cliente</option>
</select>
</td>
<td align='center'><input type='button' class='btn btnapply' value='Ingresar'
onclick='ing_datos()'></td>
</tr>
</table>
<tr>
<td colspan='4' align='center'><div id='datos'></div></td>
</tr>
<!-- Muestra datos cancela por cod
<tr>
<td colspan='4' align='center'><div id='datos2'></div></td>
</tr>-->
<!-- Muestra datos cancela por patente
<tr>
<td colspan='4' align='center'><div id='datos3'></div></td>
</tr>-->
<!-- Muestra datos cancela por rut cliente
<tr>
<td colspan='4' align='center'><div id='datos4'></div></td>
</tr>-->
</tr>
</form>
<?php include("conexion.php") ?>
<?php
if ($_POST['canpor']=="codtra"){
echo"<br>
<table width='90%' border='0' align='center'>
<tr>
<td align='right' width='274px' class='td_tabla'>Ingresar C&oacute;digo
de Trabajo:</td>
<td

align='center'

size='10' maxlenght='10'></td>

width='283px'><input

type='text'

name='codtrab'

<td align='center'><input type='button' class='btn btnapply' value='Ingresar'


onclick='act_datos()'></td>
</tr>
</table>
<br>
<tr>
<td colspan='4' align='center'><div align='center' id='datos2'></div></td>
</tr>
";
}
elseif ($_POST['canpor']=="patveh"){
echo"<br>
<table width='90%' border='0' align='center'>
<tr>
<td

class='td_tabla'

width='274px'

align='right'>Patente

del

Veh&iacute;culo:</td>
<td align='center' width='283px'><input title='Formato XX-XX-XX'
type='text' name='pat' id='td_proceso' onkeyUp ='this.value=this.value.toUpperCase();'
size='9' maxlength='9' ></td>
<td

align='center'><input

type='button'

class='btn

btnapply'

value='Ingresar' onclick='act_datos2()'></td>
</tr>
</table>
<br>
<tr>
<td colspan='4' align='center'><div align='center' id='datos3'></div></td>
</tr>
<br>
";
}
elseif ($_POST['canpor']=="rutcli"){
echo "<br>
<table width='90%' border='0' align='center'>
<tr>
<td class='td_tabla' width='274px' align='right'>Rut Cliente:</td>
<td

align='center'

width='283px'><input

type='text'

name='rut'

id='td_proceso' size='9' maxlength='8' onkeypress='return soloNumeros(event)'> <input type='text' name='dv' id='td_proceso' size='1' maxlength='1' ></td>

<td

align='center'><input

type='button'

class='btn

btnapply'

value='Ingresar' onClick='act_datos3()'></td>
</tr>
</table>
<br>
<tr>
<td colspan='4' align='center'><div align='center' id='datos4'></div></td>
</tr>
<br>
";
}
?>
<script>
$(document).ready(function()
{
$("#prueba").tablesorter( {
sortList: [[0,0], [1,0]],
widgets: ['zebra']
} );
}
);
</script>
<?php include("conexion.php") ?>
<?php
function ValidaDVRut($rut) {
$tur = strrev($rut);
$mult = 2;
for ($i = 0; $i <= strlen($tur); $i++) {
if ($mult > 7) $mult = 2;
$suma = $mult * substr($tur, $i, 1) + $suma;
$mult = $mult + 1;
}
$valor = 11 - ($suma % 11);
if ($valor == 11) {
$codigo_veri = "0";
} elseif ($valor == 10) {
$codigo_veri = "k";
} else {

$codigo_veri = $valor;
}
return $codigo_veri;
}
$rut1=$_POST['rut'];
$dv=$_POST['dv'];
$digito=ValidaDVRut($rut1);
$rutfin =$rut1.'-'.$dv;
$prueba = strlen($rut1);
//$sql

pat_vehiculo=(select

mysql_query("select
pat_vehiculo

from

rut_cliente
trabajo_veh

from
where

vehiculo

where

rut_cliente

'$rutfin')",$conexion) or die ("problemas en el select".mysql_error);


$sql = mysql_query("select rut_cliente from vehiculo where rut_cliente =
'$rutfin'",$conexion) or die ("problemas en el select".mysql_error);
$count = mysql_fetch_array($sql);
if (($prueba > 6)&&($rutfin!='00000000-0') && ($rut1!=00000000) &&
($dv!="")){
if ( $digito == $dv ){
if ($count['rut_cliente']!=""){
echo "
<table width='100%' align='center' id='prueba' class='tablesorter'>
<thead>
<tr>
<th>C&oacute;digo</th>
<th>Atendedor</th>
<th>Inicio</th>
<th>Patente</th>
<th>Cancelar</th>
</tr>
</thead>
<tbody>
";
$instruccion

"select

tr.id,tr.cod_trabajo,

tr.rut_usuario,

tr.fecha_inicio_trab,tveh.pat_vehiculo from trabajo tr, trabajo_veh tveh,vehiculo veh


where tr.cod_trabajo = tveh.cod_trabajo and tveh.pat_vehiculo = veh.pat_vehiculo and
veh.rut_cliente = '$rutfin'";
$sql = mysql_query($instruccion,$conexion);
for ($i = 1; $resultado = mysql_fetch_array($sql);$i++){

$fechaini=date_format(date_create($resultado[fecha_inicio_trab]),"d/m/Y");
echo "
<tr>
<td align='center'>$resultado[cod_trabajo]</td>
<td align='center'>$resultado[rut_usuario]</td>
<td align='center'>$fechaini</td>
<td align='center'>$resultado[pat_vehiculo]</td>
<td

align='center'><a

href='cancelando_trabvehxrut.php?id=$resultado[id]'

><img

src='the-delete-icon.jpg'

width='25px' height='25px' border='0'></a></td>


</tr>
";
}
echo "
</tbody>
</table>
";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Este RUT no se encuentra en la Base de
Datos</div>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Debe

Ingresar

una

d&iacute;gito

verificador

V&aacute;lido</div>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Debe Ingresar un RUT v&aacute;lido</div>";
?>
<?php include("conexion.php") ?>
<?php
$id = $_GET['id'];
$sql = "select cu.* from cuota cu, trabajo tr where cu.cod_trabajo = tr.cod_trabajo and
tr.id = '$id' and cu.estado_cuota = 'Pagado'";
$sql2 = mysql_query($sql,$conexion);
$i=0;
while ($row=mysql_fetch_array($sql2)){
$i++;
}
if ($i<>0){

echo "
<script>
alert ('No se Pueden Cancelar Trabajos que se encuentren en Proceso');
window.location = 'cancelar_trabajo_veh.php';
</script>
";
}else {
$instruc = mysql_query("delete from cuota where cod_trabajo = (select cod_trabajo
from trabajo where id='$id')",$conexion);
$instruccion = mysql_query("delete from trabajo_veh where cod_trabajo = (select
cod_trabajo from trabajo where id = '$id')",$conexion);
$instruccion2 = mysql_query("delete from trabajo where id = '$id'",$conexion);
echo "
<script>
alert ('Trabajo Cancelado Satisfactoriamente');
window.location = 'cancelar_trabajo_veh.php';
</script>
";
}
?>

Listar_trabajos_veh.php
<form id="trabajoveh" name="trabajoveh" method="post" >
<table width='90%' border='0' align='center'>
<tr>
<br>
<br>
<td colspan='10' class='td_tabla'>LISTAR TRABAJOS</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td align='right' width='30%' class='td_tabla'>Listar Trabajo Por:</td>
<td align='center'>
<select name='trapor' >
<option VALUE ='estpago'>Estado del Pago</option>
<option VALUE ='esttrab'>Estado del Trabajo</option>

</select>
</td>
<td

align='center'><input

type='button'

class='btn

btnlista'

value='Listar'

onclick='sel_datos()'></td>
</tr>
</table>
<!--muestra los subform-->
<tr>
<td colspan='4' align='center'><div id='datos'></div></td>
</tr>
<!--Muestra los datos de los subform
<tr>
<td colspan='4' align='center'><div id='datos2'></div></td>
</tr>-->
</form>
<script>
$(document).ready(function()
{
$("#prueba").tablesorter( {
sortList: [[0,0], [1,0]],
widgets: ['zebra']
} );
}
);
</script>
<?php include("conexion.php") ?>
<?php
$est = $_POST['estpag'];
if ($est!=""){
if ($est=='Pagado'){
$sql = "select tveh.pat_vehiculo from trabajo_veh tveh, trabajo tr where
tveh.cod_trabajo = tr.cod_trabajo and tr.estado_pago_trab = '$est'";
$sql2 = mysql_query($sql,$conexion);
$i=0;
while ($row=mysql_fetch_array($sql2)){
$i++;
}
//for ($i=1;$resultado=mysql_fetch_array($sql2);$i++){

//}
//$num_rows = mysql_num_rows($sql);
//$count = mysql_fetch_array($reg);
if ($i>0){
echo "
<table width='100%' align='center' id='prueba' class='tablesorter'>
<thead>
<tr>
<th>C&oacute;digo</th>
<th>Atendedor</th>
<th>Fecha Inicio</th>
<th>Estado</th>
<th>Fecha T&eacute;rmino</th>
<th>Valor</th>
<th>Descripci&oacute;n</th>
</tr>
</thead>
<tbody>
";
$instruccion

"select

tr.cod_trabajo,

tr.rut_usuario,tr.fecha_inicio_trab,tr.estado_trab,tr.fecha_termino_trab,tr.valor_trab,
tveh.descripcion_tveh from trabajo tr, trabajo_veh tveh where tr.estado_pago_trab =
'$est' and tr.cod_trabajo = tveh.cod_trabajo";
$sql3 = mysql_query($instruccion,$conexion);
for ($i = 1; $resultado = mysql_fetch_array($sql3);$i++){
$fechaini=date_format(date_create($resultado[fecha_inicio_trab]),"d/m/Y");
$fechater=date_format(date_create($resultado[fecha_termino_trab]),"d/m/Y");
$valor=number_format($resultado[valor_trab], 2, ",", ".");
echo "<tr>
<td align='center'>$resultado[cod_trabajo]</td>
<td align='center'>$resultado[rut_usuario]</td>
<td align='center'>$fechaini</td>
<td align='center'>$resultado[estado_trab]</td>
<td align='center'>$fechater</td>
<td align='right'>$valor</td>
<td align='left'>$resultado[descripcion_tveh]</td>
</tr>

";}
echo "
</tbody>
</table>
";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;No hay Trabajos en este Estado de Pago</div>";
}else if ($est=='Pendiente'){
$sql = "select * from trabajo where tipo_trab = 'Vehiculo' and
estado_pago_trab = '$est'";
$sql2 = mysql_query($sql,$conexion);
$i=0;
while ($row=mysql_fetch_array($sql2)){
$i++;
}
//$num_rows = mysql_num_rows($sql);
//$count = mysql_fetch_array($reg);
if ($i>0){
echo "
<table width='100%' align='center' id='prueba' class='tablesorter'>
<thead>
<tr>
<th>C&oacute;digo</th>
<th>Atendedor</th>
<th>Fecha Inicio</th>
<th>Estado</th>
<th>Fecha T&eacute;rmino</th>
<th>Valor</th>
<th>Descripci&oacute;n</th>
</tr>
</thead>
<tbody>
";
$instruccion

"select

tr.cod_trabajo,

tr.rut_usuario,tr.fecha_inicio_trab,tr.estado_trab,tr.fecha_termino_trab,tr.valor_trab,
tveh.descripcion_tveh from trabajo tr, trabajo_veh tveh where tr.estado_pago_trab =
'$est' and tr.cod_trabajo = tveh.cod_trabajo";
$sql3 = mysql_query($instruccion,$conexion);

for ($i = 1; $resultado = mysql_fetch_array($sql3);$i++){


$fechaini=date_format(date_create($resultado[fecha_inicio_trab]),"d/m/Y");
$fechater=date_format(date_create($resultado[fecha_termino_trab]),"d/m/Y");
$valor=number_format($resultado[valor_trab], 2, ",", ".");
echo "<tr>
<td align='center'>$resultado[cod_trabajo]</td>
<td align='center'>$resultado[rut_usuario]</td>
<td align='center'>$fechaini</td>
<td align='center'>$resultado[estado_trab]</td>
<td align='center'>$fechater</td>
<td align='right'>$valor</td>
<td>$resultado[descripcion_tveh]</td>
</tr>
";}
echo "
</tbody>
</table>
";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;No hay Trabajos en este Estado de Pago</div>";
}else if ($est=='No pagado'){
$sql = "select * from trabajo where tipo_trab = 'Vehiculo' and
estado_pago_trab = '$est'";
$sql2 = mysql_query($sql,$conexion);
$i=0;
while ($row=mysql_fetch_array($sql2)){
$i++;
}
//$num_rows = mysql_num_rows($sql);
//$count = mysql_fetch_array($reg);
if ($i>0){
echo "
<table
class='tablesorter'>
<thead>
<tr>

width='100%'

align='center'

id='prueba'

<th>C&oacute;digo</th>
<th>Atendedor</th>
<th>Fecha Inicio</th>
<th>Estado</th>
<th>Fecha T&eacute;rmino</th>
<th>Valor</th>
<th>Descripci&oacute;n</th>
</tr>
</thead>
<tbody>
";
$instruccion

"select

tr.cod_trabajo,

tr.rut_usuario,tr.fecha_inicio_trab,tr.estado_trab,tr.fecha_termino_trab,tr.valor_trab,
tveh.descripcion_tveh from trabajo tr, trabajo_veh tveh where tr.estado_pago_trab =
'$est' and tr.cod_trabajo = tveh.cod_trabajo";
$sql3 = mysql_query($instruccion,$conexion);
for ($i = 1; $resultado = mysql_fetch_array($sql3);$i++){
$fechaini=date_format(date_create($resultado[fecha_inicio_trab]),"d/m/Y");
$fechater=date_format(date_create($resultado[fecha_termino_trab]),"d/m/Y");
$valor=number_format($resultado[valor_trab], 2, ",", ".");
echo "<tr>
<td align='center'>$resultado[cod_trabajo]</td>
<td align='center'>$resultado[rut_usuario]</td>
<td align='center'>$fechaini</td>
<td align='center'>$resultado[estado_trab]</td>
<td align='center'>$fechater</td>
<td align='right'>$valor</td>
<td>$resultado[descripcion_tveh]</td>
</tr>
";}
echo "
</tbody>
</table>
";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;No hay Trabajos en este Estado de Pago</div>";
}

}else echo "<div class='error'><img src='Images/error.png' width='12px'


height='12px'>&nbsp;&nbsp;&nbsp;Debe Seleccionar un Estado de Pago</div>";
?>
<?php include("conexion.php") ?>
<?php
$opc = $_POST['trapor'];
if ($opc=='estpago'){
echo "<br>
<table width='90%' border='0' align='center'>
<tr>
<td

align='right'

width='225px'

class='td_tabla'>Estado

del

Pago:</td>
<td align='center' width='324px'>
<select name='estpag' >
<option VALUE =''> </option>
<option VALUE ='Pagado'>Pagado</option>
<option VALUE ='Pendiente'>Pendiente</option>
<option VALUE ='No pagado'>No pagado</option>
</select>
</td>
<td

align='center'><input

type='button'

class='btn

btnapply'

value='Ingresar' onclick='lis_datos()'></td>
</tr>
</table>
<br>
<tr>
<td colspan='4' align='center'><div align='center' id='datos2'></div></td>
</tr>
<br>
";
}else if ($opc == 'esttrab'){
echo "<br>
<table width='90%' border='0' align='center'>
<tr>
<td

align='right'

width='225px'

Trabajo:</td>
<td align='center' width='324px'>

class='td_tabla'>Estado

del

<select name='estadotrab' >


<option VALUE =''> </option>
<option VALUE ='Terminado'>Terminado</option>
<option VALUE ='En proceso'>En Proceso</option>
</select>
</td>
<td

align='center'><input

type='button'

class='btn

btnapply'

value='Ingresar' onclick='lis_datos2()'></td>
</tr>
</table>
<br>
<tr>
<td colspan='4' align='center'><div align='center' id='datos2'></div></td>
</tr>
<br>
";
}
?>

Pago_cuotas.php
<form id="paga_cuotas" method="post">
<table width='90%' border='0' align='center'>
<tr>
<br>
<br>
<td

colspan='10'

class='td_tabla'>CANCELACIN

DE

CUOTAS</td>
</tr>
<tr><td colspan='4'>&nbsp;</td></tr>
<tr>
<td

align='right'

width='240px'

class="td_tabla">Ingrese

Rut

del

Cliente</td>
<td align='center'><input type='text' name='rut' id='td_proceso' size='9'
maxlength='8' onkeypress='return validar(event)'> <input
maxlength='1'></td>

type='text'

name='dv'

id='td_proceso'

size='1'

<td colspan="2" align='center'><input class='btn btnsave' type='button'


name='boton1' value='Ingresar' onClick='ing_datos()'></td>
</tr>
</table>
<br>
<tr>
<td colspan='4' align='center'><div align='center' id='datos'></div></td>
</tr>
<tr><td>&nbsp;</td></tr>
</form>
<script>
$(document).ready(function()
{
$("#prueba").tablesorter( {
sortList: [[0,0], [1,0]],
widgets: ['zebra']
} );
}
);
</script>
<?php include("conexion.php") ?>
<?php
function ValidaDVRut($rut) {
$tur = strrev($rut);
$mult = 2;
for ($i = 0; $i <= strlen($tur); $i++) {
if ($mult > 7) $mult = 2;
$suma = $mult * substr($tur, $i, 1) + $suma;
$mult = $mult + 1;
}
$valor = 11 - ($suma % 11);
if ($valor == 11) {
$codigo_veri = "0";
} elseif ($valor == 10) {
$codigo_veri = "k";
} else {
$codigo_veri = $valor;
}

return $codigo_veri;
}
$rut1=$_POST['rut'];
$dv=$_POST['dv'];
$digito=ValidaDVRut($rut1);
$rutfin =$rut1.'-'.$dv;
$prueba = strlen($rut1);
$sql = "select * from trabajo_veh tveh, vehiculo veh where
tveh.pat_vehiculo = veh.pat_vehiculo and veh.rut_cliente = '$rutfin'";
$sql2 = mysql_query($sql,$conexion);
$i=0;
while ($row=mysql_fetch_array($sql2)){
$i++;
}
$sql3 = "select * from trabajo_proce where rut_cliente = '$rutfin'";
$sql4 = mysql_query($sql3,$conexion);
$j=0;
while ($row2 = mysql_fetch_array($sql4)){
$j++;
}
if (($prueba > 6)&&($rutfin!='00000000-0') && ($rut1!=00000000)
&& ($dv!="")){
if ( $digito == $dv ){
if (($i>0)||($j>0)){
echo "
<table

width='100%'

class='tablesorter'>
<thead>
<tr>
<th>C&oacute;digo</th>
<th>Fecha</th>
<th>N&uacute;mero</th>
<th>Tipo Pago</th>
<th>Valor</th>
<th>Estado</th>
<th>Cancelar</th>
</tr>
</thead>

align='center'

id='prueba'

<tbody>
";
$instruccion = "select cu.* from cuota cu, trabajo_proce
tproc where cu.cod_trabajo = tproc.cod_trabajo and rut_cliente = '$rutfin' and
cu.estado_cuota = 'No Pagado'";
$ins = mysql_query($instruccion,$conexion);
for ($i=1;$resultado = mysql_fetch_array($ins);$i++){
$fechacuota=date_format(date_create($resultado[fecha_pago_cuota]),"d/m/Y")
$valorcuota=number_format($resultado[valor_cuota], 2, ",", ".");
echo "
<tr>
<td align='center'>$resultado[cod_trabajo]</td>
<td align='center'>$fechacuota</td>
<td align='center'>$resultado[num_cuota]</td>
<td align='center'>$resultado[tipo_pago]</td>
<td align='right'>$valorcuota</td>
<td align='center'>$resultado[estado_cuota]</td>
<td
href='pagando_cuotas.php?id=$resultado[id]'

align='center'><a
><img

src='the-delete-icon.jpg'

width='25px' height='25px' border='0'></a></td>


<tr>
";
}
$instruccion2 = "select cu.* from cuota cu, trabajo_veh
tveh, vehiculo veh where cu.cod_trabajo = tveh.cod_trabajo and tveh.pat_vehiculo =
veh.pat_vehiculo and veh.rut_cliente = '$rutfin' and cu.estado_cuota = 'No Pagado'";
$ins2 = mysql_query($instruccion2,$conexion);
for ($i=1;$resultado2=mysql_fetch_array($ins2);$i++){
$fechacuota=date_format(date_create($resultado2[fecha_pago_cuota]),"d/m/Y"
);
$valorcuota=number_format($resultado2[valor_cuota], 2, ",", ".");
echo "
<tr>
<td align='center'>$resultado2[cod_trabajo]</td>
<td align='center'>$fechacuota</td>
<td align='center'>$resultado2[num_cuota]</td>

<td align='center'>$resultado2[tipo_pago]</td>
<td align='right'>$valorcuota</td>
<td align='center'>$resultado2[estado_cuota]</td>
<td

align='center'><a

href='pagando_cuotas.php?id=$resultado2[id]'

><img

src='the-delete-icon.jpg'

width='25px' height='25px' border='0'></a></td>


</tr>
";
}
echo "
</tbody>
</table>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;No se encuentran trabajos asignados a este
RUT</div>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Debe

Ingresar

una

d&iacute;gito

verificador

V&aacute;lido</div>";
}else echo "<div class='error'><img src='Images/error.png' width='12px'
height='12px'>&nbsp;&nbsp;&nbsp;Debe Ingresar un RUT v&aacute;lido</div>";
?>
<?php include("conexion.php") ?>
<?php
$id = $_GET['id'];
echo $id;
$instruccion2=mysql_query("select

cod_trabajo

from

cuota

where

id='$id'

",$conexion);
$codtrab=mysql_fetch_array($instruccion2);
$instruccion3="select

fecha_pago_cuota,

estado_cuota

from

cuota

where

cod_trabajo='$codtrab'";
$reg=mysql_query($instruccion3,$conexion);
$resultado=mysql_fetch_array($reg);
//$sql="select * from cuota where cod_trabajo = '$codtrab'";
$i=0;
$sql2 = "select * from cuota where fecha_pago_cuota < (select fecha_pago_cuota from
cuota where id='$id') and estado_cuota = 'No Pagado'";
$quer = mysql_query($sql2,$conexion);

while ($row = mysql_fetch_array($quer)){


$i++;
}
if ($i<>0){
echo"
<script>
alert ('No se Pueden pagar cuotas teniendo deudas anteriores');
window.location = 'paga_cuotas.php';
</script>
";
}else {
$instruccion = "update cuota set estado_cuota = 'Pagado' where id = '$id'";
$ins = mysql_query($instruccion,$conexion);
echo "
<script>
alert('Cuota Cancelada');
window.location = 'paga_cuotas.php';
</script>
";
}
?>

Ver_facturas.php
<form id="insumos" name="insumos" method="post" >
<br>
<table width='90%' border='0' align='center'>
<tr>
<br>
<td colspan='3' class='td_tabla'>REVISAR FACTURAS</td>
</tr>
<tr><td colspan='3'>&nbsp;</td></tr>
<tr>
<td class='td_tabla' width='270px' align='center'>N Factura:</td>
<td align='center'><input type='text' name='numfac' id='td_proceso'
size='12' onkeypress='return validar(event)'></td>

<td

align='center'><input

class='btn

btnapply'

type='button'

value='Seleccionar' onclick='ver_datos()' ></td>


</tr>
<tr><td colspan='3'>&nbsp;</td></tr>
<tr>
<td colspan='4' align='center'><div align='center' id='datos1'></div></td>
</tr>
</table>
<br>
<br>
<table width='50%' align='center' border='0'>
<tr><td colspan='2'>&nbsp;</td></tr>
<tr>
<td class='td_tabla' align='right'>Ver todas las facturas</td>
<td align='center'><input class='btn btnapply' type='button' name='ver'
value='Ver' onclick='sel_datos()'></td>
</tr>
</table>
<table width='100%' align='center' border='0'>
<tr>
<td colspan='4' align='center'><div id='datos'></div></td>
</tr>
</table>
</form>
<?php session_start();?>
<?php include("conexion.php") ?>
<?php
$numfac=$_POST['numfac'];
$_SESSION['numfac']=$numfac;
$instruccion = mysql_query("select nro_factura from factura where nro_factura =
'$numfac'",$conexion) or die ("Problemas en el select".mysql_error()) ;
$reg=mysql_fetch_array($instruccion);
if ($numfac!=""){
if ($reg['nro_factura']!=""){
//se llama a viendo_factura en otro archivo por q jquery no permite la creacion del excel
aqui
echo"
<script>

window.location = ('viendo_factura.php')
</script>
";
}else

echo

"<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Factura inexistente en le base de datos</div>";


}else

echo

"<div

class='error'><img

height='12px'>&nbsp;&nbsp;&nbsp;Debe

src='Images/error.png'
ingresar

un

width='12px'

n&uacute;mero

de

factura</div>";
?>
<?php include("conexion.php") ?>
<?php
$consulta = mysql_query("select fac.nro_factura, emp.nom_emp_prov, fac.fecha_fact,
fac.subtotal,

fac.iva,

fac.total

from

factura

fac,

empresa_prov

emp

where

fac.rut_emp_prov=emp.rut_emp_prov order by fac.fecha_fact asc",$conexion) or die


("Problemas en el select") ;
$con=mysql_fetch_array($consulta);
$num=$con['nro_factura'];
if ($num!=""){
$consulta = mysql_query("select fac.nro_factura, emp.nom_emp_prov, fac.fecha_fact,
fac.subtotal,

fac.iva,

fac.total

from

factura

fac,

empresa_prov

emp

where

fac.rut_emp_prov=emp.rut_emp_prov order by fac.fecha_fact asc",$conexion) or die


("Problemas en el select") ;
echo"<br>
<div align='center'>
<div align='center' class='scrolled'>
<table

align='center'

width='97%'

cellspacing='0'

border='2'

cellpadding='5' bordercolor=black bgcolor=white>


<tr>
<td bgcolor='#00FFFF' align='center' class='td_tabla'>Numero
Factura</td>
<td align='center' class='td_tabla'>Proveedor</td>
<td

bgcolor='#00FFFF'

align='center'

class='td_tabla'>Fecha

Factura</td>
<td align='center' class='td_tabla'>Subtotal</td>
<td bgcolor='#00FFFF' align='center' class='td_tabla'>I.V.A</td>
<td align='center' class='td_tabla'>Total</td>
";

for ($i = 1; $resultado=mysql_fetch_array($consulta) ;$i++)


{ $fechafac=date_format(date_create($resultado['fecha_fact']),"d/m/Y");
$subtot=number_format($resultado['subtotal'], 2, ",", ".");
$iva=number_format($resultado['iva'], 2, ",", ".");
$total=number_format($resultado['total'], 2, ",", ".");
echo

"<tr><td

bgcolor='#00FFFF'

align='center'

value='$resultado[nro_factura]'>$resultado[nro_factura]</td>
<td

align='center'

value='$resultado[nom_emp_prov]'>$resultado[nom_emp_prov]</td>
<td

align='center'

bgcolor='#00FFFF'

value='$resultado[fecha_fact]'>$fechafac</td>
<td align='right' value='$resultado[Subtotal]'>$subtot</td>
<td

align='right'

bgcolor='#00FFFF'

value='$resultado[iva]'>$iva</td>
<td align='right' value='$resultado[total]'>$total</td></tr>";
}
echo "
</tr>
</table>
</div>
</div>
<br>
";
}else

echo

"<div><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;No existen facturas</div>";


?>
<form id="usuarios" name="usuarios" method="post" >
<table width='90%' border='0' align='center'>
<tr>
<br></br>
<br></br>
<td

colspan='10'

class='td_tabla'>INGRESAR

FACTURA</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
<!-- alineacion fieldset con div-->
<div align="center">

DATOS

DE

<fieldset>
<legend

align="left"><font

color="red">Datos

Generales

de

Factura</font></legend>
<table width='80%' border='1' align='center' >
<!--<tr>
<td align='left' class='td_tabla'>Codigo del Pedido:</td>
<td align='left'><input type='text' name='codped'></td>
</tr>-->
<tr>
<td align='left' class='td_tabla'><font color = 'red'>(*)</font>
Numero Factura:</td>
<td

align='left'><input

type='text'

name='numfac'

onkeypress='return validar(event)' size='10' maxlength='10'></td>


</tr>
<tr>
<td

align='left'

class='td_tabla'><font

color

'red'>(*)</font>

Proveedor:</td>
<td align='left'>
<select class='select3' name='rutemprov'>
<option value=''>Seleccione Proveedor</option><?php
$consulta=

mysql_query("select

rut_emp_prov,

nom_emp_prov

from

empresa_prov");
for ($i = 1; $resultado=mysql_fetch_array($consulta) ;$i++)
{
echo

"<option

value='$resultado[rut_emp_prov]'>$resultado[nom_emp_prov]</option>";
}
?>
</select></td>
</tr>
<tr>
<td align='left' class='td_tabla'><font color = 'red'>(*)</font>
Fecha Factura:</td>
<td align='left'><input type='text' id='fecha' name='fechafac'
readonly='' onChange='fechas(this.value); this.value=borrar'></td>
</tr>
<tr>

<td align='left' class='td_tabla'><font color = 'red'>(*)</font>


Cantidad Productos:</td>
<td

align='left'><input

type='text'

name='cantfac'

onkeypress='return validar(event)' size='3' maxlength='3'></td>


</tr>
<!--<tr>
<td align='left' class='td_tabla'>Sub Total:</td>
<td align='left'><input type='text' name='subtotfac'></td>
</tr>
<tr>
<td align='left' class='td_tabla'>IVA:</td>
<td align='left'><input id="intIva" type='text' name='ivafac'></td>
</tr>-->
<tr>
<td align='left' class='td_tabla'><font color = 'red'>(*)</font> Total
Factura:</td>
<td align='left'><input id="resultado" type='text' name='totfac'
onkeypress='return validar(event)' size='7' maxlength='7'></td>
</tr>
<tr align='right'>
<td colspan="2" align='right'><input class='btn btnsave' type='button'
name='boton1' value=' Ingresar ' onClick='ing_datos()'></td>
</tr>
</table>
</fieldset>
</div>
<tr><td>&nbsp;</td></tr>
<!-- termino alineacion de fieldset con </div> -->
<br>
<tr>
<td colspan='4' align='center'><div align='center' id='datos'></div></td>
</tr>
<tr><td>&nbsp;</td></tr>
</form>
<?php include("conexion.php") ?>
<script type="text/javascript" src="jquery.js"></script>
<script>
function ing_datos2(){

var pars = $("form").serialize();


$.ajax({
type: "POST",
url: "ingresando_datos_factura.php",
data: pars ,
success: function(crea_ok){
//alert (contenido)
$("#datos2").html(crea_ok)
}
});
};
</script>
<?php
date_default_timezone_set('America/Santiago');
function ValidaDVRut($rut) {
$tur = strrev($rut);
$mult = 2;
for ($i = 0; $i <= strlen($tur); $i++) {
if ($mult > 7) $mult = 2;
$suma = $mult * substr($tur, $i, 1) + $suma;
$mult = $mult + 1;
}
$valor = 11 - ($suma % 11);
if ($valor == 11) {
$codigo_veri = "0";
} elseif ($valor == 10) {
$codigo_veri = "k";
} else {
$codigo_veri = $valor;
}
return $codigo_veri;
}
function cambiafechaamysql($fecha_nom){
ereg("([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})", $fecha_nom, $mifechauno);
$fechana=$mifechauno[3]."-".$mifechauno[2]."-".$mifechauno[1];
return $fechana;
}

/*$codped=trim($_POST['codped']);
if ($codped!=""){*/
$numfac=trim($_POST['numfac']);
if ($numfac!=""){
$instruccion = mysql_query("select nro_factura from factura where
nro_factura = '$numfac'",$conexion) or die ("Problemas en el select".mysql_error()) ;
$reg=mysql_fetch_array($instruccion);
if($reg['nro_factura']==""){
$rutemprov=$_POST['rutemprov'];
if ($rutemprov!=""){
$fechafac=$_POST['fechafac'];
if ($fechafac!=""){
$hoy=date("Y-m-d");
$fecha1=cambiafechaamysql($fechafac);
$fecha2=date_create($fecha1);
//echo $fecha1."<br>";
$fecha3=date_format($fecha2,"Y-m-d");
if ($fecha3<=$hoy){
//echo $fecha3.'-'.$hoy;
$cantfac=trim($_POST['cantfac']);
if ($cantfac!=""){
/*$subtotfac=trim($_POST['subtotfac']);
if ($subtotfac!=""){
$ivafac=trim($_POST['ivafac']);
if ($ivafac!=""){*/
$totfac=trim($_POST['totfac']);
if (($totfac!="")&&($totfac!=0)){
/*$consulta

mysql_query("select

cod_insumo,

nom_ins,

tipo_ins,

rut_emp_prov from insumo order by nom_ins asc",$conexion) or die ("Problemas en el


select") ;
echo"<div align='center'>
<div align='center' class='scrolled'>
<table

align='center'

width='90%'

cellspacing='0'

cellpadding='5' bordercolor=black bgcolor=white>


<tr>
<td align='center' class='td_tabla'>Codigo Insumo</td>
<td align='center' class='td_tabla'>Nombre Insumo</td>
<td align='center' class='td_tabla'>Tipo Insumo</td>

border='2'

<td align='center' class='td_tabla'>Rut Proveedor</td>


";
for ($i = 1; $resultado=mysql_fetch_array($consulta) ;$i++)
{
echo

"<tr

bgcolor='#00FFFF'><td

value='$resultado[cod_insumo]'>$resultado[cod_insumo]</td>
<td value='$resultado[nom_ins]'>$resultado[nom_ins]</td>
<td value='$resultado[tipo_ins]'>$resultado[tipo_ins]</td>
<td
value='$resultado[rut_emp_prov]'>$resultado[rut_emp_prov]</td></tr>";
}
echo "
</tr>
</table>
</div>
<tr><td>&nbsp;</td></tr>";
*/
echo"<div align='center'>
<fieldset class='fieldset'>
<legend

align='left'><font

color='red'>Detalle

de

la

Factura</font></legend>
<table width='95%' border='1' align='center'>";
$j=1;
while($j<$cantfac+1){
echo"
<tr>
<td align='left' class='td_tabla'>Producto $j:</td>
<td align='left'>
<select class='select2' name='insumo[";$j;echo"]'>";
$consulta= mysql_query("select ins.cod_insumo, ins.nom_ins,
ins.cant_medida, detins.marca from insumo ins, detalle_insumo detins where
ins.cod_insumo = detins.cod_insumo and detins.rut_emp_prov = '$rutemprov' ");
$consulta2=mysql_query("select med.unidad from insumo ins,
medida_material med, detalle_insumo dins where dins.rut_emp_prov='$rutemprov' and
dins.cod_insumo = ins.cod_insumo and ins.cod_med_mat = med.cod_med_mat");
for ($i = 1; $resultado=mysql_fetch_array($consulta) ;$i++)
{$resultado2=mysql_fetch_array($consulta2);

echo

"<option

value='$resultado[cod_insumo]'>$resultado[nom_ins],

$resultado[marca]

$resultado[cant_medida] $resultado2[unidad]</option>";
}
echo "
</select>
</td>
<td align='left' class='td_tabla'>Cantidad:</td>
<td

align='left'><input

type='text'

name='cant[";$j;echo"]'

onkeypress='return validar(event)' size='4' maxlength='4'></td>


<td align='left' class='td_tabla'>Importe:</td>
<td

align='left'><input

type='text'

name='precio[";$j;echo"]'

onkeypress='return validar(event)' size='7' maxlength='7'></td>


</tr>
";
// para probar ciclo del while value='cant";echo$j;echo"'
$j=$j+1;
}
echo"<tr align='right'>
<td colspan='6' align='right'><input class='btn btnsave' type='button'
name='boton1' value=' Ingresar ' onClick='ing_datos2()'></td>
</tr>
<tr>
<td colspan='6' align='center'><div id='datos2'></div></td>
</tr>
</table>
</fieldset>
</div>
</div>";

}else

echo"<div

class='error'><img

height='12px'>&nbsp;&nbsp;&nbsp;Debe

src='Images/error.png'

ingresar

un

total

width='12px'
de

factura

v&aacute;lido</div>";
/*}else

echo"<div><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe ingresar el iva de la factura</div>";


}else

echo"<div><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe ingresar el subtotal de la factura</div>";*/

}else

echo"<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe se&ntilde;alar la cantidad de insumos para


generar el detalle</div>";
}else

echo"<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;La fecha de factura no puede ser mayor a


hoy</div>";
}else

echo"<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe una fecha</div>";


}else

echo"<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe seleccionar un proveedor</div>";


}else

echo"<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Factura ya ingresada</div>";
}else

echo"<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe ingresar el numero de factura</div>";


/*}else

echo"<div><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe ingresar el codigo de pedido</div>";*/


?>

Ver_stock_insumo.php
<form id="insumos" name="insumos" method="post" >
<table width='90%' border='0' align='center'>
<tr>
<br>
<br>
<td

colspan='10'

class='td_tabla'>REVISAR

STOCK

INSUMOS</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td align='center' width='225px' class='td_tabla'>Ver stock de:</td>
<td align='center'>
<select name='secpor' >
<option VALUE =''> </option>
<option VALUE ='mat'>Materiales </option>
<option VALUE ='her'>Herramientas </option>

DE

</select>
</td>
<td align='center'><input class='btn btnapply' type='button' value='Ver'
onclick='sel_datos()'></td>
</tr>
</table>
<br>
<tr>
<td colspan='4' align='center'><div align='center' id='datos'></div></td>
</tr>
</form>
<?php include("conexion.php") ?>
<?php
if ($_POST['secpor']!=""){
if ($_POST['secpor']=='mat'){
echo "
<br>
<table

align='center'

width='90%'

cellspacing='0'

border='2'

cellpadding='5' bordercolor=black bgcolor=white>


<tr>
<td align='center' class='td_tabla'>Material</td>
<td align='center' class='td_tabla'>Stock Actual</td>
<td align='center' class='td_tabla'>Stock M&iacute;nimo</td>";
$instruccion

mysql_query("select

ins.nom_ins,

ins.stock_actual_ins,

ins.stock_min_ins, med.unidad from insumo ins, medida_material med where


ins.tipo_ins='Material' and ins.cod_med_mat=med.cod_med_mat",$conexion) or die
("Problemas en el select");
for ($i = 1; $resultado=mysql_fetch_array($instruccion) ;$i++)
{
echo "<tr><td value='$resultado[nom_ins]'>$resultado[nom_ins]</td>
<td
value='$resultado[stock_actual_ins]'>$resultado[stock_actual_ins],
$resultado[unidad]</td>
<td
value='$resultado[stock_min_ins]'>$resultado[stock_min_ins],
$resultado[unidad]</td></tr>";
}
echo "

</tr>
</table>
<tr><td>&nbsp;</td></tr>
";
}elseif ($_POST['secpor']=='her'){
echo "
<br>
<table

align='center'

width='90%'

cellspacing='0'

border='2'

cellpadding='5' bordercolor=black bgcolor=white>


<tr>
<td align='center' class='td_tabla'>Material</td>
<td align='center' class='td_tabla'>Stock Actual</td>
<td align='center' class='td_tabla'>Stock M&iacute;nimo</td>";
$instruccion = mysql_query("select nom_ins, stock_actual_ins, stock_min_ins from
insumo where tipo_ins='Herramienta'",$conexion) or die ("Problemas en el select");
for ($i = 1; $resultado=mysql_fetch_array($instruccion) ;$i++)
{
echo "<tr><td value='$resultado[nom_ins]'>$resultado[nom_ins]</td>
<td
value='$resultado[stock_actual_ins]'>$resultado[stock_actual_ins]</td>
<td
value='$resultado[stock_min_ins]'>$resultado[stock_min_ins]</td></tr>";
}
echo "
</tr>
</table>
<tr><td>&nbsp;</td></tr>
";
}
}else

echo

"<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe seleccionar un tipo de insumo</div>";


?>

Ver_ingresos.php
<form id="finanzas" name="finanzas" method="post" >
<?php
$tipo = $_SESSION['k_tipo'];
if ($tipo=='Administrador'){
echo "
<table width='90%' border='0' align='center'>
<tr>
<br>
<br>
<td colspan='10' class='td_tabla'>GENERAR INFORME DE
INGRESOS</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td align='center' width='220px' class='td_tabla'>Generar Por:</td>
<td align='center'>
<select name='tiplist' >
<option VALUE =''></option>
<option VALUE ='Por Dia'>Por D/option>
<option VALUE ='Por Rango de Fecha'>Por Rango de Fecha</option>
<option VALUE ='Por Mes'>Por Mes</option>
<option VALUE ='Por Ano'>Por A o</option>
</select>
</td>
<td align='center'><input type='button' class='btn btnapply' value='Ingresar'
onclick='ing_datos()'></td>
</tr>
</table>
<br>
<tr>
<td colspan='4' align='center'><div align='center' id='datos'></div></td>
</tr>
<tr>
<td colspan='4' align='center'><div align='center' id='datos3'></div></td>
</tr>
";

}else

echo

denegado.png'>"."<br>"."<div><img

"<img
src='Images/error.png'

src='images/acceso
width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;No tiene Permisos para acceder a este lugar</div>";


?>
</form>
<script type="text/javascript" src="jquery.ui.core.js"></script>
<script type="text/javascript" src="jquery.ui.widget.js"></script>
<script type="text/javascript" src="jquery.ui.datepicker.js"></script>
<script type="text/javascript">
$(function() {
$("#fecha").datepicker({
showOn: 'button',
buttonImage: 'calendar.gif',
buttonImageOnly: true,
changeMonth:true,
changeYear:true,
yearRange:'c-20:c+1'
});
});
</script>
<script type="text/javascript">
$(function() {
$("#fecha2").datepicker({
showOn: 'button',
buttonImage: 'calendar.gif',
buttonImageOnly: true,
changeMonth:true,
changeYear:true,
yearRange:'c-20:c+1'
});
});
</script>
<?php include("conexion.php") ?>
<?php
$por = $_POST['tiplist'];
if ($por!=""){
if ($por == 'Por Dia'){
echo "

<table width='90%' border='0' align='center'>


<tr><td>&nbsp;</td></tr>
<tr>
<td align='center' class='td_tabla'>Seleccione el D&iacute;a </td>
<td

align='center'

class='td_tabla'><input

type='text'

name='fechex'

id='fecha' onChange='fechas(this.value); this.value=borrar' readonly=''></td>


<td align='center'>
<input

type='button'

class='btn

btnapply'

value='Ingresar'

onclick='ing_xdia()'>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td colspan='4' align='center'><div align='center' id='datos2'></div></td>
</tr>
</table>
";
}elseif ($por == 'Por Rango de Fecha'){
echo "
<table width='90%' border='0' align='center'>
<tr><td>&nbsp;</td></tr>
<tr>
<td align='center' class='td_tabla'>Fecha Inicio </td>
<td

align='left'

class='td_tabla'><input

type='text'

name='fechini'

id='fecha' onChange='fechas(this.value); this.value=borrar' readonly=''></td>


<td align='center' class='td_tabla'>Fecha T&eacute;rmino </td>
<td

align='left'

class='td_tabla'><input

type='text'

name='fechter'

id='fecha2' onChange='fechas(this.value); this.value=borrar' readonly=''></td>


<td align='center'>
<input

type='button'

class='btn

btnapply'

value='Ingresar'

onclick='ing_xrango()'>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td colspan='5' align='center'><div align='center' id='datos2'></div></td>
</tr>
</table>

";
}elseif ($por == 'Por Mes'){
echo "
<table width='90%' border='0' align='center'>
<tr><td>&nbsp;</td></tr>
<tr>
<td align='center' class='td_tabla'>Seleccione el Mes</td>
<td align='center'>
<select name='fechmes'>
<option value='01'>Enero</option>
<option value='02'>Febrero</option>
<option value='03'>Marzo</option>
<option value='04'>Abril</option>
<option value='05'>Mayo</option>
<option value='06'>Junio</option>
<option value='07'>Julio</option>
<option value='08'>Agosto</option>
<option value='09'>Septiembre</option>
<option value='10'>Octubre</option>
<option value='11'>Noviembre</option>
<option value='12'>Diciembre</option>
</select>
</td>
<td align='center'>
<input

type='button'

class='btn

btnapply'

value='Ingresar'

onclick='ing_xmes()'>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td colspan='4' align='center'><div align='center' id='datos2'></div></td>
</tr>
</table>
";
}elseif ($por == 'Por Ano'){
echo "
<table width='90%' border='0' align='center'>
<tr><td>&nbsp;</td></tr>

<tr>
<td align='center' class='td_tabla'>Seleccione A&ntilde;o</td>
<td align='center' class='td_tabla'>
<select name='porano'>
<option value='2009'>2009</option>
<option value='2010'>2010</option>
<option value='2011'>2011</option>
<option value='2012'>2012</option>
<option value='2013'>2013</option>
<option value='2014'>2014</option>
<option value='2015'>2015</option>
<option value='2016'>2016</option>
<option value='2017'>2017</option>
<option value='2018'>2018</option>
<option value='2019'>2019</option>
<option value='2020'>2020</option>
<option value='2021'>2021</option>
<option value='2022'>2022</option>
<option value='2023'>2023</option>
<option value='2024'>2024</option>
<option value='2025'>2025</option>
<option value='2026'>2026</option>
<option value='2027'>2027</option>
<option value='2028'>2028</option>
<option value='2029'>2029</option>
<option value='2030'>2030</option>
<option value='2031'>2031</option>
<option value='2032'>2032</option>
<option value='2033'>2033</option>
<option value='2034'>2034</option>
<option value='2035'>2035</option>
<option value='2036'>2036</option>
<option value='2037'>2037</option>
<option value='2038'>2038</option>
<option value='2039'>2039</option>
<option value='2040'>2040</option>
<option value='2041'>2041</option>
<option value='2042'>2042</option>

<option value='2043'>2043</option>
<option value='2044'>2044</option>
<option value='2045'>2045</option>
<option value='2046'>2046</option>
<option value='2047'>2047</option>
<option value='2048'>2048</option>
<option value='2049'>2049</option>
<option value='2050'>2050</option>
</select>
</td>
<td align='center'>
<input

type='button'

class='btn

btnapply'

value='Ingresar'

onclick='ing_xano()'>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td colspan='4' align='center'><div align='center' id='datos2'></div></td>
</tr>
</table>
";
}
}else

echo

"<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe Seleccionar un Criterio de Consulta</div>";


?>
<script>
$(document).ready(function()
{
$("#prueba").tablesorter( {
sortList: [[0,0], [1,0]],
widgets: ['zebra']
} );
}
);
</script>
<?php include("conexion.php") ?>
<?php
function cambiafechaamysql($fecha_nom){

ereg("([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})", $fecha_nom, $mifechauno);


$fechana=$mifechauno[3]."-".$mifechauno[2]."-".$mifechauno[1];
return $fechana;
}
$fecha = cambiafechaamysql($_POST['fechini']);
$fecha2 = cambiafechaamysql($_POST['fechter']);
if (($fecha!="--")&&($fecha2!="--")){
$f1=date_format(date_create($fecha),"d/m/Y");
$f2=date_format(date_create($fecha2),"d/m/Y");
//echo $f1.' '.$f2;
if ($f1 < $f2){
$sql = "select * from trabajo where fecha_inicio_trab between '$fecha' and '$fecha2'";
$fsql = mysql_query($sql,$conexion);
$i = 0;
while ($row=mysql_fetch_array($fsql))
{
$i++;
}
if ($i>0){
echo "
<table width='100%' align='center' id='prueba' class='tablesorter'>
<thead>
<tr>
<th>C&oacute;digo</th>
<th>Ingreso</th>
<th>Tipo Trabajo</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
";
$total = 0;
$sql2

"select

fecha_inicio_trab,fecha_termino_trab,valor_trab,tipo_trab

cod_trabajo,
from

trabajo

where

fecha_inicio_trab between '$fecha' and '$fecha2'";


$reg = mysql_query($sql2,$conexion);
for ($i=1;$resultado=mysql_fetch_array($reg);$i++){
$fecha=date_format(date_create($resultado['fecha_inicio_trab']),"d/m/Y");

$valor=number_format($resultado['valor_trab'], 2, ",", ".");


echo "
<tr>
<td align='center'>$resultado[cod_trabajo]</td>
<td align='center'>$fecha </td>
<td align='center' width='25%'>$resultado[tipo_trab]</td>
<td align='right'>$valor</td>
</tr>
";
$total = $total + $resultado[valor_trab];
}
echo "
</tbody>
</table>
";
//$sql3 = "select sum(valor_trab) from trabajo where '$fecha' between
fecha_inicio_trab and fecha_termino_trab";
//$reg2 = mysql_query($sql3,$conexion);
//$result = mysql_fetch_array($reg2);
//$total = $result[sum(valor_trab)];
$total=number_format($total, 2, ",", ".");
echo "
<br></br>
<br></br>
<tr>
<br></br>
<td align='left' class='td_tabla'>Total</td>
<td

align='left'

class='td_tabla'><input

type='text'

value='$total'

readonly=''></td>
</tr>
";
}else

echo

"<div

class='error'><img

height='12px'>&nbsp;&nbsp;&nbsp;No

hay

src='Images/error.png'
Trabajos

realizados

width='12px'
en

la

Fecha

Ingresada</div>";
}else

echo

"<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;El rango de fecha es invalido</div> ";


}else

echo

"<div

class='error'><img

src='Images/error.png'

width='12px'

height='12px'>&nbsp;&nbsp;&nbsp;Debe seleccionar ambas fechas</div>";

?>

Вам также может понравиться