LithiumSoftware_Akhilleus - Version 1.0.2

Version Notes

Bug Fix:
- Multiple volumes

Features:
- Tracking

Download this release

Release Info

Developer Frenet
Extension LithiumSoftware_Akhilleus
Version 1.0.2
Comparing to
See all releases


Code changes from version 1.0.1 to 1.0.2

app/code/community/LithiumSoftware/Akhilleus/Model/Carrier/Akhilleus.php CHANGED
@@ -27,6 +27,7 @@ class LithiumSoftware_Akhilleus_Model_Carrier_Akhilleus
27
  protected $_title = NULL; // Título do método de envio
28
  protected $_from = NULL; // CEP de origem
29
  protected $_to = NULL; // CEP de destino
 
30
  protected $_packageWeight = NULL; // valor ajustado do pacote
31
  protected $_showDelivery = NULL; // Determina exibição de prazo de entrega
32
  protected $_addDeliveryDays = NULL; // Adiciona n dias ao prazo de entrega
@@ -45,6 +46,7 @@ class LithiumSoftware_Akhilleus_Model_Carrier_Akhilleus
45
 
46
  return $this->_result;
47
  }
 
48
  /**
49
  * Get shipping quote
50
  *
@@ -53,19 +55,19 @@ class LithiumSoftware_Akhilleus_Model_Carrier_Akhilleus
53
  protected function _getQuotes(Mage_Shipping_Model_Rate_Request $request)
54
  {
55
  // Call Webservices
56
- $wsReturn = $this->_getWebServicesReturn($request);
57
 
58
  if ($wsReturn !== false) {
59
 
60
- $this->_log("Qtd serviços: " . count($wsReturn->RateResult->ShippingSevicesArray->ShippingSevices));
61
 
62
  // Check if exist return from Webservices
63
  $existReturn = false;
64
 
65
- if(count($wsReturn->RateResult->ShippingSevicesArray->ShippingSevices)==1)
66
- $servicosArray[0] = $wsReturn->RateResult->ShippingSevicesArray->ShippingSevices;
67
  else
68
- $servicosArray = $wsReturn->RateResult->ShippingSevicesArray->ShippingSevices;
69
 
70
  foreach($servicosArray as $servicos){
71
 
@@ -73,7 +75,7 @@ class LithiumSoftware_Akhilleus_Model_Carrier_Akhilleus
73
 
74
  $this->_log("Percorrendo os serviços retornados");
75
 
76
- if ($servicos->ServiceCode . '' == '') {
77
  continue;
78
  }
79
 
@@ -82,6 +84,7 @@ class LithiumSoftware_Akhilleus_Model_Carrier_Akhilleus
82
  $shipping_method = $servicos->ServiceCode;
83
  $shipping_method_name = $servicos->ServiceDescription;
84
 
 
85
 
86
  // Append shipping methods
87
  $this->_appendShippingMethod($shipping_method, $shippingPrice, $delivery, $shipping_method_name, $request);
@@ -108,13 +111,12 @@ class LithiumSoftware_Akhilleus_Model_Carrier_Akhilleus
108
  *
109
  * @return bool|SimpleXMLElement[]
110
  */
111
- protected function _getWebServicesReturn(Mage_Shipping_Model_Rate_Request $request)
112
  {
113
  $url = $this->getConfigData('url_ws');
 
114
 
115
  try {
116
-
117
- $client = new SoapClient($url, array("soap_version" => SOAP_1_1,"trace" => 1));
118
  if ($this->getConfigFlag('use_default'))
119
  {
120
  $this->_length = $this->getConfigData('default_length'); //16
@@ -135,39 +137,85 @@ class LithiumSoftware_Akhilleus_Model_Carrier_Akhilleus
135
  $this->_length = $item->getProduct()->getData('volume_comprimento');
136
 
137
  if($item->getProduct()->getData('volume_largura') > $this->_width)
138
- $this->_width = $item->getProduct()->getData('volume_largura');
139
 
140
  if($item->getProduct()->getData('volume_altura') > $this->_height)
141
  $this->_height = $item->getProduct()->getData('volume_altura');
142
 
143
  $this->_diameter = 0;
144
  }
145
-
146
  }
147
 
148
- $this->_log('altura ' . $this->_height);
149
- $this->_log('largura ' . $this->_width);
150
- $this->_log('comprimento ' . $this->_length);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
151
 
152
  $service_param = array (
153
- 'userName' => $this->getConfigData('login'),
154
- 'password' => $this->getConfigData('password'),
155
- 'sellerCEP' => $this->_from,
156
- 'recipientCEP' => $this->_to,
157
- 'shipmentInvoiceValue' => $this->_value,
158
- 'shipmentWeight' => $this->_weight,
159
- 'shipmentLength' => $this->_length,
160
- 'shipmentHeight' => $this->_height,
161
- 'shipmentWidth' => $this->_width,
162
- 'shipmentDiameter' => $this->_diameter
163
  );
164
 
165
- $this->_log('Chamada do webservices - ' .
166
- 'Origem: ' .$this->_from . 'Destino: ' .$this->_to . 'Peso: ' . $this->_weight . 'ValorDeclarado: ' . $this->_value .
167
- 'Tamanho: ' .$this->_length . 'Altura: ' . $this->_height . 'Largura: ' . $this->_width . 'Diametro: ' . $this->_diameter);
168
-
169
- $content = $client->__soapCall("Rate", array($service_param));
170
 
 
 
171
 
172
  if ($content == "") {
173
  throw new Exception("No XML returned [" . __LINE__ . "]");
@@ -177,7 +225,7 @@ class LithiumSoftware_Akhilleus_Model_Carrier_Akhilleus
177
 
178
  } catch (Exception $e) {
179
  //URL Error
180
- $this->_throwError('urlerror', 'URL Error - ' . $e->getMessage(), __LINE__);
181
  return false;
182
  };
183
  }
@@ -226,7 +274,7 @@ class LithiumSoftware_Akhilleus_Model_Carrier_Akhilleus
226
 
227
  $this->_log('Leadtime: ' . $cartLeadTime);
228
 
229
- if ($this->_showDelivery && $delivery > 0){
230
  $this->_log('Delivery: ' . $delivery);
231
  $this->_log('Show Delivery: ' . $this->_showDelivery);
232
 
@@ -248,7 +296,6 @@ class LithiumSoftware_Akhilleus_Model_Carrier_Akhilleus
248
  return false;
249
  }
250
 
251
- //if (!$this->_checkCountry($request)) return false;
252
  if (!$this->_checkZipCode($request)) return false;
253
 
254
  $this->_title = $this->getConfigData('title');
@@ -262,6 +309,9 @@ class LithiumSoftware_Akhilleus_Model_Carrier_Akhilleus
262
  $this->_updatePackageWeight($request);
263
 
264
  $this->_weight = $this->_fixWeight($request->getPackageWeight());
 
 
 
265
  }
266
 
267
  protected function _updatePackageWeight(Mage_Shipping_Model_Rate_Request $request)
@@ -416,4 +466,143 @@ class LithiumSoftware_Akhilleus_Model_Carrier_Akhilleus
416
  {
417
  return array($this->_code => $this->getConfigData('name'));
418
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
419
  }
27
  protected $_title = NULL; // Título do método de envio
28
  protected $_from = NULL; // CEP de origem
29
  protected $_to = NULL; // CEP de destino
30
+ protected $_recipientDocument = NULL; // CPF / CNPJ do destinatario
31
  protected $_packageWeight = NULL; // valor ajustado do pacote
32
  protected $_showDelivery = NULL; // Determina exibição de prazo de entrega
33
  protected $_addDeliveryDays = NULL; // Adiciona n dias ao prazo de entrega
