15 require
'../../../../../_src/_config.php';
29 $lock =
mysqlQuery(
$cf[
'mysql'][
'connection'],
'LOCK TABLES documenti_amministrativi WRITE, righe_documenti_amministrativi WRITE, scadenze WRITE' );
32 'SELECT * FROM documenti_amministrativi WHERE id = ? AND id_tipologia = 5',
42 'SELECT numero FROM documenti_amministrativi WHERE id_emittente = ? AND id_tipologia = 1 AND YEAR(data) = YEAR(now()) ORDER BY numero DESC',
43 array(array(
's' => $nota[
'id_emittente'] )))+1;
47 'INSERT INTO documenti_amministrativi ( id_tipologia, numero, sezione, data, id_emittente, id_cliente, nome, note_cliente, note_interne ) '.
48 'VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ? )',
51 array(
's' => $numeroFattura ),
52 array(
's' => $nota[
'sezione'] ),
53 array(
's' => date(
'Y/m/d',time()) ),
54 array(
's' => $nota[
'id_emittente'] ),
55 array(
's' => $nota[
'id_cliente'] ),
56 array(
's' => $nota[
'nome'] ),
57 array(
's' =>
'riferimento nota pro forma numero '. $nota[
'numero'].
' del '.$nota[
'data'] ),
58 array(
's' => $nota[
'note_interne'] )
61 if( isset($idFattura) )
64 $genitori =
mysqlQuery(
$cf[
'mysql'][
'connection'],
'SELECT * FROM righe_documenti_amministrativi WHERE id_documento = ? AND '.
65 'id_riferimento IS NULL AND id_genitore IS NULL', array(array(
's' => $nota[
'id'] )));
67 if(
sizeof($genitori)>0){
69 foreach($genitori as $genitore ){
72 'INSERT INTO righe_documenti_amministrativi (id_tipologia, id_emittente, id_cliente, id_documento, id_progetto, id_task, id_attivita, '.
73 'id_articolo, id_udm, quantita, id_listino, id_valuta, importo_netto_totale, importo_netto_totale_non_scontato, id_iva, nome, testo, ordine, data_lavorazione, data_fatturabile, data_scadenza ) '.
74 'VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )',
77 array(
's' => $genitore[
'id_emittente'] ), array(
's' => $genitore[
'id_cliente'] ), array(
's' => $idFattura),
78 array(
's' => $genitore[
'id_progetto'] ), array(
's' => $genitore[
'id_task'] ), array(
's' => $genitore[
'id_attivita'] ),
79 array(
's' => $genitore[
'id_articolo'] ), array(
's' => $genitore[
'id_udm'] ), array(
's' => $genitore[
'quantita'] ),
80 array(
's' => $genitore[
'id_listino'] ), array(
's' => $genitore[
'id_valuta'] ), array(
's' => $genitore[
'importo_netto_totale'] ),
81 array(
's' => $genitore[
'importo_netto_totale_non_scontato'] ),array(
's' => $genitore[
'id_iva'] ), array(
's' => $genitore[
'nome'] ),
82 array(
's' => $genitore[
'testo']), array(
's' => $genitore[
'ordine']), array(
's' => $genitore[
'data_lavorazione']),
83 array(
's' => $genitore[
'data_fatturabile']), array(
's' => $genitore[
'data_scadenza'])));
84 $update =
mysqlQuery(
$cf[
'mysql'][
'connection'],
'UPDATE righe_documenti_amministrativi SET id_riferimento = ? WHERE id = ?',
85 array(array(
's' => $idGenitore ),array(
's' => $genitore[
'id'] ) ));
86 $righe =
mysqlQuery(
$cf[
'mysql'][
'connection'],
'SELECT * FROM righe_documenti_amministrativi WHERE id_genitore = ? AND id_riferimento IS NULL',
87 array(array(
's' => $genitore[
'id'] )));
90 foreach ($righe as $riga ){
93 'INSERT INTO righe_documenti_amministrativi (id_genitore, id_tipologia, id_emittente, id_cliente, id_documento, id_progetto, id_task, id_attivita, '.
94 'id_articolo, id_udm, quantita, id_listino, id_valuta, importo_netto_totale, importo_netto_totale_non_scontato, id_iva, nome, testo, ordine, data_lavorazione, data_fatturabile, data_scadenza ) '.
95 'VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )',
97 array(
's' => $idGenitore ), array(
's' =>
'1' ),
98 array(
's' => $riga[
'id_emittente'] ), array(
's' => $riga[
'id_cliente'] ), array(
's' => $idFattura),
99 array(
's' => $riga[
'id_progetto'] ), array(
's' => $riga[
'id_task'] ), array(
's' => $riga[
'id_attivita'] ),
100 array(
's' => $riga[
'id_articolo'] ), array(
's' => $riga[
'id_udm'] ), array(
's' => $riga[
'quantita'] ),
101 array(
's' => $riga[
'id_listino'] ), array(
's' => $riga[
'id_valuta'] ), array(
's' => $riga[
'importo_netto_totale'] ),
102 array(
's' => $riga[
'importo_netto_totale_non_scontato'] ),array(
's' => $riga[
'id_iva'] ), array(
's' => $riga[
'nome'] ),
103 array(
's' => $riga[
'testo']), array(
's' => $riga[
'ordine']), array(
's' => $riga[
'data_lavorazione']),
104 array(
's' => $riga[
'data_fatturabile']), array(
's' => $riga[
'data_scadenza'])));
107 'UPDATE righe_documenti_amministrativi SET id_riferimento = ? WHERE id = ?',
108 array(array(
's' => $idRiga ),array(
's' => $riga[
'id'] ) ));
112 logWrite(
'non sono presenti righe per la nota pro forma/tutte le righe sono state fatturate',
'task', LOG_ERR );
113 $status[
'msg'][] =
'non sono presenti righe per la nota pro forma, tutte le righe sono state fatturate';
114 $delete =
mysqlQuery(
$cf[
'mysql'][
'connection'],
'DELETE FROM documenti_amministrativi WHERE id = ?', array(array(
's' => $idFattura )) );
117 if(isset($idFattura)){
120 'SELECT * FROM scadenze WHERE id_documento = ?',
121 array(array(
's' => $nota[
'id'] )));
123 if(isset($scadenze)){
124 foreach ($scadenze as $scadenza ){
126 'INSERT INTO scadenze ( id_documento, id_modalita_pagamento, nome, data, importo_lordo_totale, se_pagato, id_pratica ) VALUES ( ?, ?, ?, ?, ?, ?, ? )',
128 array(
's' => $idFattura),
129 array(
's' => $scadenza[
'id_modalita_pagamento']),
130 array(
's' => $scadenza[
'nome']),
131 array(
's' => $scadenza[
'data']),
132 array(
's' => $scadenza[
'importo_lordo_totale']),
133 array(
's' => $scadenza[
'se_pagato']),
134 array(
's' => $scadenza[
'id_pratica'])
141 $status[
'msg'][] =
'impossibile inserire la fattura';
142 logWrite(
'impossibile inserire la fattura',
'task', LOG_DEBUG );}
146 $status[
'msg'][] =
'nota pro forma non trovata';
148 logWrite(
'id non appartenente a fattura',
'task', LOG_DEBUG );}
logWrite( $m, $f='site', $l=LOG_NOTICE, $d=DIRECTORY_LOG, $t=CURRENT_LOG_LEVEL, $s=SITE_STATUS)
scrive un messaggio nei log del sito
$cf['ricerca']['template']
$_REQUEST['__view__'][ $ct['view']['id']]['__restrict__']['id_progetto']['EQ']