first commit

This commit is contained in:
2024-11-05 12:22:50 +01:00
commit e5682a3912
19641 changed files with 2948548 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
<?php
class Account extends Resource{
/**
* metoda pobierajaca dane o profilach uzytkownika API
* @return array
*/
public function get(){
$result = $this->_callWebservice ('getAccountList');
return $result;
}
/**
* metoda odpowiedzialna za pobranie z API informacji o profilu
* @return array
*/
public function getMyAccount(){
$result = $this->_callWebService('getAccountList');
if(isset($result['account'])){
if(isset($result['account']['domyslnyProfil'])){
return $result['account'];
}
foreach($result['account'] as $key=>$account){
if($account['userName'] == Configuration::get(PPSetting::PP_USER) ){
return $account;
}
}
}
return $result;
}
/**
* metoda sprawdzajaca czy dany uzytkownika API prawidlowo jest zalogowany
* @return bool
*/
public function hello(){
$params['in'] = 'hello';
$result = $this->_callWebService('hello',$params);
return $result;
}
}

View File

@@ -0,0 +1,101 @@
<?php
/**
* Klasa odpowidająca zarządzanie wysyłką przesyłek
*/
class Envelope extends Resource {
/**
* Metoda czyszcząca pakiet z przesyłek. Usuwa bufor wraz ze wszystkimi informacjami o przesyłkach, które zostały dodane
* @return array
*/
public function clear($idBuffor = '') {
$params = array();
if (!empty($idBuffor)) {
$params['idBufor'] = $idBuffor;
}
$result = $this->_callWebservice('clearEnvelope', $params);
return $result;
}
/**
* Metoda pozwala na wybiórcze usunięcie przesyłek z bufora. Parametrem wejściowym jest tablica guidów przesyłek do usunięcia
* @param array $guid
* @return array
*/
public function clearByGuids($guid,$idBuffor = '') {
$params = array('guid' => $guid);
if (!empty($idBuffor)) {
$params['idBufor'] = $idBuffor;
}
$result = $this->_callWebservice('clearEnvelopeByGuids', $params);
return $result;
}
/**
* Metoda pozwalająca wysłać wszystkie przesyłki
* @param type $urzadNadania
* @param type $idBuffor
* @return type
*/
public function send($urzadNadania, $idBuffor = '') {
$params = array(
'urzadNadania' => $urzadNadania,
);
if (!empty($idBuffor)) {
$params['idBufor'] = $idBuffor;
}
$result = $this->_callWebservice('sendEnvelope', $params);
return $result;
}
/**
* Metoda pozwala pobrać status przekazanego pakietu przesyłek
* @param integer $idEnvelope
* @return array
*/
public function getStatus($idEnvelope) {
$result = $this->_callWebservice('getEnvelopeStatus', array('idEnvelope' => $idEnvelope));
return $result;
}
/**
* Metoda pozwalająca pobrać informacje zwrotne o nadanych przesyłkach w wersji skróconej.
* @param type $idEnvelope
* @return type
*/
public function getContentShort($idEnvelope) {
$result = $this->_callWebservice('getEnvelopeContentShort', array('idEnvelope' => $idEnvelope));
return $result;
}
/**
* Metoda pozwalająca pobrać informacje zwrotne o nadanych przesyłkach w wersji pełnej.
* @param type $idEnvelope
* @return type
*/
public function getContentFull($idEnvelope) {
$result = $this->_callWebservice('getEnvelopeContentFull', array('idEnvelope' => $idEnvelope));
return $result;
}
/**
* Metoda pozwalająca pobrać listę pakietów, które są dostępne do pobrania wraz ze statusami
* @param type $startDate
* @param type $endDate
* @return type
*/
public function get($startDate, $endDate) {
$result = $this->_callWebservice('getEnvelopeList', array('startDate' => $startDate, 'endDate' => $endDate));
return $result;
}
public function getStatuses() {
$arr = array(
'wyslany' => 'Wysłany',
'niewyslany'=>'Niewysłany'
);
return $arr;
}
}

View File

