generate facture number when facture batch devis
This commit is contained in:
parent
068f915fc0
commit
c2758530d4
@ -982,9 +982,9 @@ class Bdd {
|
|||||||
}
|
}
|
||||||
$placeholders = implode(',', array_fill(0, count($devisListId), '?'));
|
$placeholders = implode(',', array_fill(0, count($devisListId), '?'));
|
||||||
$this->logger->debug('Placeholders : ' . $placeholders);
|
$this->logger->debug('Placeholders : ' . $placeholders);
|
||||||
$sql = "SELECT id as id
|
$sql = "SELECT devis.id as id,devis.date as devis_date
|
||||||
FROM ".$this->tableprefix."devis
|
FROM ".$this->tableprefix."devis as devis
|
||||||
WHERE id IN ($placeholders) AND mentions != ?";
|
WHERE devis.id IN ($placeholders) AND mentions != ?";
|
||||||
|
|
||||||
$this->logger->debug('SQL : ' . $sql);
|
$this->logger->debug('SQL : ' . $sql);
|
||||||
$result = $this->execSQLNoJsonReturn($sql,array_merge($devisListId, [$mentionToNotInclude]));
|
$result = $this->execSQLNoJsonReturn($sql,array_merge($devisListId, [$mentionToNotInclude]));
|
||||||
@ -998,7 +998,7 @@ class Bdd {
|
|||||||
$devisIdListFiltered = $this->getDevisIdListFilteredByMentionAndDevisListId($mentionToNotInclude,$devisIdArray);
|
$devisIdListFiltered = $this->getDevisIdListFilteredByMentionAndDevisListId($mentionToNotInclude,$devisIdArray);
|
||||||
$factureIdsGenerated = [];
|
$factureIdsGenerated = [];
|
||||||
foreach($devisIdListFiltered as $devis){
|
foreach($devisIdListFiltered as $devis){
|
||||||
$factureId = $this->insertFactureByDevisId($idNextCloud,devisId: $devis['id']);
|
$factureId = $this->insertFactureByDevisId($idNextCloud,$devis['id'],$devis['devis_date']);
|
||||||
$factureIdsGenerated[] = $factureId;
|
$factureIdsGenerated[] = $factureId;
|
||||||
}
|
}
|
||||||
return $factureIdsGenerated;
|
return $factureIdsGenerated;
|
||||||
@ -1007,21 +1007,32 @@ class Bdd {
|
|||||||
/**
|
/**
|
||||||
* Insert invoice with a devis
|
* Insert invoice with a devis
|
||||||
*/
|
*/
|
||||||
public function insertFactureByDevisId($idNextcloud,$devisId){
|
public function insertFactureByDevisId($idNextcloud,$devisId,$devisDate = null){
|
||||||
|
|
||||||
|
$devisDatetime = new Datetime();
|
||||||
|
if($devisDate != null){
|
||||||
|
$devisDatetime = new Datetime($devisDate);
|
||||||
|
}
|
||||||
|
|
||||||
|
$factureDate = $devisDatetime->format('Y-m-d');
|
||||||
|
$lastDay = DateHelpers::GetLastDayOfTheMonthOfADate($devisDatetime);
|
||||||
|
$lastDay = $lastDay->format('Y-m-d');
|
||||||
|
$factureNumber = $this->getFactureNumberByDate($devisDatetime);
|
||||||
|
$fullFactureNumber = DateHelpers::GetFullFactureOrDevisNumberByDate($devisDatetime,$factureNumber,"FAC");
|
||||||
$last = 0;
|
$last = 0;
|
||||||
$last = $this->lastNumFacture($idNextcloud);
|
$last = $this->lastNumFacture($idNextcloud);
|
||||||
$sql = "INSERT INTO `".$this->tableprefix."facture` (`date`,`id_nextcloud`,`num`,`date_paiement`,`type_paiement`,`id_devis`,`user_id`, `version`) VALUES (?,?,?,NOW(),?,?,?,?);";
|
$sql = "INSERT INTO `".$this->tableprefix."facture` (`date`,`id_nextcloud`,`num`,`date_paiement`,`type_paiement`,`id_devis`,`user_id`, `version`,`facture_number`) VALUES (?,?,?,?,?,?,?,?,?);";
|
||||||
$date_temp = new DateTime();
|
|
||||||
$date = $date_temp->format('Y-m-d');
|
|
||||||
$datesplit = explode('-', $date);
|
|
||||||
$this->execSQLNoData($sql, array(
|
$this->execSQLNoData($sql, array(
|
||||||
$date ,
|
$factureDate ,
|
||||||
$idNextcloud,
|
$idNextcloud,
|
||||||
"ETS".$datesplit[0]."/".$datesplit[1]."/".$last+1,
|
$fullFactureNumber,
|
||||||
|
$lastDay,
|
||||||
"Comptant",
|
"Comptant",
|
||||||
$devisId,
|
$devisId,
|
||||||
$last+1,
|
$last+1,
|
||||||
"Ajouter un lieu"));
|
"Ajouter un lieu",
|
||||||
|
$factureNumber)
|
||||||
|
);
|
||||||
|
|
||||||
$factureId = $this->getFactureIdByDevisId($devisId);
|
$factureId = $this->getFactureIdByDevisId($devisId);
|
||||||
//update devis status
|
//update devis status
|
||||||
|
|||||||
@ -40,4 +40,10 @@ class DateHelpers
|
|||||||
return $devisNumber;
|
return $devisNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function GetLastDayOfTheMonthOfADate($datetime){
|
||||||
|
$datetime->modify('last day of this month');
|
||||||
|
$lastDay = $datetime;
|
||||||
|
return $lastDay;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user