Initialise le service avec les données nécessaires
function __construct($id_type, $id_obje) {
$this->DIR = __DIR__;
$this->typeDevis = $id_type;
$this->idDevis = $id_obje;
// Vérifie si une commande existe déjà
$this->verifierCommandeExistante();
// Si pas de commande existante, charge les données du devis
if (!$this->commandeExistante) {
$this->chargerDonneesDevis();
} else {
//$this->Notifaction("Commande déjà existante", "warning");
}
}
function creerCommande() {
if ($this->commandeExistante) {
return false; // Si la commande existe on retourne false
}
try {
// Création de l'en-tête de la commande
$idClient = fwc7_data_att_getraw('', MapperCommande::TYPE_OPPORTUNITE($this->typeDevis), $this->devis['att1'], "att2");
// Environnement
$environnement = fwp7_param_params_detail("",'franchiseur_nom');
// S'il n'y a pas de date de signature,
// on met la date du jour par défaut pour gérer le cas de création de commande
// en passant par la modal de signature manuel.
if (empty($this->devis['attf107'])) {
$dateSignature = date('Ymd');
} else {
$dateSignature = $this->devis['attf107'];
// ... (truncated)
↩️ Returns
(int|false) L'ID de la commande créée ou false si échec
🔧 creerLignesCommande
Crée les lignes de la commande
function creerLignesCommande() {
// Environnement
$environnement = fwp7_param_params_detail("",'franchiseur_nom');
// Trie pour avoir le tableau dans l'ordre
usort($this->lignes, function ($a, $b) {
return $a['ordre'] <=> $b['ordre'];
});
foreach ($this->lignes as $ligne) {
$donneesLigne = [
'lig3' => $ligne['lig3'], // Quantité
'lig2' => $ligne['lig2'], // Prix unitaire
'lig1' => $ligne['lig1'], // Produit (non spé)
'lig4' => $ligne['lig4'], // Total HT
'lig5' => $ligne['lig5'], // Taux TVA
'lig13' => $ligne['lig17'], // Total HT Remisé
'lig6' => $ligne['lig15'], // Total TTC Remisé
'lig7' => $ligne['lig6'], // Total TVA
'lig8' => $ligne['lig7'], // Total TTC
'lig90' => $ligne['lig90'], // Description
'lig9' => $ligne['lig10'], // Produit (spé)
'lig10' => $ligne['lig9'], // Type remise
'lig11' => $ligne['lig14'], // Remise TTC ou Euros
'lig16' => $ligne['lig20'], // Unité
'lig22' => $ligne['lig22'], // Designation personnalisée
'lig91' => $ligne['lig91'], // Designation pdf
];
if ($environnement == "Rainea") {
$donneesLigne['lig17'] = $ligne['lig23']; // Section
} else if ($environnement == "Exteco") {
// ... (truncated)
⚠️ Throws
Exception: Si erreur pendant la création des lignes