Cleanup in gl_db_trans.inc
[fa-stable.git] / gl / includes / db / gl_db_trans.inc
index 20c902322c74c9a121d57fa1e93128f6d3f9b80b..4749b41354c7c8c277f8e5a679e4a9b3ae2eb6fe 100644 (file)
@@ -42,7 +42,7 @@ function add_gl_trans($type, $trans_id, $date_, $account, $dimension, $dimension
                else
                        $memo_ = $_SESSION["wa_current_user"]->username . " - " . $memo_;
        }
-       if ($type != ST_WORKORDER && (!is_subledger_account($account) || $account==get_company_pref('grn_clearing_act')))
+       if (!is_subledger_account($account) || $account==get_company_pref('grn_clearing_act'))
                $person_id = $person_type_id = null;
        
        $sql = "INSERT INTO ".TB_PREF."gl_trans ( type, type_no, tran_date,
@@ -79,6 +79,7 @@ function add_gl_trans($type, $trans_id, $date_, $account, $dimension, $dimension
 function add_gl_trans_std_cost($type, $trans_id, $date_, $account, $dimension, $dimension2,
        $memo_, $amount, $person_type_id=null, $person_id=null, $err_msg="")
 {
+
        if ($amount != 0)
                return add_gl_trans($type, $trans_id, $date_, $account, $dimension, $dimension2, $memo_,
                        $amount, null, $person_type_id, $person_id, $err_msg);
@@ -140,9 +141,8 @@ function get_gl_transactions($from_date, $to_date, $trans_no=0,
                WHERE coa.account_code=gl.account
                AND ISNULL(v.date_)
                AND gl.tran_date >= '$from'
-               AND gl.tran_date <= '$to'";
-       if (isset($SysPrefs->show_voided_gl_trans) && $SysPrefs->show_voided_gl_trans == 0)
-               $sql .= " AND gl.amount <> 0"; 
+               AND gl.tran_date <= '$to'
+               AND gl.amount <> 0"; 
 
        if ($person_id)
                $sql .= " AND gl.person_id=".db_escape($person_id); 
@@ -204,14 +204,58 @@ function get_gl_trans($type, $trans_id)
 
 //--------------------------------------------------------------------------------
 
-function get_gl_wo_cost_trans($trans_id, $cost_type=-1)
+function get_gl_wo_cost_trans($trans_id, $cost_type=-1, $all_gl=false)
+{
+       $sql = "SELECT costing.*, gl.*, chart.account_name, com.memo_
+               FROM "
+               .TB_PREF."wo_costing costing, "
+               .TB_PREF."gl_trans gl LEFT JOIN ".TB_PREF."comments com ON gl.type=com.type     AND gl.type_no=com.id,"
+               .TB_PREF."chart_master chart
+               WHERE 
+                       costing.workorder_id=".db_escape($trans_id)
+               ."      AND chart.account_code=gl.account
+                       AND gl.type=costing.trans_type
+                       AND gl.type_no=costing.trans_no";
+       if ($cost_type != -1)
+               $sql .= " AND costing.cost_type=".db_escape($cost_type);
+       $sql .= $all_gl ? " AND amount != 0" : " AND amount < 0";
+
+       return db_query($sql, "The gl transactions could not be retrieved");
+}
+
+function get_gl_wo_issue_trans($trans_id, $person_id=-1, $all_gl=false)
+{
+       $sql = "SELECT issue.*, gl.*, chart.account_name, com.memo_
+               FROM "
+                       .TB_PREF."wo_issues issue,"
+                       .TB_PREF."gl_trans gl LEFT JOIN ".TB_PREF."comments com ON gl.type=com.type     AND gl.type_no=com.id,"
+                       .TB_PREF."chart_master chart
+               WHERE issue.workorder_id=".db_escape($trans_id)
+                ." AND chart.account_code=gl.account
+                       AND gl.type=".ST_MANUISSUE." AND gl.type_no=issue.issue_no";
+//                     ." AND gl.person_type_id=".PT_WORKORDER;
+       if ($person_id != -1)
+               $sql .= " AND gl.person_id=".db_escape($person_id);
+       $sql .= $all_gl ? " AND amount != 0" : " AND amount < 0";
+       $sql .= " ORDER BY type, type_no";
+       return db_query($sql, "The gl transactions could not be retrieved");
+}
+
+function get_gl_wo_productions($trans_id, $all_gl=false)
 {
-       $sql = "SELECT gl.*, chart.account_name FROM ".TB_PREF."gl_trans gl, ".TB_PREF."chart_master chart
-               WHERE chart.account_code=gl.account AND gl.type=".ST_WORKORDER." AND gl.type_no=".db_escape($trans_id)."
-               AND gl.person_type_id=".PT_WORKORDER;
-       if ($cost_type!= -1)
-               $sql .= " AND gl.person_id=".db_escape($cost_type);
-       $sql .= " AND amount < 0";
+       $sql = "SELECT rcv.*, gl.*, chart.account_name, com.memo_
+               FROM "
+               .TB_PREF."wo_manufacture rcv, "
+               .TB_PREF."gl_trans gl LEFT JOIN ".TB_PREF."comments com ON gl.type=com.type     AND gl.type_no=com.id,"
+               .TB_PREF."chart_master chart
+               WHERE 
+                       rcv.workorder_id=".db_escape($trans_id)
+               ."      AND chart.account_code=gl.account
+                       AND gl.type=".ST_MANURECEIVE."
+                       AND gl.type_no=rcv.id
+                       AND amount != 0 "
+               .($all_gl ? " AND amount != 0" : " AND amount < 0")
+               ." ORDER BY type, type_no";
 
        return db_query($sql, "The gl transactions could not be retrieved");
 }