X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=manufacturing%2Fincludes%2Fwork_order_issue_ui.inc;h=969810cd11f2dc4d69e261198ec95f90ea001fea;hb=26d7ae434469ae407f209ae3c0d3955b29107d95;hp=c81b779256f4c3b06130858fd639ffa74e7954ba;hpb=da8311619dd73feae101d246a1957b972e00cbd2;p=fa-stable.git diff --git a/manufacturing/includes/work_order_issue_ui.inc b/manufacturing/includes/work_order_issue_ui.inc index c81b7792..969810cd 100644 --- a/manufacturing/includes/work_order_issue_ui.inc +++ b/manufacturing/includes/work_order_issue_ui.inc @@ -1,133 +1,145 @@ . +***********************************************************************/ include_once($path_to_root . "/includes/ui.inc"); include_once($path_to_root . "/includes/ui/items_cart.inc"); //-------------------------------------------------------------------------------- -function add_to_order(&$order, $new_item, $new_item_qty, $standard_cost) +function add_to_issue(&$order, $new_item, $new_item_qty, $standard_cost) { - $already_on_order = 0; - - foreach ($order->line_items as $order_item) - { - if (strcasecmp($order_item->stock_id, $new_item) == 0) - { - $already_on_order = 1; - display_error(_("For Part :") . $new_item . " " . "This item is already on this order. You can change the quantity ordered of the existing line if necessary."); - } - } - - if ($already_on_order != 1) - { - $order->add_to_cart($new_item, $new_item_qty, $standard_cost); - } /* end of if not already on the order */ -} - -//-------------------------------------------------------------------------------- - -function display_order_header(&$order) -{ - display_wo_details($_SESSION['issue_items']->order_id); - echo "
"; + 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); } - //--------------------------------------------------------------------------------- -function display_adjustment_items($Title, &$order) +function display_issue_items($title, &$order) { - global $table_style, $path_to_root; + global $path_to_root; - display_heading($Title); - start_table("$table_style colspan=7"); + display_heading($title); + div_start('items_table'); + start_table(TABLESTYLE, "width='80%'"); $th = array(_("Item Code"), _("Item Description"), _("Quantity"), - _("Unit"), _("Unit Cost")); - table_header($th); + _("Unit"), _("Unit Cost"), ''); + if ( count($order->line_items)) $th[] = ''; - $subtotal = 0; + table_header($th); +// $total = 0; $k = 0; //row colour counter - foreach ($order->line_items as $stock_item) + 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) { - if ($_GET['Edit'] != $stock_item->stock_id) + if ($id != $line_no) { - alt_table_row_color($k); - - label_cell("$stock_item->stock_id"); - label_cell($stock_item->item_description); - qty_cell($stock_item_quantity); - if (strlen($stock_item->units) - label_cell($stock_item->units); - else - label_cell(""); + 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); - edit_link_cell(SID . "Edit=$stock_item->stock_id"); - delete_link_cell(SID . "Delete=$stock_item->stock_id"); - end_row(); - } - else + edit_button_cell("Edit$line_no", _("Edit"), + _('Edit document line')); + delete_button_cell("Delete$line_no", _("Delete"), + _('Remove line from document')); + end_row(); + } + else { - adjustment_edit_item_controls($order, $stock_item->stock_id); + issue_edit_item_controls($order, $line_no); } } - if (!isset($_GET['Edit'])) - adjustment_edit_item_controls($order); + if ($id == -1) + issue_edit_item_controls($order); 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(); } //--------------------------------------------------------------------------------- -function adjustment_edit_item_controls(&$order, $stock_id=null) +function issue_edit_item_controls(&$order, $line_no=-1) { + global $Ajax; start_row(); - if (isset($_GET['Edit']) && $stock_id != null) + $id = find_submit('Edit'); + if ($line_no != -1 && $line_no == $id) { - if (!isset($_POST['stock_id'])) - $_POST['stock_id'] = $order->line_items[$stock_id]->stock_id; - if (!isset($_POST['qty']) || ($_POST['qty'] == "")) - $_POST['qty'] = $order->line_items[$stock_id]->quantity; - if (!isset($_POST['std_cost']) || ($_POST['std_cost'] == "")) - $_POST['std_cost'] = $order->line_items[$stock_id]->standard_cost; - - $_POST['units'] = $order->line_items[$stock_id]->units; + $_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); + $std_cost = $order->line_items[$id]->standard_cost; + $_POST['units'] = $order->line_items[$id]->units; hidden('stock_id', $_POST['stock_id']); label_cell($_POST['stock_id']); - label_cell($order->line_items[$stock_id]->item_description); + label_cell($order->line_items[$id]->item_description); + $Ajax->activate('items_table'); } else { - $wo_details = get_work_order($_SESSION['issue_items']->order_id); - - echo ""; - stock_component_items_list('stock_id', $wo_details["stock_id"], $_POST['stock_id'], false, true); - echo ""; + $wo_details = get_work_order($_SESSION['issue_items']->order_id); + + stock_component_items_list_cells(null, 'stock_id', + $wo_details["stock_id"], null, false, true); + if (list_updated('stock_id')) { + $Ajax->activate('units'); + $Ajax->activate('qty'); + $Ajax->activate('std_cost'); + } $item_info = get_item_edit_info($_POST['stock_id']); - $_POST['qty'] = 0; - $_POST['std_cost'] = $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'); - text_cells(null, 'qty', $_POST['qty'], 13, 15); - label_cell($_POST['units']); - text_cells(null, 'std_cost', $_POST['std_cost'], 15, 14); + //amount_cells(null, 'std_cost', $_POST['std_cost']); + hidden('std_cost', $std_cost); + amount_cell($std_cost); - if (isset($_GET['Edit'])) + if ($id != -1) { - submit_cells('UpdateItem', _("Update")); - submit_cells('CancelItemChanges', _("Cancel")); - } - else + button_cell('UpdateItem', _("Update"), + _('Confirm changes'), ICON_UPDATE); + button_cell('CancelItemChanges', _("Cancel"), + _('Cancel changes'), ICON_CANCEL); + hidden('LineNo', $line_no); + set_focus('qty'); + } + else { - submit_cells('AddItem', _("Add Item"), "colspan=2"); + submit_cells('AddItem', _("Add Item"), "colspan=2", + _('Add new item to document'), true); } end_row(); @@ -136,30 +148,27 @@ function adjustment_edit_item_controls(&$order, $stock_id=null) //--------------------------------------------------------------------------------- -function adjustment_options_controls() +function issue_options_controls() { + global $Refs; + echo "
"; start_table(); - - ref_row(_("Reference:"), 'ref', references::get_next(28)); - - if (!isset($_POST['IssueType'])) - $_POST['IssueType'] = 0; - - yesno_list_row(_("Type:"), 'IssueType', $_POST['IssueType'], - _("Return Items to Location"), _("Issue Items to Work order")); - - locations_list_row(_("From Location:"), 'Location', $_POST['Location']); - workcenter_list_row(_("To Work Centre:"), 'WorkCentre', $_POST['WorkCentre']); - - date_row(_("Issue Date:"), 'date_'); - - textarea_row(_("Memo:"), 'memo_', $_POST['memo_'], 50, 3); - - end_table(); + 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; + + yesno_list_row(_("Type:"), 'IssueType', $_POST['IssueType'], + _("Return Items to Location"), _("Issue Items to Work order")); + + textarea_row(_("Memo"), 'memo_', null, 50, 3, 40); // stock move reference is 40 max + + end_table(1); } - - //--------------------------------------------------------------------------------- -?> \ No newline at end of file