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), '?'));
|
||||
$this->logger->debug('Placeholders : ' . $placeholders);
|
||||
$sql = "SELECT id as id
|
||||
FROM ".$this->tableprefix."devis
|
||||
WHERE id IN ($placeholders) AND mentions != ?";
|
||||
$sql = "SELECT devis.id as id,devis.date as devis_date
|
||||
FROM ".$this->tableprefix."devis as devis
|
||||
WHERE devis.id IN ($placeholders) AND mentions != ?";
|
||||
|
||||
$this->logger->debug('SQL : ' . $sql);
|
||||
$result = $this->execSQLNoJsonReturn($sql,array_merge($devisListId, [$mentionToNotInclude]));
|
||||
@ -998,7 +998,7 @@ class Bdd {
|
||||
$devisIdListFiltered = $this->getDevisIdListFilteredByMentionAndDevisListId($mentionToNotInclude,$devisIdArray);
|
||||
$factureIdsGenerated = [];
|
||||
foreach($devisIdListFiltered as $devis){
|
||||
$factureId = $this->insertFactureByDevisId($idNextCloud,devisId: $devis['id']);
|
||||
$factureId = $this->insertFactureByDevisId($idNextCloud,$devis['id'],$devis['devis_date']);
|
||||
$factureIdsGenerated[] = $factureId;
|
||||
}
|
||||
return $factureIdsGenerated;
|
||||
@ -1007,21 +1007,32 @@ class Bdd {
|
||||
/**
|
||||
* 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 = $this->lastNumFacture($idNextcloud);
|
||||
$sql = "INSERT INTO `".$this->tableprefix."facture` (`date`,`id_nextcloud`,`num`,`date_paiement`,`type_paiement`,`id_devis`,`user_id`, `version`) VALUES (?,?,?,NOW(),?,?,?,?);";
|
||||
$date_temp = new DateTime();
|
||||
$date = $date_temp->format('Y-m-d');
|
||||
$datesplit = explode('-', $date);
|
||||
$sql = "INSERT INTO `".$this->tableprefix."facture` (`date`,`id_nextcloud`,`num`,`date_paiement`,`type_paiement`,`id_devis`,`user_id`, `version`,`facture_number`) VALUES (?,?,?,?,?,?,?,?,?);";
|
||||
$this->execSQLNoData($sql, array(
|
||||
$date ,
|
||||
$factureDate ,
|
||||
$idNextcloud,
|
||||
"ETS".$datesplit[0]."/".$datesplit[1]."/".$last+1,
|
||||
$fullFactureNumber,
|
||||
$lastDay,
|
||||
"Comptant",
|
||||
$devisId,
|
||||
$last+1,
|
||||
"Ajouter un lieu"));
|
||||
"Ajouter un lieu",
|
||||
$factureNumber)
|
||||
);
|
||||
|
||||
$factureId = $this->getFactureIdByDevisId($devisId);
|
||||
//update devis status
|
||||
|
||||
@ -40,4 +40,10 @@ class DateHelpers
|
||||
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