Merge branch 'hotfixes/hotfix-facture-devis' into releases/release-h2f-prod

This commit is contained in:
Tiavina 2025-03-26 17:56:43 +03:00
commit f30b73d850

View File

@ -2725,16 +2725,20 @@ class Bdd {
return null;
}
private function getDevisIdListFilteredByMentionAndDevisListId($mentionToNotInclude,$devisListId){
private function getDevisIdListFilteredByMentionAndDevisListId($mentionsFilter,$devisListId){
if (empty($devisListId)) {
return [];
}
$placeholders = implode(',', array_fill(0, count($devisListId), '?'));
$mentionsFilterPlaceholders = implode(',', array_fill(0, count($mentionsFilter), '?'));
$sql = "SELECT devis.id as id,devis.date as devis_date
FROM ".$this->tableprefix."devis as devis
WHERE devis.id IN ($placeholders) AND mentions != ?";
WHERE devis.id IN ($placeholders) AND
mentions IN ($mentionsFilterPlaceholders)";
$result = $this->execSQLNoJsonReturn($sql,array_merge($devisListId, [$mentionToNotInclude]));
$result = $this->execSQLNoJsonReturn($sql,array_merge(
$devisListId,
$mentionsFilter));
return $result;
}
@ -2797,12 +2801,21 @@ class Bdd {
}
public function insertFactureForeEachDevisId($idNextCloud,$devisIdArray,$paymentDate = null){
$mentionToNotInclude = 'facturé';
$mentionsFilter = [
DevisMentionConstant::NEW,
DevisMentionConstant::MENTION
];
$devisIdArray = array_unique($devisIdArray);
$devisIdListFiltered = $this->getDevisIdListFilteredByMentionAndDevisListId($mentionToNotInclude,$devisIdArray);
$devisIdListFiltered = $this->getDevisIdListFilteredByMentionAndDevisListId($mentionsFilter,$devisIdArray);
$factureIdsGenerated = [];
foreach($devisIdListFiltered as $devis){
$factureId = $this->insertFactureByDevisId($idNextCloud,$devis['id'],$devis['devis_date'],$paymentDate);
$facture = $this->getFactureIdByDevisId($devis['id']);
if($facture != null){
$factureId = $facture['id'];
}
else{
$factureId = $this->insertFactureByDevisId($idNextCloud,$devis['id'],$devis['devis_date'],$paymentDate);
}
$factureIdsGenerated[] = $factureId;
}
return $factureIdsGenerated;