Anda di halaman 1dari 21

Diccionario de Datos

Proyecto:
DESARROLLO

DE

UN

SISTEMA

INFORMTICO PARA LA AUTOMATIZACIN


DEL CONTROL DE INVENTARIO DE ACTIVOS
FIJOS Y BIENES, UTILIZANDO SOFTWARE
LIBRE, PARA LA UNIDAD EDUCATIVA DEL
MILENIO MI INUN YA EN EL CANTN
SANTO DOMINGO DE LOS COLORADOS.
AO 2014.

NDICE DE CONTENIDO

1.

INTRODUCCIN

2.

TABLAS

2.1

Parametrizacin

2.2

Lista de Tablas

2.2.1

Tabla categoras_productos

2.2.2

Tabla clientes

2.2.3

Tabla departamentos

2.2.4

Tabla ingresos_productos

2.2.5

Tabla movientos_productos

2.2.6

Tabla ordenes_ingreso

2.2.7

Tabla ordenes_pedido

10

2.2.8

Tabla pedidos_productos

10

2.2.9

Tabla productos

11

2.2.10 Tabla proveedores

12

2.2.11 Tabla usuarios

13

3.

FUNCIONES

14

3.1

Parametrizacin

14

3.2

Lista de Funciones

14

3.2.1

Funcin sp_eliminar

15

3.2.2

Funcin sp_guardar_categoria

15

3.2.3

Funcin sp_guardar_cliente

16

3.2.4

Funcin sp_guardar_departamento

17

3.2.5

Funcin sp_guardar_orden_ingreso

17

3.2.6

Funcin sp_guardar_orden_pedido

18

3.2.7

Funcin sp_guardar_producto

19

3.2.8

Funcin sp_guardar_proveedor

20

3.2.9

Funcin sp_guardar_usuario

20

LISTA DE TABLAS
Tabla 1: Lista de Tablas.............................................................................................. 5
Tabla 2: Tabla categorias_productos.............................................................................. 6
Tabla 3: Restricciones Tabla categoras_productos.............................................................6
Tabla 4: Tabla de clientes............................................................................................ 6
Tabla 5: Restricciones Tabla clientes...................................................................7
Tabla 6: Tabla departamentos............................................................................. 7
Tabla 7: Restricciones Tabla departamentos.......................................................7
Tabla 8: Tabla de ingresos_productos..................................................................8
Tabla 9: Restricciones Tabla ingresos_productos.................................................8
Tabla 10: Tabla de movimientos_productos.........................................................8
Tabla 11: Restricciones de la Tabla movimientos_productos...............................9
Tabla 12: Tabla de ordenes_ingreso.....................................................................9
Tabla 13: Restricciones Tabla proveedores..........................................................9
Tabla 14: Tabla de ordenes_pedido...................................................................10
Tabla 15: Restricciones Tabla proveedores........................................................10
Tabla 16: Tabla de pedidos_productos...............................................................10
Tabla 17: Restricciones Tabla pedidos_productos..............................................11
Tabla 18: Tabla de productos............................................................................. 11
Tabla 19: Restricciones Tabla productos............................................................12
Tabla 20: Tabla de proveedores.........................................................................12
Tabla 21: Restricciones Tabla proveedores........................................................12
Tabla 22: Tabla de usuarios............................................................................... 13
Tabla 23: Restricciones Tabla usuarios..............................................................13
Tabla 24: Lista de Funciones............................................................................. 14
Tabla 25: Funcin sp_eliminar........................................................................... 15
Tabla 26: Funcin sp_guardar_categoria...........................................................15
Tabla 27: Funcin sp_guardar_cliente................................................................16
Tabla 28: Funcin sp_guardar_departamento....................................................17
Tabla 29: Funcin sp_guardar_orden_ingreso....................................................17
Tabla 30: Funcin sp_guardar_orden_pedido.....................................................18
Tabla 31: Funcin sp_guardar_producto............................................................19
Tabla 32: Funcin sp_guardar_proveedor..........................................................20

4
Tabla 33: Funcin sp_guardar_usuario...............................................................21

1. INTRODUCCIN
El presente documento contiene el diccionario de datos, donde se describen las caractersticas lgicas
utilizadas en el sistema para el control de inventario de activos fijos y bienes.

2. TABLAS
2.1 Parametrizacin
Cada tabla del Sistema de control de inventario de activos fijos y bienes inicia con el nombre propio que se le
ha designado a la tabla en el cual define su contenido.
2.2 Lista de Tablas
Lista de las tablas utilizadas en el desarrollo del modelo de la base de datos para el sistema de control de
inventario de activos fijos y bienes.

N.-

Nombre de la Tabla

Descripcin

CATEGORIAS_PRODUCTOS

CLIENTES

DEPARTAMENTOS

INGRESOS_PRODUCOS

MOVIMIENTOS_PRODUCTOS

ORDENES_INGRESO

ORDENES_PEDIDO

PEDIDOS_PRODUCTOS

PRODUCTOS

10

PROVEEDORES

11

USUARIOS

Tabla que contiene las categoras de los activos fijos y


bienes.
Tabla que contiene a las personas u entidades que harn uso
del inventario.
Tabla que contiene los departamentos a los cuales
pertenecen los clientes.
Tabla que almacena el detalle de las ordenes de ingreso
Tabla que contiene el movimiento de stock de los
productos.
Tabla que contiene las ordenes de ingreso de los activos
fijos y bienes.
Tabla que contiene las ordenes de pedido de los activos
fijos y bienes.
Tabla que almacena el detalle de las ordenes de pedido
Tabla que contiene los activos fijos y bienes de la unidad
educativa.
Tabla que contiene la informacin de los proveedores de

los activos fijos y bienes.


Tabla que contiene a los usuarios del sistema.
Tabla 1: Lista de Tablas
Fuente: Los autores

2.2.1

Tabla categoras_productos
Nombre de

N.-

Columna

Tipo de Datos

Null

Comentarios
Cdigo secuencial de

cpro_id

Integer

No

cpro_nombre

character varying(100)

No

cpro_estado

Smallint
No
Estado de la categora
Tabla 2: Tabla categorias_productos

categorias_productos
Nombre de la categora

Fuente: Los autores

Restricciones
Nombre

Tipo

pk_categorias_producto

PRIMARY KEY

Columna
Local

Tabla Ref.

Columna de Ref.

cpro_id

Tabla 3: Restricciones Tabla categoras_productos


Fuente: Los autores

2.2.2
N.-

Tabla clientes
Nombre de
Columna

Tipo de Datos

Null

Comentarios

cli_id

integer

No

Cdigo secuencial de clientes

cli_identificacion

character varying(13)

No

Cedula del cliente

3
4
5
6

cli_nombres
cli_apellidos
cli_telefono
cli_correo

character varying(50)
character varying(50)
character varying(20)
character varying(100)

No
No
SI
SI

Nombres del cliente


Apellidos del cliente
Telfono del cliente
Correo electrnico del cliente

cli_estado

smallint

No

Estado del cliente

depa_id

integer
No
Cdigo secuencial de departamentos
Tabla 4: Tabla de clientes
Fuente: Los autores

Restricciones

7
Columna

Nombre

Tipo

pk_clientes

PRIMARY KEY

cli_id

fk_departamentos_id

FOREIGN KEY

depa_id

Local

Tabla Ref.

Columna de Ref.

Departamentos

depa_id

Tabla 5: Restricciones Tabla clientes


Fuente: Los autores

2.2.3
N.-

Tabla departamentos
Nombre de
Columna

Tipo de Datos

Null

Comentarios

depa_id

integer

No

Cdigo secuencial de departamentos

depa_nombre

character varying(100)

No

Nombre del departamento

character varying(100)

Si

Descripcin del departamento

3
4

depa_descripcio
n
depa_estado

smallint
No
Tabla 6: Tabla departamentos

Estado del departamento

Fuente: Los autores

Restricciones
Nombre

Tipo

pk_departamentos

PRIMARY KEY

Columna
Local

Tabla Ref.

depa_id

Tabla 7: Restricciones Tabla departamentos


Fuente: Los autores

Columna de Ref.

2.2.4

