noalyss Version-9
Public Member Functions | Static Public Member Functions | Data Fields | Protected Member Functions | Protected Attributes
Acc_Ledger_History Class Reference

Display history of operation. More...

+ Inheritance diagram for Acc_Ledger_History:
+ Collaboration diagram for Acc_Ledger_History:

Public Member Functions

 __construct (Database $cn, $pa_ledger, $p_from, $p_to, $p_mode)
 
 export_accounting_html ()
 display accounting of operations m_mode=A More...
 
 export_detail_html ()
 display detail of operations m_mode=D More...
 
 export_extended_html ()
 display extended details of operation m_mode=E More...
 
 export_html ()
 call the right function , depending of m_mode More...
 
 export_oneline_html ()
 display operation on one line m_mode=L More...
 
 get_filter_operation ()
 Filter operation. More...
 
 get_from ()
 setter / getter More...
 
 get_ledger ()
 setter / getter More...
 
 get_ledger_type ()
 
 get_mode ()
 setter / getter More...
 
 get_row ($p_limit, $p_offset)
 
 get_tiers ($p_jrn_type, $jr_id)
 Retrieve the third : supplier for purchase, customer for sale, bank for fin,. More...
 
 get_tiers_id ($p_jrn_type, $jr_id)
 Return the f_id of the tiers , called by get_tiers. More...
 
 get_to ()
 setter / getter More...
 
 has_other_tax ()
 count the number of addition tax for the ledger More...
 
 set_a_ledger ($ma_ledger)
 setter ma_ledger (array of jrn_def_id) More...
 
 set_filter_operation ($filter_operation)
 Filter operation ,. More...
 
 set_from ($m_from)
 setter m_from (periode id) More...
 
 set_ledger_type ($ledger_type)
 
 set_m_mode ($m_mode)
 Setter. More...
 
 set_to ($m_to)
 setter m_to (periode id) More...
 

Static Public Member Functions

static factory (Database $cn, $pa_ledger, $p_from, $p_to, $p_mode, $p_paid)
 Build the right object. More...
 

Data Fields

 $db
 database connx More...
 

Protected Member Functions

 add_additional_tax_info ()
 add additional info about additional tax. More...
 
 build_filter_operation ()
 Build a SQL clause to filter operation depending if they are paid, unpaid or no filter. More...
 
 prepare_reconcile_date ()
 Prepare the query for fetching the linked operation @staticvar int $prepare. More...
 

Protected Attributes

 $filter_operation
 type of ledger VEN , ACH , ODS, FIN More...
 
 $ledger_type
 
 $m_from
 Starting Periode : periode.p_id. More...
 
 $m_mode
 mode of export L : one line, E accounting writing , D : Detail More...
 
 $m_to
 Ending Periode : periode.p_id. More...
 
 $ma_ledger
 Array of ledger id : jrn_def.jrn_def_id. More...
 

Detailed Description

Display history of operation.

See also
acc_ledger_historyTest.php

Definition at line 31 of file acc_ledger_history.class.php.

Constructor & Destructor Documentation

◆ __construct()

Acc_Ledger_History::__construct ( Database  $cn,
  $pa_ledger,
  $p_from,
  $p_to,
  $p_mode 
)
Parameters
Database$cn
array$pa_ledgerarray of jrn_def.jrn_def_id
integer$p_fromperiode
integer$p_to
char$p_modeE D L or A , for Extended ,Detail , Listing , Accounting
Exceptions
Exceptionif $pa_ledger is not an array

Reimplemented in Acc_Ledger_History_Financial, and Acc_Ledger_History_Generic.

Definition at line 51 of file acc_ledger_history.class.php.

52 {
53 if (is_array($pa_ledger) == FALSE) {
54 throw new Exception (_('pa_ledger doit être un tableau'),EXC_PARAM_VALUE);
55 }
56 $this->db=$cn;
57 $this->ma_ledger=$pa_ledger;
58 $this->m_from=$p_from;
59 $this->m_to=$p_to;
60 $this->m_mode=$p_mode;
61 $this->filter_operation='all';
62 }
const EXC_PARAM_VALUE
Definition: constant.php:343
$SecUser db

References $cn, db, and EXC_PARAM_VALUE.

Member Function Documentation

◆ add_additional_tax_info()

Acc_Ledger_History::add_additional_tax_info ( )
protected

add additional info about additional tax.

Add to $this->data an array containing the info about a additional tax. Concerns only purchase and sales ledgers

$this->data[$i]['supp_tax']['ac_id'] id in Acc_Other_Tax
$this->data[$i]['supp_tax']['j_montant']  Amount of this tax
$this->data[$i]['supp_tax']['ac_label']   Label of this tax
$this->data[$i]['supp_tax']['ac_rate']    Rate of this tax
$this->data[$i]['supp_tax']['j_poste']    Accounting
 * 

Definition at line 385 of file acc_ledger_history.class.php.

386 {
387 $prepare=$this->db->is_prepare("supp_tax_info");
388 if ( $prepare == false ){
389 $this->db->prepare("supp_tax_info","
390 select
391 case when j.j_debit is false and jd.jrn_def_type='ACH' then 0-j_montant
392 when j.j_debit is true and jd.jrn_def_type='VEN' then 0-j_montant
393 else j.j_montant end j_montant,
394 jt1.ac_id,
395 ac_label,
396 ac_rate,j_poste
397 from
398 jrn_tax jt1
399 join acc_other_tax using (ac_id)
400 join jrnx j using (j_id)
401 join jrn_def jd on (j.j_jrn_def=jd.jrn_def_id)
402 where j_grpt=$1
403 ");
404
405 }
406 $data=$this->get_data();
407 $nb_row=count($data);
408
409 for ($i=0;$i<$nb_row;$i++)
410 {
411 $ret=$this->db->execute("supp_tax_info",array($data[$i]["jr_grpt_id"]));
413 $array=($array==false)?array():$array;
414 $data[$i]["supp_tax"]=$array;
415 }
416 $this->set_data($data);
417 }
static fetch_all($ret)
wrapper for the function pg_fetch_all

References $array, $data, $i, $nb_row, $ret, db, and DatabaseCore\fetch_all().

Referenced by Acc_Ledger_History_Purchase\export_extended_html(), and Acc_Ledger_History_Sale\export_extended_html().

+ Here is the call graph for this function:

◆ build_filter_operation()

Acc_Ledger_History::build_filter_operation ( )
protected

Build a SQL clause to filter operation depending if they are paid, unpaid or no filter.

Returns
string SQL Clause

Definition at line 318 of file acc_ledger_history.class.php.

319 {
320 switch ( $this->get_filter_operation() )
321 {
322 case 'all':
323 $sql_filter="";
324 break;
325 case 'paid':
326 $sql_filter=" and (jr_date_paid is not null or jr_rapt ='paid' ) ";
327 break;
328 case 'unpaid':
329 $sql_filter=" and (jr_date_paid is null and coalesce(jr_rapt,'x') <> 'paid' ) ";
330 break;
331 default:
332 throw new Exception(_("Filtre invalide",5));
333
334 }
335 return $sql_filter;
336 }
get_filter_operation()
Filter operation.
$sql_filter
Definition: preod.inc.php:43

References $sql_filter, and get_filter_operation().

+ Here is the call graph for this function:

◆ export_accounting_html()

Acc_Ledger_History::export_accounting_html ( )
abstract

display accounting of operations m_mode=A

Reimplemented in Acc_Ledger_History_Financial, Acc_Ledger_History_Generic, Acc_Ledger_History_Purchase, and Acc_Ledger_History_Sale.

◆ export_detail_html()

Acc_Ledger_History::export_detail_html ( )
abstract

◆ export_extended_html()

Acc_Ledger_History::export_extended_html ( )
abstract

display extended details of operation m_mode=E

Reimplemented in Acc_Ledger_History_Financial, Acc_Ledger_History_Generic, Acc_Ledger_History_Purchase, and Acc_Ledger_History_Sale.

◆ export_html()

Acc_Ledger_History::export_html ( )
abstract

call the right function , depending of m_mode

Reimplemented in Acc_Ledger_History_Financial, Acc_Ledger_History_Generic, Acc_Ledger_History_Purchase, and Acc_Ledger_History_Sale.

◆ export_oneline_html()

Acc_Ledger_History::export_oneline_html ( )
abstract

◆ factory()

static Acc_Ledger_History::factory ( Database  $cn,
  $pa_ledger,
  $p_from,
  $p_to,
  $p_mode,
  $p_paid 
)
static

Build the right object.

Parameters
Database$cndatabase conx
array$pa_ledgerledger of array
integer$p_fromperiode id
integer$p_toperiode id
char$p_modeL (list operation) E (extended detail) A (accouting writing) D (Detailled VAT)
$p_paidvalues are all means all operations, paid only paid operation, unpaid for only unpaid
Returns
Acc_Ledger_History_Generic Acc_Ledger_History_Sale Acc_Ledger_History_Financial Acc_Ledger_History_Purchase
Examples
acc_ledger_historyTest.php.

Definition at line 161 of file acc_ledger_history.class.php.

162 {
163 // For Accounting writing , we use Acc_Ledger_History
164 if ($p_mode=="A")
165 {
166 $ret=new Acc_Ledger_History_Generic($cn, $pa_ledger, $p_from, $p_to,
167 $p_mode);
168 return $ret;
169 }
170 $nb_ledger=count($pa_ledger);
171 $ledger=new Acc_Ledger($cn, $pa_ledger[0]);
172 $type=$ledger->get_type();
173
174 // If first one is ODS so Acc_Ledger_History
175 if ($type=="ODS")
176 {
177 $ret=new Acc_Ledger_History_Generic($cn, $pa_ledger, $p_from, $p_to,
178 $p_mode);
179 return $ret;
180 }
181 // If all of the same type then use the corresponding class
182
183 for ($i=0; $i<$nb_ledger; $i++)
184 {
185 $ledger=new Acc_Ledger($cn, $pa_ledger[$i]);
186 $type_next=$ledger->get_type();
187
188 // If type different then we go back to the generic
189 if ($type_next!=$type)
190 {
191 $ret=new Acc_Ledger_History_Generic($cn, $pa_ledger, $p_from,
192 $p_to, $p_mode);
193 return $ret;
194 }
195 }
196 switch ($type)
197 {
198 case "ACH":
199 $ret=new Acc_Ledger_History_Purchase($cn, $pa_ledger, $p_from,
200 $p_to, $p_mode);
201 $ret->set_filter_operation($p_paid);
202 return $ret;
203 break;
204 case "FIN":
205 $ret=new Acc_Ledger_History_Financial($cn, $pa_ledger, $p_from,
206 $p_to, $p_mode);
207 return $ret;
208 break;
209 case "VEN":
210 $ret=new Acc_Ledger_History_Sale($cn, $pa_ledger, $p_from,
211 $p_to, $p_mode);
212 $ret->set_filter_operation($p_paid);
213 return $ret;
214 break;
215
216 default:
217 break;
218 }
219 }
display financial operations in HTML , PDF or CSV
manage the list of operation when we need several ledger with a different type or from Misceleaneous ...
Display the operations for Purchase.
Acc_Ledger_History : Manage the list (history) of operations for display.

References $cn, $i, $ledger, $ret, and $type.

Referenced by Print_Ledger_Simple\export(), and Print_Ledger_Simple_Without_Vat\export().

◆ get_filter_operation()

Acc_Ledger_History::get_filter_operation ( )

Filter operation.

Reimplemented in Acc_Ledger_History_Purchase.

Definition at line 340 of file acc_ledger_history.class.php.

341 {
343 }
$filter_operation
type of ledger VEN , ACH , ODS, FIN

References $filter_operation.

Referenced by build_filter_operation().

◆ get_from()

Acc_Ledger_History::get_from ( )

setter / getter

Returns
m_from (periode id)

Definition at line 67 of file acc_ledger_history.class.php.

68 {
69 return $this->m_from;
70 }
$m_from
Starting Periode : periode.p_id.

References $m_from.

◆ get_ledger()

Acc_Ledger_History::get_ledger ( )

setter / getter

Returns
ma_ledger (array)

Definition at line 99 of file acc_ledger_history.class.php.

100 {
101 return $this->ma_ledger;
102 }
$ma_ledger
Array of ledger id : jrn_def.jrn_def_id.

References $ma_ledger.

◆ get_ledger_type()

Acc_Ledger_History::get_ledger_type ( )

Definition at line 71 of file acc_ledger_history.class.php.

References $ledger_type.

◆ get_mode()

Acc_Ledger_History::get_mode ( )

setter / getter

Returns
m_mode (A,L,E,D)

Definition at line 107 of file acc_ledger_history.class.php.

108 {
109 return $this->m_mode;
110 }
$m_mode
mode of export L : one line, E accounting writing , D : Detail

References $m_mode.

◆ get_row()

Acc_Ledger_History::get_row (   $p_limit,
  $p_offset 
)
abstract

◆ get_tiers()

Acc_Ledger_History::get_tiers (   $p_jrn_type,
  $jr_id 
)

Retrieve the third : supplier for purchase, customer for sale, bank for fin,.

Parameters
$p_jrn_typetype of the ledger FIN, VEN ACH or ODS
$jr_idjrn.jr_id
Todo:
duplicate function , also in Acc_Ledger::get_tiers, remove one

Definition at line 227 of file acc_ledger_history.class.php.

228 {
229 if ($p_jrn_type=='ODS')
230 return ' ';
231 $tiers=$this->get_tiers_id($p_jrn_type, $jr_id);
232 if ($tiers==0)
233 return "";
234
235 $name=$this->db->get_value('select ad_value from fiche_detail where ad_id=1 and f_id=$1',
236 array($tiers));
237 $first_name=$this->db->get_value('select ad_value from fiche_detail where ad_id=32 and f_id=$1',
238 array($tiers));
239 return $name.' '.$first_name;
240 }
$jr_id
Definition: ajax_ledger.php:44
get_tiers_id($p_jrn_type, $jr_id)
Return the f_id of the tiers , called by get_tiers.

References $jr_id, $name, $tiers, db, and get_tiers_id().

Referenced by Acc_Ledger_History_Generic\export_oneline_html().

+ Here is the call graph for this function:

◆ get_tiers_id()

Acc_Ledger_History::get_tiers_id (   $p_jrn_type,
  $jr_id 
)

Return the f_id of the tiers , called by get_tiers.

Parameters
$p_jrn_typetype of the ledger FIN, VEN ACH or ODS
$jr_idjrn.jr_id

Definition at line 247 of file acc_ledger_history.class.php.

248 {
249 $tiers=0;
250 switch ($p_jrn_type)
251 {
252 case 'VEN':
253 $tiers=$this->db->get_value('select max(qs_client) '
254 . 'from quant_sold join jrnx using (j_id) '
255 . 'join jrn on (jr_grpt_id=j_grpt) where jrn.jr_id=$1',
256 array($jr_id));
257 break;
258 case 'ACH':
259 $tiers=$this->db->get_value('select max(qp_supplier) '
260 . ' from quant_purchase '
261 . ' join jrnx using (j_id) '
262 . ' join jrn on (jr_grpt_id=j_grpt) '
263 . ' where jrn.jr_id=$1',
264 array($jr_id));
265
266 break;
267 case 'FIN':
268 $tiers=$this->db->get_value('select qf_other from quant_fin where jr_id=$1',
269 array($jr_id));
270 break;
271 }
272 if ($this->db->count()==0)
273 return 0;
274 return $tiers;
275 }

References $jr_id, $tiers, and db.

Referenced by get_tiers().

◆ get_to()

Acc_Ledger_History::get_to ( )

setter / getter

Returns
m_to (periode id)

Definition at line 91 of file acc_ledger_history.class.php.

92 {
93 return $this->m_to;
94 }
$m_to
Ending Periode : periode.p_id.

References $m_to.

◆ has_other_tax()

Acc_Ledger_History::has_other_tax ( )

count the number of addition tax for the ledger

Returns
integer

Definition at line 363 of file acc_ledger_history.class.php.

364 {
365 $str_ledger=join(',',$this->ma_ledger);
366 $count=$this->db->get_value("select count(*)
367 from jrn_tax
368 join jrnx using (j_id)
369 join jrn on (jr_grpt_id=j_grpt)
370 where jr_tech_per>=$1 and jr_tech_per <=$2
371 and jr_def_id in ($str_ledger) ",[$this->m_from,$this->m_to]);
372 return $count;
373 }
$count

References $count, and db.

Referenced by Acc_Ledger_History_Purchase\export_csv(), Acc_Ledger_History_Sale\export_csv(), Acc_Ledger_History_Purchase\export_oneline_html(), and Acc_Ledger_History_Sale\export_oneline_html().

◆ prepare_reconcile_date()

Acc_Ledger_History::prepare_reconcile_date ( )
protected

Prepare the query for fetching the linked operation @staticvar int $prepare.

Definition at line 282 of file acc_ledger_history.class.php.

283 {
284 static $not_done=TRUE;
285 if ($not_done ) {
286 $prepare_query = new Prepared_Query($this->db);
287 $prepare_query->prepare_reconcile_date();
288 }
289 $not_done=FALSE;
290 }
contains prepared query used in different classes of the application

References db.

Referenced by Acc_Ledger_History_Purchase\export_csv(), Acc_Ledger_History_Sale\export_csv(), Acc_Ledger_History_Purchase\export_detail_html(), Acc_Ledger_History_Sale\export_detail_html(), Acc_Ledger_History_Purchase\export_extended_html(), Acc_Ledger_History_Sale\export_extended_html(), Acc_Ledger_History_Financial\export_oneline_html(), Acc_Ledger_History_Purchase\export_oneline_html(), and Acc_Ledger_History_Sale\export_oneline_html().

◆ set_a_ledger()

Acc_Ledger_History::set_a_ledger (   $ma_ledger)

setter ma_ledger (array of jrn_def_id)

Definition at line 130 of file acc_ledger_history.class.php.

131 {
132 if (is_array($ma_ledger)==FALSE)
133 throw new Exception(_("invalid parameter"), EXC_PARAM_VALUE);
134 $this->ma_ledger=$ma_ledger;
135 return $this;
136 }

References $ma_ledger, and EXC_PARAM_VALUE.

◆ set_filter_operation()

Acc_Ledger_History::set_filter_operation (   $filter_operation)

Filter operation ,.

Parameters
string$filter_operation,valid: all, paid, unpaid

Definition at line 349 of file acc_ledger_history.class.php.

350 {
351 if (in_array($filter_operation,['all','paid','unpaid']))
352 {
353 $this->filter_operation=$filter_operation;
354 return $this;
355 }
356 throw new Exception(_("Filter invalide ".$filter_operation),5);
357 }

References $filter_operation.

◆ set_from()

Acc_Ledger_History::set_from (   $m_from)

setter m_from (periode id)

Definition at line 114 of file acc_ledger_history.class.php.

115 {
116 $this->m_from=$m_from;
117 return $this;
118 }

References $m_from.

◆ set_ledger_type()

Acc_Ledger_History::set_ledger_type (   $ledger_type)

Definition at line 76 of file acc_ledger_history.class.php.

77 {
78 if (! in_array($ledger_type,['ACH','ODS','VEN','FIN'])) {
79 record_log('Acc_Ledger_History:set_ledger_type '.var_export($ledger_type,TRUE));
80 throw new Exception (_("Donnée invalide",EXC_PARAM_VALUE));
81 }
82
83 $this->ledger_type=$ledger_type;
84 return $this;
85 }
record_log($p_message)
Record an error message into the log file of the server.
Definition: ac_common.php:1342

References $ledger_type, EXC_PARAM_VALUE, and record_log().

+ Here is the call graph for this function:

◆ set_m_mode()

Acc_Ledger_History::set_m_mode (   $m_mode)

Setter.

Parameters
$m_modeD,A,L,E
Returns
$this
Exceptions
Exception

Definition at line 143 of file acc_ledger_history.class.php.

144 {
145 if ($m_mode!='E'&&$m_mode!='D'&&$m_mode!='L'&&$m_mode!='A')
146 throw new Exception(_("invalid parameter"), EXC_PARAM_VALUE);
147 $this->m_mode=$m_mode;
148 return $this;
149 }

References $m_mode, and EXC_PARAM_VALUE.

◆ set_to()

Acc_Ledger_History::set_to (   $m_to)

setter m_to (periode id)

Definition at line 122 of file acc_ledger_history.class.php.

123 {
124 $this->m_to=$m_to;
125 return $this;
126 }

References $m_to.

Field Documentation

◆ $db

Acc_Ledger_History::$db

database connx

Definition at line 38 of file acc_ledger_history.class.php.

◆ $filter_operation

Acc_Ledger_History::$filter_operation
protected

type of ledger VEN , ACH , ODS, FIN

to filter paid, unpaid or all operation

Definition at line 40 of file acc_ledger_history.class.php.

Referenced by get_filter_operation(), Acc_Ledger_History_Purchase\get_filter_operation(), and set_filter_operation().

◆ $ledger_type

Acc_Ledger_History::$ledger_type
protected

Definition at line 39 of file acc_ledger_history.class.php.

Referenced by get_ledger_type(), and set_ledger_type().

◆ $m_from

Acc_Ledger_History::$m_from
protected

Starting Periode : periode.p_id.

Definition at line 34 of file acc_ledger_history.class.php.

Referenced by get_from(), and set_from().

◆ $m_mode

Acc_Ledger_History::$m_mode
protected

mode of export L : one line, E accounting writing , D : Detail

Definition at line 37 of file acc_ledger_history.class.php.

Referenced by get_mode(), and set_m_mode().

◆ $m_to

Acc_Ledger_History::$m_to
protected

Ending Periode : periode.p_id.

Definition at line 35 of file acc_ledger_history.class.php.

Referenced by get_to(), and set_to().

◆ $ma_ledger

Acc_Ledger_History::$ma_ledger
protected

Array of ledger id : jrn_def.jrn_def_id.

Definition at line 36 of file acc_ledger_history.class.php.

Referenced by get_ledger(), and set_a_ledger().


The documentation for this class was generated from the following file: