Fix numerazione ddt e test nuova classe Generator
This commit is contained in:
parent
038c9e767b
commit
74a659fd3c
|
@ -139,7 +139,7 @@ if (!empty($module_options) && $module_options != 'menu' && $module_options != '
|
|||
}
|
||||
|
||||
echo '
|
||||
<li role="presentation"><a class="bulk-action" data-op="'.$key.'" data-backto="record-list" '.implode(' ', $extra).'>'.$text.'</a></li>';
|
||||
<li role="presentation"><a class="bulk-action clickable" data-op="'.$key.'" data-backto="record-list" '.implode(' ', $extra).'>'.$text.'</a></li>';
|
||||
}
|
||||
|
||||
echo '
|
||||
|
|
|
@ -136,9 +136,32 @@ switch (post('op')) {
|
|||
}
|
||||
|
||||
break;
|
||||
|
||||
|
||||
|
||||
|
||||
case 'delete-bulk':
|
||||
|
||||
|
||||
foreach ($id_records as $id) {
|
||||
|
||||
$dbo->query('DELETE FROM dt_ddt WHERE id = '.prepare($id).Modules::getAdditionalsQuery($id_module));
|
||||
$dbo->query('DELETE FROM dt_righe_ddt WHERE idddt='.prepare($id).Modules::getAdditionalsQuery($id_module));
|
||||
$dbo->query('DELETE FROM mg_movimenti WHERE idddt='.prepare($id).Modules::getAdditionalsQuery($id_module));
|
||||
|
||||
}
|
||||
|
||||
$_SESSION['infos'][] = tr('Ddt eliminati!');
|
||||
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
|
||||
return [
|
||||
|
||||
'delete-bulk' => tr('Elimina selezionati'),
|
||||
|
||||
'export-bulk' => [
|
||||
'text' => tr('Esporta stampe'),
|
||||
'data' => [
|
||||
|
|
|
@ -23,20 +23,42 @@ function get_new_numerosecondarioddt($data)
|
|||
{
|
||||
global $dbo;
|
||||
global $dir;
|
||||
|
||||
$query = "SELECT numero_esterno FROM dt_ddt WHERE DATE_FORMAT( data, '%Y' ) = '".date('Y', strtotime($data))."' AND idtipoddt IN(SELECT id FROM dt_tipiddt WHERE dir='".$dir."') ORDER BY CAST(numero_esterno AS UNSIGNED) DESC LIMIT 0,1";
|
||||
$rs = $dbo->fetchArray($query);
|
||||
$numero_secondario = $rs[0]['numero_esterno'];
|
||||
|
||||
|
||||
|
||||
// Calcolo il numero secondario se stabilito dalle impostazioni e se documento di vendita
|
||||
$formato_numero_secondario = get_var('Formato numero secondario ddt');
|
||||
|
||||
$query = "SELECT numero_esterno FROM dt_ddt WHERE DATE_FORMAT( data, '%Y' ) = '".date('Y', strtotime($data))."' AND idtipoddt IN(SELECT id FROM dt_tipiddt WHERE dir='".$dir."')";
|
||||
|
||||
// estraggo blocchi di caratteri standard da sostituire
|
||||
preg_match('/[#]+/', $formato_numero_secondario, $m1 );
|
||||
preg_match('/[Y]+/', $formato_numero_secondario, $m2 );
|
||||
// Marzo 2017
|
||||
// nel caso ci fossero lettere o numeri prima della maschera ### per il numero (es. 18-####)
|
||||
// è necessario l'ordinamento alfabetico "ORDER BY numero_esterno" altrimenti
|
||||
// nel caso di maschere del tipo 0001-2018 è necessario l'ordinamento numerico "ORDER BY CAST(numero_esterno AS UNSIGNED)"
|
||||
$pos1 = strpos( $formato_numero_secondario, $m1[0] );
|
||||
if( $pos1==0 ):
|
||||
$query .= " ORDER BY CAST(numero_esterno AS UNSIGNED) DESC LIMIT 0,1";
|
||||
else:
|
||||
$query .= " ORDER BY numero_esterno DESC LIMIT 0,1";
|
||||
endif;
|
||||
|
||||
$rs = $dbo->fetchArray($query);
|
||||
$numero_secondario = $rs[0]['numero_esterno'];
|
||||
|
||||
if ($numero_secondario == '') {
|
||||
$numero_secondario = $formato_numero_secondario;
|
||||
}
|
||||
|
||||
if ($formato_numero_secondario != '' && $dir == 'entrata') {
|
||||
$numero_esterno = get_next_code($numero_secondario, 1, $formato_numero_secondario);
|
||||
//$numero_esterno = get_next_code($numero_secondario, 1, $formato_numero_secondario);
|
||||
$numero_esterno = Util\Generator::generate($formato_numero_secondario, $numero_secondario);
|
||||
/*echo $query."<br>";
|
||||
echo $numero_secondario."<br>";
|
||||
echo $formato_numero_secondario."<br>";
|
||||
echo $numero_esterno."<br>";
|
||||
exit;*/
|
||||
} else {
|
||||
$numero_esterno = '';
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue