CREATE TABLE M_POS_KUPCI
(
  ID                NUMERIC       NOT NULL,
  SIFRA             VARCHAR2(15)  NOT NULL,
  NAZIV             VARCHAR2(80)  NOT NULL,
  MB                VARCHAR2(13)          ,
  ADRESA            VARCHAR2(40)  NOT NULL,
  POSTANSKI_BROJ    VARCHAR2(5)   NOT NULL,
  GRAD              VARCHAR2(40)  NOT NULL,
  ODGOVORNA_OSOBA   VARCHAR2(40)          ,
  TELEFON           VARCHAR2(30)          ,
  FAKS              VARCHAR2(30)          ,
  EMAIL             VARCHAR2(40)          ,
  URL               VARCHAR2(50)          ,
  VERZIJA           NUMERIC               ,
  UNOS_KORISNIK     VARCHAR2(30)          ,
  UNOS_DATUM        DATE                  ,
  IZMJENA_KORISNIK  VARCHAR2(30)          ,
  IZMJENA_DATUM     DATE                  ,
  CONSTRAINT M_POS_KUP_PK PRIMARY KEY (ID)
);
CREATE UNIQUE INDEX M_POS_KUP_UK ON M_POS_KUPCI
(SIFRA);


CREATE TABLE M_POS_GRUPE_KASA
(
  ID                NUMERIC        NOT NULL,
  SIFRA             VARCHAR2(20)  NOT NULL,
  NAZIV             VARCHAR2(40)          ,
  VERZIJA           NUMERIC                ,
  UNOS_KORISNIK     VARCHAR2(30)          ,
  UNOS_DATUM        DATE                  ,
  IZMJENA_KORISNIK  VARCHAR2(30)          ,
  IZMJENA_DATUM     DATE                  ,
  CONSTRAINT M_POS_GKAS_PK PRIMARY KEY (ID)
);
CREATE UNIQUE INDEX M_POS_GKAS_UK ON M_POS_GRUPE_KASA
(SIFRA);



CREATE TABLE M_POS_KASE
(
  ID                        NUMERIC                      NOT NULL,
  NAZIV                     VARCHAR2(40)                 NOT NULL,
  SIFRA                     VARCHAR2(20)                 NOT NULL,
  ID_GRUPE_KASA             NUMERIC                              ,
  DEFAULT_SMJESTAJNI_OBJEKT VARCHAR2(10)                         ,
  GODINA                    VARCHAR2(20)                         ,
  DATUM                     DATE                                 ,
  DEFAULT_CJENIK            VARCHAR2(20)                         ,
  JEDAN_CJENIK_PO_RACUNU    VARCHAR2(1)   DEFAULT ('Y')  NOT NULL,
  DEFAULT_VRSTA_NAPLATE     VARCHAR2(20)                         ,
  JEDNA_NAPLATA_PO_RACUNU   VARCHAR2(1)   DEFAULT ('Y')  NOT NULL,
  TECAJ                     NUMERIC(15,8)                         ,
  KOREKCIJA_TECAJA          NUMERIC(5,4)                          ,
  VALUTA                    VARCHAR2(3)                          ,
  DOMACA_VALUTA             VARCHAR2(3)                          ,
  PRIKAZ_PROTUVRIJEDNOSTI   VARCHAR2(1)   DEFAULT ('N')  NOT NULL,
  DOZVOLJEN_UNOS            VARCHAR2(1)   DEFAULT ('N')  NOT NULL,
  MAX_BROJ_ISPISA_RACUNA    NUMERIC                               ,
  PRIJAVA_PRI_NAPLATI       VARCHAR2(1)   DEFAULT ('Y')  NOT NULL,
  NARUDZBE_UZ_NAPLATU       VARCHAR2(1)   DEFAULT ('Y')  NOT NULL,
  NARUDZBE_UZ_IZLAZ         VARCHAR2(1)   DEFAULT ('Y')  NOT NULL,
  PRIJENOS_OTVORENIH        VARCHAR2(1)   DEFAULT ('N')  NOT NULL,
  GAS_ID            NUMERIC                              ,
  AKTIVNO                   VARCHAR2(1)   DEFAULT ('Y')  NOT NULL,
  VERZIJA                   NUMERIC                               ,
  UNOS_KORISNIK             VARCHAR2(30)                         ,
  UNOS_DATUM                DATE                                 ,
  IZMJENA_KORISNIK          VARCHAR2(30)                         ,
  IZMJENA_DATUM             DATE                                 ,
  CONSTRAINT M_POS_KAS_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_KAS_1_CK CHECK ( AKTIVNO in ('Y','N') ),
  CONSTRAINT M_POS_KAS_2_CK CHECK ( DOZVOLJEN_UNOS in ('Y','N') ),
  CONSTRAINT M_POS_KAS_3_CK CHECK ( JEDAN_CJENIK_PO_RACUNU in ('Y','N') ),
  CONSTRAINT M_POS_KAS_4_CK CHECK ( PRIKAZ_PROTUVRIJEDNOSTI in ('Y','N') ),
  CONSTRAINT M_POS_KAS_5_CK CHECK ( JEDNA_NAPLATA_PO_RACUNU in ('Y','N') ),
  CONSTRAINT M_POS_KAS_6_CK CHECK ( NARUDZBE_UZ_NAPLATU in ('Y','N') ),
  CONSTRAINT M_POS_KAS_7_CK CHECK ( NARUDZBE_UZ_IZLAZ in ('Y','N') ),
  CONSTRAINT M_POS_KAS_8_CK CHECK ( PRIJAVA_PRI_NAPLATI in ('Y','N') ),
  CONSTRAINT M_POS_KAS_9_CK CHECK ( PRIJENOS_OTVORENIH in ('Y','N') ),
  CONSTRAINT M_POS_KAS_GKAS_FK FOREIGN KEY (ID_GRUPE_KASA) REFERENCES M_POS_GRUPE_KASA (ID)
);
CREATE UNIQUE INDEX M_POS_KAS_UK ON M_POS_KASE
(SIFRA);
CREATE INDEX M_POS_KAS_GKAS_FK_I ON M_POS_KASE
(ID_GRUPE_KASA);

CREATE TABLE M_POS_PRINT_PARAMETRI
(
  ID_KASE            NUMERIC          NOT NULL,
  RACUN_HEADER       VARCHAR2(2000)          ,
  RACUN_FOOTER       VARCHAR2(2000)          ,
  VERZIJA            NUMERIC                  ,
  UNOS_KORISNIK      VARCHAR2(30)            ,
  UNOS_DATUM         DATE                    ,
  IZMJENA_KORISNIK   VARCHAR2(30)            ,
  IZMJENA_DATUM      DATE                    ,
  CONSTRAINT M_POS_PPAR_PK PRIMARY KEY (ID_KASE),
  CONSTRAINT M_POS_PPAR_KAS_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID)
);



CREATE TABLE M_POS_KONOBARI
(
  ID                NUMERIC                       NOT NULL,
  ID_KASE           NUMERIC                       NOT NULL,
  SIFRA             VARCHAR2(20)                 NOT NULL,
  IME               VARCHAR2(40)                 NOT NULL,
  LOZINKA           VARCHAR2(40)                 NOT NULL,
  GAS_ID            NUMERIC                              ,
  AKTIVNO           VARCHAR2(1)   DEFAULT ('Y')  NOT NULL,
  VERZIJA           NUMERIC                               ,
  UNOS_KORISNIK     VARCHAR2(30)                         ,
  UNOS_DATUM        DATE                                 ,
  IZMJENA_KORISNIK  VARCHAR2(30)                         ,
  IZMJENA_DATUM     DATE                                 ,
  CONSTRAINT M_POS_KON_1_CK CHECK ( AKTIVNO in ('Y','N') ),
  CONSTRAINT M_POS_KON_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_KON_KAS_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID)
);
CREATE UNIQUE INDEX M_POS_KON_1_UK ON M_POS_KONOBARI
(ID_KASE, SIFRA);
CREATE INDEX M_POS_KON_KAS_FK_I ON M_POS_KONOBARI
(ID_KASE);
CREATE INDEX M_POS_KON_1_I ON M_POS_KONOBARI
(ID_KASE, LOZINKA);



CREATE TABLE M_POS_KONOBARI_LOZINKE
(
  ID                NUMERIC                       NOT NULL,
  ID_KONOBARA       NUMERIC                       NOT NULL,
  LOZINKA           VARCHAR2(40)                  NOT NULL,
  VERZIJA           NUMERIC                               ,
  UNOS_KORISNIK     VARCHAR2(30)                          ,
  UNOS_DATUM        DATE                                  ,
  IZMJENA_KORISNIK  VARCHAR2(30)                          ,
  IZMJENA_DATUM     DATE                                  ,
  CONSTRAINT M_POS_KONLOZ_PK PRIMARY KEY (ID)             ,
  CONSTRAINT M_POS_KONLOZ_KON_FK FOREIGN KEY (ID_KONOBARA) REFERENCES M_POS_KONOBARI (ID)
);
CREATE UNIQUE INDEX M_POS_KONLOZ_1_UK ON M_POS_KONOBARI_LOZINKE
(LOZINKA);
CREATE INDEX M_POS_KONLOZ_1_I ON M_POS_KONOBARI_LOZINKE
(ID_KONOBARA, LOZINKA);



CREATE TABLE M_POS_AKCIJE_KONOBARA
(
  ID                NUMERIC        NOT NULL,
  ID_KONOBARA       NUMERIC        NOT NULL,
  SIFRA_AKCIJE      VARCHAR2(50)  NOT NULL,
  VERZIJA           NUMERIC                ,
  UNOS_KORISNIK     VARCHAR2(30)          ,
  UNOS_DATUM        DATE                  ,
  IZMJENA_KORISNIK  VARCHAR2(30)          ,
  IZMJENA_DATUM     DATE                  ,
  CONSTRAINT M_POS_AKCKON_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_AKCKON_KON_FK FOREIGN KEY (ID_KONOBARA) REFERENCES M_POS_KONOBARI (ID)
);
CREATE UNIQUE INDEX M_POS_AKCKON_UK ON M_POS_AKCIJE_KONOBARA
(ID_KONOBARA, SIFRA_AKCIJE);
CREATE INDEX M_POS_AKCKON_KON_FK_I ON M_POS_AKCIJE_KONOBARA
(ID_KONOBARA);


CREATE TABLE M_POS_POREZNA_ISPORUKA
(
  ID                        NUMERIC                      NOT NULL,
  ID_KASE                   NUMERIC                      NOT NULL,
  SIFRA                     VARCHAR2(20)                 NOT NULL,
  NAZIV                     VARCHAR2(40)                 NOT NULL,
  STOPA                     NUMERIC(5,2)                         ,
  AKTIVNO                   VARCHAR2(1)   DEFAULT ('Y')  NOT NULL,
  GAS_ID                    NUMERIC                              ,
  VERZIJA                   NUMERIC                              ,
  UNOS_KORISNIK             VARCHAR2(30)                         ,
  UNOS_DATUM                DATE                                 ,
  IZMJENA_KORISNIK          VARCHAR2(30)                         ,
  IZMJENA_DATUM             DATE                                 ,
  CONSTRAINT M_POS_PI_1_CK CHECK ( AKTIVNO in ('Y','N') ),
  CONSTRAINT M_POS_PI_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_PI_UK UNIQUE (ID_KASE, SIFRA),
  CONSTRAINT M_POS_PI_1_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID)
);

