altocompta/doc/developper/html/class__balance_8php-source.html

107 lines
11 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>phpcompta: /home/dany/developpement/phpcompta-dev/phpcompta/include/class_balance.php Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
<div class="nav">
<a class="el" href="dir_000000.html">developpement</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">phpcompta-dev</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000002.html">phpcompta</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000006.html">include</a></div>
<h1>class_balance.php</h1><a href="class__balance_8php.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 &lt;?
<a name="l00002"></a>00002 <span class="comment">/*</span>
<a name="l00003"></a>00003 <span class="comment"> * This file is part of PhpCompta.</span>
<a name="l00004"></a>00004 <span class="comment"> *</span>
<a name="l00005"></a>00005 <span class="comment"> * PhpCompta is free software; you can redistribute it and/or modify</span>
<a name="l00006"></a>00006 <span class="comment"> * it under the terms of the GNU General Public License as published by</span>
<a name="l00007"></a>00007 <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span>
<a name="l00008"></a>00008 <span class="comment"> * (at your option) any later version.</span>
<a name="l00009"></a>00009 <span class="comment"> *</span>
<a name="l00010"></a>00010 <span class="comment"> * PhpCompta is distributed in the hope that it will be useful,</span>
<a name="l00011"></a>00011 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
<a name="l00013"></a>00013 <span class="comment"> * GNU General Public License for more details.</span>
<a name="l00014"></a>00014 <span class="comment"> *</span>
<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU General Public License</span>
<a name="l00016"></a>00016 <span class="comment"> * along with PhpCompta; if not, write to the Free Software</span>
<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span>
<a name="l00018"></a>00018 <span class="comment">*/</span>
<a name="l00019"></a>00019 <span class="comment">/* $Revision$ */</span>
<a name="l00020"></a>00020 <span class="comment">// Copyright Author Dany De Bontridder ddebontridder@yahoo.fr</span>
<a name="l00021"></a>00021 include_once(<span class="stringliteral">"poste.php"</span>);
<a name="l00029"></a><a class="code" href="classBalance.html">00029</a> <span class="keyword">class </span><a class="code" href="classBalance.html">Balance</a> {
<a name="l00030"></a><a class="code" href="classBalance.html#o0">00030</a> var <a class="code" href="classBalance.html#o0">$db</a>;
<a name="l00031"></a><a class="code" href="classBalance.html#o1">00031</a> var <a class="code" href="classBalance.html#o1">$central</a>;
<a name="l00032"></a><a class="code" href="classBalance.html#o2">00032</a> var <a class="code" href="classBalance.html#o2">$row</a>;
<a name="l00033"></a><a class="code" href="classBalance.html#a0">00033</a> function <a class="code" href="classBalance.html#a0">Balance</a>($p_cn) {
<a name="l00034"></a>00034 $this-&gt;db=$p_cn;
<a name="l00035"></a>00035 $this-&gt;central=<span class="charliteral">'N'</span>;
<a name="l00036"></a>00036 }
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00053"></a><a class="code" href="classBalance.html#a1">00053</a> function <a class="code" href="classBalance.html#a1">GetRow</a>($p_from_periode,$p_to_periode) {
<a name="l00054"></a>00054 <span class="comment">// compute periode</span>
<a name="l00055"></a>00055 <span class="keywordflow">if</span> ( $p_from_periode==$p_to_periode ) {
<a name="l00056"></a>00056 $per_sql=<span class="stringliteral">" j_tech_per = $p_from_periode "</span>;
<a name="l00057"></a>00057 } <span class="keywordflow">else</span> {
<a name="l00058"></a>00058 $per_sql = <span class="stringliteral">"j_tech_per &gt;= $p_from_periode and j_tech_per &lt;= $p_to_periode "</span>;
<a name="l00059"></a>00059 }
<a name="l00060"></a>00060
<a name="l00061"></a>00061
<a name="l00062"></a>00062 <span class="comment">// if centralized</span>
<a name="l00063"></a>00063 $cent=<span class="stringliteral">""</span>;
<a name="l00064"></a>00064
<a name="l00065"></a>00065 <span class="keywordflow">if</span> ( $this-&gt;central==<span class="charliteral">'Y'</span> ) { $cent=<span class="stringliteral">"j_centralized = true and "</span>; }
<a name="l00066"></a>00066
<a name="l00067"></a>00067 <span class="comment">// build query</span>
<a name="l00068"></a>00068 <a class="code" href="facture_8inc_8php.html#a1">$sql</a>=<span class="stringliteral">"select j_poste,sum(deb) as sum_deb, sum(cred) as sum_cred from </span>
<a name="l00069"></a>00069 <span class="stringliteral"> ( select j_poste,</span>
<a name="l00070"></a>00070 <span class="stringliteral"> case when j_debit='t' then j_montant else 0 end as deb,</span>
<a name="l00071"></a>00071 <span class="stringliteral"> case when j_debit='f' then j_montant else 0 end as cred</span>
<a name="l00072"></a>00072 <span class="stringliteral"> from jrnx join tmp_pcmn on j_poste=pcm_val</span>
<a name="l00073"></a>00073 <span class="stringliteral"> where </span>
<a name="l00074"></a>00074 <span class="stringliteral"> $cent</span>
<a name="l00075"></a>00075 <span class="stringliteral"> $per_sql ) as m group by j_poste order by j_poste::text"</span>;
<a name="l00076"></a>00076
<a name="l00077"></a>00077 <a class="code" href="eub__be_8inc_8php.html#a5">$Res</a>=<a class="code" href="postgres_8php.html#a2">ExecSql</a>($this-&gt;db,$sql);
<a name="l00078"></a>00078
<a name="l00079"></a>00079 $tot_cred= 0.0;
<a name="l00080"></a>00080 $tot_deb= 0.0;
<a name="l00081"></a>00081 $tot_deb_saldo=0.0;
<a name="l00082"></a>00082 $tot_cred_saldo=0.0;
<a name="l00083"></a>00083 <a class="code" href="setup_8php.html#a14">$M</a>=pg_NumRows($Res);
<a name="l00084"></a>00084 <span class="comment">// Load the array</span>
<a name="l00085"></a>00085 <span class="keywordflow">for</span> ($i=0; $i &lt;$M;$i++) {
<a name="l00086"></a>00086 <a class="code" href="user__action__ach_8php.html#a2">$r</a>=pg_fetch_array($Res,$i);
<a name="l00087"></a>00087 <a class="code" href="balance_8php.html#a9">$a</a>['<a class="code" href="classposte.html">poste</a>']=<a class="code" href="user__action__ach_8php.html#a2">$r</a>['j_poste'];
<a name="l00088"></a>00088 <a class="code" href="balance_8php.html#a9">$a</a>['<a class="code" href="balance_8php.html#a5">label</a>']=substr(<a class="code" href="poste_8php.html#a0">GetPosteLibelle</a>($this-&gt;db,$r['j_poste'],1),0,40);
<a name="l00089"></a>00089 <a class="code" href="balance_8php.html#a9">$a</a>['sum_deb']=round($r['sum_deb'],2);
<a name="l00090"></a>00090 <a class="code" href="balance_8php.html#a9">$a</a>['sum_cred']=round($r['sum_cred'],2);
<a name="l00091"></a>00091 <a class="code" href="balance_8php.html#a9">$a</a>['solde_deb']=round(( $a['sum_deb'] &gt;= $a['sum_cred'] )? $a['sum_deb']- $a['sum_cred']:0,2);
<a name="l00092"></a>00092 <a class="code" href="balance_8php.html#a9">$a</a>['solde_cred']=round(( $a['sum_deb'] &lt;= $a['sum_cred'] )?$a['sum_cred']-$a['sum_deb']:0,2);
<a name="l00093"></a>00093 <a class="code" href="recherche_8php.html#a4">$array</a>[<a class="code" href="balance_8php.html#a11">$i</a>]=<a class="code" href="balance_8php.html#a9">$a</a>;
<a name="l00094"></a>00094 $tot_cred+= <a class="code" href="balance_8php.html#a9">$a</a>['sum_cred'];
<a name="l00095"></a>00095 $tot_deb+= <a class="code" href="balance_8php.html#a9">$a</a>['sum_deb'];
<a name="l00096"></a>00096 $tot_deb_saldo+= <a class="code" href="balance_8php.html#a9">$a</a>['solde_deb'];
<a name="l00097"></a>00097 $tot_cred_saldo+= <a class="code" href="balance_8php.html#a9">$a</a>['solde_cred'];
<a name="l00098"></a>00098
<a name="l00099"></a>00099
<a name="l00100"></a>00100 }<span class="comment">//for i</span>
<a name="l00101"></a>00101 <span class="comment">// Add the saldo</span>
<a name="l00102"></a>00102 <a class="code" href="balance_8php.html#a11">$i</a>+=1;
<a name="l00103"></a>00103 <a class="code" href="balance_8php.html#a9">$a</a>['<a class="code" href="classposte.html">poste</a>']=<span class="stringliteral">""</span>;
<a name="l00104"></a>00104 <a class="code" href="balance_8php.html#a9">$a</a>['<a class="code" href="balance_8php.html#a5">label</a>']=<span class="stringliteral">"&lt;b&gt; Totaux &lt;/b&gt;"</span>;
<a name="l00105"></a>00105 <a class="code" href="balance_8php.html#a9">$a</a>['sum_deb']=$tot_deb;
<a name="l00106"></a>00106 <a class="code" href="balance_8php.html#a9">$a</a>['sum_cred']=$tot_cred;
<a name="l00107"></a>00107 <a class="code" href="balance_8php.html#a9">$a</a>['solde_deb']=$tot_deb_saldo;
<a name="l00108"></a>00108 <a class="code" href="balance_8php.html#a9">$a</a>['solde_cred']=$tot_cred_saldo;
<a name="l00109"></a>00109 <a class="code" href="recherche_8php.html#a4">$array</a>[<a class="code" href="balance_8php.html#a11">$i</a>]=<a class="code" href="balance_8php.html#a9">$a</a>;
<a name="l00110"></a>00110 $this-&gt;row=<a class="code" href="recherche_8php.html#a4">$array</a>;
<a name="l00111"></a>00111 <span class="keywordflow">return</span> <a class="code" href="recherche_8php.html#a4">$array</a>;
<a name="l00112"></a>00112
<a name="l00113"></a>00113 }
<a name="l00114"></a>00114 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Jun 23 00:12:45 2006 for phpcompta by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
</body>
</html>