Skip to content

Commit e4c1af6

Browse files
feat: stampa liquidazione iva definitiva
1 parent 17ea619 commit e4c1af6

2 files changed

Lines changed: 128 additions & 148 deletions

File tree

modules/stampe_contabili/stampe_contabili.php

Lines changed: 121 additions & 133 deletions
Original file line numberDiff line numberDiff line change
@@ -107,16 +107,12 @@
107107
108108
<div class="col-md-4">
109109
{[ "type": "select", "label": "'.tr('Orientamento').'", "name": "orientation", "required": "1", "values": "list=\"L\": \"'.tr('Orizzontale').'\", \"P\": \"'.tr('Verticale').'\"", "value": "'.$_SESSION['stampe_contabili']['orientation'].'" ]}
110-
</div>';
110+
</div>
111111
112-
if ($nome_stampa != 'Liquidazione IVA') {
113-
echo '
114112
<div class="col-md-4">
115113
{[ "type": "checkbox", "label": "'.tr('Definitiva').'", "disabled": "1", "name": "definitiva", "help": "'.tr('Per abilitare il pulsante è necessario impostare nei campi Data inizio e Data fine uno dei 4 trimestri o un singolo mese e non deve essere già stata creata la stampa definitiva del periodo selezionato').'" ]}
116-
</div>';
117-
}
114+
</div>
118115
119-
echo '
120116
<div class="col-md-4 pull-right">
121117
<p style="line-height:14px;">&nbsp;</p>
122118
<button type="button" class="btn btn-primary btn-block" onclick="if($(\'#form\').parsley().validate()) { return avvia_stampa(); }">
@@ -127,148 +123,143 @@
127123
</form>
128124
<br>';
129125