CREATE TABLE M_POS_POREZNI_DOGADJAJ
(
  ID                        NUMERIC                      NOT NULL,
  ID_KASE                   NUMERIC                      NOT NULL,
  SIFRA                     VARCHAR2(20)                 NOT NULL,
  NAZIV                     VARCHAR2(40)                 NOT NULL,
  AKTIVNO                   VARCHAR2(1)   DEFAULT ('Y')  NOT NULL,
  GAS_ID                    NUMERIC                              ,
  VERZIJA                   NUMERIC                              ,
  UNOS_KORISNIK             VARCHAR2(30)                         ,
  UNOS_DATUM                DATE                                 ,
  IZMJENA_KORISNIK          VARCHAR2(30)                         ,
  IZMJENA_DATUM             DATE                                 ,
  CONSTRAINT M_POS_PD_1_CK CHECK ( AKTIVNO in ('Y','N') ),
  CONSTRAINT M_POS_PD_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_PD_UK UNIQUE (ID_KASE, SIFRA),
  CONSTRAINT M_POS_PD_1_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID)
);

CREATE TABLE M_POS_PID
(
  ID                        NUMERIC                      NOT NULL,
  POREZNI_DOGADJAJ_ID       NUMERIC                      NOT NULL,
  POCETNA_ISPORUKA_ID       NUMERIC                      NOT NULL,
  ZAVRSNA_ISPORUKA_ID       NUMERIC                      NOT NULL,
  AKTIVNO                   VARCHAR2(1)   DEFAULT ('Y')  NOT NULL,
  VERZIJA                   NUMERIC                              ,
  UNOS_KORISNIK             VARCHAR2(30)                         ,
  UNOS_DATUM                DATE                                 ,
  IZMJENA_KORISNIK          VARCHAR2(30)                         ,
  IZMJENA_DATUM             DATE                                 ,
  CONSTRAINT M_POS_PID_1_CK CHECK ( AKTIVNO in ('Y','N') ),
  CONSTRAINT M_POS_PID_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_PID_UK UNIQUE (POREZNI_DOGADJAJ_ID, POCETNA_ISPORUKA_ID),
  CONSTRAINT M_POS_PID_PD_FK FOREIGN KEY (POREZNI_DOGADJAJ_ID) REFERENCES M_POS_POREZNI_DOGADJAJ (ID),
  CONSTRAINT M_POS_PID_PI_FK FOREIGN KEY (ZAVRSNA_ISPORUKA_ID) REFERENCES M_POS_POREZNA_ISPORUKA (ID)
);



CREATE TABLE M_POS_POREZNE_GRUPE
(
  ID                NUMERIC                       NOT NULL,
  ID_KASE           NUMERIC                       NOT NULL,
  SIFRA             VARCHAR2(20)                 NOT NULL,
  NAZIV             VARCHAR2(40)                 NOT NULL,
  PDV               NUMERIC(5,4)                          ,
  PPOT              NUMERIC(5,4)                          ,
  POC_PI_ID NUMERIC,
  ZAV_PI_ID NUMERIC,
  GAS_ID            NUMERIC                              ,
  AKTIVNO           VARCHAR2(1)   DEFAULT ('Y')  NOT NULL,
  VERZIJA           NUMERIC                               ,
  UNOS_KORISNIK     VARCHAR2(30)                         ,
  UNOS_DATUM        DATE                                 ,
  IZMJENA_KORISNIK  VARCHAR2(30)                         ,
  IZMJENA_DATUM     DATE                                 ,
  CONSTRAINT M_POS_PG_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_PG_3_CK CHECK ( AKTIVNO in ('Y','N') ),
  CONSTRAINT M_POS_PG_1_CK CHECK ( pdv >=  0 ),
  CONSTRAINT M_POS_PG_2_CK CHECK ( ppot >=  0 ),
  CONSTRAINT M_POS_PG_KAS_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID),
  CONSTRAINT M_POS_PG_PI_FK FOREIGN KEY (ZAV_PI_ID) REFERENCES M_POS_POREZNA_ISPORUKA (ID)
);
CREATE UNIQUE INDEX M_POS_PG_UK ON M_POS_POREZNE_GRUPE
(ID_KASE, SIFRA);
CREATE INDEX M_POS_PG_KAS_FK_I ON M_POS_POREZNE_GRUPE
(ID_KASE);
CREATE INDEX M_POS_PG_PI_FK_I ON M_POS_POREZNE_GRUPE
(ZAV_PI_ID);



CREATE TABLE M_POS_GRUPE_ARTIKALA
(
  ID                NUMERIC                      NOT NULL,
  ID_KASE           NUMERIC                      NOT NULL,
  ID_PARENT         NUMERIC                              ,
  SIFRA             VARCHAR(20)                  NOT NULL,
  NAZIV             VARCHAR(40)                  NOT NULL,
  AKTIVNO           VARCHAR2(1)   DEFAULT ('Y')  NOT NULL,
  VERZIJA           NUMERIC                              ,
  UNOS_KORISNIK     VARCHAR2(30)                         ,
  UNOS_DATUM        DATE                                 ,
  IZMJENA_KORISNIK  VARCHAR2(30)                         ,
  IZMJENA_DATUM     DATE                                 ,
  CONSTRAINT M_POS_GA_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_GA_K_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID),
  CONSTRAINT M_POS_GA_PAR_FK FOREIGN KEY (ID_PARENT) REFERENCES M_POS_GRUPE_ARTIKALA (ID),
  CONSTRAINT M_POS_GA_1_CK CHECK ( AKTIVNO in ('Y','N') )
);
CREATE UNIQUE INDEX M_POS_GA_UK ON M_POS_GRUPE_ARTIKALA
(ID_KASE, SIFRA);


CREATE TABLE M_POS_ARTIKLI
(
  ID                 NUMERIC                        NOT NULL,
  ID_KASE            NUMERIC                        NOT NULL,
  ID_GRUPA_ARTIKALA  NUMERIC                                ,
  SIFRA              VARCHAR2(20)                   NOT NULL,
  NAZIV              VARCHAR2(40)                   NOT NULL,
  ID_POREZNE_GRUPE   NUMERIC                        NOT NULL,
  IZMJENJIVA_CIJENA  VARCHAR2(1)   DEFAULT ('N')    NOT NULL,
  POSTOTAK_RACUNA    VARCHAR2(1)   DEFAULT ('N')    NOT NULL,
  GAS_ID            NUMERIC                              ,
  VERZIJA            NUMERIC                                ,
  UNOS_KORISNIK      VARCHAR2(30)                           ,
  UNOS_DATUM         DATE                                   ,
  IZMJENA_KORISNIK   VARCHAR2(30)                           ,
  IZMJENA_DATUM      DATE                                   ,
  CONSTRAINT M_POS_ART_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_ART_1_CK CHECK ( IZMJENJIVA_CIJENA in ('Y','N') ),
  CONSTRAINT M_POS_ART_3_CK CHECK ( POSTOTAK_RACUNA in ('Y','N') ),
  CONSTRAINT M_POS_ART_KAS_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID),
  CONSTRAINT M_POS_ART_PG_FK FOREIGN KEY (ID_POREZNE_GRUPE) REFERENCES M_POS_POREZNE_GRUPE (ID),
  CONSTRAINT M_POS_ART_GA_FK FOREIGN KEY (ID_GRUPA_ARTIKALA) REFERENCES M_POS_GRUPE_ARTIKALA (ID)
);
CREATE UNIQUE INDEX M_POS_ART_UK ON M_POS_ARTIKLI
(ID_KASE, SIFRA);
CREATE INDEX M_POS_ART_KAS_FK_I ON M_POS_ARTIKLI
(ID_KASE);
CREATE INDEX M_POS_ART_PG_FK_I ON M_POS_ARTIKLI
(ID_POREZNE_GRUPE);
CREATE INDEX M_POS_ART_GA_FK_I ON M_POS_ARTIKLI
(ID_GRUPA_ARTIKALA);



CREATE TABLE M_POS_CJENICI
(
  ID                NUMERIC                       NOT NULL,
  ID_KASE           NUMERIC                       NOT NULL,
  SIFRA             VARCHAR2(20)                 NOT NULL,
  NAZIV             VARCHAR2(40)                 NOT NULL,
  GAS_ID            NUMERIC                              ,
  AKTIVNO           VARCHAR2(1)   DEFAULT ('Y')  NOT NULL,
  VERZIJA           NUMERIC                               ,
  UNOS_KORISNIK     VARCHAR2(30)                         ,
  UNOS_DATUM        DATE                                 ,
  IZMJENA_KORISNIK  VARCHAR2(30)                         ,
  IZMJENA_DATUM     DATE                                 ,
  CONSTRAINT M_POS_CJEN_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_CJEN_1_CK CHECK ( AKTIVNO in ('Y','N') ),
  CONSTRAINT M_POS_CJEN_KAS_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID)
);
CREATE UNIQUE INDEX M_POS_CJEN_UK ON M_POS_CJENICI
(ID_KASE, SIFRA);
CREATE INDEX M_POS_CJEN_KAS_FK_I ON M_POS_CJENICI
(ID_KASE);
CREATE INDEX M_POS_CJEN_1_I ON M_POS_CJENICI
(ID_KASE, AKTIVNO);



CREATE TABLE M_POS_CJENICI_KONOBARA
(
  ID                NUMERIC                      NOT NULL,
  ID_CJENIKA        NUMERIC                      NOT NULL,
  ID_KONOBARA       NUMERIC                      NOT NULL,
  VERZIJA           NUMERIC                              ,
  UNOS_KORISNIK     VARCHAR2(30)                        ,
  UNOS_DATUM        DATE                                ,
  IZMJENA_KORISNIK  VARCHAR2(30)                        ,
  IZMJENA_DATUM     DATE                                ,
  CONSTRAINT M_POS_CJENKON_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_CJENKON_CJEN_FK FOREIGN KEY (ID_CJENIKA) REFERENCES M_POS_CJENICI (ID),
  CONSTRAINT M_POS_CJENKON_KON_FK FOREIGN KEY (ID_KONOBARA) REFERENCES M_POS_KONOBARI (ID)
);
CREATE UNIQUE INDEX M_POS_CJENKON_UK ON M_POS_CJENICI_KONOBARA
(ID_CJENIKA, ID_KONOBARA);
CREATE INDEX M_POS_CJENKON_CJEN_FK_I ON M_POS_CJENICI_KONOBARA
(ID_CJENIKA);
CREATE INDEX M_POS_CJENKON_KON_FK_I ON M_POS_CJENICI_KONOBARA
(ID_KONOBARA);