Tabla ingresos_productos
Nombre de

N.-

Columna

Tipo de Datos

Null

Comentarios
Cdigo secuencial de ingresos_productos

ingrpro_id

integer

No

ingrpro_cantidad

integer

No

3
4
5

ingrpro_precio
ingr_id
prod_id

Cantidad del producto para la orden de

ingreso
double precisin
No
Precio del producto
integer
No
Cdigo de orden de ingreso
integer
No
Cdigo secuencial de los productos
Tabla 8: Tabla de ingresos_productos
Fuente: Los autores

Restricciones
Nombre

Tipo

Columna Local

pk_ingresos_productos

PRIMARY KEY

ingrpor_id

fk_ordenes_ingreso

FOREIGN KEY

ingr_id

fk_productos

FOREIGN KEY

prod_id

Tabla Ref.

Columna de Ref.

Ordenes_ingres
o
productos

ingr_id
prod_id

Tabla 9: Restricciones Tabla ingresos_productos


Fuente: Los autores

2.2.5
N.-

Tabla movientos_productos
Nombre de
Columna

Tipo de Datos

Null

Comentarios
Cdigo secuencial de los movimientos de

pmov_id

integer

No

prod_id

integer

No

Cdigo secuencial de productos

3
4

pmov_fecha
pmov_cantidad

character varying (10)


integer

No
No

Fecha del movimiento


Cantidad del movimiento de producto

pmov_tipo

integer

No

Tipo de movimiento

pmov_estado

smallint
No
Estado del movimiento de producto
Tabla 10: Tabla de movimientos_productos
Fuente: Los autores

Restricciones

stock de productos

Nombre

Tipo

Columna Local

pk_movimientos_productos

PRIMARY KEY

pmov_id

fk_productos

FOREIGN KEY

prod_id

Tabla Ref.

Columna de Ref.

productos

prod_id

Tabla 11: Restricciones de la Tabla movimientos_productos


Fuente: Los autores

2.2.6
N.-

Tabla ordenes_ingreso
Nombre de
Columna

Tipo de Datos

Null

Comentarios

ingr_id

integer

No

Cdigo secuencial de los ordenes_ingreso

usua_id

integer

No

Cdigo secuencial de usuarios

3
4
5
6

prov_id
ingr_factura
ingr_cur
ingr_tipo

integer
character varying(20)
character varying(20)
smallint

NO
NO
NO
NO

Cdigo secuencial de proveedores


Numero de factura
CUR
Tipo de ingreso

ingr_acta

character varying(20)

SI

Acta asociado al ingreso

ingr_estado

smallint
No
Estado de las ordenes de ingreso
Tabla 12: Tabla de ordenes_ingreso
Fuente: Los autores

Restricciones
Columna

Nombre

Tipo

pk_ordenes_ingreso

PRIMARY KEY

ingr_id

fk_proveedores

FOREIGN KEY

prov_id

Tabla Ref.

Columna de Ref.

Proveedores

prov_id

Local

Tabla 13: Restricciones Tabla proveedores


Fuente: Los autores

10

2.2.7

Tabla ordenes_pedido
Nombre de

N.-

Columna

Tipo de Datos

Null

Comentarios

pedi_id

integer

No

Cdigo secuencial de las ordenes de pedido

pedi_cliente

integer

No

Cdigo secuencial de clientes

3
4
5
6

usua_id
pedi_fecha
pedi_observaciones
pedi_tipo

integer
character varying(20)
character varying(20)
smallint

NO
NO
NO
NO

Cdigo secuencial de usuarios


Numero de factura
Observaciones del pedido
Tipo de pedido

pedi_acta

character varying(20)

SI

Acta asociado al pedido

pedi_estado

smallint
No
Estado de las ordenes de pedido
Tabla 14: Tabla de ordenes_pedido
Fuente: Los autores

Restricciones
Columna

Nombre

Tipo

Tabla Ref.

Columna de Ref.

pk_ordenes_pedido

PRIMARY KEY

pedi_id

fk_clientes

FOREIGN KEY

cli_id

Clientes

cli_id

fk_usuarios

FOREIGN KEY

usua_id

Usuarios

usua_id

