[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Noalyss-commit] [noalyss] 154/219: Task #1440 CA - opération diverses
From: |
Dany De Bontridder |
Subject: |
[Noalyss-commit] [noalyss] 154/219: Task #1440 CA - opération diverses inaccessibles Task #1370 les OD en comptabilité analytique - problème. |
Date: |
Mon, 18 Dec 2017 13:22:55 -0500 (EST) |
sparkyx pushed a commit to branch master
in repository noalyss.
commit 12ef6637157fa9c90ac0b9d2bdc6c92e79b3f343
Author: Dany De Bontridder <address@hidden>
Date: Thu Nov 16 21:06:25 2017 +0100
Task #1440 CA - opération diverses inaccessibles
Task #1370 les OD en comptabilité analytique - problème.
Rewrite the OD history + ajax for the detail of ANC misc. operations
---
html/ajax_misc.php | 4 +-
html/js/anc_script.js | 14 +++
include/ajax/ajax_anc_detail_operation.php | 92 +++++++++++++++++++
include/class/anc_operation.class.php | 138 ++++++++++++-----------------
4 files changed, 165 insertions(+), 83 deletions(-)
diff --git a/html/ajax_misc.php b/html/ajax_misc.php
index 7086ea5..17dcf6b 100644
--- a/html/ajax_misc.php
+++ b/html/ajax_misc.php
@@ -197,7 +197,9 @@ $path = array(
// Update name and description
"anc_updatedescription"=>"ajax_anc_plan",
// Update, insert or delete accounting frmo CFGPCMN
- "accounting"=>"ajax_accounting"
+ "accounting"=>"ajax_accounting",
+ // Show detail of an ANC operation
+ "anc_detail_op"=>"ajax_anc_detail_operation"
) ;
if (array_key_exists($op, $path)) {
diff --git a/html/js/anc_script.js b/html/js/anc_script.js
index 20a6b69..397b91d 100644
--- a/html/js/anc_script.js
+++ b/html/js/anc_script.js
@@ -553,4 +553,18 @@ function anc_key_compute_table()
}
$('total_key').innerHTML=Math.round(tot*100)/100;
+}
+
+function anc_detail_op(p_oa_group,gDossier) {
+ waiting_box();
+ // create div
+ new Ajax.Request ("ajax_misc.php",{
+ method:"get",
+
parameters:{"gDossier":gDossier,"op":"anc_detail_op","oa_group":p_oa_group},
+ onSuccess:function (req) {
+
add_div({"id":"anc_detail_op_div","cssclass":"inner_box","style":"position:fixed;top:5%"});
+ $('anc_detail_op_div').update(req.responseText);
+ remove_waiting_box();
+ }
+ });
}
\ No newline at end of file
diff --git a/include/ajax/ajax_anc_detail_operation.php
b/include/ajax/ajax_anc_detail_operation.php
new file mode 100644
index 0000000..7338598
--- /dev/null
+++ b/include/ajax/ajax_anc_detail_operation.php
@@ -0,0 +1,92 @@
+<?php
+
+/*
+ * This file is part of NOALYSS.
+ *
+ * PhpCompta is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * PhpCompta is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with PhpCompta; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+// Copyright (2016) Author Dany De Bontridder <address@hidden>
+
+if (!defined('ALLOWED'))
+ die('Appel direct ne sont pas permis');
+
+/**
+ * @file
+ * @brief display the detail of an anc operation
+ * parameters : oa_group
+ */
+$http=new HttpInput();
+$oa_group=$http->request("oa_group","number");
+bcscale(4);
+$row=$cn->get_row("select distinct oa_group,
+ to_char(oa_date,'DD.MM.YYYY') as str_date ,
+ oa_date,
+ oa_description,
+ jr_pj_number,
+ jr_id
+ from
+ operation_analytique as oa
+ join poste_analytique using (po_id)
+ left join (select jr_id,jr_pj_number,j_id from jrn join jrnx
on (jr_grpt_id=j_grpt) ) as m on (m.j_id=oa.j_id)
+ where oa_group=$1",array($oa_group));
+echo HtmlInput::title_box(_('Détail'), "anc_detail_op_div");
+echo $row['str_date'],' ',
+ h($row['oa_description']),' ',
+ h($row['jr_pj_number']);
+$a_row=$cn->get_array("select distinct oa_row from operation_analytique where
oa_group=$1",array($oa_group));
+$a_plan=$cn->get_array("select distinct pa_id,pa_name from
operation_analytique join poste_analytique using (po_id) join plan_analytique
using (pa_id) where oa_group=$1 order by pa_name",array($oa_group));
+$nb_row=count($a_row);
+$nb_plan=count($a_plan);
+echo '<table class="result">';
+echo '<tr>';
+echo th(_('Fiche'));
+for ( $e=0;$e<$nb_plan;$e++) echo th($a_plan[$e]['pa_name']);
+echo th(_('Montant'),'style="text-align:right"');
+echo th(_('D/C'));
+echo '<tr>';
+
+echo '</tr>';
+for ($i=0;$i< $nb_row;$i++) {
+ $class=($i%2==0)?"even":"odd";
+ echo '<tr class="'.$class.'">';
+ // retrieve card
+ echo '<td>';
+ $f_id=$cn->get_value("select distinct f_id from operation_analytique
where oa_group = $1 and oa_row=$2",[$oa_group,$a_row[$i]['oa_row']]);
+ $qcode=$cn->get_value("select ad_value from fiche_detail where f_id=$1
and ad_id=$2",[$f_id,ATTR_DEF_QUICKCODE] );
+ echo $qcode;
+ echo '</td>';
+ for ( $e = 0;$e<$nb_plan;$e++) {
+ $detail_row=$cn->get_row("select po_name , oa_amount,oa_positive
,oa_debit
+ from operation_analytique
+ join poste_analytique using (po_id)
+ join plan_analytique using (pa_id)
+ where
+ oa_group=$1
+ and oa_row=$2
+ and
pa_id=$3",array($oa_group,$a_row[$i]['oa_row'],$a_plan[$e]['pa_id']));
+ echo td($detail_row['po_name']);
+ }
+ $amount=$detail_row['oa_amount'];
+ if ( $detail_row['oa_positive']=="N") {$amount=bcmult($amount,-1);}
+ echo td($amount,'style="text-align:right"');
+ $debit=($detail_row['oa_debit'] == 'f')?"C":"D";
+ echo td($debit);
+ echo '</tr>';
+
+}
+echo '</table>';
+echo '<ul class="aligned-block">';
+echo '<li>',HtmlInput::button_close("anc_detail_op_div");
+echo '</ul >';
\ No newline at end of file
diff --git a/include/class/anc_operation.class.php
b/include/class/anc_operation.class.php
index eda986e..1bbddc2 100644
--- a/include/class/anc_operation.class.php
+++ b/include/class/anc_operation.class.php
@@ -163,6 +163,34 @@ class Anc_Operation
$this->db->exec_sql($sql,array($this->oa_id));
}
+
+ function get_list_simple($p_from,$p_to)
+ {
+ $cond="";
+ $where=" where ";
+
+ if ($p_from!="") {
+ $cond="$where (oa_date >= to_date('$p_from','DD.MM.YYYY') or
oa_date >= to_date('$p_from','DD.MM.YYYY') )";
+ $where=" and ";
+ }
+ if ( $p_to!="" )
+ $cond.="$where (oa_date <=to_date('$p_to','DD.MM.YYYY') or
oa_date <=to_date('$p_to','DD.MM.YYYY')) ";
+
+ $sql="
+ select distinct oa_group,
+ to_char(oa_date,'DD.MM.YYYY') as str_date ,
+ oa_date,
+ oa_description,
+ jr_pj_number,
+ jr_id
+ from
+ operation_analytique as oa
+ left join (select jr_id,jr_pj_number,j_id from jrn join jrnx
on (jr_grpt_id=j_grpt) ) as m on (m.j_id=oa.j_id)
+ $cond
+ order by oa_date ";
+ return $this->db->get_array($sql);
+
+ }
/*!\brief get a list of row from a certain periode
*/
@@ -237,7 +265,8 @@ class Anc_Operation
list($from,$to)=$p->get_date_limit($p_from);
}
- $array=$this->get_list($from,$to);
+ $array=$this->get_list_simple($from,$to);
+
if ( empty($array) )
return _("Pas d'enregistrement trouvé");
@@ -260,92 +289,37 @@ class Anc_Operation
$group=0;
$oldgroup=0;
$oldjrid=0;
-
+ $ret.=_("Chercher")."
".HtmlInput::filter_table("anc_operation_list_tb", '0,1,2', 1);
+ $ret.= "<table id=\"anc_operation_list_tb\"class=\"result\">";
+ $ret.=th(_("Date"));
+ $ret.=th(_("Libellé"));
+ $ret.=th(_("Num Pièce"));
+ $ret.=th("");
+ $ret.=th("");
+ $i=0;
foreach ($view as $row)
{
- $group=$row['oa_group'];
- if ( $group !=$oldgroup )
- {
-
- if ( $oldgroup!=0 )
- {
-
- $efface=new IButton();
-
$efface->javascript="anc_remove_operation(".$gDossier.",".$oldgroup.")";
- $efface->name=_("Efface");
- $efface->label=_("Efface");
- $ret.="<td>".$efface->input()."</td>";
-
- $this->oa_group=$oldgroup;
- $jr_id=$this->get_jrid();
-
- if ( $jr_id != 0)
- {
- // get the old jr_id
- $detail=new IButton();
- $detail->javascript="viewOperation($jr_id,$gDossier)";
- $detail->name=_("Detail");
- $detail->label=_("Detail");
- $ret.="<td>".$detail->input()."</td>";
- }
- $ret.='</table>';
-
- }
- $ret.='<table id="'.$row['oa_group'].'" class="result">';
- $operation_detail= ($row['jr_id'] !=
0)?HtmlInput::detail_op($row['jr_id'], h($row['oa_description']."
".$row['jr_pj_number'])):h($row['oa_description']);
- $ret.="<tr class=\"highlight\">".
- td($row['oa_date']).
- "<td>".
- $operation_detail.
- "</td>".
- td();
-
- $ret.="<td>".
- _("Groupe id : ").$row['oa_group'].
- "</td>".
-
- $oldgroup=$group;
-
+ $class=($i%2 == 0)?'class="even"':' class="odd"';
+ $i++;
+ $ret.="<tr $class>";
+ $ret.=td($row['str_date']);
+ $ret.=td(h($row['oa_description']));
+ $ret.=td(h($row['jr_pj_number']));
+ $js="anc_remove_operation(".$gDossier.",".$oldgroup.")";
+
+ $ret.="<td>".HtmlInput::image_click("trash-24.gif", $js,
_("Effacer"))."</td>";
+ if ( $row['jr_id'] != "") {
+ $js="viewOperation({$row['jr_id']},{$gDossier})";
+
+ } else {
+ $js="anc_detail_op({$row['oa_group']},{$gDossier})";
}
-
- $class=($count%2==0)?"odd":"even";
- $count++;
- $cred= ( $row['oa_debit'] == 'f')?"CREDIT":"DEBIT";
- $ret.="<tr class=\"$class\">";
- $ret.= "<td>".
- h($row['po_name']).
- "</td>";
-
- $ret.=td(h($row['po_description']));
-
- $ret.='<td class="num">'. nbm($row['oa_amount']).
- "</td>".
- "<td>".
- $cred.
- "</td>".
-
- "</tr>";
- }
-
-
- $efface=new IButton();
- $efface->javascript="anc_remove_operation("."$gDossier,".$oldgroup.")";
- $efface->name=_("Efface");
- $efface->label=_("Efface");
- $ret.="<td>".$efface->input()."</td>";
- // get the old jr_id
- $this->oa_group=$oldgroup;
- $jr_id=$this->get_jrid();
- if ( $jr_id != 0 )
- {
- $detail=new IButton();
- $detail->javascript="modifyOperation($jr_id,'".$gDossier."')";
- $detail->name=_("Detail");
- $detail->label=_("Detail");
- $ret.="<td>".$detail->input()."</td>";
- }
+ $ret .= "<td>". HtmlInput::image_click("crayon-mod-b24.png", $js,
_("Modifier"))."</td>";
+ $ret.="</tr>";
+ }
$ret.='</table>';
$ret.=$bar;
+
return $ret;
}
/*!\brief retrieve an operation thanks a jrnx.j_id
- [Noalyss-commit] [noalyss] 114/219: Change max article in STOCK INV, (continued)
- [Noalyss-commit] [noalyss] 114/219: Change max article in STOCK INV, Dany De Bontridder, 2017/12/18
- [Noalyss-commit] [noalyss] 16/219: Update test with new architecture, Dany De Bontridder, 2017/12/18
- [Noalyss-commit] [noalyss] 173/219: Improve calc, Dany De Bontridder, 2017/12/18
- [Noalyss-commit] [noalyss] 104/219: Réécriture de CFGPCMN pour utiliser ManageTable pas de delete proposé si compte utilisé, Dany De Bontridder, 2017/12/18
- [Noalyss-commit] [noalyss] 14/219: Infobulle : warning : esthetic, Dany De Bontridder, 2017/12/18
- [Noalyss-commit] [noalyss] 44/219: fix minor bug + doc, Dany De Bontridder, 2017/12/18
- [Noalyss-commit] [noalyss] 46/219: Manage_Table : Improve Javascript for adding / removing row of table, Dany De Bontridder, 2017/12/18
- [Noalyss-commit] [noalyss] 27/219: Task #0001443: opérations rapprochées : bug quand on utilise des tva avec autoliquidation Check with the view v_quant_detail and take into account the negative VAT, Dany De Bontridder, 2017/12/18
- [Noalyss-commit] [noalyss] 33/219: Task #0001324: Afficher la date (période) dans FSALDO, Dany De Bontridder, 2017/12/18
- [Noalyss-commit] [noalyss] 198/219: Task #001381 : reinitialize the search_form, Dany De Bontridder, 2017/12/18
- [Noalyss-commit] [noalyss] 154/219: Task #1440 CA - opération diverses inaccessibles Task #1370 les OD en comptabilité analytique - problème.,
Dany De Bontridder <=
- [Noalyss-commit] [noalyss] 209/219: Merge branch 'master' of ns3:/srv/git/noalyss, Dany De Bontridder, 2017/12/18
- [Noalyss-commit] [noalyss] 186/219: Protect queryString with encodeURI, Dany De Bontridder, 2017/12/18
- [Noalyss-commit] [noalyss] 207/219: Task #1381 Change esthetic Search Filter, Dany De Bontridder, 2017/12/18
- [Noalyss-commit] [noalyss] 208/219: Fix search for reconcile, Dany De Bontridder, 2017/12/18
- [Noalyss-commit] [noalyss] 157/219: Fix issue with open_basedir, sometime set in the server config, Dany De Bontridder, 2017/12/18
- [Noalyss-commit] [noalyss] 196/219: Task #001381 : favori de filtre , table pour sauvegarder, Dany De Bontridder, 2017/12/18
- [Noalyss-commit] [noalyss] 109/219: Add button to pin the box, Dany De Bontridder, 2017/12/18
- [Noalyss-commit] [noalyss] 134/219: #0001414: LETTRAGE - montants différents non indiqués Apparation d'une bulle d'info avec la différence, Dany De Bontridder, 2017/12/18
- [Noalyss-commit] [noalyss] 147/219: ANC : ANC_TABLE replace PGPLSQL procedure by Php functions : Anc_Table:create_temp_account Anc_Table:create_temp_card, Dany De Bontridder, 2017/12/18
- [Noalyss-commit] [noalyss] 20/219: Add new theme and modify tmp_pcmn, Dany De Bontridder, 2017/12/18