/** * La funzione riceve un array associativo preventivo e restituisce un oggetto preventivo * @param type $item * @return \Preventivo */ public function convertToPreventivo($item) { //print_r($item); $p = new Preventivo(); $p->setData($item['data']); $p->setIdUtente($item['idUser']); $p->setNomeRivenditore($item['rivenditore']); $p->setClienteNome($item['clienteNome']); $p->setClienteVia($item['clienteVia']); $p->setClienteTel($item['clienteTel']); $p->setSpesaTotale($item['totale']); $p->setNote($item['note']); $p->setTipo($item['tipo']); $p->setClienteTipo($item['clienteTipo']); $p->setClienteEmail($item['clienteEmail']); $p->setClienteCF($item['clienteCF']); $p->setCodiceRivenditore($item['codiceRivenditore']); $p->setAgente($item['agente']); $p->setScontoRivenditore($item['scontoRivenditore']); $p->setTrasporto($item['trasporto']); //gli ho passato un array di nomi di foto //NB. Non è un oggetto foto //NB2. Potrebbero non aver incluso foto if (isset($item['foto'])) { $fotos = array(); foreach ($item['foto'] as $nomeFoto) { array_push($fotos, $nomeFoto); } $p->setFoto($fotos); } else { $p->setFoto(null); } $infissi = array(); foreach ($item['infissi'] as $item) { array_push($infissi, $this->convertToInfisso($item)); } $p->setInfissi($infissi); return $p; }
/** * La funzione salva nel database un preventivo restituendo in caso di successo * l'id del record nel database * @param Preventivo $p * @return type */ public function savePreventivo(Preventivo $p) { try { //imposto il timezone date_default_timezone_set('Europe/Rome'); $timestamp = date('Y-m-d H:i:s', strtotime("now")); $this->wpdb->insert($this->table, array('data' => $timestamp, 'id_utente' => $p->getIdUtente(), 'nome_rivenditore' => $p->getNomeRivenditore(), 'cliente_nome' => $p->getClienteNome(), 'cliente_via' => $p->getClienteVia(), 'cliente_tel' => $p->getClienteTel(), 'spesa_totale' => $p->getSpesaTotale(), 'visionato' => 0, 'note' => $p->getNote(), 'tipo' => $p->getTipo(), 'cliente_tipo' => $p->getClienteTipo(), 'cliente_email' => $p->getClienteEmail(), 'cliente_cf' => $p->getClienteCF(), 'codice_rivenditore' => $p->getCodiceRivenditore(), 'agente' => $p->getAgente(), 'sconto_rivenditore' => $p->getScontoRivenditore(), 'trasporto' => $p->getTrasporto()), array('%s', '%d', '%s', '%s', '%s', '%s', '%f', '%d', '%s', '%d', '%s', '%s', '%s', '%s', '%s', '%f', '%f')); //restituisco l'id del record di preventivo inserito return $this->wpdb->insert_id; } catch (Exception $ex) { _e($ex); return false; } }
public function createBody(Preventivo $p, $ordine = false) { define('EURO', chr(128)); //scrivo i dati generali del preventivo $infissi = $p->getInfissi(); //creo l'array associativo $info_preventivo = array(); $info_preventivo['Data'] = getTime($p->getData()); $info_preventivo['Codice Rivenditore'] = $p->getCodiceRivenditore(); $info_preventivo['Rivenditore'] = $p->getNomeRivenditore(); $info_preventivo['Agente'] = $p->getAgente(); $info_preventivo['Tipo Cliente'] = $p->getClienteTipo(); $info_preventivo['Riferimento'] = $p->getClienteNome(); $info_preventivo['CF/PIVA'] = $p->getClienteCF(); $info_preventivo['Indirizzo'] = $p->getClienteVia(); $info_preventivo['Telefono'] = $p->getClienteTel(); $info_preventivo['Email'] = $p->getClienteEmail(); $tipo = ""; if ($ordine == false) { if ($p->getTipo() == 0) { $tipo = 'Preventivo'; } else { $tipo = 'Conferma Ordine'; } } else { $tipo = "Conferma Ordine"; } $info_preventivo['Documento'] = $tipo; //conto tutti gli infissi ordinati comprensivi di copie $countInfissi = 0; foreach ($infissi as $i) { $inf = new Infisso(); $inf = $i; $countInfissi += $inf->getNInfisso(); } $info_preventivo['Totale Infissi'] = $countInfissi; $info_preventivo['Totale'] = EURO . ' ' . $p->getSpesaTotale(); if ($p->getScontoRivenditore() != '' && $p->getScontoRivenditore() != 0) { $totaleScontato = number_format($p->getSpesaTotale() - floatval($p->getScontoRivenditore()) * $p->getSpesaTotale() / 100, 2); } else { $totaleScontato = ' '; } $sconto = ''; if ($p->getScontoRivenditore() != 0) { $sconto = $p->getScontoRivenditore() . ' %'; } $info_preventivo['Sconto Rivenditore'] = $sconto; $info_preventivo['Totale scontato'] = EURO . ' ' . $totaleScontato; $trasporto = ' '; if ($p->getTrasporto() != '' && $p->getTrasporto() != 0) { $trasporto = number_format($p->getTrasporto(), 2); } $info_preventivo['Costo trasporto'] = EURO . ' ' . $trasporto; $info_preventivo['Note'] = $p->getNote(); $this->printPdfTable($info_preventivo); /* //stampo una linea $this->Ln(3); $this->Cell(180,0,'',1); $this->Ln(3); */ //scrivo la tabella per gli infissi $this->printTableInfissi($infissi); }