Local

Tabla 15: Restricciones Tabla proveedores


Fuente: Los autores

2.2.8
N.-

Tabla pedidos_productos
Nombre de
Columna

Tipo de Datos

Null

Comentarios

pedipro_id

Integer

No

Cdigo secuencial de los clientes

pedipro _cantidad

Character varying(13)

No

Cedula del cliente

3
4

Prod_id
Pedi_id

Character varying(50)
No
Nombres del cliente
Character varying(50)
No
Apellidos del cliente
Tabla 16: Tabla de pedidos_productos
Fuente: Los autores

Restricciones

11
Columna

Nombre

Tipo

pk_pedidos_productos

PRIMARY KEY

cli_id

fk_productos

FOREIGN KEY

prod_id

fk_ordenes_pedido

FOREIGN KEY

pedi_id

Local

Tabla Ref.

Columna de Ref.

productos

prod_id

Ordenes_pedid
o

pedi_id

Tabla 17: Restricciones Tabla pedidos_productos


Fuente: Los autores

2.2.9
N.-

Tabla productos
Nombre de
Columna

Tipo de Datos

Null

Comentarios

prod_id

integer

No

Cdigo secuencial de los productos

prod_categoria

smallint

No

3
4
5
6

prod_codigo
prod_descripcion
prod_pcp
prod_vidautil

character varying(50)
character varying(500)
double precisin
smallint

No
No
NO
NO

productos
Cdigo del producto
Nombre descriptivo del producto
Precio del producto
Vida til del producto

prod_custodio

character varying(50)

NO

Custodio del producto

prod_tipo

smallint

NO

Tipo de producto

prod_serie

character varying(50)

NO

Serie del producto

prod_marca

character varying(100)

SI

Marca del producto

prod_modelo

character varying(100)

SI

Modelo del producto

prod_esctructura

character varying(100)

NO

Estructura del producto

prod_color

character varying(50)

NO

Color del producto

prod_condicion

character varying(50)

NO

Condicin del producto

prod_estado

smallint

NO

Estado del producto

prod_ubicacion

Cdigo secuencial de categora de

character varying(100)
NO
Ubicacin del producto
Tabla 18: Tabla de productos
Fuente: Los autores

Restricciones
Nombre

Tipo

Columna
Local

Tabla Ref.

Columna de Ref.

12

pk_productos

PRIMARY KEY

cli_id

fk_caracteristicas_producto

FOREIGN KEY

prod_categoria

Categorias_producto
s

cpro_id

Tabla 19: Restricciones Tabla productos


Fuente: Los autores

2.2.10
N.1
2
3
4
5
6

Tabla proveedores

Nombre de
Columna
prov_id
prov_identificacio
n
prov_nombre
prov_direccion
prov_telefono1
prov_correo1

prov_tipo

prov_estado

Tipo de Datos

Null

Comentarios

Integer

No

Cdigo secuencial de los proveedores

character varying(13)

No

Cedula o ruc del proveedor

character varying(80)
character varying(80)
character varying(12)
character varying(40)

No
No
SI
SI

Nombre del proveedor


Direccin del proveedor
Telfono del proveedor
Correo electrnico del proveedor

integer

No

Tipo de proveedor

smallint
No
Estado del proveedor
Tabla 20: Tabla de proveedores
Fuente: Los autores

Restricciones
Nombre
pk_proveedores

Tipo
PRIMARY KEY

Columna
Local
prov_id

Tabla 21: Restricciones Tabla proveedores


Fuente: Los autores

Tabla Ref.

Columna de Ref.

13

2.2.11
N.-

Tabla usuarios

Nombre de
Columna

Tipo de Datos

Null

Comentarios

usua_id

integer

No

Cdigo secuencial de los usuarios

usua_login

character varying(15)

No

Login para el acceso al sistema

3
4
5
6

usua_password
usua_nombre
usua_correo
usua_tipo

character varying(15)
character varying(60)
character varying(100)
integer

No
No
SI
SI

Contrasea del usuario


Nombres del usuario
Correo electrnico del cliente
Perfil del usuario

usua_estado

smallint

No

Estado del usuario

