mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-24 07:17:55 +01:00
Generalizzazione dei form per le righe (Ordini)
eneralizzazione della gestione dei form di righe, articoli e descrizioni come discusso in #156.
This commit is contained in:
parent
56e77e8479
commit
4e2c7d0eaf
@ -1,46 +1,55 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
// Articolo
|
||||
echo '
|
||||
if (!isset($options['edit_articolo']) || !empty($options['edit_articolo'])) {
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{[ "type": "select", "label": "'.tr('Articolo').'", "name": "idarticolo", "required": 1, "value": "'.$result['idarticolo'].'", "ajax-source": "articoli" ]}
|
||||
</div>
|
||||
</div>';
|
||||
} else {
|
||||
$database = Database::getConnection();
|
||||
$articolo = $database->fetchArray('SELECT codice, descrizione FROM mg_articoli WHERE id = '.prepare($result['idarticolo']))[0];
|
||||
|
||||
echo '
|
||||
<p>'.tr('Articolo').': '.$articolo['codice'].' - '.$articolo['descrizione'].'.</p>';
|
||||
}
|
||||
|
||||
echo App::internalLoad('riga.php', $result, $options);
|
||||
|
||||
// Informazioni aggiuntive
|
||||
if ($module['name'] != 'Contratti' && $module['name'] != 'Preventivi') {
|
||||
echo '
|
||||
if (!isset($options['edit_articolo']) || !empty($options['edit_articolo'])) {
|
||||
// Informazioni aggiuntive
|
||||
if ($module['name'] != 'Contratti' && $module['name'] != 'Preventivi') {
|
||||
$disabled = empty($result['idarticolo']);
|
||||
|
||||
echo '
|
||||
<div class="row" id="prezzi_articolo">
|
||||
<div class="col-md-4 text-center">
|
||||
<button type="button" class="btn btn-sm btn-info btn-block disabled" onclick="$(\'#prezzi\').toggleClass(\'hide\'); $(\'#prezzi\').load(\''.ROOTDIR."/ajax_complete.php?module=Articoli&op=getprezzi&idarticolo=' + $('#idarticolo option:selected').val() + '&idanagrafica=".$options['idanagrafica'].'\');" disabled>
|
||||
<button type="button" class="btn btn-sm btn-info btn-block '.($disabled ? 'disabled' : '').'" '.($disabled ? 'disabled' : '').' onclick="$(\'#prezzi\').toggleClass(\'hide\'); $(\'#prezzi\').load(\''.ROOTDIR."/ajax_complete.php?module=Articoli&op=getprezzi&idarticolo=' + $('#idarticolo option:selected').val() + '&idanagrafica=".$options['idanagrafica'].'\');">
|
||||
<i class="fa fa-search"></i> '.tr('Visualizza ultimi prezzi (cliente)').'
|
||||
</button>
|
||||
<div id="prezzi" class="hide"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 text-center">
|
||||
<button type="button" class="btn btn-sm btn-info btn-block disabled" onclick="$(\'#prezziacquisto\').toggleClass(\'hide\'); $(\'#prezziacquisto\').load(\''.ROOTDIR."/ajax_complete.php?module=Articoli&op=getprezziacquisto&idarticolo=' + $('#idarticolo option:selected').val() + '&idanagrafica=".$options['idanagrafica'].'\');" disabled>
|
||||
<button type="button" class="btn btn-sm btn-info btn-block '.($disabled ? 'disabled' : '').'" '.($disabled ? 'disabled' : '').' onclick="$(\'#prezziacquisto\').toggleClass(\'hide\'); $(\'#prezziacquisto\').load(\''.ROOTDIR."/ajax_complete.php?module=Articoli&op=getprezziacquisto&idarticolo=' + $('#idarticolo option:selected').val() + '&idanagrafica=".$options['idanagrafica'].'\');">
|
||||
<i class="fa fa-search"></i> '.tr('Visualizza ultimi prezzi (acquisto)').'
|
||||
</button>
|
||||
<div id="prezziacquisto" class="hide"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 text-center">
|
||||
<button type="button" class="btn btn-sm btn-info btn-block disabled" onclick="$(\'#prezzivendita\').toggleClass(\'hide\'); $(\'#prezzivendita\').load(\''.ROOTDIR."/ajax_complete.php?module=Articoli&op=getprezzivendita&idarticolo=' + $('#idarticolo option:selected').val() + '&idanagrafica=".$options['idanagrafica'].'\');" disabled>
|
||||
<button type="button" class="btn btn-sm btn-info btn-block '.($disabled ? 'disabled' : '').'" '.($disabled ? 'disabled' : '').' onclick="$(\'#prezzivendita\').toggleClass(\'hide\'); $(\'#prezzivendita\').load(\''.ROOTDIR."/ajax_complete.php?module=Articoli&op=getprezzivendita&idarticolo=' + $('#idarticolo option:selected').val() + '&idanagrafica=".$options['idanagrafica'].'\');">
|
||||
<i class="fa fa-search"></i> '.tr('Visualizza ultimi prezzi (vendita)').'
|
||||
</button>
|
||||
<div id="prezzivendita" class="hide"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>';
|
||||
}
|
||||
}
|
||||
|
||||
echo '
|
||||
echo '
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$("#idarticolo").on("change", function(){
|
||||
@ -55,8 +64,8 @@ echo '
|
||||
$("#um").selectSetNew($data.um, $data.um);
|
||||
}';
|
||||
|
||||
if ($module['name'] != 'Contratti' && $module['name'] != 'Preventivi') {
|
||||
echo '
|
||||
if ($module['name'] != 'Contratti' && $module['name'] != 'Preventivi') {
|
||||
echo '
|
||||
|
||||
// Operazioni sui prezzi in fondo alla pagina
|
||||
$("#prezzi_articolo button").attr("disabled", !$(this).val());
|
||||
@ -70,9 +79,10 @@ if ($module['name'] != 'Contratti' && $module['name'] != 'Preventivi') {
|
||||
$("#prezzi").html("");
|
||||
$("#prezzivendita").html("");
|
||||
$("#prezziacquisto").html("");';
|
||||
}
|
||||
}
|
||||
|
||||
echo '
|
||||
echo '
|
||||
});
|
||||
});
|
||||
</script>';
|
||||
}
|
||||
|
@ -1,8 +1,5 @@
|
||||
<?php
|
||||
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
@ -1,7 +1,5 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
/*
|
||||
Form di inserimento riga documento
|
||||
*/
|
||||
|
@ -1,7 +1,5 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
// Descrizione
|
||||
echo App::internalLoad('descrizione.php', $result, $options);
|
||||
|
||||
|
@ -175,28 +175,23 @@ switch (post('op')) {
|
||||
$iva = ($subtot - $sconto) / 100 * $rs[0]['percentuale'];
|
||||
$iva_indetraibile = $iva / 100 * $rs[0]['indetraibile'];
|
||||
|
||||
$query = 'INSERT INTO or_righe_ordini(idordine, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, `order`) VALUES('.prepare($id_record).', '.prepare($idiva).', '.prepare($rs[0]['descrizione']).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($subtot).', '.prepare($sconto).', '.prepare($sconto_unitario).', '.prepare($tipo_sconto).', '.prepare($um).', '.prepare($qta).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM or_righe_ordini AS t WHERE idordine='.prepare($id_record).'))';
|
||||
$query = 'INSERT INTO or_righe_ordini(idordine, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, is_descrizione, `order`) VALUES('.prepare($id_record).', '.prepare($idiva).', '.prepare($rs[0]['descrizione']).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($subtot).', '.prepare($sconto).', '.prepare($sconto_unitario).', '.prepare($tipo_sconto).', '.prepare($um).', '.prepare($qta).', '.prepare(empty($qta)).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM or_righe_ordini AS t WHERE idordine='.prepare($id_record).'))';
|
||||
$dbo->query($query);
|
||||
|
||||
if ($dbo->query($query)) {
|
||||
$_SESSION['infos'][] = tr('Riga aggiunta!');
|
||||
|
||||
// Ricalcolo inps, ritenuta e bollo
|
||||
if ($dir == 'entrata') {
|
||||
ricalcola_costiagg_ordine($id_record);
|
||||
} else {
|
||||
ricalcola_costiagg_ordine($id_record);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 'adddescrizione':
|
||||
if (!empty($id_record)) {
|
||||
$descrizione = post('descrizione');
|
||||
$query = 'INSERT INTO or_righe_ordini(idordine, descrizione, is_descrizione) VALUES('.prepare($id_record).', '.prepare($descrizione).', 1)';
|
||||
|
||||
if ($dbo->query($query)) {
|
||||
// Messaggi informativi
|
||||
if (!empty($idarticolo)) {
|
||||
$_SESSION['infos'][] = tr('Articolo aggiunto!');
|
||||
} elseif (!empty($qta)) {
|
||||
$_SESSION['infos'][] = tr('Riga descrittiva aggiunta!');
|
||||
} else {
|
||||
$_SESSION['infos'][] = tr('Riga aggiunta!');
|
||||
}
|
||||
|
||||
// Ricalcolo inps, ritenuta e bollo
|
||||
if ($dir == 'entrata') {
|
||||
ricalcola_costiagg_ordine($id_record);
|
||||
} else {
|
||||
ricalcola_costiagg_ordine($id_record);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -1,156 +0,0 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
$module = Modules::get($id_module);
|
||||
|
||||
if ($module['name'] == 'Ordini cliente') {
|
||||
$dir = 'entrata';
|
||||
} else {
|
||||
$dir = 'uscita';
|
||||
}
|
||||
|
||||
// Info documento
|
||||
$rs = $dbo->fetchArray('SELECT * FROM or_ordini WHERE id='.prepare($id_record));
|
||||
$numero = (!empty($rs[0]['numero_esterno'])) ? $rs[0]['numero_esterno'] : $rs[0]['numero'];
|
||||
$idanagrafica = $rs[0]['idanagrafica'];
|
||||
|
||||
// Seleziona articolo
|
||||
// - per i documenti di vendita deve esserci almeno 1 unità
|
||||
// - per i documenti di acquisto mostro tutti gli articoli
|
||||
//$_SESSION['superselect']['dir'] = $dir;
|
||||
unset($_SESSION['superselect']['dir']);
|
||||
|
||||
echo '
|
||||
<p>'.tr('Ordine numero _NUM_', [
|
||||
'_NUM_' => $numero,
|
||||
]).'</p>
|
||||
|
||||
<form action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<input type="hidden" name="op" value="addarticolo">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="dir" value="'.$dir.'">';
|
||||
|
||||
// Articolo
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "'.tr('Articolo').'", "name": "idarticolo", "required": 1, "value": "'.$idarticolo.'", "ajax-source": "articoli" ]}
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
// Descrizione
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{[ "type": "textarea", "label": "'.tr('Descrizione').'", "name": "descrizione", "required": 1 ]}
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
// Leggo l'iva predefinita per l'anagrafica e se non c'è leggo quella predefinita generica
|
||||
$iva = $dbo->fetchArray('SELECT idiva_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica));
|
||||
$idiva = $iva[0]['idiva'] ?: get_var('Iva predefinita');
|
||||
|
||||
// Iva
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
{[ "type": "select", "label": "'.tr('Iva').'", "name": "idiva", "required": 1, "value": "'.$idiva.'", "values": "query=SELECT * FROM co_iva ORDER BY descrizione ASC" ]}
|
||||
</div>';
|
||||
|
||||
// Quantità
|
||||
echo '
|
||||
<div class="col-md-4">
|
||||
{[ "type": "number", "label": "'.tr('Q.tà').'", "name": "qta", "required": 1, "value": "1", "decimals": "qta" ]}
|
||||
</div>';
|
||||
|
||||
// Unità di misura
|
||||
echo '
|
||||
<div class="col-md-4">
|
||||
{[ "type": "select", "label": "'.tr('Unità di misura').'", "icon-after": "add|'.Modules::get('Unità di misura')['id'].'", "name": "um", "ajax-source": "misure" ]}
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
// Costo unitario
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{[ "type": "number", "label": "'.tr('Costo unitario').'", "name": "prezzo", "required": 1, "icon-after": "€" ]}
|
||||
</div>';
|
||||
|
||||
// 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)) {
|
||||
$sconto = $rss[0]['prc_guadagno'];
|
||||
$tipo_sconto = 'PRC';
|
||||
}
|
||||
|
||||
echo '
|
||||
<div class="col-md-6">
|
||||
{[ "type": "number", "label": "'.tr('Sconto unitario').'", "name": "sconto", "value": "'.$sconto.'", "icon-after": "choice|untprc|'.$tipo_sconto.'" ]}
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
// Informazioni aggiuntive
|
||||
echo '
|
||||
<div class="row" id="prezzi_articolo">
|
||||
<div class="col-md-4 text-center">
|
||||
<button type="button" class="btn btn-sm btn-info btn-block disabled" onclick="$(\'#prezzi\').toggleClass(\'hide\'); $(\'#prezzi\').load(\''.$rootdir."/ajax_complete.php?module=Articoli&op=getprezzi&idarticolo=' + $('#idarticolo option:selected').val() + '&idanagrafica=".$idanagrafica.'\');" disabled>
|
||||
<i class="fa fa-search"></i> '.tr('Visualizza ultimi prezzi (cliente)').'
|
||||
</button>
|
||||
<div id="prezzi" class="hide"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 text-center">
|
||||
<button type="button" class="btn btn-sm btn-info btn-block disabled" onclick="$(\'#prezziacquisto\').toggleClass(\'hide\'); $(\'#prezziacquisto\').load(\''.$rootdir."/ajax_complete.php?module=Articoli&op=getprezziacquisto&idarticolo=' + $('#idarticolo option:selected').val() + '&idanagrafica=".$idanagrafica.'\');" disabled>
|
||||
<i class="fa fa-search"></i> '.tr('Visualizza ultimi prezzi (acquisto)').'
|
||||
</button>
|
||||
<div id="prezziacquisto" class="hide"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 text-center">
|
||||
<button type="button" class="btn btn-sm btn-info btn-block disabled" onclick="$(\'#prezzivendita\').toggleClass(\'hide\'); $(\'#prezzivendita\').load(\''.$rootdir."/ajax_complete.php?module=Articoli&op=getprezzivendita&idarticolo=' + $('#idarticolo option:selected').val() + '&idanagrafica=".$idanagrafica.'\');" disabled>
|
||||
<i class="fa fa-search"></i> '.tr('Visualizza ultimi prezzi (vendita)').'
|
||||
</button>
|
||||
<div id="prezzivendita" class="hide"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>';
|
||||
|
||||
echo '
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$("#idarticolo").on("change", function(){
|
||||
$("#prezzi_articolo button").attr("disabled", !$(this).val());
|
||||
if($(this).val()){
|
||||
$("#prezzi_articolo button").removeClass("disabled");
|
||||
|
||||
session_set("superselect,idarticolo", $(this).val(), 0);
|
||||
$data = $(this).selectData();
|
||||
$("#prezzo").val($data.prezzo_'.($dir == 'entrata' ? 'vendita' : 'acquisto').');
|
||||
$("#descrizione").val($data.descrizione);
|
||||
$("#idiva").selectSet($data.idiva_vendita, $data.iva_vendita);
|
||||
$("#um").selectSetNew($data.um, $data.um);
|
||||
}else{
|
||||
$("#prezzi_articolo button").addClass("disabled");
|
||||
}
|
||||
|
||||
$("#prezzi").html("");
|
||||
$("#prezzivendita").html("");
|
||||
$("#prezziacquisto").html("");
|
||||
});
|
||||
});
|
||||
</script>';
|
||||
|
||||
echo '
|
||||
|
||||
<!-- PULSANTI -->
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-right">
|
||||
<button type="submit" class="btn btn-primary pull-right"><i class="fa fa-plus"></i> '.tr('Aggiungi').'</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>';
|
||||
|
||||
echo '
|
||||
<script src="'.$rootdir.'/lib/init.js"></script>';
|
@ -1,41 +0,0 @@
|
||||
<?php
|
||||
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
$module = Modules::get($id_module);
|
||||
|
||||
$record = $dbo->fetchArray('SELECT * FROM or_ordini WHERE id='.prepare($id_record));
|
||||
$numero = $record[0]['numero'];
|
||||
$idanagrafica = $record[0]['idanagrafica'];
|
||||
|
||||
/*
|
||||
Form di inserimento riga documento
|
||||
*/
|
||||
echo '
|
||||
<p>'.tr('Ordine numero _NUM_', [
|
||||
'_NUM_' => $numero,
|
||||
]).'</p>
|
||||
|
||||
<form action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<input type="hidden" name="op" value="adddescrizione">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="dir" value="'.$dir.'">';
|
||||
|
||||
// Descrizione
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{[ "type": "textarea", "label": "'.tr('Descrizione').'", "name": "descrizione", "required": 1 ]}
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
echo '
|
||||
|
||||
<!-- PULSANTI -->
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-right">
|
||||
<button type="submit" class="btn btn-primary pull-right"><i class="fa fa-plus"></i> '.tr('Aggiungi').'</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>';
|
@ -1,129 +0,0 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
$module = Modules::get($id_module);
|
||||
|
||||
if ($module['name'] == 'Ordini cliente') {
|
||||
$dir = 'entrata';
|
||||
} else {
|
||||
$dir = 'uscita';
|
||||
}
|
||||
|
||||
// Info documento
|
||||
$rs = $dbo->fetchArray('SELECT * FROM or_ordini WHERE id='.prepare($id_record));
|
||||
$numero = (!empty($rs[0]['numero_esterno'])) ? $rs[0]['numero_esterno'] : $rs[0]['numero'];
|
||||
$idanagrafica = $rs[0]['idanagrafica'];
|
||||
|
||||
$idriga = $get['idriga'];
|
||||
|
||||
if (empty($idriga)) {
|
||||
$op = 'addriga';
|
||||
$button = tr('Aggiungi');
|
||||
|
||||
// valori default
|
||||
$descrizione = '';
|
||||
$qta = 1;
|
||||
$um = '';
|
||||
$prezzo = 0;
|
||||
$sconto = 0;
|
||||
|
||||
// Leggo l'iva predefinita per l'anagrafica e se non c'è leggo quella predefinita generica
|
||||
$iva = $dbo->fetchArray('SELECT idiva_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica));
|
||||
$idiva = $iva[0]['idiva'] ?: get_var('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)) {
|
||||
$sconto = $rss[0]['prc_guadagno'];
|
||||
$tipo_sconto = 'PRC';
|
||||
}
|
||||
} else {
|
||||
$op = 'editriga';
|
||||
$button = tr('Modifica');
|
||||
|
||||
$rsr = $dbo->fetchArray('SELECT * FROM or_righe_ordini WHERE idordine='.prepare($id_record).' AND id='.prepare($idriga));
|
||||
|
||||
$descrizione = $rsr[0]['descrizione'];
|
||||
$qta = $rsr[0]['qta'];
|
||||
$um = $rsr[0]['um'];
|
||||
$idiva = $rsr[0]['idiva'];
|
||||
$prezzo = $rsr[0]['subtotale'] / $rsr[0]['qta'];
|
||||
$sconto = $rsr[0]['sconto_unitario'];
|
||||
$tipo_sconto = $rsr[0]['tipo_sconto'];
|
||||
}
|
||||
|
||||
/*
|
||||
Form di inserimento riga documento
|
||||
*/
|
||||
echo '
|
||||
<p>'.tr('Ordine numero _NUM_', [
|
||||
'_NUM_' => $numero,
|
||||
]).'</p>
|
||||
|
||||
<form action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<input type="hidden" name="op" value="'.$op.'">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="dir" value="'.$dir.'">';
|
||||
|
||||
if (!empty($idriga)) {
|
||||
echo '
|
||||
<input type="hidden" name="idriga" value="'.$idriga.'">';
|
||||
}
|
||||
|
||||
// Descrizione
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{[ "type": "textarea", "label": "'.tr('Descrizione').'", "name": "descrizione", "required": 1, "value": '.json_encode($descrizione).' ]}
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
if (empty($rsr[0]['is_descrizione'])) {
|
||||
// Iva
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
{[ "type": "select", "label": "'.tr('Iva').'", "name": "idiva", "required": 1, "value": "'.$idiva.'", "values": "query=SELECT * FROM co_iva ORDER BY descrizione ASC" ]}
|
||||
</div>';
|
||||
|
||||
// Quantità
|
||||
echo '
|
||||
<div class="col-md-4">
|
||||
{[ "type": "number", "label": "'.tr('Q.tà').'", "name": "qta", "required": 1, "value": "'.$qta.'", "decimals": "qta" ]}
|
||||
</div>';
|
||||
|
||||
// Unità di misura
|
||||
echo '
|
||||
<div class="col-md-4">
|
||||
{[ "type": "select", "label": "'.tr('Unità di misura').'", "icon-after": "add|'.Modules::get('Unità di misura')['id'].'", "name": "um", "ajax-source": "misure", "value": "'.$um.'" ]}
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
// Costo unitario
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{[ "type": "number", "label": "'.tr('Costo unitario').'", "name": "prezzo", "required": 1, "icon-after": "€", "value": "'.$prezzo.'" ]}
|
||||
</div>';
|
||||
|
||||
// Sconto unitario
|
||||
echo '
|
||||
<div class="col-md-6">
|
||||
{[ "type": "number", "label": "'.tr('Sconto unitario').'", "name": "sconto", "value": "'.$sconto.'", "icon-after": "choice|untprc|'.$tipo_sconto.'" ]}
|
||||
</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
echo '
|
||||
|
||||
<!-- PULSANTI -->
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-right">
|
||||
<button type="submit" class="btn btn-primary pull-right"><i class="fa fa-plus"></i> '.$button.'</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>';
|
||||
|
||||
echo '
|
||||
<script src="'.$rootdir.'/lib/init.js"></script>';
|
@ -94,9 +94,11 @@ if ($module['name'] == 'Ordini cliente') {
|
||||
<div class="pull-left">
|
||||
<?php if ($records[0]['stato'] != 'Evaso') {
|
||||
?>
|
||||
<a class="btn btn-sm btn-primary" data-href="<?php echo $rootdir; ?>/modules/ordini/add_articolo.php?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>" data-toggle="modal" data-title="Aggiungi articolo" data-target="#bs-popup"><i class="fa fa-plus"></i> Articolo</a>
|
||||
<a class="btn btn-sm btn-primary" data-href="<?php echo $rootdir; ?>/modules/ordini/add_riga.php?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>" data-toggle="modal" data-title="Aggiungi riga" data-target="#bs-popup"><i class="fa fa-plus"></i> Riga generica</a>
|
||||
<a class="btn btn-sm btn-primary" data-href="<?php echo $rootdir; ?>/modules/ordini/add_descrizione.php?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>" data-toggle="modal" data-title="Aggiungi descrizione" data-target="#bs-popup"><i class="fa fa-plus"></i> Descrizione</a>
|
||||
<a class="btn btn-primary" data-href="<?php echo $rootdir; ?>/modules/ordini/row-add.php?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>&is_articolo" data-toggle="modal" data-title="Aggiungi articolo" data-target="#bs-popup"><i class="fa fa-plus"></i> <?php echo tr('Articolo'); ?></a>
|
||||
|
||||
<a class="btn btn-primary" data-href="<?php echo $rootdir; ?>/modules/ordini/row-add.php?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>&is_riga" data-toggle="modal" data-title="Aggiungi riga" data-target="#bs-popup"><i class="fa fa-plus"></i> <?php echo tr('Riga'); ?></a>
|
||||
|
||||
<a class="btn btn-primary" data-href="<?php echo $rootdir; ?>/modules/ordini/row-add.php?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>&is_descrizione" data-toggle="modal" data-title="Aggiungi descrizione" data-target="#bs-popup"><i class="fa fa-plus"></i> <?php echo tr('Descrizione'); ?></a>
|
||||
<?php
|
||||
} ?>
|
||||
</div>
|
||||
|
57
modules/ordini/row-add.php
Normal file
57
modules/ordini/row-add.php
Normal file
@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
// Info contratto
|
||||
$rs = $dbo->fetchArray('SELECT * FROM or_ordini WHERE id='.prepare($id_record));
|
||||
$idanagrafica = $rs[0]['idanagrafica'];
|
||||
|
||||
if ($module['name'] == 'Ordini cliente') {
|
||||
$dir = 'entrata';
|
||||
} else {
|
||||
$dir = 'uscita';
|
||||
}
|
||||
|
||||
$_SESSION['superselect']['dir'] = $dir;
|
||||
|
||||
// Impostazioni per la gestione
|
||||
$options = [
|
||||
'op' => 'addriga',
|
||||
'action' => 'add',
|
||||
'dir' => $dir,
|
||||
'idanagrafica' => $idanagrafica,
|
||||
];
|
||||
|
||||
// Dati di default
|
||||
$result = [
|
||||
'descrizione' => '',
|
||||
'qta' => 1,
|
||||
'um' => '',
|
||||
'prezzo' => 0,
|
||||
'sconto_unitario' => 0,
|
||||
'tipo_sconto' => '',
|
||||
'idiva' => '',
|
||||
];
|
||||
|
||||
// Leggo l'iva predefinita per l'anagrafica e se non c'è leggo quella predefinita generica
|
||||
$iva = $dbo->fetchArray('SELECT idiva_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica));
|
||||
$result['idiva'] = $iva[0]['idiva'] ?: get_var('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 (isset($get['is_descrizione'])) {
|
||||
$file = 'descrizione';
|
||||
} elseif (isset($get['is_articolo'])) {
|
||||
$file = 'articolo';
|
||||
|
||||
$options['op'] = 'addarticolo';
|
||||
}
|
||||
|
||||
echo App::load($file.'.php', $result, $options);
|
38
modules/ordini/row-edit.php
Normal file
38
modules/ordini/row-edit.php
Normal file
@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
// Info contratto
|
||||
$rs = $dbo->fetchArray('SELECT * FROM or_ordini WHERE id='.prepare($id_record));
|
||||
$idanagrafica = $rs[0]['idanagrafica'];
|
||||
|
||||
if ($module['name'] == 'Ordini cliente') {
|
||||
$dir = 'entrata';
|
||||
} else {
|
||||
$dir = 'uscita';
|
||||
}
|
||||
|
||||
// Impostazioni per la gestione
|
||||
$options = [
|
||||
'op' => 'editriga',
|
||||
'action' => 'edit',
|
||||
'dir' => $dir,
|
||||
'idanagrafica' => $idanagrafica,
|
||||
'edit_articolo' => false,
|
||||
];
|
||||
|
||||
// Dati della riga
|
||||
$rsr = $dbo->fetchArray('SELECT * FROM or_righe_ordini WHERE idordine='.prepare($id_record).' AND id='.prepare($get['idriga']));
|
||||
|
||||
$result = $rsr[0];
|
||||
$result['prezzo'] = $rsr[0]['subtotale'] / $rsr[0]['qta'];
|
||||
|
||||
// Importazione della gestione dedicata
|
||||
$file = 'riga';
|
||||
if (!empty($result['is_descrizione'])) {
|
||||
$file = 'descrizione';
|
||||
} elseif (!empty($result['idarticolo'])) {
|
||||
$file = 'articolo';
|
||||
}
|
||||
|
||||
echo App::load($file.'.php', $result, $options);
|
@ -164,7 +164,7 @@ if (!empty($rs)) {
|
||||
}
|
||||
|
||||
echo "
|
||||
<a class='btn btn-xs btn-warning' title='Modifica questa riga...' onclick=\"launch_modal( 'Modifica riga', '".$rootdir.'/modules/ordini/add_riga.php?id_module='.$id_module.'&id_record='.$id_record.'&idriga='.$r['id'].'&dir='.$dir."', 1 );\"><i class='fa fa-edit'></i></a>
|
||||
<a class='btn btn-xs btn-warning' title='Modifica questa riga...' onclick=\"launch_modal( 'Modifica riga', '".$rootdir.'/modules/ordini/row-edit.php?id_module='.$id_module.'&id_record='.$id_record.'&idriga='.$r['id'].'&dir='.$dir."', 1 );\"><i class='fa fa-edit'></i></a>
|
||||
|
||||
<a class='btn btn-xs btn-danger' title='Rimuovi questa riga...' onclick=\"if( confirm('Rimuovere questa riga dall\\'ordine?') ){ $('#delete-form-".$r['id']."').submit(); }\"><i class='fa fa-trash'></i></a>
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user