
/******************************************************************************/
/*                                   Tables                                   */
/******************************************************************************/



CREATE TABLE MGOST_CONFIGURACION (
    CONFIGURACION_ID    INTEGER NOT NULL,
    SERIE_COTIZACION    VARCHAR(9),
    ALMACEN_COTIZACION  INTEGER,
    SERIE_OC            VARCHAR(9),
    ALMACEN_OC          INTEGER
);


CREATE TABLE MGOST_FOLIOS (
    FOLIO_ID          INTEGER NOT NULL,
    FOLIO_ORDEN_SERV  NUMERIC(18,0) DEFAULT 1
);


CREATE TABLE MGOST_MECANICOS (
    MECANICO_ID  INTEGER NOT NULL,
    NOMBRE       VARCHAR(50)
);


CREATE TABLE MGOST_OC (
    OC_ID              INTEGER NOT NULL,
    ORDEN_SERVICIO_ID  INTEGER,
    FOLIO_OC           VARCHAR(9),
    FOLIO_PEDIDO       VARCHAR(9)
);


CREATE TABLE MGOST_ORDENES_SERVICIOS (
    ORDEN_SERVICIO_ID       INTEGER NOT NULL,
    FOLIO                   NUMERIC(18,0),
    FECHA                   DATE,
    FECHA_HORA_RECEPCION    TIMESTAMP,
    CLIENTE_ID              INTEGER,
    MARCA                   VARCHAR(50),
    TIPO                    VARCHAR(50),
    ANNO                    VARCHAR(50),
    PLACAS                  VARCHAR(50),
    VEHICULO                VARCHAR(50),
    KILOMETRAJE             FLOAT,
    IMPRESO                 SI_NO_N DEFAULT 'N',
    OBSERVACIONES           VARCHAR(200),
    OBSERVACIONES_MECANICO  VARCHAR(200),
    ESTATUS                 VARCHAR(20),
    COND_PAGO_ID            INTEGER,
    FECHA_HORA_ASIGNACION   TIMESTAMP,
    MECANICO_ID             INTEGER,
    FECHA_HORA_COTIZACION   TIMESTAMP,
    FOLIO_COTIZACION        VARCHAR(9),
    FECHA_HORA_CREA_PED     TIMESTAMP,
    FECHA_HORA_OC           TIMESTAMP,
    COLOR                   VARCHAR(20),
    CLASIFICACION           VARCHAR(10),
    FECHA_HORA_CIERRE_OS    TIMESTAMP
);


CREATE TABLE MGOST_SERVICIOS (
    SERVICIO_ID        INTEGER NOT NULL,
    ORDEN_SERVICIO_ID  INTEGER NOT NULL,
    ARTICULO_ID        INTEGER NOT NULL,
    MECANICO_ID        INTEGER,
    CANTIDAD           NUMERIC(15,2),
    COSTO              NUMERIC(15,2),
    MARGEN             PORCENTAJE,
    IMPORTE_TOTAL      NUMERIC(15,2),
    PROVEEDOR_ID       INTEGER,
    TIEMPO_ESTIMADO    TIME,
    REVISION           SI_NO_N,
    GEN_COT            SI_NO_N DEFAULT 'N'
);




/******************************************************************************/
/*                                Primary Keys                                */
/******************************************************************************/

ALTER TABLE MGOST_CONFIGURACION ADD CONSTRAINT PK_MGOST_CONFIGURACION PRIMARY KEY (CONFIGURACION_ID);
ALTER TABLE MGOST_FOLIOS ADD CONSTRAINT PK_MGOST_FOLIOS PRIMARY KEY (FOLIO_ID);
ALTER TABLE MGOST_MECANICOS ADD CONSTRAINT PK_MGOST_MECANICOS PRIMARY KEY (MECANICO_ID);
ALTER TABLE MGOST_OC ADD CONSTRAINT PK_MGOST_OC PRIMARY KEY (OC_ID);
ALTER TABLE MGOST_ORDENES_SERVICIOS ADD CONSTRAINT PK_MGOST_ORDENES_SERVICIOS PRIMARY KEY (ORDEN_SERVICIO_ID);
ALTER TABLE MGOST_SERVICIOS ADD CONSTRAINT PK_MGOST_SERVICIOS PRIMARY KEY (SERVICIO_ID);

GRANT ALL ON MGOST_CONFIGURACION TO USUARIO_MICROSIP;
GRANT ALL ON MGOST_FOLIOS TO USUARIO_MICROSIP;
GRANT ALL ON MGOST_MECANICOS TO USUARIO_MICROSIP;
GRANT ALL ON MGOST_OC TO USUARIO_MICROSIP;
GRANT ALL ON MGOST_ORDENES_SERVICIOS TO USUARIO_MICROSIP;
GRANT ALL ON MGOST_SERVICIOS TO USUARIO_MICROSIP;




