Bugfix: sistemato calcolo numero preventivo e numero ordine
This commit is contained in:
parent
a96aaa82e0
commit
6d3d22ec8c
|
@ -26,20 +26,21 @@ function get_new_numerosecondarioordine($data)
|
||||||
global $dir;
|
global $dir;
|
||||||
|
|
||||||
$dbo = Database::getConnection();
|
$dbo = Database::getConnection();
|
||||||
|
|
||||||
|
// Calcolo il numero secondario se stabilito dalle impostazioni e se documento di vendita
|
||||||
|
$formato_numero_secondario = get_var('Formato numero secondario ordine');
|
||||||
|
$formato_numero_secondario = str_replace('#', '%', $formato_numero_secondario);
|
||||||
|
|
||||||
$query = "SELECT numero_esterno FROM or_ordini WHERE DATE_FORMAT( data, '%Y' ) = ".prepare(date('Y', strtotime($data))).' AND idtipoordine IN(SELECT id FROM or_tipiordine WHERE dir='.prepare($dir).') ORDER BY CAST(numero_esterno AS UNSIGNED) DESC LIMIT 0,1';
|
$query = 'SELECT numero_esterno FROM or_ordini WHERE DATE_FORMAT( data, "%Y" ) = '.prepare(date('Y', strtotime($data))).' AND idtipoordine IN(SELECT id FROM or_tipiordine WHERE dir='.prepare($dir).') AND numero_esterno LIKE('.prepare(Util\Generator::complete($formato_numero_secondario)).') ORDER BY CAST(numero AS UNSIGNED) DESC LIMIT 0,1';
|
||||||
$rs = $dbo->fetchArray($query);
|
$rs = $dbo->fetchArray($query);
|
||||||
$numero_secondario = $rs[0]['numero_esterno'];
|
$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 ordine');
|
|
||||||
|
|
||||||
if ($numero_secondario == '') {
|
if ($numero_secondario == '') {
|
||||||
$numero_secondario = $formato_numero_secondario;
|
$numero_secondario = get_var('Formato numero secondario ordine');
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($formato_numero_secondario != '' && $dir == 'entrata') {
|
if ($formato_numero_secondario != '' && $dir == 'entrata') {
|
||||||
$numero_esterno = Util\Generator::generate($formato_numero_secondario, $numero_secondario);
|
$numero_esterno = Util\Generator::generate(get_var('Formato numero secondario ordine'), $numero_secondario);
|
||||||
} else {
|
} else {
|
||||||
$numero_esterno = '';
|
$numero_esterno = '';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,11 +25,11 @@ switch (post('op')) {
|
||||||
$numeropreventivo_template = str_replace('#', '%', $numeropreventivo_template);
|
$numeropreventivo_template = str_replace('#', '%', $numeropreventivo_template);
|
||||||
|
|
||||||
// Codice preventivo: calcolo il successivo in base al formato specificato
|
// Codice preventivo: calcolo il successivo in base al formato specificato
|
||||||
$rs = $dbo->fetchArray('SELECT numero FROM co_preventivi WHERE numero=(SELECT MAX(CAST(numero AS SIGNED)) FROM co_preventivi) AND numero LIKE('.prepare($numeropreventivo_template).') ORDER BY numero DESC LIMIT 0,1');
|
$rs = $dbo->fetchArray('SELECT numero FROM co_preventivi WHERE numero=(SELECT MAX(CAST(numero AS SIGNED)) FROM co_preventivi) AND numero LIKE('.prepare(Util\Generator::complete($numeropreventivo_template)).') ORDER BY numero DESC LIMIT 0,1');
|
||||||
$numero = Util\Generator::generate(get_var('Formato codice preventivi'), $rs[0]['numero']);
|
$numero = Util\Generator::generate(get_var('Formato codice preventivi'), $rs[0]['numero']);
|
||||||
|
|
||||||
if (!is_numeric($numero)) {
|
if (!is_numeric($numero)) {
|
||||||
$rs = $dbo->fetchArray('SELECT numero FROM co_preventivi WHERE numero LIKE('.prepare($numeropreventivo_template).') ORDER BY numero DESC LIMIT 0,1');
|
$rs = $dbo->fetchArray('SELECT numero FROM co_preventivi WHERE numero LIKE('.prepare(Util\Generator::complete($numeropreventivo_template)).') ORDER BY numero DESC LIMIT 0,1');
|
||||||
$numero = Util\Generator::generate(get_var('Formato codice preventivi'), $rs[0]['numero']);
|
$numero = Util\Generator::generate(get_var('Formato codice preventivi'), $rs[0]['numero']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -70,7 +70,7 @@ class Generator
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
protected static function complete($pattern)
|
public static function complete($pattern)
|
||||||
{
|
{
|
||||||
// Costruzione del pattern
|
// Costruzione del pattern
|
||||||
$replaces = self::getReplaces();
|
$replaces = self::getReplaces();
|
||||||
|
|
|
@ -343,7 +343,7 @@ INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`,
|
||||||
|
|
||||||
-- Aggiunto supporto a Note di accredito e addebito
|
-- Aggiunto supporto a Note di accredito e addebito
|
||||||
ALTER TABLE `co_documenti` ADD `ref_documento` int(11) AFTER `idagente`, ADD FOREIGN KEY (`ref_documento`) REFERENCES `co_documenti`(`id`) ON DELETE CASCADE;
|
ALTER TABLE `co_documenti` ADD `ref_documento` int(11) AFTER `idagente`, ADD FOREIGN KEY (`ref_documento`) REFERENCES `co_documenti`(`id`) ON DELETE CASCADE;
|
||||||
ALTER TABLE `co_righe_documenti` ADD `qta_evasa` int(11) NOT NULL AFTER `qta`, ADD `ref_riga_documento` int(11) AFTER `idcontratto`, ADD FOREIGN KEY (`ref_riga_documento`) REFERENCES `co_righe_documenti`(`id`) ON DELETE CASCADE;
|
ALTER TABLE `co_righe_documenti` ADD `qta_evasa` decimal(12,4) NOT NULL AFTER `qta`, ADD `ref_riga_documento` int(11) AFTER `idcontratto`, ADD FOREIGN KEY (`ref_riga_documento`) REFERENCES `co_righe_documenti`(`id`) ON DELETE CASCADE;
|
||||||
|
|
||||||
ALTER TABLE `co_tipidocumento` ADD `reversed` BOOLEAN NOT NULL DEFAULT FALSE AFTER `dir`;
|
ALTER TABLE `co_tipidocumento` ADD `reversed` BOOLEAN NOT NULL DEFAULT FALSE AFTER `dir`;
|
||||||
UPDATE `co_tipidocumento` SET `reversed` = 1 WHERE `descrizione` = 'Nota di accredito';
|
UPDATE `co_tipidocumento` SET `reversed` = 1 WHERE `descrizione` = 'Nota di accredito';
|
||||||
|
|
Loading…
Reference in New Issue