fix facture en double

This commit is contained in:
Tolotsoa 2025-12-09 13:30:49 +03:00
parent 6a30d5a004
commit ec0aba426c

View File

@ -449,68 +449,76 @@ class Bdd
public function getFacturesListWithDependencies() public function getFacturesListWithDependencies()
{ {
$sql = "SELECT $sql = "SELECT
facture.id, facture.id,
facture.user_id, facture.user_id,
facture.num, facture.num,
facture.date, facture.date,
facture.fk_facture_status_key, facture.fk_facture_status_key,
facture.fk_facture_payment_type_id, facture.fk_facture_payment_type_id,
facture.payment_date, facture.payment_date,
facture_payment_type.facture_payment_type_label, facture_payment_type.facture_payment_type_label,
facture_status.facture_status_label, facture_status.facture_status_label,
facture.facture_type, facture.facture_type,
facture.fk_client_id as facture_client_id, facture.fk_client_id as facture_client_id,
facture.fk_client_group_facturation_id as facture_client_group_facturation_id, facture.fk_client_group_facturation_id as facture_client_group_facturation_id,
facture.date_paiement, facture.date_paiement,
facture.type_paiement, facture.type_paiement,
facture.id_devis, facture.id_devis,
facture.version, facture.version,
facture.status_paiement, facture.status_paiement,
facture_client.nom as facture_client_name, facture_client.nom as facture_client_name,
facture_client.entreprise as facture_client_entreprise, facture_client.entreprise as facture_client_entreprise,
facture_client.fk_client_group_id as facture_client_group_id, facture_client.fk_client_group_id as facture_client_group_id,
facture_client_group_facturation.group_facturation_name as facture_group_name, facture_client_group_facturation.group_facturation_name as facture_group_name,
facture_client_group_facturation.code_comptable as group_code_comptable, facture_client_group_facturation.code_comptable as group_code_comptable,
facture.document_generated_date as facture_document_generated_date, facture.document_generated_date as facture_document_generated_date,
facture.document_sent_date as facture_document_sent_date, facture.document_sent_date as facture_document_sent_date,
facture.month as facture_month, facture.month as facture_month,
facture.year as facture_year, facture.year as facture_year,
devis.num as dnum, devis.num as dnum,
devis.comment as dcomment, devis.comment as dcomment,
client.entreprise, client.entreprise,
client.nom, client.nom,
client.prenom, client.prenom,
client.id as id_cli, client.id as id_cli,
client.entreprise as client_entreprise, client.entreprise as client_entreprise,
client.fk_client_group_facturation_id as fk_client_group_facturation_id, client.fk_client_group_facturation_id,
client.adresse as adresse_cli,client.mail as mail_cli, client.adresse as adresse_cli,
client.telephone as telephone_cli,client.legal_one as legalone_cli, client.mail as mail_cli,
client.fk_client_group_id as fk_client_group_id, client.telephone as telephone_cli,
COALESCE( client.legal_one as legalone_cli,
client.is_tva, client.fk_client_group_id,
CASE COALESCE(
WHEN facture.fk_client_group_facturation_id IS NOT NULL THEN client_group_tva.is_tva client.is_tva,
ELSE facture_client.is_tva CASE
END WHEN facture.fk_client_group_facturation_id IS NOT NULL
) as tva, THEN (
defunt.id as id_defunt, SELECT is_tva
defunt.nom as nom_defunt, FROM ".$this->tableprefix."client
lieu.id as lid, WHERE fk_client_group_facturation_id = facture.fk_client_group_facturation_id
lieu.nom as lieu, LIMIT 1
lieu.adresse as adresse_soin,devis.id_lieu )
FROM ".$this->tableprefix."facture as facture ELSE facture_client.is_tva
LEFT JOIN ".$this->tableprefix."devis as devis on facture.id_devis = devis.id END
LEFT JOIN ".$this->tableprefix."lieu as lieu on devis.id_lieu = lieu.id ) as tva,
LEFT JOIN ".$this->tableprefix."client as client on devis.id_client = client.id defunt.id as id_defunt,
LEFT JOIN ".$this->tableprefix."defunt as defunt on devis.id_defunt = defunt.id defunt.nom as nom_defunt,
LEFT JOIN ".$this->tableprefix."facture_payment_type as facture_payment_type on facture.fk_facture_payment_type_id = facture_payment_type.id lieu.id as lid,
LEFT JOIN ".$this->tableprefix."facture_status as facture_status on facture.fk_facture_status_key = facture_status.facture_status_key lieu.nom as lieu,
LEFT JOIN ".$this->tableprefix."client as facture_client on facture.fk_client_id = facture_client.id lieu.adresse as adresse_soin,
LEFT JOIN ".$this->tableprefix."client_group_facturation as facture_client_group_facturation on facture.fk_client_group_facturation_id = facture_client_group_facturation.id devis.id_lieu
LEFT JOIN ".$this->tableprefix."client as client_group_tva ON facture.fk_client_group_facturation_id = client_group_tva.fk_client_group_facturation_id FROM ".$this->tableprefix."facture as facture
ORDER BY facture.id DESC, facture.date_paiement DESC"; LEFT JOIN ".$this->tableprefix."devis as devis ON facture.id_devis = devis.id
LEFT JOIN ".$this->tableprefix."lieu as lieu ON devis.id_lieu = lieu.id
LEFT JOIN ".$this->tableprefix."client as client ON devis.id_client = client.id
LEFT JOIN ".$this->tableprefix."defunt as defunt ON devis.id_defunt = defunt.id
LEFT JOIN ".$this->tableprefix."facture_payment_type as facture_payment_type ON facture.fk_facture_payment_type_id = facture_payment_type.id
LEFT JOIN ".$this->tableprefix."facture_status as facture_status ON facture.fk_facture_status_key = facture_status.facture_status_key
LEFT JOIN ".$this->tableprefix."client as facture_client ON facture.fk_client_id = facture_client.id
LEFT JOIN ".$this->tableprefix."client_group_facturation as facture_client_group_facturation ON facture.fk_client_group_facturation_id = facture_client_group_facturation.id
ORDER BY facture.id DESC, facture.date_paiement DESC";
$result = $this->execSQL($sql, array()); $result = $this->execSQL($sql, array());
return $result; return $result;
} }