FIX : PRINTJRN, ledger PDF and CSV
This commit is contained in:
parent
a1e0c9fcb2
commit
e782275c89
3 changed files with 117 additions and 77 deletions
|
|
@ -24,6 +24,7 @@
|
|||
* \brief the class Acc_Ledger_Fin inherits from Acc_Ledger, this
|
||||
* object permit to manage the financial ledger
|
||||
*/
|
||||
require_once NOALYSS_INCLUDE.'/class/acc_ledger.class.php';
|
||||
require_once NOALYSS_INCLUDE.'/lib/idate.class.php';
|
||||
require_once NOALYSS_INCLUDE.'/lib/icard.class.php';
|
||||
require_once NOALYSS_INCLUDE.'/lib/ispan.class.php';
|
||||
|
|
@ -32,7 +33,6 @@ require_once NOALYSS_INCLUDE.'/lib/iconcerned.class.php';
|
|||
require_once NOALYSS_INCLUDE.'/lib/ifile.class.php';
|
||||
require_once NOALYSS_INCLUDE.'/lib/ihidden.class.php';
|
||||
require_once NOALYSS_INCLUDE.'/lib/iselect.class.php';
|
||||
require_once NOALYSS_INCLUDE.'/class/acc_ledger.class.php';
|
||||
require_once NOALYSS_INCLUDE.'/lib/ac_common.php';
|
||||
require_once NOALYSS_INCLUDE.'/class/acc_reconciliation.class.php';
|
||||
|
||||
|
|
|
|||
|
|
@ -52,29 +52,38 @@ class Print_Ledger {
|
|||
if ($p_format_output == 'PDF') {
|
||||
switch ($p_type_export) {
|
||||
case 'D':
|
||||
$own = new Noalyss_Parameter_Folder($cn);
|
||||
$jrn_type = $p_ledger->get_type();
|
||||
$own=new Noalyss_Parameter_Folder($cn);
|
||||
$jrn_type=$p_ledger->get_type();
|
||||
//---------------------------------------------
|
||||
// Detailled Printing (accounting )
|
||||
//---------------------------------------------
|
||||
if ($jrn_type == 'ACH' || $jrn_type == 'VEN') {
|
||||
if ($jrn_type=='ACH'||$jrn_type=='VEN')
|
||||
{
|
||||
if (
|
||||
($jrn_type == 'ACH' && $cn->get_value('select count(qp_id) from quant_purchase') == 0) ||
|
||||
($jrn_type == 'VEN' && $cn->get_value('select count(qs_id) from quant_sold') == 0)
|
||||
) {
|
||||
$pdf = new Print_Ledger_Simple_without_vat($cn, $p_ledger);
|
||||
($jrn_type=='ACH'&&$cn->get_value('select count(qp_id) from quant_purchase')
|
||||
==0)||
|
||||
($jrn_type=='VEN'&&$cn->get_value('select count(qs_id) from quant_sold')
|
||||
==0)
|
||||
)
|
||||
{
|
||||
$pdf=new Print_Ledger_Simple_without_vat($cn,
|
||||
$p_ledger);
|
||||
$pdf->set_error(_('Ce journal ne peut être imprimé en mode simple'));
|
||||
return $pdf;
|
||||
}
|
||||
if ($own->MY_TVA_USE == 'Y') {
|
||||
$pdf = new Print_Ledger_Simple($cn, $p_ledger);
|
||||
if ($own->MY_TVA_USE=='Y')
|
||||
{
|
||||
$pdf=new Print_Ledger_Simple($cn, $p_ledger);
|
||||
return $pdf;
|
||||
}
|
||||
if ($own->MY_TVA_USE == 'N') {
|
||||
$pdf = new Print_Ledger_Simple_without_vat($cn, $p_ledger);
|
||||
if ($own->MY_TVA_USE=='N')
|
||||
{
|
||||
$pdf=new Print_Ledger_Simple_without_vat($cn,
|
||||
$p_ledger);
|
||||
return $pdf;
|
||||
}
|
||||
}else
|
||||
}
|
||||
else
|
||||
return new Print_Ledger_Detail($cn, $p_ledger);
|
||||
break;
|
||||
|
||||
|
|
@ -82,76 +91,139 @@ class Print_Ledger {
|
|||
//----------------------------------------------------------------------
|
||||
// Simple Printing Purchase Ledger
|
||||
//---------------------------------------------------------------------
|
||||
$own = new Noalyss_Parameter_Folder($cn);
|
||||
$jrn_type = $p_ledger->get_type();
|
||||
$own=new Noalyss_Parameter_Folder($cn);
|
||||
$jrn_type=$p_ledger->get_type();
|
||||
|
||||
|
||||
if ($jrn_type == 'ACH' || $jrn_type == 'VEN') {
|
||||
if ($jrn_type=='ACH'||$jrn_type=='VEN')
|
||||
{
|
||||
if (
|
||||
($jrn_type == 'ACH' && $cn->get_value('select count(qp_id) from quant_purchase') == 0) ||
|
||||
($jrn_type == 'VEN' && $cn->get_value('select count(qs_id) from quant_sold') == 0)
|
||||
) {
|
||||
$pdf = new Print_Ledger_Simple_without_vat($cn, $p_ledger);
|
||||
($jrn_type=='ACH'&&$cn->get_value('select count(qp_id) from quant_purchase')
|
||||
==0)||
|
||||
($jrn_type=='VEN'&&$cn->get_value('select count(qs_id) from quant_sold')
|
||||
==0)
|
||||
)
|
||||
{
|
||||
$pdf=new Print_Ledger_Simple_without_vat($cn,
|
||||
$p_ledger);
|
||||
$pdf->set_error(_('Ce journal ne peut être imprimé en mode simple'));
|
||||
return $pdf;
|
||||
}
|
||||
if ($own->MY_TVA_USE == 'Y') {
|
||||
$pdf = new Print_Ledger_Simple($cn, $p_ledger);
|
||||
if ($own->MY_TVA_USE=='Y')
|
||||
{
|
||||
$pdf=new Print_Ledger_Simple($cn, $p_ledger);
|
||||
return $pdf;
|
||||
}
|
||||
if ($own->MY_TVA_USE == 'N') {
|
||||
$pdf = new Print_Ledger_Simple_without_vat($cn, $p_ledger);
|
||||
if ($own->MY_TVA_USE=='N')
|
||||
{
|
||||
$pdf=new Print_Ledger_Simple_without_vat($cn,
|
||||
$p_ledger);
|
||||
return $pdf;
|
||||
}
|
||||
}
|
||||
|
||||
if ($jrn_type == 'FIN') {
|
||||
$pdf = new Print_Ledger_Financial($cn, $p_ledger);
|
||||
if ($jrn_type=='FIN')
|
||||
{
|
||||
$pdf=new Print_Ledger_Financial($cn, $p_ledger);
|
||||
return $pdf;
|
||||
}
|
||||
if ($jrn_type == 'ODS' || $p_ledger->id == 0) {
|
||||
$pdf = new Print_Ledger_Misc($cn, $p_ledger);
|
||||
if ($jrn_type=='ODS'||$p_ledger->id==0)
|
||||
{
|
||||
$pdf=new Print_Ledger_Misc($cn, $p_ledger);
|
||||
return $pdf;
|
||||
}
|
||||
break;
|
||||
case 'E':
|
||||
/**********************************************************
|
||||
* Print Detail Operation + Item
|
||||
********************************************************** */
|
||||
$own = new Noalyss_Parameter_Folder($cn);
|
||||
$jrn_type = $p_ledger->get_type();
|
||||
if ($jrn_type == 'FIN') {
|
||||
$pdf = new Print_Ledger_Financial($cn, $p_ledger);
|
||||
* ********************************************************* */
|
||||
$own=new Noalyss_Parameter_Folder($cn);
|
||||
$jrn_type=$p_ledger->get_type();
|
||||
if ($jrn_type=='FIN')
|
||||
{
|
||||
$pdf=new Print_Ledger_Financial($cn, $p_ledger);
|
||||
return $pdf;
|
||||
;
|
||||
}
|
||||
if ($jrn_type == 'ODS' || $p_ledger->id == 0) {
|
||||
$pdf = new Print_Ledger_Detail($cn, $p_ledger);
|
||||
if ($jrn_type=='ODS'||$p_ledger->id==0)
|
||||
{
|
||||
$pdf=new Print_Ledger_Detail($cn, $p_ledger);
|
||||
return $pdf;
|
||||
}
|
||||
if (
|
||||
($jrn_type == 'ACH' && $cn->get_value('select count(qp_id) from quant_purchase') == 0) ||
|
||||
($jrn_type == 'VEN' && $cn->get_value('select count(qs_id) from quant_sold') == 0)
|
||||
) {
|
||||
$pdf = new Print_Ledger_Simple_without_vat($cn, $p_ledger);
|
||||
($jrn_type=='ACH'&&$cn->get_value('select count(qp_id) from quant_purchase')
|
||||
==0)||
|
||||
($jrn_type=='VEN'&&$cn->get_value('select count(qs_id) from quant_sold')
|
||||
==0)
|
||||
)
|
||||
{
|
||||
$pdf=new Print_Ledger_Simple_without_vat($cn, $p_ledger);
|
||||
$pdf->set_error('Ce journal ne peut être imprimé en mode simple');
|
||||
return $pdf;
|
||||
}
|
||||
$pdf = new Print_Ledger_Detail_Item($cn,$p_ledger);
|
||||
$pdf=new Print_Ledger_Detail_Item($cn, $p_ledger);
|
||||
return $pdf;
|
||||
case 'A':
|
||||
/***********************************************************
|
||||
* Accounting
|
||||
*/
|
||||
$pdf = new Print_Ledger_Detail($cn, $p_ledger);
|
||||
$pdf=new Print_Ledger_Detail($cn, $p_ledger);
|
||||
return $pdf;
|
||||
break;
|
||||
|
||||
} // end switch
|
||||
} // end $p_format == PDF
|
||||
}
|
||||
|
||||
// end function
|
||||
/**
|
||||
* @brief find all the active ledger for the exerice of the periode
|
||||
* and readable by the current user
|
||||
* @global type $g_user
|
||||
* @param int $get_from_periode
|
||||
* @return array of ledger id
|
||||
*/
|
||||
static function available_ledger($get_from_periode)
|
||||
{
|
||||
global $g_user;
|
||||
$cn=Dossier::connect();
|
||||
// Find periode
|
||||
$periode=new Periode($cn, $get_from_periode);
|
||||
$exercice=$periode->get_exercice($get_from_periode);
|
||||
|
||||
if ($g_user->Admin()==0&&$g_user->is_local_admin()==0&&$g_user->get_status_security_ledger()
|
||||
==1)
|
||||
{
|
||||
$sql="select jrn_def_id
|
||||
from jrn_def join jrn_type on jrn_def_type=jrn_type_id
|
||||
join user_sec_jrn on uj_jrn_id=jrn_def_id
|
||||
where
|
||||
uj_login=$1
|
||||
and uj_priv in ('R','W')
|
||||
order by jrn_def_name
|
||||
and ( jrn_enable=1
|
||||
or
|
||||
exists (select 1 from jrn where jr_tech_per in (select p_id from parm_periode where p_exercice=$2))
|
||||
";
|
||||
$a_jrn=$cn->get_array($sql, array($g_user->login, $exercice));
|
||||
}
|
||||
else
|
||||
{
|
||||
$a_jrn=$cn->get_array("select jrn_def_id
|
||||
from jrn_def join jrn_type on jrn_def_type=jrn_type_id
|
||||
where
|
||||
jrn_enable=1 or exists(select 1 from jrn where jr_tech_per in (select p_id from parm_periode where p_exercice=$1))
|
||||
order by jrn_def_name
|
||||
", [$exercice]);
|
||||
}
|
||||
$a=[];
|
||||
$nb_jrn=count($a_jrn);
|
||||
for ($i=0; $i<$nb_jrn; $i++)
|
||||
{
|
||||
$a[]=$a_jrn[$i]['jrn_def_id'];
|
||||
}
|
||||
return $a;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ include_once NOALYSS_INCLUDE."/lib/ac_common.php";
|
|||
require_once NOALYSS_INCLUDE.'/class/noalyss_parameter_folder.class.php';
|
||||
require_once NOALYSS_INCLUDE.'/class/acc_ledger_sold.class.php';
|
||||
require_once NOALYSS_INCLUDE.'/class/acc_ledger_purchase.class.php';
|
||||
require_once NOALYSS_INCLUDE.'/class/print_ledger.class.php';
|
||||
require_once NOALYSS_INCLUDE.'/class/dossier.class.php';
|
||||
$gDossier=dossier::id();
|
||||
|
||||
|
|
@ -83,41 +84,8 @@ global $g_user;
|
|||
*/
|
||||
if ($get_jrn==0)
|
||||
{
|
||||
// Find periode
|
||||
$periode=new Periode($cn, $get_from_periode);
|
||||
$exercice=$periode->get_exercice($get_from_periode);
|
||||
|
||||
if ($g_user->Admin()==0&&$g_user->is_local_admin()==0&&$g_user->get_status_security_ledger()
|
||||
==1)
|
||||
{
|
||||
$sql="select jrn_def_id
|
||||
from jrn_def join jrn_type on jrn_def_type=jrn_type_id
|
||||
join user_sec_jrn on uj_jrn_id=jrn_def_id
|
||||
where
|
||||
uj_login=$1
|
||||
and uj_priv in ('R','W')
|
||||
order by jrn_def_name
|
||||
and ( jrn_enable=1
|
||||
or
|
||||
exists (select 1 from jrn where jr_tech_per in (select p_id from parm_periode where p_exercice=$2))
|
||||
";
|
||||
$a_jrn=$cn->get_array($sql, array($g_user->login, $exercice));
|
||||
}
|
||||
else
|
||||
{
|
||||
$a_jrn=$cn->get_array("select jrn_def_id
|
||||
from jrn_def join jrn_type on jrn_def_type=jrn_type_id
|
||||
where
|
||||
jrn_enable=1 or exists(select 1 from jrn where jr_tech_per in (select p_id from parm_periode where p_exercice=$1))
|
||||
order by jrn_def_name
|
||||
", [$exercice]);
|
||||
}
|
||||
$a=[];
|
||||
$nb_jrn=count($a_jrn);
|
||||
for ($i=0;$i< $nb_jrn;$i++){
|
||||
$a[]=$a_jrn[$i]['jrn_def_id'];
|
||||
}
|
||||
$a_jrn=$a;
|
||||
// find out all the available ledgers for the current user
|
||||
$a_jrn=Print_Ledger::available_ledger($get_from_periode);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue