protected function SetupPackageType() { // Lookup Object PK information from Query String (if applicable) // Set mode to Edit or New depending on what's found $intPackageTypeId = QApplication::QueryString('intPackageTypeId'); if ($intPackageTypeId) { $this->objPackageType = PackageType::Load($intPackageTypeId); if (!$this->objPackageType) { throw new Exception('Could not find a PackageType object with PK arguments: ' . $intPackageTypeId); } $this->strTitleVerb = QApplication::Translate('Edit'); $this->blnEditMode = true; } else { $this->objPackageType = new PackageType(); $this->strTitleVerb = QApplication::Translate('Create'); $this->blnEditMode = false; } }
/** * Override method to perform a property "Get" * This will get the value of $strName * * @param string $strName Name of the property to get * @return mixed */ public function __get($strName) { switch ($strName) { /////////////////// // Member Variables /////////////////// case 'FedexShipmentId': /** * Gets the value for intFedexShipmentId (Read-Only PK) * @return integer */ return $this->intFedexShipmentId; case 'ShipmentId': /** * Gets the value for intShipmentId (Not Null) * @return integer */ return $this->intShipmentId; case 'PackageTypeId': /** * Gets the value for intPackageTypeId * @return integer */ return $this->intPackageTypeId; case 'ShippingAccountId': /** * Gets the value for intShippingAccountId * @return integer */ return $this->intShippingAccountId; case 'FedexServiceTypeId': /** * Gets the value for intFedexServiceTypeId * @return integer */ return $this->intFedexServiceTypeId; case 'CurrencyUnitId': /** * Gets the value for intCurrencyUnitId * @return integer */ return $this->intCurrencyUnitId; case 'WeightUnitId': /** * Gets the value for intWeightUnitId * @return integer */ return $this->intWeightUnitId; case 'LengthUnitId': /** * Gets the value for intLengthUnitId * @return integer */ return $this->intLengthUnitId; case 'ToPhone': /** * Gets the value for strToPhone * @return string */ return $this->strToPhone; case 'PayType': /** * Gets the value for intPayType * @return integer */ return $this->intPayType; case 'PayerAccountNumber': /** * Gets the value for strPayerAccountNumber * @return string */ return $this->strPayerAccountNumber; case 'PackageWeight': /** * Gets the value for fltPackageWeight * @return double */ return $this->fltPackageWeight; case 'PackageLength': /** * Gets the value for fltPackageLength * @return double */ return $this->fltPackageLength; case 'PackageWidth': /** * Gets the value for fltPackageWidth * @return double */ return $this->fltPackageWidth; case 'PackageHeight': /** * Gets the value for fltPackageHeight * @return double */ return $this->fltPackageHeight; case 'DeclaredValue': /** * Gets the value for fltDeclaredValue * @return double */ return $this->fltDeclaredValue; case 'Reference': /** * Gets the value for strReference * @return string */ return $this->strReference; case 'SaturdayDeliveryFlag': /** * Gets the value for blnSaturdayDeliveryFlag * @return boolean */ return $this->blnSaturdayDeliveryFlag; case 'NotifySenderEmail': /** * Gets the value for strNotifySenderEmail * @return string */ return $this->strNotifySenderEmail; case 'NotifySenderShipFlag': /** * Gets the value for blnNotifySenderShipFlag * @return boolean */ return $this->blnNotifySenderShipFlag; case 'NotifySenderExceptionFlag': /** * Gets the value for blnNotifySenderExceptionFlag * @return boolean */ return $this->blnNotifySenderExceptionFlag; case 'NotifySenderDeliveryFlag': /** * Gets the value for blnNotifySenderDeliveryFlag * @return boolean */ return $this->blnNotifySenderDeliveryFlag; case 'NotifyRecipientEmail': /** * Gets the value for strNotifyRecipientEmail * @return string */ return $this->strNotifyRecipientEmail; case 'NotifyRecipientShipFlag': /** * Gets the value for blnNotifyRecipientShipFlag * @return boolean */ return $this->blnNotifyRecipientShipFlag; case 'NotifyRecipientExceptionFlag': /** * Gets the value for blnNotifyRecipientExceptionFlag * @return boolean */ return $this->blnNotifyRecipientExceptionFlag; case 'NotifyRecipientDeliveryFlag': /** * Gets the value for blnNotifyRecipientDeliveryFlag * @return boolean */ return $this->blnNotifyRecipientDeliveryFlag; case 'NotifyOtherEmail': /** * Gets the value for strNotifyOtherEmail * @return string */ return $this->strNotifyOtherEmail; case 'NotifyOtherShipFlag': /** * Gets the value for blnNotifyOtherShipFlag * @return boolean */ return $this->blnNotifyOtherShipFlag; case 'NotifyOtherExceptionFlag': /** * Gets the value for blnNotifyOtherExceptionFlag * @return boolean */ return $this->blnNotifyOtherExceptionFlag; case 'NotifyOtherDeliveryFlag': /** * Gets the value for blnNotifyOtherDeliveryFlag * @return boolean */ return $this->blnNotifyOtherDeliveryFlag; case 'HoldAtLocationFlag': /** * Gets the value for blnHoldAtLocationFlag * @return boolean */ return $this->blnHoldAtLocationFlag; case 'HoldAtLocationAddress': /** * Gets the value for strHoldAtLocationAddress * @return string */ return $this->strHoldAtLocationAddress; case 'HoldAtLocationCity': /** * Gets the value for strHoldAtLocationCity * @return string */ return $this->strHoldAtLocationCity; case 'HoldAtLocationState': /** * Gets the value for intHoldAtLocationState * @return integer */ return $this->intHoldAtLocationState; case 'HoldAtLocationPostalCode': /** * Gets the value for strHoldAtLocationPostalCode * @return string */ return $this->strHoldAtLocationPostalCode; /////////////////// // Member Objects /////////////////// /////////////////// // Member Objects /////////////////// case 'Shipment': /** * Gets the value for the Shipment object referenced by intShipmentId (Not Null) * @return Shipment */ try { if (!$this->objShipment && !is_null($this->intShipmentId)) { $this->objShipment = Shipment::Load($this->intShipmentId); } return $this->objShipment; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'PackageType': /** * Gets the value for the PackageType object referenced by intPackageTypeId * @return PackageType */ try { if (!$this->objPackageType && !is_null($this->intPackageTypeId)) { $this->objPackageType = PackageType::Load($this->intPackageTypeId); } return $this->objPackageType; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'ShippingAccount': /** * Gets the value for the ShippingAccount object referenced by intShippingAccountId * @return ShippingAccount */ try { if (!$this->objShippingAccount && !is_null($this->intShippingAccountId)) { $this->objShippingAccount = ShippingAccount::Load($this->intShippingAccountId); } return $this->objShippingAccount; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'FedexServiceType': /** * Gets the value for the FedexServiceType object referenced by intFedexServiceTypeId * @return FedexServiceType */ try { if (!$this->objFedexServiceType && !is_null($this->intFedexServiceTypeId)) { $this->objFedexServiceType = FedexServiceType::Load($this->intFedexServiceTypeId); } return $this->objFedexServiceType; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'CurrencyUnit': /** * Gets the value for the CurrencyUnit object referenced by intCurrencyUnitId * @return CurrencyUnit */ try { if (!$this->objCurrencyUnit && !is_null($this->intCurrencyUnitId)) { $this->objCurrencyUnit = CurrencyUnit::Load($this->intCurrencyUnitId); } return $this->objCurrencyUnit; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'WeightUnit': /** * Gets the value for the WeightUnit object referenced by intWeightUnitId * @return WeightUnit */ try { if (!$this->objWeightUnit && !is_null($this->intWeightUnitId)) { $this->objWeightUnit = WeightUnit::Load($this->intWeightUnitId); } return $this->objWeightUnit; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'LengthUnit': /** * Gets the value for the LengthUnit object referenced by intLengthUnitId * @return LengthUnit */ try { if (!$this->objLengthUnit && !is_null($this->intLengthUnitId)) { $this->objLengthUnit = LengthUnit::Load($this->intLengthUnitId); } return $this->objLengthUnit; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'HoldAtLocationStateObject': /** * Gets the value for the StateProvince object referenced by intHoldAtLocationState * @return StateProvince */ try { if (!$this->objHoldAtLocationStateObject && !is_null($this->intHoldAtLocationState)) { $this->objHoldAtLocationStateObject = StateProvince::Load($this->intHoldAtLocationState); } return $this->objHoldAtLocationStateObject; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } //////////////////////////// // Virtual Object References (Many to Many and Reverse References) // (If restored via a "Many-to" expansion) //////////////////////////// //////////////////////////// // Virtual Object References (Many to Many and Reverse References) // (If restored via a "Many-to" expansion) //////////////////////////// default: try { return parent::__get($strName); } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } } }
protected function FedEx() { // create new FedExDC object // $fed = new FedExDC($this->objShipment->ShippingAccount->Value); $fxWeightUnit = WeightUnit::Load($this->lstWeightUnit->SelectedValue); $fxLengthUnit = LengthUnit::Load($this->lstLengthUnit->SelectedValue); if ($fxLengthUnit) { $fxLengthUnitShortDescription = $fxLengthUnit->ShortDescription; } else { $fxLengthUnitShortDescription = ''; } // Package Type $fxPackageType = PackageType::Load($this->lstPackageType->SelectedValue); //$fxPackageCount // Not implemented yet - FIXME $shipdate = $this->FxStrip($this->calShipDate->DateTime->__toString(QDateTime::FormatSoap)); $shipdate = substr($shipdate, 0, 8); // create new FedExDC object // $fed = new FedExDC($this->objShipment->ShippingAccount->Value, $this->objShipment->FedexMeterNumber); if ($this->objFedexShipment->ShippingAccountId) { $fed = new FedExDC($this->objFedexShipment->ShippingAccount->AccessId, $this->objFedexShipment->ShippingAccount->AccessCode); } else { // if not billing to a sender account, use the default fedex account from admin_setting for FedEx communication $objFedexAccount = ShippingAccount::Load(QApplication::$TracmorSettings->FedexAccountId); $fed = new FedExDC($objFedexAccount->AccessId, $objFedexAccount->AccessCode); } if ($this->objFedexShipment->ToPhone) { $strRecipientPhone = $this->objFedexShipment->ToPhone; } else { $strRecipientPhone = ''; } if ($this->objShipment->FromAddress->__toStringCountryAbbreviation() != $this->objShipment->ToAddress->__toStringCountryAbbreviation() && ($this->objShipment->FromAddress->__toStringCountryAbbreviation() != 'US' || $this->objShipment->ToAddress->__toStringCountryAbbreviation() != 'CA') && ($this->objShipment->ToAddress->__toStringCountryAbbreviation() != 'US' || $this->objShipment->FromAddress->__toStringCountryAbbreviation() != 'CA')) { $fxIntlSSN = ''; //$this->objShipment->FromContact->Social //Sender's SSN $fxCurrencyUnit = CurrencyUnit::Load($this->lstCurrencyUnit->SelectedValue); $fxIntlCurrencyUnit = $fxCurrencyUnit->ShortDescription; //Recipient Currency $fxIntlCustomsValue = number_format(round($this->txtValue->Text, 2), 2, '.', ''); //Total Customs Value $fxIntlDutiesPayType = '1'; //Duties Pay Type $fxIntlTermsofSale = '1'; //Terms of Sale $fxIntlPartiestoTransation = 'N'; //Parties to Transaction } else { $fxIntlSSN = ''; //Sender's SSN $fxIntlCurrencyUnit = ''; //Recipient Currency $fxIntlCustomsValue = ''; //Total Customs Value $fxIntlDutiesPayType = ''; //Duties Pay Type $fxIntlTermsofSale = ''; //Terms of Sale $fxIntlPartiestoTransation = ''; //Parties to Transaction } $fdx_arr = array(1 => $this->lblShipmentNumber->Text, 4 => $this->objShipment->FromCompany->__toString(), 32 => $this->objShipment->FromContact->__toString(), 5 => $this->objShipment->FromAddress->Address1, 6 => $this->objShipment->FromAddress->Address2, 7 => $this->objShipment->FromAddress->City, 8 => $this->objShipment->FromAddress->__toStringStateProvinceAbbreviation(), 9 => $this->objShipment->FromAddress->PostalCode, 117 => $this->objShipment->FromAddress->__toStringCountryAbbreviation(), 183 => $this->FxStrip($this->objShipment->FromCompany->Telephone), 11 => $this->objShipment->ToCompany->__toString(), 12 => $this->objShipment->ToContact->__toString(), 13 => $this->objShipment->ToAddress->Address1, 14 => $this->objShipment->ToAddress->Address2, 15 => $this->objShipment->ToAddress->City, 16 => $this->objShipment->ToAddress->__toStringStateProvinceAbbreviation(), 17 => $this->objShipment->ToAddress->PostalCode, 18 => $this->FxStrip($strRecipientPhone), 50 => $this->objShipment->ToAddress->__toStringCountryAbbreviation(), 57 => round($this->txtPackageHeight->Text, 0), 58 => round($this->txtPackageWidth->Text, 0), 59 => round($this->txtPackageLength->Text, 0), 23 => $this->lstBillTransportationTo->SelectedValue, 20 => $this->lstBillTransportationTo->SelectedValue !== 1 ? $this->txtRecipientThirdPartyAccount->Text : '', 75 => strtoupper($fxWeightUnit->ShortDescription), 1116 => strtoupper(substr($fxLengthUnitShortDescription, 0, 1)), 1273 => $fxPackageType->Value, 1274 => $this->objFedexShipment->FedexServiceType->Value, 1333 => '1', 1368 => 2, 1369 => $this->lstFedexLabelPrinterType->SelectedValue, 1370 => $this->lstFedexLabelPrinterType->SelectedValue === 1 ? 5 : $this->lstFedexLabelFormatType->SelectedValue, 2973 => 1, 1607 => 'SHIPPING', 1608 => 'SPECIAL', 1609 => 'HANDLING', 1610 => 'DISCOUNT', 1611 => 'TOTAL', 1624 => '1416', 1625 => '1417', 1626 => '3107', 1627 => '1418', 1628 => '1419', 1401 => number_format(round($this->txtPackageWeight->Text, 1), 1, '.', ''), 1201 => $this->txtFedexNotifySenderEmail->Text, 1202 => $this->txtFedexNotifyRecipientEmail->Text, 1204 => $this->txtFedexNotifyOtherEmail->Text, 1554 => $this->chkFedexNotifySenderShipFlag->Checked ? 'Y' : 'N', 1961 => $this->chkFedexNotifySenderExceptionFlag->Checked ? 'Y' : 'N', 1553 => $this->chkFedexNotifySenderDeliveryFlag->Checked ? 'Y' : 'N', 1557 => $this->chkFedexNotifyRecipientShipFlag->Checked ? 'Y' : 'N', 1962 => $this->chkFedexNotifyRecipientExceptionFlag->Checked ? 'Y' : 'N', 1556 => $this->chkFedexNotifyRecipientDeliveryFlag->Checked ? 'Y' : 'N', 1206 => $this->chkFedexNotifyOtherShipFlag->Checked ? 'Y' : 'N', 1960 => $this->chkFedexNotifyOtherExceptionFlag->Checked ? 'Y' : 'N', 1551 => $this->chkFedexNotifyOtherDeliveryFlag->Checked ? 'Y' : 'N', 1139 => $fxIntlSSN, 68 => $fxIntlCurrencyUnit, 1266 => $this->chkSaturdayDeliveryFlag->Checked ? 'Y' : 'N', 1200 => $this->chkHoldAtLocationFlag->Checked ? 'Y' : 'N', 44 => $this->chkHoldAtLocationFlag->Checked ? $this->txtHoldAtLocationAddress->Text : '', 46 => $this->chkHoldAtLocationFlag->Checked ? $this->txtHoldAtLocationCity->Text : '', 47 => $this->chkHoldAtLocationFlag->Checked && $this->objFedexShipment->HoldAtLocationStateObject ? $this->objFedexShipment->HoldAtLocationStateObject->Abbreviation : '', 48 => $this->chkHoldAtLocationFlag->Checked ? $this->txtHoldAtLocationPostalCode->Text : '', 1411 => $fxIntlCustomsValue, 70 => $fxIntlDutiesPayType, 72 => $fxIntlTermsofSale, 73 => $fxIntlPartiestoTransation, 79 => '', 80 => '', 24 => $shipdate, 1119 => 'Y', 25 => $this->objFedexShipment->Reference); if ($this->objFedexShipment->FedexServiceType->Value == '92') { $ship_Ret = $fed->ground_ship($fdx_arr); } else { $ship_Ret = $fed->express_ship($fdx_arr); } if ($error = $fed->getError()) { $blnError = true; $this->btnCompleteShipment->Warning = $error; return false; } else { // decode and save label $this->txtTrackingNumber->Text = $ship_Ret[29]; $strLabelExtension = '.png'; if ($this->objFedexShipment->LabelPrinterType == '2') { $strLabelExtension = '.epl'; } else { if ($this->objFedexShipment->LabelPrinterType == '5') { $strLabelExtension = '.zpl'; } } $strLabelMimeType = $this->objFedexShipment->LabelPrinterType == '2' || $this->objFedexShipment->LabelPrinterType == '5' ? 'text/plain' : 'image/png'; $fed->label('../images/shipping_labels/fedex/' . QApplication::$TracmorSettings->ImageUploadPrefix . $this->objShipment->ShipmentNumber . $strLabelExtension); if (AWS_S3) { QApplication::MoveToS3(__DOCROOT__ . __IMAGE_ASSETS__ . '/shipping_labels/fedex', QApplication::$TracmorSettings->ImageUploadPrefix . $this->objShipment->ShipmentNumber . $strLabelExtension, $strLabelMimeType, '/images/shipping_labels/fedex'); } return true; } }