@@ -0,0 +1,82 @@
<?php
/**
* Klasa odpowiadająca za zarządzanie danymi w buforze
*/
class EnvelopeBuffor extends Resource {
/**
* Metoda pozwala pobrać informacje o przesyłkach znajdujących się w buforze
* @param type $idBufor
* @return array
*/
public function get($idBufor = '') {
$params = array();
if (!empty($idBufor)) {
$params = array('idBufor' => $idBufor);
}
$result = $this->_callWebservice('getEnvelopeBufor', $params);
return $result;
}
/**
* Metoda pozwalająca pobrać listę buforów zdefiniowanych poprzez web api
* @return array
*/
public function getList() {
$result = $this->_callWebservice('getEnvelopeBuforList');
if (!$this->hasErrors()) {
if (isset($result['bufor']['idBufor'])) {
$result = array($result['bufor']);
} else {
$result = array_shift($result);
}
}
return $result;
}
/**
* Metoda umożliwiająca zmianę danych bufora, w tym daty nadania czy urzędu nadania
* @param type $idBufor
* @param type $dataNadania
* @param type $urzadNadania
* @param type $active
* @param type $opis
* @return array
*/
public function update($idBufor, $dataNadania, $urzadNadania, $opis) {
$params = array(
'idBufor' => $idBufor,
'dataNadania' => $dataNadania,
'urzadNadania' => $urzadNadania,
'opis' => $opis,
);
$result = $this->_callWebservice('updateEnvelopeBufor', array('bufor' => $params));
return $result;
}
/**
* Metoda umożliwiająca stworzenie nowego bufora. Możliwe jest stworzenie w jednym wywołaniu kilku buforów.
* @param type $dataNadania
* @param type $urzadNadania
* @param type $active
* @param type $opis
* @return type
*/
public function create($dataNadania, $urzadNadania, $opis) {
$params = array(
'dataNadania' => $dataNadania,
'urzadNadania' => $urzadNadania,
'active' => true,
'opis' => $opis,
);
$result = $this->_callWebservice('createEnvelopeBufor', array('bufor' => $params));
return $result;
}
public function clear($idBuffor) {
$result = $this->_callWebservice('clearEnvelope', array('idBufor' => $idBuffor));
return $result;
}
}

View File

@@ -0,0 +1,18 @@
<?php
/**
* Klasa odpowiadajaca za zarzadzanie jednostkami ograzniacyjnymi
*/
class JednostkaOrganizacyjna extends Resource {
/**
* Metoda pozwala pobrać informacje o jednostce organizacyjnej
* @return array
*/
public function get() {
$result = $this->_callWebservice ('getJednostkaOrganizacyjna');
return $result;
}
}

View File

@@ -0,0 +1,49 @@
<?php
/**
* Klasa odpowiadajaca za zarzadzanie kartami umowy
*/
class Karta extends Resource {
/**
* Metoda pozwala pobrać wszystkie karty umowy
* @return array
*/
public function getList() {
$result = $this->_callWebservice ('getKarty');
return $result;
}
/**
* metoda umozliwa pobranie informacji na temat wybranej karty
* @param string $idKarty
* @return array
*/
public function get($idKarty = ''){
$result = $this->_callWebservice ('getKarty');
if(isset($result['karta']['idKarta'])){
$result['karta'] = array($result['karta']);
}
foreach($result['karta'] as $karta){
if($karta['idKarta'] == $idKarty){
return $karta;
}
}
return $result['karta'];
}
/**
* metoda pozwalajaca umozliwienie domyslane karty dla uztykownika api
* @param $idKarty
* @return bool
*/
public function setDefault($idKarty){
$result = false;
if(!empty($idKarty)){
$result = $this->_callWebservice('setAktywnaKarta',array('idKarta'=>$idKarty));
}
return $result;
}
}

View File

@@ -0,0 +1,37 @@
<?php
/**
* Klasa odpowiadająca za zamawianie kuriera
*/
class Kurier extends Resource {
/**
* Metoda umożliwiająca zamówienie kuriera po odbiór przesyłek od klienta
* @param type $oczekiwanaDataOdbioru
* @param type $oczekiwanaGodzinaOdbioru
* @param type $szacowanaIloscPrzeslek
* @param type $szacowanaLacznaMasaPrzesylek
* @param type $PotwierdzenieZamowieniaEmail
* @param type $miejsceOdbioru
* @param type $nadawca
* @return type
*/
public function zamow($oczekiwanaDataOdbioru, $oczekiwanaGodzinaOdbioru, $szacowanaIloscPrzeslek, $szacowanaLacznaMasaPrzesylek, $PotwierdzenieZamowieniaEmail, $miejsceOdbioru = array(), $nadawca = array()) {
$params = array(
'oczekiwanaDataOdbioru' => $oczekiwanaDataOdbioru,
'oczekiwanaGodzinaOdbioru' => $oczekiwanaGodzinaOdbioru,
'szacowanaIloscPrzeslek' => $szacowanaIloscPrzeslek,
'szacowanaLacznaMasaPrzesylek' => $szacowanaLacznaMasaPrzesylek,
'PotwierdzenieZamowieniaEmail' => $PotwierdzenieZamowieniaEmail
);
if (!empty($miejsceOdbioru)) {
$params['miejsceOdbioru'] = $miejsceOdbioru;
}
if (!empty($nadawca)) {
$params['nadawca'] = $nadawca;
}
$result = $this->_callWebservice('zamowKuriera', $params);
return $result;
}
}

View File

@@ -0,0 +1,27 @@
<?php
/**
* Klasa odpowiadajaca za zarzadzanie hasłem
*/
class Password extends Resource {
/**
* Metoda pozwalająca na zmianę hasła dostępu do systemu EN.
* @param type $newPassword
* @return array
*/
public function change($newPassword) {
$result = $this->_callWebservice ('changePassword', array('newPassword' => $newPassword));
return $result;
}
/**
* Metoda pozwalająca pobrać czas ważności hasła
* @return array
*/
public function getExpiredDate() {
$result = $this->_callWebservice ('getPasswordExpiredDate');
return $result;
}
}

