KataoOrderPeer.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. /**
  3. * Subclass for performing query and update operations on the 'katao_order' table.
  4. *
  5. * @package lib.model
  6. */
  7. class KataoOrderPeer extends BaseKataoOrderPeer {
  8. public static function getAllStatuses() {
  9. return array(KataoOrder::STATUS_GENERATED => self::getStatusStr(KataoOrder::STATUS_GENERATED), KataoOrder::STATUS_ADJUSTED => self::getStatusStr(KataoOrder::STATUS_ADJUSTED), KataoOrder::STATUS_SENT => self::getStatusStr(KataoOrder::STATUS_SENT), KataoOrder::STATUS_RECEIVED => self::getStatusStr(KataoOrder::STATUS_RECEIVED), KataoOrder::STATUS_DELIVERED => self::getStatusStr(KataoOrder::STATUS_DELIVERED));
  10. }
  11. public static function getStatusStr($status) {
  12. switch ($status) {
  13. case KataoOrder::STATUS_GENERATED:
  14. return 'Générée';
  15. case KataoOrder::STATUS_ADJUSTED:
  16. return 'Ajustée';
  17. case KataoOrder::STATUS_SENT:
  18. return 'Envoyée';
  19. case KataoOrder::STATUS_RECEIVED:
  20. return 'Réceptionnée';
  21. case KataoOrder::STATUS_DELIVERED:
  22. return 'Distribuée';
  23. }
  24. return '';
  25. }
  26. public static function getLastDeliveryAddress($katao_node_id, $katao_supplier_id) {
  27. $return = '';
  28. $criteria = new Criteria();
  29. $criteria->addSelectColumn(self::DELIVERY_ADDRESS);
  30. $criteria->add(self::KATAO_NODE_ID, $katao_node_id);
  31. $criteria->add(self::KATAO_SUPPLIER_ID, $katao_supplier_id);
  32. $criteria->add(self::DELIVERY_ADDRESS, null, Criteria::NOT_EQUAL);
  33. $criteria->add(self::DELIVERY_ADDRESS, '', Criteria::NOT_EQUAL);
  34. $criteria->addDescendingOrderByColumn(self::CREATED_AT);
  35. $criteria->setLimit(1);
  36. $rs = self::doSelectRS($criteria);
  37. if ($rs->next()) {
  38. $return = $rs->getString(1);
  39. }
  40. return $return;
  41. }
  42. public static function getPossibleOrdersForSupplierInvoice($katao_period_id, $katao_supplier_id) {
  43. $return = array();
  44. $criteria = new Criteria();
  45. $criteria->add(KataoOrderPeer::KATAO_PERIOD_ID, $katao_period_id);
  46. $criteria->add(KataoOrderPeer::KATAO_SUPPLIER_ID, $katao_supplier_id);
  47. $criteria->add(KataoOrderPeer::STATUS, KataoOrder::STATUS_SENT, Criteria::GREATER_EQUAL);
  48. $criteria->addAscendingOrderByColumn(KataoOrderPeer::ID);
  49. foreach (KataoOrderPeer::doSelect($criteria) as/*(KataoOrder)*/ $katao_order) {
  50. $has_been_delivered = true;
  51. foreach ($katao_order->getKataoOrderProducts() as/*(KataoOrderProduct)*/ $katao_order_product) {
  52. $has_been_delivered &= $katao_order_product->getHasBeenDelivered();
  53. }
  54. if ($has_been_delivered) {
  55. $return[$katao_order->getId()] = $katao_order;
  56. }
  57. }
  58. return $return;
  59. }
  60. }