X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=manufacturing%2Fsearch_work_orders.php;h=4762881ff7f2dbc1e818a23bb2c3703870f5549d;hb=630e99edecc3eabe708a9e7bda94eaa60bf16db7;hp=11ebd0c7ca65a988e6ab7e6954b4874a5d76f661;hpb=c09be0dad6b05131e240349a375af7a4b7bf3444;p=fa-stable.git diff --git a/manufacturing/search_work_orders.php b/manufacturing/search_work_orders.php index 11ebd0c7..4762881f 100644 --- a/manufacturing/search_work_orders.php +++ b/manufacturing/search_work_orders.php @@ -1,24 +1,36 @@ . +***********************************************************************/ +$page_security = 'SA_MANUFTRANSVIEW'; +$path_to_root = ".."; +include($path_to_root . "/includes/db_pager.inc"); include_once($path_to_root . "/includes/session.inc"); include_once($path_to_root . "/includes/date_functions.inc"); include_once($path_to_root . "/manufacturing/includes/manufacturing_ui.inc"); +include_once($path_to_root . "/reporting/includes/reporting.inc"); + $js = ""; -if ($use_popup_windows) +if ($SysPrefs->use_popup_windows) $js .= get_js_open_window(800, 500); if (isset($_GET['outstanding_only']) && ($_GET['outstanding_only'] == true)) { // curently outstanding simply means not closed $outstanding_only = 1; - page(_("Search Outstanding Work Orders"), false, false, "", $js); + page(_($help_context = "Search Outstanding Work Orders"), false, false, "", $js); } else { $outstanding_only = 0; - page(_("Search Work Orders"), false, false, "", $js); + page(_($help_context = "Search Work Orders"), false, false, "", $js); } //----------------------------------------------------------------------------------- // Ajax updates @@ -36,10 +48,8 @@ if (get_post('SearchOrders')) $Ajax->addDisable(true, 'SelectedStockItem', $disable); if ($disable) { -// $Ajax->addFocus(true, 'OrderNumber'); set_focus('OrderNumber'); } else -// $Ajax->addFocus(true, 'StockLocation'); set_focus('StockLocation'); $Ajax->activate('orders_tbl'); @@ -52,14 +62,20 @@ if (isset($_GET["stock_id"])) //-------------------------------------------------------------------------------------- -start_form(false, false, $_SERVER['PHP_SELF'] ."?outstanding_only=" . $outstanding_only .SID); +start_form(false, false, $_SERVER['PHP_SELF'] ."?outstanding_only=$outstanding_only"); -start_table("class='tablestyle_noborder'"); +start_table(TABLESTYLE_NOBORDER); start_row(); +ref_cells(_("#:"), 'OrderId', '',null, '', true); ref_cells(_("Reference:"), 'OrderNumber', '',null, '', true); locations_list_cells(_("at Location:"), 'StockLocation', null, true); +end_row(); +end_table(); +start_table(TABLESTYLE_NOBORDER); +start_row(); + check_cells( _("Only Overdue:"), 'OverdueOnly', null); if ($outstanding_only==0) @@ -67,127 +83,107 @@ if ($outstanding_only==0) stock_manufactured_items_list_cells(_("for item:"), 'SelectedStockItem', null, true); -submit_cells('SearchOrders', _("Search"),'',_('Select documents'), true); +submit_cells('SearchOrders', _("Search"),'',_('Select documents'), 'default'); end_row(); end_table(); -end_form(); - -$sql = "SELECT ".TB_PREF."workorders.*, ".TB_PREF."stock_master.description,".TB_PREF."locations.location_name - FROM ".TB_PREF."workorders,".TB_PREF."stock_master,".TB_PREF."locations - WHERE ".TB_PREF."stock_master.stock_id=".TB_PREF."workorders.stock_id AND - ".TB_PREF."locations.loc_code=".TB_PREF."workorders.loc_code "; - -if (check_value('OpenOnly') || $outstanding_only != 0) +//----------------------------------------------------------------------------- +function check_overdue($row) { - $sql .= " AND ".TB_PREF."workorders.closed=0 "; + return (!$row["closed"] + && date_diff2(Today(), sql2date($row["required_by"]), "d") > 0); } -if (isset($_POST['StockLocation']) && $_POST['StockLocation'] != $all_items) +function view_link($dummy, $order_no) { - $sql .= "AND ".TB_PREF."workorders.loc_code='" . $_POST['StockLocation'] . "' "; + return get_trans_view_str(ST_WORKORDER, $order_no); } -if (isset($_POST['OrderNumber']) && $_POST['OrderNumber'] != "") +function view_stock($row) { - $sql .= "AND ".TB_PREF."workorders.wo_ref LIKE '%". $_POST['OrderNumber'] . "%'"; + return view_stock_status($row["stock_id"], $row["description"], false); } -if (isset($_POST['SelectedStockItem']) && $_POST['SelectedStockItem'] != $all_items) +function wo_type_name($dummy, $type) { - $sql .= "AND ".TB_PREF."workorders.stock_id='". $_POST['SelectedStockItem'] . "'"; + global $wo_types_array; + + return $wo_types_array[$type]; } -if (check_value('OverdueOnly')) +function edit_link($row) { - $Today = date2sql(Today()); - - $sql .= "AND ".TB_PREF."workorders.required_by < '$Today' "; + return $row['closed'] ? ''._('Closed').'' : + trans_editor_link(ST_WORKORDER, $row["id"]); } -$sql .= " ORDER BY ".TB_PREF."workorders.required_by"; - -$result = db_query($sql,"No orders were returned"); -div_start('orders_tbl'); -start_table("$table_style width=80%"); +function release_link($row) +{ + return $row["closed"] ? '' : + ($row["released"]==0 ? + pager_link(_('Release'), + "/manufacturing/work_order_release.php?trans_no=" . $row["id"]) + : + pager_link(_('Issue'), + "/manufacturing/work_order_issue.php?trans_no=" .$row["id"])); +} -$th = array(_("#"), _("Reference"), _("Type"), _("Location"), _("Item"), - _("Required"), _("Manufactured"), _("Date"), _("Required By"), - '', '', '', '', ''); -table_header($th); +function produce_link($row) +{ + return $row["closed"] || !$row["released"] ? '' : + pager_link(_('Produce'), + "/manufacturing/work_order_add_finished.php?trans_no=" .$row["id"]); +} -$j = 1; -$k = 0; +function costs_link($row) +{ + return $row["closed"] || !$row["released"] ? '' : + pager_link(_('Costs'), + "/manufacturing/work_order_costs.php?trans_no=" .$row["id"]); +} -while ($myrow = db_fetch($result)) +function view_gl_link($row) { + return get_gl_view_str(ST_WORKORDER, $row['id']); +} +function prt_link($row) +{ + return print_document_link($row['id'], _("Print"), true, ST_WORKORDER, ICON_PRINT); +} - // check if it's an overdue work order - if (!$myrow["closed"] && date_diff(Today(), sql2date($myrow["required_by"]), "d") > 0) - { - start_row("class='overduebg'"); - } - else - alt_table_row_color($k); - - $dec = get_qty_dec($myrow["stock_id"]); - label_cell(get_trans_view_str(systypes::work_order(), $myrow["id"])); - label_cell(get_trans_view_str(systypes::work_order(), $myrow["id"], $myrow["wo_ref"])); - label_cell(wo_types::name($myrow["type"])); - label_cell($myrow["location_name"]); - view_stock_status_cell($myrow["stock_id"], $myrow["description"]); - qty_cell($myrow["units_reqd"], false, $dec); - qty_cell($myrow["units_issued"], false, $dec); - label_cell(sql2date($myrow["date_"])); - label_cell(sql2date($myrow["required_by"])); - - $l1 = $l2 = $l3 = $l4 = ''; - if ($myrow["closed"] == 0) - { - $modify_page = $path_to_root . "/manufacturing/work_order_entry.php?" . SID . "trans_no=" . $myrow["id"]; - $l1 = ""._('Edit').''; - if ($myrow["released"] == 0) - { - $release_page = $path_to_root . "/manufacturing/work_order_release.php?" . SID . "trans_no=" . $myrow["id"]; - $l2 = ""._('Release').''; - } - else - { - $issue = $path_to_root . "/manufacturing/work_order_issue.php?" . SID . "trans_no=" .$myrow["id"]; - $add_finished = $path_to_root . "/manufacturing/work_order_add_finished.php?" . SID . "trans_no=" .$myrow["id"]; - $costs = $path_to_root . "/gl/gl_bank.php?NewPayment=1&PayType=" . payment_person_types::WorkOrder(). "&PayPerson=" .$myrow["id"]; - $l2 = "" . _("Issue") . ""; - $l3 = "" . _("Produce") . ""; - $l4 = "" . _("Costs") . ""; - } - } - else - { - $l1 = ""._('Closed').""; - } - label_cell($l1); - label_cell($l2); - label_cell($l3); - label_cell($l4); - label_cell(get_gl_view_str(systypes::work_order(), $myrow["id"])); - - end_row(); - - $j++; - If ($j == 12) - { - $j = 1; - table_header($th); - } - //end of page full new headings if +function dec_amount($row, $amount) +{ + return number_format2($amount, $row['decimals']); } -//end of while loop -end_table(1); -div_end(); -//--------------------------------------------------------------------------------- +$sql = get_sql_for_work_orders($outstanding_only, get_post('SelectedStockItem'), get_post('StockLocation'), + get_post('OrderId'), get_post('OrderNumber'), check_value('OverdueOnly')); + +$cols = array( + _("#") => array('fun'=>'view_link', 'ord'=>''), + _("Reference"), // viewlink 2 ? + _("Type") => array('fun'=>'wo_type_name'), + _("Location"), + _("Item") => array('fun'=>'view_stock', 'ord'=>''), + _("Required") => array('fun'=>'dec_amount', 'align'=>'right'), + _("Manufactured") => array('fun'=>'dec_amount', 'align'=>'right'), + _("Date") => array('name'=>'date_', 'type'=>'date', 'ord'=>'desc'), + _("Required By") => array('type'=>'date', 'ord'=>''), + array('insert'=>true, 'fun'=> 'view_gl_link'), + array('insert'=>true, 'fun'=> 'edit_link'), + array('insert'=>true, 'fun'=> 'release_link'), + array('insert'=>true, 'fun'=> 'costs_link'), + array('insert'=>true, 'fun'=> 'produce_link'), + array('insert'=>true, 'fun'=> 'prt_link') +); + +$table =& new_db_pager('orders_tbl', $sql, $cols); +$table->set_marker('check_overdue', _("Marked orders are overdue.")); + +$table->width = "90%"; + +display_db_pager($table); +end_form(); end_page(); - -?>