View File

@@ -0,0 +1,145 @@
<?php
/**
* Klasa odpowiadająca za generowanie wydruków w formacie PDF
*/
class PdfContent extends Resource {
var $_options = array('cache_wsdl' => WSDL_CACHE_NONE);
/**
* Metoda umożliwia pobranie samego blankietu pobrania dla przesyłek z pobraniem dla zbiorów jeszcze nie wysłanych
* @param type $guid
* @param type $idBufor
*/
public function getBlankietPobraniaByGuids($guid, $idBufor = '') {
$params = array('guid' => $guid);
if (!empty($idBufor)) {
$params['idBufor'] = $idBufor;
}
$result = $this->_callWebservice('getBlankietPobraniaByGuids', $params);
if (!$this->hasErrors()) {
if (isset($result['content']['pdfContent'])) {
return $result['content']['pdfContent'];
} else {
if (is_array($result['content'])) {
$content = '';
foreach ($result['content'] as $c) {
$content .= $c['pdfContent'];
}
return $content;
}
}
}
return false;
}
/**
* Metoda po zwalająca pobrać wydruk Książki Nadawczej. Wydruk prezentowany jest w formacie PDF
* @param type $idEnvelope - zwracane przez send z obiektu Envelope
* @param boolean $includeNierejestrowane
*/
public function getOutboxBook($idEnvelope, $includeNierejestrowane = true) {
$result = $this->_callWebservice('getOutboxBook', array('idEnvelope' => $idEnvelope, 'includeNierejestrowane' => $includeNierejestrowane));
if (isset($result['pdfContent'])) {
return $result['pdfContent'];
}
return false;
}
/**
* Metoda pozwalająca pobrać wydruk zestawiania dla Firmowej Poczty. Wydruk jest w formacie PDF
* @param type $idEnvelope - zwracane przez send z obiektu Envelope
*/
public function getFirmowaPocztaBook($idEnvelope) {
$result = $this->_callWebservice('getFirmowaPocztaBook', array('idEnvelope' => $idEnvelope));
if (isset($result['pdfContent'])) {
return $result['pdfContent'];
}
return false;
}
/**
* Metoda pozwalająca pobrać nalepki adresowe. Wydruk jest w formacie PDF.
* @param type $idEnvelope - zwracane przez send z obiektu Envelope
*/
public function getAddresLabel($idEnvelope,$guid='') {
$result = $this->_callWebservice('getAddressLabel', array('idEnvelope' => $idEnvelope));
if (isset($result['content']['pdfContent'])) {
return $result['content']['pdfContent'];
}
if(!empty($guid)&&isset($result['content'])&&is_array($result['content'])){
foreach($result['content'] as $content){
if($content['guid'] == $guid){
return $content['pdfContent'];
}
}
}
return false;
}
/**
* Metoda umożliwia pobranie kompletu nalepek adresowych w jednym pliku w formacie pdf.
* Pobranie nalepek jest możliwe po wywołaniu metody send z obiektu Envelope
* @param type $idEnvelope - zwracane przez send z obiektu Envelope
*/
public function getAddresLabelCompact($idEnvelope) {
$result = $this->_callWebservice('getAddresLabelCompact', array('idEnvelope' => $idEnvelope));
if (isset($result['pdfContent'])) {
return $result['pdfContent'];
}
return false;
}
/**
* Metoda umożliwia pobranie nalepek adresowych w jednym pliku w formacie pdf dla przekazanego zakresu guidów przesyłek
* @param type $guid
* @param type $idBufor
*/
public function getAddresLabelByGuid($guid, $idBufor = '') {
$params = array('guid' => $guid);
if (!empty($idBufor)) {
$params['idBufor'] = $idBufor;
}
$result = $this->_callWebservice('getAddresLabelByGuid', $params);
if (isset($result['content']['pdfContent'])) {
return $result['content']['pdfContent'];
}
return false;
}
/**
* Metoda umożliwia pobranie nalepek adresowych w jednym pliku w formacie pdf dla przekazanego zakresu guidów przesyłek
* @param type $guid
* @param type $idBufor
*/
public function getAddresLabelByGuidCompact($guid, $idBufor = '') {
$params = array('guid' => $guid);
if (!empty($idBufor)) {
$params['idBufor'] = $idBufor;
}
$result = $this->_callWebservice('getAddresLabelByGuidCompact', $params);
if (isset($result['pdfContent'])) {
return $result['pdfContent'];
}
return false;
}
/**
* Metoda umożliwia pobranie nalepek adresowych w jednym pliku w formacie pdf dla przekazanego zakresu guidów przesyłek
* @param type $guid
*/
public function getPrintForParcel($guid) {
$params = array('guid' => $guid);
//$type = new PrintType();
$params['type'] = array('kind'=>'ADDRESS_LABEL','method'=>'ALL_PARCELS_IN_ONE_FILE');
$result = $this->_callWebservice('getPrintForParcel', $params);
if (isset($result['printResult']['print'])) {
return $result['printResult']['print'];
}
return false;
}
}