CREATE TABLE M_POS_MJESTA_TROSKA
(
  ID                NUMERIC                       NOT NULL,
  ID_KASE           NUMERIC                       NOT NULL,
  SIFRA             VARCHAR2(20)                 NOT NULL,
  NAZIV             VARCHAR2(40)                 NOT NULL,
  ISPIS_NARUDZBE    VARCHAR2(1)   DEFAULT ('N')  NOT NULL,
  GAS_ID            NUMERIC                              ,
  AKTIVNO           VARCHAR2(1)   DEFAULT ('Y')  NOT NULL,
  VERZIJA           NUMERIC                               ,
  UNOS_KORISNIK     VARCHAR2(30)                         ,
  UNOS_DATUM        DATE                                 ,
  IZMJENA_KORISNIK  VARCHAR2(30)                         ,
  IZMJENA_DATUM     DATE                                 ,
  CONSTRAINT M_POS_MTROS_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_MTROS_1_CK CHECK ( AKTIVNO in ('Y','N') ),
  CONSTRAINT M_POS_MTROS_2_CK CHECK ( ISPIS_NARUDZBE in ('Y', 'N') ),
  CONSTRAINT M_POS_MTROS_KAS_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID)
);
CREATE UNIQUE INDEX M_POS_MTROS_UK ON M_POS_MJESTA_TROSKA
(ID_KASE, SIFRA);
CREATE INDEX M_POS_MTROS_KAS_FK_I ON M_POS_MJESTA_TROSKA
(ID_KASE);


CREATE TABLE M_POS_ARTIKLI_CJENIKA
(
  ID                NUMERIC                      NOT NULL,
  ID_CJENIKA        NUMERIC                      NOT NULL,
  ID_MJESTA_TROSKA  NUMERIC                      NOT NULL,
  ID_ARTIKLA        NUMERIC                      NOT NULL,
  CIJENA            NUMERIC(13,2)                 NOT NULL,
  MAKSIMALAN_POPUST NUMERIC(5,2) DEFAULT (0) NOT NULL,
  OBAVEZAN_POPUST NUMERIC(5,2) DEFAULT (0) NOT NULL,
  AKTIVNO           VARCHAR2(1)  DEFAULT ('Y')  NOT NULL,
  VERZIJA           NUMERIC                              ,
  UNOS_KORISNIK     VARCHAR2(30)                        ,
  UNOS_DATUM        DATE                                ,
  IZMJENA_KORISNIK  VARCHAR2(30)                        ,
  IZMJENA_DATUM     DATE                                ,
  CONSTRAINT M_POS_ARTCJEN_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_ARTCJEN_1_CK CHECK ( AKTIVNO in ('Y','N') ),
  CONSTRAINT M_POS_ARTCJEN_MTROS_FK FOREIGN KEY (ID_MJESTA_TROSKA) REFERENCES M_POS_MJESTA_TROSKA (ID),
  CONSTRAINT M_POS_ARTCJEN_ART_FK FOREIGN KEY (ID_ARTIKLA) REFERENCES M_POS_ARTIKLI (ID),
  CONSTRAINT M_POS_ARTCJEN_CJEN_FK FOREIGN KEY (ID_CJENIKA) REFERENCES M_POS_CJENICI (ID)
);
CREATE UNIQUE INDEX M_POS_ARTCJEN_UK ON M_POS_ARTIKLI_CJENIKA
(ID_CJENIKA, ID_ARTIKLA);
CREATE INDEX M_POS_ARTCJEN_MTROS_FK_I ON M_POS_ARTIKLI_CJENIKA
(ID_MJESTA_TROSKA);
CREATE INDEX M_POS_ARTCJEN_ART_FK_I ON M_POS_ARTIKLI_CJENIKA
(ID_ARTIKLA);
CREATE INDEX M_POS_ARTCJEN_CJEN_FK_I ON M_POS_ARTIKLI_CJENIKA
(ID_CJENIKA);
CREATE INDEX M_POS_ARTCJEN_CJEN_1_I ON M_POS_ARTIKLI_CJENIKA
(ID_CJENIKA, AKTIVNO);



CREATE TABLE M_POS_VRSTE_NAPLATE
(
  ID                NUMERIC                       NOT NULL,
  ID_KASE           NUMERIC                       NOT NULL,
  SIFRA             VARCHAR2(20)                 NOT NULL,
  NAZIV             VARCHAR2(40)                 NOT NULL,
  IRN               NUMERIC                               ,
  OBR               VARCHAR2(1)   DEFAULT ('Y')  NOT NULL,
  OBAVEZNI_PODACI   VARCHAR2(1)   DEFAULT ('Y')  NOT NULL,
  BR_KOPIJA         NUMERIC(1)     DEFAULT (1)    NOT NULL,
  PLUGIN_TIP        NUMERIC                       NOT NULL,
  GAS_ID            NUMERIC                              ,
  VERZIJA           NUMERIC                               ,
  UNOS_KORISNIK     VARCHAR2(30)                         ,
  UNOS_DATUM        DATE                                 ,
  IZMJENA_KORISNIK  VARCHAR2(30)                         ,
  IZMJENA_DATUM     DATE                                 ,
  CONSTRAINT M_POS_VNAP_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_VNAP_KAS_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID)
);
CREATE UNIQUE INDEX M_POS_VNAP_UK ON M_POS_VRSTE_NAPLATE
(ID_KASE, SIFRA);
CREATE INDEX M_POS_VNAP_KAS_FK_I ON M_POS_VRSTE_NAPLATE
(ID_KASE);



CREATE TABLE M_POS_CJENICI_VN
(
  ID                NUMERIC                       NOT NULL,
  ID_CJENIKA        NUMERIC                       NOT NULL,
  ID_VRSTE_NAPLATE  NUMERIC                       NOT NULL,
  AKTIVNO           VARCHAR2(1)   DEFAULT ('Y')  NOT NULL,
  VERZIJA           NUMERIC                               ,
  UNOS_KORISNIK     VARCHAR2(30)                         ,
  UNOS_DATUM        DATE                                 ,
  IZMJENA_KORISNIK  VARCHAR2(30)                         ,
  IZMJENA_DATUM     DATE                                 ,
  CONSTRAINT M_POS_CJENVN_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_CJENVN_1_CK CHECK ( AKTIVNO in ('Y','N') ),
  CONSTRAINT M_POS_CJENVN_CJEN_FK FOREIGN KEY (ID_CJENIKA) REFERENCES M_POS_CJENICI (ID),
  CONSTRAINT M_POS_CJENVN_VNAP_FK FOREIGN KEY (ID_VRSTE_NAPLATE) REFERENCES M_POS_VRSTE_NAPLATE (ID)
);
CREATE UNIQUE INDEX M_POS_CJENVN_UK ON M_POS_CJENICI_VN
(ID_CJENIKA, ID_VRSTE_NAPLATE);
CREATE INDEX M_POS_CJENVN_CJEN_FK_I ON M_POS_CJENICI_VN
(ID_CJENIKA);
CREATE INDEX M_POS_CJENVN_VNAP_FK_I ON M_POS_CJENICI_VN
(ID_VRSTE_NAPLATE);



CREATE TABLE M_POS_GRUPE_STAVAKA
(
  ID                NUMERIC                   NOT NULL,
  ID_KASE           NUMERIC                   NOT NULL,
  NAZIV             VARCHAR2(40)             NOT NULL,
  VERZIJA           NUMERIC                           ,
  UNOS_KORISNIK     VARCHAR2(30)                     ,
  UNOS_DATUM        DATE                             ,
  IZMJENA_KORISNIK  VARCHAR2(30)                     ,
  IZMJENA_DATUM     DATE                             ,
  CONSTRAINT M_POS_GSTAV_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_GSTAV_KAS_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID)
);
CREATE UNIQUE INDEX M_POS_GSTAV_UK ON M_POS_GRUPE_STAVAKA
(ID_KASE, NAZIV);
CREATE INDEX M_POS_GSTAV_KAS_FK_I ON M_POS_GRUPE_STAVAKA
(ID_KASE);



CREATE TABLE T_POS_RACUNI
(
  ID                 INT                         NOT NULL,
  GODINA             INT                         NOT NULL,
  REDNI_BROJ_NARUDZBE  INT                       NOT NULL,
  REDNI_BROJ_RACUNA    INT                               ,
  ID_KASE            INT                         NOT NULL,
  ID_CJENIKA         INT                         NOT NULL,
  ID_KONOBARA        INT                         NOT NULL,
  BROJ_ISPISA        NUMERIC                     NOT NULL,
  DATUM_I_VRIJEME    DATE                        NOT NULL,
  ID_STORNA          NUMERIC                             ,
  ID_TARGET          NUMERIC                             ,
  DATUM              DATE                        NOT NULL,
  STOL               NUMERIC                     NOT NULL,
  KONOBAR_PODACI     VARCHAR2(100)                       ,
  DOMACA_VALUTA      VARCHAR2(3)                         ,
  STRANA_VALUTA      VARCHAR2(3)                         ,
  TECAJ              NUMERIC(13,10)                      ,
  BROJ_GOSTIJU       NUMERIC        DEFAULT (1)  NOT NULL,
  POREZNI_DOGADJAJ_ID NUMERIC,
  VERZIJA            NUMERIC                             ,
  UNOS_KORISNIK      VARCHAR2(30)                        ,
  UNOS_DATUM         DATE                                ,
  IZMJENA_KORISNIK   VARCHAR2(30)                        ,
  IZMJENA_DATUM      DATE                                ,
  CONSTRAINT T_POS_RAC_PK PRIMARY KEY (ID),
  CONSTRAINT T_POS_RAC_KAS_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID),
  CONSTRAINT T_POS_RAC_KON_FK FOREIGN KEY (ID_KONOBARA) REFERENCES M_POS_KONOBARI (ID),
  CONSTRAINT T_POS_RAC_CJEN_FK FOREIGN KEY (ID_CJENIKA) REFERENCES M_POS_CJENICI (ID),
  CONSTRAINT T_POS_RAC_PD_FK FOREIGN KEY (POREZNI_DOGADJAJ_ID) REFERENCES M_POS_POREZNI_DOGADJAJ (ID)
);
CREATE UNIQUE INDEX T_POS_RAC_UK ON T_POS_RACUNI
(ID_KASE, GODINA, REDNI_BROJ_NARUDZBE);
CREATE INDEX T_POS_RAC_KAS_FK_I ON T_POS_RACUNI
(ID_KASE);
CREATE INDEX T_POS_RAC_KON_FK_I ON T_POS_RACUNI
(ID_KONOBARA);
CREATE INDEX T_POS_RAC_CJEN_FK_I ON T_POS_RACUNI
(ID_CJENIKA);
CREATE INDEX T_POS_RAC_KAS_KON_I ON T_POS_RACUNI
(ID_KASE, ID_KONOBARA);
CREATE INDEX T_POS_RAC_KAS_CJEN_I ON T_POS_RACUNI
(ID_KASE, ID_CJENIKA);
CREATE INDEX T_POS_RAC_SVI_I ON T_POS_RACUNI
(ID_KASE, GODINA);
CREATE INDEX T_POS_RAC_STOR_I ON T_POS_RACUNI
(ID_KASE, GODINA, ID_STORNA);



