POVRATAK

Metoda: spremi361Ugovore

1. Kontrola prava pristupa

Za kontrolu prava korištenja metode u 098 se provjerava slijedeća operacija:

Aplikacija Broj operacije Kontrolirana metoda
361 WS361PUgo spremi361Ugovore

2. Opis rada metode

Metoda vrši spremanje podataka o ugovorima koji će biti vidljivi na portalu "Otvoreno".

Koraci obrade:

1. Vrši se provjera aktivnosti vanjskog sustava u LCSPI tablici LCZAJ_VanjskiSustavi preko poslanog VsID.

2. Vrši se provjera postojanja grupe u LCSPI tablici LC361_Grupe ukoliko je poslan element GrupaGUID (GrupaGUID = Rowguid u tablici).

3. U LCARH tablici LC361_Ugovori provjerava se postojanje sloga sa prihvaćenim GUID (GUID = Rowguid u tablici).
Ukoliko slog postoji tada se vrši ažuriranje istoga sa svježe prihvaćenim podacima.
Radi smanjenja količine podataka za sinkroniziranje ažurirati samo ukoliko je slog promijenjen ili stari slog ima Brisano = 1.
Ukoliko slog ne postoji tada se vrši spremanje prihvaćenih podataka u navedenu tablicu.

4. U LCARH tablici LC361_Grupe provjerava se postojanje sloga sa prihvaćenim identifikatorom identifikatorom grupe GrupaGUID i ugovora GUID.
Ukoliko slog postoji tada se ne vrši ažuriranje istoga osim ako je Brisano = 1 tada se ažurira Brisano = 0.
Ukoliko slog ne postoji tada se vrši spremanje prihvaćenih podataka u navedenu tablicu.

5. Vrši se punjenje odgovora metode prema specifikaciji.

* Prilikom svakog ažuriranja podataka obavezno ažurirati i kolonu XDatumVrijeme sa trenutnim datumom i vremenom jer utjeće na sinkronizaciju podataka na portal.

* Ukoliko neki od neobaveznih podataka nije poslan tada se u kolonu puni:
- NULL ako je kolona NULL - abilna
- Defaultna vrijednost ako default constraint za kolonu postoji
- Blank ('') ako default constraint za string kolonu ne postoji a kolona je NOT NULL

3. Punjenje (ažuriranje) tablica u bazi

Punjenje LC ARH tablice LC361_Ugovori:

Naziv kolone Element Napomena
UgovoriID Generira baza
KorisnikSifra Dohvaća se iz tablice LCZAJ_Korisnici LC SPI baze preko pristiglog identifikatora vanjskog sustava VsID
DatumGodinaBrojUgovora DatumSklapanja + Rowguid Kombinacija opisanih elemenata. Bitno je postići jedinstvenost, a datum služi radi sortiranja.
BrojUgovora UgovorBroj
VrstaUgovora UgovorVrsta
EvidencijskiBroj EvidencijskiBroj
DatumSklapanja DatumSklapanja
PartnerOIB PartnerOIB
PartnerNaziv PartnerNaziv
PartnerMjesto PartnerMjesto
PartnerPDVID PartnerPDVID
Podizvodjaci Podizvodjaci
PredmetUgovora Opis
TipUgovora UgovorTip
Klasa Klasa
UrudzbeniBroj UrudzbeniBroj
Rok DatumIsteka
IznosNeto IznosNeto
IznosPDV IznosPDV
IznosBruto IznosBruto
Valuta Valuta
DatotekeGUID NULL (za sada se još ne koristi)
Brisano 0
XDatumVrijeme GETDATE()
Rowguid GUID Upisuje se pristigli identifikator ugovora
IzvorLC Obavezno vrijednost kolone puniti sa 0
TipOsobe PartnerOsoba
PartnerGUID PartnerGUID

Punjenje LC ARH tablice LC361_Grupe:

Naziv kolone Element Napomena
GrupeID Generira se
IsplateRowguid NULL
NarudzbeniceID NULL
UgovoriID GUID Dohvatiti LC361_Ugovori.UgovoriID preko identifikatora ugovora iz poziva metode
UlazniRacuniID NULL
GrupeRowguid GrupaGUID Identifikator grupe iz poziva metode
Brisano 0
XDatumVrijeme GETDATE()
IzvorLC Obavezno vrijednost kolone puniti sa 0

*

4. Punjenje odgovora metode:

Opis Tip podatka uvjet O
spremi361UgovoreResponse
VsIDVraća se poslani VsID u zahtjevu.string(36)1..1
ugovori{Or1..1
ugovor1..n
GUIDVraća se poslani GUID u zahtjevu.uniqueidentifier1..1
greska1..1
Greska0 - ukoliko nije došlo do greške prilikom ažuriranja ili spremanja podataka;
1 - ukoliko je došlo do greške prilikom ažuriranja ili spremanja podatka
tinyint1..1
OpisGreskeOpis greške u slučaju da zapis nije uspješno spremljen ili ažuriran u sustavu.
– obavezan za Greska <> 0
string(300)0..1
/greska
/ugovor
/ugovori
greskaOr}0..1
Greska1 – greška - Globalna greškatinyint1..1
OpisGreskeOpis greške prilikom spremanja podatka - Globalna greškastring(300)1..1
/greska
/spremi361UgovoreResponse

*