Add the simple operation for ledger VEN and ACH
This commit is contained in:
parent
e04ebd2fcf
commit
c7ca69bb28
3 changed files with 128 additions and 29 deletions
|
|
@ -182,7 +182,7 @@ if ( ($jrn_type=='ACH' || $jrn_type=='VEN' ) && $_REQUEST['p_simple']== 1 )
|
|||
$pdf->selectFont('./addon/fonts/Courier.afm');
|
||||
|
||||
$offset=0;$limit=30;$step=30;
|
||||
$a_Tva=GetArray($cn,"select tva_id,tva_label from tva_rate where tva_rate != 0.0000 order by tva_id");
|
||||
$a_Tva=GetArray($cn,"select tva_id,tva_label,tva_poste from tva_rate where tva_rate != 0.0000 order by tva_id");
|
||||
$col_tva="TVA ";
|
||||
$space=0;
|
||||
$total_HTVA=0.0;
|
||||
|
|
@ -199,16 +199,14 @@ if ( ($jrn_type=='ACH' || $jrn_type=='VEN' ) && $_REQUEST['p_simple']== 1 )
|
|||
$space=9;
|
||||
}
|
||||
|
||||
// if the period is centralized get the first amounts
|
||||
if ( $l_centr==1)
|
||||
list($total_TVAC,$total_HTVA)=GetRappelSimple($cn,$Jrn->id,$jrn_type,$_GET['from_periode'],&$rap_tva);
|
||||
|
||||
|
||||
// list($rap_deb,$rap_cred)=GetRappelSimple($cn,
|
||||
// $first_id,$Jrn->id,
|
||||
// $Exercice,
|
||||
// FIRST,
|
||||
// $filter,
|
||||
// $l_centr
|
||||
// );
|
||||
|
||||
while (1) {
|
||||
|
||||
$a=0;
|
||||
$a_jrn=$Jrn->GetRowSimple($_GET['from_periode'],
|
||||
$_GET['to_periode'],
|
||||
|
|
@ -218,11 +216,22 @@ if ( ($jrn_type=='ACH' || $jrn_type=='VEN' ) && $_REQUEST['p_simple']== 1 )
|
|||
$offset);
|
||||
if ( $a_jrn == null ) break;
|
||||
|
||||
// page Header
|
||||
$t=sprintf("Rappel TVAC = %.2f HTVA= %.2f",$total_TVAC,$total_HTVA);
|
||||
foreach($rap_tva as $idx=>$am) {
|
||||
$t.=sprintf('[ %s = % .2f]',$idx,$am);
|
||||
}
|
||||
$pdf->ezText($t,9,array('justification'=>'left'));
|
||||
|
||||
$offset+=$step;
|
||||
$first_id=$a_jrn[0]['jr_id'];
|
||||
|
||||
$Exercice=GetExercice($cn,$a_jrn[0]['jr_tech_per']);
|
||||
|
||||
//total page
|
||||
$total_htva_page=0.0;$total_tvac_page=0.0;
|
||||
foreach($a_Tva as $line_tva)
|
||||
{
|
||||
//initialize Amount TVA
|
||||
$tmp1=$line_tva['tva_label'];
|
||||
$page_tva[$tmp1]=0.0;
|
||||
}
|
||||
$str_tva="";
|
||||
|
||||
|
||||
|
|
@ -249,18 +258,28 @@ if ( ($jrn_type=='ACH' || $jrn_type=='VEN' ) && $_REQUEST['p_simple']== 1 )
|
|||
{
|
||||
$total_TVAC+=$row['TVAC'];
|
||||
$total_HTVA+=$row['HTVA'];
|
||||
$total_tvac_page+=$row['TVAC'];
|
||||
$total_htva_page+=$row['HTVA'];
|
||||
|
||||
foreach ($row['TVA'] as $line)
|
||||
{
|
||||
$tva_id=$line[1][1];
|
||||
$rap_tva[$tva_id]+=$line[1][2];
|
||||
$page_tva[$tva_id]+=$line[1][2];
|
||||
}
|
||||
}
|
||||
|
||||
$t=sprintf("TVAC = %.2f HTVA= %.2f",$total_TVAC,$total_HTVA);
|
||||
foreach($rap_tva as $idx=>$am) {
|
||||
$t.=sprintf('[ %s ] % .2f',$idx,$am);
|
||||
//total page
|
||||
$t=sprintf("total page TVAC = %.2f HTVA= %.2f",$total_tvac_page,$total_htva_page);
|
||||
foreach($page_tva as $idx=>$am) {
|
||||
$t.=sprintf('[ %s = % .2f ]',$idx,$am);
|
||||
}
|
||||
$pdf->ezText($t,12,array('justification'=>'right'));
|
||||
$pdf->ezText($t,9,array('justification'=>'left'));
|
||||
|
||||
$t=sprintf("total à reporter TVAC = %.2f HTVA= %.2f",$total_TVAC,$total_HTVA);
|
||||
foreach($rap_tva as $idx=>$am) {
|
||||
$t.=sprintf('[ %s = % .2f ]',$idx,$am);
|
||||
}
|
||||
$pdf->ezText($t,9,array('justification'=>'left'));
|
||||
|
||||
// New Page
|
||||
$pdf->ezNewPage();
|
||||
|
|
|
|||
|
|
@ -324,10 +324,13 @@ class jrn {
|
|||
// for type ACH and Ven we take more info
|
||||
if ( $type == 'ACH' || $type == 'VEN')
|
||||
{
|
||||
$a_ParmCode=GetArray($this->db,'select p_code,p_value from parm_code');
|
||||
$a_TVA=GetArray($this->db,'select tva_id,tva_label,tva_poste
|
||||
from tva_rate where tva_rate != 0 order by tva_id');
|
||||
for ( $i=0;$i<$Max;$i++)
|
||||
{
|
||||
$array[$i]=pg_fetch_array($Res);
|
||||
$p=$this->get_detail(&$array[$i],$type,$trunc);
|
||||
$p=$this->get_detail(&$array[$i],$type,$trunc,$a_TVA,$a_ParmCode);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -362,18 +365,25 @@ class jrn {
|
|||
* \param p_array the structure is set in GetRowSimple, this array is
|
||||
* modified,
|
||||
* \param $trunc if the data must be truncated, usefull for pdf export
|
||||
*\param p_jrn_type is the type of the ledger (ACH or VEN)
|
||||
* \param p_jrn_type is the type of the ledger (ACH or VEN)
|
||||
* \param $a_TVA TVA Array (default null)
|
||||
* \param $a_ParmCode Array (default null)
|
||||
* \return p_array
|
||||
*/
|
||||
function get_detail($p_array,$p_jrn_type,$trunc=0)
|
||||
function get_detail($p_array,$p_jrn_type,$trunc=0,$a_TVA=null,$a_ParmCode=null)
|
||||
{
|
||||
// Load TVA array
|
||||
$a_TVA=GetArray($this->db,'select tva_id,tva_label,tva_poste
|
||||
from tva_rate where tva_rate != 0 order by tva_id');
|
||||
if ( $a_TVA == null )
|
||||
{
|
||||
//Load TVA array
|
||||
$a_TVA=GetArray($this->db,'select tva_id,tva_label,tva_poste
|
||||
from tva_rate where tva_rate != 0 order by tva_id');
|
||||
}
|
||||
if ( $a_ParmCode == null )
|
||||
{
|
||||
//Load Parm_code
|
||||
$a_ParmCode=GetArray($this->db,'select p_code,p_value from parm_code');
|
||||
|
||||
// init
|
||||
$a_ParmCode=GetArray($this->db,'select p_code,p_value from parm_code');
|
||||
}
|
||||
// init
|
||||
$p_array['client']="";
|
||||
$p_array['TVAC']=0;
|
||||
$p_array['TVA']=array();
|
||||
|
|
|
|||
|
|
@ -572,12 +572,82 @@ function GetDataGrpt($p_cn,$p_array)
|
|||
*
|
||||
* \return array sum(HTVA) sum(TVAC) sum (each TVA)
|
||||
*/
|
||||
function GetRappelSimple ($p_cn,$p_jr_id,$p_jrn_id,$p_exercice,$which)
|
||||
function GetRappelSimple ($p_cn,$p_jrn_id,$p_jrn_type,$p_from,$arap)
|
||||
{
|
||||
$result=array();
|
||||
echo_debug("impress_inc",__LINE__,"function GetRappelSimple ($p_cn,$p_jrn_id,$p_jrn_type,$p_from,$arap) ");
|
||||
if ( $p_jrn_type !='VEN' && $p_jrn_type != "ACH")
|
||||
{
|
||||
echo "ERREUR Journal invalide $p_jrn_type __FILE__ __LINE__";
|
||||
exit;
|
||||
}
|
||||
// find the last operation of the previous periode
|
||||
$min=getDbValue($p_cn,"select max (c_id) from centralized where c_jrn_def=$p_jrn_id ".
|
||||
" and c_date < (select p_start from parm_periode where p_id = $p_from)");
|
||||
if ($min == "" ) return 0;
|
||||
// Find Exercice
|
||||
$Exercice=GetExercice($p_cn,$p_from);
|
||||
|
||||
$a_Tva=GetArray($p_cn,"select tva_id,tva_label,tva_poste from tva_rate where tva_rate != 0.0000 order by tva_id");
|
||||
|
||||
// Compute VAT
|
||||
foreach ($a_Tva as $line_tva)
|
||||
{
|
||||
list ($deb,$cred)=split(',',$line_tva['tva_poste']);
|
||||
if ( $p_jrn_type == 'ACH' )
|
||||
$ctva=$deb;
|
||||
else
|
||||
$ctva=$cred;
|
||||
$sum_deb=getDbValue($p_cn,"select sum(j_montant) from (select distinct c_internal,j_montant ".
|
||||
" from jrnx join centralized on (j_grpt=c_grp) ".
|
||||
" where c_id < $min and j_poste = '$ctva' and j_debit='t' and ".
|
||||
" c_jrn_def=$p_jrn_id and j_tech_per in ".
|
||||
" (select p_id from parm_periode where p_exercice='$Exercice') ) as w");
|
||||
|
||||
$sum_cred=getDbValue($p_cn,"select sum(j_montant) from (select distinct c_internal,j_montant ".
|
||||
" from jrnx join centralized on (j_grpt=c_grp) ".
|
||||
" where c_id < $min and j_poste = '$ctva' and j_debit='f' and ".
|
||||
" c_jrn_def=$p_jrn_id and j_tech_per in ".
|
||||
" (select p_id from parm_periode where p_exercice='$Exercice') ) as w");
|
||||
|
||||
|
||||
return $result;
|
||||
|
||||
$ix=$line_tva['tva_label'];
|
||||
$arap[$ix]=($p_jrn_type=='ACH')?$sum_deb-$sum_cred:$sum_cred-$sum_deb;
|
||||
}
|
||||
// $camount=($p_jrn_type == 'ACH')?"4%":"4%";
|
||||
// $sum_htva_deb=getDbValue($p_cn,"select sum(j_montant) from (select distinct j_poste,c_internal,j_montant ".
|
||||
// " from jrnx join centralized on (j_grpt=c_grp) ".
|
||||
// " where c_id < $min and c_poste like '$camount' and j_debit='t' and ".
|
||||
// " c_jrn_def=$p_jrn_id and j_tech_per in ".
|
||||
// " (select p_id from parm_periode where p_exercice='$Exercice') ) as w");
|
||||
|
||||
|
||||
// echo $sum_htva_deb;
|
||||
|
||||
// $sum_htva_cred=getDbValue($p_cn,"select sum(j_montant) from (select distinct j_poste,c_internal,j_montant ".
|
||||
// " from jrnx join centralized on (j_grpt=c_grp) ".
|
||||
// " where c_id < $min and c_poste like '$camount' and j_debit='f' and ".
|
||||
// " c_jrn_def=$p_jrn_id and j_tech_per in ".
|
||||
// " (select p_id from parm_periode where p_exercice='$Exercice') ) as w");
|
||||
// echo $sum_htva_cred;
|
||||
// if ( $p_jrn_type == 'ACH' )
|
||||
// return $sum_htva_deb-$sum_htva_cred;
|
||||
// else
|
||||
// return $sum_htva_cred-$sum_htva_deb;
|
||||
// Previous period
|
||||
$previous=getDbValue($p_cn,"select max(p_id) from parm_periode where ".
|
||||
"p_end < (select p_end from parm_periode where p_id=$p_from) ".
|
||||
" and p_start <= (select p_start from parm_periode where p_id=$p_from)");
|
||||
|
||||
$j=new jrn($p_cn,$p_jrn_id);
|
||||
$a=$j->GetRowSimple($previous,$previous,$cent='on');
|
||||
$total_tvac=0.0;
|
||||
$total_htva=0.0;
|
||||
foreach ($a as $line) {
|
||||
$total_tvac+=$line['TVAC'];
|
||||
$total_htva+=$line['HTVA'];
|
||||
}
|
||||
return array($total_tvac,$total_htva);
|
||||
}
|
||||
/*!
|
||||
* \brief Get the amount on each page
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue