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

UNIVERSIDAD SAN PEDRO

VICERRECTORADO ACADMICO
FACULTAD DE INGENIERA

ESCUELA DE INGENIERA Y DE SISTEMAS

IMPLEMENTACIN DEL SISTEMA INFORMTICO WEB,


AREA DE VENTA Y PAGOS ONLINE PARA LA BOTICA
E.J.C. 2016

PROYECTO DE INVESTIGACIN

AUTORES:

- CHUMBIAUCA QUIONES, JUNIOR


- MARTELL ROMN, EDWIN
- YAURI INTI, CARLOS

BARRANCA PER

2016
1. Palabras Clave:

Tema Implementacin

Especialidad Informtica

2. Ttulo
Implementacin del sistema informtico web, rea de venta y pagos online
para la botica E.J.C. 2016.

3. Resumen
El objetivo principal para este proyecto es implementar un sistema web para
el control de medicamentos en una botica.
Utilizaremos la metodologa RUP (Proceso Unificado Racional) porque es un
proceso para el desarrollo de un proyecto de un software que define
claramente quien, cmo, cundo y qu debe hacerse en el proyecto, es
explcito en la definicin de software y su trazabilidad, es decir, contempla en
relacin causal de los programas creados desde los requerimientos hasta la
implementacin y pruebas e identifica claramente a los profesionales
(actores) involucrados en el desarrollo del software y sus responsabilidades
en cada una de las actividades.
El sistema que realizaremos contribuir de manera muy importante para
identificar y resaltar los puntos que hay que cubrir y considerar para llevar a
cabo una implementacin exitosa de los sistemas de informacin.
4. Abstract

The main objective for this project is to implement a web system for drug
control in apothecary.
We use the RUP (Rational Unified Process) because it is a process for
developing a project of software that clearly defines who, how, when and
what should be done in the project, is explicit in defining software and
traceability, is ie in causal relationship includes programs created from
requirements to implementation and testing and clearly identifies
professionals (actors) involved in software development and responsibilities
in each of the activities.
The system that we will contribute very important to identify and highlight
the points to be covered and consider to carry out a successful
implementation of information systems way.

5. Introduccin

5.1. Antecedentes y fundamentacin cientfica

Pablo Gabriel DAmico (2008)


Plan de Marketing aplicado a una farmacia oficial; esta
investigacin se basa en convertir una farmacia "de barrio" en una
empresa de rubro farmacutico, teniendo como objetivos principales,
mejorar los mrgenes y rentabilidad del negocio, desarrollo de
estrategias y realizar estudios para destacarse de la competencia. Para
llegar a cumplir dichos objetivos es necesario abarcar estrategias
desde el cliente, del empleado, desde la empresa a sus competidores,
de su oferta a la demanda del cliente, de la empresa como clientes
hacia sus proveedores, desde el logotipo y la distribucin interna de la
mercadera. Es decir sabiendo a que entorno se enfrenta la empresa, se
podr tomar las mejores decisiones y posicionarse en el mercado en su
zona de influencia.

Martnez, R (2008 - San Salvador)


Propuesta para el Diseo de un Plan de Marketing Relacional
para incrementar las ventas de las cadenas de farmacias ubicadas
en el rea metropolitana de San Salvador; la finalidad del plan de
marketing relacional se traduce en dos: lograr la fidelizacin de los
clientes hacia la cadena de farmacias de sus eleccin y convertirse en
una herramienta que pueda ser utilizada por ellas, para lograr
posicionarse fuertemente en el mercado y en la mente de los clientes,
mediante la atencin al cliente, los productos y servicios ofrecidos.
Por lo tanto este instrumento permite determinar los pasos a seguir y
estableciendo las estrategias pertinentes para alcanzar xito del
mismo.

Prez, L (2009 - Ecuador)


Desarrollo de Plan Estratgico de Comercializacin y su
incidencia en el volumen de ventas de la Botica Bristol; las
empresas del sector farmacutico buscan posicionarse en el mercado y
comparan sus actividades, donde los factores de xito no siempre son
los mismos, por lo que necesitan formular, disear, e implementar
estrategias de comercializacin con relacin a la competencia
farmacutica, como: preferencias, nivel adquisitivo, estilos de vida,
factores que los diferencian a los consumidores. Esta investigacin
busca en primera instancia identificar las necesidades y exigencias de
los clientes, mediante la implementacin de entrevistas y encuestas
para determinar qu productos tienen mayor demanda, en segunda
instancia elaborar el plan estratgico de comercializacin, aplicando
marketing mix para incrementar las ventas en la Botica Bristol.
DIARIO PER 21 (2014)
Peruanos gastan slo $30.40 al ao en medicamentos; segn este
artculo periodstico, nuestro pas tiene uno de los consumos ms
bajos de la regin y se encuentra por debajo de Ecuador y Chile que
reportan $73.20 y $94.50 respectivamente, pero esto no representa
una desventaja, porque el sector farmacutico est creciendo
permanentemente y existe an mercado por expandirse. Pese a estar
por debajo del promedio de consumo, existe potencial en el mercado
nacional, este se muestra atractivo principalmente a la mejora de la
economa del pas, la capacidad de gasto de las personas es mayor y
se dirige tambin a los servicios de salud. Durante el ao 2012 la
venta de productos farmacuticos sumaron alrededor de $1,600
millones de dlares con un crecimiento del 6.3 % con respecto al ao
anterior, segn ALAFARPE (Asociacin Nacional de Laboratorios
Farmacuticos), para el presente ao se proyect alcanzar los $1,800
millones con una tasa de desarrollo similar a la del ao pasado.

5.2. Justificacin de la Investigacin


5.2.1. En lo cientfico:
La presente investigacin es importante porque servir como material de
referencia a la Universidad San Pedro de Barranca, investigaciones
futuras e informacin relevante para las farmacias independientes
Lauriama, con el fin que conozcan como disear esta herramienta, la cual
les permitir determinar la posicin que ocupan dentro del sector y
disear estrategias que permitan alcanzar el posicionamiento y
crecimiento continuo.

5.2.2. En lo social:

La presente investigacin es importante porque permite analizar el sector


de Farmacias Independientes, determinando los atributos y
comportamiento de compra de los consumidores de dicho sector,
informacin que se debe tomar en cuenta para la toma de las mejores
decisiones.

5.2.3. En lo personal:

Con el desarrollo de la investigacin se pretende ampliar y fortalecer los


conocimientos adquiridos durante la vida estudiantil, con el fin de dar
alternativas de solucin a los administradores de las farmacias
independientes Lauriama en la Provincia de Barranca, para que ellos
consideren su aplicacin y ejecucin a fin de mejorar las dificultades que
presenta la empresa.

5.3. Problema
Cmo implementar un sistema informtico web, para el rea de venta y
pagos en lnea para la botica E.J.C. 2016?

5.3.1 En forma General


Un problema de suministro es una falta continuada y generalizada de un
medicamento en las oficinas de farmacia y servicios de farmacia y puede
ser debido bien a problemas en su produccin, ya sea por problemas de
fabricacin del medicamento o de obtencin de sus materias primas, o por
problemas a nivel de su distribucin.

5.3.2 En forma Internacional


La escasez de medicamentos esenciales, entre ellos los agentes genricos
inyectables para quimioterapia, es motivo de creciente preocupacin en
los Estados Unidos de Amrica. Sin embargo, el problema es mucho ms
amplio y afecta a otros tipos de medicamentos, incluidos los agentes
anestsicos tales como el propofol, nutrientes y electrolitos intravenosos,
productos sustitutivos enzimticos y radiofrmacos.
5.3.3 En forma Nacional
Es de todos el conocimiento que la liberacin del ejercicio profesional
Farmacutico en nuestra sociedad peruana trajo consigo muchos
problemas que se discuten desde las aulas universitarias y en el propio
Ministerio de Salud, ms ahora que estamos a la espera de la aprobacin
del nuevo Reglamento de Establecimientos Farmacuticos, muchos de
estos temas son: Legislacin farmacutica, automedicacin, la Farmacia
es un comercio o centro sanitario, diferencias entre Farmacias o Boticas,
Titularidad y Propiedad del establecimiento Farmacutico, etc.

5.3.4 En forma Local


La inexistencia de un Plan Estratgico de Comercializacin decremento el
volumen de ventas en la Botica Lauriama.
Las empresas del sector farmacutico buscan posicionarse en el mercado
y comparan sus actividades, dnde los factores de xito no siempre son
los mismos, por lo que necesitan formular, disear e implementar
estrategias de comercializacin con relacin a la competencia
farmacutica, como: preferencias, nivel adquisitivo, estilos de vida
factores que les diferencian a los consumidores.
Algunos de los problemas ms concretos que podemos identificar en el
sector:
Evaluacin de proveedores, en funcin de criterios varios, como
calidad, plazos de entrega, etc.
Control de lotes y caducidades.
Gestin de almacenes en funcin de las propiedades de los materiales.
Sobrantes de stock.
Sistemas de facturacin complejos y lentos.
5.4. Marco Referencial
Para el siguiente proyecto utilizaremos distintas herramientas entre las
cuales tenemos: JAVA Un lenguaje simple. Orientado al objeto,
distribuido, interpretado, slido, seguro, de arquitectura neutral, portable,
de ato desempeo, de multihilos y dinmico. MySQL server, decir open
source (cdigo abierto) representa que el usuario puede usarlo libremente
y hacer ajustes en el cdigo para maximizar su funcionamiento, anexando
mejoras a la base de datos. RATIONAL ROSE, Facilita el anlisis y
diseo orientado a objetos, permitiendo a los usuarios (analistas,
ingenieros, escritores y directores de proyecto) para crear, ver, manipular
y modificar elementos en un Lenguaje de Modelado Unificado (UML) en
toda la empresa, utilizando una de las herramientas y el lenguaje. Todas
estas herramientas ayudaran no solo a los integrantes de este proyecto si
no al proyecto en s, haciendo de este un proyecto competitivo y
cubriendo las expectativas del usuario final.

