CREATE TABLE Combustible ( codigo VARCHAR(50) NOT NULL, tipoCombustible VARCHAR(50) NOT NULL, nombre VARCHAR(50) NOT NULL, biodiesel VARCHAR(50), diesel VARCHAR(50), etanol VARCHAR(50), gasolina VARCHAR(50) CONSTRAINT PK_Combustible PRIMARY KEY CLUSTERED (codigo)) CREATE TABLE ConsultarPedido ( numeroOrdenPedido BIGINT NOT NULL, usuario VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, numeroAutorizacionOP VARCHAR(50) NOT NULL, estadoOrdenPedido VARCHAR(50) NOT NULL CONSTRAINT PK_ConsultarPedido PRIMARY KEY CLUSTERED (numeroOrdenPedido)) CREATE TABLE Error ( NumeroError BIGINT NOT NULL, NumeroOrdenPedido BIGINT NOT NULL, numeroTabla INT NOT NULL, Descripcion TEXT NOT NULL, FechaHora DATETIME NOT NULL CONSTRAINT PK_Error PRIMARY KEY CLUSTERED (NumeroError)) CREATE TABLE MotivoRechazo ( codigo INT NOT NULL, descripcion TEXT NOT NULL CONSTRAINT PK_MotivoRechazo PRIMARY KEY CLUSTERED (codigo)) CREATE TABLE Ordenes ( NumOrden INT DEFAULT (0) NOT NULL, CodAutoriza VARCHAR(50) NOT NULL, TipoOrden CHAR(1) DEFAULT ('S') NOT NULL, CodCliente VARCHAR(20) NOT NULL, NumPedido INT DEFAULT (0) NOT NULL, IdCia CHAR(2) DEFAULT ('00') NOT NULL, FecPedido SMALLDATETIME NOT NULL, FecEntrega SMALLDATETIME NOT NULL, EtdoPedido INT DEFAULT (0) NOT NULL, TipoTrans VARCHAR(10) DEFAULT ('0') NOT NULL, nVehiculo VARCHAR(10), nRemolque VARCHAR(10), CedConductor VARCHAR(20), Conductor VARCHAR(100), CodPlanta VARCHAR(20), Observacion VARCHAR(250), TipoAcepta INT DEFAULT (0) NOT NULL, EtdoEnvio INT DEFAULT (0) NOT NULL, FecRadica SMALLDATETIME NOT NULL, FecAcepta SMALLDATETIME, FecDespacho SMALLDATETIME, Comentarios VARCHAR(1000) CONSTRAINT PK_Ordenes PRIMARY KEY CLUSTERED (NumOrden), CONSTRAINT CK_OrdenesCodAutoriza CHECK ((len([CodAutoriza]) > 0)), CONSTRAINT CK_OrdenesCodCliente CHECK ((len([CodCliente]) > 0)), CONSTRAINT CK_OrdenesIdCia CHECK ((len([IdCia]) > 0)), CONSTRAINT CK_OrdenesTipoOrden CHECK ((len([TipoOrden]) > 0)), CONSTRAINT CK_OrdenesTipoTrans CHECK ((len([TipoTrans]) > 0))) CREATE TABLE Pedido ( numeroOrdenPedido BIGINT NOT NULL, codigoAgente NUMERIC NOT NULL, password VARCHAR(32) NOT NULL, nitAgente VARCHAR(32) NOT NULL, codigoAutorizacionOP VARCHAR(15) NOT NULL, codigoCliente VARCHAR(16) NOT NULL, codigoPlantaDespacho NUMERIC NOT NULL, codigoPlantaRecibo NUMERIC NOT NULL, tipoVehiculo NUMERIC NOT NULL, placaVehiculo VARCHAR(6) NOT NULL, fechaSugeridaEntrega DATETIME NOT NULL, placaRemolque VARCHAR(6) NOT NULL, pedidoSobreCupo VARCHAR(1) NOT NULL, conductor VARCHAR(100) NOT NULL, cedula NUMERIC NOT NULL, fechaOrdenPedido DATETIME NOT NULL, observacion VARCHAR(512) NOT NULL, estadoOrdenPedido VARCHAR(50) NOT NULL CONSTRAINT PK_Pedido PRIMARY KEY CLUSTERED (numeroOrdenPedido)) CREATE TABLE PedidoAceptado ( numeroOrdenPedido BIGINT NOT NULL, usuario VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, numeroAutorizacionOP VARCHAR(50) NOT NULL, tipoVehiculo VARCHAR(50) NOT NULL, placaVehiculo VARCHAR(50) NOT NULL, estadoOrdenPedido VARCHAR(50) NOT NULL, codigoPlantaDespacho VARCHAR(50) NOT NULL, placaRemolque VARCHAR(50) NOT NULL CONSTRAINT PK_PedidoAceptado PRIMARY KEY CLUSTERED (numeroOrdenPedido)) CREATE TABLE PedidoAnulado ( numeroOrdenPedido BIGINT NOT NULL, usuario VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, numeroAutorizacionOP VARCHAR(50) NOT NULL, estadoOrdenPedido VARCHAR(50) NOT NULL CONSTRAINT PK_PedidoAnulado PRIMARY KEY CLUSTERED (numeroOrdenPedido)) CREATE TABLE PedidoAnuladoVendedor ( numeroOrdenPedido BIGINT NOT NULL, codigoAgente NUMERIC NOT NULL, password VARCHAR(32) NOT NULL, codigoAutorizacionOP VARCHAR(15) NOT NULL, fechaAnulacion DATETIME NOT NULL, estadoOrdenPedido VARCHAR(50) NOT NULL CONSTRAINT PK_PedidoAnuladoVendedor PRIMARY KEY CLUSTERED (numeroOrdenPedido)) CREATE TABLE PedidoCerrado ( numeroOrdenPedido BIGINT NOT NULL, usuario VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, numeroAutorizacionOP VARCHAR(50) NOT NULL, estadoOrdenPedido VARCHAR(50) NOT NULL CONSTRAINT PK_PedidoCerrado PRIMARY KEY CLUSTERED (numeroOrdenPedido)) CREATE TABLE PedidoDespachado ( numeroOrdenPedido BIGINT NOT NULL, usuario VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, numeroAutorizacionOP VARCHAR(50) NOT NULL, tipoTransporte VARCHAR(50) NOT NULL, placaTransporte VARCHAR(50) NOT NULL, placaRemolque VARCHAR(50) NOT NULL, tipoTemperatura VARCHAR(1) NOT NULL, temperatura VARCHAR(50) NOT NULL, numeroGuiaUnica VARCHAR(50) NOT NULL, vigenciaGuiaUnica VARCHAR(6) NOT NULL, numeroFactura VARCHAR(50) NOT NULL, estadoOrdenPedido VARCHAR(50) NOT NULL CONSTRAINT PK_PedidoDespachado PRIMARY KEY CLUSTERED (numeroOrdenPedido)) CREATE TABLE PedidoRechazado ( numeroOrdenPedido BIGINT NOT NULL, usuario VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, numeroAutorizacionOP VARCHAR(50) NOT NULL, motivoRechazo VARCHAR(50) NOT NULL, descripcionRechazo VARCHAR(50) NOT NULL, estadoOrdenPedido VARCHAR(50) NOT NULL CONSTRAINT PK_PedidoRechazado PRIMARY KEY CLUSTERED (numeroOrdenPedido)) CREATE TABLE PedidoRechazoVendedor ( numeroOrdenPedido BIGINT NOT NULL, codigoAgente NUMERIC NOT NULL, password VARCHAR(32) NOT NULL, codigoAutorizacionOP VARCHAR(15) NOT NULL, fechaRechazo DATETIME NOT NULL, codigoMotivoRechazo NUMERIC NOT NULL, descripcionRechazo VARCHAR(128) NOT NULL, estadoOrdenPedido VARCHAR(50) NOT NULL CONSTRAINT PK_PedidoRechazoVendedor PRIMARY KEY CLUSTERED (numeroOrdenPedido)) CREATE TABLE Producto ( numeroOrdenPedido BIGINT NOT NULL, volumenSugerido DECIMAL(10,2) NOT NULL, codigoProducto VARCHAR(50) NOT NULL CONSTRAINT PK_Producto PRIMARY KEY CLUSTERED (numeroOrdenPedido,codigoProducto)) CREATE TABLE ProductoAceptado ( numeroOrdenPedido BIGINT NOT NULL, volumen DECIMAL(10,2) NOT NULL, codigoProducto VARCHAR(50) NOT NULL, estadoProducto VARCHAR(50) NOT NULL CONSTRAINT PK_ProductoAceptado PRIMARY KEY CLUSTERED (numeroOrdenPedido,codigoProducto)) CREATE TABLE ProductoCerrado ( numeroOrdenPedido BIGINT NOT NULL, volumen DECIMAL(10,2) NOT NULL, codigoProducto VARCHAR(50) NOT NULL CONSTRAINT PK_ProductoCerrado PRIMARY KEY CLUSTERED (numeroOrdenPedido,codigoProducto)) CREATE TABLE ProductoDespachado ( numeroOrdenPedido BIGINT NOT NULL, volumen DECIMAL(10,2) NOT NULL, codigoProducto VARCHAR(50) NOT NULL, API FLOAT NOT NULL, estadoProducto VARCHAR(50) NOT NULL CONSTRAINT PK_ProductoDespachado PRIMARY KEY CLUSTERED (numeroOrdenPedido,codigoProducto)) CREATE TABLE TipoError ( numeroTabla VARCHAR(2) NOT NULL, tabla VARCHAR(50) NOT NULL CONSTRAINT PK_TipoError PRIMARY KEY CLUSTERED (numeroTabla)) CREATE TABLE TipoTemperatura ( codigo CHAR(1) NOT NULL, descripcion VARCHAR(50) NOT NULL CONSTRAINT PK_TipoTemperatura PRIMARY KEY CLUSTERED (codigo)) CREATE TABLE TipoTransporte ( codigo INT NOT NULL, descripcion VARCHAR(50) NOT NULL CONSTRAINT PK_TipoTransporte PRIMARY KEY CLUSTERED (codigo)) CREATE TABLE TipoUsuario ( idTipoUsuario VARCHAR(50) NOT NULL, descripcion TEXT NOT NULL CONSTRAINT PK_TipoUsuario PRIMARY KEY CLUSTERED (idTipoUsuario)) CREATE TABLE Usuario ( usuario VARCHAR(50) NOT NULL, contrasenna TEXT NOT NULL, nombre VARCHAR(50) NOT NULL, tipoUsuario VARCHAR(50) NOT NULL, activo NUMERIC NOT NULL, passwordSicom VARCHAR(32) NOT NULL CONSTRAINT PK_Usuario PRIMARY KEY CLUSTERED (usuario)) GO CREATE NONCLUSTERED INDEX IX_OrdenesNumPedido ON Ordenes(NumPedido,IdCia) CREATE NONCLUSTERED INDEX IX_OrdenesCodCliente ON Ordenes(CodCliente) CREATE NONCLUSTERED INDEX IX_OrdenesCodAutoriza ON Ordenes(CodAutoriza) GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO CREATE PROCEDURE Pa_Actualizar (@pmTabla VARCHAR(50),@pmCampos VARCHAR(2000),@pmCriterio VARCHAR(1000)) AS BEGIN Declare @pmQry VARCHAR(2000) SET @pmQry='' SET @pmQry=@pmQry + 'UPDATE '+ @pmTabla+' SET ' + @pmCampos IF LEN(@pmCriterio)>0 BEGIN SET @pmQry=@pmQry + ' WHERE ' + @pmCriterio END EXECUTE (@pmQry) RETURN END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO CREATE PROCEDURE Pa_Agregar (@pmTabla VARCHAR(50),@pmCampos VARCHAR(1000),@pmValores VARCHAR(2000)) AS BEGIN Declare @pmQry VARCHAR(2000) SET @pmQry='' SET @pmQry=@pmQry + 'INSERT INTO '+ @pmTabla+' ' SET @pmQry=@pmQry + '('+ @pmCampos+') VALUES ' SET @pmQry=@pmQry + '('+ @pmValores+')' EXECUTE (@pmQry) RETURN END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO CREATE PROCEDURE Pa_Eliminar (@pmTabla VARCHAR(50),@pmCriterio VARCHAR(500)) AS BEGIN Declare @pmQry VARCHAR(500) SET @pmQry='' SET @pmQry=@pmQry + 'DELETE FROM '+ @pmTabla IF LEN(@pmCriterio)>0 BEGIN SET @pmQry=@pmQry +' WHERE ' + @pmCriterio END EXECUTE (@pmQry) RETURN END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO CREATE PROCEDURE Pa_InsertSelect (@pmDB VARCHAR(50), @pmOwn VARCHAR(50), @pmTabla VARCHAR(50), @pmCampos VARCHAR(1000), @pmQuery VARCHAR(2000)) AS BEGIN Declare @pmQry VARCHAR(2500) SET @pmQry='' SET @pmQry=@pmQry + 'INSERT INTO '+ @pmDB + '.'+ @pmOwn +'.'+@pmTabla SET @pmQry=@pmQry + ' ('+ @pmCampos+') '+ @pmQuery EXECUTE (@pmQry) RETURN END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO CREATE PROCEDURE Pa_Query (@pmCampos VARCHAR(3500), @pmTabla VARCHAR(1500), @pmCriterio VARCHAR(2000), @pmOrden VARCHAR(200), @pmGroup VARCHAR(500), @pmHaving VARCHAR(100)) AS BEGIN Declare @pmQry VARCHAR(7800) SET @pmQry='' SET @pmQry=@pmQry + 'SELECT '+ @pmCampos + ' FROM ' + @pmTabla IF Len(@pmCriterio)>0 BEGIN SET @pmQry=@pmQry + ' WHERE '+ @pmCriterio END IF Len(@pmGroup)>0 BEGIN SET @pmQry=@pmQry + ' GROUP BY ' + @pmGroup END IF Len(@pmHaving)>0 BEGIN SET @pmQry=@pmQry + ' HAVING '+ @pmHaving END IF Len(@pmOrden)>0 BEGIN SET @pmQry=@pmQry + ' ORDER BY '+ @pmOrden END EXECUTE (@pmQry) RETURN END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO