コード例 #1
0
ファイル: fiche.php プロジェクト: remyyounes/dolibarr
		print "<td>".$langs->trans("Author")."</td><td>".$author->getFullName($langs)."</td>\n";

		if ($commande->note)
		{
			print '<tr><td colspan="3">Note : '.nl2br($commande->note)."</td></tr>";
		}
		print "</table>";

		/*
		 * Lignes de commandes
		 *
		 */
		print '<br><table class="noborder" width="100%">';

		$lines = $commande->fetch_lines(1);

		// Lecture des livraisons deja effectuees
		$commande->livraison_array();

		$num = sizeof($commande->lines);
		$i = 0;

		if ($num)
		{
			print '<tr class="liste_titre">';
			print '<td width="54%">'.$langs->trans("Description").'</td>';
			print '<td align="center">Quan. commandee</td>';
			print '<td align="center">Quan. livree</td>';
			print '<td align="center">Quan. a livrer</td>';
			if ($conf->stock->enabled)
コード例 #2
0
 /**
  *  Create delivery receipt in database
  *
  *  @param 	User	$user       Objet du user qui cree
  *  @return int         		<0 si erreur, id livraison cree si ok
  */
 function create($user)
 {
     global $conf;
     dol_syslog("Livraison::create");
     if (empty($this->model_pdf)) {
         $this->model_pdf = $conf->global->LIVRAISON_ADDON_PDF;
     }
     $error = 0;
     $now = dol_now();
     /* On positionne en mode brouillon le bon de livraison */
     $this->brouillon = 1;
     $this->user = $user;
     $this->db->begin();
     $sql = "INSERT INTO " . MAIN_DB_PREFIX . "livraison (";
     $sql .= "ref";
     $sql .= ", entity";
     $sql .= ", fk_soc";
     $sql .= ", ref_customer";
     $sql .= ", date_creation";
     $sql .= ", fk_user_author";
     $sql .= ", date_delivery";
     $sql .= ", fk_address";
     $sql .= ", note_private";
     $sql .= ", note_public";
     $sql .= ", model_pdf";
     $sql .= ") VALUES (";
     $sql .= "'(PROV)'";
     $sql .= ", " . $conf->entity;
     $sql .= ", " . $this->socid;
     $sql .= ", '" . $this->db->escape($this->ref_customer) . "'";
     $sql .= ", '" . $this->db->idate($now) . "'";
     $sql .= ", " . $user->id;
     $sql .= ", " . ($this->date_delivery ? "'" . $this->db->idate($this->date_delivery) . "'" : "null");
     $sql .= ", " . ($this->fk_delivery_address > 0 ? $this->fk_delivery_address : "null");
     $sql .= ", " . (!empty($this->note_private) ? "'" . $this->db->escape($this->note_private) . "'" : "null");
     $sql .= ", " . (!empty($this->note_public) ? "'" . $this->db->escape($this->note_public) . "'" : "null");
     $sql .= ", " . (!empty($this->model_pdf) ? "'" . $this->db->escape($this->model_pdf) . "'" : "null");
     $sql .= ")";
     dol_syslog("Livraison::create sql=" . $sql, LOG_DEBUG);
     $resql = $this->db->query($sql);
     if ($resql) {
         $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX . "livraison");
         $numref = "(PROV" . $this->id . ")";
         $sql = "UPDATE " . MAIN_DB_PREFIX . "livraison ";
         $sql .= "SET ref = '" . $this->db->escape($numref) . "'";
         $sql .= " WHERE rowid = " . $this->id;
         dol_syslog("Livraison::create sql=" . $sql, LOG_DEBUG);
         $resql = $this->db->query($sql);
         if ($resql) {
             if (!$conf->expedition_bon->enabled) {
                 $commande = new Commande($this->db);
                 $commande->id = $this->commande_id;
                 $commande->fetch_lines();
             }
             /*
              *  Insertion des produits dans la base
              */
             $num = count($this->lines);
             for ($i = 0; $i < $num; $i++) {
                 $origin_id = $this->lines[$i]->origin_line_id;
                 if (!$origin_id) {
                     $origin_id = $this->lines[$i]->commande_ligne_id;
                 }
                 // For backward compatibility
                 if (!$this->create_line($origin_id, $this->lines[$i]->qty, $this->lines[$i]->fk_product, $this->lines[$i]->description)) {
                     $error++;
                 }
             }
             if (!$error && $this->id && $this->origin_id) {
                 $ret = $this->add_object_linked();
                 if (!$ret) {
                     $error++;
                 }
                 if (!$conf->expedition_bon->enabled) {
                     // TODO uniformiser les statuts
                     $ret = $this->setStatut(2, $this->origin_id, $this->origin);
                     if (!$ret) {
                         $error++;
                     }
                 }
             }
             if (!$error) {
                 $this->db->commit();
                 return $this->id;
             } else {
                 $error++;
                 $this->error = $this->db->lasterror() . " - sql=" . $this->db->lastqueryerror;
                 dol_syslog("Livraison::create Error -3 " . $this->error, LOG_ERR);
                 $this->db->rollback();
                 return -3;
             }
         } else {
             $error++;
             $this->error = $this->db->lasterror() . " - sql=" . $this->db->lastqueryerror;
             dol_syslog("Livraison::create Error -2 " . $this->error, LOG_ERR);
             $this->db->rollback();
             return -2;
         }
     } else {
         $error++;
         $this->error = $this->db->lasterror() . " - sql=" . $this->db->lastqueryerror;
         dol_syslog("Livraison::create Error -1 " . $this->error, LOG_ERR);
         $this->db->rollback();
         return -1;
     }
 }