depa_id

integer
No
Cdigo secuencial de departamentos
Tabla 22: Tabla de usuarios
Fuente: Los autores

Restricciones
Nombre

Tipo

pk_usuarios

PRIMARY KEY

Columna
Local
usua_id

Tabla 23: Restricciones Tabla usuarios


Fuente: Los autores

Tabla Ref.

Columna de Ref.

14

3. FUNCIONES

3.1 Parametrizacin
Cada funcin del sistema de control de inventario de activos fijos y bienes comienzan con
el prefijo sp seguido de un nombre el cual define su funcionamiento.
3.2 Lista de Funciones
Lista de las funciones del sistema de control de inventario de activos fijos con su respectiva descripcin.
N.-

Nombre de la Funcin

Descripcin

sp_eliminar

sp_guardar_categoria

sp_guardar_cliente

sp_guardar_departamento

sp_guardar_orden_ingreso

Funcion que permite guardar ordenes de ingreso.

sp_guardar_orden_pedido

Funcion que permite guardar ordenes de pedido.

sp_guardar_producto

sp_guardar_proveedor

sp_guardar_usuario

Funcion que permite eliminar los registros de las tablas que se


puedan eliminar sus datos.
Funcion que permite guardar y modificar las categoras de
productos
Funcion que permite guardar y modificar los registros de los
clientes
Funcion que permite guardar y modificar los registros de
departamentos.

Funcion que permite guardar o modificar los registros de los


productos.
Funcion que permite guardar y modificar los proveedores.

Funcion que permite guardar y modificar los registros de usuarios.


Tabla 24: Lista de Funciones
Fuente: Los autores

15

3.2.1 Funcin sp_eliminar


CDIGO
CREATE FUNCTION sp_eliminar(tabla character varying, id integer)
RETURNS integer AS
$BODY$
begin
if(tabla = 'clientes')then
update clientes set cli_estado=2 where cli_id=id;
return 1;
end if;
if(tabla = 'productos')then
update productos set prod_estado=2 where prod_id=id;
return 1;
end if;
if(tabla = 'proveedores')then
update proveedores set prov_estado=2 where prov_id=id;
return 1;
end if;
if(tabla = 'usuarios')then
update usuarios set usua_estado=2 where usua_id=id;
return 1;
end if;
end;
$BODY$

Tabla 25: Funcin sp_eliminar


Fuente: Los autores

3.2.2 Funcin sp_guardar_categoria


CDIGO
CREATE FUNCTION sp_guardar_categoria(opcion boolean, id integer, nombre character varying)
RETURNS integer AS
$BODY$
begin
if(opcion = '0')then
INSERT INTO categorias_producto(cpro_nombre, cpro_estado)
VALUES (nombre, 1);
return 1;
end if;
if(opcion = '1')then
UPDATE categorias_producto SET
cpro_nombre=nombre
WHERE cpro_id=id ;
return 1;
end if;
end;
$BODY$

Tabla 26: Funcin sp_guardar_categoria

16
Fuente: Los autores

3.2.3 Funcin sp_guardar_cliente


CDIGO
CREATE FUNCTION sp_guardar_cliente(opcion boolean, id integer, ruc character varying, nombres character
varying, apellidos character varying, telefono1 character varying, correo1 character varying, departamento integer)
RETURNS integer AS
$BODY$
begin
if(opcion = '0')then
INSERT INTO clientes(cli_identificacion, cli_nombres, cli_apellidos, cli_telefono, cli_correo, depa_id,
cli_estado)
VALUES (ruc,nombres,apellidos,telefono1,correo1,departamento,1);
return 1;
end if;
if(opcion = '1')then
UPDATE clientes SET
cli_identificacion=ruc,
cli_nombres=nombres,
cli_apellidos=apellidos,
cli_telefono=telefono1,
cli_correo=correo1,
depa_id=departamento
WHERE cli_id=id ;
return 1;
end if;
end;
$BODY$

Tabla 27: Funcin sp_guardar_cliente


Fuente: Los autores

17

3.2.4 Funcin sp_guardar_departamento