5.4.1. Concepto de sistema


Sistema es un conjunto de cosas que ordenadamente relacionadas entre s
contribuyen a un determinado objetivo (Real Academia Espaola).

Concepto de sistema de informacin:


Un conjunto formal de procesos que, operando sobre una coleccin de datos
estructurada segn las necesidades de la empresa, recopilan, elaboran y
distribuyen la informacin (o parte de ella) necesaria para las operaciones de
dicha empresa y para las actividades de direccin y control correspondientes
(decisiones) para desempear su actividad de acuerdo a su estrategia de
negocio.

5.3.2. LENGUAJE UNIFICADO DE MODELADO


a) Definicin:
UML = Lenguaje Unificado de Modelado.
Es un lenguaje grfico para visualizar, especificar, construir y
documentar un sistema de software. UML ofrece un estndar para
describir un "plano" del sistema (modelo), incluyendo aspectos
conceptuales tales como procesos de negocios y funciones del
sistema, y aspectos concretos como expresiones de lenguajes de
programacin, esquemas de bases de datos y componentes de
software reutilizables (Pumarejo, 2012).

b) Caractersticas:
Proporciona a los desarrolladores un lenguaje de moldeamiento
ampliamente aceptado y listo para usar.
Integra las mejores prcticas del desarrollo del software.
Permite el intercambio de modelos entre las diferentes herramientas
de software.
Es independiente del lenguaje de propagacin y de mtodos y
procesos particulares (Pumarejo, 2012).

c) MODELADO CON UML :

d) DIAGRAMA DE CASO DE USO :


Un diagrama de Caso de Uso representa lo que hace el sistema y como
se relaciona con su entorno.
Representa los distintos requerimientos que hacen los usuarios de un
sistema. Un diagrama de casos de uso est compuesto por:

Caso de uso
Actores
Relaciones entre ellos

e) DIAGRAMA DE CLASES :
Visualizar las relaciones entre las clases que involucran el sistema, las
cuales pueden ser asociativas, de herencia y de uso.

Muestra los roles comunes y las responsabilidades de las entidades que


proporcionan el comportamiento del sistema. Un diagrama de clase est
compuesto por:

Clase:
Se representa en un rectngulo con tres compartimientos: nombre de la
clase, atributos de la clase y operaciones de la clase

Relaciones Entre Clases:

- Asociacin y Agregacin (vista como un caso particular de


asociacin)
- Generalizacin/Especializacin.
.
f) DIAGRAMA DE OBJETOS :
Un Diagrama de Objetos muestra una instancia prototpica de un
diagrama de Clase con el fin de ilustrar los objetos reales participantes en
un determinado momento. Tienen los mismos elementos que un
Diagrama de Clase pero los objetos y sus atributos tienen valores
desconocidos (Pumarejo, 2012).

g) DIAGRAMA DE SECUENCIA :
Muestra la secuencia de mensajes entre objetos durante un escenario concreto.
Cada objeto viene dado por una barra vertical. Se llama lnea de vida. El tiempo
transcurre de arriba abajo.
Cada mensaje se representa mediante una flecha entre las lneas de vida y cada
mensaje se etiqueta con el nombre del mensaje y pueden incluirse los
argumentos.

Los rectngulos en las lneas de vida indican el tiempo en el cual un mtodo est
activo (Pumarejo, 2012).

h) DIAGRAMA DE COLABORACIN :
Un Diagrama de Colaboracin muestra la interaccin de un conjunto de
objetos, poniendo nfasis en la estructura organizacional de los objetos que
envan y recibe mensajes (Pumarejo, 2012).
i) DIAGRAMA DE ESTADOS :

Utilizado para identificar cada una de las rutas o caminos que puede tomar un
flujo de informacin luego de ejecutarse cada proceso. Permite identificar bajo
qu argumentos se ejecuta cada uno de los procesos y en qu momento podran
tener una variacin. El diagrama de estados permite visualizar de una forma
secuencial la ejecucin de cada uno de los procesos (Pumarejo, 2012).

j) DIAGRAMA DE ACTIVIDAD :
Representa los flujos de trabajo paso a paso de negocio y operacionales de los
componentes en un sistema. Un Diagrama de Actividades muestra el flujo de
control general (Pumarejo, 2012).
k) DIAGRAMA DE COMPONENTES :
Representa cmo un sistema de software es dividido en componentes y
muestra las dependencias entre estos componentes. Los componentes fsicos
incluyen archivos, cabeceras, bibliotecas compartidas, mdulos, ejecutables,
o paquetes. Los diagramas de Componentes prevalecen en el campo de la
arquitectura de software pero pueden ser usados para modelar y documentar
cualquier arquitectura de sistema (Pumarejo, 2012).

l) DIAGRAMA DE DESPLIEGUE :

Se utiliza para modelar el hardware utilizado en las implementaciones de


sistemas y las relaciones entre sus componentes.

Los elementos usados por este tipo de diagrama son nodos (representados
como un prisma), componentes (representados como una caja rectangular con
dos protuberancias del lado izquierdo) y asociaciones (Pumarejo, 2012).
SGBD

Un sistema gestor de base de datos (SGBD) es un conjunto de programas que


permiten el almacenamiento, modificacin y extraccin de la informacin en una
base de datos, adems de proporcionar herramientas para aadir, borrar,
modificar y analizar los datos. Los usuarios pueden acceder a la informacin
usando herramientas especficas de interrogacin y de generacin de informes, o
bien mediante aplicaciones al efecto.

Estos sistemas tambin proporcionan mtodos para mantener la integridad de los


datos, para administrar el acceso de usuarios a los datos y para recuperar la
informacin si el sistema se corrompe. Permiten presentar la informacin de la
base de datos en variados formatos. La mayora incluyen un generador de
informes. Tambin pueden incluir un mdulo grfico que permita presentar la
informacin con grficos y tablas.
XAMPP:

Es un servidor independiente de plataforma, software libre, que consiste


principalmente en el sistema de gestin de bases de datos MySQL, el servidor
web Apache y los intrpretes para lenguajes de script: PHP y Perl. El nombre
proviene del acrnimo de X (para cualquiera de los diferentes sistemas
operativos), Apache, MySQL, PHP, Perl.

El programa est liberado bajo la licencia GNU y acta como un servidor web
libre, fcil de usar y capaz de interpretar pginas dinmicas. Actualmente
XAMPP est disponible para Microsoft Windows, GNU/Linux, Solaris y Mac
OS X.

HTML

HTML, siglas de HyperText Markup Language (Lenguaje de Marcado de


Hipertexto), es el lenguaje de marcado predominante para la elaboracin de
pginas web. Es usado para describir la estructura y el contenido en forma de
texto, as como para complementar el texto con objetos tales como imgenes.
HTML se escribe en forma de "etiquetas", rodeadas por corchetes angulares
(<,>).

El lenguaje HTML es un estndar reconocido en todo el mundo y cuyas normas


define un organismo sin nimo de lucro llamado World Wide Web Consortium,
ms conocido como W3C.

Como se trata de un estndar reconocido por todas las empresas relacionadas


con el mundo de Internet, una misma pgina HTML se visualiza de forma muy
similar en cualquier navegador de cualquier sistema operativo. El propio W3C
define el lenguaje HTML como "un lenguaje reconocido universalmente y que
permite publicar informacin de forma global".

Adobe Dreamweaver:

Es una aplicacin en programa de estudio (basada en la forma de estudio de


Adobe Flash) que est destinada a la construccin, diseo y edicin de sitios,
vdeos y aplicaciones Web basados en estndares. Creado inicialmente por
Macromedia (actualmente producido por Adobe Systems) es uno de los
programas ms utilizados en el sector del diseo y la programacin web por sus
funcionalidades, su integracin con otras herramientas como Adobe Flash y,
recientemente, por su soporte de los estndares del World Wide Web
Consortium.

La gran ventaja de este editor sobre otros es su gran poder de ampliacin y


personalizacin, puesto que en este programa sus rutinas (como la de insertar un
hipervnculo, una imagen o aadir un comportamiento) estn hechas en
Javascript-C, lo que le ofrece una gran flexibilidad en estas materias. Esto hace
que los archivos del programa no sean instrucciones de C++ sino rutinas de
Javascript que hace que sea un programa muy fluido y todo ello permite que
programadores y editores web hagan extensiones para su programa y lo pongan
a su gusto.

PHP:

La sigla PHP identifica a un lenguaje de programacin que naci como Personal


Home Page (PHP) Tools. Fue desarrollado por el programador de origen dans
Rasmus Lerdorf en 1994 con el propsito de facilitar el diseo de pginas web
de carcter dinmico.