View File

@@ -0,0 +1,101 @@
<?php
/**
* Klasa odpowiadajaca za zarzadzanie profilami nadawcy
*/
class Profil extends Resource {
/**
* Metoda umożliwia pobranie listy dostępnych profili nadawcy
* @return array
*/
public function getList() {
$result = $this->_callWebservice ('getProfilList');
return $result;
}
/**
* metoda zwracajaca list profili dla zwrotu dokumentow
* @return array
*/
public function getReturnDocumentsProfileList() {
$result = $this->_callWebservice ('getReturnDocumentsProfileList');
return $result;
}
/**
* Metoda umożliwia pobranie profilu nadawcy
* @return array
*/
public function get($idProfil = '') {
$result = $this->_callWebservice ('getProfilList');
if (!empty($result) && isset($result['profil'])) {
return array_shift($result['profil']);
}
if(!empty($idProfil)&&!empty($result) && isset($result['profil'])){
foreach($result['profil'] as $v){
if(isset($v['idProfil']) && $v['idProfil'] === $idProfil){
return $v;
}
}
}
return $result;
}
/**
* Metoda umożliwia utworzenie nowego profilu nadawcy
* @param type $nazwa
* @param type $ulica
* @param type $numerDomu
* @param type $numerLokalu
* @param type $miejscowosc
* @param type $kodPocztowy
* @param type $kraj
* @param type $nazwSkrocona
* @return array
*/
public function create($nazwa, $ulica, $numerDomu, $numerLokalu, $miejscowosc, $kodPocztowy, $kraj, $nazwSkrocona) {
$params = array(
'nazwa' => $nazwa,
'ulica' => $ulica,
'numerDomu' => $numerDomu,
'numerLokalu' => $numerLokalu,
'miejscowosc' => $miejscowosc,
'kodPocztowy' => $kodPocztowy,
'kraj' => $kraj,
'nazwaSkrocona' => $nazwSkrocona
);
$result = $this->_callWebservice ('createProfil', array('profil' => $params));
return $result;
}
/**
* Metoda umożliwia zmianę profilu nadawcy
* @param type $idProfil
* @param type $nazwa
* @param type $ulica
* @param type $numerDomu
* @param type $numerLokalu
* @param type $miejscowosc
* @param type $kodPocztowy
* @param type $kraj
* @param type $nazwSkrocona
* @return array
*/
public function update($idProfil, $nazwa, $ulica, $numerDomu, $numerLokalu, $miejscowosc, $kodPocztowy, $kraj, $nazwSkrocona) {
$params = array(
'nazwa' => $nazwa,
'ulica' => $ulica,
'numerDomu' => $numerDomu,
'numerLokalu' => $numerLokalu,
'miejscowosc' => $miejscowosc,
'kodPocztowy' => $kodPocztowy,
'kraj' => $kraj,
'idProfil' => $idProfil,
'nazwaSkrocona' => $nazwSkrocona
);
$result = $this->_callWebservice ('updatePrrofil', array('profil' => $params));
return $result;
}
}

View File

