|
107 | 107 |
|
108 | 108 | <div class="col-md-4"> |
109 | 109 | {[ "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> |
111 | 111 |
|
112 | | -if ($nome_stampa != 'Liquidazione IVA') { |
113 | | - echo ' |
114 | 112 | <div class="col-md-4"> |
115 | 113 | {[ "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> |
118 | 115 |
|
119 | | -echo ' |
120 | 116 | <div class="col-md-4 pull-right"> |
121 | 117 | <p style="line-height:14px;"> </p> |
122 | 118 | <button type="button" class="btn btn-primary btn-block" onclick="if($(\'#form\').parsley().validate()) { return avvia_stampa(); }"> |
|
127 | 123 | </form> |
128 | 124 | <br>'; |
129 | 125 |
|
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> |
145 | 139 | </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 | +} |
169 | 164 |
|
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 | +} |
173 | 168 |
|
174 | | - echo ' |
175 | | - </ul> |
176 | | - </div> |
177 | | - </div>'; |
| 169 | +echo ' |
| 170 | + </ul> |
| 171 | + </div> |
| 172 | +</div>'; |
178 | 173 |
|
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 | + }); |
184 | 179 |
|
185 | | - $("#date_start").on("blur", function(){ |
186 | | - eseguiControlli(); |
187 | | - }); |
| 180 | + $("#date_start").on("blur", function(){ |
| 181 | + eseguiControlli(); |
| 182 | + }); |
188 | 183 |
|
189 | | - $("#date_end").on("blur", function(){ |
190 | | - eseguiControlli(); |
191 | | - }); |
| 184 | + $("#date_end").on("blur", function(){ |
| 185 | + eseguiControlli(); |
| 186 | + }); |
192 | 187 |
|
193 | | - $("#id_sezionale").on("change", function(){ |
194 | | - eseguiControlli(); |
195 | | - }); |
| 188 | + $("#id_sezionale").on("change", function(){ |
| 189 | + eseguiControlli(); |
| 190 | + }); |
196 | 191 |
|
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 | + } |
202 | 197 |
|
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; |
223 | 215 | } |
| 216 | + m_start += 3; |
| 217 | + m_end += 3; |
| 218 | + } |
224 | 219 |
|
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); |
230 | 225 |
|
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); |
233 | 228 |
|
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; |
239 | 231 | } |
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 | + } |
241 | 246 |
|
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(); |
245 | 255 | } else { |
246 | | - $("#period").removeClass("hidden"); |
| 256 | + $("#is_definitiva").removeClass("hidden"); |
247 | 257 | input("definitiva").disable(); |
248 | 258 | $("#definitiva").prop("checked", false); |
249 | 259 | } |
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 | + } |
269 | 262 |
|
270 | | -echo ' |
271 | | -<script> |
272 | 263 | $(document).ready(init); |
273 | 264 |
|
274 | 265 | function avvia_stampa (){ |
@@ -318,10 +309,7 @@ function avvia_stampa (){ |
318 | 309 | $("#date_end").data("DateTimePicker").date(new Date(input("periodo").getData().date_end)); |
319 | 310 | input("date_start").disable(); |
320 | 311 | input("date_end").disable(); |
321 | | - }'; |
322 | | -if ($nome_stampa != 'Liquidazione IVA') { |
323 | | - echo 'eseguiControlli();'; |
324 | | -} |
325 | | -echo ' |
| 312 | + } |
| 313 | + eseguiControlli(); |
326 | 314 | }); |
327 | 315 | </script>'; |
0 commit comments