CDIGO
CREATE FUNCTION sp_guardar_departamento(opcion boolean, id integer, nombre character varying, descripcion
character varying)
RETURNS integer AS
$BODY$
begin
if(opcion = '0')then
INSERT INTO departamentos(depa_nombre, depa_descripcion, depa_estado)
VALUES (nombre, descripcion, 1);
return 1;
end if;
if(opcion = '1')then
UPDATE departamentos SET
depa_nombre=nombre,
depa_descripcion=descripcion
WHERE depa_id=id;
return 1;
end if;
end;
$BODY$

Tabla 28: Funcin sp_guardar_departamento


Fuente: Los autores

3.2.5 Funcin sp_guardar_orden_ingreso


CDIGO
CREATE FUNCTION sp_guardar_orden_ingreso(opcion boolean, idingreso integer, idusuario integer, idproveedor
integer, factura character varying, fecha character varying, cur character varying, tipo integer, acta character varying,
producto integer[], cantidad integer[], precio double precision[])
RETURNS integer AS
$BODY$
DECLARE
id_ingreso int;
begin
if opcion = '0' THEN
id_ingreso=nextval('ordenes_ingreso_ingr_id_seq'::regclass);
INSERT INTO ordenes_ingreso(ingr_id, usua_id, prov_id, ingr_factura, ingr_fecha, ingr_cur,
ingr_tipo,ingr_acta,ingr_estado)
VALUES (id_ingreso, idusuario, idproveedor, factura, fecha,cur, tipo,acta, 1);
FOR i IN 1..(ARRAY_LENGTH(producto,1)) loop
INSERT INTO ingresos_productos(ingrpro_cantidad, prod_id, ingr_id,ingrpro_precio)
VALUES (cantidad[i],producto[i], id_ingreso,precio[i]);
UPDATE productos set prod_pcp = precio[i] where prod_id = producto[i];
INSERT INTO movimientos_productos(prod_id, pmov_fecha, pmov_cantidad, pmov_tipo, pmov_estado)
VALUES (producto[i], current_date, cantidad[i],1,1);
end loop;
return id_ingreso;
END IF;
end;
$BODY$

Tabla 29: Funcin sp_guardar_orden_ingreso


Fuente: Los autores

18

3.2.6 Funcin sp_guardar_orden_pedido


CDIGO
CREATE OR REPLACE FUNCTION sp_guardar_orden_pedido(opcion boolean, idpedido integer, idcliente integer,
idusuario integer, fecha_pedido character varying, observaciones character varying, tipopedido integer, acta character
varying, producto integer[], cantidad integer[])
RETURNS integer AS
$BODY$
DECLARE
id_pedido int;
begin
IF opcion = '0' THEN
id_pedido=nextval('pedidos_pedi_id_seq'::regclass);
INSERT INTO ordenes_pedido(pedi_id, pedi_cliente, usua_id, pedi_fecha, pedi_observaciones,
pedi_tipo,pedi_acta, pedi_estado)
VALUES (id_pedido, idcliente, idusuario, fecha_pedido, observaciones, tipopedido,acta, 1);
if(array_length(producto, 1)>0)then
FOR i IN 1..(ARRAY_LENGTH(producto,1)) loop
INSERT INTO pedidos_productos(pedipro_cantidad, prod_id, pedi_id)
VALUES (cantidad[i],producto[i], id_pedido );
INSERT INTO movimientos_productos(prod_id, pmov_fecha, pmov_cantidad, pmov_tipo, pmov_estado)
VALUES (producto[i], current_date, -cantidad[i],2,1);

end loop;
end if;
return id_pedido;
END IF;
IF opcion = '1' THEN
update ordenes_pedido set
pedi_observaciones=observaciones,
pedi_estado=2
where pedi_id=idpedido;
if(array_length(producto, 1)>0)then
FOR i IN 1..(ARRAY_LENGTH(producto,1)) loop
INSERT INTO movimientos_productos(prod_id, pmov_fecha, pmov_cantidad, pmov_tipo, pmov_estado)
VALUES (producto[i], current_date, cantidad[i],2,1);
end loop;
end if;
return 1;
END IF;
end;
$BODY$

Tabla 30: Funcin sp_guardar_orden_pedido


