Merge branch 'master' of https://github.com/devcode-it/openstamanager
This commit is contained in:
commit
9f003043b4
|
@ -365,6 +365,7 @@ function i18n() {
|
|||
return gulp.src([
|
||||
config.nodeDirectory + '/**/{i18n,lang,locale,locales}/*.{js,json}',
|
||||
config.development + '/' + config.paths.js + '/i18n/**/*.{js,json}',
|
||||
config.nodeDirectory + '/moment/min/locales.js',
|
||||
'!' + config.nodeDirectory + '/**/{src,plugins}/**',
|
||||
'!' + config.nodeDirectory + '/ckeditor4/**',
|
||||
'!' + config.nodeDirectory + '/summernote/**',
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Modules\Anagrafiche\Anagrafica;
|
||||
use Modules\Anagrafiche\Tipo as TipoAnagrafica;
|
||||
use Modules\Articoli\Articolo as ArticoloOriginale;
|
||||
|
@ -65,11 +66,29 @@ switch (post('op')) {
|
|||
case 'update':
|
||||
$stato = Stato::find(post('idstatodocumento'));
|
||||
$fattura->stato()->associate($stato);
|
||||
$data = post('data');
|
||||
|
||||
$tipo = Tipo::find(post('idtipodocumento'));
|
||||
$fattura->tipo()->associate($tipo);
|
||||
|
||||
$data_fattura_precedente = $dbo->fetchOne('
|
||||
SELECT
|
||||
MAX(DATA) AS datamax
|
||||
FROM
|
||||
co_documenti
|
||||
INNER JOIN co_statidocumento ON co_statidocumento.id = co_documenti.idstatodocumento
|
||||
INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento = co_tipidocumento.id
|
||||
INNER JOIN zz_segments ON zz_segments.id = co_documenti.id_segment
|
||||
WHERE
|
||||
co_statidocumento.descrizione = "Emessa" AND co_tipidocumento.dir="entrata" AND co_documenti.id_segment='.$fattura->id_segment);
|
||||
|
||||
if ((setting('Data emissione fattura automatica') == 1) && ($dir == 'entrata') && ($stato->descrizione == 'Emessa') && (Carbon::parse($data)->lessThan(Carbon::parse($data_fattura_precedente['datamax']))) && (!empty($data_fattura_precedente['datamax']))){
|
||||
$fattura->data = $data_fattura_precedente['datamax'];
|
||||
$fattura->data_competenza = $data_fattura_precedente['datamax'];
|
||||
} else {
|
||||
$fattura->data = post('data');
|
||||
$fattura->data_competenza = post('data_competenza');
|
||||
}
|
||||
|
||||
if ($dir == 'entrata') {
|
||||
$fattura->data_registrazione = post('data');
|
||||
|
@ -77,8 +96,6 @@ switch (post('op')) {
|
|||
$fattura->data_registrazione = post('data_registrazione');
|
||||
}
|
||||
|
||||
$fattura->data_competenza = post('data_competenza');
|
||||
|
||||
$fattura->numero_esterno = post('numero_esterno');
|
||||
$fattura->note = post('note');
|
||||
$fattura->note_aggiuntive = post('note_aggiuntive');
|
||||
|
|
|
@ -29,6 +29,7 @@ use Util\XML;
|
|||
use Util\Zip;
|
||||
use Modules\Fatture\Stato;
|
||||
use Plugins\ReceiptFE\Ricevuta;
|
||||
use Carbon\Carbon;
|
||||
|
||||
$anagrafica_azienda = Anagrafica::find(setting('Azienda predefinita'));
|
||||
$stato_emessa = $dbo->selectOne('co_statidocumento', 'id', ['descrizione' => 'Emessa'])['id'];
|
||||
|
@ -469,9 +470,33 @@ switch (post('op')) {
|
|||
->get();
|
||||
|
||||
foreach ($fatture as $fattura) {
|
||||
$data = $fattura->data;
|
||||
|
||||
$fattura = Fattura::find($fattura['id']);
|
||||
$stato_precedente = Stato::find($fattura->idstatodocumento);
|
||||
|
||||
$data_fattura_precedente = $dbo->fetchOne('
|
||||
SELECT
|
||||
MAX(DATA) AS datamax
|
||||
FROM
|
||||
co_documenti
|
||||
INNER JOIN co_statidocumento ON co_statidocumento.id = co_documenti.idstatodocumento
|
||||
INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento = co_tipidocumento.id
|
||||
INNER JOIN zz_segments ON zz_segments.id = co_documenti.id_segment
|
||||
WHERE
|
||||
co_statidocumento.descrizione = "Emessa" AND co_tipidocumento.dir="entrata" AND co_documenti.id_segment='.$fattura->id_segment);
|
||||
|
||||
if ((setting('Data emissione fattura automatica') == 1) && ($dir == 'entrata') && (Carbon::parse($data)->lessThan(Carbon::parse($data_fattura_precedente['datamax']))) && (!empty($data_fattura_precedente['datamax']))){
|
||||
$fattura->data = $data_fattura_precedente['datamax'];
|
||||
$fattura->data_competenza = $data_fattura_precedente['datamax'];
|
||||
}
|
||||
|
||||
if ($dir == 'entrata') {
|
||||
$fattura->data_registrazione = post('data');
|
||||
} else {
|
||||
$fattura->data_registrazione = post('data_registrazione');
|
||||
}
|
||||
|
||||
if ($stato_precedente->descrizione == 'Bozza' && $fattura->isFiscale()) {
|
||||
$fattura->stato()->associate($new_stato);
|
||||
$results = $fattura->save();
|
||||
|
|
|
@ -119,7 +119,7 @@ switch (post('op')) {
|
|||
// Se non c'è già una fattura appena creata per questo cliente, creo una fattura nuova
|
||||
if (empty($id_documento)) {
|
||||
if (!empty($accodare)) {
|
||||
$documento = $dbo->fetchOne('SELECT co_documenti.id FROM co_documenti INNER JOIN co_statidocumento ON co_documenti.idstatodocumento = co_statidocumento.id WHERE co_statidocumento.descrizione = \'Bozza\' AND idanagrafica = '.prepare($id_anagrafica));
|
||||
$documento = $dbo->fetchOne('SELECT co_documenti.id FROM co_documenti INNER JOIN co_statidocumento ON co_documenti.idstatodocumento = co_statidocumento.id INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento INNER JOIN zz_segments ON zz_segments.id = co_documenti.id_segment WHERE co_statidocumento.descrizione = "Bozza" AND co_documenti.idanagrafica = '.$id_anagrafica.' AND co_tipidocumento.id='.$tipo_documento['id'].' AND co_documenti.id_segment = '.$id_segment);
|
||||
|
||||
$id_documento = $documento['id'];
|
||||
$id_documento_cliente[$id_anagrafica] = $id_documento;
|
||||
|
|
|
@ -63,6 +63,7 @@ class App
|
|||
'i18n/parsleyjs/|lang|.min.js',
|
||||
'i18n/select2/|lang|.min.js',
|
||||
'i18n/moment/|lang|.min.js',
|
||||
'i18n/locales.min.js',
|
||||
'i18n/@fullcalendar/|lang|.min.js',
|
||||
],
|
||||
];
|
||||
|
|
|
@ -177,3 +177,6 @@ INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`
|
|||
|
||||
-- Aggiunta colonna KM in vista Attività
|
||||
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id from zz_modules WHERE title = "Attività"), 'KM', 'sum(in_interventi_tecnici.km)', '29', '1', '0', '1', '0', NULL, NULL, '0', '1', '0');
|
||||
|
||||
-- Aggiunta impostazione data emissione automatica
|
||||
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, "Data emissione fattura automatica", '0', 'boolean', '1', 'Fatturazione', NULL, "Impedisce l'emissione di fatture di vendita con data precedente alla data dell'ultima fattura emessa");
|
Loading…
Reference in New Issue