130-
if ($nome_stampa != 'Liquidazione IVA') {
131-
$elementi = $dbo->fetchArray('SELECT * FROM co_stampecontabili WHERE date_end BETWEEN '.prepare($_SESSION['period_start']).' AND '.prepare($_SESSION['period_end']).' AND id_print='.prepare($id_print).' AND dir='.prepare($dir));
132-
echo '
133-
<div class="card card-info collapsable collapsed-card">
134-
<div class="card-header with-border">
135-
<h3 class="card-title"><i class="fa fa-print"></i> '.tr('Stampe definitive _NOME_ _DIR_ dal _START_ al _END_', [
136-
'_NOME_' => $nome_stampa,
137-
'_DIR_' => ($dir ? ($dir == 'entrata' ? 'vendite' : 'acquisti') : ''),
138-
'_START_' => dateFormat($_SESSION['period_start']),
139-
'_END_' => dateFormat($_SESSION['period_end']),
140-
]).'
141-
</h3>
142-
<div class="card-tools pull-right">
143-
<button type="button" class="btn btn-tool" data-card-widget="collapse"><i class="fa fa-plus"></i></button>
144-
</div>
126+
$elementi = $dbo->fetchArray('SELECT * FROM co_stampecontabili WHERE date_end BETWEEN '.prepare($_SESSION['period_start']).' AND '.prepare($_SESSION['period_end']).' AND id_print='.prepare($id_print).' AND dir='.prepare($dir));
127+
echo '
128+
<div class="card card-info collapsable collapsed-card">
129+
<div class="card-header with-border">
130+
<h3 class="card-title"><i class="fa fa-print"></i> '.tr('Stampe definitive _NOME_ _DIR_ dal _START_ al _END_', [
131+
'_NOME_' => $nome_stampa,
132+
'_DIR_' => ($dir ? ($dir == 'entrata' ? 'vendite' : 'acquisti') : ''),
133+
'_START_' => dateFormat($_SESSION['period_start']),
134+
'_END_' => dateFormat($_SESSION['period_end']),
135+
]).'
136+
</h3>
137+
<div class="card-tools pull-right">
138+
<button type="button" class="btn btn-tool" data-card-widget="collapse"><i class="fa fa-plus"></i></button>
145139
</div>
146-
<div class="card-body">
147-
<ul>';
148-
149-
foreach ($elementi as $elemento) {
150-
$sezionale_stampa = $dbo->fetchOne('SELECT `zz_segments_lang`.`title` FROM `zz_segments` LEFT JOIN `zz_segments_lang` ON (`zz_segments`.`id` = `zz_segments_lang`.`id_record` AND `zz_segments_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `zz_segments`.`id` = '.$elemento['id_sezionale'])['title'];
151-
152-
$descrizione = tr('Stampa definitiva dal _START_ al _END_ _SEZIONALE_ (_FIRST_-_LAST_)', [
153-
'_START_' => dateFormat($elemento['date_start']),
154-
'_END_' => dateFormat($elemento['date_end']),
155-
'_SEZIONALE_' => $sezionale_stampa ? '['.$sezionale_stampa.']' : '',
156-
'_FIRST_' => $elemento['first_page'],
157-
'_LAST_' => $elemento['last_page'],
158-
]);
159-
160-
$file = $dbo->selectOne('zz_files', '*', ['id_module' => $id_module, 'id_record' => $elemento['id']]);
161-
162-
echo '
163-
<li>
164-
<a class="btn btn-xs btn-primary" href="'.base_path().'/actions.php?id_module='.$id_module.'&op=download-allegato&id='.$file['id'].'&filename='.$file['filename'].'" target="_blank"><i class="fa fa-download"></i>
165-
</a>
166-
'.$descrizione.'
167-
</li>';
168-
}
140+
</div>
141+
<div class="card-body">
142+
<ul>';
143+
144+
foreach ($elementi as $elemento) {
145+
$sezionale_stampa = $dbo->fetchOne('SELECT `zz_segments_lang`.`title` FROM `zz_segments` LEFT JOIN `zz_segments_lang` ON (`zz_segments`.`id` = `zz_segments_lang`.`id_record` AND `zz_segments_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `zz_segments`.`id` = '.$elemento['id_sezionale'])['title'];
146+
147+
$descrizione = tr('Stampa definitiva dal _START_ al _END_ _SEZIONALE_ (_FIRST_-_LAST_)', [
148+
'_START_' => dateFormat($elemento['date_start']),
149+
'_END_' => dateFormat($elemento['date_end']),
150+
'_SEZIONALE_' => $sezionale_stampa ? '['.$sezionale_stampa.']' : '',
151+
'_FIRST_' => $elemento['first_page'],
152+
'_LAST_' => $elemento['last_page'],
153+
]);
154+
155+
$file = $dbo->selectOne('zz_files', '*', ['id_module' => $id_module, 'id_record' => $elemento['id']]);
156+
157+
echo '
158+
<li>
159+
<a class="btn btn-xs btn-primary" href="'.base_path().'/actions.php?id_module='.$id_module.'&op=download-allegato&id='.$file['id'].'&filename='.$file['filename'].'" target="_blank"><i class="fa fa-download"></i>
160+
</a>
161+
'.$descrizione.'
162+
</li>';
163+
}
169164

170-
if (empty($elementi)) {
171-
echo '<p class="text-center">'.tr('Nessuna stampa presente').'</p>';
172-
}
165+
if (empty($elementi)) {
166+
echo '<p class="text-center">'.tr('Nessuna stampa presente').'</p>';
167+
}
173168

174-
echo '
175-
</ul>
176-
</div>
177-
</div>';
169+
echo '
170+
</ul>
171+
</div>
172+
</div>';
178173