@@ -0,0 +1,719 @@
<?php
require_once __DIR__ .'/../Soap/Client.php';
/**
*
*/
abstract class Resource {
/**
*
* @var type
*/
private static $_webService = null;
private static $api_url = "https://e-nadawca.poczta-polska.pl/websrv/labs.wsdl";
private static $api_url_endpoint = "https://e-nadawca.poczta-polska.pl/websrv/labs.php";
public static $test_api_url = "https://en-testwebapi2.poczta-polska.pl/websrv/labs.wsdl";
public static $test_api_url_endpoint = "https://en-testwebapi2.poczta-polska.pl/websrv/labs.php";
/**
*
* @var type
*/
private $_url = '';
/**
*
* @var type
*/
private $_username = '';
/**
*
* @var type
*/
private $_password = '';
/**
*
* @var type
*/
private $_location = '';
/**
*
* @var type
*/
private $_debug = false;
protected $_options = array();
/**
*
* @var type
*/
protected $_errorHandler = null;
private $_logger = null;
private $_errors = array();
/**
*
* @param type $class
* @return type
*/
public static function autoload($class) {
$path = dirname(__FILE__) . '/' . str_replace('_', '/', $class) . '.php';
if (!file_exists($path)) {
return;
}
require_once $path;
}
/**
*
* @return type
*/
protected function _getWebservice() {
if (is_null(self::$_webService)) {
self::$_webService = new Client($this->_url, $this->_username, $this->_password, $this->_location, $this->_debug, $this->_options);
}
return self::$_webService;
}
/**
*
*/
public function init() {
$this->_setConnectionParams();
$this->_logger = new ENadawcaErrorLogger();
}
public function resetWebservice(){
self::$_webService = null;
}
/**
*
*/
private function _setConnectionParams() {
$this->_url = Configuration::get(PPSetting::PP_TEST_URL)?self::$test_api_url:self::$api_url;
$this->_location = Configuration::get(PPSetting::PP_TEST_URL)?self::$test_api_url_endpoint:self::$api_url_endpoint;
$this->_username = Configuration::get(PPSetting::PP_USER);
$this->_password = Configuration::get(PPSetting::PP_PASSWORD);
}
protected function _callWebService($function_name, $parameters = array(), array $options = null) {
try {
$this->_errors = array();
return $this->_getWebservice()->call($function_name, $parameters, $options);
} catch (ClientException $e) {
$this->_errors[] = Translate::getAdminTranslation('Wystąpił błąd komunikacji z Elektronicznym Nadawcą');
$this->_logger->logException($e);
} catch (ENadawcaException $e) {
$this->_errors[] = Translate::getAdminTranslation($e->getMessage());
$this->_logger->logException($e);
}
return false;
}
public function getErrors() {
$errors = $this->_errors;
return $errors;
}
public function hasErrors() {
return !empty($this->_errors);
}
/**
*
* @return type
*/
public function createGuid() {
mt_srand((double) microtime() * 10000);
$charid = strtoupper(md5(uniqid(rand(), true)));
$retval = substr($charid, 0, 32);
return $retval;
}
}
/**
*
*/
abstract class ShipmentCategory {
const EKONOMICZNA = 'EKONOMICZNA';
const PRIORYTETOWA = 'PRIORYTETOWA';
}
/**
*
*/
abstract class Gabaryt {
const A = 'GABARYT_A';
const B = 'GABARYT_B';
}
/**
*
*/
class paczkaPocztowaPLUSType {
public $posteRestante; // boolean
public $iloscPotwierdzenOdbioru; // iloscPotwierdzenOdbioruType
public $kategoria; // kategoriaType
public $gabaryt; // gabarytType
public $wartosc; // wartoscType
public $masa; // masaType
public $zwrotDoslanie; // boolean
}
/**
*
*/
class przesylkaPobraniowaType {
public $pobranie; // pobranieType
public $posteRestante; // boolean
public $iloscPotwierdzenOdbioru; // iloscPotwierdzenOdbioruType
public $kategoria; // kategoriaType
public $gabaryt; // gabarytType
public $ostroznie; // boolean
public $wartosc; // wartoscType
public $masa; // masaType
}
/**
*
*/
class przesylkaNaWarunkachSzczegolnychType {
public $posteRestante; // boolean
public $iloscPotwierdzenOdbioru; // iloscPotwierdzenOdbioruType
public $kategoria; // kategoriaType
public $wartosc; // wartoscType
public $masa; // masaType
}
/**
*
*/
class przesylkaPoleconaKrajowaType {
public $epo; // EPOType
public $zasadySpecjalne; // zasadySpecjalneEnum
public $posteRestante; // boolean
public $iloscPotwierdzenOdbioru; // iloscPotwierdzenOdbioruType
public $kategoria; // kategoriaType
public $gabaryt; // gabarytType
public $format;
public $masa; // masaType
public $egzemplarzBiblioteczny; // boolean
public $dlaOciemnialych; // boolean
public $obszarMiasto; // boolean
public $miejscowa; // boolean
public $opis;
}
/**
*
*/
class przesylkaHandlowaType {
public $posteRestante; // boolean
public $masa; // masaType
}
/**
*
*/
class przesylkaListowaZadeklarowanaWartoscType {
public $posteRestante; // boolean
public $wartosc; // wartoscType
public $iloscPotwierdzenOdbioru; // iloscPotwierdzenOdbioruType
public $kategoria; // kategoriaType
public $gabaryt; // gabarytType
public $masa; // masaType
}
/**
*
*/
class przesylkaFullType {
public $przesylkaShort; // przesylkaShortType
public $przesylkaFull; // przesylkaType
}
/**
*
*/
class przesylkaZagranicznaType {
public $posteRestante; // boolean
public $kategoria; // kategoriaType
public $masa; // masaType
public $ekspres; // boolean
public $kraj; // string
}
/**
*
*/
class przesylkaRejestrowanaType {
public $adres; // adresType
public $nadawca; // adresType
public $relatedToAllegro; // relatedToAllegroType
public $numerNadania; // numerNadaniaType
public $sygnatura; // sygnaturaType
public $terminSprawy; // terminType
public $rodzaj; // rodzajType
public $weryfikacjaPlatnosci; // boolean
}
/**
*
*/
class przesylkaNieRejestrowanaType {
public $ilosc; // anonymous97
}
/**
*
*/
class paczkaPocztowaType {
public $epo; // EPOType
public $zasadySpecjalne; // zasadySpecjalneEnum
public $posteRestante; // boolean
public $iloscPotwierdzenOdbioru; // iloscPotwierdzenOdbioruType
public $kategoria; // kategoriaType
public $gabaryt; // gabarytType
public $masa; // masaType
public $wartosc; // wartoscType
public $zwrotDoslanie; // boolean
public $egzemplarzBiblioteczny; // boolean
public $dlaOciemnialych; // boolean
public $opis;//string
}
/**
*
*/
class Adres {
public $nazwa;
public $nazwa2;
public $ulica;
public $numerDomu;
public $numerLokalu;
public $miejscowosc;
public $kodPocztowy;
public $kraj;
public $telefon;
public $email;
public $mobile;
public $osobaKontaktowa;
public $nip;
public static function get($params = array()) {
$self = new self;
foreach ($params as $k => $v) {
$self->$k = $v;
}
return (array) $self;
}
}
class Pobranie {
public $sposobPobrania;
public $kwotaPobrania;
public $nrb;
public $tytulem;
public $sprawdzenieZawartosciPrzesylkiPrzezOdbiorce;
const SPOSOB_POBRANIA_PRZEKAZ = 'PRZEKAZ';
const SPOSOB_POBRANIA_RACHUNEK_BANKOWY = 'RACHUNEK_BANKOWY';
}
class Ubezpieczenie {
public $rodzaj;
public $kwota;
const RODZAJ_STANDARD = 'STANDARD';
const RODZAJ_PRECJOZA = 'PRECJOZA';
}
class globalExpresType {
public $ubezpieczenie; // ubezpieczenieType
public $potwierdzenieDoreczenia; // potwierdzenieDoreczeniaType
public $masa; // masaType
public $posteRestante; // boolean
public $zawartosc; // string
public $kategoria; // kategoriaType
public $numerPrzesylkiKlienta; // string
}
class przesylkaFirmowaPoleconaType {
public $epo; // EPOType
public $zasadySpecjalne; // zasadySpecjalneEnum
public $posteRestante; // boolean
public $iloscPotwierdzenOdbioru; // iloscPotwierdzenOdbioruType
public $masa; // masaType
public $miejscowa; // boolean
public $obszarMiasto; // boolean
public $kategoria; // kategoriaType
public $gabaryt; // gabarytType
public $opis;
}
class EMSType {
public $ubezpieczenie; // ubezpieczenieType
public $deklaracjaCelna; // deklaracjaCelnaType
public $potwierdzenieDoreczenia; //potwierdzenieDoreczeniaType
public $typOpakowania; // EMSTypOpakowaniaType
public $masa; // masaType
public $zalaczoneDokumenty; // boolean
public $opis;
}
class paczkaZagranicznaType {
public $zwrot; // zwrotType
public $deklaracjaCelna; // deklaracjaCelnaType
public $posteRestante; // boolean
public $masa; // masaType
public $wartosc; // wartoscType
public $kategoria; // kategoriaType
public $iloscPotwierdzenOdbioru; // iloscPotwierdzenOdbioruType
public $utrudnionaManipulacja; // boolean
public $ekspres; // boolean
public $numerReferencyjnyCelny; // string
public $opis;
}
class przesylkaPoleconaZagranicznaType {
public $posteRestante;
public $kategoria;
public $masa;
public $iloscPotwierdzenOdbioru;
public $ekspres;
public $opis;
}
class PotwierdzenieDoreczenia {
public $sposob; // sposobDoreczeniaPotwierdzeniaType
public $kontakt; // string
}
class przesylkaBiznesowaType {
public $pobranie; // pobranieType
public $urzadWydaniaEPrzesylki; // urzadWydaniaEPrzesylkiType
public $subPrzesylka; // subPrzesylkaBiznesowaType
public $ubezpieczenie; // ubezpieczenieType
public $epo; // EPOType
public $adresDlaZwrotu; //adresDlaZwrotuType
public $zasadySpecjalne; // zasadySpecjalneEnum
public $masa; // masaType
public $gabaryt; // gabarytBiznesowaType
public $wartosc; // wartoscType
public $ostroznie; // boolean
public $numerTransakcjiOdbioru; // numerTransakcjiOdbioruType
public $opis;
public $guid;
public $niestandardowa;
public $potwierdzenieOdbioru;
public $doreczenie;
public $zwrotDokumentow;
public $sprawdzenieZawartosciPrzesylkiPrzezOdbiorce; // boolean
}
class pocztexKrajowyType {
public $pobranie; // pobranieType
public $odbiorPrzesylkiOdNadawcy; // odbiorPrzesylkiOdNadawcyType
public $doreczenie; // doreczenieType
public $zwrotDokumentow; // zwrotDokumentowType
public $potwierdzenieOdbioru; // potwierdzenieOdbioruType
public $potwierdzenieDoreczenia; // potwierdzenieDoreczeniaType
public $ubezpieczenie; // ubezpieczenieType
public $posteRestante; // boolean
public $terminRodzaj; // terminRodzajType
public $kopertaFirmowa; // boolean
public $masa; // masaType
public $wartosc; // wartoscType
public $ostroznie; // boolean
public $ponadgabaryt; // boolean
public $uiszczaOplate; // uiszczaOplateType
public $odleglosc; // int
public $zawartosc; // string
public $sprawdzenieZawartosciPrzesylkiPrzezOdbiorce; // boolean
}
class uslugaKurierskaType {
public $pobranie; // pobranieType
public $odbiorPrzesylkiOdNadawcy; // odbiorPrzesylkiOdNadawcyType
public $potwierdzenieDoreczenia; // potwierdzenieDoreczeniaType
public $urzadWydaniaEPrzesylki; // urzadWydaniaEPrzesylkiType
public $subPrzesylka; // subUslugaKurierskaType
public $potwierdzenieOdbioru; // potwierdzenieOdbioruKurierskaType
public $ubezpieczenie; // ubezpieczenieType
public $zwrotDokumentow; // zwrotDokumentowKurierskaType
public $idDokumentyZwrotneAdresy;
public $doreczenie; // doreczenieUslugaKurierskaType
public $epo; // EPOType
public $adresDlaZwrotu;
public $zasadySpecjalne; // zasadySpecjalneEnum
public $masa; // masaType
public $wartosc; // wartoscType
public $ponadgabaryt; // boolean
public $odleglosc; // int
public $zawartosc; // string
public $sprawdzenieZawartosciPrzesylkiPrzezOdbiorce; // boolean
public $ostroznie; // boolean
public $uiszczaOplate; // uiszczaOplateType
public $termin; // terminKurierskaType
public $opakowanie; // opakowanieKurierskaType
public $numerPrzesylkiKlienta; // string
public $numerTransakcjiOdbioru; // numerTransakcjiOdbioruType
public $opis;
}
class PlacowkaPocztowa {
public $lokalizacjaGeograficzna; // lokalizacjaGeograficznaType
public $id; // int
public $prefixNazwy; // string
public $nazwa; // string
public $wojewodztwo; // string
public $powiat; // string
public $miejsce; // string
public $kodPocztowy; // anonymous127
public $miejscowosc; // anonymous128
public $ulica; // string
public $numerDomu; // string
public $numerLokalu; // string
public $nazwaWydruk; // string
public $punktWydaniaEPrzesylki; // boolean
public $powiadomienieSMS; // boolean
public $punktWydaniaPrzesylkiBiznesowejPlus; // boolean
public $punktWydaniaPrzesylkiBiznesowej; // boolean
public $siecPlacowek; // siecPlacowekEnum
public $idZPO; // string
}
class TerminRodzaj {
const MIEJSKI_DO_3H_DO_5KM = 'MIEJSKI_DO_3H_DO_5KM';
const MIEJSKI_DO_3H_DO_10KM = 'MIEJSKI_DO_3H_DO_10KM';
const MIEJSKI_DO_3H_DO_15KM = 'MIEJSKI_DO_3H_DO_15KM';
const MIEJSKI_DO_3H_POWYZEJ_15KM = 'MIEJSKI_DO_3H_POWYZEJ_15KM';
const MIEJSKI_DO_4H_DO_10KM = 'MIEJSKI_DO_4H_DO_10KM';
const MIEJSKI_DO_4H_DO_15KM = 'MIEJSKI_DO_4H_DO_15KM';
const MIEJSKI_DO_4H_DO_20KM = 'MIEJSKI_DO_4H_DO_20KM';
const MIEJSKI_DO_4H_DO_30KM = 'MIEJSKI_DO_4H_DO_30KM';
const MIEJSKI_DO_4H_DO_40KM = 'MIEJSKI_DO_4H_DO_40KM';
const KRAJOWY = 'KRAJOWY';
const BEZPOSREDNI_DO_20KG = 'BEZPOSREDNI_DO_20KG';
const BEZPOSREDNI_DO_30KG = 'BEZPOSREDNI_DO_30KG';
const BEZPOSREDNI_OD_30KG_DO_100KG = 'BEZPOSREDNI_OD_30KG_DO_100KG';
const EKSPRES24 = 'EKSPRES24';
}
class UiszczaOplate{
const NADAWCA = 'NADAWCA';
const ADRESAT = 'ADRESAT';
}
class DoreczenieUslugaKurierska {
public $oczekiwanyTerminDoreczenia; // date
public $oczekiwanaGodzinaDoreczenia; // oczekiwanaGodzinaDoreczeniaUslugiType
public $wSobote; // boolean
public $w90Minut; // boolean
public $wNiedzieleLubSwieto; // boolean
public $doRakWlasnych; // boolean
public $wGodzinachOd20Do7; // boolean
public $po17; // boolean
}
class PotwierdzenieOdbioru {
public $ilosc;
public $sposob;
}
class OdbiorPrzesylkiOdNadawcy{
public $wSobote; // boolean
public $wNiedzieleLubSwieto; // boolean
public $wGodzinachOd20Do7; // boolean
}
class ZwrotDokumentowKurierska {
public $rodzajPocztex; // terminZwrotDokumentowKurierskaType
public $rodzajPaczka; // terminZwrotDokumentowPaczkowaType
public $rodzajList; // rodzajListType
}
class rodzajListType {
public $polecony; // boolean
public $kategoria; // kategoriaType
}
class Zwrot {
public $zwrotPoLiczbieDni; // int
public $traktowacJakPorzucona; // boolean
public $sposobZwrotu; // sposobZwrotuType
}
class subPrzesylkaBiznesowaType {
public $ubezpieczenie; // ubezpieczenieType
public $numerNadania; // numerNadaniaType
public $masa; // masaType
public $gabaryt; // gabarytBiznesowaType
public $wartosc; // wartoscType
public $ostroznie; // boolean
public $guid; // guid paczki
}
class subUslugaKurierskaType {
public $pobranie; // pobranieType
public $ubezpieczenie; // ubezpieczenieType
public $numerNadania; // numerNadaniaType
public $masa; // masaType
public $wartosc; // wartoscType
public $ostroznie; // boolean
public $opakowanie; // opakowanieKurierskaType
public $ponadgabaryt; // boolean
public $numerPrzesylkiKlienta; // string
}
class kartaType {
public $idKarta; // int
public $opis; // string
public $aktywna; // boolean
}
class doreczenieBiznesowaType {
public $doRakWlasnych;
}
class zwrotDokumentowBiznesowaType {
public $rodzaj;
public $idDokumentyZwrotneAdresy;
}
class pocztex2021KurierType
{
public $subPrzesylka;
public $punktOdbioru;
public $punktNadania;
public $kopertaPocztex;
public $godzinaDoreczenia;
public $doreczenieWeWskazanymDniu;
}
class subPocztex2021KurierType
{
public $pobranie;
public $ubezpieczenie;
public $numerNadania;
public $masa;
public $wartosc;
public $ostroznie;
public $ponadgabaryt;
public $format;
public $numerPrzesylkiKlienta;
}
class pocztex2021NaDzisType
{
public $subPrzesylka;
public $odleglosc;
public $obszar;
}
class subPocztex2021NaDzisType
{
public $pobranie;
public $ubezpieczenie;
public $numerNadania;
public $masa;
public $wartosc;
public $ostroznie;
public $ponadgabaryt;
public $format;
public $numerPrzesylkiKlienta;
}
class zawartoscPocztex2021Type {
public $zawartoscSpecjalna;
public $zawartoscInna;
}
class potwierdzenieEDoreczeniaType {
public $sposob;
public $kontakt;
}
class placowkaPocztowaType {
public $id; // int
public $prefixNazwy; // string
public $nazwa; // string
public $siecPlacowek;
public $wojewodztwo; // string
public $powiat; // string
public $miejsce; // string
public $kodPocztowy; // anonymous127
public $miejscowosc; // anonymous128
public $ulica; // string
public $numerDomu; // string
public $numerLokalu; // string
public $nazwaWydruk; // string
public $punktWydaniaEPrzesylki; // boolean
public $powiadomienieSMS; // boolean
public $punktWydaniaPrzesylkiBiznesowejPlus; // boolean
public $lokalizacjaGeograficzna;
public $punktWydaniaPrzesylkiBiznesowej; // boolean
public $deliveryPath;
}

