コード例 #1
0
 public function get_id_view()
 {
     global $FANNIE_OP_DB;
     $dbc = FannieDB::get($FANNIE_OP_DB);
     $id = $this->id;
     $delQ = $dbc->prepare_statement("DELETE FROM vendorSRPs WHERE vendorID=?");
     $delR = $dbc->exec_statement($delQ, array($id));
     $query = '
         SELECT v.upc,
             v.sku,
             v.cost,
             CASE
                 WHEN a.margin IS NOT NULL THEN a.margin
                 WHEN b.margin IS NOT NULL THEN b.margin
                 ELSE 0 
             END AS margin,
             COALESCE(n.shippingMarkup, 0) as shipping,
             COALESCE(n.discountRate, 0) as discount
         FROM vendorItems as v 
             LEFT JOIN vendorDepartments AS a ON v.vendorID=a.vendorID AND v.vendorDept=a.deptID
             INNER JOIN vendors AS n ON v.vendorID=n.vendorID
             LEFT JOIN products as p ON v.upc=p.upc AND v.vendorID=p.default_vendor_id
             LEFT JOIN departments AS b ON p.department=b.dept_no
         WHERE v.vendorID=?
             AND (a.margin IS NOT NULL OR b.margin IS NOT NULL)';
     $fetchP = $dbc->prepare($query);
     $fetchR = $dbc->exec_statement($fetchP, array($id));
     $upP = $dbc->prepare('
         UPDATE vendorItems
         SET srp=?,
             modified=' . $dbc->now() . '
         WHERE vendorID=?
             AND sku=?');
     $insP = false;
     if ($dbc->tableExists('vendorSRPs')) {
         $insP = $dbc->prepare_statement('INSERT INTO vendorSRPs VALUES (?,?,?)');
     }
     $rounder = new \COREPOS\Fannie\API\item\PriceRounder();
     while ($fetchW = $dbc->fetch_array($fetchR)) {
         // calculate a SRP from unit cost and desired margin
         $adj = \COREPOS\Fannie\API\item\Margin::adjustedCost($fetchW['cost'], $fetchW['discount'], $fetchW['shipping']);
         $srp = \COREPOS\Fannie\API\item\Margin::toPrice($adj, $fetchW['margin']);
         $srp = $rounder->round($srp);
         $upR = $dbc->execute($upP, array($srp, $id, $fetchW['sku']));
         if ($insP) {
             $insR = $dbc->exec_statement($insP, array($id, $fetchW['upc'], $srp));
         }
     }
     $ret = "<b>SRPs have been updated</b><br />";
     $ret .= sprintf('<p>
         <a class="btn btn-default" href="index.php">Price Batch Tools</a>
         <a class="btn btn-default" 
         href="%s/item/vendors/VendorIndexPage.php?vid=%d">Vendor Settings &amp; Catalog</a>
         </p>', $this->config->get('URL'), $id);
     return $ret;
 }
コード例 #2
0
ファイル: ItemMarginModule.php プロジェクト: phpsmith/IS4C
 private function getSRP($cost, $margin)
 {
     $srp = Margin::toPrice($cost, $margin);
     $pr = new PriceRounder();
     return $pr->round($srp);
 }