Fix rincaro articoli

This commit is contained in:
Thomas Zilio 2018-11-23 16:08:23 +01:00
parent b57c615cad
commit 0c0ff74a95
13 changed files with 59 additions and 84 deletions

View File

@ -2,9 +2,9 @@
$result['idarticolo'] = isset($result['idarticolo']) ? $result['idarticolo'] : null;
unset($_SESSION['superselect']['dir']);
unset($_SESSION['superselect']['idanagrafica']);
unset($_SESSION['superselect']['idarticolo']);
$_SESSION['superselect']['dir'] = $options['dir'];
$_SESSION['superselect']['idanagrafica'] = $options['idanagrafica'];
$_SESSION['superselect']['idarticolo'] = $options['idarticolo'];
// Articolo
if (!isset($options['edit_articolo']) || !empty($options['edit_articolo'])) {
@ -61,11 +61,11 @@ if (!isset($options['edit_articolo']) || !empty($options['edit_articolo'])) {
$("#idarticolo").on("change", function(){
// Autoimpostazione dei valori relativi
if ($(this).val()) {
session_set("superselect,idarticolo", $(this).val(), 0);
session_set("superselect,idanagrafica", "'.$options['idanagrafica'].'", 0);
session_set("superselect,dir", "'.$options['dir'].'", 0);
$data = $(this).selectData();
var id_conto = $data.idconto_'.($options['dir'] == 'entrata' ? 'vendita' : 'acquisto').';

View File

@ -6,20 +6,23 @@ switch ($resource) {
case 'articoli':
$query = 'SELECT mg_articoli.*, (SELECT CONCAT(co_pianodeiconti2.numero, ".", co_pianodeiconti3.numero, " ", co_pianodeiconti3.descrizione) FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti3.id = idconto_vendita) AS idconto_vendita_title, (SELECT CONCAT(co_pianodeiconti2.numero, ".", co_pianodeiconti3.numero, " ", co_pianodeiconti3.descrizione) FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti3.id = idconto_acquisto) AS idconto_acquisto_title, co_iva.descrizione AS iva_vendita FROM mg_articoli LEFT OUTER JOIN co_iva ON mg_articoli.idiva_vendita=co_iva.id |where| ORDER BY mg_articoli.id_categoria ASC, mg_articoli.id_sottocategoria ASC';
//per le vendite leggo iva predefinita da anagrafica, se settata
if (!empty($superselect['dir']) && $superselect['dir'] == 'entrata') {
if (!empty($superselect['idanagrafica'])) {
$idiva_predefinita = $dbo->fetchArray("SELECT idiva_vendite FROM an_anagrafiche WHERE idanagrafica = '".$superselect['idanagrafica']."' ")[0]['idiva_vendite'];
$iva_predefinita = $dbo->fetchArray("SELECT descrizione FROM co_iva WHERE id = '".$superselect['idiva_vendita']."' ")[0]['descrizione'];
}
}
// Individuazione di eventuali listini
if (!empty($superselect['dir']) && !empty($superselect['idanagrafica'])) {
$listino = $dbo->fetchOne('SELECT prc_guadagno as percentuale FROM mg_listini WHERE id=(SELECT idlistino_'.($superselect['dir'] == 'uscita' ? 'acquisti' : 'vendite').' FROM an_anagrafiche WHERE idanagrafica='.prepare($superselect['idanagrafica']).')');
}
//in alternativa, per tutti gli altri casi, prendo quella da impostazioni
if (empty($idiva_predefinita)) {
$idiva_predefinita = get_var('Iva predefinita');
$rs = $dbo->fetchArray("SELECT descrizione FROM co_iva WHERE id='".$idiva_predefinita."'");
$iva_predefinita = $rs[0]['descrizione'];
}
//per le vendite leggo iva predefinita da anagrafica, se settata
if (!empty($superselect['dir']) && $superselect['dir'] == 'entrata' && !empty($superselect['idanagrafica'])) {
$idiva_predefinita = $dbo->fetchArray("SELECT idiva_vendite FROM an_anagrafiche WHERE idanagrafica = '".$superselect['idanagrafica']."' ")[0]['idiva_vendite'];
$iva_predefinita = $dbo->fetchArray("SELECT descrizione FROM co_iva WHERE id = '".$superselect['idiva_vendita']."' ")[0]['descrizione'];
}
//in alternativa, per tutti gli altri casi, prendo quella da impostazioni
if (empty($idiva_predefinita)) {
$idiva_predefinita = get_var('Iva predefinita');
$rs = $dbo->fetchArray("SELECT descrizione FROM co_iva WHERE id='".$idiva_predefinita."'");
$iva_predefinita = $rs[0]['descrizione'];
}
foreach ($elements as $element) {
$filter[] = 'mg_articoli.id='.prepare($element);
@ -70,6 +73,16 @@ switch ($resource) {
$iva = $r['iva_vendita'];
}
$prezzo_vendita = $r['prezzo_vendita'];
if (!empty($listino)) {
$prezzo_vendita = sum($prezzo_vendita, -calcola_sconto([
'sconto' => $listino['percentuale'],
'prezzo' => $prezzo_vendita,
'tipo' => 'PRC',
'qta' => 1,
]));
}
$results[count($results) - 1]['children'][] = [
'id' => $r['id'],
'text' => $r['codice'].' - '.$r['descrizione'],
@ -82,8 +95,8 @@ switch ($resource) {
'idconto_vendita_title' => $r['idconto_vendita_title'],
'idconto_acquisto' => $r['idconto_acquisto'],
'idconto_acquisto_title' => $r['idconto_acquisto_title'],
'prezzo_acquisto' => Translator::numberToLocale($r['prezzo_acquisto']),
'prezzo_vendita' => Translator::numberToLocale($r['prezzo_vendita']),
'prezzo_acquisto' => $r['prezzo_acquisto'],
'prezzo_vendita' => $prezzo_vendita,
];
}

View File

@ -29,13 +29,6 @@ $result = [
$iva = $dbo->fetchArray('SELECT idiva_vendite AS idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica));
$result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita');
// Sconto unitario
$rss = $dbo->fetchArray('SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_vendite FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')');
if (!empty($rss)) {
$result['sconto_unitario'] = $rss[0]['prc_guadagno'];
$result['tipo_sconto'] = 'PRC';
}
// Importazione della gestione dedicata
$file = 'riga';
if (get('is_descrizione') !== null) {

View File

@ -12,8 +12,6 @@ if ($module['name'] == 'Ddt di vendita') {
$dir = 'uscita';
}
$_SESSION['superselect']['dir'] = $dir;
// Impostazioni per la gestione
$options = [
'op' => 'addriga',
@ -37,13 +35,6 @@ $result = [
$iva = $dbo->fetchArray('SELECT idiva_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica));
$result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita');
// Sconto unitario
$rss = $dbo->fetchArray('SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')');
if (!empty($rss)) {
$result['sconto_unitario'] = $rss[0]['prc_guadagno'];
$result['tipo_sconto'] = 'PRC';
}
// Importazione della gestione dedicata
$file = 'riga';
if (get('is_descrizione') !== null) {

View File

@ -28,8 +28,6 @@ $options = [
'idanagrafica' => $idanagrafica,
];
$_SESSION['superselect']['dir'] = $dir;
// Dati di default
$result = [
'descrizione' => '',
@ -50,13 +48,6 @@ $result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita');
$ritenuta_acconto = $dbo->fetchOne('SELECT id_ritenuta_acconto_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS id_ritenuta_acconto FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica));
$options['id_ritenuta_acconto_predefined'] = $ritenuta_acconto['id_ritenuta_acconto'];
// Sconto unitario
$rss = $dbo->fetchArray('SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')');
if (!empty($rss)) {
$result['sconto_unitario'] = $rss[0]['prc_guadagno'];
$result['tipo_sconto'] = 'PRC';
}
// Importazione della gestione dedicata
$file = 'riga';
if (get('is_descrizione') !== null) {

View File

@ -91,7 +91,11 @@ switch (post('op')) {
$n->setTemplate($stato['id_email'], $id_record);
$n->setReceivers($stato['destinatari']);
$n->send();
if ($n->send()) {
flash()->info(tr('Notifica inviata'));
} else {
flash()->warning(tr("Errore nell'invio della notifica"));
}
}
flash()->info(tr('Informazioni salvate correttamente!'));
@ -515,7 +519,11 @@ switch (post('op')) {
$n->setTemplate($stato['id_email'], $id_record);
$n->setReceivers($stato['destinatari']);
$n->send();
if ($n->send()) {
flash()->info(tr('Notifica inviata'));
} else {
flash()->warning(tr("Errore nell'invio della notifica"));
}
}
} else {
flash()->error(tr('Errore durante il salvataggio della firma nel database!'));
@ -562,7 +570,11 @@ switch (post('op')) {
$n->setTemplate('Notifica rimozione intervento', $id_record);
$n->setReceivers($tecnico['email']);
$n->send();
if ($n->send()) {
flash()->info(tr('Notifica inviata'));
} else {
flash()->warning(tr("Errore nell'invio della notifica"));
}
}
break;

View File

@ -13,12 +13,14 @@ $can_edit_prezzi = (in_array('Amministratori', $gruppi)) || (setting('Mostra i p
$idriga = get('idriga');
$idautomezzo = (get('idautomezzo') == 'undefined') ? '' : get('idautomezzo');
$_SESSION['superselect']['idintervento'] = get('id_record');
// Lettura idanagrafica cliente e percentuale di sconto/rincaro in base al listino
$rs = $dbo->fetchArray('SELECT idanagrafica FROM in_interventi WHERE id='.prepare($id_record));
$idanagrafica = $rs[0]['idanagrafica'];
$_SESSION['superselect']['idintervento'] = get('id_record');
$_SESSION['superselect']['dir'] = 'entrata';
$_SESSION['superselect']['idanagrafica'] = $idanagrafica;
if (empty($idriga)) {
$op = 'addarticolo';
$button = '<i class="fa fa-plus"></i> '.tr('Aggiungi');
@ -34,12 +36,6 @@ if (empty($idriga)) {
$sconto_unitario = 0;
$idimpianto = 0;
$listino = $dbo->fetchArray('SELECT prc_guadagno FROM mg_listini WHERE id = (SELECT idlistino_vendite FROM an_anagrafiche WHERE idanagrafica = '.prepare($idanagrafica).')');
if (!empty($listino[0]['prc_guadagno'])) {
$sconto_unitario = $listino[0]['prc_guadagno'];
$tipo_sconto = 'PRC';
}
} else {
$op = 'editarticolo';
$button = '<i class="fa fa-edit"></i> '.tr('Modifica');

View File

@ -9,9 +9,8 @@ if (file_exists(__DIR__.'/../../../core.php')) {
$idriga = filter('idriga');
//Lettura idanagrafica cliente e percentuale di sconto/rincaro in base al listino
$rs = $dbo->fetchArray('SELECT idanagrafica, (SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_vendite FROM an_anagrafiche WHERE idanagrafica=.in_interventi.idanagrafica)) AS prc_sconto FROM in_interventi WHERE id='.prepare($id_record));
$rs = $dbo->fetchArray('SELECT idanagrafica FROM in_interventi WHERE id='.prepare($id_record));
$idanagrafica = $rs[0]['idanagrafica'];
$prc_sconto = $rs[0]['prc_sconto'];
if (empty($idriga)) {
$op = 'addriga';
@ -23,11 +22,6 @@ if (empty($idriga)) {
$um = '';
$prezzo_vendita = '0';
$prezzo_acquisto = '0';
if (!empty($rs[0]['prc_guadagno'])) {
$sconto_unitario = $rs[0]['prc_guadagno'];
$tipo_sconto = 'PRC';
}
} else {
$op = 'editriga';
$button = '<i class="fa fa-edit"></i> '.tr('Modifica');

View File

@ -184,7 +184,7 @@ function get_costi_intervento($id_intervento)
$rs_iva = $dbo->fetchArray('SELECT descrizione, percentuale, indetraibile FROM co_iva WHERE id='.prepare($idiva));
$tecnici = $dbo->fetchArray('SELECT
COALESCE(SUM(
ROUND(prezzo_ore_unitario_tecnico*ore, '.$decimals.')
), 0) AS manodopera_costo,
@ -194,8 +194,8 @@ function get_costi_intervento($id_intervento)
COALESCE(SUM(
ROUND(prezzo_ore_unitario*ore, '.$decimals.') - ROUND(sconto_unitario*ore, '.$decimals.')
), 0) AS manodopera_scontato,
COALESCE(SUM(
ROUND(prezzo_dirittochiamata_tecnico, '.$decimals.')
), 0) AS dirittochiamata_costo,

View File

@ -12,8 +12,6 @@ if ($module['name'] == 'Ordini cliente') {
$dir = 'uscita';
}
$_SESSION['superselect']['dir'] = $dir;
// Impostazioni per la gestione
$options = [
'op' => 'addriga',
@ -37,13 +35,6 @@ $result = [
$iva = $dbo->fetchArray('SELECT idiva_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica));
$result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita');
// Sconto unitario
$rss = $dbo->fetchArray('SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')');
if (!empty($rss)) {
$result['sconto_unitario'] = $rss[0]['prc_guadagno'];
$result['tipo_sconto'] = 'PRC';
}
// Importazione della gestione dedicata
$file = 'riga';
if (get('is_descrizione') !== null) {

View File

@ -29,13 +29,6 @@ $result = [
$iva = $dbo->fetchArray('SELECT idiva_vendite AS idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica));
$result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita');
// Sconto unitario
$rss = $dbo->fetchArray('SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_vendite FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')');
if (!empty($rss)) {
$result['sconto_unitario'] = $rss[0]['prc_guadagno'];
$result['tipo_sconto'] = 'PRC';
}
// Importazione della gestione dedicata
$file = 'riga';
if (get('is_descrizione') !== null) {

View File

View File

@ -5,6 +5,7 @@ namespace Notifications;
use Mail;
use Prints;
use Uploads;
use PHPMailer\PHPMailer\Exception as PHPMailerException;
class EmailNotification extends Notification
{
@ -274,7 +275,7 @@ class EmailNotification extends Notification
], $this->logs);
return true;
} catch (PHPMailer\PHPMailer\Exception $e) {
} catch (PHPMailerException $e) {
if ($exceptions) {
throw $e;
}