noalyss-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Noalyss-commit] [noalyss] 129/173: Merge branch 'dev-7200' into entrepr


From: Dany De Bontridder
Subject: [Noalyss-commit] [noalyss] 129/173: Merge branch 'dev-7200' into entreprise
Date: Mon, 22 Mar 2021 12:59:08 -0400 (EDT)

sparkyx pushed a commit to branch master
in repository noalyss.

commit a24ecf9ebd7419ddf0761cf9e50c9097bfbf7172
Merge: 2a96573 9f54258
Author: Dany De Bontridder <danydb@noalyss.eu>
AuthorDate: Sun Nov 24 23:32:26 2019 +0100

    Merge branch 'dev-7200' into entreprise

 html/index.css                                     |  10 +-
 html/index.php                                     |   7 +-
 html/js/acc_ledger.js                              |  20 +-
 include/ajax/ajax_search_filter.php                |   2 +-
 include/class/acc_account_ledger.class.php         |  10 +-
 include/class/acc_ledger.class.php                 | 105 ++--
 include/class/acc_ledger_fin.class.php             |   2 +-
 include/class/acc_ledger_history.class.php         |  81 ++-
 .../class/acc_ledger_history_financial.class.php   |   6 +-
 include/class/acc_ledger_history_generic.class.php |   1 +
 .../class/acc_ledger_history_purchase.class.php    |  18 +-
 include/class/acc_ledger_history_sale.class.php    |  15 +-
 include/class/acc_ledger_purchase.class.php        |  25 +-
 include/class/acc_ledger_search.class.php          |  40 +-
 include/class/acc_ledger_sold.class.php            |  27 +-
 include/class/document_export.class.php            |   6 +-
 include/class/pdf.class.php                        |  11 +-
 include/class/print_ledger.class.php               | 351 +++++++----
 include/class/print_ledger_detail.class.php        |  15 +-
 include/class/print_ledger_detail_item.class.php   |  30 +-
 include/class/print_ledger_fin.class.php           |  14 +-
 include/class/print_ledger_misc.class.php          |  14 +-
 include/class/print_ledger_simple.class.php        |  85 +--
 .../print_ledger_simple_without_vat.class.php      |  47 +-
 include/class/tax_summary.class.php                | 327 ++++++----
 include/class/tva_rate_mtable.class.php            |  19 +-
 include/constant.php                               |   2 +-
 include/database/tva_rate_sql.class.php            |   5 +
 include/database/user_filter_sql.class.php         |   4 +-
 include/database/v_tva_rate_sql.class.php          |   5 +
 include/export/export_ledger_csv.php               |  21 +-
 include/export/export_ledger_pdf.php               |   9 +-
 include/export/export_printtva_csv.php             |   3 +
 include/export/export_printtva_pdf.php             |  13 +-
 include/impress_jrn.inc.php                        |  18 +-
 include/lib/database_core.class.php                |   2 +-
 include/lib/message_javascript.php                 |   2 +
 include/lib/noalyss_sql.class.php                  |   9 +-
 include/sql/patch/upgrade138.sql                   |  36 ++
 include/sql/patch/upgrade139.sql                   | 119 ++++
 include/tax_summary.inc.php                        |  10 +
 include/template/ledger_search.php                 |   2 +-
 unit-test/create-dossier-test.sh                   |   4 +-
 unit-test/facility.class.php                       |   1 +
 .../include/class/acc_account_ledger.Test.php      | 399 +++++++++++++
 .../include/class/acc_account_ledgerTest.class.php | 280 ---------
 ..._balanceTest.class.php => acc_balance.Test.php} |   8 +-
 ...{acc_bilanTest.class.php => acc_bilan.Test.php} |   2 +-
 ..._computeTest.class.php => acc_compute.Test.php} |   0
 ...cc_ledgerTest.class.php => acc_ledger.Test.php} | 141 +++--
 ...r_finTest.class.php => acc_ledger_fin.Test.php} |   5 +-
 unit-test/include/class/acc_ledger_historyTest.php | 136 +++++
 ...s.php => acc_ledger_history_financial.Test.php} |  11 +-
 ...ass.php => acc_ledger_history_generic.Test.php} |   9 +-
 ...ss.php => acc_ledger_history_purchase.Test.php} |   9 +-
 ....class.php => acc_ledger_history_sale.Test.php} |  10 +-
 ...infoTest.class.php => acc_ledger_info.Test.php} |   0
 ...Test.class.php => acc_ledger_purchase.Test.php} | 105 +++-
 ...soldTest.class.php => acc_ledger_sold.Test.php} |  90 ++-
 ...rationTest.class.php => acc_operation.Test.php} |  12 -
 ...m_codeTest.class.php => acc_parm_code.Test.php} |   0
 ...y_sqlTest.class.php => anc_grandlivre.Test.php} |  19 +-
 .../include/class/anc_grandlivreTest.class.php     | 114 ----
 ...{anc_key_sqlTest.class.php => anc_key.Test.php} |  16 +-
 unit-test/include/class/anc_keyTest.class.php      | 141 -----
 ..._key_sqlTest.class.php => anc_key_sql.Test.php} |   0
 ...ey_sqlTest.class.php => anc_operation.Test.php} |  16 +-
 .../include/class/anc_operationTest.class.php      | 225 -------
 .../class/data/tax_summary_getrow_purchase_o.php   | 199 +++++++
 .../class/data/tax_summary_getrow_purchase_p.php   |  48 ++
 .../class/data/tax_summary_getrow_purchase_t.php   | 198 +++++++
 .../class/data/tax_summary_getrow_sale_o.php       |  63 ++
 .../class/data/tax_summary_getrow_sale_p.php       |  28 +
 .../class/data/tax_summary_getrow_sale_t.php       |  64 ++
 .../data/tax_summary_getsummary_purchase_o.php     | 130 ++++
 .../data/tax_summary_getsummary_purchase_p.php     |  31 +
 .../data/tax_summary_getsummary_purchase_t.php     | 129 ++++
 .../class/data/tax_summary_getsummary_sale_o.php   |  48 ++
 .../class/data/tax_summary_getsummary_sale_p.php   |  26 +
 .../class/data/tax_summary_getsummary_sale_t.php   |  48 ++
 ...{anc_key_sqlTest.class.php => dossier.Test.php} |  18 +-
 unit-test/include/class/dossierTest.class.php      | 233 --------
 unit-test/include/class/fiche.Test.php             |  67 +++
 unit-test/include/class/ficheTest.class.php        | 547 -----------------
 ...class.php => noalyss_parameter_folder.Test.php} |   0
 unit-test/include/class/print_LedgerTest.php       | 147 +++++
 .../class/print_ledger_detail.classTest.php        |  81 +++
 .../class/print_ledger_detail_item.classTest.php   | 162 +++++
 .../include/class/print_ledger_fin.classTest.php   | 111 ++++
 .../include/class/print_ledger_misc.classTest.php  |  89 +++
 .../class/print_ledger_simple.classTest.php        | 166 ++++++
 .../print_ledger_simple_without_vat.classTest.php  | 161 +++++
 unit-test/include/class/tax_summary.Test.php       | 267 +++++++++
 unit-test/include/class/tax_summaryTest.class.php  | 655 ---------------------
 unit-test/include/class/user.Test.php              | 116 ++++
 unit-test/include/class/userTest.class.php         | 645 --------------------
 unit-test/test-file.sh                             |  12 +-
 97 files changed, 4326 insertions(+), 3464 deletions(-)