CREATE TABLE T_POS_NAPLATE_RACUNA
(
  ID                NUMERIC          NOT NULL,
  ID_RACUNA         NUMERIC          NOT NULL,
  ID_CJENICI_VN     NUMERIC          NOT NULL,
  IZNOS             NUMERIC(13,2)     NOT NULL,
  POPUST            NUMERIC(13,2)     NOT NULL,
  BROJ_GOSTIJU      NUMERIC          NOT NULL,
  VERZIJA           NUMERIC                  ,
  UNOS_KORISNIK     VARCHAR2(30)            ,
  UNOS_DATUM        DATE                    ,
  IZMJENA_KORISNIK  VARCHAR2(30)            ,
  IZMJENA_DATUM     DATE                    ,
  CONSTRAINT T_POS_NAP_PK PRIMARY KEY (ID),
  CONSTRAINT T_POS_NAP_RAC_FK FOREIGN KEY (ID_RACUNA) REFERENCES T_POS_RACUNI (ID),
  CONSTRAINT T_POS_NAP_CJENVN_FK FOREIGN KEY (ID_CJENICI_VN) REFERENCES M_POS_CJENICI_VN (ID)
);
CREATE INDEX T_POS_NAP_RAC_CJENVN_I ON T_POS_NAPLATE_RACUNA
(ID_RACUNA, ID_CJENICI_VN);
CREATE INDEX T_POS_NAP_RAC_FK_I ON T_POS_NAPLATE_RACUNA
(ID_RACUNA);
CREATE INDEX T_POS_NAP_CJENVN_FK_I ON T_POS_NAPLATE_RACUNA
(ID_CJENICI_VN);



CREATE TABLE T_POS_DETALJI_NAPLATE
(
  ID                 NUMERIC         NOT NULL,
  ID_NAPLATE_RACUNA  NUMERIC         NOT NULL,
  NAZIV              VARCHAR2(255)  NOT NULL,
  VRIJEDNOST         VARCHAR2(255)          ,
  VERZIJA            NUMERIC                 ,
  UNOS_KORISNIK      VARCHAR2(30)           ,
  UNOS_DATUM         DATE                   ,
  IZMJENA_KORISNIK   VARCHAR2(30)           ,
  IZMJENA_DATUM      DATE                   ,
  CONSTRAINT T_POS_DNAP_PK PRIMARY KEY (ID),
  CONSTRAINT T_POS_DNAP_NAP_FK FOREIGN KEY (ID_NAPLATE_RACUNA) REFERENCES T_POS_NAPLATE_RACUNA (ID)
);
CREATE INDEX T_POS_DNAP_NAP_NAZ_I ON T_POS_DETALJI_NAPLATE
(ID_NAPLATE_RACUNA, NAZIV);
CREATE INDEX T_POS_DNAP_NAP_FK_I ON T_POS_DETALJI_NAPLATE
(ID_NAPLATE_RACUNA);



CREATE TABLE T_POS_STAVKE
(
  ID                  NUMERIC                      NOT NULL,
  ID_RACUNA           NUMERIC                      NOT NULL,
  REDNI_BROJ          NUMERIC                      NOT NULL,
  ID_ARTIKAL_CJENIKA  NUMERIC                      NOT NULL,
  KOLICINA            NUMERIC(13,3)                NOT NULL,
  JEDINICNA_CIJENA    NUMERIC(13,2)                NOT NULL,
  POSLANA_NARUDZBA    VARCHAR2(1)   DEFAULT ('N')  NOT NULL,
  ID_STORNA           NUMERIC                              ,
  KOMENTAR            VARCHAR2(200)                        ,
  SLIKOVNI_KOMENTAR   BLOB                                 ,
  NAZIV               VARCHAR2(200)                        ,
  OSNOVICA_ZA_POREZ   NUMERIC(21,10)                        ,
  PDV_POSTOTAK        NUMERIC(5,4)                         ,
  PDV                 NUMERIC(21,10)                        ,
  PPOT_POSTOTAK       NUMERIC(5,4)                         ,
  PPOT                NUMERIC(21,10)                        ,
  GRUPA_STAVAKA       VARCHAR2(200)                        ,
  POSTOTAK_RACUNA     NUMERIC(13,2)                        ,
  POREZNA_ISPORUKA_ID NUMERIC,
  POPUST_POSTOTAK NUMERIC(5,4),
  POPUST NUMERIC(13,2),
  JEDINICNA_CIJENA_ORIGINAL NUMERIC(13,2) DEFAULT (0) NOT NULL,
  VERZIJA             NUMERIC                              ,
  UNOS_KORISNIK       VARCHAR2(30)                         ,
  UNOS_DATUM          DATE                                 ,
  IZMJENA_KORISNIK    VARCHAR2(30)                         ,
  IZMJENA_DATUM       DATE                                 ,
  CONSTRAINT T_POS_STAV_PK PRIMARY KEY (ID),
  CONSTRAINT T_POS_STAV_CK CHECK ( POSLANA_NARUDZBA IN ('Y', 'N') ),
  CONSTRAINT T_POS_STAV_RAC_FK FOREIGN KEY (ID_RACUNA) REFERENCES T_POS_RACUNI (ID),
  CONSTRAINT T_POS_STAV_ARTCJEN_FK FOREIGN KEY (ID_ARTIKAL_CJENIKA) REFERENCES M_POS_ARTIKLI_CJENIKA (ID),
  CONSTRAINT T_POS_STAV_PI_FK FOREIGN KEY (POREZNA_ISPORUKA_ID) REFERENCES M_POS_POREZNA_ISPORUKA (ID)
);
CREATE UNIQUE INDEX T_POS_STAV_UK ON T_POS_STAVKE
(ID_RACUNA, REDNI_BROJ);
CREATE INDEX T_POS_STAV_RAC_FK_I ON T_POS_STAVKE
(ID_RACUNA);
CREATE INDEX T_POS_STAV_ARTCJEN_FK_I ON T_POS_STAVKE
(ID_ARTIKAL_CJENIKA);



CREATE TABLE M_POS_MENU_SLOJ
(
  ID                NUMERIC                      NOT NULL,
  ID_KASE           NUMERIC                      NOT NULL,
  NAZIV             VARCHAR2(20)                NOT NULL,
  SIRINA            NUMERIC                      NOT NULL,
  VISINA            NUMERIC                      NOT NULL,
  REDOSLJED         NUMERIC                      NOT NULL,
  TIP	            NUMERIC      DEFAULT (0)    NOT NULL,
  BGCOLOR           NUMERIC                              ,
  FGCOLOR           NUMERIC                              ,
  VERZIJA           NUMERIC                              ,
  UNOS_KORISNIK     VARCHAR2(30)                        ,
  UNOS_DATUM        DATE                                ,
  IZMJENA_KORISNIK  VARCHAR2(30)                        ,
  IZMJENA_DATUM     DATE                                ,
  CONSTRAINT M_POS_MSLOJ_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_MSLOJ_KAS_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID)
);
CREATE INDEX M_POS_MSLOJ_KAS_FK_I ON M_POS_MENU_SLOJ
(ID_KASE);
CREATE INDEX M_POS_MSLOJ_KAS_1_I ON M_POS_MENU_SLOJ
(ID_KASE, TIP);



CREATE TABLE M_POS_MENU_ITEM
(
  ID                    NUMERIC        NOT NULL,
  ID_MENU_SLOJ          NUMERIC        NOT NULL,
  POS_X                 NUMERIC                ,
  POS_Y                 NUMERIC                ,
  BGCOLOR               NUMERIC                ,
  FGCOLOR               NUMERIC                ,
  MENU_NAZIV            VARCHAR2(40)   NOT NULL,
  IMAGE                 BLOB                   ,
  VERZIJA               NUMERIC                ,
  UNOS_KORISNIK         VARCHAR2(30)           ,
  UNOS_DATUM            DATE                   ,
  IZMJENA_KORISNIK      VARCHAR2(30)           ,
  IZMJENA_DATUM         DATE                   ,
  CONSTRAINT M_POS_MITEM_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_MITEM_MSLOJ_FK FOREIGN KEY (ID_MENU_SLOJ) REFERENCES M_POS_MENU_SLOJ (ID)
);
CREATE INDEX M_POS_MITEM_MSLOJ_FK_I ON M_POS_MENU_ITEM
(ID_MENU_SLOJ);



CREATE TABLE M_POS_MENU_ARTIKAL
(
  ID_ITEM     NUMERIC   NOT NULL,
  ID_ARTIKLA  NUMERIC  NOT NULL,
  CONSTRAINT M_POS_MART_PK PRIMARY KEY (ID_ITEM),
  CONSTRAINT M_POS_MART_MITEM_FK FOREIGN KEY (ID_ITEM) REFERENCES M_POS_MENU_ITEM (ID)
);


CREATE TABLE M_POS_MENU_FUNKCIJE
(
  ID_ITEM  NUMERIC        NOT NULL,
  SIFRA    VARCHAR2(50)   NOT NULL,
  AKCIJA    VARCHAR2(255)         ,
  CONSTRAINT M_POS_MFUNK_PK PRIMARY KEY (ID_ITEM),
  CONSTRAINT M_POS_MFUNK_MITEM_FK FOREIGN KEY (ID_ITEM) REFERENCES M_POS_MENU_ITEM (ID)
);


CREATE TABLE M_POS_KEYBOARD_ITEM
(
  ID                NUMERIC       NOT NULL,
  ID_KASE           NUMERIC       NOT NULL,
  KEY               VARCHAR2(40)  NOT NULL,
  VERZIJA           NUMERIC               ,
  UNOS_KORISNIK     VARCHAR2(30)          ,
  UNOS_DATUM        DATE                  ,
  IZMJENA_KORISNIK  VARCHAR2(30)          ,
  IZMJENA_DATUM     DATE                  ,
  CONSTRAINT M_POS_KITEM_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_KITEM_KAS_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID)
);
CREATE INDEX M_POS_KITEM_KAS_FK_I ON M_POS_KEYBOARD_ITEM
(ID_KASE);



CREATE TABLE M_POS_KEYBOARD_ARTIKAL
(
  ID_ITEM     NUMERIC   NOT NULL,
  ID_ARTIKLA  NUMERIC  NOT NULL,
  CONSTRAINT M_POS_KART_PK PRIMARY KEY (ID_ITEM),
  CONSTRAINT M_POS_KART_KITEM_FK FOREIGN KEY (ID_ITEM) REFERENCES M_POS_KEYBOARD_ITEM (ID)
);

CREATE TABLE M_POS_KEYBOARD_FUNKCIJA
(
  ID_ITEM    NUMERIC        NOT NULL,
  SIFRA      VARCHAR2(50)   NOT NULL,
  PARAMETAR  VARCHAR2(255)          ,
  CONSTRAINT M_POS_KFUNK_PK PRIMARY KEY (ID_ITEM),
  CONSTRAINT M_POS_KFUNK_KITEM_FK FOREIGN KEY (ID_ITEM) REFERENCES M_POS_KEYBOARD_ITEM (ID)
);


CREATE TABLE T_POS_RACUNI_BROJAC
(
  ID_KASE     NUMERIC  NOT NULL,
  NEXT_VALUE  NUMERIC  NOT NULL,
  CONSTRAINT T_POS_RACBROJ_PK PRIMARY KEY (ID_KASE),
  CONSTRAINT T_POS_RACBROJ_KAS_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID)
);
CREATE UNIQUE INDEX T_POS_RACBROJ_UK ON T_POS_RACUNI_BROJAC
(ID_KASE, NEXT_VALUE);


CREATE TABLE T_POS_NARUDZBE_BROJAC
(
  ID_KASE     NUMERIC  NOT NULL,
  NEXT_VALUE  NUMERIC  NOT NULL,
  CONSTRAINT T_POS_NARBROJ_PK PRIMARY KEY (ID_KASE),
  CONSTRAINT T_POS_NARBROJ_KAS_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID)
);
CREATE UNIQUE INDEX T_POS_NARBROJ_UK ON T_POS_NARUDZBE_BROJAC
(ID_KASE, NEXT_VALUE);


CREATE TABLE T_POS_PORUKE
(
  ID                NUMERIC        NOT NULL,
  ID_KASE           NUMERIC        NOT NULL,
  TEKST             VARCHAR2(200)  NOT NULL,
  CLASS             VARCHAR2(200)  NOT NULL,
  VERZIJA           NUMERIC                ,
  UNOS_KORISNIK     VARCHAR2(30)           ,
  UNOS_DATUM        DATE                   ,
  IZMJENA_KORISNIK  VARCHAR2(30)           ,
  IZMJENA_DATUM     DATE                   ,
  CONSTRAINT T_POS_POR_PK PRIMARY KEY (ID),
  CONSTRAINT T_POS_POR_KAS_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID)
);
CREATE UNIQUE INDEX T_POS_POR_UK ON T_POS_PORUKE
(ID_KASE, TEKST, CLASS);
CREATE INDEX T_POS_POR_KAS_FK_I ON T_POS_PORUKE
(ID_KASE);


CREATE TABLE M_POS_CHRON_JOB
(
  ID                  NUMERIC                       NOT NULL,
  ID_KASE             NUMERIC                       NOT NULL,
  NAZIV               VARCHAR2(200)                 NOT NULL,
  VRIJEME             DATE                          NOT NULL,
  PERIOD              NUMERIC                               ,
  CONSUMES            NUMERIC                               ,
  AKTIVNO             VARCHAR2(1)    DEFAULT ('Y')  NOT NULL,
  VERZIJA             NUMERIC                               ,
  UNOS_KORISNIK       VARCHAR2(30)                          ,
  UNOS_DATUM          DATE                                  ,
  IZMJENA_KORISNIK    VARCHAR2(30)                          ,
  IZMJENA_DATUM       DATE                                  ,
  CONSTRAINT M_POS_CJ_PK PRIMARY KEY (ID)                   ,
  CONSTRAINT M_POS_CJ_1_CK CHECK ( AKTIVNO in ('Y','N') )   ,
  CONSTRAINT M_POS_CJ_KAS_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID)
);
CREATE INDEX M_POS_CJ_KAS_FK_I ON M_POS_CHRON_JOB
(ID_KASE);


CREATE TABLE M_POS_CHRON_OBJECT
(
  ID                NUMERIC        NOT NULL,
  ID_CHRON_JOB      NUMERIC        NOT NULL,
  INDEKS            NUMERIC        NOT NULL,
  SIFRA             VARCHAR2(40)   NOT NULL,
  NAZIV             VARCHAR2(200)  NOT NULL,
  VERZIJA           NUMERIC                ,
  UNOS_KORISNIK     VARCHAR2(30)           ,
  UNOS_DATUM        DATE                   ,
  IZMJENA_KORISNIK  VARCHAR2(30)           ,
  IZMJENA_DATUM     DATE                   ,
  CONSTRAINT M_POS_CO_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_CO_CJ_FK FOREIGN KEY (ID_CHRON_JOB) REFERENCES M_POS_CHRON_JOB (ID)
);
CREATE UNIQUE INDEX M_POS_CO_UK ON M_POS_CHRON_OBJECT
(ID_CHRON_JOB, INDEKS);
CREATE INDEX M_POS_CO_CJ_FK_I ON M_POS_CHRON_OBJECT
(ID_CHRON_JOB);


CREATE TABLE M_POS_VNS
(
  ID                NUMERIC        NOT NULL,
  ID_KASE           NUMERIC        NOT NULL,
  ID_VRSTANAPLATE   NUMERIC        NOT NULL,
  SLIKA             BLOB           NOT NULL,
  VERZIJA           NUMERIC                ,
  UNOS_KORISNIK     VARCHAR2(30)           ,
  UNOS_DATUM        DATE                   ,
  IZMJENA_KORISNIK  VARCHAR2(30)           ,
  IZMJENA_DATUM     DATE                   ,
  CONSTRAINT M_POS_VNS_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_VNS_K_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID),
  CONSTRAINT M_POS_VNS_VN_FK FOREIGN KEY (ID_VRSTANAPLATE) REFERENCES M_POS_VRSTE_NAPLATE (ID)
);
CREATE UNIQUE INDEX M_POS_VNS_UK ON M_POS_VNS
(ID_KASE, ID_VRSTANAPLATE);
CREATE INDEX M_POS_VNS_K_FK_I ON M_POS_VNS
(ID_KASE);
CREATE INDEX M_POS_VNS_VN_FK_I ON M_POS_VNS
(ID_VRSTANAPLATE);

CREATE TABLE M_POS_PARAMETAR
(
  ID NUMERIC NOT NULL,
  KEY VARCHAR2(255) NOT NULL,
  VALUE VARCHAR2(255),
  VERZIJA NUMERIC,
  UNOS_KORISNIK VARCHAR2(30),
  UNOS_DATUM DATE,
  IZMJENA_KORISNIK VARCHAR2(30),
  IZMJENA_DATUM DATE,
  CONSTRAINT M_POS_PARAM_PK PRIMARY KEY (ID)
) ;
CREATE UNIQUE INDEX M_POS_PARAM_UK ON M_POS_PARAMETAR
(KEY);

CREATE SEQUENCE HIBERNATE_SEQUENCE INCREMENT BY 1 START WITH 1 MINVALUE 0 NOCYCLE NOCACHE NOORDER;

///skripte od 1 nadalje
CREATE TABLE M_POS_OMAN_SCANCODEAKCIJE
(
  ID                NUMERIC        NOT NULL,
  ID_KASE           NUMERIC        NOT NULL,
  SCANCODE          NUMERIC        NOT NULL,
  AKCIJA            VARCHAR2(50)   NOT NULL,
  VERZIJA           NUMERIC                ,
  UNOS_KORISNIK     VARCHAR2(30)           ,
  UNOS_DATUM        DATE                   ,
  IZMJENA_KORISNIK  VARCHAR2(30)           ,
  IZMJENA_DATUM     DATE                   ,
  CONSTRAINT M_POS_OMAN_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_OMAN_K_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID)
);
CREATE UNIQUE INDEX M_POS_OMAN_UK ON M_POS_OMAN_SCANCODEAKCIJE
(ID_KASE, SCANCODE);
CREATE INDEX M_POS_OMAN_K_FK_I ON M_POS_OMAN_SCANCODEAKCIJE
(ID_KASE);


ALTER TABLE M_POS_KASE ADD BROJ_ISPISA_KOREKCIJA NUMERIC DEFAULT (0) NOT NULL;
ALTER TABLE M_POS_KASE ADD IZVOZ_PRI_ZATVARANJU VARCHAR2(1) DEFAULT ('Y')  NOT NULL;
ALTER TABLE M_POS_KASE ADD CONSTRAINT M_POS_KAS_10_CK CHECK ( IZVOZ_PRI_ZATVARANJU in ('Y','N') );

CREATE TABLE M_POS_OMAN_LOZINKE
(
  ID                NUMERIC        NOT NULL,
  ID_KONOBARA       NUMERIC        NOT NULL,
  LOZINKA           VARCHAR2(10)   NOT NULL,
  VERZIJA           NUMERIC                ,
  UNOS_KORISNIK     VARCHAR2(30)           ,
  UNOS_DATUM        DATE                   ,
  IZMJENA_KORISNIK  VARCHAR2(30)           ,
  IZMJENA_DATUM     DATE                   ,
  CONSTRAINT M_POS_OMAN_L_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_OMAN_L_KON_FK FOREIGN KEY (ID_KONOBARA) REFERENCES M_POS_KONOBARI (ID)
);
CREATE INDEX M_POS_OMAN_L_FK_K ON M_POS_OMAN_LOZINKE
(ID_KONOBARA);

ALTER TABLE T_POS_RACUNI ADD NAPOMENA VARCHAR2(1000);

ALTER TABLE M_POS_KASE ADD DEFAULT_OJ VARCHAR2(10);

CREATE INDEX T_POS_RAC_PD_FK_I ON T_POS_RACUNI
(POREZNI_DOGADJAJ_ID);

CREATE INDEX M_POS_PID_ZPI_FK_I ON M_POS_PID
(ZAVRSNA_ISPORUKA_ID);

CREATE INDEX M_POS_GA_PAR_FK_I ON M_POS_GRUPE_ARTIKALA
(ID_PARENT);

CREATE INDEX T_POS_STAV_PI_FK_I ON T_POS_STAVKE
(POREZNA_ISPORUKA_ID);

ALTER TABLE T_POS_STAVKE ADD IZMJENJIVA_CIJENA VARCHAR2(1) DEFAULT('N') NOT NULL;

ALTER TABLE T_POS_STAVKE ADD CONSTRAINT T_POS_STAV_IC_CK CHECK ( IZMJENJIVA_CIJENA in ('Y','N') );

ALTER TABLE T_POS_NAPLATE_RACUNA ADD POPUST_POSTOTAK NUMERIC(7,6);

ALTER TABLE T_POS_NAPLATE_RACUNA ADD SREDSTVO_PLA_NAZIV VARCHAR(70);

ALTER TABLE T_POS_RACUNI ADD IZNOS NUMERIC(13,2);

ALTER TABLE T_POS_RACUNI ADD POPUST_POSTOTAK NUMERIC(7,6);

ALTER TABLE T_POS_RACUNI ADD POPUST NUMERIC(13,2);

ALTER TABLE T_POS_RACUNI ADD CJENIK_NAZIV VARCHAR(70);

ALTER TABLE T_POS_RACUNI ADD POREZNI_DOG_NAZIV VARCHAR(70);

ALTER TABLE M_POS_MENU_ARTIKAL ADD ARTIKAL_SIFRA VARCHAR2(20);

CREATE INDEX M_POS_MART_I ON M_POS_MENU_ARTIKAL
(ARTIKAL_SIFRA);

ALTER TABLE M_POS_MENU_ARTIKAL MODIFY ID_ARTIKLA NUMERIC NULL;

ALTER TABLE M_POS_KEYBOARD_ARTIKAL ADD ARTIKAL_SIFRA VARCHAR2(20);

CREATE INDEX M_POS_KART_I ON M_POS_KEYBOARD_ARTIKAL
(ARTIKAL_SIFRA);