Fuente: Los autores

19

3.2.7 Funcin sp_guardar_producto


CDIGO
CREATE OR REPLACE FUNCTION sp_guardar_producto(opcion boolean, id_producto integer, id_categoria
integer, codigo_pro character varying, nombre_pro character varying, precioc double precision, vidautil integer,
custodio character varying, tipo_pro integer, serie character varying, marca character varying, modelo character
varying, estructura character varying, color character varying, condicion character varying, ubicacion_pro character
varying, cantidad_pro integer)
RETURNS integer AS
$BODY$
DECLARE
id_pro int;
begin
IF opcion = '0' THEN
id_pro=nextval('productos_prod_id_seq'::regclass);
INSERT INTO productos(prod_id,prod_categoria, prod_codigo, prod_descripcion, prod_pcp,
prod_vidautil, prod_custodio, prod_tipo, prod_serie, prod_marca, prod_modelo, prod_estructura,
prod_color, prod_condicion, prod_estado,prod_ubicacion)
VALUES (id_pro,id_categoria, codigo_pro, nombre_pro, precioc, vidautil, custodio, tipo_pro, serie,
marca, modelo, estructura, color, condicion, 1,ubicacion_pro);
INSERT INTO movimientos_productos(prod_id, pmov_fecha, pmov_cantidad, pmov_tipo, pmov_estado)
VALUES (id_pro, current_date, cantidad_pro, tipo_pro, 1);

END IF;
IF opcion = '1' THEN
UPDATE productos SET
prod_categoria=id_categoria, prod_codigo=codigo_pro, prod_descripcion=nombre_pro,
prod_pcp=precioc, prod_vidautil=vidautil, prod_custodio=custodio, prod_tipo=tipo_pro,
prod_serie=serie, prod_marca=marca, prod_modelo=modelo, prod_estructura=estructura,
prod_color=color, prod_condicion=condicion,prod_ubicacion=ubicacion_pro
WHERE prod_id=id_producto ;
END IF;
return 1;
end;
$BODY$

Tabla 31: Funcin sp_guardar_producto


Fuente: Los autores

20

3.2.8 Funcin sp_guardar_proveedor


CDIGO
CREATE OR REPLACE FUNCTION sp_guardar_proveedor(opcion boolean, id integer, ruc character varying,
nombre character varying, direccion character varying, telefono1 character varying, correo1 character varying, tipo
integer)
RETURNS integer AS
$BODY$
begin
if(opcion = '0')then
INSERT INTO proveedores(prov_identificacion, prov_nombre, prov_direccion,
prov_telefono1, prov_correo1, prov_tipo, prov_estado)
VALUES ( ruc, nombre, direccion, telefono1, correo1,tipo, 1);
return 1;
end if;
if(opcion = '1')then
UPDATE proveedores SET
prov_identificacion=ruc,
prov_nombre=nombre,
prov_direccion=direccion,
prov_telefono1=telefono1,
prov_correo1=correo1,
prov_tipo = tipo
WHERE prov_id=id ;
return 1;
end if;
end;
$BODY$

Tabla 32: Funcin sp_guardar_proveedor


Fuente: Los autores

3.2.9 Funcin sp_guardar_usuario


CDIGO
CREATE OR REPLACE FUNCTION sp_guardar_usuario(opcion boolean, id integer, login character varying, pass
character varying, nombres character varying, correo character varying, tipo integer)
RETURNS character varying AS
$BODY$
begin
if(opcion = '0')then
INSERT INTO usuarios(usua_login, usua_password, usua_nombre, usua_correo, usua_tipo, usua_estado)
VALUES (login,pass,nombres,correo,tipo,1);
return 'Datos Ingresados Correctamente';
end if;
if(opcion = '1')then
UPDATE usuarios SET
usua_login=login,
usua_password=pass,
usua_nombre=nombres,
usua_correo=correo,

21
usua_tipo=tipo
WHERE usua_id=id;
return 'Datos Modificados Correctamente';
end if;

end;
$BODY$

Tabla 33: Funcin sp_guardar_usuario


Fuente: Los autores

Anda mungkin juga menyukai