diff --cc include/class/acc_ledger.class.php
index 3e6f48d,2221c1e..8bf4f50
--- a/include/class/acc_ledger.class.php
+++ b/include/class/acc_ledger.class.php
@@@ -46,10 -46,7 +46,9 @@@ require_once NOALYSS_INCLUDE.'/lib/sort
  require_once NOALYSS_INCLUDE.'/database/jrn_def_sql.class.php';
  require_once NOALYSS_INCLUDE.'/class/acc_payment.class.php';
  require_once NOALYSS_INCLUDE.'/class/acc_ledger_history.class.php';
- //require_once NOALYSS_INCLUDE.'/class/print_ledger.class.php';
  require_once NOALYSS_INCLUDE.'/lib/http_input.class.php';
 +require_once NOALYSS_INCLUDE.'/class/acc_currency.class.php';
 +require_once NOALYSS_INCLUDE.'/database/operation_currency_sql.class.php';
  require_once NOALYSS_INCLUDE.'/class/pre_op_ods.class.php';
  
  /** \file
@@@ -59,15 -56,16 +58,15 @@@
  /** @brief Class for jrn,  class acc_ledger for manipulating the ledger
   *
   */
 -class Acc_Ledger extends jrn_def_sql
 +class Acc_Ledger  extends jrn_def_sql
  {
  
 -    var $id;   /**< jrn_def.jrn_def_id */
 -    var $db;   /**< database connextion */
 -    var $row;   /**< row of the ledger */
 +    var $id;     /**< jrn_def.jrn_def_id */
 +    var $db;     /**< database connextion */
 +    var $row;    /**< row of the ledger */
-     var $type;   /**< type of the ledger ACH ODS FIN   VEN or GL */
+     var $ledger_type;   /**< type of the ledger ACH ODS FIN VEN or GL */
 -    var $nb;   /**< default number of rows by
 -      default 10 */
 -
 +    var $nb;     /**< default number of rows by  default 10 */
 +    var $currency_id;
      /**
       * @param $p_cn database connexion
       * @param $p_id jrn.jrn_def_id
@@@ -80,19 -78,9 +79,19 @@@
          $this->db=$p_cn;
          $this->row=null;
          $this->nb=MAX_ARTICLE;
-          parent::__construct($p_cn, $p_id);
+         if ($p_id <> 0 ) parent::__construct($p_cn, $p_id);
      }
 -
 +    /**
 +     * retrieve currency_id from database
 +     */
 +    function set_currency_id()
 +    {
 +       $this->db->get_value("select currency_id from jrn_def where 
jrn_def_id=$1",
 +            [$this->id]);
 +        if ( $this->currency_id == "") {
 +            $this->currency_id=0;
 +        }
 +    }
      function get_last_pj()
      {
          if (isNumber($this->id)==0)
@@@ -585,10 -568,9 +585,10 @@@
      function confirm($p_array, $p_readonly=false)
      {
          global $g_parameter;
 +        $http=new HttpInput();
          $msg=array();
          if (!$p_readonly)
-             $msg=$this->verify($p_array);
+             $msg=$this->verify_operation($p_array);
          $this->id=$p_array['p_jrn'];
          if (empty($p_array))
              return _("Aucun résultat");
diff --cc include/class/acc_ledger_fin.class.php
index 819e5c4,6392d86..65a5766
--- a/include/class/acc_ledger_fin.class.php
+++ b/include/class/acc_ledger_fin.class.php
@@@ -42,8 -42,8 +42,8 @@@ class Acc_Ledger_Fin extends Acc_Ledge
        function __construct($p_cn, $p_init)
        {
                parent::__construct($p_cn, $p_init);
-               $this->type = 'FIN';
+               $this->ledger_type = 'FIN';
 -      }
 +      }
  
        /**
           * Verify that the data are correct before inserting or confirming
diff --cc include/class/acc_ledger_history_purchase.class.php
index c9b5d25,b53f17b..3629c9f
--- a/include/class/acc_ledger_history_purchase.class.php
+++ b/include/class/acc_ledger_history_purchase.class.php
@@@ -162,21 -163,15 +170,23 @@@ class Acc_Ledger_History_Purchase exten
                      private_amount,
                      novat+vat-tva_sided as tvac,
                      n_text,
 -                    jr_grpt_id
++                    jr_grpt_id,
 +                    jrn.currency_id,
 +                    jrn.currency_rate,
 +                    jrn.currency_rate_ref,
 +                    sum_oc_amount,
 +                    sum_oc_vat_amount,
 +                    cr_code_iso
              from
                  jrn
                  join row_purchase on (qp_internal=jr_internal)
                  join supplier_detail on (qp_supplier=f_id)
                  left join jrn_note using (jr_id)
 +                left join row_currency as rc on (rc.j_grpt = jrn.jr_grpt_id)
 +                left join currency as c on (c.id=jrn.currency_id)
              where
                  jr_def_id in ({$ledger_list})
+                 {$sql_filter}
                  and {$periode}
                  {$cond_limite}
                      order by jrn.jr_date, 
substring(jr_pj_number,'[0-9]+$')::numeric  ";
diff --cc include/class/acc_ledger_history_sale.class.php
index 721e9a0,5d55b1f..d4669a9
--- a/include/class/acc_ledger_history_sale.class.php
+++ b/include/class/acc_ledger_history_sale.class.php
@@@ -154,20 -150,15 +160,23 @@@ class Acc_Ledger_History_Sale extends A
                      tva_sided,
                      novat,
                      novat+vat-tva_sided as tvac,
 -                    to_char(jr_date,'DDMMYY') as str_date_short,
 -                    jr_grpt_id
++                      to_char(jr_date,'DDMMYY') as str_date_short,
++                    jr_grpt_id,
 +                    jrn.currency_id,
 +                    jrn.currency_rate,
 +                    jrn.currency_rate_ref,
 +                    sum_oc_amount,
 +                    sum_oc_vat_amount,
 +                    cr_code_iso
              from
                  jrn
                  join row_sale on (qs_internal=jr_internal)
                  join client_detail on (qs_client=f_id)
 +                left join row_currency as rc on (rc.j_grpt = jrn.jr_grpt_id)
 +                left join currency as c on (c.id=jrn.currency_id)
              where
                  jr_def_id in ({$ledger_list})
+                 {$sql_filter}
                  and {$periode}
                  {$cond_limite}
                       order by jr_date, 
substring(jr_pj_number,'[0-9]+$')::numeric ";
diff --cc include/class/print_ledger_fin.class.php
index f7562c9,da9eadf..316e02e
--- a/include/class/print_ledger_fin.class.php
+++ b/include/class/print_ledger_fin.class.php
@@@ -116,23 -104,14 +116,23 @@@ class Print_Ledger_Financial extends Pr
              $row=$a_jrn[$i];
              $this->write_cell(15,5,$row['pj']); 
              $this->write_cell(10,5,$row['date_fmt']);
 -            $this->write_cell(15,5,$row['internal']);
 +            $this->write_cell(10,5,$row['internal']);
  
-             $name=$this->ledger->get_tiers($this->jrn_type,$row['id']);
+             $name=$ledger->get_tiers($this->jrn_type,$row['id']);
 -            $this->write_cell(40,5,$name,0,'L');
 -
 +            $this->write_cell(40,5,$name,0,0,'L');
  
 -            $this->LongLine(80,5,$row['comment'],0,'L');
 +            $this->LongLine(60,5,$row['comment'],0,'L');
              $amount=$this->cn->get_value('select qf_amount from quant_fin 
where jr_id=$1',array( $row['id']));
 +            
$ret_amount_cur=$this->cn->execute("amount_cur",array($row['id']));
 +
 +            if ( $this->cn->count($ret_amount_cur) == 1) {
 +                
 +                $amount_cur=Database::fetch_result($ret_amount_cur, 0,1);
 +                $this->write_cell(20,5,sprintf('%s 
%s',nbm($amount_cur),$row['cr_code_iso']),0,0,'R');
 +            } else {
 +
 +                $this->write_cell(20,5,"",0,0,'R');
 +            }
              $this->write_cell(20,5,sprintf('%s',nbm($amount)),0,0,'R');
              $this->line_new(5);
              $this->tp_amount=bcadd($this->tp_amount,$amount);
diff --cc include/class/print_ledger_misc.class.php
index c5f38ee,726e375..6040405
--- a/include/class/print_ledger_misc.class.php
+++ b/include/class/print_ledger_misc.class.php
@@@ -71,12 -69,10 +70,13 @@@ class Print_Ledger_Misc extends Print_L
       */
      function export()
      {
 -        
$a_jrn=$this->get_ledger()->get_rowSimple($this->get_from(),$this->get_to());
 +        $http=new HttpInput();
 +        
 +        
$a_jrn=$this->ledger->get_rowSimple($http->get('from_periode','number'),
 +                                            
$http->get('to_periode','number'));
          $this->SetFont('DejaVu', '', 6);
          if ( $a_jrn == null ) return;
+         $ledger=$this->get_ledger();
          for ( $i=0;$i<count($a_jrn);$i++)
          {
              $row=$a_jrn[$i];
@@@ -85,10 -81,10 +85,10 @@@
              $this->LongLine(30,5,$row['jr_pj_number']);
              $this->write_cell(20,5,$row['jr_internal']);
            $type=$this->cn->get_value("select jrn_def_type from jrn_def where 
jrn_def_id=$1",array($a_jrn[$i]['jr_def_id']));
-           
$other=mb_substr($this->ledger->get_tiers($type,$a_jrn[$i]['jr_id']),0,25);
+           
$other=mb_substr($ledger->get_tiers($type,$a_jrn[$i]['jr_id']),0,25);
            $this->LongLine(25,5,$other,0,'L');
              $positive=$row['montant'];
 -            $this->LongLine(80,5,$row['comment'],0,'L');
 +            $this->LongLine(60,5,$row['comment'],0,'L');
               if ( $type == 'FIN' ) {
               $positive = $this->cn->get_value("select qf_amount from 
quant_fin  ".
                                          " where jr_id=".$row['jr_id']);
diff --cc include/class/tax_summary.class.php
index 7de4c8d,afc9f33..e8ed882
--- a/include/class/tax_summary.class.php
+++ b/include/class/tax_summary.class.php
@@@ -113,11 -131,12 +131,12 @@@ class Tax_Summar
                            and j_date <= to_date($2,'DD.MM.YYYY') 
                        )
                    ";
-         $cnt=$this->db->get_value($sql,[$this->date_start,$this->date_end]);
-         if ($cnt == 0) {
+         $cnt=$this->db->get_value($sql, [$this->date_start, $this->date_end]);
+         if ($cnt==0)
+         {
 -            throw new Exception(_("Données manquantes"), 100);
 +            throw new Exception(_("Données manquantes"),100);
          }
-         /*-------------Purchase ---------------------------------*/
+         /* -------------Purchase --------------------------------- */
          $sql="select count(*) 
               from 
                  quant_purchase
@@@ -129,21 -148,109 +148,109 @@@
                            and j_date <= to_date($2,'DD.MM.YYYY') 
                        )
                               ";
-         $cnt=$this->db->get_value($sql,[$this->date_start,$this->date_end]);
-         if ($cnt > 0) {
+         $cnt=$this->db->get_value($sql, [$this->date_start, $this->date_end]);
+         if ($cnt>0)
+         {
 -            throw new Exception(_("Données manquantes"), 100);
 +            throw new Exception(_("Données manquantes"),100);
          }
      }
- 
+     private function build_exigibility()
+     {
+         global $g_user;
+         $sql_ledger=$g_user->get_ledger_sql('ALL', 3);
+         
+     }
      /**
-      *  Total for each sales ledger
-      * @return array
+      * Build the SQL for sale vat
+      * @return string
+      * 
       */
-     function get_row_sale()
+     private function build_sql_purchase($p_group_ledger)
      {
          global $g_user;
-         $sql_ledger=$g_user->get_ledger_sql('ALL',3);
+         $sql_ledger=$g_user->get_ledger_sql('ACH', 3);
+         $group_ledger="";
+         if ( $p_group_ledger )
+         {
+             $group_ledger='j_jrn_def,';
+         }
+         
          $sql="with detail_tva as (
+                 select 
+                     sum(qp_vat) as amount_vat,
+                     sum(qp_vat_sided) as amount_sided,
+                     sum(qp_price) as amount_wovat,
+                     sum(qp_nd_amount) as amount_noded_amount,
+                     sum(qp_nd_tva) as amount_noded_tax,
+                     sum(qp_nd_tva_recup) as amount_noded_return,
+                     sum(qp_dep_priv) as amount_private,
+                     {$group_ledger}
+                     qp_vat_code
+                 from 
+                     quant_purchase 
+                     join tva_rate on (qp_vat_code=tva_rate.tva_id) 
+                     join jrnx on (quant_purchase.j_id=jrnx.j_id)
+                     join jrn_def on (jrn_def.jrn_def_id=jrnx.j_jrn_def)
+                     join jrn on (jrn.jr_grpt_id=jrnx.j_grpt)
+                 ";
+         if ( $this->tva_type=="O")
+         {
+             $sql=$sql."
+                 where 
+                     j_date >= to_date($1,'DD.MM.YYYY') 
+                     and j_date <= to_date($2,'DD.MM.YYYY') 
+                     and {$sql_ledger}
+                 group by {$group_ledger} qp_vat_code)  ";
+         } elseif ($this->tva_type=="P") {
+             $sql=$sql." 
+                 where
+                     coalesce(to_char(jr_date_paid,'YYYYMMDD'),'00000000') >= 
+                                     
to_char(to_date($1,'DD.MM.YYYY'),'YYYYMMDD') 
+                     and coalesce(to_char(jr_date_paid,'YYYYMMDD'),'99999999') 
<= 
+                                     
to_char(to_date($2,'DD.MM.YYYY'),'YYYYMMDD') 
+                     and {$sql_ledger}
+                 group by {$group_ledger} qp_vat_code)  ";
+         }elseif ($this->tva_type=="T") {
+             $sql=$sql."  where
+                         (   tva_rate.tva_payment_purchase='P'
+                             and 
coalesce(to_char(jr_date_paid,'YYYYMMDD'),'00000000') >= 
+                                         
to_char(to_date($1,'DD.MM.YYYY'),'YYYYMMDD') 
+                             and 
coalesce(to_char(jr_date_paid,'YYYYMMDD'),'99999999') <= 
+                                          
to_char(to_date($2,'DD.MM.YYYY'),'YYYYMMDD') 
+                             )
+                          or
+                         (   tva_rate.tva_payment_purchase='O'
+                             and 
coalesce(to_char(jr_date,'YYYYMMDD'),'00000000') >= 
+                                          
to_char(to_date($1,'DD.MM.YYYY'),'YYYYMMDD') 
+                             and 
coalesce(to_char(jr_date,'YYYYMMDD'),'99999999') <= 
+                                          
to_char(to_date($2,'DD.MM.YYYY'),'YYYYMMDD') 
+                             )
+                         and {$sql_ledger}
+                     group by {$group_ledger} qp_vat_code) ";
+                     
+         } else {
+             throw new Exception(_("Exig TVA invalide"),1001);
+         }
+         return $sql;
+     }
+     /**
+      * Build the SQL for sale vat
+      * 
+      * @param group by ledger
+      * 
+      * @return string
+      * 
+      */
+     private function build_sql_sale($p_group_ledger=TRUE)
+     {
+         global $g_user;
+         $sql_ledger=$g_user->get_ledger_sql('VEN', 3);
+         $group_ledger="";
+         if ( $p_group_ledger )
+         {
+             $group_ledger='j_jrn_def,';
+         }
+          $sql="with detail_tva as (
                      select 
                          sum(qs_vat) as amount_vat,
                          sum(qs_vat_sided) as amount_sided,
diff --cc include/tax_summary.inc.php
index 0623edd,c60e8b5..42fd3a2
--- a/include/tax_summary.inc.php
+++ b/include/tax_summary.inc.php
@@@ -46,8 -55,9 +55,9 @@@ echo '<hr>'
  if ( $http->get("do","string","no") == "display")
  {
      $tax_summary=new 
Tax_Summary($cn,$start_periode->value,$end_periode->value);
+     $tax_summary->set_tva_type($select_tva->selected);
      try {
 -      try {
 +        try {
              $tax_summary->check();
          }catch (Exception $e)
          {



reply via email to

[Prev in Thread] Current Thread [Next in Thread]