Ejemplo n.º 1
0
 /**
   AJAX call: ?id=<vendor ID>&sku=<vendor SKU>&qty=<# of cases>
   Add the given SKU & qty to the order
 */
 function get_id_sku_qty_handler()
 {
     global $FANNIE_OP_DB;
     $dbc = FannieDB::get($FANNIE_OP_DB);
     $orderID = $this->getOrderID($this->id, FannieAuth::getUID($this->current_user));
     $vitem = new VendorItemsModel($dbc);
     $vitem->vendorID($this->id);
     $vitem->sku($this->sku);
     $vitem->load();
     $pitem = new PurchaseOrderItemsModel($dbc);
     $pitem->orderID($orderID);
     $pitem->sku($this->sku);
     if ($this->qty == 0) {
         $pitem->delete();
     } else {
         $pitem->quantity($this->qty);
         $pitem->unitCost($vitem->cost());
         $pitem->caseSize($vitem->units());
         $pitem->unitSize($vitem->size());
         $pitem->brand($vitem->brand());
         $pitem->description($vitem->description());
         $pitem->internalUPC($vitem->upc());
         $pitem->save();
     }
     $ret = array();
     $pitem->reset();
     $pitem->orderID($orderID);
     $pitem->sku($this->sku);
     if (count($pitem->find()) == 0 && $this->qty != 0) {
         $ret['error'] = 'Error saving entry';
     } else {
         $q = 'SELECT count(*) as rows,
             SUM(unitCost*caseSize*quantity) as estimatedCost
             FROM PurchaseOrderItems WHERE orderID=?';
         $p = $dbc->prepare_statement($q);
         $r = $dbc->exec_statement($p, array($orderID));
         $w = $dbc->fetch_row($r);
         $ret['count'] = $w['rows'];
         $ret['cost'] = sprintf('%.2f', $w['estimatedCost']);
     }
     echo json_encode($ret);
     return False;
 }