El acrnimo recursivo, sin embargo, en la actualidad est vinculado a PHP


Hypertext Pre-Processor. El lenguaje es desarrollado hoy en da por The PHP
Group aunque carece de una normativa formal. La Free Software Foundation,
por lo tanto, considera la licencia PHP como parte del software libre.

El lenguaje PHP suele procesarse directamente en el servidor aunque tambin


puede usarse a travs de software capaz de ejecutar comandos y para el
desarrollo de otra clase de programas.

Lerdorf dise la primera versin de PHP en lenguaje Perl basado en la escritura


de un conjunto de CGI del lenguaje C. Su intencin era presentar su currculum
vitae y almacenar datos como la cantidad de visitantes que accedan a su pgina
web.
5.4.2.1. METODOLOGA DE DESARROLLO:

RUP es un proceso de desarrollo de software, forma disciplinada de asignar


tareas y responsabilidades en una empresa de desarrollo (quin hace qu, cundo
y cmo). Tiene por objetivo asegurar la produccin de software de calidad
dentro de plazos y presupuestos predecibles. Dirigido por casos de uso, centrado
en la arquitectura, iterativo (mini-proyectos) e incremental (versiones).

Es tambin un producto: Desarrollado y mantenido por Rational. Actualizado


constantemente para tener en cuenta las mejores prcticas de acuerdo con la
experiencia.

RUP ayuda a planificar, disear, implementar, ejecutar y evaluar pruebas que


verifiquen estas cualidades.

RUP indica cmo controlar, rastrear y monitorear los cambios dentro del
proceso iterativo de desarrollo.

RUP divide el proceso de desarrollo en ciclos, teniendo un producto al final de


cada ciclo (Guerrero, 2009)

Cada ciclo se divide en cuatro Fases:


Concepcin (incepcin),
Elaboracin,
Construccin,
Transicin.
5.4.2.2. Fases del Proceso Unificado de Rational (Rup)

a. Fase de Concepcin

Esta fase tiene como propsito definir y acordar el alcance del


proyecto con los patrocinadores, identificar los riesgos asociados al
proyecto, proponer una visin muy general de la arquitectura de
software y producir el plan de las fases y el de iteraciones
posteriores (Cimas, 2012).

b. Fase de Elaboracin
En la fase de elaboracin se seleccionan los casos de uso que
permiten definir la arquitectura base del sistema y se desarrollaran
en esta fase, se realiza la especificacin de los casos de uso
seleccionados y el primer anlisis del dominio del problema, se
disea la solucin preliminar. (Cimas, 2012).

c. Fase de Construccin

El propsito de esta fase es completar la funcionalidad del sistema,


para ello se deben clarificar los requisitos pendientes, administrar
los cambios de acuerdo a las evaluaciones realizados por los
usuarios y se realizan las mejoras para el proyecto.

d. Fase de Transicin

El propsito de esta fase es asegurar que el software est disponible


para los usuarios finales, ajustar los errores y defectos encontrados
en las pruebas de aceptacin, capacitar a los usuarios y proveer el
soporte tcnico necesario. Se debe verificar que el producto cumpla
con las especificaciones entregadas por las personas involucradas
en el proyecto (Cimas, 2012).
5.4.2.3. Flujos de Trabajo del Proceso Unificado de Rational (RUP)

5.4.2.4. Cuadro comparativo entre metodologas

CARACTERSTICAS RUP MSF XP SCRUM

Heredan Modelos X X - -

Independiente de tecnologas - X - X

Documentacin Estricta X X - -

Estrictamente Sistemtico X - X -

Ms enfocado en los procesos X X - -

Ms enfocado en las personas - - X X

Resultados rpidos - - X X
Cliente activo - - X X

Manejo del tiempo X X X X

Refactorizacin del cdigo - - X -

Iterativo X X X X

Respuesta a los cambios - - X X

5.4. CLIENTE SERVIDOR


Desde el punto de vista funcional, se puede definir la computacin Cliente/Servidor
como una arquitectura distribuida que permite a los usuarios finales obtener acceso a
la informacin en forma transparente an en entornos multiplataforma.

En el modelo cliente servidor, el cliente enva un mensaje solicitando un determinado


servicio a un servidor (hace una peticin), y este enva uno o varios mensajes con la
respuesta (provee el servicio). En un sistema distribuido cada mquina puede cumplir
el rol de servidor para algunas tareas y el rol de cliente para otras.

Esta arquitectura permite distribuir fsicamente los procesos y los datos en forma ms
eficiente lo que en computacin distribuida afecta directamente el trfico de la red,
reducindolo grandemente (Mendoza, 2010).
5.4.2. GESTOR DE BD:
Concepto:

Un sistema gestor de base de datos se define como el conjunto de programas


que administran y gestionan la informacin contenida en una base de datos.

Ayuda a realizar las siguientes acciones:

Definicin de los datos


Mantenimiento de la integridad de los datos dentro de la base de datos
Control de la seguridad y privacidad de los datos
Manipulacin de los datos.

SQL SERVER

Microsoft SQL Server es una plataforma de base de datos que se utiliza en el


procesamiento de transacciones en lnea a gran escala, el almacenamiento de datos y
las aplicaciones de comercio electrnico; es tambin una plataforma de Business
Intelligence para soluciones de integracin, anlisis y creacin de informes de datos

CARACTERSTICAS

Soporte de transacciones. Escalabilidad, estabilidad y seguridad.


Soporta procedimientos almacenados.
Incluye tambin un potente entorno grfico de administracin, que permite el
uso de comandos DDL y DML grficamente.
Permite trabajar en modo cliente-servidor, donde la informacin y datos se
alojan en el servidor y los terminales o clientes de la red slo acceden a la
informacin.
Permite administrar informacin de otros servidores de datos.
(Agila, 2011).
5.5. Objetivos
Mediante el presente proyecto de investigacin se pretende determinar y
alcanzar los siguientes objetivos.

5.5.1. Objetivo General


Sistematizar y optimizar el manejo de medicamentos.

5.5.2. Objetivos especficos


Desarrollar un sistema para reservas de medicamentos.
Facilitar el acceso a la informacin del producto que cuenta la Botica.
Desarrollar una plataforma web para generar pedidos de
medicamentos.
Elaborar una aplicacin para registro de cliente y lograr acortar el
tiempo de espera del mismo.
Sistematizar pagos en lnea de un pedido de venta

6. Metodologa de trabajo
6.1. Tipo y diseo de investigacin
Definiremos el tipo de investigacin de acuerdo a la orientacin que se opt por
una investigacin aplicada por lo que no se va a generar ninguna nueva
modificacin terica en este presente caso de estudio. Y teniendo en cuenta a la
tcnica de contrastacin se procedi por una Investigacin Descriptiva.
6.2. Poblacin y muestra

6.2.1. Poblacin
La poblacin son todos los involucrados directamente con el sistema. Nuestra
poblacin ser un total de 50 clientes.
P=50

6.2.2. Muestra
Por ser una poblacin pequea se tomara esa cantidad para la muestra.
n= 50

6.5. Tcnicas e Instrumentos de la Investigacin


Tcnica
Usamos la siguiente tcnica:
Entrevistas

Instrumentos de Investigacin:

Usaremos los siguientes instrumentos:

Cuestionarios

7. Resultados
7.1. Resultado de la Investigacin

Descripcin del negocio


Los procesos de negocios constan de la siguiente manera:
El proceso de venta se inicia cuando el cliente se acerca a la botica a
solicitar sus medicamentos, posteriormente es atendido en el
establecimiento por un empleado. Como una regla de negocio el
cliente debe de poseer una receta mdica, siguiendo las
recomendaciones de la receta sin embargo se le hace conocimiento al
cliente que existen medicamentos genricos ms asequibles de precio
para esto registramos los datos de dichos medicamentos (cdigo
medicamento genrico y el nombre). Tambin le damos alcance de
otros medicamentos que poseen la misma sustancia activa, dicho esto
el cliente elige el medicamento para luego hacer el pago respectivo y
en segundos adquiere el producto.
Para el proceso de compras la botica solicita al proveedor va
telefnica los productos, cada vez realizada las compra de
medicamentos se almacena; los productos se encuentran separados por
lotes, nombres, as son ubicados con facilidad y control de caducidad,
adems cada producto se encuentra en un ambiente que cuenta con
una temperatura ideal.
Cada da se realiza una revisin de productos que se vende, para as
saber que medicamentos se estn agotando, cuando esto sucede se
solicita al proveedor de los productos para reabastecernos. Cada vez
que se realiza una compra tiene que estar registrada con un cdigo de
compra, se le asigna el lote, fecha de compra y cantidad.
Este almacn de Botica cuenta con un empleado (almacenero),
encargado del mantenimiento a cada producto (limpieza, orden, recojo
de tachos de basura, seguridad, control de temperatura). El
almacenero es el encargado de hacer el inventario de los productos
cada 6 meses.

Tambin se necesita llevar el control de las ventas de los


medicamentos, para este proceso es imprescindible tener datos del
cliente (nombre, DNI, telfono), tambin la direccin, correo
electrnico, nombre, DNI y cargo del empleado que atiende; todos
estos datos son importantes para imprimir la boleta de venta
acompaado de los datos de medicamentos que el cliente adquiere.
7.1.1. Modelo del requerimiento - negocio:
7.1.2. Diagrama de los casos de uso:
7.1.3. Descripcin de los casos de uso

