From: Joe Hunt Date: Tue, 27 Sep 2011 07:39:52 +0000 (+0200) Subject: 0001085: When doing multiple deliveries for an order should account for shipping... X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=commitdiff_plain;h=edc2bd3467167b10c18425cbfd31c81f979c32eb;p=textcart.git 0001085: When doing multiple deliveries for an order should account for shipping costs already consumed --- diff --git a/sales/customer_delivery.php b/sales/customer_delivery.php index c7e051e..30e3591 100644 --- a/sales/customer_delivery.php +++ b/sales/customer_delivery.php @@ -95,6 +95,9 @@ if (isset($_GET['OrderNumber']) && $_GET['OrderNumber'] > 0) { die ("
" . _("This order has no items. There is nothing to delivery.") . ""); } + // Adjust Shipping Charge based upon previous deliveries TAM + adjust_shipping_charge($ord, $_GET['OrderNumber']); + $_SESSION['Items'] = $ord; copy_from_cart(); diff --git a/sales/includes/db/sales_delivery_db.inc b/sales/includes/db/sales_delivery_db.inc index 7239207..f92feca 100644 --- a/sales/includes/db/sales_delivery_db.inc +++ b/sales/includes/db/sales_delivery_db.inc @@ -148,6 +148,18 @@ function write_sales_delivery(&$delivery,$bo_policy) return $delivery_no; } +//-------------------------------------------------------------------------------------------------- +function adjust_shipping_charge(&$delivery, $trans_no) +{ + $sql = "SELECT sum(ov_freight) as freight FROM ".TB_PREF."debtor_trans WHERE order_ = $trans_no AND type = " . ST_CUSTDELIVERY . " AND debtor_no = " . $delivery->customer_id; + $result = db_query($sql, "Can not find delivery notes"); + $row = db_fetch_row($result); + if (!$row[0]) $freight = 0; + else $freight = $row[0]; + if ($freight < $delivery->freight_cost) $delivery->freight_cost = $delivery->freight_cost - $freight; + else $delivery->freight_cost = 0; +} + //-------------------------------------------------------------------------------------------------- function void_sales_delivery($type, $type_no, $transactions=true)