Stable merged into unstable again (due to failure on binary file during previous...
[fa-stable.git] / purchasing / includes / db / suppalloc_db.inc
index f9eed1a86c0a9caf6decb11fc4d9c8dd4f1e1429..6091e42e9092901d9ba2b50ffd990be80c126281 100644 (file)
@@ -103,8 +103,8 @@ function get_alloc_supp_sql($extra_fields=null, $extra_conditions=null, $extra_t
        $sql = "SELECT
                trans.type,
                trans.trans_no,
-               trans.reference,
-               trans.tran_date,
+               IF(trans.supp_reference='',trans.reference,trans.supp_reference) as reference,
+               trans.tran_date,
                supplier.supp_name, 
                supplier.curr_code, 
                ov_amount+ov_gst+ov_discount AS Total,
@@ -112,11 +112,7 @@ function get_alloc_supp_sql($extra_fields=null, $extra_conditions=null, $extra_t
                trans.due_date,
                trans.supplier_id,
                supplier.address";
-/*     $sql = "SELECT trans.*,
-               ov_amount+ov_gst+ov_discount AS Total,
-               supplier.supp_name, supplier.address,
-               supplier.curr_code ";
-*/
+
        if ($extra_fields)
                $sql .= ", $extra_fields ";
 
@@ -173,9 +169,33 @@ function get_allocatable_to_supp_transactions($supplier_id, $trans_no=null, $typ
                        AND trans.supplier_id=".db_escape($supplier_id));
        }
 
-       return db_query($sql." ORDER BY trans_no", "Cannot retreive alloc to transactions");
+       return db_query($sql." ORDER BY due_date", "Cannot retreive alloc to transactions");
+}
+
+//-------------------------------------------------------------------------------------------------------------
+
+function get_allocatable_from_supp_transactions($supplier_id, $trans_no=null, $type=null)
+{
+       if ($trans_no != null && $type!= null)
+       {
+               $sql = get_alloc_supp_sql("amt, supp_reference", "trans.trans_no = alloc.trans_no_from
+                       AND trans.type = alloc.trans_type_from
+                       AND alloc.trans_no_to=".db_escape($trans_no)."
+                       AND alloc.trans_type_to=".db_escape($type)."
+                       AND trans.supplier_id=".db_escape($supplier_id),
+                       TB_PREF."supp_allocations as alloc");
+       }
+       else
+       {
+               $sql = get_alloc_supp_sql(null, "round(ABS(ov_amount+ov_gst+ov_discount)-alloc,6) > 0
+                       AND trans.type != ".ST_SUPPAYMENT."
+                       AND trans.supplier_id=".db_escape($supplier_id));
+       }
+
+       return db_query($sql." ORDER BY due_date", "Cannot retreive alloc to transactions");
 }
 
+
 function get_sql_for_supplier_allocation_inquiry()
 {
        $date_after = date2sql($_POST['TransAfterDate']);
@@ -192,7 +212,8 @@ function get_sql_for_supplier_allocation_inquiry()
                supplier.curr_code, 
        (trans.ov_amount + trans.ov_gst  + trans.ov_discount) AS TotalAmount, 
                trans.alloc AS Allocated,
-               ((trans.type = ".ST_SUPPINVOICE." OR trans.type = ".ST_SUPPCREDIT.") AND trans.due_date < '" . date2sql(Today()) . "') AS OverDue
+               ((trans.type = ".ST_SUPPINVOICE." OR trans.type = ".ST_SUPPCREDIT.") AND trans.due_date < '" . date2sql(Today()) . "') AS OverDue,
+               trans.supplier_id
        FROM "
                        .TB_PREF."supp_trans as trans, "
                        .TB_PREF."suppliers as supplier