ALTER TABLE M_POS_KEYBOARD_ARTIKAL MODIFY ID_ARTIKLA NUMERIC NULL;

ALTER TABLE T_POS_RACUNI ADD CREATOR_ID INT;

CREATE INDEX T_POS_RAC_KON_CRE_FK_I ON T_POS_RACUNI
(CREATOR_ID);

ALTER TABLE T_POS_RACUNI MODIFY CREATOR_ID INT NOT NULL;

ALTER TABLE T_POS_RACUNI ADD CONSTRAINT T_POS_RAC_KON_CRE_FK FOREIGN KEY (CREATOR_ID) REFERENCES M_POS_KONOBARI (ID);

ALTER TABLE M_POS_ARTIKLI ADD BAR_CODE VARCHAR2(20);

ALTER TABLE M_POS_KASE ADD PRIKAZ_BROJA_GOSTIJU VARCHAR2(1) DEFAULT ('N') NOT NULL;

ALTER TABLE M_POS_KASE ADD CONSTRAINT M_POS_KAS_11_CK CHECK ( PRIKAZ_BROJA_GOSTIJU in ('Y','N') );

ALTER TABLE M_POS_ARTIKLI ADD KRACI_NAZIV VARCHAR2(30);

ALTER TABLE M_POS_ARTIKLI ADD ID_KALKULACIJE NUMERIC;

ALTER TABLE T_POS_STAVKE ADD ID_KALKULACIJE NUMERIC;

ALTER TABLE T_POS_STAVKE ADD KRACI_NAZIV VARCHAR2(30);

ALTER TABLE T_POS_RACUNI MODIFY DATUM_I_VRIJEME TIMESTAMP;

ALTER TABLE M_POS_KASE ADD OBAVEZAN_UNOS_BROJA_GOSTIJU VARCHAR2(1) DEFAULT ('N') NOT NULL;

ALTER TABLE M_POS_KASE ADD CONSTRAINT M_POS_KAS_12_CK CHECK ( OBAVEZAN_UNOS_BROJA_GOSTIJU in ('Y','N') );

ALTER TABLE M_POS_KASE ADD OBAVEZAN_UNOS_BROJA_STOLA VARCHAR2(1) DEFAULT ('N') NOT NULL;

ALTER TABLE M_POS_KASE ADD CONSTRAINT M_POS_KAS_13_CK CHECK ( OBAVEZAN_UNOS_BROJA_STOLA in ('Y','N') );

ALTER TABLE M_POS_KASE ADD INTERNA_KASA VARCHAR2(1) DEFAULT ('N') NOT NULL;

ALTER TABLE M_POS_KASE ADD CONSTRAINT M_POS_KAS_14_CK CHECK ( INTERNA_KASA in ('Y','N') );

ALTER TABLE M_POS_KASE ADD RAD_OTVORENIM_RACUNIMA VARCHAR2(1) DEFAULT ('N') NOT NULL;

ALTER TABLE M_POS_KASE ADD CONSTRAINT M_POS_KAS_15_CK CHECK ( RAD_OTVORENIM_RACUNIMA in ('Y','N') );

ALTER TABLE T_POS_RACUNI ADD ID_IZVORA INT;

CREATE INDEX T_POS_RAC_KOP_I ON T_POS_RACUNI
(ID_KASE, GODINA, ID_IZVORA);

ALTER TABLE T_POS_STAVKE ADD GAS_ID INT;

ALTER TABLE M_POS_KASE ADD NAPLATA_NA_DAN_ODLASKA VARCHAR2(1) DEFAULT ('N')  NOT NULL;

CREATE TABLE M_POS_PROTEL_POREZ
(
  ID                        NUMERIC                      NOT NULL,
  STOPA_PDV                 NUMERIC(5,2)                         ,
  STOPA_PPOT                NUMERIC(5,2)                         ,
  SIFRA                     NUMERIC                      NOT NULL,
  VERZIJA                   NUMERIC                              ,
  UNOS_KORISNIK             VARCHAR2(30)                         ,
  UNOS_DATUM                DATE                                 ,
  IZMJENA_KORISNIK          VARCHAR2(30)                         ,
  IZMJENA_DATUM             DATE                                 ,
  CONSTRAINT M_POS_PROTEL_POREZ_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_PROTEL_POREZ_UK UNIQUE (STOPA_PDV, STOPA_PPOT)
);

ALTER TABLE T_POS_RACUNI ADD POPUST_TIP VARCHAR2(20)  DEFAULT ('POSTOTAK')  NOT NULL;

ALTER TABLE T_POS_RACUNI ADD STOPA_POPUST NUMBER(5,2) DEFAULT (0)  NOT NULL;

ALTER TABLE T_POS_RACUNI ADD IZNOS_POPUST NUMBER(12,2) DEFAULT (0)  NOT NULL;

ALTER TABLE T_POS_RACUNI ADD TOTAL NUMBER(12,2) DEFAULT (0)  NOT NULL;

ALTER TABLE T_POS_NAPLATE_RACUNA ADD POPUST_TIP VARCHAR2(20) DEFAULT ('POSTOTAK')  NOT NULL;

ALTER TABLE T_POS_NAPLATE_RACUNA ADD STOPA_POPUST NUMBER(5,2) DEFAULT (0)  NOT NULL;

ALTER TABLE T_POS_NAPLATE_RACUNA ADD IZNOS_POPUST NUMBER(12,2) DEFAULT (0)  NOT NULL;

ALTER TABLE T_POS_NAPLATE_RACUNA ADD TOTAL NUMBER(12,2) DEFAULT (0)  NOT NULL;

ALTER TABLE T_POS_STAVKE ADD IZNOS NUMBER(12,2) DEFAULT (0)  NOT NULL;

ALTER TABLE T_POS_STAVKE ADD IZNOS_POPUST NUMBER(12,2) DEFAULT (0)  NOT NULL;

ALTER TABLE T_POS_STAVKE ADD IZNOS_PDV NUMBER(12,2) DEFAULT (0)  NOT NULL;

ALTER TABLE T_POS_STAVKE ADD IZNOS_PPOT NUMBER(12,2) DEFAULT (0)  NOT NULL;

ALTER TABLE T_POS_STAVKE ADD STOPA_POPUST_MAX NUMBER(12,2) DEFAULT (0)  NOT NULL;

ALTER TABLE T_POS_STAVKE ADD STOPA_POPUST NUMBER(5,2) DEFAULT (0)  NOT NULL;

ALTER TABLE T_POS_STAVKE ADD STOPA_PDV NUMBER(5,2) DEFAULT (0)  NOT NULL;

ALTER TABLE T_POS_STAVKE ADD STOPA_PPOT NUMBER(5,2) DEFAULT (0)  NOT NULL;

ALTER TABLE T_POS_NAPLATE_RACUNA MODIFY IZNOS DEFAULT (0);

ALTER TABLE T_POS_NAPLATE_RACUNA MODIFY POPUST DEFAULT (0);

ALTER TABLE T_POS_NAPLATE_RACUNA MODIFY POPUST_POSTOTAK DEFAULT (0);

ALTER TABLE T_POS_RACUNI MODIFY IZNOS DEFAULT (0);

ALTER TABLE T_POS_RACUNI MODIFY POPUST DEFAULT (0);

ALTER TABLE T_POS_RACUNI MODIFY POPUST_POSTOTAK DEFAULT (0);

ALTER TABLE T_POS_RACUNI ADD STORNO_TIP VARCHAR(20)  DEFAULT ''  NULL;

ALTER TABLE M_POS_KASE ADD PRIKAZ_OSNOVICE_NA_RACUNU VARCHAR2(1) DEFAULT ('Y') NOT NULL;

ALTER TABLE M_POS_KUPCI ADD OIB VARCHAR2(11);

ALTER TABLE T_POS_STAVKE ADD MJESTO_TROSKA_GAS_ID INT;

ALTER TABLE T_POS_STAVKE ADD MJESTO_TROSKA_SIFRA VARCHAR2(20);

ALTER TABLE T_POS_STAVKE ADD MJESTO_TROSKA_NAZIV VARCHAR2(40);

ALTER TABLE M_POS_ARTIKLI_CJENIKA
ADD (CONSTRAINT M_POS_ARTCJEN_UK UNIQUE
(ID_CJENIKA
,ID_ARTIKLA));

ALTER TABLE M_POS_GRUPE_KASA
ADD (CONSTRAINT M_POS_GKAS_UK UNIQUE
(SIFRA));

ALTER TABLE M_POS_CHRON_OBJECT
ADD (CONSTRAINT M_POS_CO_UK UNIQUE
(ID_CHRON_JOB
,INDEKS));

ALTER TABLE M_POS_PARAMETAR
ADD (CONSTRAINT M_POS_PARAM_UK UNIQUE
(KEY));

ALTER TABLE M_POS_KUPCI
ADD (CONSTRAINT M_POS_KUP_UK UNIQUE
(SIFRA));

ALTER TABLE T_POS_NARUDZBE_BROJAC
ADD (CONSTRAINT T_POS_NARBROJ_UK UNIQUE
(ID_KASE
,NEXT_VALUE));

ALTER TABLE M_POS_CJENICI_VN
ADD (CONSTRAINT M_POS_CJENVN_UK UNIQUE
(ID_CJENIKA
,ID_VRSTE_NAPLATE));

ALTER TABLE M_POS_CJENICI_KONOBARA
ADD (CONSTRAINT M_POS_CJENKON_UK UNIQUE
(ID_CJENIKA
,ID_KONOBARA));

ALTER TABLE M_POS_AKCIJE_KONOBARA
ADD (CONSTRAINT M_POS_AKCKON_UK UNIQUE
(ID_KONOBARA
,SIFRA_AKCIJE));

ALTER TABLE M_POS_VRSTE_NAPLATE
ADD (CONSTRAINT M_POS_VNAP_UK UNIQUE
(ID_KASE
,SIFRA));

ALTER TABLE M_POS_CJENICI
ADD (CONSTRAINT M_POS_CJEN_UK UNIQUE
(ID_KASE
,SIFRA));

ALTER TABLE M_POS_KASE
ADD (CONSTRAINT M_POS_KAS_UK UNIQUE
(SIFRA));

ALTER TABLE M_POS_GRUPE_STAVAKA
ADD (CONSTRAINT M_POS_GSTAV_UK UNIQUE
(ID_KASE
,NAZIV));

ALTER TABLE M_POS_POREZNE_GRUPE
ADD (CONSTRAINT M_POS_PG_UK UNIQUE
(ID_KASE
,SIFRA));

ALTER TABLE M_POS_MJESTA_TROSKA
ADD (CONSTRAINT M_POS_MTROS_UK UNIQUE
(ID_KASE
,SIFRA));


ALTER TABLE M_POS_VNS
ADD (CONSTRAINT M_POS_VNS_UK UNIQUE
(ID_KASE
,ID_VRSTANAPLATE));

ALTER TABLE T_POS_PORUKE
ADD (CONSTRAINT T_POS_POR_UK UNIQUE
(ID_KASE
,TEKST
,CLASS));

ALTER TABLE M_POS_ARTIKLI
ADD (CONSTRAINT M_POS_ART_UK UNIQUE
(ID_KASE
,SIFRA));

