adres = $adres; $paczka->epo = false; $paczka->posteRestante = $posteRestante; $paczka->iloscPotwierdzenOdbioru = $iloscPotwierdzenOdbioru; $paczka->kategoria = $kategoria; $paczka->gabaryt = $gabaryt; $paczka->wartosc = $wartosc; $paczka->masa = $masa; $paczka->zwrotDoslanie = $zwrotDoslanie; $paczka->guid = $this->createGuid(); $paczka->egzemplarzBiblioteczny = $egzemplarzBiblioteczny; $paczka->dlaOciemnialych = $dlaOciemnialych; $paczka->opis = $opis; $this->_przesylki[] = $paczka; return true; } /** * Metoda umozliwiająca dodanie przesyłki listownej * @param $adres * @param type $kategoria * @param type $gabaryt * @param type $masa * @param type $wartosc * @param type $posteRestante * @param type $iloscPotwierdzenOdbioru * @return boolean */ public function addPrzesylkaListowa($adres, $kategoria, $gabaryt, $masa, $wartosc, $posteRestante = false, $iloscPotwierdzenOdbioru = 0) { $paczka = new przesylkaListowaZadeklarowanaWartoscType(); $paczka->adres = $adres; $paczka->posteRestante = $posteRestante; $paczka->iloscPotwierdzenOdbioru = $iloscPotwierdzenOdbioru; $paczka->kategoria = $kategoria; $paczka->gabaryt = $gabaryt; $paczka->wartosc = $wartosc; $paczka->masa = $masa; $paczka->guid = $this->createGuid(); $this->_przesylki[] = $paczka; return true; } /** * Metoda umozliwia dodanie przesylki biznesowej * @param $adres * @param $gabaryt * @param $opis * @param $pobranie * @param $ubezpieczenie * @param $urzadWydaniaEPrzesylki * @param $masa * @param $wartosc * @param $ostroznie * @param int $wielopaczkowosc_ilosc * @param $niestandardowa * @param $potwierdzenieOdbioru * @param $doreczenie * @param $zwrotDokumentow * @param $odbiorca * @return bool */ public function addPrzesylkaBiznesowa($adres, $gabaryt, $opis, $pobranie, $ubezpieczenie, $urzadWydaniaEPrzesylki, $masa, $wartosc, $ostroznie, $wielopaczkowosc_ilosc = 0, $niestandardowa, $potwierdzenieOdbioru, $doreczenie, $zwrotDokumentow, $odbiorca) { $package = new przesylkaBiznesowaType(); $package->pobranie = $pobranie; $package->adres = $adres; $package->gabaryt = $gabaryt; $package->masa = $masa; $package->wartosc = $wartosc; $package->sprawdzenieZawartosciPrzesylkiPrzezOdbiorce = $odbiorca; $package->opis = $opis; $package->ostroznie = $ostroznie; $package->guid = $this->createGuid(); $package->urzadWydaniaEPrzesylki = $urzadWydaniaEPrzesylki; $package->ubezpieczenie = $ubezpieczenie; $package->niestandardowa = $niestandardowa; $package->doreczenie = $doreczenie; $package->potwierdzenieOdbioru = $potwierdzenieOdbioru; $package->zwrotDokumentow = $zwrotDokumentow; if($wielopaczkowosc_ilosc>0){ unset($package->urzadWydaniaEPrzesylki); $this->addSubPrzesylkaBiznesowa($wielopaczkowosc_ilosc,$package); } $this->_przesylki[] = $package; return true; } /** * Metoda umozliwa dodanie podprzesyłki do przesylki biznesowej * @param $losc * @param $parentPackage */ public function addSubPrzesylkaBiznesowa($losc, $parentPackage){ $packages = array(); for($i=0;$i<$losc-1;$i++){ $package = new subPrzesylkaBiznesowaType(); $package->guid = $this->createGuid(); $package->ubezpieczenie = $parentPackage->ubezpieczenie; $package->masa = $parentPackage->masa; $package->gabaryt = $parentPackage->gabaryt; $package->wartosc = $parentPackage->wartosc; $package->ostroznie = $parentPackage->ostroznie; $packages[] = $package; } if(!empty($packages)){ $parentPackage->subPrzesylka = $packages; } } public function addSubPocztex2021($ilosc, $parentPackage){ $packages = array(); for($i=0;$i<$ilosc-1;$i++){ $package = new subPocztex2021KurierType(); $package->guid = $this->createGuid(); $package->ubezpieczenie = $parentPackage->ubezpieczenie; $package->masa = $parentPackage->masa; $package->gabaryt = $parentPackage->gabaryt; $package->wartosc = $parentPackage->wartosc; $package->ostroznie = $parentPackage->ostroznie; $package->ponadgabaryt = $parentPackage->ponadgabaryt; $package->format = $parentPackage->format; $packages[] = $package; } if(!empty($packages)){ $parentPackage->subPrzesylka = $packages; } } public function addSubPocztex2021Dzis($ilosc, $parentPackage){ $packages = array(); for($i=0;$i<$ilosc-1;$i++){ $package = new subPocztex2021NaDzisType(); $package->guid = $this->createGuid(); $package->ubezpieczenie = $parentPackage->ubezpieczenie; $package->masa = $parentPackage->masa; $package->gabaryt = $parentPackage->gabaryt; $package->wartosc = $parentPackage->wartosc; $package->ostroznie = $parentPackage->ostroznie; $package->ponadgabaryt = $parentPackage->ponadgabaryt; $package->format = $parentPackage->format; $packages[] = $package; } if(!empty($packages)){ $parentPackage->subPrzesylka = $packages; } } public function addPocztex2021Kurier($adres, $format, $pobranie, $masa, $wartosc, $odbiorca, $opis, $ostroznie, $koperta, $sobota, $godzinaDoreczenia, $ponadgabaryt, $zawartosc, $punktOdbioru, $ubezpieczenie, $wielopaczkowosc_ilosc, $dzien, $potwierdzenieDoreczenia, $punktNadania){ $package = new pocztex2021KurierType(); $package->pobranie = $pobranie; $package->adres = $adres; $package->format = $format; $package->masa = $masa; $package->wartosc = $wartosc; $package->sprawdzenieZawartosciPrzesylkiPrzezOdbiorce = $odbiorca; $package->opis = $opis; $package->ostroznie = $ostroznie; $package->guid = $this->createGuid(); $package->kopertaPocztex = $koperta; $package->godzinaDoreczenia = $godzinaDoreczenia; $package->ponadgabaryt = $ponadgabaryt; $package->odbiorWSobote = $sobota; $package->zawartosc = $zawartosc; $package->punktOdbioru = $punktOdbioru; $package->ubezpieczenie = $ubezpieczenie; $package->doreczenieWeWskazanymDniu = $dzien; $package->potwierdzenieDoreczenia = $potwierdzenieDoreczenia; $package->punktNadania = $punktNadania; if($wielopaczkowosc_ilosc>0){ $this->addSubPocztex2021($wielopaczkowosc_ilosc,$package); } $this->_przesylki[] = $package; return true; } public function addPocztex2021Dzis($adres, $format, $pobranie, $masa, $wartosc, $odbiorca, $opis, $ostroznie, $sobota, $zawartosc, $ubezpieczenie, $wielopaczkowosc_ilosc, $odleglosc, $obszar, $potwierdzenieDoreczenia){ $package = new pocztex2021NaDzisType(); $package->pobranie = $pobranie; $package->adres = $adres; $package->masa = $masa; $package->wartosc = $wartosc; $package->sprawdzenieZawartosciPrzesylkiPrzezOdbiorce = $odbiorca; $package->opis = $opis; $package->ostroznie = $ostroznie; $package->guid = $this->createGuid(); $package->odbiorWSobote = $sobota; $package->zawartosc = $zawartosc; $package->ubezpieczenie = $ubezpieczenie; $package->obszar = $obszar; if($obszar == 'MIASTO'){ $package->odleglosc = $odleglosc; $package->format = $format; } $package->potwierdzenieDoreczenia = $potwierdzenieDoreczenia; if($wielopaczkowosc_ilosc>0 && $obszar == 'KRAJ'){ unset($package->urzadWydaniaEPrzesylki); $this->addSubPocztex2021Dzis($wielopaczkowosc_ilosc,$package); } $this->_przesylki[] = $package; return true; } /** * Metoda umożliwia dodanie usługi kurierskiej * @param $adres * @param $termin * @param $opis * @param $zawartosc * @param $masa * @param $ostroznie * @param $niestandardowa * @param $sprawdzenie * @param $urzadWydaniaEPrzesylki * @param $uiszczaOplate * @param $doreczenie * @param $pobranie * @param $wartosc * @param $ubezpieczenie * @param $potwierdzenieOdbioru * @param $potwierdzenieDoreczenia * @param $odbiorPrzesylkiOdNadawcy * @param $zasadySpecjalne * @param int $wielopaczkowosc_ilosc * @param $zwrotDokumentow * @param $odleglosc * @return bool */ public function addUslugaKurierska($adres, $termin, $opis, $zawartosc, $masa, $ostroznie, $niestandardowa, $sprawdzenie, $urzadWydaniaEPrzesylki, $uiszczaOplate, $doreczenie, $pobranie, $wartosc, $ubezpieczenie, $potwierdzenieOdbioru, $potwierdzenieDoreczenia, $odbiorPrzesylkiOdNadawcy, $zasadySpecjalne, $wielopaczkowosc_ilosc = 0, $zwrotDokumentow,$odleglosc) { $package = new uslugaKurierskaType(); $package->pobranie = $pobranie; $package->adres = $adres; $package->termin = $termin; $package->masa = $masa; $package->wartosc = $wartosc; $package->opis = $opis; $package->ostroznie = $ostroznie; $package->zawartosc = $zawartosc; $package->uiszczaOplate = $uiszczaOplate; $package->guid = $this->createGuid(); $package->urzadWydaniaEPrzesylki = $urzadWydaniaEPrzesylki; if($wielopaczkowosc_ilosc>0){ unset($package->urzadWydaniaEPrzesylki); $this->addSubUslugaKurierska($wielopaczkowosc_ilosc,$package); } $package->ponadgabaryt = $niestandardowa; $package->sprawdzenieZawartosciPrzesylkiPrzezOdbiorce = $sprawdzenie; $package->ubezpieczenie = $ubezpieczenie; $package->doreczenie = $doreczenie; $package->ubezpieczenie = $ubezpieczenie; $package->wartosc = $wartosc; $package->pobranie = $pobranie; $package->potwierdzenieOdbioru = $potwierdzenieOdbioru; $package->potwierdzenieDoreczenia = $potwierdzenieDoreczenia; $package->odbiorPrzesylkiOdNadawcy = $odbiorPrzesylkiOdNadawcy; $package->zasadySpecjalne = $zasadySpecjalne; $package->zwrotDokumentow = $zwrotDokumentow; $package->odleglosc = $odleglosc; $this->_przesylki[] = $package; return true; } /** * metoda umożliwia ustawienie pod przesylki dla uslugi kurierskiej * @param $losc * @param $parentPackage */ public function addSubUslugaKurierska($losc, $parentPackage){ $packages = array(); for($i=0;$i<$losc-1;$i++){ $package = new subUslugaKurierskaType(); $package->guid = $this->createGuid(); $package->ubezpieczenie = $parentPackage->ubezpieczenie; $package->masa = $parentPackage->masa; $package->gabaryt = $parentPackage->gabaryt; $package->wartosc = $parentPackage->wartosc; $package->ostroznie = $parentPackage->ostroznie; $package->ponadgabaryt = $parentPackage->ponadgabaryt; $packages[] = $package; } if(!empty($packages)){ $parentPackage->subPrzesylka = $packages; } } /** * metoda umożliwia ustawienie przesylki Global Express * @param $adres * @param $masa * @param $zawartosc * @param string $numer * @param null $potwierdzenie * @param string $opis * @return bool */ public function addGlobalExpres($adres, $masa, $zawartosc, $numer = '', $potwierdzenie = null, $opis = '') { $package = new globalExpresType(); $package->adres = $adres; $package->guid = $this->createGuid(); $package->potwierdzenieDoreczenia = $potwierdzenie; $package->masa = $masa; $package->zawartosc = $zawartosc; $package->numerPrzesylkiKlienta = $numer; $package->opis = $opis; $this->_przesylki[] = $package; return true; } /** * Metoda umozliwa dodanie przesylki poleconej krajowej * @param $adres * @param $kategoria * @param $format * @param $masa * @param bool $obszarMiasto * @param bool $miejscowa * @param int $iloscPotwierdzenOdbioru * @param string $numer * @param bool $dlaOciemnialych * @param bool $egzemplarzBiblioteczny * @param string $opis * @param bool $posteRestante * @return bool */ public function addPrzesylkaPoleconaKrajowa($adres, $kategoria, $format, $masa, $obszarMiasto = true, $miejscowa = true, $iloscPotwierdzenOdbioru = 0, $numer = '', $dlaOciemnialych = false, $egzemplarzBiblioteczny = false, $opis = '', $posteRestante = false) { $package = new przesylkaPoleconaKrajowaType(); $package->adres = $adres; $package->posteRestante = $posteRestante; $package->dlaOciemnialych = $dlaOciemnialych; $package->egzemplarzBiblioteczny = $egzemplarzBiblioteczny; $package->iloscPotwierdzenOdbioru = $iloscPotwierdzenOdbioru; $package->masa = $masa; //$package->miejscowa = $miejscowa; //$package->obszarMiasto = $obszarMiasto; $package->kategoria = $kategoria; $package->format = $format; $package->guid = $this->createGuid(); $package->opis = $opis; $this->_przesylki[] = $package; return true; } /** * Metoda umozliwa dodanie przesylki poleconej firmowej * @param $adres * @param $opis * @param $kategoria * @param $gabaryt * @param $masa * @param bool $miejscowa * @param int $iloscPotwierdzenOdbioru * @param string $zasadySpecjalne * @param bool $posteRestante * @return bool */ public function addPrzesylkaPoleconaFirmowa($adres, $opis, $kategoria, $gabaryt,$masa, $miejscowa = true, $iloscPotwierdzenOdbioru = 0, $zasadySpecjalne = '', $posteRestante = false) { $package = new przesylkaFirmowaPoleconaType(); $package->adres = $adres; $package->zasadySpecjalne = $zasadySpecjalne; $package->posteRestante = $posteRestante; $package->iloscPotwierdzenOdbioru = $iloscPotwierdzenOdbioru; $package->masa = $masa; $package->opis = $opis; $package->miejscowa = $miejscowa; $package->kategoria = $kategoria; $package->gabaryt = $gabaryt; $package->guid = $this->createGuid(); $this->_przesylki[] = $package; return true; } /** * Metoda umozliwiajaca dodanie przesylki poleconej zagranicznej * @param $adres * @param $opis * @param $masa * @param int $iloscPotwierdzenOdbioru * @param bool $posteRestante * @return bool */ public function addPrzesylkaPoleconaZagraniczna($adres, $opis, $masa, $iloscPotwierdzenOdbioru = 0, $posteRestante = false) { $package = new przesylkaPoleconaZagranicznaType(); $package->adres = $adres; $package->posteRestante = $posteRestante; $package->masa = $masa; $package->opis = $opis; $package->iloscPotwierdzenOdbioru = $iloscPotwierdzenOdbioru; $package->guid = $this->createGuid(); $this->_przesylki[] = $package; return true; } /** * Metoda uzmowliwajaca dodanie paczki zagaranicznej * @param $adres * @param $masa * @param $opis * @param $kategoria * @param $wartosc * @param int $iloscPotwierdzenOdbioru * @param $zwrot * @return bool */ public function addPaczkaZagraniczna($adres, $masa, $opis, $kategoria, $wartosc, $iloscPotwierdzenOdbioru = 0, $zwrot) { $package = new paczkaZagranicznaType(); $package->adres = $adres; $package->masa = $masa; $package->opis = $opis; $package->wartosc = $wartosc; $package->kategoria = $kategoria; // $package->numerReferencyjnyCelny = $numer; $package->iloscPotwierdzenOdbioru = $iloscPotwierdzenOdbioru; $package->zwrot = $zwrot; $package->guid = $this->createGuid(); $this->_przesylki[] = $package; return true; } /** * Metoda umozliwajaca dodanie paczki EMS * @param $adres * @param $masa * @param $opis * @param $typ * @param $ubezpieczenie * @param $potwierdzenieDoreczenia * @return bool */ public function addEMS($adres, $masa, $opis, $typ, $ubezpieczenie, $potwierdzenieDoreczenia) { $package = new EMSType(); $package->adres = $adres; $package->typOpakowania = $typ; $package->masa = $masa; $package->ubezpieczenie = $ubezpieczenie; $package->opis = $opis; $package->guid = $this->createGuid(); $package->potwierdzenieDoreczenia = $potwierdzenieDoreczenia; $this->_przesylki[] = $package; return true; } /** * Metoda umożliwiająca przesuwanie przesyłek pomiędzy buforami * @param integer $idBuforFrom * @param iteger $idBuforTo * @param array $guids * @return array */ public function move($idBuforFrom, $idBuforTo, array $guids) { $result = false; if ($idBuforFrom != $idBuforTo) { if (!$this->isFull($idBuforTo)) { $size = $this->getRemained($idBuforTo); if ($size > count($guids)) { $result = $this->_callWebservice('moveShipments', array('idBuforFrom' => $idBuforFrom, 'idBuforTo' => $idBuforTo, 'guid' => $guids)); } else { $this->errors[] = Translate::getAdminTranslation(sprintf('Do bufora docelowego można przesunąć %s przesyłki', $size)); } } else { $this->errors[] = Translate::getAdminTranslation('Bufor docelowy jest pełny'); } } return $result; } /** * Metoda pozwalająca dodać przesyłki * @return array */ public function add($idBufor = '') { if (empty($idBufor) || $idBufor == 0 || $idBufor == '') { $idBufor = $this->getNextBufor(); } $params = array('przesylki' => $this->_przesylki,'idBufor'=>$idBufor); if ($this->isFull($idBufor)) { $idBufor = $params['idBufor'] = $this->getNextBufor(); } $result = $this->_callWebservice('addShipment', $params); if (isset($result['retval'])) { $result['retval']['id_buffor'] = $idBufor; return $result['retval']; } return false; } /** * Metoda sprawdzajaca czy bufor jest przepelniony > 500 * @param string $idBufor * @return bool */ public function isFull($idBufor = '') { $packages = ENadawca::EnvelopeBuffor()->get($idBufor); return count($packages) > 500; } /** * metoda zwracajaca iloc przesylek w buforze * @param string $idBufor * @return int */ public function getSize($idBufor = '') { $packages = ENadawca::EnvelopeBuffor()->get($idBufor); return count($packages); } /** * Metoda zwraca ile jeszcze moze sie zmiescie w buforze * @param string $idBufor * @return int */ public function getRemained($idBufor = '') { $packages = ENadawca::EnvelopeBuffor()->get($idBufor); $number = 500 - count($packages); if ($number <= 0) { $number = 0; } return $number; } /** * metoda zwracajaca wolny bufor * @return string */ public function getNextBufor() { $list = ENadawca::EnvelopeBuffor()->getList(); $officesList = ENadawca::UrzedyNadania()->get(); $offices = array(); foreach ($officesList as $office) { $offices[$office['urzadNadania']] = $office['urzadNadania']; } foreach ($list as $buffor) { if (isset($offices[$buffor['urzadNadania']]) && !$this->isFull($buffor['idBufor'])) { return $buffor['idBufor']; } } return ''; } }