Aggiornati riferimenti nelle stampe (#85)

This commit is contained in:
Thomas Zilio 2018-02-15 16:44:16 +01:00
parent 3d22c8337c
commit 70d574249a
6 changed files with 256 additions and 229 deletions

View File

@ -58,19 +58,19 @@ if (!empty($result_query) && $result_query != 'menu' && $result_query != 'custom
}
}
/*filtro sezionali*/
if (isset($_SESSION['entrata']['idsezionale']) and (($modules_info[$id_module]['name'] == 'Fatture di vendita') or ($modules_info[$id_module]['name'] == 'Laboratorio') or ($modules_info[$id_module]['name'] == 'Ticket'))) {
// Ricerca
if (!empty($search_filters)) {
$result_query = str_replace('2=2', '2=2 AND ('.implode(' AND ', $search_filters).') ', $result_query);
}
// Filtro sezionali
if (isset($_SESSION['entrata']['idsezionale']) && (($modules_info[$id_module]['name'] == 'Fatture di vendita') || ($modules_info[$id_module]['name'] == 'Laboratorio') || ($modules_info[$id_module]['name'] == 'Ticket'))) {
$result_query = str_replace('1=1', " 1=1 AND idsezionale = '".$_SESSION['entrata']['idsezionale']."' ", $result_query);
}
if (isset($_SESSION['uscita']['idsezionale']) and ($modules_info[$id_module]['name'] == 'Fatture di acquisto')) {
if (isset($_SESSION['uscita']['idsezionale']) && ($modules_info[$id_module]['name'] == 'Fatture di acquisto')) {
$result_query = str_replace('1=1', " 1=1 AND idsezionale = '".$_SESSION['uscita']['idsezionale']."' ", $result_query);
}
/*fine filtro sezionali*/
if (!empty($search_filters)) {
$result_query = str_replace('2=2', '2=2 AND ('.implode(' AND ', $search_filters).') ', $result_query);
}
// Filtri derivanti dai permessi (eventuali)
if (empty($id_plugin)) {

View File

@ -32,8 +32,6 @@ switch (filter('op')) {
break;
//pianificazione
case 'pianificazione':
@ -41,8 +39,7 @@ switch (filter('op')) {
$intervallo = filter('intervallo');
$parti_da_oggi = post('parti_da_oggi');
if (!empty($idcontratto_riga) and !empty($intervallo) ){
if (!empty($idcontratto_riga) && !empty($intervallo)) {
$qp = 'SELECT *, (SELECT idanagrafica FROM co_contratti WHERE id = '.$id_record.' ) AS idanagrafica, (SELECT data_conclusione FROM co_contratti WHERE id = '.$id_record.' ) AS data_conclusione, (SELECT descrizione FROM in_tipiintervento WHERE idtipointervento=co_righe_contratti.idtipointervento) AS tipointervento FROM co_righe_contratti WHERE id = '.$idcontratto_riga;
$rsp = $dbo->fetchArray($qp);
@ -56,48 +53,34 @@ switch (filter('op')) {
$data_conclusione = $rsp[0]['data_conclusione'];
$data_richiesta = $rsp[0]['data_richiesta'];
//se voglio pianificare anche le date precedenti ad oggi (parto da questo promemoria)
if ($parti_da_oggi) {
//oggi
$min_date = date('Y-m-d');
} else {
$min_date = date('Y-m-d', strtotime($data_richiesta));
}
//inizio controllo data_conclusione, data valida e maggiore della $min_date
if ( (date('Y', strtotime($data_conclusione)) > 1970) and (date('Y-m-d', strtotime($min_date)) < date('Y-m-d', strtotime($data_conclusione))) ) {
if ((date('Y', strtotime($data_conclusione)) > 1970) && (date('Y-m-d', strtotime($min_date)) < date('Y-m-d', strtotime($data_conclusione)))) {
//Ciclo partendo dalla data_richiesta fino all data conclusione del contratto
while (date('Y-m-d', strtotime($data_richiesta)) < date('Y-m-d', strtotime($data_conclusione))) {
//calcolo nuova data richiesta
$data_richiesta = date('Y-m-d', strtotime($data_richiesta. " + ".intval($intervallo)." days") );
$data_richiesta = date('Y-m-d', strtotime($data_richiesta.' + '.intval($intervallo).' days'));
//controllo nuova data richiesta --> solo date maggiori o uguali di [oggi o data richiesta iniziale] ma che non superano la data di fine del contratto
if ( (date('Y-m-d', strtotime($data_richiesta)) >= $min_date ) and (date('Y-m-d', strtotime($data_richiesta)) <= date('Y-m-d', strtotime($data_conclusione))) ){
if ((date('Y-m-d', strtotime($data_richiesta)) >= $min_date) && (date('Y-m-d', strtotime($data_richiesta)) <= date('Y-m-d', strtotime($data_conclusione)))) {
//Controllo che non esista già un promemoria idcontratto, idtipointervento e data_richiesta.
if (count($dbo->fetchArray("SELECT id FROM co_righe_contratti WHERE data_richiesta = '".$data_richiesta."' AND idtipointervento = '".$idtipointervento."' AND idcontratto = '".$id_record."' ")) == 0) {
$query = 'INSERT INTO `co_righe_contratti`(`idcontratto`, `idtipointervento`, `data_richiesta`, `richiesta`, `idsede`) VALUES('.prepare($id_record).', '.prepare($idtipointervento).', '.prepare($data_richiesta).', '.prepare($richiesta).', '.prepare($idsede).')';
if ($dbo->query($query)) {
$idriga = $dbo->lastInsertedID();
$_SESSION['infos'][] = tr('Promemoria intervento pianificato!');
//pianificare anche l' intervento?
if ($post['pianifica_intervento']) {
/*$orario_inizio = post('orario_inizio');
$orario_fine = post('orario_fine');*/
@ -119,8 +102,6 @@ switch (filter('op')) {
$codice = get_next_code($rs[0]['codice'], 1, $formato);
}
// Creo intervento
$dbo->insert('in_interventi', [
'idanagrafica' => $idanagrafica,
@ -137,8 +118,6 @@ switch (filter('op')) {
$idintervento = $dbo->lastInsertedID();
$idtecnici = post('idtecnico');
//aggiungo i tecnici
@ -152,49 +131,28 @@ switch (filter('op')) {
// $_SESSION['infos'][] = tr('Intervento '.$codice.' pianificato correttamente.');
$_SESSION['infos'][] = tr('Interventi pianificati correttamente.');
}
//fine if pianificazione intervento
} else {
$_SESSION['errors'][] = tr('Errore durante esecuzione query di pianificazione. #'.$idcontratto_riga);
}
} else {
$_SESSION['warnings'][] = tr("Esiste già un promemoria pianificato per il ".readDate($data_richiesta).".");
$_SESSION['warnings'][] = tr('Esiste già un promemoria pianificato per il '.readDate($data_richiesta).'.');
}
}
//fine controllo nuova data richiesta
}
//fine ciclo while
} else {
$_SESSION['errors'][] = tr('Nessuna data di conclusione del contratto oppure quest\'ultima è già trascorsa, impossibile pianificare nuovi promemoria.');
}
//fine controllo data_conclusione
} else {
$_SESSION['errors'][] = tr('Errore durante la pianificazione. #'.$idcontratto_riga);
}
redirect($rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'#tab_'.$id_plugin);
break;
}
// Righe già inserite
@ -250,13 +208,11 @@ if (count($rsp) != 0) {
]));
$disabled = 'disabled';
} else {
$info_intervento = '- '.('Nessuno').' -';
$disabled = '';
}
if (date('Y', strtotime($records[0]['data_conclusione'])) < 1971) {
$records[0]['data_conclusione'] = '';
}
@ -269,14 +225,8 @@ if (count($rsp) != 0) {
<td>'.$info_sede.'</td>
<td align="right">';
echo '
<button type="button" class="btn btn-warning btn-sm" title="Pianifica altri promemoria..." data-toggle="tooltip" onclick="launch_modal(\'Pianifica altri promemoria\', \''.$rootdir.'/modules/contratti/plugins/addpianficazione.php?id_module='.Modules::get('Contratti')['id'].'&id_plugin='.Plugins::get('Pianificazione interventi')['id'].'&ref=interventi_contratti&id_record='.$id_record.'&idcontratto_riga='.$rsp[$i]['id'].'\');"'.( ( !empty($pianificabile) and strtotime($records[0]['data_conclusione'])) ? '' : ' disabled').'><i class="fa fa-clock-o"></i></button>';
<button type="button" class="btn btn-warning btn-sm" title="Pianifica altri promemoria..." data-toggle="tooltip" onclick="launch_modal(\'Pianifica altri promemoria\', \''.$rootdir.'/modules/contratti/plugins/addpianficazione.php?id_module='.Modules::get('Contratti')['id'].'&id_plugin='.Plugins::get('Pianificazione interventi')['id'].'&ref=interventi_contratti&id_record='.$id_record.'&idcontratto_riga='.$rsp[$i]['id'].'\');"'.((!empty($pianificabile) && strtotime($records[0]['data_conclusione'])) ? '' : ' disabled').'><i class="fa fa-clock-o"></i></button>';
echo '
<button type="button" '.$disabled.' class="btn btn-primary btn-sm '.$disabled.' " title="Pianifica intervento ora..." data-toggle="tooltip" onclick="launch_modal(\'Pianifica intervento\', \''.$rootdir.'/add.php?id_module='.Modules::get('Interventi')['id'].'&ref=interventi_contratti&idcontratto='.$id_record.'&idcontratto_riga='.$rsp[$i]['id'].'\');"'.(!empty($pianificabile) ? '' : ' disabled').'><i class="fa fa-calendar"></i></button>';

View File

@ -49,7 +49,7 @@ if (!empty($rs_art)) {
// q.tà
echo '
<td class="text-center">';
if ($r['is_descrizione'] == 0) {
if (empty($r['is_descrizione'])) {
echo
Translator::numberToLocale($r['qta']);
}
@ -59,7 +59,7 @@ if (!empty($rs_art)) {
// um
echo '
<td class="text-center">';
if ($r['is_descrizione'] == 0) {
if (empty($r['is_descrizione'])) {
echo
$r['um'];
}
@ -69,7 +69,7 @@ if (!empty($rs_art)) {
// costo unitario
echo '
<td class="text-center">';
if ($r['is_descrizione'] == 0) {
if (empty($r['is_descrizione'])) {
echo
Translator::numberToLocale($r['subtotale'] / $r['qta']).' &euro;';
}
@ -79,7 +79,7 @@ if (!empty($rs_art)) {
// iva
echo '
<td class="text-right">';
if ($r['is_descrizione'] == 0) {
if (empty($r['is_descrizione'])) {
echo
Translator::numberToLocale($r['iva'])." &euro;<br>
<small class='help-block'>".$r['desc_iva'].'</small>';
@ -90,7 +90,7 @@ if (!empty($rs_art)) {
// Imponibile
echo '
<td class="text-right">';
if ($r['is_descrizione'] == 0) {
if (empty($r['is_descrizione'])) {
echo
Translator::numberToLocale($r['subtotale']).' &euro;';

View File

@ -91,7 +91,8 @@ if (!empty($rs)) {
$ref_modulo = null;
$ref_id = null;
// Aggiunta riferimento a ordine
// Aggiunta dei riferimenti ai documenti
// Ordine
if (!empty($r['idordine'])) {
$data = $dbo->fetchArray("SELECT IF(numero_esterno != '', numero_esterno, numero) AS numero, data FROM or_ordini WHERE id=".prepare($r['idordine']));
@ -99,28 +100,36 @@ if (!empty($rs)) {
$ref_id = $r['idordine'];
$documento = tr('Ordine');
} elseif (!empty($r['idddt'])) {
}
// DDT
elseif (!empty($r['idddt'])) {
$data = $dbo->fetchArray("SELECT IF(numero_esterno != '', numero_esterno, numero) AS numero, data FROM dt_ddt WHERE id=".prepare($r['idddt']));
$ref_modulo = ($dir == 'entrata') ? 'Ddt di vendita' : 'Ddt di acquisto';
$ref_id = $r['idddt'];
$documento = tr('Ddt');
} elseif (!empty($r['idpreventivo'])) {
}
// Preventivo
elseif (!empty($r['idpreventivo'])) {
$data = $dbo->fetchArray('SELECT numero, data_bozza AS data FROM co_preventivi WHERE id='.prepare($r['idpreventivo']));
$ref_modulo = 'Preventivi';
$ref_id = $r['idpreventivo'];
$documento = tr('Preventivo');
} elseif (!empty($r['idcontratto'])) {
}
// Contratto
elseif (!empty($r['idcontratto'])) {
$data = $dbo->fetchArray('SELECT numero, data_bozza AS data FROM co_contratti WHERE id='.prepare($r['idcontratto']));
$ref_modulo = 'Contratti';
$ref_id = $r['idcontratto'];
$documento = tr('Contratto');
} elseif (!empty($r['idintervento'])) {
}
// Intervento
elseif (!empty($r['idintervento'])) {
$data = $dbo->fetchArray('SELECT codice AS numero, data_richiesta AS data FROM in_interventi WHERE id='.prepare($r['idintervento']));
$ref_modulo = 'Interventi';
@ -155,7 +164,7 @@ if (!empty($rs)) {
echo '
<td class="text-right">';
if($r['is_descrizione']==0){
if (empty($r['is_descrizione'])) {
echo
Translator::numberToLocale($r['qta']);
}
@ -167,7 +176,7 @@ if (!empty($rs)) {
echo '
<td class="text-center">';
if($r['is_descrizione']==0){
if (empty($r['is_descrizione'])) {
echo
$r['um'];
}
@ -179,7 +188,7 @@ if (!empty($rs)) {
echo '
<td class="text-right">';
if($r['is_descrizione']==0){
if (empty($r['is_descrizione'])) {
echo
Translator::numberToLocale($r['subtotale'] / $r['qta']).' &euro;';
@ -199,7 +208,7 @@ if (!empty($rs)) {
echo '
<td class="text-right">';
if($r['is_descrizione']==0){
if (empty($r['is_descrizione'])) {
echo
Translator::numberToLocale($r['iva']).' &euro;
<br><small class="help-block">'.$r['desc_iva'].'</small>';
@ -211,7 +220,7 @@ if (!empty($rs)) {
// Imponibile
echo '
<td class="text-right">';
if($r['is_descrizione']==0){
if (empty($r['is_descrizione'])) {
echo
Translator::numberToLocale($r['subtotale'] - $r['sconto']).' &euro;';
}

View File

@ -70,7 +70,7 @@ foreach ($rs_gen as $r) {
echo '
<td class="text-center">';
if ($r['is_descrizione'] == 0) {
if (empty($r['is_descrizione'])) {
echo
Translator::numberToLocale($r['qta']).' '.$r['um'];
}
@ -91,7 +91,7 @@ foreach ($rs_gen as $r) {
// Imponibile
echo "
<td class='text-right'>";
if ($r['is_descrizione'] == 0) {
if (empty($r['is_descrizione'])) {
echo
Translator::numberToLocale($r['subtotale']).' &euro;';
@ -112,7 +112,7 @@ foreach ($rs_gen as $r) {
// Iva
echo "
<td class='text-center'>";
if ($r['is_descrizione'] == 0) {
if (empty($r['is_descrizione'])) {
echo
Translator::numberToLocale($r['perc_iva']);
}

View File

@ -57,6 +57,73 @@ foreach ($righe as $r) {
}
}
// Aggiunta dei riferimenti ai documenti
$ref_modulo = null;
$ref_id = null;
// Ordine
if (!empty($r['idordine'])) {
$data = $dbo->fetchArray("SELECT IF(numero_esterno != '', numero_esterno, numero) AS numero, data FROM or_ordini WHERE id=".prepare($r['idordine']));
$ref_modulo = ($records[0]['dir'] == 'entrata') ? 'Ordini cliente' : 'Ordini fornitore';
$ref_id = $r['idordine'];
$documento = tr('Ordine');
}
// DDT
elseif (!empty($r['idddt'])) {
$data = $dbo->fetchArray("SELECT IF(numero_esterno != '', numero_esterno, numero) AS numero, data FROM dt_ddt WHERE id=".prepare($r['idddt']));
$ref_modulo = ($records[0]['dir'] == 'entrata') ? 'Ddt di vendita' : 'Ddt di acquisto';
$ref_id = $r['idddt'];
$documento = tr('Ddt');
}
// Preventivo
elseif (!empty($r['idpreventivo'])) {
$data = $dbo->fetchArray('SELECT numero, data_bozza AS data FROM co_preventivi WHERE id='.prepare($r['idpreventivo']));
$ref_modulo = 'Preventivi';
$ref_id = $r['idpreventivo'];
$documento = tr('Preventivo');
}
// Contratto
elseif (!empty($r['idcontratto'])) {
$data = $dbo->fetchArray('SELECT numero, data_bozza AS data FROM co_contratti WHERE id='.prepare($r['idcontratto']));
$ref_modulo = 'Contratti';
$ref_id = $r['idcontratto'];
$documento = tr('Contratto');
}
// Intervento
elseif (!empty($r['idintervento'])) {
$data = $dbo->fetchArray('SELECT codice AS numero, data_richiesta AS data FROM in_interventi WHERE id='.prepare($r['idintervento']));
$ref_modulo = 'Interventi';
$ref_id = $r['idintervento'];
$documento = tr('Intervento');
}
if (!empty($ref_modulo) && !empty($ref_id)) {
$documento = Stringy\Stringy::create($documento)->toLowerCase();
if (!empty($data)) {
$descrizione = tr('Rif. _DOC_ num. _NUM_ del _DATE_', [
'_DOC_' => $documento,
'_NUM_' => $data[0]['numero'],
'_DATE_' => Translator::dateToLocale($data[0]['data']),
]);
} else {
$descrizione = tr('_DOC_ di riferimento _ID_ eliminato', [
'_DOC_' => $documento->upperCaseFirst(),
'_ID_' => $ref_id,
]);
}
}
// Aggiunta riferimento a ordine
if (!empty($r['idordine'])) {
$rso = $dbo->fetchArray('SELECT numero, numero_esterno, data FROM or_ordini WHERE id='.prepare($r['idordine']));
@ -96,17 +163,20 @@ foreach ($righe as $r) {
}
// Aumento del conteggio
if ((!empty($r['idordine']) || !empty($r['idddt']) || !empty($r['idpreventivo'])) && $count <= 1 && !empty($descrizione)) {
echo '<br><small>'.$descrizione.'</small>';
if (!empty($descrizione)) {
echo '
<br><small>'.$descrizione.'</small>';
if ($count <= 1) {
$count += 0.4;
}
}
echo '
</td>';
echo '
<td class="text-center">';
if($r['is_descrizione']==0){
if (empty($r['is_descrizione'])) {
echo
Translator::numberToLocale($r['qta']).' '.$r['um'];
}
@ -116,9 +186,8 @@ foreach ($righe as $r) {
// Prezzo unitario
echo "
<td class='text-right'>";
if($r['is_descrizione']==0){
echo
(empty($r['qta']) || empty($r['subtotale']) ? '' : Translator::numberToLocale($r['subtotale'] / $r['qta'])).' &euro;';
if (empty($r['is_descrizione'])) {
echo(empty($r['qta']) || empty($r['subtotale']) ? '' : Translator::numberToLocale($r['subtotale'] / $r['qta'])).' &euro;';
if ($r['sconto'] > 0) {
echo "
@ -139,9 +208,8 @@ foreach ($righe as $r) {
// Imponibile
echo "
<td class='text-right'>";
if($r['is_descrizione']==0){
echo
(empty($r['subtotale']) ? '' : Translator::numberToLocale($r['subtotale'] - $r['sconto'])).' &euro;';
if (empty($r['is_descrizione'])) {
echo(empty($r['subtotale']) ? '' : Translator::numberToLocale($r['subtotale'] - $r['sconto'])).' &euro;';
if ($r['sconto'] > 0) {
echo "
@ -161,7 +229,7 @@ foreach ($righe as $r) {
// Iva
echo '
<td class="text-center">';
if($r['is_descrizione']==0){
if (empty($r['is_descrizione'])) {
echo
Translator::numberToLocale($r['perc_iva']);
}