A Purchasing Price of 12.34 with a conversion factor of 100,0000 caused a false inter...
[fa-stable.git] / purchasing / view / view_po.php
1 <?php
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 = 2;
13 $path_to_root="../..";
14 include($path_to_root . "/purchasing/includes/po_class.inc");
15
16 include($path_to_root . "/includes/session.inc");
17 include($path_to_root . "/purchasing/includes/purchasing_ui.inc");
18
19 $js = "";
20 if ($use_popup_windows)
21         $js .= get_js_open_window(900, 500);
22 page(_("View Purchase Order"), true, false, "", $js);
23
24
25 if (!isset($_GET['trans_no']))
26 {
27         die ("<br>" . _("This page must be called with a purchase order number to review."));
28 }
29
30 display_heading(_("Purchase Order") . " #" . $_GET['trans_no']);
31
32 $purchase_order = new purch_order;
33
34 read_po($_GET['trans_no'], $purchase_order);
35 echo "<br>";
36 display_po_summary($purchase_order, true);
37
38 start_table("$table_style width=90%", 6);
39 echo "<tr><td valign=top>"; // outer table
40
41 display_heading2(_("Line Details"));
42
43 start_table("colspan=9 $table_style width=100%");
44
45 $th = array(_("Item Code"), _("Item Description"), _("Quantity"), _("Unit"), _("Price"),
46         _("Line Total"), _("Requested By"), _("Quantity Received"), _("Quantity Invoiced"));
47 table_header($th);
48 $total = $k = 0;
49 $overdue_items = false;
50
51 foreach ($purchase_order->line_items as $stock_item)
52 {
53
54         $line_total = $stock_item->quantity * $stock_item->price;
55
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))
59         {
60         start_row("class='overduebg'");
61         $overdue_items = true;
62         }
63         else
64         {
65                 alt_table_row_color($k);
66         }
67
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         amount_cell($line_total);
75         label_cell($stock_item->req_del_date);
76         qty_cell($stock_item->qty_received, false, $dec);
77         qty_cell($stock_item->qty_inv, false, $dec);
78         end_row();
79
80         $total += $line_total;
81 }
82
83 $display_total = number_format2($total,user_price_dec());
84 label_row(_("Total Excluding Tax/Shipping"), $display_total,
85         "align=right colspan=5", "nowrap align=right");
86
87 end_table();
88
89 if ($overdue_items)
90         display_note(_("Marked items are overdue."), 0, 0, "class='overduefg'");
91
92 //----------------------------------------------------------------------------------------------------
93
94 $k = 0;
95
96 $grns_result = get_po_grns($_GET['trans_no']);
97
98 if (db_num_rows($grns_result) > 0)
99 {
100
101     echo "</td><td valign=top>"; // outer table
102
103     display_heading2(_("Deliveries"));
104     start_table($table_style);
105     $th = array(_("#"), _("Reference"), _("Delivered On"));
106     table_header($th);
107     while ($myrow = db_fetch($grns_result))
108     {
109                 alt_table_row_color($k);
110
111         label_cell(get_trans_view_str(25,$myrow["id"]));
112         label_cell($myrow["reference"]);
113         label_cell(sql2date($myrow["delivery_date"]));
114         end_row();
115     }
116     end_table();;
117 }
118
119 $invoice_result = get_po_invoices_credits($_GET['trans_no']);
120
121 $k = 0;
122
123 if (db_num_rows($invoice_result) > 0)
124 {
125
126     echo "</td><td valign=top>"; // outer table
127
128     display_heading2(_("Invoices/Credits"));
129     start_table($table_style);
130     $th = array(_("#"), _("Date"), _("Total"));
131     table_header($th);
132     while ($myrow = db_fetch($invoice_result))
133     {
134         alt_table_row_color($k);
135
136         label_cell(get_trans_view_str($myrow["type"],$myrow["trans_no"]));
137         label_cell(sql2date($myrow["tran_date"]));
138         amount_cell($myrow["Total"]);
139         end_row();
140     }
141     end_table();
142 }
143
144 echo "</td></tr>";
145
146 end_table(1); // outer table
147
148 //----------------------------------------------------------------------------------------------------
149
150 end_page(true);
151
152 ?>