Global change in naming convention from std_cost to unit_cost.
[fa-stable.git] / manufacturing / includes / work_order_issue_ui.inc
index 8508364eb62f12674d5484ccaf9460d42e3378fe..a37ef0950aa97d16302ec763f7984f2c86ec8b0e 100644 (file)
@@ -1,26 +1,35 @@
 <?php
-
+/**********************************************************************
+    Copyright (C) FrontAccounting, LLC.
+       Released under the terms of the GNU General Public License, GPL, 
+       as published by the Free Software Foundation, either version 3 
+       of the License, or (at your option) any later version.
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+    See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
+***********************************************************************/
 include_once($path_to_root . "/includes/ui.inc");
 include_once($path_to_root . "/includes/ui/items_cart.inc");
 
 //--------------------------------------------------------------------------------
 
-function add_to_issue(&$order, $new_item, $new_item_qty, $standard_cost)
+function add_to_issue(&$order, $new_item, $new_item_qty, $unit_cost)
 {
     if ($order->find_cart_item($new_item))
          display_error(_("For Part :") . $new_item . " " . "This item is already on this issue.  You can change the quantity issued of the existing line if necessary.");
        else
-         $order->add_to_cart (count($order->line_items), $new_item, $new_item_qty, $standard_cost);
+         $order->add_to_cart (count($order->line_items), $new_item, $new_item_qty, $unit_cost);
 }
 //---------------------------------------------------------------------------------
 
 function display_issue_items($title, &$order)
 {
-       global $table_style, $path_to_root;
+       global $path_to_root;
 
        display_heading($title);
     div_start('items_table');
-       start_table("$table_style width=80% colspan=7");
+       start_table(TABLESTYLE, "width='80%'");
        $th = array(_("Item Code"), _("Item Description"), _("Quantity"),
                _("Unit"), _("Unit Cost"), '');
        if ( count($order->line_items)) $th[] = '';
@@ -29,26 +38,29 @@ function display_issue_items($title, &$order)
 //     $total = 0;
        $k = 0;  //row colour counter
 
+       if (count($order->line_items))
+               $low_stock = $order->check_qoh($_POST['Location'], $_POST['date_'], !$_POST['IssueType']);
        $id = find_submit('Edit');
        foreach ($order->line_items as $line_no=>$stock_item)
        {
 
-//             $total += ($stock_item->standard_cost * $stock_item->quantity);
-
                if ($id != $line_no)
                {
-               alt_table_row_color($k);
+                       if (in_array($stock_item->stock_id, $low_stock))
+                               start_row("class='stockmankobg'");      // notice low stock status
+                       else 
+                               alt_table_row_color($k);
 
                        view_stock_status_cell($stock_item->stock_id);
                        label_cell($stock_item->item_description);
                qty_cell($stock_item->quantity, false, get_qty_dec($stock_item->stock_id));
                        label_cell($stock_item->units);
-                       amount_cell($stock_item->standard_cost);
-//                     amount_cell($stock_item->standard_cost * $stock_item->quantity);
+                       amount_cell($stock_item->unit_cost);
+//                     amount_cell($stock_item->unit_cost * $stock_item->quantity);
 
                        edit_button_cell("Edit$line_no", _("Edit"),
                                _('Edit document line'));
-                       edit_button_cell("Delete$line_no", _("Delete"),
+                       delete_button_cell("Delete$line_no", _("Delete"),
                                _('Remove line from document'));
                        end_row();
                }
@@ -61,9 +73,9 @@ function display_issue_items($title, &$order)
        if ($id == -1)
                issue_edit_item_controls($order);
 
-//     label_row(_("Total"), number_format2($total,user_price_dec()), "colspan=5", "align=right");
-
     end_table();
+       if (@$low_stock)
+               display_note(_("Marked items have insufficient quantities in stock as on day of issue."), 0, 1, "class='stockmankofg'");
        div_end();
 }
 
@@ -80,7 +92,7 @@ function issue_edit_item_controls(&$order, $line_no=-1)
                $_POST['stock_id'] = $order->line_items[$id]->stock_id;
                $_POST['qty'] = qty_format($order->line_items[$id]->quantity, 
                        $order->line_items[$id]->stock_id, $dec);
-               $_POST['std_cost'] = price_format($order->line_items[$id]->standard_cost);
+               $std_cost = $order->line_items[$id]->unit_cost;
                $_POST['units'] = $order->line_items[$id]->units;
 
                hidden('stock_id', $_POST['stock_id']);
@@ -102,22 +114,25 @@ function issue_edit_item_controls(&$order, $line_no=-1)
 
        $item_info = get_item_edit_info($_POST['stock_id']);
 
-               $_POST['qty'] = qty_format(0, $_POST['stock_id'], $dec);
-               $_POST['std_cost'] = price_format($item_info["standard_cost"]);
+               $dec = $item_info["decimals"];
+               $_POST['qty'] = number_format2(0, $dec);
+               $std_cost = $item_info["material_cost"];
                $_POST['units'] = $item_info["units"];
        }
 
        qty_cells(null, 'qty', $_POST['qty'], null, null, $dec);
        label_cell($_POST['units'], '', 'units');
 
-       amount_cells(null, 'std_cost', $_POST['std_cost']);
+       //amount_cells(null, 'std_cost', $_POST['std_cost']);
+       hidden('std_cost', $std_cost);
+       amount_cell($std_cost);
 
        if ($id != -1)
        {
-               edit_button_cell('UpdateItem', _("Update"),
-                               _('Confirm changes'));
-               edit_button_cell('CancelItemChanges', _("Cancel"),
-                               _('Cancel changes'));
+               button_cell('UpdateItem', _("Update"),
+                               _('Confirm changes'), ICON_UPDATE);
+               button_cell('CancelItemChanges', _("Cancel"),
+                               _('Cancel changes'), ICON_CANCEL);
                hidden('LineNo', $line_no);
                set_focus('qty');
        }
@@ -135,9 +150,15 @@ function issue_edit_item_controls(&$order, $line_no=-1)
 
 function issue_options_controls()
 {
+       global $Refs;
+
        echo "<br>";
        start_table();
-    ref_row(_("Reference:"), 'ref', '', references::get_next(28));
+       date_row(_("Issue Date:"), 'date_');
+       locations_list_row(_("From Location:"), 'Location');
+       workcenter_list_row(_("To Work Centre:"), 'WorkCentre');
+
+    ref_row(_("Reference:"), 'ref', '', $Refs->get_next(ST_MANUISSUE, null, array('date'=> get_post('date_'), 'location' => get_post('Location'))));
  
        if (!isset($_POST['IssueType']))
                $_POST['IssueType'] = 0;
@@ -145,15 +166,9 @@ function issue_options_controls()
        yesno_list_row(_("Type:"), 'IssueType', $_POST['IssueType'],
                _("Return Items to Location"), _("Issue Items to Work order"));
  
-       locations_list_row(_("From Location:"), 'Location');
-       workcenter_list_row(_("To Work Centre:"), 'WorkCentre');
-       date_row(_("Issue Date:"), 'date_');
-
        textarea_row(_("Memo"), 'memo_', null, 50, 3);
 
        end_table(1);
 }
 //---------------------------------------------------------------------------------
 
-?>
\ No newline at end of file