Ejemplo n.º 1
0
 // ПОДАТЕЛ: Клиент на EPS
 // ПОЛУЧАТЕЛ: ИВАНОВИ ООД, с лице за контакт ИВАН ИВАНОВ, тел. 0888 888 888
 //-------------------------------------------------------------------------------------------------------------------
 // Данни за подател
 $sender = new ParamClientData();
 $sender->setClientId($senderClientData->getClientId());
 $sender->setContactName($clientConfiguration->contactName);
 $senderPhoneNumber = new ParamPhoneNumber();
 $senderPhoneNumber->setNumber($clientConfiguration->contactPhone);
 $sender->setPhones(array(0 => $senderPhoneNumber));
 echo "<br><br><br><br>";
 echo "Данни за подател:<br>";
 echo "-----------------<br>";
 var_dump($sender);
 // Данни за получател
 $receiver = new ParamClientData();
 //Предвиждаме пратката да е до поискване, в този случай не подаваме адрес на получател,
 //защото адреса на получателя е адреса на офиса до пискване
 //receiver.setAddress(receiverAddress);
 $receiver->setPartnerName($recieverData->partnerName);
 $paramPhoneNumber = new ParamPhoneNumber();
 $paramPhoneNumber->setNumber($recieverData->contactPhone);
 $receiver->setPhones(array(0 => $paramPhoneNumber));
 $receiver->setContactName($recieverData->contactName);
 echo "<br><br>";
 echo "Данни за получател:<br>";
 echo "-------------------<br>";
 var_dump($receiver);
 /*
     // Данни за товарителница
     echo "<br><br><br><br>";
Ejemplo n.º 2
0
 /**
  * Return standard class from this class
  * @return stdClass
  */
 public function toStdClass()
 {
     $stdClass = new stdClass();
     $stdClass->billOfLading = $this->_billOfLading;
     $stdClass->takingDate = $this->_takingDate;
     $stdClass->serviceTypeId = $this->_serviceTypeId;
     $stdClass->officeToBeCalledId = $this->_officeToBeCalledId;
     if (isset($this->_optionsBeforePayment)) {
         $stdClass->optionsBeforePayment = $this->_optionsBeforePayment->toStdClass();
     }
     $stdClass->fixedTimeDelivery = $this->_fixedTimeDelivery;
     $stdClass->deferredDeliveryWorkDays = $this->_deferredDeliveryWorkDays;
     $stdClass->backDocumentsRequest = $this->_backDocumentsRequest;
     $stdClass->backReceiptRequest = $this->_backReceiptRequest;
     $stdClass->willBringToOffice = $this->_willBringToOffice;
     $stdClass->willBringToOfficeId = $this->_willBringToOfficeId;
     $stdClass->specialDeliveryId = $this->_specialDeliveryId;
     $stdClass->amountInsuranceBase = $this->_amountInsuranceBase;
     $stdClass->amountCodBase = $this->_amountCodBase;
     $stdClass->payCodToThirdParty = $this->_payCodToThirdParty;
     $stdClass->retMoneyTransferReqAmount = $this->_retMoneyTransferReqAmount;
     $stdClass->retThirdPartyPayer = $this->_retThirdPartyPayer;
     $stdClass->parcelsCount = $this->_parcelsCount;
     if (isset($this->_size)) {
         $stdClass->size = $this->_size->toStdClass();
     }
     $stdClass->weightDeclared = $this->_weightDeclared;
     $stdClass->contents = $this->_contents;
     $stdClass->packing = $this->_packing;
     $arrStdClassParamPackings = array();
     if (isset($this->_packings)) {
         if (is_array($this->_packings)) {
             for ($i = 0; $i < count($this->_packings); $i++) {
                 $arrStdClassParamPackings[$i] = $this->_packings[$i]->toStdClass();
             }
         } else {
             $arrStdClassParamPackings[0] = $this->_packings->toStdClass();
         }
     }
     $stdClass->packings = $arrStdClassParamPackings;
     $stdClass->packId = $this->_packId;
     $stdClass->documents = $this->_documents;
     $stdClass->fragile = $this->_fragile;
     $stdClass->palletized = $this->_palletized;
     if (isset($this->_sender)) {
         $stdClass->sender = $this->_sender->toStdClass();
     }
     if (isset($this->_receiver)) {
         $stdClass->receiver = $this->_receiver->toStdClass();
     }
     $stdClass->payerType = $this->_payerType;
     $stdClass->payerRefId = $this->_payerRefId;
     $stdClass->payerTypeInsurance = $this->_payerTypeInsurance;
     $stdClass->payerTypePackings = $this->_payerTypePackings;
     $stdClass->payerRefInsuranceId = $this->_payerRefInsuranceId;
     $stdClass->payerRefPackingsId = $this->_payerRefPackingsId;
     $stdClass->noteClient = $this->_noteClient;
     if (isset($this->_discCalc)) {
         $stdClass->discCalc = $this->_discCalc->toStdClass();
     }
     $stdClass->retToClientId = $this->_retToClientId;
     $stdClass->ref1 = $this->_ref1;
     $stdClass->ref2 = $this->_ref2;
     $stdClass->clientSystemId = $this->_clientSystemId;
     $arrStdClassParamParcelInfo = array();
     if (isset($this->_parcels)) {
         if (is_array($this->_parcels)) {
             for ($i = 0; $i < count($this->_parcels); $i++) {
                 $arrStdClassParamParcelInfo[$i] = $this->_parcels[$i]->toStdClass();
             }
         } else {
             $arrStdClassParamParcelInfo[0] = $this->_parcels->toStdClass();
         }
     }
     $stdClass->parcels = $arrStdClassParamParcelInfo;
     $stdClass->skipAutomaticParcelsCreation = $this->_skipAutomaticParcelsCreation;
     $stdClass->pendingParcelsDescription = $this->_pendingParcelsDescription;
     $stdClass->pendingShipmentDescription = $this->_pendingShipmentDescription;
     $arrStdClassParamReturnServiceRequest = array();
     if (isset($this->_retServicesRequest)) {
         if (is_array($this->_retServicesRequest)) {
             for ($i = 0; $i < count($this->_retServicesRequest); $i++) {
                 $arrStdClassParamReturnServiceRequest[$i] = $this->_retServicesRequest[$i]->toStdClass();
             }
         } else {
             $arrStdClassParamReturnServiceRequest[0] = $this->_retServicesRequest->toStdClass();
         }
     }
     $stdClass->retServicesRequest = $arrStdClassParamReturnServiceRequest;
     if (isset($this->_retShipmentRequest)) {
         $stdClass->retShipmentRequest = $this->_retShipmentRequest->toStdClass();
     }
     return $stdClass;
 }
