from != "" ) { $sql.="$and oa_date >= to_date('".$this->from."','DD.MM.YYYY')"; } if ( $this->to != "" ) { $sql.=" $and oa_date <= to_date('".$this->to."','DD.MM.YYYY')"; } return $sql; } /*! * \brief load the data from the database * * \return array */ function load() { $filter_date=$this->set_sql_filter(); $cond_poste=''; if ($this->from_poste != "" ) $cond_poste=" and upper(po_name) >= upper('".$this->from_poste."')"; if ($this->to_poste != "" ) $cond_poste.=" and upper(po_name) <= upper('".$this->to_poste."')"; $pa_id_cond=""; if ( isset ( $this->pa_id) && $this->pa_id !='') $pa_id_cond= "pa_id=".$this->pa_id." and"; $array=$this->db->get_array(" select oa_id, po_name, oa_description, po_description, oa_debit, to_char(oa_date,'DD.MM.YYYY') as oa_date, oa_amount, oa_group, j_id , jr_internal, jr_id, jr_comment, j_poste, jrnx.f_id, ( select ad_value from fiche_Detail where f_id=jrnx.f_id and ad_id=23) as qcode from operation_analytique as B join poste_analytique using(po_id) left join jrnx using (j_id) left join jrn on (j_grpt=jr_grpt_id) where $pa_id_cond oa_amount <> 0.0 $cond_poste $filter_date order by po_name,oa_date::date,qcode,j_poste"); return $array; } function load_csv() { $filter_date=$this->set_sql_filter(); $cond_poste=''; if ($this->from_poste != "" ) $cond_poste=" and upper(po_name) >= upper('".$this->from_poste."')"; if ($this->to_poste != "" ) $cond_poste.=" and upper(po_name) <= upper('".$this->to_poste."')"; $pa_id_cond=""; if ( isset ( $this->pa_id) && $this->pa_id !='') $pa_id_cond= "pa_id=".$this->pa_id." and"; $array=$this->db->get_array(" select po_name, to_char(oa_date,'DD.MM.YYYY') as oa_date, j_poste, ( select ad_value from fiche_Detail where f_id=jrnx.f_id and ad_id=23) as qcode, jr_comment, jr_internal, case when oa_debit='t' then 'D' else 'C' end, oa_amount from operation_analytique as B join poste_analytique using(po_id) left join jrnx using (j_id) left join jrn on (j_grpt=jr_grpt_id) where $pa_id_cond oa_amount <> 0.0 $cond_poste $filter_date order by po_name,oa_date::date,qcode,j_poste"); return $array; } /*! * \brief compute the html display * * * \return string */ function display_html() { $r=""; //---Html $array=$this->load(); if ( is_array($array) == false ) { return $array; } if ( empty($array) ) { $r.= _("aucune donnée"); return $r; } $r.= ''; $ix=0;$prev='xx';$idx=0; $tot_deb=$tot_cred=0; foreach ( $array as $row ) { if ($prev != $row['po_name']) { if ( $ix>0) { $r.=''; $tot_solde=bcsub($tot_cred,$tot_deb); $sign=($tot_solde>0)?'C':'D'; $r.=td('').td('').td('').td('').td('').td(nbm($tot_deb),' class="num"').td(nbm($tot_cred),' class="num"').td(nbm($tot_solde).$sign,' class="num"'); } $r.=''.''; $r.= ''. ''. ''. ''. ''. ''. ''. ''. ''; $tot_deb=$tot_cred=0; $prev=$row['po_name']; $ix++; } $class=($idx%2==0)?'even':'odd'; $idx++; $r.=''; $detail=($row['jr_id'] != null)?HtmlInput::detail_op($row['jr_id'],$row['jr_internal']):''; $post_detail=($row['j_poste'] != null)?HtmlInput::history_account($row['j_poste'],$row['j_poste']):''; $card_detail=($row['f_id'] != null)?HtmlInput::history_card($row['f_id'],$row['qcode']):''; $amount_deb=($row['oa_debit']=='t')?$row['oa_amount']:0; $amount_cred=($row['oa_debit']=='f')?$row['oa_amount']:0; $tot_deb=bcadd($tot_deb,$amount_deb); $tot_cred=bcadd($tot_cred,$amount_cred); $r.= ''. td($post_detail). td($card_detail). // ''. td($row['jr_comment']). ''. ''. ''; $r.= ''; } $r.=''; $tot_solde=bcsub($tot_cred,$tot_deb); $sign=($tot_solde>0)?'C':'D'; $r.=td('').td('').td('').td('').td('').td(nbm($tot_deb),' class="num"').td(nbm($tot_cred),' class="num"').td(nbm($tot_solde).$sign,' class="num"'); $r.= '
'.'

'.h($row['po_name'].' '.$row['po_description']).'

'._('Date').''._('Poste').''._('Quick_code').''._('libelle').''._('Num.interne').''._('Debit').''._('Credit').'
'.$row['oa_date'].''.h($row['oa_description']).''.$detail.''.nbm($amount_deb).''.nbm($amount_cred) .'
'; return $r; } /*! * \brief Show the button to export in PDF or CSV * \param $url_csv url of the csv * \param $url_pdf url of the pdf * \param $p_string hidden data to include in the form * * * \return string with the button */ function show_button($p_string="") { $r=""; /* $r.= '
'; $r.= $p_string; $r.= dossier::hidden(); $r.= HtmlInput::hidden("to",$this->to); $r.= HtmlInput::hidden("act","PDF:AncGrandLivre"); $r.= HtmlInput::hidden("from",$this->from); $r.= HtmlInput::hidden("pa_id",$this->pa_id); $r.= HtmlInput::hidden("from_poste",$this->from_poste); $r.= HtmlInput::hidden("to_poste",$this->to_poste); $r.=HtmlInput::submit('bt_pdf',"Export en PDF"); $r.= '
'; */ $r.= '
'; $r.= HtmlInput::hidden("act","CSV:AncGrandLivre"); $r.= HtmlInput::hidden("to",$this->to); $r.= HtmlInput::hidden("from",$this->from); $r.= HtmlInput::hidden("pa_id",$this->pa_id); $r.= HtmlInput::hidden("from_poste",$this->from_poste); $r.= HtmlInput::hidden("to_poste",$this->to_poste); $r.= $p_string; $r.= dossier::hidden(); $r.=HtmlInput::submit('bt_csv',"Export en CSV"); $r.= '
'; return $r; } function display_csv() { $r=""; //---Html $array=$this->load_csv(); if ( is_array($array) == false ) { return $array; } if ( empty($array) ) { $r.= _("aucune donnée"); return $r; } $ix=0;$prev='xx'; $tot_deb=$tot_cred=0; $aheader=array(); $aheader[]=array("title"=>'Imp. Analytique','type'=>'string'); $aheader[]=array("title"=>'Date','type'=>'string'); $aheader[]=array("title"=>'Poste','type'=>'string'); $aheader[]=array("title"=>'Quick_Code','type'=>'string'); $aheader[]=array("title"=>'libelle','type'=>'string'); $aheader[]=array("title"=>'Num.interne','type'=>'string'); $aheader[]=array("title"=>'Debit','type'=>'string'); $aheader[]=array("title"=>'Credit','type'=>'num'); Impress::array_to_csv($array, $aheader); } }