This commit is contained in:
Beppe 2023-06-22 11:59:58 +02:00
commit 7cdb7defaf
6 changed files with 62 additions and 8 deletions

View File

@ -45,6 +45,8 @@ if (empty($_GET['visualizza_allegati'])) {
//Controllo i permessi dei modulo per la visualizzazione degli allegati
$rs = $dbo->table('zz_permissions')->where('idgruppo', $user->idgruppo)->get();
$permessi = [];
$documenti[] = 0;
foreach ($rs as $r) {
$permessi[] = $r->idmodule;
}

View File

@ -263,7 +263,7 @@ $budget = $rs[0]['budget'];
$rs = $dbo->fetchArray("SELECT SUM(qta) AS totale_ore FROM `co_righe_contratti` WHERE um='ore' AND idcontratto=".prepare($id_record));
$totale_ore_contratto = $rs[0]['totale_ore'];
$diff = sum($budget, -$totale);
$diff = sum($budget, -$totale) - $contratto->provvigione;
if ($diff > 0) {
$bilancio = '<span class="text-success"><big>'.moneyFormat($diff).'</big></span>';

View File

@ -33,6 +33,7 @@ use Carbon\Carbon;
$anagrafica_azienda = Anagrafica::find(setting('Azienda predefinita'));
$stato_emessa = $dbo->selectOne('co_statidocumento', 'id', ['descrizione' => 'Emessa'])['id'];
$is_fiscale = $dbo->selectOne('zz_segments', 'is_fiscale', ['id' => $_SESSION['module_'.$id_module]])['is_fiscale'];
switch (post('op')) {
case 'export-bulk':
@ -569,6 +570,35 @@ switch (post('op')) {
}
}
break;
case 'cambia-sezionale':
$count = 0;
$n_doc = 0;
foreach ($id_records as $id) {
$documento = Fattura::find($id);
++ $count;
if($documento->stato->descrizione == 'Bozza') {
$documento->id_segment = post('id_segment');
$documento->save();
++ $n_doc;
}
}
if ($n_doc > 0) {
flash()->info(tr('_NUM_ fatture spostate', [
'_NUM_' => $n_doc,
]));
}
if (($count - $n_doc) > 0) {
flash()->warning(tr('_NUM_ fatture non sono state spostate perchè non sono in stato "Bozza".', [
'_NUM_' => $count - $n_doc,
]));
}
break;
}
if (App::debug()) {
@ -697,6 +727,19 @@ if ($dir == 'entrata') {
];
}
$operations['cambia-sezionale'] = [
'text' => '<span><i class="fa fa-tags"></i> '.tr('Cambia sezionale'),
'data' => [
'title' => tr('Cambia sezionale'),
'msg' => tr('Scegli il sezionale _TIPOLOGIA_ in cui spostare le fatture in stato "Bozza" selezionate', [
'_TIPOLOGIA_' => $is_fiscale ? tr('fiscale') : tr('non fiscale'),
]).':<br><br>{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(["id_module" => $id_module, 'is_sezionale' => 1, 'is_fiscale' => $is_fiscale, 'escludi_id' => $_SESSION['module_'.$id_module]['id_segment']]).', "select-options-escape": true ]}',
'button' => tr('Procedi'),
'class' => 'btn btn-lg btn-warning',
'blank' => false,
],
];
if (Interaction::isEnabled()) {
$operations['hook-send'] = [
'text' => '<span><i class="fa fa-paper-plane"></i> '.tr('Coda di invio FE').'</span>',

View File

@ -123,7 +123,7 @@ $totale_avere = 0;
// Elenco per documenti
$scadenze = $movimenti
->where('iddocumento', '<>', '')
->where('iddocumento', '<>', 0)
->groupBy('iddocumento');
foreach ($scadenze as $id_documento => $righe) {
$documento = Fattura::find($id_documento);
@ -137,8 +137,8 @@ foreach ($scadenze as $id_documento => $righe) {
// Elenco per scadenze
$scadenze = $movimenti
->where('iddocumento', '=', '')
->where('id_scadenza', '<>', '')
->where('iddocumento', '=', 0)
->where('id_scadenza', '<>', 0)
->groupBy('id_scadenza');
foreach ($scadenze as $id_scadenza => $righe) {
$nome = tr('Scadenza num. _ID_', [
@ -150,8 +150,8 @@ foreach ($scadenze as $id_scadenza => $righe) {
// Elenco generale
$movimenti_generali = $movimenti
->where('iddocumento', '=', '0')
->where('id_scadenza', '=', '');
->where('iddocumento', '=', 0)
->where('id_scadenza', '=', 0);
if ($movimenti_generali->isEmpty()) {
$movimenti_generali->push([]);
$movimenti_generali->push([]);

View File

@ -25,6 +25,7 @@ switch ($resource) {
$id_module = $superselect['id_module'];
$is_fiscale = $superselect['is_fiscale'];
$is_sezionale = $superselect['is_sezionale'];
$escludi_id = $superselect['escludi_id'];
if (isset($id_module)) {
$query = 'SELECT `id`, `name` AS descrizione FROM zz_segments INNER JOIN `zz_group_segment` ON `zz_segments`.`id` = `zz_group_segment`.`id_segment` |where| ORDER BY `name` ASC';
@ -40,6 +41,10 @@ switch ($resource) {
$where[] = 'zz_segments.is_sezionale = '.prepare($is_sezionale);
}
if ($escludi_id != null) {
$where[] = 'zz_segments.id != '.prepare($escludi_id);
}
foreach ($elements as $element) {
$filter[] = 'id='.prepare($element);
}

View File

@ -16,3 +16,7 @@ UPDATE `zz_settings` SET `help` = "Valore espresso in Giga superato il quale vie
DELETE FROM `zz_settings` WHERE `zz_settings`.`nome` = 'Google Maps API key';
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Tile server OpenStreetMap', 'https://{s}.tile.openstreetmap.de/{z}/{x}/{y}.png', 'string', '1', 'Generali', NULL, NULL);
-- Nuova colonna Giorni scadenza in Scadenzario
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 name='Scadenzario'), 'Scadenza giorni', 'DATEDIFF(co_scadenziario.scadenza,NOW())', 19, 1, 0, 0, 0, '', '', 1, 0, 0);