X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Finquiry%2Fsales_deliveries_view.php;h=98d17a7490b51efce0f4fcec9d66a4bfb859e2e2;hb=e8623dd6746abb8eec4eb3ddd583d208e531b8e7;hp=3063b84c4dad173be12a90c1cb0ac044a7a10045;hpb=d6ccc05f1d97979ee67c33451fdfd9cf5f124bb9;p=fa-stable.git diff --git a/sales/inquiry/sales_deliveries_view.php b/sales/inquiry/sales_deliveries_view.php index 3063b84c..98d17a74 100644 --- a/sales/inquiry/sales_deliveries_view.php +++ b/sales/inquiry/sales_deliveries_view.php @@ -5,6 +5,7 @@ $path_to_root="../.."; include($path_to_root . "/includes/session.inc"); include($path_to_root . "/sales/includes/sales_ui.inc"); +include_once($path_to_root . "/reporting/includes/reporting.inc"); $js = ""; if ($use_popup_windows) @@ -12,12 +13,12 @@ if ($use_popup_windows) if ($use_date_picker) $js .= get_js_date_picker(); -if (isset($_GET['OutstandingOnly']) && ($_GET['OutstandingOnly'] == true)) +if (isset($_GET['OutstandingOnly']) && ($_GET['OutstandingOnly'] == true)) { $_POST['OutstandingOnly'] = true; page(_("Search Not Invoiced Deliveries"), false, false, "", $js); -} -else +} +else { $_POST['OutstandingOnly'] = false; page(_("Search All Deliveries"), false, false, "", $js); @@ -26,58 +27,92 @@ else if (isset($_GET['selected_customer'])) { $selected_customer = $_GET['selected_customer']; -} +} elseif (isset($_POST['selected_customer'])) { $selected_customer = $_POST['selected_customer']; } else $selected_customer = -1; - -if(isset($_POST['BatchInvoice'])) { -// checking batch integrity +if (isset($_POST['BatchInvoice'])) +{ + + // checking batch integrity $del_count = 0; - foreach($_SESSION['Batch'] as $delivery) { - $checkbox = 'Sel_'.$delivery['trans']; - if(check_value($checkbox)) { - if(!$del_count) { - $del_customer = $delivery['cust']; - $del_branch = $delivery['branch']; - } else { - if($del_customer!=$delivery['cust'] || $del_branch != $delivery['branch']) { - $del_count=0; break; - } - } - $selected[] = $delivery['trans']; - $del_count++; - } + foreach($_SESSION['Batch'] as $delivery) + { + $checkbox = 'Sel_'.$delivery['trans']; + if (check_value($checkbox)) + { + if (!$del_count) + { + $del_customer = $delivery['cust']; + $del_branch = $delivery['branch']; + } + else + { + if ($del_customer!=$delivery['cust'] || $del_branch != $delivery['branch']) + { + $del_count=0; + break; + } + } + $selected[] = $delivery['trans']; + $del_count++; + } } - if(!$del_count) { - display_error(_('For batch invoicing you should + if (!$del_count) + { + display_error(_('For batch invoicing you should select at least one delivery. All items must be dispatched to the same customer branch.')); - } else { - $_SESSION['DeliveryBatch'] = $selected; - meta_forward($path_to_root . '/sales/customer_invoice.php','BatchInvoice=Yes'); } + else + { + $_SESSION['DeliveryBatch'] = $selected; + meta_forward($path_to_root . '/sales/customer_invoice.php','BatchInvoice=Yes'); + } +} + +//----------------------------------------------------------------------------------- +if (get_post('SearchOrders')) +{ + $Ajax->activate('deliveries_tbl'); +} elseif (get_post('_DeliveryNumber_changed')) +{ + $disable = get_post('DeliveryNumber') !== ''; + + $Ajax->addDisable(true, 'DeliveryAfterDate', $disable); + $Ajax->addDisable(true, 'DeliveryToDate', $disable); + $Ajax->addDisable(true, 'StockLocation', $disable); + $Ajax->addDisable(true, '_SelectStockFromList_edit', $disable); + $Ajax->addDisable(true, 'SelectStockFromList', $disable); + // if search is not empty rewrite table + if ($disable) { + $Ajax->addFocus(true, 'DeliveryNumber'); + } else + $Ajax->addFocus(true, 'DeliveryAfterDate'); + $Ajax->activate('deliveries_tbl'); } + //----------------------------------------------------------------------------------- +print_hidden_script(13); start_form(false, false, $_SERVER['PHP_SELF'] ."?OutstandingOnly=" . $_POST['OutstandingOnly'] .SID); start_table("class='tablestyle_noborder'"); start_row(); -ref_cells(_("#:"), 'DeliveryNumber'); -date_cells(_("from:"), 'DeliveryAfterDate', null, -30); -date_cells(_("to:"), 'DeliveryToDate', null, 1); +ref_cells(_("#:"), 'DeliveryNumber', '',null, '', true); +date_cells(_("from:"), 'DeliveryAfterDate', '', null, -30); +date_cells(_("to:"), 'DeliveryToDate', '', null, 1); -//locations_list_cells(_("Location:"), 'StockLocation', null, true); +locations_list_cells(_("Location:"), 'StockLocation', null, true); stock_items_list_cells(_("Item:"), 'SelectStockFromList', null, true); -submit_cells('SearchOrders', _("Search")); +submit_cells('SearchOrders', _("Search"),'',_('Select documents'), true); hidden('OutstandingOnly', $_POST['OutstandingOnly']); @@ -91,8 +126,8 @@ if (isset($_POST['SelectStockFromList']) && ($_POST['SelectStockFromList'] != "" ($_POST['SelectStockFromList'] != reserved_words::get_all())) { $selected_stock_item = $_POST['SelectStockFromList']; -} -else +} +else { unset($selected_stock_item); } @@ -104,37 +139,43 @@ $sql = "SELECT ".TB_PREF."debtor_trans.trans_no, " .TB_PREF."cust_branch.br_name, " .TB_PREF."debtor_trans.reference, " .TB_PREF."debtor_trans.tran_date, " - .TB_PREF."debtor_trans.due_date, "; -// .TB_PREF."sales_orders.customer_ref, " -// .TB_PREF."sales_orders.deliver_to, " -$sql .= " Sum(".TB_PREF."debtor_trans_details.qty_done-" - .TB_PREF."debtor_trans_details.quantity) AS Outstanding, "; -$sql .= " Sum(".TB_PREF."debtor_trans_details.qty_done) AS Partial, "; - -$sql .= " Sum(".TB_PREF."-debtor_trans_details.unit_price*" - .TB_PREF."debtor_trans_details.quantity*(1-" - .TB_PREF."debtor_trans_details.discount_percent)) AS DeliveryValue - FROM " -// .TB_PREF."sales_orders, " + .TB_PREF."debtor_trans.due_date, " + .TB_PREF."sales_orders.customer_ref, " + .TB_PREF."sales_orders.deliver_to, "; + +$sql .= " Sum(".TB_PREF."debtor_trans_details.quantity-" + .TB_PREF."debtor_trans_details.qty_done) AS Outstanding, "; + +$sql .= " Sum(".TB_PREF."debtor_trans_details.qty_done) AS Done, "; + +$sql .= "(ov_amount+ov_gst+ov_freight+ov_freight_tax) AS DeliveryValue"; +$sql .=" FROM " + .TB_PREF."sales_orders, " .TB_PREF."debtor_trans, " .TB_PREF."debtor_trans_details, " .TB_PREF."debtors_master, " .TB_PREF."cust_branch WHERE " -// .TB_PREF."sales_orders.order_no = ".TB_PREF."debtor_trans.order_ AND " + .TB_PREF."sales_orders.order_no = ".TB_PREF."debtor_trans.order_ AND " .TB_PREF."debtor_trans.debtor_no = ".TB_PREF."debtors_master.debtor_no AND ".TB_PREF."debtor_trans.type = 13 - AND ".TB_PREF."debtor_trans_details.debtor_trans_no = debtor_trans.trans_no - AND ".TB_PREF."debtor_trans_details.debtor_trans_type = debtor_trans.type + AND ".TB_PREF."debtor_trans_details.debtor_trans_no = ".TB_PREF."debtor_trans.trans_no + AND ".TB_PREF."debtor_trans_details.debtor_trans_type = ".TB_PREF."debtor_trans.type AND ".TB_PREF."debtor_trans.branch_code = ".TB_PREF."cust_branch.branch_code AND ".TB_PREF."debtor_trans.debtor_no = ".TB_PREF."cust_branch.debtor_no "; + if ($_POST['OutstandingOnly'] == true) { + $sql .= " AND ".TB_PREF."debtor_trans_details.qty_done < ".TB_PREF."debtor_trans_details.quantity "; + } + //figure out the sql required from the inputs available -if (isset($_POST['DeliveryNumber']) && $_POST['DeliveryNumber'] != "") +if (isset($_POST['DeliveryNumber']) && $_POST['DeliveryNumber'] != "") { - $sql .= " AND ".TB_PREF."debtor_trans.trans_no LIKE '%". $_POST['DeliveryNumber'] ."' GROUP BY ".TB_PREF."debtor_trans.trans_no"; -} -else +// if ($_POST['DeliveryNumber'] != '*') // TODO paged table + $sql .= " AND ".TB_PREF."debtor_trans.trans_no LIKE '%". $_POST['DeliveryNumber'] ."'"; + $sql .= " GROUP BY ".TB_PREF."debtor_trans.trans_no"; +} +else { $date_after = date2sql($_POST['DeliveryAfterDate']); @@ -149,48 +190,42 @@ else if (isset($selected_stock_item)) $sql .= " AND ".TB_PREF."debtor_trans_details.stock_id='". $selected_stock_item ."' "; -// if (isset($_POST['StockLocation']) && $_POST['StockLocation'] != reserved_words::get_all()) -// $sql .= " AND ".TB_PREF."sales_orders.from_stk_loc = '". $_POST['StockLocation'] . "' "; + if (isset($_POST['StockLocation']) && $_POST['StockLocation'] != reserved_words::get_all()) + $sql .= " AND ".TB_PREF."sales_orders.from_stk_loc = '". $_POST['StockLocation'] . "' "; - if ($_POST['OutstandingOnly'] == true) { - $sql .= " AND ".TB_PREF."-debtor_trans_details.qty_done < ".TB_PREF."-debtor_trans_details.quantity "; - } - $sql .= " GROUP BY ".TB_PREF."debtor_trans.trans_no "; -// .TB_PREF."debtor_trans.debtor_no, " -// .TB_PREF."debtor_trans.branch_code, " -// ".TB_PREF."sales_orders.customer_ref, " -// .TB_PREF."debtor_trans.tran_date"; } //end no delivery number selected $result = db_query($sql,"No deliveries were returned"); //----------------------------------------------------------------------------------- -if(isset($_SESSION['Batch'])) { - foreach($_SESSION['Batch'] as $trans=>$del) unset($_SESSION['Batch'][$trans]); +if (isset($_SESSION['Batch'])) +{ + foreach($_SESSION['Batch'] as $trans=>$del) + unset($_SESSION['Batch'][$trans]); unset($_SESSION['Batch']); } -if ($result) +if ($result) { - /*show a table of the deliveries returned by the sql */ + div_start('deliveries_tbl'); + start_table("$table_style colspan=7 width=95%"); $th = array(_("Delivery #"), _("Customer"), _("Branch"), _("Reference"), _("Delivery Date"), - _("Due By"), _("Delivery Total"), _("Currency"), - submit('BatchInvoice','Batch Inv', false), - "", ""); + _("Due By"), _("Delivery Total"), _("Currency"), submit('BatchInvoice','Batch Inv', false), + "", "", ""); table_header($th); $j = 1; $k = 0; //row colour counter $overdue_items = false; - while ($myrow = db_fetch($result)) + while ($myrow = db_fetch($result)) { $_SESSION['Batch'][] = array('trans'=>$myrow["trans_no"], 'cust'=>$myrow["name"],'branch'=>$myrow["br_name"] ); - + $view_page = get_customer_trans_view_str(13, $myrow["trans_no"]); $formated_del_date = sql2date($myrow["tran_date"]); $formated_due_date = sql2date($myrow["due_date"]); @@ -202,8 +237,8 @@ if ($result) { start_row("class='overduebg'"); $overdue_items = true; - } - else + } + else { alt_table_row_color($k); } @@ -216,15 +251,16 @@ if ($result) label_cell($formated_due_date); amount_cell($myrow["DeliveryValue"]); label_cell($myrow["curr_code"]); - if(!$myrow['Partial']) + if (!$myrow['Done']) check_cells(null,'Sel_'. $myrow['trans_no'],0,false); else label_cell(""); - if ($_POST['OutstandingOnly'] == true || $not_closed) + if ($_POST['OutstandingOnly'] == true || $not_closed) { $modify_page = $path_to_root . "/sales/customer_delivery.php?" . SID . "ModifyDelivery=" . $myrow["trans_no"]; $invoice_page = $path_to_root . "/sales/customer_invoice.php?" . SID . "DeliveryNumber=" .$myrow["trans_no"]; label_cell("" . _("Edit") . ""); + label_cell(print_document_link($myrow['trans_no'], _("Print"))); label_cell($not_closed ? "" . _("Invoice") . "" : ''); @@ -233,6 +269,7 @@ if ($result) { label_cell(""); label_cell(""); + label_cell(""); } end_row();; @@ -250,6 +287,7 @@ if ($result) if ($overdue_items) display_note(_("Marked items are overdue."), 0, 1, "class='overduefg'"); +div_end(); } echo "
";