46
 
47
  return $this->_result;
48
  }
49
+
50
  /**
51
  * Get shipping quote
52
  *
55
  protected function _getQuotes(Mage_Shipping_Model_Rate_Request $request)
56
  {
57
  // Call Webservices
58
+ $wsReturn = $this->_getWebServicesQuoteReturn($request);
59
 
60
  if ($wsReturn !== false) {
61
 
62
+ $this->_log("Qtd serviços: " . count($wsReturn->GetShippingQuoteResult->ShippingSevicesArray->ShippingSevices));
63
 
64
  // Check if exist return from Webservices
65
  $existReturn = false;
66
 
67
+ if(count($wsReturn->GetShippingQuoteResult->ShippingSevicesArray->ShippingSevices)==1)
68
+ $servicosArray[0] = $wsReturn->GetShippingQuoteResult->ShippingSevicesArray->ShippingSevices;
69
  else
70
+ $servicosArray = $wsReturn->GetShippingQuoteResult->ShippingSevicesArray->ShippingSevices;
71
 
72
  foreach($servicosArray as $servicos){
73
 
75
 
76
  $this->_log("Percorrendo os serviços retornados");
77
 
78
+ if (!isset($servicos->ServiceCode) || $servicos->ServiceCode . '' == '' || !isset($servicos->ShippingPrice)) {
79
  continue;
80
  }
81
 
84
  $shipping_method = $servicos->ServiceCode;
85
  $shipping_method_name = $servicos->ServiceDescription;
86
 
87
+ $this->_log("Preço " . $shippingPrice);
88
 
89
  // Append shipping methods
90
  $this->_appendShippingMethod($shipping_method, $shippingPrice, $delivery, $shipping_method_name, $request);
111
  *
112
  * @return bool|SimpleXMLElement[]
113
  */
114
+ protected function _getWebServicesQuoteReturn(Mage_Shipping_Model_Rate_Request $request)
115
  {
116
  $url = $this->getConfigData('url_ws');
117
+ $client = new SoapClient($url, array("soap_version" => SOAP_1_1,"trace" => 1));
118
 
119
  try {
 
 
120
  if ($this->getConfigFlag('use_default'))
121
  {
122
  $this->_length = $this->getConfigData('default_length'); //16
137
  $this->_length = $item->getProduct()->getData('volume_comprimento');
138
 
139
  if($item->getProduct()->getData('volume_largura') > $this->_width)
140
+ $this->_width = $item->getProduct()->getData('volume_largura');
141
 
142
  if($item->getProduct()->getData('volume_altura') > $this->_height)
143
  $this->_height = $item->getProduct()->getData('volume_altura');
144
 
145
  $this->_diameter = 0;
146
  }
 
147
  }
148
 
149
+ // gerar o array de produtos
150
+ $shippingItemArray = array();
151
+ $count = 0;
152
+ foreach($request->getAllItems() as $item){
153
+ $product_id = $item->getProductId();
154
+ $productObj = Mage::getModel('catalog/product')->load($product_id);
155
+
156
+ $shippingItem = new stdClass();
157
+ $shippingItem->Weight = $productObj->getWeight() * $item->getQty();
158
+ if ($this->getConfigFlag('use_default'))
159
+ {
160
+ $shippingItem->Length = $this->getConfigData('default_length'); //16
161
+ $shippingItem->Width = $this->getConfigData('default_width'); //11
162
+ $shippingItem->Height = $this->getConfigData('default_height'); //2
163
+ }
164
+ else{
165
+ $shippingItem->Length = ($productObj->getVolume_comprimento() > 0 ? $productObj->getVolume_comprimento() : $this->getConfigData('default_length') );
166
+ $shippingItem->Height = ($productObj->getVolume_altura() > 0 ? $productObj->getVolume_altura() : $this->getConfigData('default_height'));
167
+ $shippingItem->Width = ($productObj->getVolume_largura()>0 ? $productObj->getVolume_largura() : $this->getConfigData('default_width'));
168
+ }
169
+ $shippingItem->Diameter = 0;
170
+ $shippingItem->SKU = $productObj->getSku();
171
+
172
+ $categoryIds = $productObj->getCategoryIds();
173
+ $result = '';
174
+
175
+ foreach ($categoryIds as $catId) {
176
+ $category = Mage::getModel('catalog/category')->load($catId);
177
+
178
+ if($category)
179
+ {
180
+ $coll = $category->getResourceCollection();
181
+ $pathIds = $category->getPathIds();
182
+ $coll->addAttributeToSelect('name');
183
+ $coll->addAttributeToFilter('entity_id', array('in' => $pathIds));
184
+
185
+ foreach ($coll as $cat) {
186
+ if(strpos($result, $cat->getName())=== false)
187
+ $result .= $cat->getName().'|';
188
+ }
189
+ }
190
+ }
191
+
192
+ $shippingItem->Category = $result;
193
+
194
+ if($item->getProduct()->getData('fragile'))
195
+ $shippingItem->isFragile = $item->getProduct()->getData('fragile');
196
+ else
197
+ $shippingItem->isFragile=false;
198
+
199
+ $shippingItemArray[$count] = $shippingItem;
200
+ $count++;
201
+ }
202
 
203
  $service_param = array (
204
+ 'quoteRequest' => array(
205
+ 'Username' => $this->getConfigData('login'),
206
+ 'Password' => $this->getConfigData('password'),
207
+ 'SellerCEP' => $this->_from,
208
+ 'RecipientCEP' => $this->_to,
209
+ 'RecipientDocument' => $this->_recipientDocument,
210
+ 'ShipmentInvoiceValue' => $this->_value,
211
+ 'ShippingItemArray' => $shippingItemArray
212
+ )
 
213
  );
214
 
215
+ $content = $client->__soapCall("GetShippingQuote", array($service_param));
 
 
 
 
216
 
217
+ $this->_log($client->__getLastRequest());
218
+ $this->_log($client->__getLastResponse());
219
 
220
  if ($content == "") {
221
  throw new Exception("No XML returned [" . __LINE__ . "]");
225
 
226
  } catch (Exception $e) {
227
  //URL Error
228
+ $this->_throwError('urlerror', 'URL Error - ' . $e->getMessage() . ' request ' . $client->__getLastRequest(), __LINE__);
229
  return false;
230
  };
231
  }
274
 
275
  $this->_log('Leadtime: ' . $cartLeadTime);
276
 
277
+ if ($this->_showDelivery && ((int)($delivery + $this->_addDeliveryDays + $cartLeadTime) > 0)){
278
  $this->_log('Delivery: ' . $delivery);
279
  $this->_log('Show Delivery: ' . $this->_showDelivery);
280
 
296
  return false;
297
  }
298
 
 
299
  if (!$this->_checkZipCode($request)) return false;
300
 
301
  $this->_title = $this->getConfigData('title');
309
  $this->_updatePackageWeight($request);
310
 
311
  $this->_weight = $this->_fixWeight($request->getPackageWeight());
312
+
313
+ // obter o documento do destinatário - algumas transportadoras exigem
314
+ $this->_recipientDocument = '';
315
  }
316
 
317
  protected function _updatePackageWeight(Mage_Shipping_Model_Rate_Request $request)
466
  {
467
  return array($this->_code => $this->getConfigData('name'));
468
  }
