-- Create table
create table VANZARI
(
  id_vanzare          NUMBER(10) not null,
  id_util             NUMBER(10) not null,
  dataora             DATE default SYSDATE not null,
  sters               NUMBER(1) default 0 not null,
  id_utils            NUMBER(10),
  dataoras            DATE,
  id_lucrare          NUMBER(10) default 0,
  id_part             NUMBER(10) default 0,
  numar_act           NUMBER(20) default 0,
  nr_persoane         NUMBER(10) default 0,
  nrinmat             VARCHAR2(20),
  facturat            NUMBER(1) default 0 not null,
  data_facturat       DATE,
  id_utilfact         NUMBER(10),
  id_punctvanzare     NUMBER(5) default 0,
  id_comanda          NUMBER(20),
  tip                 NUMBER(2) default 0 not null,
  id_gestiune         NUMBER(20),
  cod                 NUMBER(20),
  id_delegat          NUMBER(20),
  id_masina           NUMBER(20),
  data_act            DATE,
  id_agent            NUMBER(20),
  discount            NUMBER(20,4),
  discount_evidentiat NUMBER(1),
  text_aditional      VARCHAR2(1000),
  in_valuta           NUMBER(1) default 0 not null,
  serie_act           VARCHAR2(10),
  id_sucursala        NUMBER(5),
  id_ruta             NUMBER(10),
  id_sectie           NUMBER(10),
  diftotftva          NUMBER(20,4),
  diftottva           NUMBER(20,4),
  id_vanzare2         VARCHAR2(32),
  dataora_exp         DATE default SYSDATE not null,
  id_fact_descarcat   NUMBER(10),
  dataora_descarcat   DATE,
  id_casa_marcat_z    NUMBER(20),
  afisare_scadenta    NUMBER(1) default 1 not null,
  coeficient_k        NUMBER(5,2),
  id_ordl             NUMBER(10),
  tva_incasare        NUMBER(1) default 0 not null,
  id_facturare        NUMBER(10),
  listare_detaliata   NUMBER(1) default 0,
  discount_tva        NUMBER(20,4),
  valoare_achizitie   NUMBER(20,4),
  total_fara_tva      NUMBER(20,4),
  total_tva           NUMBER(20,4),
  total_cu_tva        NUMBER(20,4),
  serie_incasat       VARCHAR2(10),
  nr_incasat          NUMBER(14),
  suma_incasat        NUMBER(20,4),
  tip_incasat         NUMBER(2),
  avize               VARCHAR2(1000),
  id_valuta           NUMBER(10),
  curs                NUMBER(22,6),
  multiplicator       NUMBER(10),
  id_fact             NUMBER(20),
  data_scad           DATE,
  id_ctr              NUMBER(10),
  valval              NUMBER(20,4),
  tvaval              NUMBER(20,4),
  totval              NUMBER(20,4),
  tip_factura         NUMBER(2),
  id_beneficiar       NUMBER(10),
  eproforma           NUMBER(1) default 0 not null,
  tip_saft            NUMBER(3),
  efactura            NUMBER(1)
)
tablespace ROA
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 128K
    minextents 1
    maxextents unlimited
  );
-- Add comments to the columns 
comment on column VANZARI.id_part
  is 'CLIENT';
comment on column VANZARI.tip
  is 'TIP FACTURA DEFINIT DE PROGRAM';
comment on column VANZARI.id_agent
  is 'AGENT';
comment on column VANZARI.discount
  is 'DISCOUNT FARA TVA';
comment on column VANZARI.discount_evidentiat
  is '1 - DISCOUNTUL PE ARTICOL ESTE EVIDENTIAT;0 - ESTE INCLUS IN PRET';
comment on column VANZARI.id_ruta
  is 'RUTA';
comment on column VANZARI.id_sectie
  is 'SECTIE';
comment on column VANZARI.diftotftva
  is 'diferenta dintre total fara tva de pe factura si cel calculat din vanzari_detalii';
comment on column VANZARI.diftottva
  is 'diferenta dintre total tva de pe factura si cel calculat din vanzari_detalii';
comment on column VANZARI.id_vanzare2
  is 'VANZARI.ID@MAGAZIN';
comment on column VANZARI.id_casa_marcat_z
  is 'CASE_MARCAT.ID_CASA_MARCAT_Z';
comment on column VANZARI.afisare_scadenta
  is 'SE AFISEAZA DATA SCADENTAPE FACTURA';
comment on column VANZARI.id_ordl
  is 'SE COMPLETEAZA DOAR DACA FACTURA ESTE PLATITA DE ASIGURATOR';
comment on column VANZARI.id_facturare
  is 'ADRESA FACTURARE (optional) diferita de cea principala.';
comment on column VANZARI.listare_detaliata
  is '0 = LISTARE CANTITATE CUMULATA PE ARTICOL, 1 = DETALIAT';
comment on column VANZARI.discount_tva
  is 'TVA DISCOUNT (DISCOUNT * MAX(PROC_TVA) ARTICOLE)';
