}
//-------------------------------------------------------------------------------------------------------------
-
+//
+// Get inventory transfer common data (currently this is still stored in stock_moves table).
+//
function get_stock_transfer($trans_no)
{
- $result = get_stock_transfer_items($trans_no);
- if (db_num_rows($result) < 2)
- {
- display_db_error("transfer with less than 2 items : $trans_no", "");
- }
+ // retrieve common data from any two from/to move records
+ $sql = "SELECT loc_from.*, loc_to.*
+ FROM
+ (SELECT trans_no, type, tran_date, reference, move.loc_code as from_loc, loc.location_name as from_name
+ FROM ".TB_PREF."stock_moves move
+ LEFT JOIN ".TB_PREF."locations loc ON loc.loc_code=move.loc_code
+ WHERE type=".ST_LOCTRANSFER." AND trans_no=".db_escape($trans_no). " AND qty<0 LIMIT 1) loc_from,
+
+ (SELECT move.loc_code as to_loc, loc.location_name as to_name
+ FROM ".TB_PREF."stock_moves move
+ LEFT JOIN ".TB_PREF."locations loc ON loc.loc_code=move.loc_code
+ WHERE type=".ST_LOCTRANSFER." AND trans_no=".db_escape($trans_no). " AND qty>0 LIMIT 1) loc_to";
+
+ $result = db_query($sql, "Could not get transfer common data");
+
+ $data = db_fetch($result);
- // this function is very bad that it assumes that 1st record and 2nd record contain the
- // from and to locations - if get_stock_moves uses a different ordering than trans_no then
- // it will bomb
- $move1 = db_fetch($result);
- $move2 = db_fetch($result);
-
- // return an array of (From, To)
- if ($move1['qty'] < 0)
- return array($move1, $move2);
- else
- return array($move2, $move1);
+ return $data;
}
//-------------------------------------------------------------------------------------------------------------
$trans_no = $_GET["trans_no"];
}
-$transfer_items = get_stock_transfer($trans_no);
-
-$from_trans = $transfer_items[0];
-$to_trans = $transfer_items[1];
+$trans = get_stock_transfer($trans_no);
display_heading($systypes_array[ST_LOCTRANSFER] . " #$trans_no");
start_table(TABLESTYLE2, "width='90%'");
start_row();
-label_cells(_("Item"), $from_trans['stock_id'] . " - " . $from_trans['description'], "class='tableheader2'");
-label_cells(_("From Location"), $from_trans['location_name'], "class='tableheader2'");
-label_cells(_("To Location"), $to_trans['location_name'], "class='tableheader2'");
+label_cells(_("Reference"), $trans['reference'], "class='tableheader2'");
+label_cells(_("Date"), sql2date($trans['tran_date']), "class='tableheader2'");
end_row();
start_row();
-label_cells(_("Reference"), $from_trans['reference'], "class='tableheader2'");
-label_cells(_("Date"), sql2date($from_trans['tran_date']), "class='tableheader2'");
+label_cells(_("From Location"), $trans['from_name'], "class='tableheader2'");
+label_cells(_("To Location"), $trans['to_name'], "class='tableheader2'");
end_row();
comments_display_row(ST_LOCTRANSFER, $trans_no);
$k = 0;
while ($item = db_fetch($transfer_items))
{
- if ($item['loc_code'] == $to_trans['loc_code'])
+ if ($item['loc_code'] == $trans['to_loc'])
{
alt_table_row_color($k);