469
+
470
+ /**
471
+ * Check if current carrier offer support to tracking
472
+ *
473
+ * @return bool true
474
+ */
475
+ public function isTrackingAvailable()
476
+ {
477
+ return true;
478
+ }
479
+
480
+ public function getTrackingInfo($tracking)
481
+ {
482
+ $result = $this->getTracking($tracking);
483
+ if ($result instanceof Mage_Shipping_Model_Tracking_Result) {
484
+ if ($trackings = $result->getAllTrackings()) {
485
+ return $trackings[0];
486
+ }
487
+ } elseif (is_string($result) && !empty($result)) {
488
+ return $result;
489
+ }
490
+
491
+ return false;
492
+ }
493
+
494
+ public function getTracking($trackings)
495
+ {
496
+ $this->_result = Mage::getModel('shipping/tracking_result');
497
+ foreach ((array) $trackings as $code) {
498
+ $this->_getTrackingFromWS($code);
499
+ }
500
+ return $this->_result;
501
+ }
502
+
503
+ protected function _getTrackingFromWS($tracking)
504
+ {
505
+ $sales_flat_shipment_track = Mage::getSingleton('core/resource')->getTableName('sales_flat_shipment_track');
506
+ $connection = Mage::getSingleton('core/resource')->getConnection('core_read');
507
+ $sql = 'SELECT order_id FROM ' . $sales_flat_shipment_track . ' WHERE track_number = ?';
508
+ $tracking_table = $connection->fetchAll($sql, $tracking);
509
+ $orderId='';
510
+ foreach ($tracking_table as $track){
511
+ $orderId = $track['order_id'];
512
+ break;
513
+ }
514
+
515
+ $url = $this->getConfigData('url_ws');
516
+ $client = new SoapClient($url, array("soap_version" => SOAP_1_1,"trace" => 1));
517
+ //$orderId = Mage::getModel("sales/order")->getCollection()->getLastItem()->getIncrementId();
518
+ $order = Mage::getModel('sales/order')->load($orderId);
519
+
520
+ $shippingServiceCode = str_replace($this->_code . '_','', $order->getShippingMethod());
521
+
522
+ $invoiceNumber='';
523
+ if ($order->hasInvoices()) {
524
+ foreach ($order->getInvoiceCollection() as $inv) {
525
+ $invoiceNumber += $inv->getIncrementId() . '|';
526
+ }
527
+ }
528
+
529
+ $customer_id = $order->getCustomerId();
530
+ $customer = Mage::getModel('customer/customer')->load($customer_id);
531
+ $recipientDocument = $customer->getData('taxvat');
532
+
533
+ $this->_log('Shipping Service Code: ' . $shippingServiceCode);
534
+ $this->_log('CPF: ' . $recipientDocument);
535
+
536
+ $service_param = array (
537
+ 'trackingRequest' => array(
538
+ 'Username' => $this->getConfigData('login'),
539
+ 'Password' => $this->getConfigData('password'),
540
+ 'TrackingNumber' => $tracking,
541
+ 'InvoiceNumber' => $invoiceNumber,
542
+ 'RecipientDocument' => $recipientDocument,
543
+ 'OrderNumber' => $order->getIncrementId(),
544
+ 'ShippingServiceCode' => $shippingServiceCode
545
+ )
546
+ );
547
+ $this->_log(json_encode($service_param));
548
+ $wsReturn = $client->__soapCall("GetTrackingInfo", array($service_param));
549
+
550
+ $this->_log($client->__getLastRequest());
551
+ $this->_log($client->__getLastResponse());
552
+
553
+ if ($wsReturn == "") {
554
+ throw new Exception("No XML returned [" . __LINE__ . "]");
555
+ }
556
+
557
+ if ($wsReturn !== false) {
558
+ if(isset($wsReturn->GetTrackingInfoResult->TrackingEvents))
559
+ {
560
+ if(count($wsReturn->GetTrackingInfoResult->TrackingEvents->TrackingEvent)==1)
561
+ $trackingEventArray[0] = $wsReturn->GetTrackingInfoResult->TrackingEvents->TrackingEvent;
562
+ else
563
+ $trackingEventArray = $wsReturn->GetTrackingInfoResult->TrackingEvents->TrackingEvent;
564
+
565
+
566
+ $progress = array();
567
+ foreach($trackingEventArray as $trackingEvent){
568
+ $this->_log("Percorrendo os eventos");
569
+
570
+ $datetime = explode(' ',$trackingEvent->EventDateTime);
571
+ $locale = new Zend_Locale('pt_BR');
572
+ $date = '';
573
+ $date = new Zend_Date($datetime[0], 'dd/MM/YYYY', $locale);
574
+
575
+ $trackingProgress = array(
576
+ 'deliverydate' => $date->toString('YYYY-MM-dd'),
577
+ 'deliverytime' => $datetime[1],
578
+ 'deliverylocation' => $trackingEvent->EventLocation,
579
+ 'activity' => $trackingEvent->EventDescription
580
+ );
581
+ $progress[] = $trackingProgress;
582
+ }
583
+
584
+ $trackData = $progress[0];
585
+ $trackData['progressdetail'] = $progress;
586
+
587
+ $carrierTitle='';
588
+ if(isset($wsReturn->GetTrackingInfoResult->ServiceDescrition))
589
+ $carrierTitle = $wsReturn->GetTrackingInfoResult->ServiceDescrition;
590
+
591
+ $track = Mage::getModel('shipping/tracking_result_status');
592
+ $track->setTracking($tracking)
593
+ ->setCarrierTitle($carrierTitle)
594
+ ->addData($trackData);
595
+
596
+ $this->_result->append($track);
597
+ return true;
598
+ }
599
+ else{
600
+ $error = Mage::getModel('shipping/tracking_result_error');
601
+ $this->_result->append($error);
602
+ return false;
603
+ }
604
+ }
605
+ }
606
+
607
+
608
  }