179-
echo '
180-
<script>
181-
$("#modals > div").on("shown.bs.modal", function () {
182-
eseguiControlli();
183-
});
174+
echo '
175+
<script>
176+
$("#modals > div").on("shown.bs.modal", function () {
177+
eseguiControlli();
178+
});
184179
185-
$("#date_start").on("blur", function(){
186-
eseguiControlli();
187-
});
180+
$("#date_start").on("blur", function(){
181+
eseguiControlli();
182+
});
188183
189-
$("#date_end").on("blur", function(){
190-
eseguiControlli();
191-
});
184+
$("#date_end").on("blur", function(){
185+
eseguiControlli();
186+
});
192187
193-
$("#id_sezionale").on("change", function(){
194-
eseguiControlli();
195-
});
188+
$("#id_sezionale").on("change", function(){
189+
eseguiControlli();
190+
});
196191
197-
function eseguiControlli() {
198-
let date_start = $("#date_start").data("DateTimePicker").date().format("YYYY-MM-DD");
199-
let date_end = $("#date_end").data("DateTimePicker").date().format("YYYY-MM-DD");
200-
controllaDate(date_start, date_end);
201-
}
192+
function eseguiControlli() {
193+
let date_start = $("#date_start").data("DateTimePicker").date().format("YYYY-MM-DD");
194+
let date_end = $("#date_end").data("DateTimePicker").date().format("YYYY-MM-DD");
195+
controllaDate(date_start, date_end);
196+
}
202197
203-
// Controllo se le date inserite corrispondono ad uno dei 4 trimestri o ad un mese
204-
function controllaDate(date_start, date_end) {
205-
let intervallo_corretto = 0;
206-
let date = new Date(date_start);
207-
let year = date.getFullYear();
208-
let m_start = 0;
209-
let m_end = 3;
210-
211-
for (i=0; i<=3; i++) {
212-
let start = new Date(year, m_start, 1);
213-
let end = new Date(year, m_end, 0);
214-
215-
int_start = start.getFullYear() + "-" + ("0" + (start.getMonth() + 1)).slice(-2) + "-" + ("0" + start.getDate()).slice(-2);
216-
int_end = end.getFullYear() + "-" + ("0" + (end.getMonth() + 1)).slice(-2) + "-" + ("0" + end.getDate()).slice(-2);
217-
218-
if (date_start == int_start && date_end == int_end) {
219-
intervallo_corretto = 1;
220-
}
221-
m_start += 3;
222-
m_end += 3;
198+
// Controllo se le date inserite corrispondono ad uno dei 4 trimestri o ad un mese
199+
function controllaDate(date_start, date_end) {
200+
let intervallo_corretto = 0;
201+
let date = new Date(date_start);
202+
let year = date.getFullYear();
203+
let m_start = 0;
204+
let m_end = 3;
205+
206+
for (i=0; i<=3; i++) {
207+
let start = new Date(year, m_start, 1);
208+
let end = new Date(year, m_end, 0);
209+
210+
int_start = start.getFullYear() + "-" + ("0" + (start.getMonth() + 1)).slice(-2) + "-" + ("0" + start.getDate()).slice(-2);
211+
int_end = end.getFullYear() + "-" + ("0" + (end.getMonth() + 1)).slice(-2) + "-" + ("0" + end.getDate()).slice(-2);
212+
213+
if (date_start == int_start && date_end == int_end) {
214+
intervallo_corretto = 1;
223215
}
216+
m_start += 3;
217+
m_end += 3;
218+
}
224219
225-
m_start = 0;
226-
m_end = 1;
227-
for (i=0; i<=11; i++) {
228-
let start = new Date(year, m_start, 1);
229-
let end = new Date(year, m_end, 0);
220+
m_start = 0;
221+
m_end = 1;
222+
for (i=0; i<=11; i++) {
223+
let start = new Date(year, m_start, 1);
224+
let end = new Date(year, m_end, 0);
230225
231-
int_start = start.getFullYear() + "-" + ("0" + (start.getMonth() + 1)).slice(-2) + "-" + ("0" + start.getDate()).slice(-2);
232-
int_end = end.getFullYear() + "-" + ("0" + (end.getMonth() + 1)).slice(-2) + "-" + ("0" + end.getDate()).slice(-2);
226+
int_start = start.getFullYear() + "-" + ("0" + (start.getMonth() + 1)).slice(-2) + "-" + ("0" + start.getDate()).slice(-2);
227+
int_end = end.getFullYear() + "-" + ("0" + (end.getMonth() + 1)).slice(-2) + "-" + ("0" + end.getDate()).slice(-2);
233228
234-
if (date_start == int_start && date_end == int_end) {
235-
intervallo_corretto = 1;
236-
}
237-
m_start += 1;
238-
m_end += 1;
229+
if (date_start == int_start && date_end == int_end) {
230+
intervallo_corretto = 1;
239231
}
240-
$("#is_definitiva").addClass("hidden");
232+
m_start += 1;
233+
m_end += 1;
234+
}
235+
$("#is_definitiva").addClass("hidden");
236+
237+
if (intervallo_corretto) {
238+
$("#period").addClass("hidden");
239+
controllaStampa(date_start, date_end);
240+
} else {
241+
$("#period").removeClass("hidden");
242+
input("definitiva").disable();
243+
$("#definitiva").prop("checked", false);
244+
}
245+
}
241246
242-
if (intervallo_corretto) {
243-
$("#period").addClass("hidden");
244-
controllaStampa(date_start, date_end);
247+
// Controllo se è già stata creata una stampa definitiva nel periodo selezionato
248+
function controllaStampa(date_start, date_end) {
249+
$(document).load(globals.rootdir + "/ajax_complete.php?module=stampe_contabili&op=controlla_stampa&dir='.$dir.'&id_sezionale="+$("#id_sezionale").val()+"&id_print='.$id_print.'&date_start=" + date_start + "&date_end=" + date_end, function(response) {
250+
let stampa_definitiva = response;
251+
252+
if (stampa_definitiva==0) {
253+
$("#is_definitiva").addClass("hidden");
254+
input("definitiva").enable();
245255
} else {
246-
$("#period").removeClass("hidden");
256+
$("#is_definitiva").removeClass("hidden");
247257
input("definitiva").disable();
248258
$("#definitiva").prop("checked", false);
249259
}
250-
}
251-
252-
// Controllo se è già stata creata una stampa definitiva nel periodo selezionato
253-
function controllaStampa(date_start, date_end) {
254-
$(document).load(globals.rootdir + "/ajax_complete.php?module=stampe_contabili&op=controlla_stampa&dir='.$dir.'&id_sezionale="+$("#id_sezionale").val()+"&id_print='.$id_print.'&date_start=" + date_start + "&date_end=" + date_end, function(response) {
255-
let stampa_definitiva = response;
256-
257-
if (stampa_definitiva==0) {
258-
$("#is_definitiva").addClass("hidden");
259-
input("definitiva").enable();
260-
} else {
261-
$("#is_definitiva").removeClass("hidden");
262-
input("definitiva").disable();
263-
$("#definitiva").prop("checked", false);
264-
}
265-
});
266-
}
267-
</script>';
268-
}
260+
});
261+
}
269262
270-
echo '
271-
<script>
272263
$(document).ready(init);
273264
274265
function avvia_stampa (){
@@ -318,10 +309,7 @@ function avvia_stampa (){
318309
$("#date_end").data("DateTimePicker").date(new Date(input("periodo").getData().date_end));
319310
input("date_start").disable();
320311
input("date_end").disable();
321-
}';
322-
if ($nome_stampa != 'Liquidazione IVA') {
323-
echo 'eseguiControlli();';
324-
}
325-
echo '
312+
}
313+
eseguiControlli();
326314
});
327315
</script>';

templates/liquidazione_iva/footer.php

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,10 @@
1818
* along with this program. If not, see <https://www.gnu.org/licenses/>.
1919
*/
2020

21-
echo '
22-
<table style="color:#aaa; font-size:8px;">
23-
<tr>
24-
<td align="left" style="width:97mm;">
25-
'.tr('Generato con OpenSTAManager il _DATE_', ['_DATE_' => date('d/m/Y')]).'
26-
</td>
27-
28-
<td class="text-right" style="width:97mm;">
29-
'.tr('Pagina _PAGE_ di _TOTAL_', [
30-
'_PAGE_' => '{PAGENO}',
31-
'_TOTAL_' => '{nb}',
32-
]).'
33-
</td>
34-
</tr>
35-
</table>';
21+
echo '
22+
<p class="text-right">
23+
'.tr('_YEAR_/_PAGE_', [
24+
'_PAGE_' => '{PAGENO}',
25+
'_YEAR_' => date('Y'),
26+
]).'
27+
</p>';

0 commit comments

Comments
 (0)