Darkjeff / ultimateimmo

module dolibarr estate rent
GNU General Public License v3.0
36 stars 35 forks source link

Bug: Les statistiques de conso pour les compteurs montrent l'id du compteur et non son label #96

Closed mikygee closed 2 years ago

mikygee commented 2 years ago

Les statistiques de conso pour les compteurs montrent l'id du compteur et non son label type eau, gaz... image image

Le problème vient du fichier compteur/stats.php

$sql = 'SELECT ';
$sql .= $object->getFieldList('t');
$sql .= " FROM ".MAIN_DB_PREFIX.$object->table_element." as t";
if (!empty($search['fk_immoproperty'])) {
        $sql .=" WHERE fk_immoproperty=".(int) $search['fk_immoproperty'];
}
if (!empty($search['compteur_type_id'])) {
        $sql .=" WHERE compteur_type_id=".(int) $search['compteur_type_id'];
}
$sql .= $db->order('t.fk_immoproperty,date_relever');

La requête effectuée est la suivante SELECT t.rowid,t.ref,t.compteur_type_id,t.label,t.date_relever,t.qty,t.fk_immoproperty,t.description,t.note_public,t.note_private,t.date_creation,t.tms,t.fk_user_creat,t.fk_user_modif,t.import_key,t.model_pdf FROM llx_ultimateimmo_immocompteur as t ORDER BY t.fk_immoproperty ASC, date_relever ASC

Alors que la requête souhaitée serait plutôt du type SELECT t.rowid,t.ref,t.compteur_type_id,u.label,t.label,t.date_relever,t.qty,t.fk_immoproperty,t.description,t.note_public,t.note_private,t.date_creation,t.tms,t.fk_user_creat,t.fk_user_modif,t.import_key,t.model_pdf FROM llx_ultimateimmo_immocompteur as t LEFT JOIN llx_c_ultimateimmo_immocompteur_type as u on (t.compteur_type_id=u.rowid) ORDER BY t.fk_immoproperty ASC, date_relever ASC; afin de récupérer le label correspondant au type de compteur

> SELECT t.rowid,t.ref,t.compteur_type_id,u.label,t.label,t.date_relever,t.qty,t.fk_immoproperty,t.description,t.note_public,t.note_private,t.date_creation,t.tms,t.fk_user_creat,t.fk_user_modif,t.import_key,t.model_pdf FROM llx_ultimateimmo_immocompteur as t LEFT JOIN llx_c_ultimateimmo_immocompteur_type as u on (t.compteur_type_id=u.rowid) ORDER BY t.fk_immoproperty ASC, date_relever ASC;
+-------+---------------------------+------------------+-------------+-----------------------------+--------------+------+-----------------+-------------+-------------+--------------+---------------------+---------------------+---------------+---------------+------------+-----------+
| rowid | ref                       | compteur_type_id | label       | label                       | date_relever | qty  | fk_immoproperty | description | note_public | note_private | date_creation       | tms                 | fk_user_creat | fk_user_modif | import_key | model_pdf |
+-------+---------------------------+------------------+-------------+-----------------------------+--------------+------+-----------------+-------------+-------------+--------------+---------------------+---------------------+---------------+---------------+------------+-----------+
|     4 | 4                         |                1 | Eau         | NULL                        | 2022-04-30   |   15 |               2 | NULL        | NULL        | NULL         | 2022-08-27 12:01:11 | 2022-08-27 12:01:11 |             1 |             1 | NULL       | NULL      |
|     5 | copy_of_4                 |                1 | Eau         | Copie de                    | 2022-05-31   |   30 |               2 | NULL        | NULL        | NULL         | 2022-08-27 12:01:11 | 2022-08-27 12:01:11 |             1 |             1 | NULL       | NULL      |
|     6 | copy_of_copy_of_4         |                3 | Electricit▒ | Copie de Copie de           | 2022-06-30   |   45 |               2 | NULL        | NULL        | NULL         | 2022-08-27 12:01:11 | 2022-08-27 12:01:11 |             1 |             1 | NULL       | NULL      |
|     7 | copy_of_copy_of_copy_of_4 |                2 | Gaz         | Copie de Copie de Copie de  | 2022-07-31   |   60 |               2 | NULL        | NULL        | NULL         | 2022-08-27 12:01:11 | 2022-08-27 12:01:11 |             1 |             1 | NULL       | NULL      |
+-------+---------------------------+------------------+-------------+-----------------------------+--------------+------+-----------------+-------------+-------------+--------------+---------------------+---------------------+---------------+---------------+------------+-----------+

N'étant pas sûr d'implémenter cette correction proprement, je la référence.

Lors de l'affichage il faudra aussi modifier la ligne suivante print '<td class="left">' . $obj->compteur_type_id . '</td>';

mikygee commented 2 years ago

Clôture suite à implémentation du correctif.