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; } }