PREFIJO CASO DE USO

CUS.01 Generar Pedido

CUS.02 Generar Compra

CUS.03 Generar Pago

CUS.04 Apertura Cliente

CUS.05 Gestor Venta

Caso de Uso CUS.01. Generar Pedido

Actores Cliente

Tipo Principal

Descripcin Este Caso de uso permitir informar los movimientos de los


medicamentos, el control de pago y previamente hacer su pedido.

Precondiciones

1. El Cliente aade un medicamento.


2. El Cliente revisa el stock disponible.
3. El Cliente revisa el tipo de pago.

Flujo bsico

Usuario Sistema

1. Ingresa al Men Nuevo


4. Validar el ingreso de Datos.
Pedido De Compra en la
opcin Registrar Nuevo
Pedido. 5. En el caso exista algn problema con la
2. Clic en el botn medicamento, informacin se mostrara un mensaje.
para que el sistema pueda
actualizar el medicamento.
6. Guardar la informacin en la base de
datos.
3. En caso hubiera algn error, el
usuario corrige el problema y
7. En caso hubiera algn error, el usuario
vuelve a guardar el registro.
corrige el problema y vuelve a cargar el
archivo.

Caso de Uso CUS.02.Generar Compra

Actores Administrador

Tipo Principal

Descripcin Este Caso de uso permitir registrar una nueva compra por lotes
actualizando los medicamentos.

Precondiciones

1. El administrador registra al proveedor.


2. El administrador debe solicitar medicamento al proveedor.
3. El administrador aprueba el medicamento solicitado.
Flujo bsico

Usuario Sistema

1. Ingresa al Men Nuevo 4. Validar el ingreso de Datos.


Registro en la opcin
Registrar Nuevo Usuario.
2. Selecciona la tipo de 5. En el caso exista algn problema con la
documento, para ingresar los informacin se mostrara un mensaje.
datos correspondientes del
cliente.
3. Clic en el botn registrar, para 6. Guardar la informacin en la base de
que el sistema pueda actualizar datos.
y registrar al usuario y forme
parte de ella.
7. En caso hubiera algn error, el usuario
corrige el problema y vuelve a cargar el
archivo.
Caso de Uso CUS.03. Generar Pago

Actores Administrador

Tipo Principal

Descripcin Este Caso de uso permitir el pago por medicamento de


cada pedido.

Precondiciones

1. El Administrador deber recepciona los pedidos de cada usuario.


2. El Administrador deber registrar en el sistema la orden de pedido
adecuada del medicamento.
Flujo bsico

Usuario Sistema

1. Ingresa al Men 3. El sistema deber


Administrador en la verificar el stock de los
opcin control de medicamentos.
pedido. 4. Registro de entrada y
salida de productos.

2. Registra el
medicamento
requerido por el cliente 5. Guardar la informacin
para que no haya
en la base de datos.
conflictos al momento
de grabar la venta.
Caso de Uso CUS.04. Apertura Cliente

Actores Administrador

Tipo Principal

Descripcin Este Caso de uso permitir que el administrador registre a un nuevo


cliente.

Precondiciones

1. El Administrador solicita DNI del cliente


2. El Administrativo deber registrar al nuevo cliente en el sistema.

Flujo bsico

Usuario Sistema

6. Ingresa al Men 8. Validar el ingreso de Datos.


Administrador en la
opcin control de
usuario. 9. En el caso exista algn
problema con la informacin se
mostrara un mensaje.
7. Verifica los clientes
registros.
10. Guardar la informacin en la
base de datos.

11. En caso hubiera algn error, el


usuario corrige el problema y
vuelve a cargar el archivo.
Caso de Uso CUS.05.Generar Venta

Actores Vendedor

Tipo Principal

Descripcin Este Caso nos permitir atender el pedido por el cliente.

Precondiciones

1. El Administrativo deber imprimir la venta.

Flujo bsico

Usuario Sistema

2. Ingresa al Men login en


5. Validar el ingreso de Datos.
la opcin Usuario
3. Selecciona el pedido
correspondiente.
6. En el caso exista algn problema con
la informacin se mostrara un
mensaje.
4. En caso hubiera algn error,
el usuario corrige el
problema y vuelve a
guardar el registro. 7. Guardar la informacin en la base de
datos.

8. En caso hubiera algn error, el


usuario corrige el problema y vuelve
a cargar el archivo.
7.1.4. Descripcin de los actores

A01 CLIENTE

CUS.01 Revisin de stock


Caso de Uso:
CUS.02 Revistar Tipo de Pago

Tipo: Primario

Descripcin Va poder acceder a la plataforma web para consultar generar un pedido.

A02 ADMINISTRADOR

CUS.05 Control del Sistema


Caso de Uso:

Tipo: Primario

Actor encargado de ejecutar las rdenes de medicamento luego hace el


Descripcin mantenimiento del sistema para que el almacn de los medicamento este
actualizado.
A03 VENDEDOR

Caso de Uso: CUS.06 Control de venta

Tipo: Primario

Descripcin Actor encargado de atender los pedidos por los clientes.


7.1.5. Diagrama de secuencias

: : iCompra : cpago : epago : cCompra : eLote : eCompra


cus _adm inis trador

generar com pra

datos pago

numero docum ento

res pues ta validacion

[trans accion pago] datos compra

datos del lote

datos nueva com pra

res pues ta compra


: clientes : ipedido : cstock : estock : cpedido : epedido

genera pedido de medicamentos

revision de stock

respuesta validacion

transaccion pedido] datos de pedido

datos nuevo pedido

datos cliente

respuesta nuevo pedido


7.1.6. Diagrama de Colaboracin

1: generar com pra


2: datos pago

: iCom pra
: cus _adm inistrador 4: res pues ta validacion

8: res pues ta com pra


: cpago

5: [trans accion pago] datos com pra


3: num ero docum ento

: cCom pra

6: datos del lote


: epago
7: datos nueva com pra
: eLote

: eCom pra
3: respuesta validacion
: cstock : clientes
2: revision de stock
1: genera pedido de medicamentos

: ipedido

: estock
7: respuesta nuevo pedido

6: datos cliente 4: transaccion pedido] datos de pedido

5: datos nuevo pedido

: cpedido

: epedido
7.1.7. Diagrama de Actividades

[No hay m edicam ento]

[Hay m edicam ento]

generar pedido
CLASE
GENERAR PEDIDO

ingresar lis ta de
bus ca m edicam entos llena relacion de
m edicam entos m edicam entos

proces o generacion
num ero de pedido
7.1.8. Diagrama de clases (Modelo Conceptual)
7.1.9. Modelo Fsico
7.1.10. Diccionario de Datos

administrador

Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME

per_dni (Primaria) char(8) No persona -> per_dni

adm_codigo varchar(20) No

adm_login varchar(20) S NULL

adm_clave varchar(20) S NULL

adm_estado char(1) S NULL

ndices

Nombre de la clave Tipo nico Empaquetado Columna Cardinalidad Cotejamiento Nulo Comentario

PRIMARY BTREE S No per_dni 0 A No


categoria

Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME

cat_id (Primaria) int(11) No

cat_nombre varchar(45) S NULL

ndices

Nombre de la clave Tipo nico Empaquetado Columna Cardinalidad Cotejamiento Nulo Comentario

PRIMARY BTREE S No cat_id 7 A No

compra

Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME

com_id (Primaria) int(11) No

per_dni char(8) No administrador -> per_dni

pro_id int(11) No proveedor -> pro_id


com_serie varchar(20) S NULL

com_numero varchar(20) S NULL

com_fecha date S NULL

com_estado char(1) S NULL

ndices

Nombre de la clave Tipo nico Empaquetado Columna Cardinalidad Cotejamiento Nulo Comentario

PRIMARY BTREE S No com_id 22 A No

fk_compra_administrador1_idx BTREE No No per_dni 2 A No

fk_compra_proveedor1_idx BTREE No No pro_id 2 A No

detalle_compra

Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME

com_id (Primaria) int(11) No compra -> com_id


lot_id (Primaria) int(11) No lote -> lot_id

dtc_precio decimal(5,2) S NULL

dtc_cantidad int(11) S NULL

ndices

Nombre de la clave Tipo nico Empaquetado Columna Cardinalidad Cotejamiento Nulo Comentario

com_id 8 A No
PRIMARY BTREE S No
lot_id 8 A No

fk_detalle_compra_compra1_idx BTREE No No com_id 8 A No

fk_detalle_compra_lote1 BTREE No No lot_id 8 A No

detalle_venta

Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME

ped_id (Primaria) int(11) No venta_pedido -> ped_id


lot_id (Primaria) int(11) No lote -> lot_id

dtv_precio decimal(5,2) S NULL

dtv_cantidad int(11) S NULL

ndices

Nombre de la clave Tipo nico Empaquetado Columna Cardinalidad Cotejamiento Nulo Comentario

ped_id 14 A No
PRIMARY BTREE S No
lot_id 14 A No

fk_detalle_venta_lote1_idx BTREE No No lot_id 14 A No

ftp_pago

Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME

ftp_transaccion (Primaria) varchar(20) No

ftp_cliente varchar(45) S NULL


ftp_monto decimal(5,2) S NULL

ftp_fech_pago date S NULL

ftp_estado varchar(45) S NULL

ndices

Nombre de la clave Tipo nico Empaquetado Columna Cardinalidad Cotejamiento Nulo Comentario

PRIMARY BTREE S No ftp_transaccion 1 A No

laboratorio

Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME

lab_id (Primaria) int(11) No

lab_ruc char(12) S NULL

lab_nombre varchar(45) S NULL

lab_direccion varchar(45) S NULL


lab_telefono varchar(45) S NULL

lab_estado char(1) S NULL

ndices

Nombre de la clave Tipo nico Empaquetado Columna Cardinalidad Cotejamiento Nulo Comentario

PRIMARY BTREE S No lab_id 7 A No

lote

Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME

lot_id (Primaria) int(11) No

med_id int(11) No medicamento -> med_id

lot_nombre varchar(45) S NULL

lot_stock int(11) S NULL

lot_fech_ven date S NULL


lot_estado char(1) S NULL

ndices

Nombre de la clave Tipo nico Empaquetado Columna Cardinalidad Cotejamiento Nulo Comentario

PRIMARY BTREE S No lot_id 10 A No

fk_lote_medicamento1_idx BTREE No No med_id 10 A No

medicamento

Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME

med_id (Primaria) int(11) No

med_nombre varchar(20) S NULL

gen_id int(11) No nombre_generico -> gen_id

pre_id int(11) No presentacion -> pre_id

lab_id int(11) No laboratorio -> lab_id


cat_id int(11) No categoria -> cat_id

med_presentacion varchar(30) S NULL

med_precio decimal(5,2) S NULL

med_stock int(11) S NULL

med_estado char(1) S NULL

ndices

nic Empaquetad Column Cardinalida Cotejamient Nul Comentari


Nombre de la clave Tipo
o o a d o o o

BTRE
PRIMARY S No med_id 6 A No
E

BTRE
fk_medicamento_laboratorio1_idx No No lab_id 6 A No
E

fk_medicamento_categoria1_idx BTRE No No cat_id 6 A No


nic Empaquetad Column Cardinalida Cotejamient Nul Comentari
Nombre de la clave Tipo
o o a d o o o

fk_medicamento_nombre_generico1_id BTRE
No No gen_id 6 A No
x E

BTRE
fk_medicamento_presentacion1_idx No No pre_id 6 A No
E

nombre_generico

Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME

gen_id (Primaria) int(11) No

gen_nombre varchar(45) S NULL

gen_sustancia varchar(45) S NULL


ndices

Nombre de la clave Tipo nico Empaquetado Columna Cardinalidad Cotejamiento Nulo Comentario

PRIMARY BTREE S No gen_id 7 A No

parametro

Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME

par_id (Primaria) int(11) No

par_nombre varchar(45) S NULL

par_valor varchar(45) S NULL

ndices

Nombre de la clave Tipo nico Empaquetado Columna Cardinalidad Cotejamiento Nulo Comentario

PRIMARY BTREE S No par_id 2 A No


persona

Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME

per_dni (Primaria) char(8) No

per_nombre varchar(20) S NULL

per_appa varchar(20) S NULL

per_apma varchar(20) S NULL

per_direccion varchar(30) S NULL

per_nacimiento date S NULL

ndices

Nombre de la clave Tipo nico Empaquetado Columna Cardinalidad Cotejamiento Nulo Comentario

PRIMARY BTREE S No per_dni 3 A No


presentacion

Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME

pre_id (Primaria) int(11) No

pre_nombre varchar(45) S NULL

ndices

Nombre de la clave Tipo nico Empaquetado Columna Cardinalidad Cotejamiento Nulo Comentario

PRIMARY BTREE S No pre_id 7 A No

proveedor

Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME

pro_id (Primaria) int(11) No

pro_ruc char(12) S NULL

pro_nombre varchar(45) S NULL


pro_direccion varchar(45) S NULL

pro_telefono varchar(45) S NULL

ndices

Nombre de la clave Tipo nico Empaquetado Columna Cardinalidad Cotejamiento Nulo Comentario

PRIMARY BTREE S No pro_id 0 A No

usuario

Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME

per_dni (Primaria) char(8) No persona -> per_dni

usu_codigo varchar(20) No

usu_login varchar(20) S NULL

usu_clave varchar(20) S NULL

usu_tipo char(1) S NULL


usu_estado char(1) S NULL

ndices

Nombre de la clave Tipo nico Empaquetado Columna Cardinalidad Cotejamiento Nulo Comentario

PRIMARY BTREE S No per_dni 0 A No

venta_pedido

Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME

ped_id (Primaria) int(11) No

per_dni char(8) No usuario -> per_dni

ven_serie varchar(45) S NULL

ven_numero varchar(45) S NULL

ven_tipo char(1) S NULL

ven_pago char(1) S NULL


ped_fecha date S NULL

ped_fech_pago date S NULL

ped_estado char(1) S NULL

ped_monto double No

ndices

Nombre de la clave Tipo nico Empaquetado Columna Cardinalidad Cotejamiento Nulo Comentario

PRIMARY BTREE S No ped_id 10 A No

fk_venta_pedido_usuario1_idx BTREE No No per_dni 2 A No


7.1.11. Script de la base de datos

- MySQL Workbench Forward Engineering

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS,
UNIQUE_CHECKS=0;
SET
@OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECK
S, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE,
SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------
SHOW WARNINGS;
-- -----------------------------------------------------
-- Schema bd_botica
-- -----------------------------------------------------
DROP SCHEMA IF EXISTS `bd_botica` ;

-- -----------------------------------------------------
-- Schema bd_botica
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `bd_botica` DEFAULT
CHARACTER SET latin1 ;
SHOW WARNINGS;
USE `bd_botica` ;

-- -----------------------------------------------------
-- Table `persona`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `persona` ;

SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS `persona` (
`per_dni` CHAR(8) NOT NULL COMMENT '',
`per_nombre` VARCHAR(20) NULL DEFAULT NULL
COMMENT '',
`per_appa` VARCHAR(20) NULL DEFAULT NULL COMMENT
'',
`per_apma` VARCHAR(20) NULL DEFAULT NULL COMMENT
'',
`per_direccion` VARCHAR(30) NULL DEFAULT NULL
COMMENT '',
`per_nacimiento` DATE NULL DEFAULT NULL COMMENT '',
PRIMARY KEY (`per_dni`) COMMENT '')
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `administrador`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `administrador` ;

SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS `administrador` (
`per_dni` CHAR(8) NOT NULL COMMENT '',
`adm_codigo` VARCHAR(20) NOT NULL COMMENT '',
`adm_login` VARCHAR(20) NULL DEFAULT NULL COMMENT
'',
`adm_clave` VARCHAR(20) NULL DEFAULT NULL
COMMENT '',
`adm_estado` CHAR(1) NULL DEFAULT NULL COMMENT '',
PRIMARY KEY (`per_dni`) COMMENT '')
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `categoria`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `categoria` ;

SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS `categoria` (
`cat_id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '',
`cat_nombre` VARCHAR(45) NULL DEFAULT NULL
COMMENT '',
PRIMARY KEY (`cat_id`) COMMENT '')
ENGINE = InnoDB
AUTO_INCREMENT = 8
DEFAULT CHARACTER SET = utf8;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `proveedor`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `proveedor` ;

SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS `proveedor` (
`pro_id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '',
`pro_ruc` CHAR(12) NULL DEFAULT NULL COMMENT '',
`pro_nombre` VARCHAR(45) NULL DEFAULT NULL
COMMENT '',
`pro_direccion` VARCHAR(45) NULL DEFAULT NULL
COMMENT '',
`pro_telefono` VARCHAR(45) NULL DEFAULT NULL
COMMENT '',
PRIMARY KEY (`pro_id`) COMMENT '')
ENGINE = InnoDB
AUTO_INCREMENT = 2
DEFAULT CHARACTER SET = utf8;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `compra`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `compra` ;

SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS `compra` (
`com_id` INT(11) NOT NULL COMMENT '',
`per_dni` CHAR(8) NOT NULL COMMENT '',
`pro_id` INT(11) NOT NULL COMMENT '',
`com_serie` VARCHAR(20) NULL DEFAULT NULL COMMENT
'',
`com_numero` VARCHAR(20) NULL DEFAULT NULL
COMMENT '',
`com_fecha` DATE NULL DEFAULT NULL COMMENT '',
`com_estado` CHAR(1) NULL DEFAULT NULL COMMENT '',
PRIMARY KEY (`com_id`) COMMENT '')
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `laboratorio`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `laboratorio` ;

SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS `laboratorio` (
`lab_id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '',
`lab_ruc` CHAR(12) NULL DEFAULT NULL COMMENT '',
`lab_nombre` VARCHAR(45) NULL DEFAULT NULL
COMMENT '',
`lab_direccion` VARCHAR(45) NULL DEFAULT NULL
COMMENT '',
`lab_telefono` VARCHAR(45) NULL DEFAULT NULL
COMMENT '',
`lab_estado` CHAR(1) NULL DEFAULT NULL COMMENT '',
PRIMARY KEY (`lab_id`) COMMENT '')
ENGINE = InnoDB
AUTO_INCREMENT = 8
DEFAULT CHARACTER SET = utf8;
SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `nombre_generico`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `nombre_generico` ;

SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS `nombre_generico` (
`gen_id` INT(11) NOT NULL AUTO_INCREMENT COMMENT
'',
`gen_nombre` VARCHAR(45) NULL DEFAULT NULL
COMMENT '',
`gen_sustancia` VARCHAR(45) NULL DEFAULT NULL
COMMENT '',
PRIMARY KEY (`gen_id`) COMMENT '')
ENGINE = InnoDB
AUTO_INCREMENT = 8
DEFAULT CHARACTER SET = utf8;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `presentacion`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `presentacion` ;

SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS `presentacion` (
`pre_id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '',
`pre_nombre` VARCHAR(45) NULL DEFAULT NULL
COMMENT '',
PRIMARY KEY (`pre_id`) COMMENT '')
ENGINE = InnoDB
AUTO_INCREMENT = 8
DEFAULT CHARACTER SET = utf8;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `medicamento`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `medicamento` ;

SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS `medicamento` (
`med_id` INT(11) NOT NULL AUTO_INCREMENT COMMENT
'',
`med_nombre` VARCHAR(20) NULL DEFAULT NULL
COMMENT '',
`gen_id` INT(11) NOT NULL COMMENT '',
`pre_id` INT(11) NOT NULL COMMENT '',
`lab_id` INT(11) NOT NULL COMMENT '',
`cat_id` INT(11) NOT NULL COMMENT '',
`med_presentacion` VARCHAR(30) NULL DEFAULT NULL
COMMENT '',
`med_precio` DECIMAL(5,2) NULL DEFAULT NULL
COMMENT '',
`med_stock` INT(11) NULL DEFAULT NULL COMMENT '',
`med_estado` CHAR(1) NULL DEFAULT NULL COMMENT '',
PRIMARY KEY (`med_id`) COMMENT '')
ENGINE = InnoDB
AUTO_INCREMENT = 7
DEFAULT CHARACTER SET = utf8;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `lote`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `lote` ;

SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS `lote` (
`lot_id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '',
`med_id` INT(11) NOT NULL COMMENT '',
`lot_nombre` VARCHAR(45) NULL DEFAULT NULL
COMMENT '',
`lot_stock` INT(11) NULL DEFAULT NULL COMMENT '',
`lot_fech_ven` DATE NULL DEFAULT NULL COMMENT '',
`lot_estado` CHAR(1) NULL DEFAULT NULL COMMENT '',
PRIMARY KEY (`lot_id`) COMMENT '')
ENGINE = InnoDB
AUTO_INCREMENT = 11
DEFAULT CHARACTER SET = utf8;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `detalle_compra`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `detalle_compra` ;
SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS `detalle_compra` (
`com_id` INT(11) NOT NULL COMMENT '',
`lot_id` INT(11) NOT NULL COMMENT '',
`dtc_precio` DECIMAL(5,2) NULL DEFAULT NULL COMMENT
'',
`dtc_cantidad` INT(11) NULL DEFAULT NULL COMMENT '',
PRIMARY KEY (`com_id`, `lot_id`) COMMENT '')
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

SHOW WARNINGS;
CREATE INDEX `fk_detalle_compra_compra1_idx` ON
`detalle_compra` (`com_id` ASC) COMMENT '';

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `usuario`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `usuario` ;

SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS `usuario` (
`per_dni` CHAR(8) NOT NULL COMMENT '',
`usu_codigo` VARCHAR(20) NOT NULL COMMENT '',
`usu_login` VARCHAR(20) NULL DEFAULT NULL COMMENT
'',
`usu_clave` VARCHAR(20) NULL DEFAULT NULL COMMENT
'',
`usu_tipo` CHAR(1) NULL DEFAULT NULL COMMENT '',
`usu_estado` CHAR(1) NULL DEFAULT NULL COMMENT '',
PRIMARY KEY (`per_dni`) COMMENT '')
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `venta_pedido`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `venta_pedido` ;

SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS `venta_pedido` (
`ped_id` INT(11) NOT NULL AUTO_INCREMENT COMMENT
'',
`per_dni` CHAR(8) NOT NULL COMMENT '',
`ven_serie` VARCHAR(45) NULL DEFAULT NULL COMMENT
'',
`ven_numero` VARCHAR(45) NULL DEFAULT NULL
COMMENT '',
`ven_tipo` CHAR(1) NULL DEFAULT NULL COMMENT '',
`ven_pago` CHAR(1) NULL DEFAULT NULL COMMENT '',
`ped_fecha` DATE NULL DEFAULT NULL COMMENT '',
`ped_fech_pago` DATE NULL DEFAULT NULL COMMENT '',
`ped_estado` CHAR(1) NULL DEFAULT NULL COMMENT '',
`ped_monto` DOUBLE NOT NULL COMMENT '',
PRIMARY KEY (`ped_id`) COMMENT '')
ENGINE = InnoDB
AUTO_INCREMENT = 11
DEFAULT CHARACTER SET = utf8;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `detalle_venta`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `detalle_venta` ;

SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS `detalle_venta` (
`ped_id` INT(11) NOT NULL COMMENT '',
`lot_id` INT(11) NOT NULL COMMENT '',
`dtv_precio` DECIMAL(5,2) NULL DEFAULT NULL COMMENT
'',
`dtv_cantidad` INT(11) NULL DEFAULT NULL COMMENT '',
PRIMARY KEY (`ped_id`, `lot_id`) COMMENT '')
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `ftp_pago`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `ftp_pago` ;

SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS `ftp_pago` (
`ftp_transaccion` VARCHAR(20) NOT NULL COMMENT '',
`ftp_cliente` VARCHAR(45) NULL DEFAULT NULL COMMENT
'',
`ftp_monto` DECIMAL(5,2) NULL DEFAULT NULL COMMENT
'',
`ftp_fech_pago` DATE NULL DEFAULT NULL COMMENT '',
`ftp_estado` VARCHAR(45) NULL DEFAULT NULL COMMENT
'',
PRIMARY KEY (`ftp_transaccion`) COMMENT '')
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `parametro`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `parametro` ;

SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS `parametro` (
`par_id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '',
`par_nombre` VARCHAR(45) NULL DEFAULT NULL
COMMENT '',
`par_valor` VARCHAR(45) NULL DEFAULT NULL COMMENT
'',
PRIMARY KEY (`par_id`) COMMENT '')
ENGINE = InnoDB
AUTO_INCREMENT = 3
DEFAULT CHARACTER SET = utf8;

SHOW WARNINGS;
USE `bd_botica` ;

-- -----------------------------------------------------
-- procedure up_ACTUALIZAR_NUMERO
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_ACTUALIZAR_NUMERO`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_ACTUALIZAR_NUMERO`()
BEGIN
update parametro
set par_valor=CAST(par_valor AS UNSIGNED)+1
where par_id=2;
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_ADMIN_REGISTRO
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_ADMIN_REGISTRO`;
SHOW WARNINGS;
DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_ADMIN_REGISTRO`(
IN dni varchar(50),
IN codigo varchar(50),
IN cuenta varchar(50),
IN contrasena varchar(50),
IN estado varchar(50)
)
BEGIN
INSERT INTO `administrador`(`per_dni`, `adm_codigo`,
`adm_login`, `adm_clave`, `adm_estado`)
VALUES (dni,codigo,cuenta,contrasena,estado);
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_CATEGORIA_REGISTRO
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_CATEGORIA_REGISTRO`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_CATEGORIA_REGISTRO`(
IN cat_id INT,
IN cat_nombre VARCHAR(50)
)
BEGIN
INSERT INTO `categoria`(`cat_id`, `cat_nombre`)
VALUES (cat_id,cat_nombre);
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_COMPRA_REGISTRO
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_COMPRA_REGISTRO`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_COMPRA_REGISTRO`(
IN per_dni VARCHAR(50),
IN pro_id INT,
IN com_serie VARCHAR(50),
IN com_numero VARCHAR(50),
IN com_fecha DATE,
IN com_estado VARCHAR(50)
)
BEGIN
SET @maxrow:=(select ifnull(max(com_id),0) from compra);
INSERT INTO `compra`(`com_id`, `per_dni`, `pro_id`, `com_serie`,
`com_numero`, `com_fecha`, `com_estado`)
VALUES ((select
@maxrow:=@maxrow+1),per_dni,pro_id,com_serie,com_numero,co
m_fecha,com_estado);
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_COMPRA_ULTIMOCODIGO
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_COMPRA_ULTIMOCODIGO`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_COMPRA_ULTIMOCODIGO`()
BEGIN
select ifnull(max(com_id),0) as
ultimo_codigo,com_serie,com_numero from compra;
END$$

DELIMITER ;
SHOW WARNINGS;
-- -----------------------------------------------------
-- procedure up_DETALLECOMPRA_REGISTRO
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS
`up_DETALLECOMPRA_REGISTRO`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_DETALLECOMPRA_REGISTRO`(
IN com_id INT,
IN lot_id INT,
IN dtc_precio INT,
IN dtc_cantidad INT
)
BEGIN
INSERT INTO `detalle_compra`(`com_id`, `lot_id`, `dtc_precio`,
`dtc_cantidad`)
VALUES (com_id,lot_id,dtc_precio,dtc_cantidad);
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_DETALLEVENTA_REGISTRO
-- -----------------------------------------------------
USE `bd_botica`;
DROP procedure IF EXISTS `up_DETALLEVENTA_REGISTRO`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_DETALLEVENTA_REGISTRO`(
IN ped_id INT,
IN lotid INT,
IN dtv_precio INT,
IN dtvcantidad INT
)
BEGIN
INSERT INTO `detalle_venta`(`ped_id`, `lot_id`, `dtv_precio`,
`dtv_cantidad`)
VALUES (ped_id,lotid,dtv_precio,dtvcantidad);
SET @stock:=(select lot_stock from lote where lot_id=lotid);

