Fixed problems with excel report generation.
[fa-stable.git] / admin / db / fiscalyears_db.inc
index a3133c933a46c54f8f2d8012526b47d20a9b5e92..000aba62d1914f8773fb437d2032a939cc6bd6b2 100644 (file)
@@ -190,11 +190,16 @@ function delete_attachments_and_comments($type_no, $trans_no)
        
        $sql = "SELECT * FROM ".TB_PREF."attachments WHERE type_no = $type_no AND trans_no = $trans_no";
        $result = db_query($sql, "Could not retrieve attachments");
+       $delflag = false;
        while ($row = db_fetch($result))
        {
+               $delflag = true;
                $dir =  company_path(). "/attachments";
                if (file_exists($dir."/".$row['unique_name']))
                        unlink($dir."/".$row['unique_name']);
+       }
+       if ($delflag)
+       {
                $sql = "DELETE FROM ".TB_PREF."attachments WHERE  type_no = $type_no AND trans_no = $trans_no";
                db_query($sql, "Could not delete attachment");
        }       
@@ -295,19 +300,19 @@ function delete_this_fiscalyear($selected_id)
                delete_attachments_and_comments($row['type'], $row['trans_no']);
        }
        $sql = "SELECT id FROM ".TB_PREF."workorders WHERE released_date <= '$to' AND closed=1";
-       $result = db_query($sql, "Could not retrieve supp trans");
+       $result = db_query($sql, "Could not retrieve workorders");
        while ($row = db_fetch($result))
        {
                $sql = "SELECT issue_no FROM ".TB_PREF."wo_issues WHERE workorder_id = {$row['id']}"; 
                $res = db_query($sql, "Could not retrieve wo issues");
-               while ($row2 = db_fetch_row($res))
-               {
-                       $sql = "DELETE FROM ".TB_PREF."wo_issue_items WHERE issue_id = {$row2[0]}";
-                       db_query($sql, "Could not delete wo issue items");
-               }       
-               delete_attachments_and_comments(ST_MANUISSUE, $row['id']);
-               $sql = "DELETE FROM ".TB_PREF."wo_issues WHERE workorder_id = {$row['id']}";
-               db_query($sql, "Could not delete wo issues");
+        while ($row2 = db_fetch_row($res))
+        {
+            $sql = "DELETE FROM ".TB_PREF."wo_issue_items WHERE issue_id = {$row2[0]}";
+            db_query($sql, "Could not delete wo issue items");
+            $sql = "DELETE FROM ".TB_PREF."wo_issues WHERE workorder_id = {$row2[0]}";
+            db_query($sql, "Could not delete wo issues");
+            delete_attachments_and_comments(ST_MANUISSUE, $row2[0]);
+        }              
                $sql = "DELETE FROM ".TB_PREF."wo_manufacture WHERE workorder_id = {$row['id']}";
                db_query($sql, "Could not delete wo manufacture");
                $sql = "DELETE FROM ".TB_PREF."wo_requirements WHERE workorder_id = {$row['id']}";
@@ -318,7 +323,7 @@ function delete_this_fiscalyear($selected_id)
        }
        $sql = "SELECT loc_code, stock_id, SUM(qty) AS qty, SUM(qty*standard_cost) AS std_cost FROM ".TB_PREF."stock_moves WHERE tran_date <= '$to' GROUP by 
                loc_code, stock_id";
-       $result = db_query($sql, "Could not retrieve supp trans");
+       $result = db_query($sql, "Could not retrieve stock moves");
        while ($row = db_fetch($result))
        {
                $sql = "DELETE FROM ".TB_PREF."stock_moves WHERE tran_date <= '$to' AND loc_code = '{$row['loc_code']}' AND stock_id = '{$row['stock_id']}'";
@@ -336,11 +341,12 @@ function delete_this_fiscalyear($selected_id)
        $sql = "DELETE FROM ".TB_PREF."exchange_rates WHERE date_ <= '$to'";
        db_query($sql, "Could not delete exchange rates");
        $sql = "DELETE FROM ".TB_PREF."budget_trans WHERE tran_date <= '$to'";
-       db_query($sql, "Could not delete exchange rates");
+       db_query($sql, "Could not delete budget trans");
        
        $sql = "SELECT account, SUM(amount) AS amount FROM ".TB_PREF."gl_trans WHERE tran_date <= '$to' GROUP by account";
        $result = db_query($sql, "Could not retrieve gl trans");
        $trans_no = get_next_trans_no(ST_JOURNAL);
+       $new = false;
        while ($row = db_fetch($result))
        {
                $sql = "DELETE FROM ".TB_PREF."gl_trans WHERE tran_date <= '$to' AND account = '{$row['account']}'";
@@ -350,9 +356,19 @@ function delete_this_fiscalyear($selected_id)
                        $sql = "INSERT INTO ".TB_PREF."gl_trans (type, type_no, tran_date, account, memo_, amount) VALUES
                                (".ST_JOURNAL.", $trans_no, '$to', '{$row['account']}', '$ref', {$row['amount']})";
                        db_query($sql, "Could not insert gl trans");
+                       $new = true;
                }
        }
-       
+       if ($new)
+       {
+               global $Refs;
+               $trans_type = ST_JOURNAL;
+               $reference = $Refs->get_next($trans_type);
+               $Refs->save($trans_type, $trans_no, $reference);
+               $date_ = sql2date($to);
+
+               add_audit_trail($trans_type, $trans_no, $date_);
+       }
        $sql = "SELECT bank_act, SUM(amount) AS amount FROM ".TB_PREF."bank_trans WHERE trans_date <= '$to' GROUP BY bank_act";
        $result = db_query($sql, "Could not retrieve bank trans");
        while ($row = db_fetch($result))