diff --git a/gestion/lib/Db/Bdd.php b/gestion/lib/Db/Bdd.php index f88cec0..62adb70 100644 --- a/gestion/lib/Db/Bdd.php +++ b/gestion/lib/Db/Bdd.php @@ -3357,39 +3357,48 @@ class Bdd { } - public function getInvoicePdfData($factureId,$configuration){ - $factureData = $this->getFactureByIdWithDevis($factureId); - if($factureData == null){ - return null; - } - $products = $this->getDevisProduits($factureData["devis_id"]); - $isDevisNegative = $this->isDevisNegative($factureData['devis_id'],$factureData['client_id']); - $factureData = $this->setDevisStartAndEndTime($factureData); + public function getInvoicePdfData($factureId, $configuration) + { + $factureData = $this->getFactureByIdWithDevis($factureId); + if($factureData == null) { + return null; + } + + $products = $this->getDevisProduits($factureData["devis_id"]); + $isDevisNegative = $this->isDevisNegative($factureData['devis_id'], $factureData['client_id']); + $factureData = $this->setDevisStartAndEndTime($factureData); - $factureData["products"] = $products; - $factureData["configuration"] = $configuration; - - $isClientInsideGroup = $factureData["group_id"] != null; - if($isClientInsideGroup){ - $factureData["client_real_adress"] = $factureData["group_address"]; - $factureData["client_adress_city"] = $factureData["group_postal_code"]." ".$factureData["group_city"]; - $factureData["client_mail"] = $factureData["group_email"]; - $factureData["siret"] = $factureData["group_siret_number"]; - } - else{ - $factureData["siret"] = $factureData["client_legal_one"]; - $clientAdresses = FileExportHelpers::GetAddressAndCityFromAddress($factureData["client_adresse"]); - $factureData["client_real_adress"] = $clientAdresses["address"]; - $factureData["client_adress_city"] = $clientAdresses["city"]; - } - $factureData['is_negative'] = $isDevisNegative; + $factureData["products"] = $products; + $factureData["configuration"] = $configuration; - $configurationAdresses = FileExportHelpers::GetAddressAndCityFromAddress($configuration->adresse); - $factureData["configuration_adresse"] = $configurationAdresses["address"]; - $factureData["configuration_adresse_city"] = $configurationAdresses["city"]; - return $factureData; - } + // Récupération des informations client et gestion TVA + $client = $this->getClientById($factureData['client_id']); + $hasTva = ($client && isset($client['tva'])) ? ($client['tva'] == 1) : true; + $groupClient = $this->getTvaItracomuIdClient($factureData['client_id']); + + $isClientInsideGroup = $factureData["group_id"] != null; + if($isClientInsideGroup) { + $factureData["client_real_adress"] = $factureData["group_address"]; + $factureData["client_adress_city"] = $factureData["group_postal_code"]." ".$factureData["group_city"]; + $factureData["client_mail"] = $factureData["group_email"]; + $factureData["siret"] = $factureData["group_siret_number"]; + } else { + $factureData["siret"] = $factureData["client_legal_one"]; + $clientAdresses = FileExportHelpers::GetAddressAndCityFromAddress($factureData["client_adresse"]); + $factureData["client_real_adress"] = $clientAdresses["address"]; + $factureData["client_adress_city"] = $clientAdresses["city"]; + } + + $factureData['is_negative'] = $isDevisNegative; + $factureData["is_tva"] = $hasTva; + $factureData["client_tva_intracommu"] = $groupClient["tva_intracommu"]; + $configurationAdresses = FileExportHelpers::GetAddressAndCityFromAddress($configuration->adresse); + $factureData["configuration_adresse"] = $configurationAdresses["address"]; + $factureData["configuration_adresse_city"] = $configurationAdresses["city"]; + + return $factureData; + } private function getDevisByClientIdsListAndMonthYear($clientIds,$month,$year){ if(empty($clientIds)){