vratiDirProcesi().'/Povratnica/DPovratnica.class.php'); class DPovratnicaKupca extends DPovratnica { function DPovratnicaKupca(&$Db) { $this->DPovratnica($Db); $this->Stranicenje=1; } function VratiPodatkeStanje() { } function DodeliFilter() { $idKlijent=$_SESSION["DKorisnik"]->vratiIdVezaLicniPodaci(); $filter .= " and d.idKupac=$idKlijent "; $u=new utill(); if ($u->PostojiParametar($this->Parametri,'filterOd')) { if ($u->VratiParametar($this->Parametri,'filterOd')=='') { $pocetakMeseca =date("Y-m-d",mktime(0, 0, 0, date("m"), date("01"), date("Y"))) ; $this->Parametri["Post"]["filterOd"]=$pocetakMeseca; } else { $this->Parametri["Post"]["filterOd"]=$this->EU2MySql($u->VratiParametar($this->Parametri,'filterOd')); } if ($u->VratiParametar($this->Parametri,'filterDo')=='') { $DanasnjiDan =date("Y-m-d"); $this->Parametri["Post"]["filterDo"]=$DanasnjiDan; } else { $this->Parametri["Post"]["filterDo"]=$this->EU2MySql($u->VratiParametar($this->Parametri,'filterDo')); } $od=$this->Parametri["Post"]["filterOd"]; $do=$this->Parametri["Post"]["filterDo"]; $filter .=" and d.datumKreiranja between '$od' and '$do'"; } if ($u->PostojiParametar($this->Parametri,'filterBrojDokumenta')==true) { if ($u->VratiParametar($this->Parametri,'filterBrojDokumenta')!='') { $broj = $u->VratiParametar($this->Parametri,'filterBrojDokumenta'); $filter .= " and d.broj = '$broj'"; } } if ($u->PostojiParametar($this->Parametri,'filterStatus')==true) { if ($u->VratiParametar($this->Parametri,'filterStatus')!='') { $status = $u->VratiParametar($this->Parametri,'filterStatus'); $filter .= " sd.idStatusVrsteDokumenta = $status"; } } if ($u->PostojiParametar($this->Parametri,'filterSifraRobe')==true) { if ($u->VratiParametar($this->Parametri,'filterSifraRobe')!='') { $sifraRobe = $u->VratiParametar($this->Parametri,'filterSifraRobe'); $filter .= " and exists(select 0 from StavkaPovratnice sf1 where sf1.idPovratnica = p.idPovratnica and sf1.idProizvod = $sifraRobe)"; } } if ($u->PostojiParametar($this->Parametri,'filterNazivRobe')==true) { if ($u->VratiParametar($this->Parametri,'filterNazivRobe')!='') { $nazivRobe = $u->VratiParametar($this->Parametri,'filterNazivRobe'); $filter .= " and exists(select 0 from StavkaPovratnice sf1 join Proizvod pr1 on sf1.idProizvod = pr1.idProizvod where sf1.idPovratnica = p.idPovratnica and pr1.naziv like '%$nazivRobe%')"; } } $this->Filter=$filter; } function Snimi() { $idPovratnica=$this->Parametri["Post"]["IdDokument"]; parent::Snimi(); } function SnimiStavke() { $idPovratnica=$this->Parametri["Post"]["idDokument"]; $idProizvod = $this->Parametri["Post"]["idProizvod"]; $kolicina=$this->Parametri["Post"]["Kolicina"]; $razlog=$this->Parametri["Post"]["Razlog"]; //update u tabelu StavkaPorudzbenice $this->IzvrsiUpit("update StavkaPovratnice set kolicina=$kolicina, razlog=$razlog where idPovratnica=$idPovratnica and idProizvod=$idProizvod "); } function Dodaj() { if (isset($this->Parametri["Get"]["idProdavac"])) { $this->Parametri["Post"]["idProdavac"]=$this->Parametri["Get"]["idProdavac"]; } $this->Parametri["Post"]["idKupac"]=$_SESSION["DKorisnik"]->VratiIdVezaLicniPodaci(); $idPovratnica = parent::Dodaj(); //insert u tabelu Prijemnica $this->IzvrsiUpit("insert into Povratnica (idPovratnica) values($idPovratnica)"); return $idPovratnica; } function DodajStavku() { $l=new logPhp(); if (isset($this->Parametri["Get"]["idOtvorenogDokumenta"])) { $idPovratnica=$this->Parametri["Get"]["idOtvorenogDokumenta"]; } else { $idPovratnica=$this->VratiIdPovratnice(); } $kolicina=$this->Parametri["Get"]["Kolicina"]; $idProizvod = $this->Parametri["Get"]["IdProizvod"]; $razlog=$this->Parametri["Get"]["razlog"]; $l->UpisiLog("$kolicina,$idProizvod,$idPovratnica"); $rezultat=$this->IzvrsiSql("select idProizvod, kolicina from StavkaPovratnice where idPovratnica=$idPovratnica and idProizvod = $idProizvod"); if (isset($rezultat[0][0])) { $idProizvod=$rezultat[0][0]; $prethodnaKolicina=$rezultat[0][1]; $kol=$kolicina+$prethodnaKolicina; $this->IzvrsiUpit("update StavkaPovratnice set kolicina = '$kol' where idPovratnica = $idPovratnica and idProizvod = $idProizvod"); } else { //insert u tabelu StavkaPrijemnice $this->IzvrsiUpit(" insert into StavkaPovratnice(idPovratnica, kolicina,idProizvod,razlog) values($idPovratnica, $kolicina,$idProizvod,'$razlog')"); $l->UpisiLog(" insert into StavkaPovratnice(idPovratnica, kolicina,idProizvod,razlog) values($idPovratnica, $kolicina,$idProizvod,'$razlog')"); } } function brisi() { $idPovratnica=$this->Parametri["Post"]["idk"]; $this->IzvrsiUpit("DELETE from Povratnica WHERE idPovratnica = $idPovratnica"); $this->IzvrsiUpit("DELETE from StavkaPovratnice WHERE idPovratnica = $idPovratnica"); parent::Brisi(); } function BrisiStavku() { $idPovratnica=$this->Parametri["Get"]["IdDokument"]; $idProizvod=$this->Parametri["Get"]["IdProizvod"]; $this->IzvrsiUpit("DELETE from StavkaPovratnice WHERE idPovratnica = $idPovratnica and idProizvod = $idProizvod"); } function KreirajIzOtpremnice() { $idOtpremnica = $this->Parametri["Get"]["idk"]; $temp = $this->IzvrsiUpit("select idKupac, idProdavac from Dokument where idDokument = $idOtpremnica"); $this->Parametri["Get"]["idKupac"] = $temp[0][0]; $this->Parametri["Get"]["idProdavac"] = $temp[0][1]; $idPovratnica = parent::Dodaj(); $this->IzvrsiUpit("insert into Povratnica(idPovratnica) values($idPovratnica)"); $this->IzvrsiUpit("insert into PorekloDokumenta(idDokument, poreklo) values($idPovratnica, $idOtpremnica)"); $this->IzvrsiUpit("insert into StavkaPovratnice(idPovratnica, kolicina) select $idPovratnica, kolicina, redniBroj from StavkaOtpremnice where idOtpremnica = $idOtpremnica"); } function VratiIdPovratnice() { $idKupac=$_SESSION["DKorisnik"]->vratiIdVezaLicniPodaci(); $idProdavac=$this->Parametri["Get"]["idProdavac"]; //da li postoji otpremnica za kupca sa statusom 1 tj ona u koju se dodaju stavke $rezultat=$this->IzvrsiSql("select p.idPovratnica from Povratnica p join Dokument dok on p.idPovratnica = dok.idDokument where dok.idProdavac = $idProdavac and dok.idKupac = $idKupac and p.idPovratnica in (select d.idDokument from StatusDokumenta s, Dokument d where d.idVrstaDokumenta = 4 and d.iddokument=s.iddokument and idStatusVrsteDokumenta = 1 and datum = (select max(datum) from StatusDokumenta sd where sd.idDokument = s.idDokument)) "); if (!isset($rezultat[0][0])) { return -1; } else { return $rezultat[0][0]; } } function PromeniStatusKorpe() { $idPovratnica=$this->Parametri["Post"]["IdDokument"]; $broj=$this->Parametri["Post"]["Broj"]; $datumIsporuke=$this->Parametri["Post"]["DatumOtpreme"]; //menjam status i datum postojece korpe $this->IzvrsiUpit("update Dokument set datumKreiranja=now(), broj='$broj' where idDokument=$idPovratnica"); parent::PromeniStatus(2); $this->IzvrsiUpit("update Povratnica set datumOtpreme=now() where idPovratnica=$idPovratnica"); } function vratiBrojStavkiZaProdavca($idProdavac,$datumOd,$datumDo) { $rezultat=$this->IzvrsiSql("select count(*) from StavkaPovratnice s join Povratnica p on s.idPovratnica = p.idPovratnica join Dokument d on s.idPovratnica=d.iddokument where d.idProdavac = $idProdavac and d.datumKreiranja between '$datumOd' and '$datumDo'"); return $rezultat[0][0]; } function vratiJedinstveneKupce($idProdavac,$datumOd,$datumDo) { $rezultat=$this->IzvrsiSql("select distinct idKupac from Povratnica p join Dokument d on p.idPovratnica=d.iddokument where d.idProdavac = $idProdavac and d.datumKreiranja between '$datumOd' and '$datumDo'"); return $this->VratiKolonu($rezultat,'idKupac'); } } ?>