2 /**********************************************************************
3 Copyright (C) FrontAccounting, LLC.
4 Released under the terms of the GNU General Public License, GPL,
5 as published by the Free Software Foundation, either version 3
6 of the License, or (at your option) any later version.
7 This program is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10 See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
11 ***********************************************************************/
12 $page_security = 'SA_SUPPTRANSVIEW';
13 $path_to_root = "../..";
14 include($path_to_root . "/purchasing/includes/po_class.inc");
16 include($path_to_root . "/includes/session.inc");
17 include($path_to_root . "/purchasing/includes/purchasing_ui.inc");
20 if ($use_popup_windows)
21 $js .= get_js_open_window(900, 500);
22 page(_($help_context = "View Purchase Order"), true, false, "", $js);
25 if (!isset($_GET['trans_no']))
27 die ("<br>" . _("This page must be called with a purchase order number to review."));
30 display_heading(_("Purchase Order") . " #" . $_GET['trans_no']);
32 $purchase_order = new purch_order;
34 read_po($_GET['trans_no'], $purchase_order);
36 display_po_summary($purchase_order, true);
38 start_table(TABLESTYLE, "width=90%", 6);
39 echo "<tr><td valign=top>"; // outer table
41 display_heading2(_("Line Details"));
43 start_table(TABLESTYLE, "colspan=9 width=100%");
45 $th = array(_("Item Code"), _("Item Description"), _("Quantity"), _("Unit"), _("Price"),
46 _("Requested By"), _("Line Total"), _("Quantity Received"), _("Quantity Invoiced"));
49 $overdue_items = false;
51 foreach ($purchase_order->line_items as $stock_item)
54 $line_total = $stock_item->quantity * $stock_item->price;
56 // if overdue and outstanding quantities, then highlight as so
57 if (($stock_item->quantity - $stock_item->qty_received > 0) &&
58 date1_greater_date2(Today(), $stock_item->req_del_date))
60 start_row("class='overduebg'");
61 $overdue_items = true;
65 alt_table_row_color($k);
68 label_cell($stock_item->stock_id);
69 label_cell($stock_item->item_description);
70 $dec = get_qty_dec($stock_item->stock_id);
71 qty_cell($stock_item->quantity, false, $dec);
72 label_cell($stock_item->units);
73 amount_decimal_cell($stock_item->price);
74 label_cell($stock_item->req_del_date);
75 amount_cell($line_total);
76 qty_cell($stock_item->qty_received, false, $dec);
77 qty_cell($stock_item->qty_inv, false, $dec);
80 $total += $line_total;
83 $display_sub_tot = number_format2($total,user_price_dec());
84 label_row(_("Sub Total"), $display_sub_tot,
85 "align=right colspan=6", "nowrap align=right",2);
87 $taxes = $purchase_order->get_taxes();
88 $tax_total = display_edit_tax_items($taxes, 6, $purchase_order->tax_included,2);
90 $display_total = price_format(($total + $tax_total));
93 label_cells(_("Amount Total"), $display_total, "colspan=6 align='right'","align='right'");
94 label_cell('', "colspan=2");
100 display_note(_("Marked items are overdue."), 0, 0, "class='overduefg'");
102 //----------------------------------------------------------------------------------------------------
106 $grns_result = get_po_grns($_GET['trans_no']);
108 if (db_num_rows($grns_result) > 0)
111 echo "</td><td valign=top>"; // outer table
113 display_heading2(_("Deliveries"));
114 start_table(TABLESTYLE);
115 $th = array(_("#"), _("Reference"), _("Delivered On"));
117 while ($myrow = db_fetch($grns_result))
119 alt_table_row_color($k);
121 label_cell(get_trans_view_str(ST_SUPPRECEIVE,$myrow["id"]));
122 label_cell($myrow["reference"]);
123 label_cell(sql2date($myrow["delivery_date"]));
129 $invoice_result = get_po_invoices_credits($_GET['trans_no']);
133 if (db_num_rows($invoice_result) > 0)
136 echo "</td><td valign=top>"; // outer table
138 display_heading2(_("Invoices/Credits"));
139 start_table(TABLESTYLE);
140 $th = array(_("#"), _("Date"), _("Total"));
142 while ($myrow = db_fetch($invoice_result))
144 alt_table_row_color($k);
146 label_cell(get_trans_view_str($myrow["type"],$myrow["trans_no"]));
147 label_cell(sql2date($myrow["tran_date"]));
148 amount_cell($myrow["Total"]);
156 end_table(1); // outer table
158 //----------------------------------------------------------------------------------------------------
160 end_page(true, false, false, ST_PURCHORDER, $_GET['trans_no']);