View File

@@ -0,0 +1,574 @@
<?php
/**
* Klasa odpowiadajaca za dodawanie przesyłek
*/
class Shipment extends Resource {
/**
* tablica przesyłek do dodania
* @var array
*/
private $_przesylki = array();
/**
* Metoda umozliwiająca dodanie paczkki Pocztowej
* @param $adres
* @param type $kategoria
* @param type $gabaryt
* @param type $masa
* @param type $wartosc
* @param type $zwrotDoslanie
* @param type $posteRestante
* @param type $iloscPotwierdzenOdbioru
* @param type $egzemplarzBiblioteczny
* @param type $dlaOciemnialych
* @return boolean
*/
public function addPaczkaPocztowa($adres, $kategoria, $gabaryt, $masa, $wartosc, $zwrotDoslanie, $posteRestante = false, $iloscPotwierdzenOdbioru = 0, $egzemplarzBiblioteczny = false, $dlaOciemnialych = false, $opis = '') {
$paczka = new paczkaPocztowaType();
$paczka->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 '';
}
}

View File

@@ -0,0 +1,28 @@
<?php
/**
* Klasa odpowiadajaca za pobieranie urzędów nadania
*/
class UrzedyNadania extends Resource {
/**
* Metoda pozwala pobrać wszystkie urzędy nadania, dla których nadający ma podpisaną umowę z PP
* @param type $param
* @return array
*/
public function get($param = '') {
$result = $this->_callWebservice('getUrzedyNadania');
if (isset($result['urzedyNadania']['urzadNadania'])) {
$result['urzedyNadania'] = array($result['urzedyNadania']);
}
if (!empty($param) && isset($result[$param])) {
foreach ($result as $v) {
if (isset($v['urzadNadania']) && $v['urzadNadania'] === $param) {
return $v;
}
}
}
return $result['urzedyNadania'];
}
}