comment on column VANZARI.valoare_achizitie
  is 'VALOARE LA PRET ACHIZITIE IN LEI ARTICOLE -  PENTRU A NU SE MAI SELECTA DIN VANZARI_DETALII';
comment on column VANZARI.total_fara_tva
  is 'TOTAL FARA TVA LEI';
comment on column VANZARI.total_tva
  is 'TOTAL TVA LEI';
comment on column VANZARI.total_cu_tva
  is 'TOTAL CU TVA LEI';
comment on column VANZARI.serie_incasat
  is 'SERIA CHITANTA/BON FISCAL PENTRU FACTURA + CHITANTA/BON FISCAL - PENTRU A NU SE MAI SELECTA DIN ACT';
comment on column VANZARI.nr_incasat
  is 'NR CHITANTA/BON FISCAL PENTRU FACTURA + CHITANTA/BON FISCAL - PENTRU A NU SE MAI SELECTA DIN ACT';
comment on column VANZARI.suma_incasat
  is 'SUMA CHITANTA/BON FISCAL PENTRU FACTURA + CHITANTA/BON FISCAL - PENTRU A NU SE MAI SELECTA DIN ACT';
comment on column VANZARI.tip_incasat
  is '11 = CHITANTA; 2 = BON FISCAL';
comment on column VANZARI.avize
  is 'SERIE/NUMAR AVIZE FACTURATE PENTRU A NU SE MAI SELECTA DIN FACT_VDETALII_AVIZE';
comment on column VANZARI.id_valuta
  is 'MAX(VALUTA) DIN VANZARI_CURSURI -  PENTRU A NU SE MAI SELECTA DIN VANZARI_DETALII - SE PRESUPUNE CA ESTE O SINGURA VALUTA!!!';
comment on column VANZARI.curs
  is 'MAX(CURS) DIN VANZARI_CURSURI -  PENTRU A NU SE MAI SELECTA DIN VANZARI_DETALII - SE PRESUPUNE CA ESTE O SINGURA VALUTA!!!';
comment on column VANZARI.multiplicator
  is 'MAX(MULTIPLICATOR) DIN VANZARI_CURSURI -  PENTRU A NU SE MAI SELECTA DIN VANZARI_DETALII - SE PRESUPUNE CA ESTE O SINGURA VALUTA!!!';
comment on column VANZARI.id_fact
  is 'IREG_PARTENERI.ID_FACT, ACT.ID_FACT PENTRU A NU SE MAI SELECTA DIN ACT';
comment on column VANZARI.id_ctr
  is 'VANZARI_DETALII.ID_CTR - PENTRU A NU SE MAI SELECTA DIN VANZARI_DETALII - SE PRESUPUNE CA ESTE UN SINGUR CONTRACT';
comment on column VANZARI.valval
  is 'TOTAL FARA TVA VALUTA';
comment on column VANZARI.tvaval
  is 'TOTAL TVA VALUTA';
comment on column VANZARI.totval
  is 'TOTAL CU TVA VALUTA';
comment on column VANZARI.tip_factura
  is 'TIP FACTURA DEFINIT DE UTILIZATOR';
comment on column VANZARI.id_beneficiar
  is 'BENEFICIAR. SE COMPLETEAZA DACA BENEFICIARUL ESTE DIFERIT FATA DE CLIENT';
comment on column VANZARI.eproforma
  is 'DACA INREGISTRAREA ESTE PROFORMA';
comment on column VANZARI.tip_saft
  is '380 = FACTURA INITIALA, 381 = FACTURA STORNO, 384 = FACTURA FINALA, 389 = AUTOFACTURA, 751 = FACTURA INFORMATII IN SCOPURI CONTABILE';
comment on column VANZARI.efactura
  is '1 = Se transmite eFactura, 0 - Nu se transmite';
  
-- Create/Recreate primary, unique and foreign key constraints 
alter table VANZARI
  add constraint PK_VANZARI primary key (ID_VANZARE)
  using index 
  tablespace ROA
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
alter table VANZARI
  add constraint FK_VANZARI_001 foreign key (ID_COMANDA)
  references COMENZI (ID_COMANDA);
alter table VANZARI
  add constraint FK_VANZARI_003 foreign key (ID_DELEGAT)
  references NOM_PARTENERI (ID_PART);
alter table VANZARI
  add constraint FK_VANZARI_004 foreign key (ID_MASINA)
  references NOM_MASINI (ID_MASINA);
alter table VANZARI
  add constraint FK_VANZARI_005 foreign key (ID_AGENT)
  references NOM_PARTENERI (ID_PART);
alter table VANZARI
  add constraint FK_VANZARI_007 foreign key (ID_SUCURSALA)
  references CONTAFIN_ORACLE.NOM_FIRME (ID_FIRMA);
alter table VANZARI
  add constraint FK_VANZARI_008 foreign key (ID_RUTA)
  references FACT_NOM_RUTE (ID_RUTA);
alter table VANZARI
  add constraint FK_VANZARI_009 foreign key (ID_CASA_MARCAT_Z)
  references CASE_MARCAT_Z (ID_CASA_MARCAT_Z);