app/code/community/LithiumSoftware/Akhilleus/Model/Observer.php ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This source file is subject to the MIT License.
4
+ * It is also available through http://opensource.org/licenses/MIT
5
+ *
6
+ * @category Akhilleus
7
+ * @package LithiumSoftware_Akhilleus
8
+ * @author LithiumSoftware <contato@lithiumsoftware.com.br>
9
+ * @copyright 2015 Lithium Software
10
+ * @license http://opensource.org/licenses/MIT MIT
11
+ */
12
+
13
+ class LithiumSoftware_Akhilleus_Model_Observer extends Mage_Core_Model_Abstract {
14
+
15
+ public function SaveShippingResultLog($observer){
16
+ try
17
+ {
18
+ $shipment = $observer->getEvent()->getShipment();
19
+ if ($shipment) {
20
+ $order = $shipment->getOrder();
21
+ if ($order) {
22
+
23
+ $this->_log('SaveShippingResultLog - ShippingMethod: ' . $order->getShippingMethod());
24
+ $this->_log('SaveShippingResultLog - ShippingDescription: ' . $order->getShippingDescription());
25
+
26
+ $orderID = $order->getIncrementId();
27
+ $sellerCEP = Mage::getStoreConfig('shipping/origin/postcode');
28
+ $recipientCEP = $order->getShippingAddress()->getPostcode();
29
+ $shipmentInvoiceValue = $order->getSubtotal();
30
+ $shippingAmount = $order->getShippingAmount();
31
+ $shipmentWeight = $order->getWeight();
32
+ $deliveryTime = preg_replace("/[^0-9]/","",$order->getShippingDescription());
33
+ $shippingMethod = str_replace("akhilleus_", "",$order->getShippingMethod());
34
+
35
+ // Call Webservices
36
+ $this->saveShippingResult($orderID, $sellerCEP,
37
+ $recipientCEP, $shipmentInvoiceValue, $shippingAmount, $deliveryTime, $shipmentWeight, $shippingMethod);
38
+
39
+ }
40
+ }
41
+ } catch (Exception $e) {
42
+ $this->_log('SaveShippingResultLog - Error: ' . $e->getMessage(), __LINE__);
43
+ }
44
+
45
+ return $this;
46
+ }
47
+
48
+ protected function _log($msg) {
49
+ Mage::log('Akhilleus: ' . $msg);
50
+ }
51
+
52
+ protected function saveShippingResult($orderID, $sellerCEP, $recipientCEP, $shipmentInvoiceValue, $shippingAmount, $deliveryTime, $shipmentWeight, $shippingMethod)
53
+ {
54
+ $url = Mage::getStoreConfig('carriers/akhilleus/url_ws');
55
+
56
+ try {
57
+ $client = new SoapClient($url, array("soap_version" => SOAP_1_1,"trace" => 1));
58
+
59
+ $login = Mage::getStoreConfig('carriers/akhilleus/login');
60
+ $password = Mage::getStoreConfig('carriers/akhilleus/password');
61
+
62
+ $service_param = array (
63
+ 'saveRequest' => array(
64
+ 'Username' => $login,
65
+ 'Password' => $password,
66
+ 'OrderID' => $orderID,
67
+ 'SellerCEP' => $sellerCEP,
68
+ 'RecipientCEP' => $recipientCEP,
69
+ 'ShipmentInvoiceValue' => $shipmentInvoiceValue,
70
+ 'ShippingPrice' => $shippingAmount,
71
+ 'DeliveryTime' => $deliveryTime,
72
+ 'ShipmentWeight' => $shipmentWeight,
73
+ 'ShippingMethod' => $shippingMethod
74
+ )
75
+ );
76
+
77
+ $content = $client->__soapCall("SaveShippingResultLog", array($service_param));
78
+
79
+ $this->_log($client->__getLastRequest());
80
+ $this->_log($client->__getLastResponse());
81
+
82
+ if ($content == "") {
83
+ throw new Exception("No XML returned [" . __LINE__ . "]");
84
+ }
85
+ return $content;
86
+
87
+ } catch (Exception $e) {
88
+ $this->_log('_getWebServicesReturn - Error: ' . $e->getMessage(), __LINE__);
89
+
90
+ //URL Error
91
+ $this->_throwError('urlerror', 'URL Error - ' . $e->getMessage(), __LINE__);
92
+
93
+ return false;
94
+ }
95
+ }
96
+
97
+
98
+ }
app/code/community/LithiumSoftware/Akhilleus/etc/config.xml CHANGED
@@ -14,7 +14,7 @@
14
  <config>
