64 lines
1.7 KiB
PHP
64 lines
1.7 KiB
PHP
<?php
|
|
|
|
class PaczkomatyPackPeer extends BasePaczkomatyPackPeer {
|
|
|
|
public static function retrieveByCode($code, $con = null) {
|
|
$c = new Criteria();
|
|
$c->add(PaczkomatyPackPeer::CODE, $code);
|
|
return PaczkomatyPackPeer::doSelectOne($c, $con);
|
|
}
|
|
|
|
public static function retrieveByOrder(Order $order)
|
|
{
|
|
$c = new Criteria();
|
|
$c->add(self::ORDER_ID, $order->getId());
|
|
$c->addDescendingOrderByColumn(self::ID);
|
|
return self::doSelectOne($c);
|
|
}
|
|
|
|
public static function retrieveByPKsOrder(array $pks)
|
|
{
|
|
$c = new Criteria();
|
|
$c->add(self::ID, $pks, Criteria::IN);
|
|
$c->addOrderByField(self::ID, $pks);
|
|
|
|
return self::doSelect($c);
|
|
}
|
|
|
|
public static function doSelectWithShipX(Criteria $c, $con = null)
|
|
{
|
|
/**
|
|
* @var PaczkomatyPack[]
|
|
*/
|
|
$results = [];
|
|
$ids = [];
|
|
|
|
foreach (self::doSelectJoinAll($c) as $result)
|
|
{
|
|
$results[$result->getInpostShipmentId()] = $result;
|
|
$ids[] = $result->getInpostShipmentId();
|
|
}
|
|
|
|
$api = stInPostApi::getInstance();
|
|
$response = $api->getShipmentsById($ids);
|
|
|
|
foreach ($response->items as $item)
|
|
{
|
|
if (isset($results[$item->id]))
|
|
{
|
|
$pack = $results[$item->id];
|
|
$pack->setStatus($item->status);
|
|
|
|
if (empty($pack->getTrackingNumber()) && !empty($item->tracking_number))
|
|
{
|
|
$pack->setTrackingNumber($item->tracking_number);
|
|
}
|
|
|
|
$pack->save();
|
|
}
|
|
}
|
|
|
|
return $results;
|
|
}
|
|
}
|