.
***********************************************************************/
include_once($path_to_root . "/includes/ui.inc");
//--------------------------------------------------------------------------------------
function display_bom($item_check)
{
$result = get_bom($item_check);
if (db_num_rows($result) == 0)
{
display_note(_("The bill of material for this item is empty."), 0, 1);
}
else
{
start_table(TABLESTYLE);
$th = array(_("Component"), _("Description"), _("Work Centre"),
_("From Location"), _("Quantity"), _("Unit Cost"), _("Cost"));
table_header($th);
$j = 1;
$k = 0; //row colour counter
$total_cost = 0;
while ($myrow = db_fetch($result))
{
alt_table_row_color($k);
label_cell($myrow["component"]);
label_cell($myrow["description"]);
label_cell($myrow["WorkCentreDescription"]);
label_cell($myrow["location_name"]);
qty_cell($myrow["quantity"], false, get_qty_dec($myrow["component"]));
amount_cell($myrow["ProductCost"]);
amount_cell($myrow["ComponentCost"]);
end_row();
$total_cost += $myrow["ComponentCost"];
$j++;
if ($j == 12)
{
$j = 1;
table_header($th);
}
}
$item = get_item($item_check);
if ($item['labour_cost'] != 0)
{
$total_cost += $item['labour_cost'];
alt_table_row_color($k);
label_cells(_("Standard Labour Cost"), number_format2($item['labour_cost'],user_price_dec()),
"colspan=6 align=left", "class=odd_row nowrap align=right");
end_row();
}
if ($item['overhead_cost'] != 0)
{
$total_cost += $item['overhead_cost'];
alt_table_row_color($k);
label_cells(_("Standard Overhead Cost"), number_format2($item['overhead_cost'],user_price_dec()),
"colspan=6 align=left", "nowrap align=right");
end_row();
}
label_row("" . _("Total Cost") . "", "" . number_format2($total_cost,user_price_dec()) ."",
"colspan=6 align=right", "nowrap align=right");
end_table();
}
}
//--------------------------------------------------------------------------------------
function display_wo_requirements($woid, $quantity, $show_qoh=false, $date=null)
{
global $SysPrefs;
$result = get_wo_requirements($woid);
if (db_num_rows($result) == 0)
{
display_note(_("There are no Requirements for this Order."), 1, 0);
}
else
{
start_table(TABLESTYLE, "width='80%'");
$th = array(_("Component"), _("From Location"), _("Work Centre"),
_("Unit Quantity"), _("Total Quantity"), _("Units Issued"), _("On Hand"));
table_header($th);
$k = 0; //row colour counter
$has_marked = false;
if ($date == null)
$date = Today();
while ($myrow = db_fetch($result))
{
$qoh = 0;
$show_qoh = true;
// if it's a non-stock item (eg. service) don't show qoh
if (!has_stock_holding($myrow["mb_flag"]))
$show_qoh = false;
if ($show_qoh)
$qoh = get_qoh_on_date($myrow["stock_id"], $myrow["loc_code"], $date);
if ($show_qoh && ($myrow["units_req"] * $quantity > $qoh) &&
!$SysPrefs->allow_negative_stock())
{
// oops, we don't have enough of one of the component items
start_row("class='stockmankobg'");
$has_marked = true;
}
else
alt_table_row_color($k);
if (user_show_codes())
label_cell($myrow["stock_id"]. " - " . $myrow["description"]);
else
label_cell($myrow["description"]);
label_cell($myrow["location_name"]);
label_cell($myrow["WorkCentreDescription"]);
$dec = get_qty_dec($myrow["stock_id"]);
qty_cell($myrow["units_req"], false, $dec);
qty_cell($myrow["units_req"] * $quantity, false, $dec);
qty_cell($myrow["units_issued"], false, $dec);
if ($show_qoh)
qty_cell($qoh, false, $dec);
else
label_cell("");
end_row();
}
end_table();
if ($has_marked)
display_note(_("Marked items have insufficient quantities in stock."), 0, 0, "class='red'");
}
}
//--------------------------------------------------------------------------------------
function display_wo_productions($woid)
{
global $path_to_root;
$result = get_work_order_productions($woid);
if (db_num_rows($result) == 0)
{
display_note(_("There are no Productions for this Order."), 1, 1);
}
else
{
start_table(TABLESTYLE);
$th = array(_("#"), _("Reference"), _("Date"), _("Quantity"));
table_header($th);
$k = 0; //row colour counter
$total_qty = 0;
while ($myrow = db_fetch($result))
{
alt_table_row_color($k);
$total_qty += $myrow['quantity'];
label_cell(get_trans_view_str(ST_MANURECEIVE, $myrow["id"]));
label_cell($myrow['reference']);
label_cell(sql2date($myrow["date_"]));
qty_cell($myrow['quantity'], false, get_qty_dec($myrow['reference']));
end_row();
}//end of while
label_row(_("Total"), number_format2($total_qty,user_qty_dec()),
"colspan=3", "nowrap align=right");
end_table();
}
}
//--------------------------------------------------------------------------------------
function display_wo_issues($woid)
{
global $path_to_root;
$result = get_work_order_issues($woid);
if (db_num_rows($result) == 0)
{
display_note(_("There are no Issues for this Order."), 0, 1);
}
else
{
start_table(TABLESTYLE);
$th = array(_("#"), _("Reference"), _("Date"));
table_header($th);
$k = 0; //row colour counter
while ($myrow = db_fetch($result))
{
alt_table_row_color($k);
label_cell(get_trans_view_str(ST_MANUISSUE, $myrow["issue_no"]));
label_cell($myrow['reference']);
label_cell(sql2date($myrow["issue_date"]));
end_row();
}
end_table();
}
}
//--------------------------------------------------------------------------------------
function display_wo_payments($woid)
{
global $path_to_root, $wo_cost_types;
$result = get_wo_costing($woid);
if (db_num_rows($result) == 0)
{
display_note(_("There are no additional costs for this Order."), 0, 1);
}
else
{
start_table(TABLESTYLE);
$th = array(_("#"), _("Type"), _("Date"), _("Amount"));
table_header($th);
$k = 0;
while ($myrow = db_fetch($result))
{
alt_table_row_color($k);
label_cell(get_gl_view_str( $myrow["trans_type"], $myrow["trans_no"], $myrow["trans_no"]));
label_cell($wo_cost_types[$myrow['cost_type']]);
$date = sql2date($myrow["tran_date"]);
label_cell($date);
amount_cell($myrow['amount']);
end_row();
}
end_table();
}
}
//--------------------------------------------------------------------------------------
function display_wo_details($woid, $suppress_view_link=false)
{
global $wo_types_array;
$myrow = get_work_order($woid);
if (strlen($myrow[0]) == 0)
{
display_note(_("The work order number sent is not valid."));
exit;
}
start_table(TABLESTYLE, "width='80%'");
if ($myrow["released"] == true)
$th = array(_("#"), _("Reference"), _("Type"), _("Manufactured Item"),
_("Into Location"), _("Date"), _("Required By"), _("Quantity Required"),
_("Released Date"), _("Manufactured"));
else
$th = array(_("#"), _("Reference"), _("Type"), _("Manufactured Item"),
_("Into Location"), _("Date"), _("Required By"), _("Quantity Required"));
table_header($th);
start_row();
if ($suppress_view_link)
label_cell($myrow["id"]);
else
label_cell(get_trans_view_str(ST_WORKORDER, $myrow["id"]));
label_cell($myrow["wo_ref"]);
label_cell($wo_types_array[$myrow["type"]]);
view_stock_status_cell($myrow["stock_id"], $myrow["StockItemName"]);
label_cell($myrow["location_name"]);
label_cell(sql2date($myrow["date_"]));
label_cell(sql2date($myrow["required_by"]));
$dec = get_qty_dec($myrow["stock_id"]);
qty_cell($myrow["units_reqd"], false, $dec);
if ($myrow["released"] == true)
{
label_cell(sql2date($myrow["released_date"]));
qty_cell($myrow["units_issued"], false, $dec);
}
end_row();
comments_display_row(ST_WORKORDER, $woid);
end_table();
if ($myrow["closed"] == true)
{
display_note(_("This work order is closed."));
}
}
//--------------------------------------------------------------------------------------
function display_wo_details_quick($woid, $suppress_view_link=false)
{
global $wo_types_array;
$myrow = get_work_order($woid);
if (strlen($myrow[0]) == 0)
{
display_note(_("The work order number sent is not valid."));
exit;
}
start_table(TABLESTYLE, "width='80%'");
$th = array(_("#"), _("Reference"), _("Type"), _("Manufactured Item"),
_("Into Location"), _("Date"), _("Quantity"));
table_header($th);
start_row();
if ($suppress_view_link)
label_cell($myrow["id"]);
else
label_cell(get_trans_view_str(ST_WORKORDER, $myrow["id"]));
label_cell($myrow["wo_ref"]);
label_cell($wo_types_array[$myrow["type"]]);
view_stock_status_cell($myrow["stock_id"], $myrow["StockItemName"]);
label_cell($myrow["location_name"]);
label_cell(sql2date($myrow["date_"]));
qty_cell($myrow["units_issued"], false, get_qty_dec($myrow["stock_id"]));
end_row();
comments_display_row(ST_WORKORDER, $woid);
end_table();
if ($myrow["closed"] == true)
{
display_note(_("This work order is closed."));
}
}