ALTER TABLE T_POS_RACUNI
ADD (CONSTRAINT T_POS_RAC_UK UNIQUE
(ID_KASE
,GODINA
,REDNI_BROJ_NARUDZBE));

ALTER TABLE M_POS_OMAN_SCANCODEAKCIJE
ADD (CONSTRAINT M_POS_OMAN_UK UNIQUE
(ID_KASE
,SCANCODE));

ALTER TABLE T_POS_STAVKE
ADD (CONSTRAINT T_POS_STAV_UK UNIQUE
(ID_RACUNA
,REDNI_BROJ));

ALTER TABLE M_POS_GRUPE_ARTIKALA
ADD (CONSTRAINT M_POS_GA_UK UNIQUE
(ID_KASE
,SIFRA));

ALTER TABLE M_POS_KONOBARI
ADD (CONSTRAINT M_POS_KON_1_UK UNIQUE
(ID_KASE
,SIFRA));

ALTER TABLE T_POS_RACUNI_BROJAC
ADD (CONSTRAINT T_POS_RACBROJ_UK UNIQUE
(ID_KASE
,NEXT_VALUE));

CREATE TABLE M_POS_OMAN_GRUPE_ARTIKALA
(
  ID                NUMERIC        NOT NULL,
  ID_KASE           NUMERIC        NOT NULL,
  NAZIV             VARCHAR2(40)          ,
  SCANCODE          NUMERIC        NOT NULL,
  VERZIJA           NUMERIC                ,
  UNOS_KORISNIK     VARCHAR2(30)          ,
  UNOS_DATUM        DATE                  ,
  IZMJENA_KORISNIK  VARCHAR2(30)          ,
  IZMJENA_DATUM     DATE                  ,
  CONSTRAINT M_POS_OM_GART_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_GART_KAS_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID)
);

CREATE TABLE M_POS_OMAN_GRUPE_ARTIKALA_VEZA
(
  ID                NUMERIC        NOT NULL,
  ID_GRUPE_ARTIKALA NUMERIC        NOT NULL,
  ID_ARTIKLA_CJENIKA  NUMERIC  NOT NULL,
  CONSTRAINT M_POS_GART_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_GART_GRUPART_FK FOREIGN KEY (ID_GRUPE_ARTIKALA) REFERENCES M_POS_OMAN_GRUPE_ARTIKALA(ID),
  CONSTRAINT M_POS_GART_ART_FK FOREIGN KEY (ID_ARTIKLA_CJENIKA) REFERENCES M_POS_ARTIKLI_CJENIKA(ID)
);

ALTER TABLE M_POS_OMAN_SCANCODEAKCIJE ADD TIP VARCHAR2(20) DEFAULT 'ARTIKAL'  NOT NULL;

ALTER TABLE M_POS_MENU_SLOJ ADD VELICINA_FONTA NUMBER(*,0) DEFAULT (12) NOT NULL;

ALTER TABLE M_POS_MENU_ITEM ADD VELICINA_FONTA NUMBER(*,0) DEFAULT (12) NOT NULL;

ALTER TABLE M_POS_MENU_ITEM ADD DULJINA_JEDNOG_RETKA NUMBER(*,0) DEFAULT (10) NOT NULL;

ALTER TABLE M_POS_KONOBARI ADD OMAN_LOZINKA VARCHAR2(40);

ALTER TABLE M_POS_MENU_ITEM ADD FONT_BOLD  VARCHAR2(1) DEFAULT ('N') NOT NULL;

ALTER TABLE M_POS_MENU_SLOJ ADD FONT_BOLD  VARCHAR2(1) DEFAULT ('N') NOT NULL;

ALTER TABLE M_POS_OMAN_SCANCODEAKCIJE ADD BUTTON_TEXT VARCHAR2(2400);

ALTER TABLE M_POS_OMAN_SCANCODEAKCIJE ADD BUTTON_TEXT_SIZE NUMBER(*,0) DEFAULT (6) NOT NULL;

ALTER TABLE M_POS_OMAN_SCANCODEAKCIJE ADD BUTTON_TEXT_BOLD_STATE VARCHAR2(2)  DEFAULT ('N') NOT NULL;

ALTER TABLE M_POS_OMAN_SCANCODEAKCIJE ADD BUTTON_COLOR NUMBER(*,0);

ALTER TABLE M_POS_OMAN_SCANCODEAKCIJE ADD BUTTON_TEXT_CENTERED_STATE VARCHAR2(2)  DEFAULT ('N') NOT NULL;

ALTER TABLE M_POS_MENU_ARTIKAL ADD PARAMETAR INTEGER;

ALTER TABLE T_POS_STAVKE ADD RASPODJELA_KOLICINA INTEGER;

ALTER TABLE T_POS_STAVKE MODIFY RASPODJELA_KOLICINA DEFAULT 0;

CREATE TABLE L_POS_RACUNI_FISK
(
  ID                NUMERIC        NOT NULL,
  ID_RACUNA         NUMERIC        NOT NULL,
  ID_FISK_PORUKE    VARCHAR2(36)           ,
  DATUM_I_VRIJEME_OBRADE TIMESTAMP         ,
  SIFRA_GRESKE      VARCHAR2(4)            ,
  PORUKA            VARCHAR2(500)          ,
  VERZIJA           NUMERIC                ,
  UNOS_KORISNIK     VARCHAR2(30)           ,
  UNOS_DATUM        DATE                   ,
  IZMJENA_KORISNIK  VARCHAR2(30)           ,
  IZMJENA_DATUM     DATE                   ,
  CONSTRAINT M_POS_FISK_UK UNIQUE (ID_FISK_PORUKE),
  CONSTRAINT M_POS_FISK_PK PRIMARY KEY (ID),
  CONSTRAINT M_POS_FISK_RN_FK FOREIGN KEY (ID_RACUNA) REFERENCES T_POS_RACUNI (ID)
);

CREATE INDEX M_POS_FISK_RN_FK_I ON L_POS_RACUNI_FISK (ID_RACUNA);

ALTER TABLE M_POS_KASE ADD POSL_POSTOR VARCHAR2(11);
ALTER TABLE M_POS_KASE ADD OIB VARCHAR2(11);
ALTER TABLE M_POS_KASE ADD U_SUSTAVU_PDV VARCHAR2(1) DEFAULT ('N') NOT NULL;
ALTER TABLE M_POS_KASE ADD FISKALIZACIJA DATE;

ALTER TABLE M_POS_KONOBARI ADD OIB VARCHAR2(11);

ALTER TABLE M_POS_VRSTE_NAPLATE ADD FISKALIZACIJA VARCHAR2(1) DEFAULT ('N') NOT NULL;

ALTER TABLE T_POS_RACUNI ADD OIB_KONOBARA VARCHAR2(11);
ALTER TABLE T_POS_RACUNI ADD JIR VARCHAR2(36);
ALTER TABLE T_POS_RACUNI ADD ZASTITNI_KOD VARCHAR2(32);
ALTER TABLE T_POS_RACUNI ADD PARAGON VARCHAR2(100);

ALTER TABLE T_POS_NAPLATE_RACUNA ADD SREDSTVO_PLA_SIFRA VARCHAR2(20);

ALTER TABLE M_POS_POREZNA_ISPORUKA ADD SZMP_SIFRA VARCHAR2(20);

ALTER TABLE M_POS_KASE ADD ISPIS_GRUPE_STAVAKA VARCHAR2(1) DEFAULT ('N') NOT NULL;

ALTER TABLE M_POS_KASE ADD UNOS_STORNO_NAPOMENE VARCHAR2(1) DEFAULT ('Y') NOT NULL;

ALTER TABLE T_POS_STAVKE ADD STORNO_TIP VARCHAR2(10)  DEFAULT ''  NULL;

ALTER TABLE T_POS_STAVKE ADD VRIJEME_DODAVANJA TIMESTAMP NULL;

ALTER TABLE T_POS_STAVKE ADD IZVOR_ID NUMERIC NULL;

ALTER TABLE T_POS_RACUNI ADD VRIJEME_OTVARANJA TIMESTAMP NULL;

ALTER TABLE M_POS_VRSTE_NAPLATE ADD REDOSLJED NUMERIC DEFAULT (100) NOT NULL;

CREATE INDEX T_POS_RAC_KAS_RBR_I ON T_POS_RACUNI
(ID_KASE, REDNI_BROJ_RACUNA);

ALTER TABLE M_POS_KASE ADD VISE_KORISNIKA_PO_STOLU VARCHAR(1) DEFAULT ('N') NOT NULL;

CREATE INDEX T_POS_RAC_KAS_DAT_I ON T_POS_RACUNI
(ID_KASE, DATUM);

CREATE INDEX T_POS_STAV_RAC_POSL_I ON T_POS_STAVKE
(ID_RACUNA, POSLANA_NARUDZBA);

ALTER TABLE M_POS_KASE MODIFY(PRIKAZ_PROTUVRIJEDNOSTI DEFAULT 'N');

ALTER TABLE M_POS_KASE MODIFY(IZVOZ_PRI_ZATVARANJU DEFAULT 'Y');

ALTER TABLE M_POS_KASE MODIFY(BROJ_ISPISA_KOREKCIJA DEFAULT 1);

ALTER TABLE M_POS_ARTIKLI ADD POVRATNA_NAKNADA NUMERIC(5,2) DEFAULT (0) NOT NULL;

ALTER TABLE T_POS_STAVKE ADD POVRATNA_NAKNADA NUMERIC(5,2) DEFAULT (0) NOT NULL;


CREATE TABLE L_POS_LOG
(
ID                        NUMERIC                      NOT NULL,
ID_KASE                   NUMERIC                      NOT NULL,
NAZIV                     VARCHAR2(80)                         ,
NAZIV_KONOBARA            VARCHAR2(80)                         ,
UNOS_DATUM                DATE                                 ,
LOG                       VARCHAR2(1000)                       ,
CONSTRAINT L_POS_LOG_PK PRIMARY KEY (ID),
CONSTRAINT L_POS_LOG_KAS_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID)
);

CREATE INDEX T_POS_RACUNI_XDP ON  T_POS_RACUNI (ID_KASE,REDNI_BROJ_RACUNA,ID_STORNA,REDNI_BROJ_NARUDZBE);

CREATE INDEX T_POS_RACUNI_GOD_BRN ON  T_POS_RACUNI (GODINA,REDNI_BROJ_NARUDZBE);

ALTER TABLE M_POS_OMAN_GRUPE_ARTIKALA_VEZA ADD REDOSLJED NUMERIC DEFAULT (0) NOT NULL;

ALTER TABLE M_POS_ARTIKLI ADD KNJIGOVODSTVENA_GRUPA VARCHAR2(2);
ALTER TABLE T_POS_STAVKE ADD KNJIGOVODSTVENA_GRUPA VARCHAR2(2);

ALTER TABLE M_POS_CJENICI ADD MJESTO_PRIHODA VARCHAR2(10);
ALTER TABLE T_POS_RACUNI ADD MJESTO_PRIHODA VARCHAR2(10);