Ejemplo n.º 3
0
 /** Creates bill of loading
  * @param $data
  * @param $order
  * @return array
  */
 public function createBillOfLading($data, $order)
 {
     require_once __DIR__ . '/lib/speedy-eps-lib/ver01/ParamCalculation.class.php';
     $this->_error = '';
     $bol = array();
     if (isset($this->resultLogin)) {
         try {
             $sender = new \ParamClientData();
             $sender->setClientId($this->resultLogin->getClientId());
             if ($this->config->get('speedy_telephone')) {
                 $senderPhone = new \ParamPhoneNumber();
                 $senderPhone->setNumber($this->config->get('speedy_telephone'));
                 $sender->setPhones(array(0 => $senderPhone));
             }
             $receiverAddress = new \ParamAddress();
             $receiverAddress->setSiteId($data['city_id']);
             if ($data['quarter']) {
                 $receiverAddress->setQuarterName($data['quarter']);
             }
             if ($data['quarter_id']) {
                 $receiverAddress->setQuarterId($data['quarter_id']);
             }
             if ($data['street']) {
                 $receiverAddress->setStreetName($data['street']);
             }
             if ($data['street_id']) {
                 $receiverAddress->setStreetId($data['street_id']);
             }
             if ($data['street_no']) {
                 $receiverAddress->setStreetNo($data['street_no']);
             }
             if ($data['block_no']) {
                 $receiverAddress->setBlockNo($data['block_no']);
             }
             if ($data['entrance_no']) {
                 $receiverAddress->setEntranceNo($data['entrance_no']);
             }
             if ($data['floor_no']) {
                 $receiverAddress->setFloorNo($data['floor_no']);
             }
             if ($data['apartment_no']) {
                 $receiverAddress->setApartmentNo($data['apartment_no']);
             }
             if ($data['note']) {
                 $receiverAddress->setAddressNote($data['note']);
             }
             $receiver = new \ParamClientData();
             $receiver->setPartnerName($order['firstname'] . ' ' . $order['lastname']);
             $receiverPhone = new \ParamPhoneNumber();
             $receiverPhone->setNumber($order['telephone']);
             $receiver->setPhones(array(0 => $receiverPhone));
             $receiver->setEmail($order['email']);
             $picking = new \ParamPicking();
             $picking->setClientSystemId(1310221100);
             //OpenCart
             $picking->setRef1($order['order_id']);
             if ($data['depth'] || $data['height'] || $data['width']) {
                 $size = new Size();
                 if ($data['depth']) {
                     $size->setDepth($data['depth']);
                 }
                 if ($data['height']) {
                     $size->setHeight($data['height']);
                 }
                 if ($data['width']) {
                     $size->setWidth($data['width']);
                 }
                 $picking->setSize($size);
             }
             if (!empty($data['fixed_time'])) {
                 $picking->setFixedTimeDelivery($data['fixed_time']);
             }
             $picking->setServiceTypeId($data['shipping_method_id']);
             if ($data['to_office'] && $data['office_id']) {
                 $picking->setOfficeToBeCalledId($data['office_id']);
             } else {
                 $receiver->setAddress($receiverAddress);
                 $picking->setOfficeToBeCalledId(null);
             }
             $picking->setBackDocumentsRequest($this->config->get('speedy_back_documents'));
             $picking->setBackReceiptRequest($this->config->get('speedy_back_receipt'));
             if ($this->config->get('speedy_from_office') && $this->config->get('speedy_office_id')) {
                 $picking->setWillBringToOffice(true);
                 $picking->setWillBringToOfficeId($this->config->get('speedy_office_id'));
             } else {
                 $picking->setWillBringToOffice(false);
             }
             $picking->setParcelsCount($data['count']);
             $picking->setWeightDeclared($data['weight']);
             $picking->setContents($data['contents']);
             $picking->setPacking($data['packing']);
             $picking->setPackId(null);
             $picking->setDocuments($this->config->get('speedy_documents'));
             $picking->setPalletized(false);
             $payerType = $this->getPayerType($order['order_id'], $data['shipping_method_cost']);
             if ($data['insurance']) {
                 if ($data['fragile']) {
                     $picking->setFragile(true);
                 } else {
                     $picking->setFragile(false);
                 }
                 $picking->setAmountInsuranceBase($data['totalNoShipping']);
                 /*
                                     if ($this->config->get('speedy_pricing') == 'free' || $this->config->get('speedy_pricing') == 'fixed') {
                                         $picking->setPayerTypeInsurance($payerType);
                                     } else {
                                         $picking->setPayerTypeInsurance($payerType);
                                     } */
                 $picking->setPayerTypeInsurance($payerType);
             } else {
                 $picking->setFragile(false);
             }
             $picking->setSender($sender);
             $picking->setReceiver($receiver);
             /*
                             if ($this->config->get('speedy_pricing') == 'free' || $this->config->get('speedy_pricing') == 'fixed') {
                                 $picking->setPayerType($payerType);
                             } else {
                                   $picking->setPayerType($payerType);
                             }
             */
             $picking->setPayerType($payerType);
             $picking->setTakingDate($data['taking_date']);
             if ($data['deffered_days']) {
                 $picking->setDeferredDeliveryWorkDays($data['deffered_days']);
             }
             if ($data['client_note']) {
                 $picking->setNoteClient($data['client_note']);
             }
             if ($data['cod']) {
                 $picking->setAmountCodBase($data['total']);
             } else {
                 $picking->setAmountCodBase(0);
             }
             $result = $this->ePSFacade->createBillOfLading($picking);
             $parcels = $result->getGeneratedParcels();
             $bol['bol_id'] = $parcels[0]->getParcelId();
             $bol['total'] = $result->getAmounts()->getTotal();
         } catch (\Exception $e) {
             $this->_error = $e->getMessage();
             $this->log->addError('Speedy :: createBillOfLading :: ' . $e->getMessage());
         }
     }
     return $bol;
 }