UPDATE `lote` SET `lot_stock`=@stock-dtvcantidad WHERE


`lot_id`=lotid;
SET @medrow:=(select med_id from lote where lot_id=lotid);
SET @sumstock:=(select sum(lot_stock) from lote where
med_id=@medrow);
UPDATE `medicamento` SET `med_stock`=@sumstock WHERE
`med_id`=@medrow;
END$$

DELIMITER ;
SHOW WARNINGS;
-- -----------------------------------------------------
-- procedure up_INGRESAR
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_INGRESAR`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_INGRESAR`(
IN cuenta varchar(50),
IN contrasena varchar(50)
)
BEGIN
select * from administrador
where adm_login=cuenta and adm_clave=contrasena and
adm_estado='0';
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_INGRESARUSUARIO
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_INGRESARUSUARIO`;
SHOW WARNINGS;
DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_INGRESARUSUARIO`(
IN cuenta varchar(50),
IN contrasena varchar(50)
)
BEGIN
select * from usuario
where usu_login=cuenta and usu_clave=contrasena and
usu_estado='0';
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_LABORATORIO_REGISTRO
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_LABORATORIO_REGISTRO`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_LABORATORIO_REGISTRO`(
IN lab_id INT,
IN lab_ruc VARCHAR(11),
IN lab_nombre VARCHAR(50),
IN lab_direccion VARCHAR(50),
IN lab_telefono VARCHAR(20),
IN lab_estado VARCHAR(10)
)
BEGIN
INSERT INTO `laboratorio`(`lab_id`, `lab_ruc`, `lab_nombre`,
`lab_direccion`, `lab_telefono`, `lab_estado`)
VALUES
(lab_id,lab_ruc,lab_nombre,lab_direccion,lab_telefono,lab_estado);
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_LOTE_BUSCARPORCODIGO
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_LOTE_BUSCARPORCODIGO`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_LOTE_BUSCARPORCODIGO`(
IN codigo INT
)
BEGIN
SELECT *
FROM lote
WHERE lot_id=codigo AND lot_estado="0";
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_LOTE_BUSCARPORMEDICAMENTO
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS
`up_LOTE_BUSCARPORMEDICAMENTO`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_LOTE_BUSCARPORMEDICAMENTO`(
in idm INT
)
BEGIN
select * from lote
where med_id=idm and lot_stock!=0;
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_LOTE_ELIMINAR
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_LOTE_ELIMINAR`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_LOTE_ELIMINAR`(
IN codigo INT
)
BEGIN
DELETE FROM lote WHERE lot_id=codigo;
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_LOTE_LISTAR
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_LOTE_LISTAR`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_LOTE_LISTAR`()
BEGIN
select * from lote;
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_LOTE_PORMEDICAMENTO
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_LOTE_PORMEDICAMENTO`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_LOTE_PORMEDICAMENTO`(
IN medicamento INT
)
BEGIN
select * from lote
where med_id=medicamento and lot_stock!=0;
END$$

DELIMITER ;
SHOW WARNINGS;
-- -----------------------------------------------------
-- procedure up_LOTE_REGISTRO
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_LOTE_REGISTRO`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_LOTE_REGISTRO`(
IN medid INT,
IN lot_nombre VARCHAR(50),
IN lotstock INT,
IN lot_fech_ven DATE
)
BEGIN
SET @maxrow:=(select ifnull(max(lot_id),0) from lote);
INSERT INTO `lote`(`lot_id`, `med_id`, `lot_nombre`, `lot_stock`,
`lot_fech_ven`, `lot_estado`)
VALUES ((select
@maxrow:=@maxrow+1),medid,lot_nombre,lotstock,lot_fech_ven,0)
;

SET @medstock:=(select med_stock from medicamento where


med_id=medid)+lotstock;
UPDATE `medicamento` SET `med_stock`=@medstock WHERE
`med_id`=medid;
END$$
DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_LOTE_ULTIMO
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_LOTE_ULTIMO`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_LOTE_ULTIMO`()
BEGIN
select * from lote
where lot_id=(SELECT max(lot_id) from lote);
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_MEDICAMENTO_LISTAR
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_MEDICAMENTO_LISTAR`;
SHOW WARNINGS;
DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_MEDICAMENTO_LISTAR`()
BEGIN
select * from medicamento
where med_stock!=0;
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_MEDICAMENTO_LISTARAGOTADOS
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS
`up_MEDICAMENTO_LISTARAGOTADOS`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_MEDICAMENTO_LISTARAGOTADOS`()
BEGIN
select * from medicamento
where med_stock<50;
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_MEDICAMENTO_PORCODIGO
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_MEDICAMENTO_PORCODIGO`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_MEDICAMENTO_PORCODIGO`(
IN codigo INT
)
BEGIN
select * from medicamento
where med_id=codigo;
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_MEDICAMENTO_REGISTRO
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_MEDICAMENTO_REGISTRO`;
SHOW WARNINGS;
DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_MEDICAMENTO_REGISTRO`(
IN med_id INT,
IN med_nombre VARCHAR(50),
IN gen_id INT,
IN pre_id INT,
IN lab_id INT,
IN cat_id INT,
IN med_presentacion VARCHAR(50),
IN med_precio DOUBLE,
IN med_stock INT,
IN med_estado VARCHAR(10)
)
BEGIN
INSERT INTO `medicamento`(`med_id`, `med_nombre`, `gen_id`,
`pre_id`, `lab_id`, `cat_id`, `med_presentacion`, `med_precio`,
`med_stock`, `med_estado`)
VALUES
(med_id,med_nombre,gen_id,pre_id,lab_id,cat_id,med_presentacion,
med_precio,med_stock,med_estado);
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_NOMBREGENERICO_REGISTRO
-- -----------------------------------------------------
USE `bd_botica`;
DROP procedure IF EXISTS
`up_NOMBREGENERICO_REGISTRO`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_NOMBREGENERICO_REGISTRO`(
IN gen_id INT,
IN gen_nombre VARCHAR(50),
IN gen_sustancia VARCHAR(50)
)
BEGIN
INSERT INTO `nombre_generico`(`gen_id`, `gen_nombre`,
`gen_sustancia`)
VALUES (gen_id,gen_nombre,gen_sustancia);
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_PAGO_FTP
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_PAGO_FTP`;
SHOW WARNINGS;
DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_PAGO_FTP`(in dni varchar(10), in monto varchar(8),in
transaccion varchar(20))
BEGIN

declare pedido int;


declare cliente varchar(20);
declare serie varchar(5);
declare numero1 int;
declare numero2 varchar(5);

set pedido:=(select ped_id from venta_pedido


inner join usuario on usuario.per_dni=venta_pedido.per_dni
inner join persona on persona.per_dni=usuario.per_dni
where usuario.per_dni=dni and venta_pedido.ped_monto=monto
and venta_pedido.ped_estado='F' order by ped_fecha asc limit 1);

set serie:=(select par_valor from parametro where par_id=1);

set numero1:=(select par_valor from parametro where par_id=2);

if numero1<10 then
set numero2:=(CONCAT('00',numero1));
elseif numero1<100 then
set numero2:=(CONCAT('0',numero1));
else
set numero2:=(numero1);
END IF;

if pedido is not NULL then


update venta_pedido
set ven_tipo='BANCO',
ped_fech_pago=curdate(),
ped_estado='P',
ven_serie=serie,
ven_numero=numero2
where ped_id=pedido;

CALL up_ACTUALIZAR_NUMERO();

update ftp_pago set ftp_estado='D'


where ftp_transaccion=transaccion;

end if;

END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_PAGO_LISTAR
-- -----------------------------------------------------
USE `bd_botica`;
DROP procedure IF EXISTS `up_PAGO_LISTAR`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_PAGO_LISTAR`()
BEGIN
select * from ftp_pago
where ftp_estado='A';
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_PEDIDO_ULTIMOCODIGO
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_PEDIDO_ULTIMOCODIGO`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_PEDIDO_ULTIMOCODIGO`()
BEGIN
select ifnull(max(ped_id),0) as ultimo_codigo,ven_serie,ven_numero
from venta_pedido;
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_PERSONA_INSERTAR
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_PERSONA_INSERTAR`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_PERSONA_INSERTAR`(
IN dni varchar(50),
IN nombre varchar(50),
IN apellido_paterno varchar(50),
IN apellido_materno varchar(50),
IN direccion varchar(50),
IN nacimiento date
)
BEGIN
INSERT INTO `persona`(`per_dni`, `per_nombre`, `per_appa`,
`per_apma`, `per_direccion`, `per_nacimiento`)
VALUES
(dni,nombre,apellido_paterno,apellido_materno,direccion,nacimiento)
;
END$$
DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_PRESENTACION_REGISTRO
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_PRESENTACION_REGISTRO`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_PRESENTACION_REGISTRO`(
IN pre_id INT,
IN pre_nombre VARCHAR(50)
)
BEGIN
INSERT INTO `presentacion`(`pre_id`, `pre_nombre`)
VALUES (pre_id,pre_nombre);
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_PROVEEDOR_REGISTRO
-- -----------------------------------------------------
USE `bd_botica`;
DROP procedure IF EXISTS `up_PROVEEDOR_REGISTRO`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_PROVEEDOR_REGISTRO`(
IN pro_ruc VARCHAR(50),
IN pro_nombre VARCHAR(50),
IN pro_direccion VARCHAR(50),
IN pro_telefono VARCHAR(50)
)
BEGIN
SET @maxrow:=(select ifnull(max(pro_id),0) from proveedor);
INSERT INTO `proveedor`(`pro_id`, `pro_ruc`, `pro_nombre`,
`pro_direccion`, `pro_telefono`)
VALUES ((select
@maxrow:=@maxrow+1),pro_ruc,pro_nombre,pro_direccion,pro_tel
efono);
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_USUARIO_REGISTRO
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_USUARIO_REGISTRO`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_USUARIO_REGISTRO`(
IN per_dni VARCHAR(10),
IN usu_codigo INT,
in usu_login VARCHAR(50),
IN usu_clave VARCHAR(50),
IN usu_tipo VARCHAR(50),
IN usu_estado VARCHAR(50)
)
BEGIN
INSERT INTO `usuario`(`per_dni`, `usu_codigo`, `usu_login`,
`usu_clave`, `usu_tipo`, `usu_estado`)
VALUES
(per_dni,usu_codigo,usu_login,usu_clave,usu_tipo,usu_estado);
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_VENTA_AGREGARMONTO
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_VENTA_AGREGARMONTO`;
SHOW WARNINGS;
DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_VENTA_AGREGARMONTO`(
IN monto INT,
IN pedido INT
)
BEGIN
UPDATE `venta_pedido` SET `ped_monto`=monto WHERE
`ped_id`=pedido;
END$$

DELIMITER ;
SHOW WARNINGS;

-- -----------------------------------------------------
-- procedure up_VENTA_REGISTRO
-- -----------------------------------------------------

USE `bd_botica`;
DROP procedure IF EXISTS `up_VENTA_REGISTRO`;
SHOW WARNINGS;

DELIMITER $$
USE `bd_botica`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`up_VENTA_REGISTRO`(
IN per_dni VARCHAR(11),
IN ven_serie VARCHAR(11),
IN ven_numero VARCHAR(11),
IN ven_tipo VARCHAR(11),
IN ven_pago VARCHAR(11),
IN ped_fech_pago DATE,
IN ped_estado VARCHAR(11)
)
BEGIN
SET @maxrow:=(select ifnull(max(ped_id),0) from venta_pedido);
INSERT INTO `venta_pedido`(`ped_id`, `per_dni`, `ven_serie`,
`ven_numero`, `ven_tipo`, `ven_pago`, `ped_fecha`, `ped_fech_pago`,
`ped_estado`)
VALUES ((select
@maxrow:=@maxrow+1),per_dni,ven_serie,ven_numero,ven_tipo,ve
n_pago,now(),ped_fech_pago,ped_estado);

END$$

DELIMITER ;
SHOW WARNINGS;

SET SQL_MODE=@OLD_SQL_MODE;
SET
FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
8. Anlisis y discusin
Realizar el modelado de negocios aplicando RUP: El trabajo en desarrollo
fue muy factible, ya que exiga exactitud tanto en los datos a trabajar como en
los diagramas en los que se plasma el modelado.

Realizar el modelado de requerimiento de sistema aplicando RUP: Este


proceso se realiz de manera minuciosa, por cuanto se sintetizaba una vista
de negocio que forma el pilar de la construccin del sistema.

Efectuar anlisis y diseo aplicando RUP: Dicho proceso se ha culminado


de forma eficiente, cuando analizamos y diseamos llegbamos a una
respuesta que posteriormente se verificaba en grupo, asimilando las posibles
reacciones que se tuviera.

Implementar el sistema usando PHP y MySQL: Debido a la amplitud de


este sistema, en este proceso se cont con la orientacin de Docentes de
Ingeniera de Sistemas, presentndose contratiempos por lo que se tuvo que
verificar en algunas fuentes de informacin, obteniendo as la integridad y
funcionamiento del sistema.

9. Conclusiones y Recomendaciones
El proyecto que realizamos ha contribuido de manera muy importante para
identificar y resaltar los puntos que hay que cubrir y considerar para llevar a
cabo una implementacin exitosa de los sistemas de informacin. Nos deja
muchas cosas importantes que reflexionar y muchas otras las ha reforzado
como puntos angulares para llevar a cabo una buena implementacin.
Dentro de los puntos que consideramos tienen ms importancia dentro de un
proyecto de esta naturaleza son el detectar cules son las necesidades reales
de las personas que trabajan da a da con los sistemas, que los procesos
operativos de una empresa se apeguen a la realidad del trabajo diario y no
sean un obstculo burocrtico, que se involucre a los usuarios en el proceso
de implementacin de los sistemas de manera que se sepa que es lo que ellos
esperan y qu es lo que no esperan de l, definir de manera clara y lo ms
tangible posible los beneficios econmicos, laborales, y de cualquier otra
ndole que se piensan alcanzar con los sistemas nuevos, de manera que las
personas dentro de la empresa sepan cmo se van a ver beneficiados
particularmente.

Con la finalizacin del presente proyecto se pueden efectuar las siguientes


recomendaciones:
Utilizar las herramientas similares para futuras construcciones de
sistemas.
Se debe tener sumo cuidado respecto a las claves de acceso que son
amigables a los usuarios por nica vez.
Se debe realizar copias de seguridad de la base de datos.
Prohibir el ingreso de personas ajenas a los almacenes de la botica.
Sacar circulares internas para el buen manejo e higiene del sistema
implementado.
10. Referencias Bibliogrficas

SERNA, H. (1994) Planeacin y Gestin Estratgica. Legis Editores S.A.


Santa Fe De Bogot.
GARRIDO, S. (2006). Direccin Estratgica .2 a Edicin. Editorial McGraw-
HILL. Interamericana de Espaa, S.A.U.
CHARLES, W. (2005). Administracin Estratgica. 6 a Edicin. Editorial
McGraw-HILL. Interamericana Editores, S.A. DE C.V.
LEONARD, D. (2000). Planeacin Estratgica Aplicada. 2a Edicin.
Editorial McGraw-HILL. Mxico D.F.
SALLENAVE, J. (2003).Gerencia y Planeacin Estratgica. 11 Edicin.
Editorial Pearson Hall. Mxico.
KUSTER, I. y ROMAN, S. (2004) Venta Personal y Direccin de Ventas.
Editorial. Thomson. Madrid.
ENCARNACION, M. (2005) Gestin Comercial y Servicio de Atencin al
Cliente. Editorial. Thomson. Mxico.
11. Apndices y Anexos

Personal Investigador:
Apellidos y Cdigo de
Facultad Carrera Correo electrnico
Nombres estudiante

Ingeniera de
Chumbiauca
Ingeniera informtica y 1711200185 juniiorxiito@hotmail.com
Quiones,
de sistemas
Junior

Ingeniera de
Martell
Ingeniera informtica y 1713000016 edwin_82_al@hotmail.com
Romn,
de sistemas
Edwin
Ingeniera de
Yauri Inti, Ingeniera informtica y 1712200078 xcan_633@hotmail.com
Carlos de sistemas

Presupuestos:
NATURALEZA DESCRIPCIN CANTIDAD COSTO (S/.)
DEL GASTO
02.00 BIENES

02.01 Papel Bond A4 1 Millar 30.00

02.02 Lapiceros 6 Unidades 10.50

02.03 Resaltadores 3 Unidades 6.00

02.04 Correctores 3 Unidades 10.00

02.05 Plumones acrlicos 2 Juegos 14.00

02.06 Impresora HP 1 Unidad 120.00


Laser Jet 9800
SUBTOTAL S/. 190.50

03.00 SERVICIO
03.01 Internet 100 Horas 150.00

03.02 Movilidad 45 pasajes 90.00

03.03 Empastados 06 unidades 96.00

03.04 Fotocopias 1 Millar 100.00

03.05 Otros servicios ---------------- 1100.00


terceros
SUBTOTAL S/. 1536.00

Resumen:
Bienes= 190.50
Servicio= 1536.00
TOTAL= S/. 1726.50
Cronograma:

Marzo Abril Mayo Junio Julio


Fases Actividad
Elaboracin del Proyecto de Investigacin X X
Planeacin

Bsqueda de Referencias Documentales X X

Borrador de Proyecto de investigacin X

Entrega de Proyecto de Investigacin X

Elaboracin de Protocolo de tcnica X

Aplicacin de tcnicas de investigacin X


Ejecucin

Interpretacin de las evidencias empricas en base al marco terico X

Construccin de datos X

Presentacin de la informacin organizada X

Elaboracin del Reporte de Investigacin X


de los resultados
Comunicacin

Entrega de borrador del reporte X

Redaccin del Reporte Ejecutivo X

Entrega del Reporte de Investigacin X


Elaboracin de Pgina o Recurso Web X

Presentacin de Pgina Web en lnea X X

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