From 703bddfabfea779b59e7d09ce44def2923032083 Mon Sep 17 00:00:00 2001 From: Tiavina Date: Mon, 20 Jan 2025 13:16:41 +0300 Subject: [PATCH] when insert devis manually , generate devis number --- gestion/lib/Db/Bdd.php | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/gestion/lib/Db/Bdd.php b/gestion/lib/Db/Bdd.php index 799307a..727cbd5 100644 --- a/gestion/lib/Db/Bdd.php +++ b/gestion/lib/Db/Bdd.php @@ -800,6 +800,13 @@ class Bdd { $last=0; $last = $this->lastinsertid("devis", $idNextcloud) + 1; + $devisDatetime = new Datetime(); + $dateMonth = $devisDatetime->format('m'); + $dateYear = $devisDatetime->format('Y'); + $devisLastNumber = $this->getLastDevisNumberByMonthAndYear($dateMonth,$dateYear); + $devisNumber = $devisLastNumber + 1; + $devisFullNumber = DateHelpers::GetFullFactureOrDevisNumberByDate($devisDatetime,$devisNumber,'DEV'); + $sql = "INSERT INTO `".$this->tableprefix."devis` ( `date`, `id_nextcloud`, `num`, @@ -810,10 +817,21 @@ class Bdd { `id_lieu`, `mentions`, `comment`, - `user_id` + `user_id`, + `devis_number`, + `devis_full_number` ) - VALUES (NOW(),?,?,0,0,0,?,0,?,?,?);"; - $this->execSQLNoData($sql, array($idNextcloud,"Nom du defunt",'Ajouter un lieu',$this->l->t('New'),$this->l->t('Comment'),$last)); + VALUES (NOW(),?,?,0,0,0,?,0,?,?,?,?,?);"; + $this->execSQLNoData($sql, array( + $idNextcloud, + self::DEFAULT_CALENDAR_UUID_FOR_DEVIS, + $this->l->t('New'), + 'Mention', + $this->l->t('Comment'), + $last, + $devisNumber, + $devisFullNumber + )); return true; } @@ -993,6 +1011,17 @@ class Bdd { $this->execSQLNoData($sql, array($data, $devis->devisid)); $updated_devis = json_decode($this->getOneDevis($devis->devisid, $idNextcloud))[0]; + //update devis full number + $devisDate = $updated_devis->date; + $devisDatetime = Datetime::createFromFormat("Y-m-d",$devisDate); + $dateMonth = $devisDatetime->format('m'); + $dateYear = $devisDatetime->format('Y'); + $devisLastNumber = $this->getLastDevisNumberByMonthAndYear($dateMonth,$dateYear); + $devisNumber = $devisLastNumber + 1; + $devisFullNumber = DateHelpers::GetFullFactureOrDevisNumberByDate($devisDatetime,$devisNumber,'DEV'); + $sql = "UPDATE ".$this->tableprefix."devis SET devis_full_number = ?, devis_number = ? WHERE `id` = ?"; + $this->execSQLNoData($sql, array($devisFullNumber, $devisNumber, $devis->devisid)); + if($devis->id_lieu!=NULL) { if(strcmp(explode('-', $devis->date)[1], explode('-', $updated_devis->date)[1]) != 0) { // si le mois a changé // deplacer la ligne de trajet