15
  <modules>
16
  <LithiumSoftware_Akhilleus>
17
- <version>1.0.1</version>
18
  <depends>
19
  <Mage_Shipping/>
20
  </depends>
@@ -53,6 +53,17 @@
53
  </connection>
54
  </akhilleus_setup>
55
  </resources>
 
 
 
 
 
 
 
 
 
 
 
56
  </global>
57
  <default>
58
  <carriers>
14
  <config>
15
  <modules>
16
  <LithiumSoftware_Akhilleus>
17
+ <version>1.0.2</version>
18
  <depends>
19
  <Mage_Shipping/>
20
  </depends>
53
  </connection>
54
  </akhilleus_setup>
55
  </resources>
56
+ <events>
57
+ <sales_order_shipment_save_after>
58
+ <observers>
59
+ <send_statistics>
60
+ <type>singleton</type>
61
+ <class>LithiumSoftware_Akhilleus_Model_Observer</class>
62
+ <method>SaveShippingResultLog</method>
63
+ </send_statistics>
64
+ </observers>
65
+ </sales_order_shipment_save_after>
66
+ </events>
67
  </global>
68
  <default>
69
  <carriers>
package.xml CHANGED
@@ -1,19 +1,23 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>LithiumSoftware_Akhilleus</name>
4
- <version>1.0.1</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/MIT">MIT</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Frenet allows merchants to display freight options from multiple carriers, including brazilian Correios.</summary>
10
  <description>The Frenet freight gateway is able to integrate and process tables of freight carriers and brazilian Correios. The freight calculation for the brazilian Correios services is done on-line (via Correios webservice) or in case of unavailability, uses database in the cloud highly available and regularly updated automatically, with the values of quotations. &#xD;
