Exemplo n.º 1
0
 /**
  * Getting the items
  *
  * @param unknown $sender
  * @param unknown $param
  * @throws Exception
  *
  */
 public function getItems($sender, $param)
 {
     $results = $errors = array();
     try {
         $class = trim($this->_focusEntity);
         $pageNo = 1;
         $pageSize = DaoQuery::DEFAUTL_PAGE_SIZE;
         if (isset($param->CallbackParameter->pagination)) {
             $pageNo = $param->CallbackParameter->pagination->pageNo;
             $pageSize = $param->CallbackParameter->pagination->pageSize;
         }
         $serachCriteria = isset($param->CallbackParameter->searchCriteria) ? json_decode(json_encode($param->CallbackParameter->searchCriteria), true) : array();
         $where = array(1);
         $params = array();
         if (isset($serachCriteria['pql.product']) && ($skuORid = trim($serachCriteria['pql.product'])) !== '') {
             ProductQtyLog::getQuery()->eagerLoad('ProductQtyLog.product', 'inner join', 'pql_pro');
             $where[] = '(pql_pro.sku = ? or pql_pro.id = ?)';
             $params[] = $skuORid;
             $params[] = $skuORid;
         }
         if (isset($serachCriteria['pro.id']) && ($productId = trim($serachCriteria['pro.id'])) !== '') {
             ProductQtyLog::getQuery()->eagerLoad('ProductQtyLog.product', 'inner join', 'pql_pro');
             $where[] = '(pql_pro.id = ? )';
             $params[] = $productId;
         }
         if (isset($serachCriteria['pql.createdDate_from']) && ($from = trim($serachCriteria['pql.createdDate_from'])) !== '') {
             $where[] = 'pql.created >= ?';
             $params[] = $from;
         }
         if (isset($serachCriteria['pql.createdDate_to']) && ($to = trim($serachCriteria['pql.createdDate_to'])) !== '') {
             $where[] = 'pql.created <= ?';
             $params[] = str_replace(' 00:00:00', ' 23:59:59', $to);
         }
         $stats = array();
         $objects = $class::getAllByCriteria(implode(' AND ', $where), $params, false, $pageNo, $pageSize, array('pql.id' => 'desc'), $stats);
         $results['pageStats'] = $stats;
         $results['items'] = array();
         foreach ($objects as $obj) {
             $order = $obj->getEntity() instanceof OrderItem ? $obj->getEntity()->getOrder() : ($obj->getEntity() instanceof Order ? $obj->getEntity() : null);
             $purchaseOrder = $obj->getEntity() instanceof PurchaseOrderItem ? $obj->getEntity()->getPurchaseOrder() : ($obj->getEntity() instanceof PurchaseOrder ? $obj->getEntity() : null);
             $extra = array('product' => $obj->getproduct()->getJson(), 'order' => $order instanceof Order ? $order->getJson() : null, 'purchaseOrder' => $purchaseOrder instanceof PurchaseOrder ? $purchaseOrder->getJson() : null);
             $results['items'][] = $obj->getJson($extra);
         }
     } catch (Exception $ex) {
         $errors[] = $ex->getMessage();
     }
     $param->ResponseData = StringUtilsAbstract::getJson($results, $errors);
 }