X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Frep705.php;h=ad10656cdc0f5f142359a2c5ad67a539e76fba34;hb=f49f1d3b42871be09dc8498043ac429f4a46be11;hp=b3927d4ce1c038d35b571e0b6bba3ad136513ac2;hpb=fa3dd600a4b60b528e4c69519c856125e6c3f9bf;p=fa-stable.git diff --git a/reporting/rep705.php b/reporting/rep705.php index b3927d4c..ad10656c 100644 --- a/reporting/rep705.php +++ b/reporting/rep705.php @@ -9,7 +9,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License here . ***********************************************************************/ -$page_security = 2; +$page_security = 'SA_GLANALYTIC'; // ---------------------------------------------------------------- // $ Revision: 2.0 $ // Creator: Joe Hunt @@ -29,10 +29,10 @@ print_annual_expense_breakdown(); //---------------------------------------------------------------------------------------------------- -function getPeriods($year, $account, $dimension, $dimension2) +function getPeriods($row, $account, $dimension, $dimension2) { - $yr = $year; - $mo = 12; + $yr = $row['yr']; + $mo = $row['mo']; $date13 = date('Y-m-d',mktime(0,0,0,$mo+1,1,$yr)); $date12 = date('Y-m-d',mktime(0,0,0,$mo,1,$yr)); $date11 = date('Y-m-d',mktime(0,0,0,$mo-1,1,$yr)); @@ -47,24 +47,24 @@ function getPeriods($year, $account, $dimension, $dimension2) $date02 = date('Y-m-d',mktime(0,0,0,$mo-10,1,$yr)); $date01 = date('Y-m-d',mktime(0,0,0,$mo-11,1,$yr)); - $sql = "SELECT SUM(CASE WHEN tran_date >= '$date01' AND tran_date < '$date02' THEN -amount / 1000 ELSE 0 END) AS per01, - SUM(CASE WHEN tran_date >= '$date02' AND tran_date < '$date03' THEN -amount / 1000 ELSE 0 END) AS per02, - SUM(CASE WHEN tran_date >= '$date03' AND tran_date < '$date04' THEN -amount / 1000 ELSE 0 END) AS per03, - SUM(CASE WHEN tran_date >= '$date04' AND tran_date < '$date05' THEN -amount / 1000 ELSE 0 END) AS per04, - SUM(CASE WHEN tran_date >= '$date05' AND tran_date < '$date06' THEN -amount / 1000 ELSE 0 END) AS per05, - SUM(CASE WHEN tran_date >= '$date06' AND tran_date < '$date07' THEN -amount / 1000 ELSE 0 END) AS per06, - SUM(CASE WHEN tran_date >= '$date07' AND tran_date < '$date08' THEN -amount / 1000 ELSE 0 END) AS per07, - SUM(CASE WHEN tran_date >= '$date08' AND tran_date < '$date09' THEN -amount / 1000 ELSE 0 END) AS per08, - SUM(CASE WHEN tran_date >= '$date09' AND tran_date < '$date10' THEN -amount / 1000 ELSE 0 END) AS per09, - SUM(CASE WHEN tran_date >= '$date10' AND tran_date < '$date11' THEN -amount / 1000 ELSE 0 END) AS per10, - SUM(CASE WHEN tran_date >= '$date11' AND tran_date < '$date12' THEN -amount / 1000 ELSE 0 END) AS per11, - SUM(CASE WHEN tran_date >= '$date12' AND tran_date < '$date13' THEN -amount / 1000 ELSE 0 END) AS per12 + $sql = "SELECT SUM(CASE WHEN tran_date >= '$date01' AND tran_date < '$date02' THEN amount / 1000 ELSE 0 END) AS per01, + SUM(CASE WHEN tran_date >= '$date02' AND tran_date < '$date03' THEN amount / 1000 ELSE 0 END) AS per02, + SUM(CASE WHEN tran_date >= '$date03' AND tran_date < '$date04' THEN amount / 1000 ELSE 0 END) AS per03, + SUM(CASE WHEN tran_date >= '$date04' AND tran_date < '$date05' THEN amount / 1000 ELSE 0 END) AS per04, + SUM(CASE WHEN tran_date >= '$date05' AND tran_date < '$date06' THEN amount / 1000 ELSE 0 END) AS per05, + SUM(CASE WHEN tran_date >= '$date06' AND tran_date < '$date07' THEN amount / 1000 ELSE 0 END) AS per06, + SUM(CASE WHEN tran_date >= '$date07' AND tran_date < '$date08' THEN amount / 1000 ELSE 0 END) AS per07, + SUM(CASE WHEN tran_date >= '$date08' AND tran_date < '$date09' THEN amount / 1000 ELSE 0 END) AS per08, + SUM(CASE WHEN tran_date >= '$date09' AND tran_date < '$date10' THEN amount / 1000 ELSE 0 END) AS per09, + SUM(CASE WHEN tran_date >= '$date10' AND tran_date < '$date11' THEN amount / 1000 ELSE 0 END) AS per10, + SUM(CASE WHEN tran_date >= '$date11' AND tran_date < '$date12' THEN amount / 1000 ELSE 0 END) AS per11, + SUM(CASE WHEN tran_date >= '$date12' AND tran_date < '$date13' THEN amount / 1000 ELSE 0 END) AS per12 FROM ".TB_PREF."gl_trans WHERE account='$account'"; - if ($dimension > 0) - $sql .= " AND dimension_id = $dimension"; - if ($dimension2 > 0) - $sql .= " AND dimension2_id = $dimension2"; + if ($dimension != 0) + $sql .= " AND dimension_id = ".($dimension<0?0:db_escape($dimension)); + if ($dimension2 != 0) + $sql .= " AND dimension2_id = ".($dimension2<0?0:db_escape($dimension2)); $result = db_query($sql, "Transactions for account $account could not be calculated"); @@ -115,8 +115,13 @@ function print_annual_expense_breakdown() //$yr = date('Y'); //$mo = date('m'): // from now - $yr = $year; - $mo = 12; + $sql = "SELECT begin, end, YEAR(end) AS yr, MONTH(end) AS mo FROM ".TB_PREF."fiscal_year WHERE id=".db_escape($year); + $result = db_query($sql, "could not get fiscal year"); + $row = db_fetch($result); + + $year = sql2date($row['begin'])." - ".sql2date($row['end']); + $yr = $row['yr']; + $mo = $row['mo']; $da = 1; if ($date_system == 1) list($yr, $mo, $da) = jalali_to_gregorian($yr, $mo, $da); @@ -198,6 +203,10 @@ function print_annual_expense_breakdown() $level = 0; $last = -1; + $closeclass = false; + $convert = 1; + $ctype = 0; + $accounts = get_gl_accounts_all(0); while ($account=db_fetch($accounts)) @@ -207,7 +216,7 @@ function print_annual_expense_breakdown() if ($account['account_code'] != null) { - $bal = getPeriods($year, $account["account_code"], $dimension, $dimension2); + $bal = getPeriods($row, $account["account_code"], $dimension, $dimension2); if (!$bal['per01'] && !$bal['per02'] && !$bal['per03'] && !$bal['per04'] && !$bal['per05'] && !$bal['per06'] && !$bal['per07'] && !$bal['per08'] && !$bal['per09'] && !$bal['per10'] && !$bal['per11'] && !$bal['per12']) @@ -227,7 +236,7 @@ function print_annual_expense_breakdown() { for ( ; $level >= 0, $typename[$level] != ''; $level--) { - if ($account['parent'] == $closing[$level] || $account['parent'] < $last) + if ($account['parent'] == $closing[$level] || $account['parent'] < $last || $account['parent'] <= 0) { $rep->row += 6; $rep->Line($rep->row); @@ -235,7 +244,7 @@ function print_annual_expense_breakdown() $rep->TextCol(0, 2, _('Total') . " " . $typename[$level]); for ($i = 1; $i <= 12; $i++) { - $rep->AmountCol($i + 1, $i + 2, $total[$level][$i], $dec); + $rep->AmountCol($i + 1, $i + 2, $total[$level][$i] * $convert, $dec); $total[$level][$i] = 0.0; } } @@ -252,7 +261,7 @@ function print_annual_expense_breakdown() $rep->TextCol(0, 2, _('Total') . " " . $classname); for ($i = 1; $i <= 12; $i++) { - $rep->AmountCol($i + 1, $i + 2, $total2[$i], $dec); + $rep->AmountCol($i + 1, $i + 2, $total2[$i] * $convert, $dec); $sales[$i] += $total2[$i]; } $rep->Font(); @@ -280,6 +289,8 @@ function print_annual_expense_breakdown() $rep->NewLine(); } $classname = $account['AccountClassName']; + $ctype = $account['ClassType']; + $convert = get_class_type_convert($ctype); if ($account['account_code'] != null) { @@ -291,7 +302,7 @@ function print_annual_expense_breakdown() for ($i = 1; $i <= 12; $i++) { - $rep->AmountCol($i + 1, $i + 2, $balance[$i], $dec); + $rep->AmountCol($i + 1, $i + 2, $balance[$i] * $convert, $dec); $total2[$i] += $balance[$i]; } for ($j = 0; $j <= $level; $j++) @@ -321,7 +332,7 @@ function print_annual_expense_breakdown() { for ( ; $level >= 0, $typename[$level] != ''; $level--) { - if ($account['parent'] == $closing[$level] || $account['parent'] < $last) + if ($account['parent'] == $closing[$level] || $account['parent'] < $last || $account['parent'] <= 0) { $rep->row += 6; $rep->Line($rep->row); @@ -329,7 +340,7 @@ function print_annual_expense_breakdown() $rep->TextCol(0, 2, _('Total') . " " . $typename[$level]); for ($i = 1; $i <= 12; $i++) { - $rep->AmountCol($i + 1, $i + 2, $total[$level][$i], $dec); + $rep->AmountCol($i + 1, $i + 2, $total[$level][$i] * $convert, $dec); $total[$level][$i] = 0.0; } } @@ -347,14 +358,14 @@ function print_annual_expense_breakdown() $rep->TextCol(0, 2, _('Total') . " " . $classname); for ($i = 1; $i <= 12; $i++) { - $rep->AmountCol($i + 1, $i + 2, $total2[$i], $dec); + $rep->AmountCol($i + 1, $i + 2, $total2[$i] * $convert, $dec); $calc[$i] = $sales[$i] + $total2[$i]; } $rep->NewLine(2); $rep->TextCol(0, 2, _('Calculated Return')); for ($i = 1; $i <= 12; $i++) - $rep->AmountCol($i + 1, $i + 2, $calc[$i], $dec); + $rep->AmountCol($i + 1, $i + 2, $calc[$i] * -1, $dec); // always convert $rep->Font(); $rep->NewLine();