11
- It provides to the store owners, major carriers in Brazil to transport large volumes as well as JadLog, ASAP Log, JAMEF among others.</description>
12
- <notes>First Magento Connect version</notes>
 
 
 
 
13
  <authors><author><name>Frenet</name><user>MAG002970201</user><email>contato@frenet.com.br</email></author></authors>
14
- <date>2015-05-29</date>
15
- <time>19:20:24</time>
16
- <contents><target name="magecommunity"><dir name="LithiumSoftware"><dir name="Akhilleus"><dir name="Helper"><file name="Data.php" hash="fae99f78422836771d71873f253e8471"/></dir><dir name="Model"><dir name="Carrier"><file name="Akhilleus.php" hash="c5721e139ff641857dbde5a70db9527d"/></dir><dir name="Source"><file name="WeightType.php" hash="90bd2253381d2c2094aa0183e3129eb7"/></dir></dir><dir name="etc"><file name="config.xml" hash="22213fac49ffa753fb19244992386895"/><file name="system.xml" hash="162638242c34a75a65091ec10b971741"/></dir><dir name="sql"><dir name="akhilleus_setup"><file name="install-1.0.0.php" hash="17104e4cf30a39bd0980837310ae940a"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="LithiumSoftware_Akhilleus.xml" hash="ad180127bc24251a43a18818f2a30c21"/></dir></target></contents>
17
  <compatible/>
18
- <dependencies><required><php><min>5.2.1</min><max>5.6.16</max></php></required></dependencies>
19
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>LithiumSoftware_Akhilleus</name>
4
+ <version>1.0.2</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/MIT">MIT</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Frenet allows merchants to display freight options from multiple carriers, including brazilian Correios.</summary>
10
  <description>The Frenet freight gateway is able to integrate and process tables of freight carriers and brazilian Correios. The freight calculation for the brazilian Correios services is done on-line (via Correios webservice) or in case of unavailability, uses database in the cloud highly available and regularly updated automatically, with the values of quotations. &#xD;
11
+ It provides to the store owners, major carriers in Brazil to transport large volumes as well as JadLog, ASAP Log, TNT, Direct, Total Express, JAMEF among others.</description>
12
+ <notes>Bug Fix:&#xD;
13
+ - Multiple volumes&#xD;
14
+ &#xD;
15
+ Features:&#xD;
16
+ - Tracking</notes>
17
  <authors><author><name>Frenet</name><user>MAG002970201</user><email>contato@frenet.com.br</email></author></authors>
18
+ <date>2016-03-11</date>
19
+ <time>19:30:43</time>
20
+ <contents><target name="magecommunity"><dir name="LithiumSoftware"><dir name="Akhilleus"><dir name="Helper"><file name="Data.php" hash="fae99f78422836771d71873f253e8471"/></dir><dir name="Model"><dir name="Carrier"><file name="Akhilleus.php" hash="6ec067e8919777395a6b2f5634f01649"/></dir><file name="Observer.php" hash="927d49b0b02ecfe36aa708a7f186422a"/><dir name="Source"><file name="WeightType.php" hash="90bd2253381d2c2094aa0183e3129eb7"/></dir></dir><dir name="etc"><file name="config.xml" hash="ab30a6169d9c8adbc8c9581d122745d9"/><file name="system.xml" hash="162638242c34a75a65091ec10b971741"/></dir><dir name="sql"><dir name="akhilleus_setup"><file name="install-1.0.0.php" hash="17104e4cf30a39bd0980837310ae940a"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="LithiumSoftware_Akhilleus.xml" hash="ad180127bc24251a43a18818f2a30c21"/></dir></target></contents>
21
  <compatible/>
22
+ <dependencies><required><php><min>5.2.1</min><max>6.0.0</max></php></required></dependencies>
23
  </package>