Merge branch 'hotfixes/hotfix-facture-devis' into releases/release-h2f-prod
This commit is contained in:
commit
f30b73d850
@ -2725,16 +2725,20 @@ class Bdd {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getDevisIdListFilteredByMentionAndDevisListId($mentionToNotInclude,$devisListId){
|
private function getDevisIdListFilteredByMentionAndDevisListId($mentionsFilter,$devisListId){
|
||||||
if (empty($devisListId)) {
|
if (empty($devisListId)) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
$placeholders = implode(',', array_fill(0, count($devisListId), '?'));
|
$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
|
$sql = "SELECT devis.id as id,devis.date as devis_date
|
||||||
FROM ".$this->tableprefix."devis as devis
|
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;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2797,12 +2801,21 @@ class Bdd {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function insertFactureForeEachDevisId($idNextCloud,$devisIdArray,$paymentDate = null){
|
public function insertFactureForeEachDevisId($idNextCloud,$devisIdArray,$paymentDate = null){
|
||||||
$mentionToNotInclude = 'facturé';
|
$mentionsFilter = [
|
||||||
|
DevisMentionConstant::NEW,
|
||||||
|
DevisMentionConstant::MENTION
|
||||||
|
];
|
||||||
$devisIdArray = array_unique($devisIdArray);
|
$devisIdArray = array_unique($devisIdArray);
|
||||||
$devisIdListFiltered = $this->getDevisIdListFilteredByMentionAndDevisListId($mentionToNotInclude,$devisIdArray);
|
$devisIdListFiltered = $this->getDevisIdListFilteredByMentionAndDevisListId($mentionsFilter,$devisIdArray);
|
||||||
$factureIdsGenerated = [];
|
$factureIdsGenerated = [];
|
||||||
foreach($devisIdListFiltered as $devis){
|
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;
|
$factureIdsGenerated[] = $factureId;
|
||||||
}
|
}
|
||||||
return $factureIdsGenerated;
|
return $factureIdsGenerated;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user