CREATE TABLE M_POS_KASA_PARAMETRI
(
ID                        NUMERIC                      NOT NULL,
ID_KASE                   NUMERIC                      NOT NULL,
TIP                      VARCHAR2(20)                 NOT NULL,
KEY                       VARCHAR2(80)                 NOT NULL,
VALUE                     VARCHAR2(200)                         ,
CONSTRAINT M_POS_KP_PK PRIMARY KEY (ID),
CONSTRAINT M_POS_KP_KAS_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID)
);


ALTER TABLE T_POS_RACUNI ADD EXPORT_VANJSKI_SUSTAV VARCHAR2(1)  DEFAULT ('Y')  NOT NULL;

ALTER TABLE T_POS_RACUNI MODIFY EXPORT_VANJSKI_SUSTAV DEFAULT ('N');

ALTER TABLE M_POS_KASE ADD OFLINE VARCHAR2(1)  DEFAULT ('N')  NOT NULL;

CREATE INDEX L_POS_LOG_NAZ_I ON L_POS_LOG
(ID_KASE, NAZIV);

CREATE INDEX L_POS_LOG_DAT_I ON L_POS_LOG
(ID_KASE, UNOS_DATUM);

CREATE INDEX L_POS_LOG_NAZ_DAT_I ON L_POS_LOG
(ID_KASE, NAZIV, UNOS_DATUM);

ALTER TABLE M_POS_POREZNI_DOGADJAJ ADD OPIS VARCHAR2(40) DEFAULT '';

CREATE TABLE T_POS_INTERNET_TICKETI
(
ID                        NUMERIC             NOT NULL,
ID_KASE                   NUMERIC             NOT NULL,
ID_SO                     NUMERIC             ,
ID_RACUNA                 NUMERIC             ,
ID_STAVKE                 NUMERIC             ,
ID_GOSTA                  NUMERIC             ,
REDNI_BROJ_NARUDZBE       NUMERIC             ,
DATUM_ZAHTJEVA            DATE                NOT NULL,
DATUM_ISTEKA              TIMESTAMP (6)       ,
TRAJANJE                  NUMERIC             ,
KONOBAR                   VARCHAR2(30)        NOT NULL,
GODINA                    VARCHAR2(4)         NOT NULL,
USERNAME                  VARCHAR2(20)        NOT NULL,
PASSWORD                  VARCHAR2(20)        NOT NULL,
NAPOMENA                  VARCHAR2(240)       ,
CONSTRAINT T_POS_TIC_PK PRIMARY KEY (ID),
CONSTRAINT T_POS_TIC_KAS_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID)
);

CREATE INDEX T_POS_INT_KAS_I ON T_POS_INTERNET_TICKETI
(ID_KASE);

CREATE INDEX T_POS_INT_RAC_I ON T_POS_INTERNET_TICKETI
(ID_RACUNA);

CREATE INDEX T_POS_INT_KAS_RAC_I ON T_POS_INTERNET_TICKETI
(ID_KASE, ID_RACUNA);


ALTER TABLE L_POS_LOG ADD TIP VARCHAR2(20);

ALTER TABLE L_POS_LOG ADD DATUM_VRIJEME TIMESTAMP(6) ;


CREATE INDEX L_POS_LOG_NAZ_TIP_I ON L_POS_LOG
(ID_KASE, NAZIV, TIP);

CREATE INDEX L_POS_LOG_NAZ_TIP_DAT_I ON L_POS_LOG
(ID_KASE, NAZIV, TIP,DATUM_VRIJEME);


ALTER TABLE M_POS_ARTIKLI ADD TEHNOLOSKA_GRUPA VARCHAR2(40);

ALTER TABLE M_POS_ARTIKLI ADD PARAMETAR VARCHAR2(100) default '';

ALTER TABLE T_POS_STAVKE ADD PARAMETAR VARCHAR2(100) default '';

ALTER TABLE M_POS_KASA_PARAMETRI MODIFY VALUE VARCHAR2(2000) default '';

CREATE TABLE M_POS_KOMPONENTE_STOLA
(
ID                        NUMERIC             NOT NULL,
ID_KASE                   NUMERIC             NOT NULL,
BROJ_STOLA                NUMERIC             ,
BROJ_STOLICA              NUMERIC             ,
X                         NUMERIC             NOT NULL,
Y                         NUMERIC             NOT NULL,
WIDTH                     NUMERIC             ,
HEIGHT                    NUMERIC             ,
TIP                       VARCHAR2(30)        NOT NULL,
LAYOUT                    VARCHAR2(30)        ,
BG_COLOR                  NUMERIC             ,
CONSTRAINT M_POS_KOMP_PK PRIMARY KEY (ID),
CONSTRAINT M_POS_KOMP_KAS_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID)
);

CREATE INDEX M_POS_KOMP_KAS_I ON M_POS_KOMPONENTE_STOLA
(ID_KASE);

CREATE INDEX M_POS_KOMP_BR_I ON M_POS_KOMPONENTE_STOLA
(BROJ_STOLA);

CREATE INDEX M_POS_KOMP_KAS_XY_I ON M_POS_KOMPONENTE_STOLA
(ID_KASE, X,Y);

CREATE INDEX T_POS_KOMP_KAS_BR_I ON M_POS_KOMPONENTE_STOLA
(ID_KASE, BROJ_STOLA);

ALTER TABLE M_POS_CHRON_JOB ADD SIFRA VARCHAR(40);

ALTER TABLE M_POS_CHRON_JOB ADD PARAMETAR VARCHAR2(250) DEFAULT '';

ALTER TABLE M_POS_CHRON_JOB ADD TIP_PONAVLJANJA VARCHAR2(30) DEFAULT '';

ALTER TABLE M_POS_CHRON_JOB ADD DANI_PONAVLJANJA VARCHAR2(30) DEFAULT '';

ALTER TABLE M_POS_CHRON_JOB ADD  VRIJEME_ZAVRSAVA DATE;


CREATE UNIQUE INDEX M_POS_CJ_UK ON M_POS_CHRON_JOB
(ID_KASE, NAZIV,VRIJEME);

alter table m_pos_chron_job add constraint M_POS_CJ_UK unique (ID_KASE, NAZIV,VRIJEME);

ALTER TABLE T_POS_STAVKE ADD ID_REZERVACIJE NUMERIC;

ALTER TABLE T_POS_STAVKE ADD ID_TERAPEUTA NUMERIC;

ALTER TABLE T_POS_STAVKE ADD  PREUZETA_CIJENA NUMERIC(13,2);

ALTER TABLE T_POS_STAVKE ADD IME_PREZIME_TERAPEUTA VARCHAR(40);


ALTER TABLE M_POS_KASE ADD FISK_SUSTAV VARCHAR2(20);

ALTER TABLE M_POS_KONOBARI ADD FOREIGN_OPERATOR VARCHAR2(1) DEFAULT ('N')  NOT NULL;

ALTER TABLE T_POS_RACUNI ADD FOREIGN_OPERATOR VARCHAR2(1) DEFAULT ('N')  NOT NULL;

ALTER TABLE T_POS_RACUNI ADD PARAGON_SI VARCHAR2(20);

ALTER TABLE T_POS_RACUNI ADD PARAGON_SET VARCHAR2(2);

ALTER TABLE T_POS_RACUNI ADD PARAGON_SERIJA VARCHAR2(12);

CREATE TABLE L_POS_LOG_PRINT
(
ID                        NUMERIC                      NOT NULL,
ID_KASE                   NUMERIC                      NOT NULL,
ID_RACUNA                 NUMERIC                      NOT NULL,
RBR_RACUNA                INTEGER                      NOT NULL,
TIP                       VARCHAR2(20)                         ,
BR_PRIMJERAKA             NUMERIC                      NOT NULL,
NAZIV_KONOBARA            VARCHAR2(80)                         ,
DATUM_KASE                DATE                         ,
DATUM_I_VRIJEME_PRINTA    TIMESTAMP(6)                         ,
DATUM_I_VRIJEME_RACUNA    TIMESTAMP(6)                         ,
NAPOMENA                  VARCHAR2(1000)                       ,
CONSTRAINT L_POS_LOG_pr_PK PRIMARY KEY (ID),
CONSTRAINT L_POS_LOG_KAS_PR_FK FOREIGN KEY (ID_KASE) REFERENCES M_POS_KASE (ID),
CONSTRAINT L_POS_LOG_RC_PR_FK FOREIGN KEY (ID_RACUNA) REFERENCES T_POS_RACUNI (ID)
);


CREATE INDEX L_POS_PR_LOG_ID_RC_I ON L_POS_LOG_PRINT
(ID_KASE, ID_RACUNA);

CREATE INDEX L_POS_LOG_PR_TIP_I ON L_POS_LOG_PRINT
(ID_KASE, TIP);

CREATE INDEX L_POS_LOG_PR_TIP_DAT_I ON L_POS_LOG_PRINT
(ID_KASE, TIP, DATUM_KASE);

CREATE INDEX L_POS_LOG_PR_PRINT_DAT_I ON L_POS_LOG_PRINT
(ID_KASE, TIP, DATUM_I_VRIJEME_PRINTA);

ALTER TABLE M_POS_KASE ADD LOY_SUSTAV VARCHAR2(1) DEFAULT ('N')  NOT NULL;

ALTER TABLE T_POS_RACUNI ADD LOYALTY_BROJ VARCHAR2(20);

ALTER TABLE T_POS_RACUNI ADD LOYALTY_IME_PREZIME VARCHAR2(42);

ALTER TABLE M_POS_KASE ADD CENTRALNI_KONOBARI VARCHAR2(1) DEFAULT ('N')  NOT NULL;

ALTER TABLE M_POS_PRINT_PARAMETRI ADD IMAGE_60 BLOB;

ALTER TABLE M_POS_PRINT_PARAMETRI ADD IMAGE_80 BLOB;

ALTER TABLE M_POS_PRINT_PARAMETRI ADD IMAGE_A4 BLOB;

ALTER TABLE M_POS_PRINT_PARAMETRI ADD KORISTI_IMAGE_60 VARCHAR2(1) DEFAULT ('N')  NOT NULL;

ALTER TABLE M_POS_PRINT_PARAMETRI ADD KORISTI_IMAGE_80 VARCHAR2(1) DEFAULT ('N')  NOT NULL;

ALTER TABLE M_POS_PRINT_PARAMETRI ADD KORISTI_IMAGE_A4 VARCHAR2(1) DEFAULT ('N')  NOT NULL;

ALTER TABLE M_POS_PRINT_PARAMETRI ADD KORISTI_ZAGLAVLJE_60 VARCHAR2(1) DEFAULT ('Y')  NOT NULL;

ALTER TABLE M_POS_PRINT_PARAMETRI ADD KORISTI_ZAGLAVLJE_80 VARCHAR2(1) DEFAULT ('Y')  NOT NULL;

ALTER TABLE M_POS_PRINT_PARAMETRI ADD KORISTI_ZAGLAVLJE_A4 VARCHAR2(1) DEFAULT ('Y')  NOT NULL;

INSERT INTO M_POS_PARAMETAR (ID, KEY, VALUE, VERZIJA) VALUES (1, 'version', '42', 1);



