Aggiunta stampa liquidazione provvigioni
This commit is contained in:
parent
fed45af5ae
commit
8a485ca14b
|
@ -74,4 +74,10 @@ if (in_array($id_cliente, $tipi_anagrafica) or in_array($id_fornitore, $tipi_ana
|
||||||
echo '
|
echo '
|
||||||
</ul>
|
</ul>
|
||||||
</div>';
|
</div>';
|
||||||
|
} else if (in_array($id_agente, $tipi_anagrafica)) {
|
||||||
|
//Aggiunta liquidazione provvigioni per agente
|
||||||
|
echo'
|
||||||
|
<button type="button" class="btn btn-primary" data-title="'.tr('Liquida Provvigioni').'" data-href="'.base_path().'/modules/anagrafiche/liquida_provvigioni.php?nome_stampa=Provvigioni&id_record='.$id_record.'" ><i class="fa fa-print"></i>'.tr(' Liquida Provvigioni').'</button>
|
||||||
|
|
||||||
|
</div>';
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,116 @@
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* OpenSTAManager: il software gestionale open source per l'assistenza tecnica e la fatturazione
|
||||||
|
* Copyright (C) DevCode s.r.l.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
|
use Models\Module;
|
||||||
|
use Carbon\Carbon;
|
||||||
|
|
||||||
|
$id_record = filter('id_record');
|
||||||
|
$dir = filter('dir');
|
||||||
|
$nome_stampa = filter('nome_stampa');
|
||||||
|
$id_print = $dbo->fetchOne('SELECT id FROM zz_prints WHERE name='.prepare($nome_stampa))['id'];
|
||||||
|
$id_module = Module::pool('Stampe contabili')->id;
|
||||||
|
|
||||||
|
$year = (new Carbon($_SESSION['period_end']))->format('Y');
|
||||||
|
|
||||||
|
// Trovo id_print della stampa
|
||||||
|
$link = Prints::getHref($nome_stampa, $id_record);
|
||||||
|
|
||||||
|
echo '
|
||||||
|
<div class="alert alert-info hidden" id="period">
|
||||||
|
<i class="fa fa-exclamation-circle"></i> '.tr('Non è possibile creare la stampa definitiva nel periodo selezionato, è necessario prima impostare un periodo!').'
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<form action="" method="post" id="form" >
|
||||||
|
<div class="row">';
|
||||||
|
echo '
|
||||||
|
<div class="col-md-4">
|
||||||
|
{[ "type": "date", "label": "'.tr('Data inizio').'", "required": "1", "name": "date_start", "value": "'.$_SESSION['period_start'].'" ]}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-4">
|
||||||
|
{[ "type": "date", "label": "'.tr('Data fine').'", "required": "1", "name": "date_end", "value": "'.$_SESSION['period_end'].'" ]}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-4">
|
||||||
|
{[ "type": "checkbox", "label": "'.tr('Includi emesse').'", "name": "is_emessa" ]}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
{[ "type": "select", "label": "'.tr('Formato').'", "name": "format", "required": "1", "values": "list=\"A4\": \"'.tr('A4').'\", \"A3\": \"'.tr('A3').'\"", "value": "'.$_SESSION['stampe_contabili']['format'].'" ]}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-4">
|
||||||
|
{[ "type": "select", "label": "'.tr('Orientamento').'", "name": "orientation", "required": "1", "values": "list=\"L\": \"'.tr('Orizzontale').'\", \"P\": \"'.tr('Verticale').'\"", "value": "'.$_SESSION['stampe_contabili']['orientation'].'" ]}
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
{[ "type": "checkbox", "label": "'.tr('Includi parzialmente pagate').'", "name": "is_parz_pagata" ]}
|
||||||
|
</div>
|
||||||
|
';
|
||||||
|
|
||||||
|
echo '
|
||||||
|
<div class="col-md-4 pull-right">
|
||||||
|
<p style="line-height:14px;"> </p>
|
||||||
|
<button type="button" class="btn btn-primary btn-block" onclick="if($(\'#form\').parsley().validate()) { return avvia_stampa(); }">
|
||||||
|
<i class="fa fa-print"></i> '.tr('Stampa').'
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<br>';
|
||||||
|
|
||||||
|
echo '
|
||||||
|
<script>
|
||||||
|
$(document).ready(init);
|
||||||
|
|
||||||
|
function avvia_stampa (){
|
||||||
|
var is_emessa = $("#is_emessa").is(":checked");
|
||||||
|
var is_parz_pagata = $("#is_parz_pagata").is(":checked");
|
||||||
|
window.open("'.$link.'&dir='.$dir.'&is_emessa="+is_emessa+"&is_parz_pagata="+is_parz_pagata+"¬definitiva=1&id_sezionale="+$("#id_sezionale").val()+"&date_start="+$("#date_start").val()+"&date_end="+$("#date_end").val()+"");
|
||||||
|
$("#modals > div").modal("hide");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$("#format").change(function() {
|
||||||
|
session_set("stampe_contabili,format", $(this).val(), 0, 0);
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#orientation").change(function() {
|
||||||
|
session_set("stampe_contabili,orientation", $(this).val(), 0, 0);
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#periodo").change(function() {
|
||||||
|
if ($(this).val()=="manuale") {
|
||||||
|
input("date_start").enable();
|
||||||
|
input("date_end").enable();
|
||||||
|
} else {
|
||||||
|
$("#date_start").data("DateTimePicker").date(new Date(input("periodo").getData().date_start));
|
||||||
|
$("#date_end").data("DateTimePicker").date(new Date(input("periodo").getData().date_end));
|
||||||
|
input("date_start").disable();
|
||||||
|
input("date_end").disable();
|
||||||
|
}';
|
||||||
|
if ($nome_stampa != 'Liquidazione IVA') {
|
||||||
|
echo 'eseguiControlli();';
|
||||||
|
}
|
||||||
|
echo '
|
||||||
|
});
|
||||||
|
</script>';
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* OpenSTAManager: il software gestionale open source per l'assistenza tecnica e la fatturazione
|
||||||
|
* Copyright (C) DevCode s.r.l.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
|
$totale_provvigioni = sum(array_column($records, 'provvigione'));
|
||||||
|
|
||||||
|
echo '
|
||||||
|
<tr>
|
||||||
|
<td colspan="4" class="text-right">
|
||||||
|
<b>'.tr('Totale provvigioni', [], ['upper' => true]).':</b>
|
||||||
|
</td>
|
||||||
|
<td class="text-center">'.moneyFormat($totale_provvigioni, 2).'</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>';
|
|
@ -0,0 +1,72 @@
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* OpenSTAManager: il software gestionale open source per l'assistenza tecnica e la fatturazione
|
||||||
|
* Copyright (C) DevCode s.r.l.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
|
$module = Modules::get('Fatture di vendita');
|
||||||
|
$id_module = $module['id'];
|
||||||
|
|
||||||
|
$module_query = '
|
||||||
|
SELECT
|
||||||
|
numero_esterno,
|
||||||
|
an_anagrafiche.ragione_sociale,
|
||||||
|
prezzo_unitario,
|
||||||
|
provvigione_percentuale,
|
||||||
|
provvigione
|
||||||
|
FROM
|
||||||
|
`co_documenti`
|
||||||
|
LEFT JOIN `an_anagrafiche` ON `co_documenti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`
|
||||||
|
LEFT JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento` = `co_tipidocumento`.`id`
|
||||||
|
LEFT JOIN (SELECT `iddocumento`, SUM(`subtotale` - `sconto`) AS `totale_imponibile`, SUM(`iva`) AS `iva` FROM `co_righe_documenti` GROUP BY `iddocumento`) AS righe ON `co_documenti`.`id` = `righe`.`iddocumento`
|
||||||
|
LEFT JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento` = `co_statidocumento`.`id`
|
||||||
|
LEFT JOIN an_anagrafiche as agenti ON agenti.idanagrafica = co_documenti.idagente
|
||||||
|
LEFT JOIN co_righe_documenti ON co_righe_documenti.iddocumento = co_documenti.id
|
||||||
|
WHERE
|
||||||
|
1=1
|
||||||
|
GROUP BY
|
||||||
|
co_documenti.id, co_righe_documenti.id
|
||||||
|
HAVING
|
||||||
|
2=2
|
||||||
|
ORDER BY
|
||||||
|
`co_documenti`.`data` DESC';
|
||||||
|
|
||||||
|
if(!empty(get('date_start'))){
|
||||||
|
$module_query = str_replace('1=1', '1=1 AND DATE_FORMAT(`data`, "%Y%m%d") >= "'.date('Ymd', strtotime(get('date_start'))).'"', $module_query);
|
||||||
|
|
||||||
|
$date_start = get('date_start');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!empty(get('date_end'))){
|
||||||
|
$module_query = str_replace('1=1', '1=1 AND DATE_FORMAT(`data`, "%Y%m%d") <= "'.date('Ymd', strtotime(get('date_end'))).'"', $module_query);
|
||||||
|
|
||||||
|
$date_end = get('date_end');
|
||||||
|
}
|
||||||
|
|
||||||
|
$module_query = str_replace('1=1', '1=1 AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione = "Pagato")', $module_query);
|
||||||
|
|
||||||
|
if(get('is_emessa')=='true' && get('is_parz_pagata')=='true'){
|
||||||
|
$module_query = str_replace('1=1 AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione = "Pagato")', '1=1 AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione = "Pagato" OR descrizione = "Emessa" OR descrizione = "Parzialmente pagato")', $module_query);
|
||||||
|
} else if(get('is_emessa')=='true'){
|
||||||
|
$module_query = str_replace('1=1 AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione = "Pagato")', '1=1 AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione = "Pagato" OR descrizione = "Emessa")', $module_query);
|
||||||
|
} else if(get('is_parz_pagata')=='true'){
|
||||||
|
$module_query = str_replace('1=1 AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione = "Pagato")', '1=1 AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione = "Pagato" OR descrizione = "Parzialmente pagato")', $module_query);
|
||||||
|
}
|
||||||
|
|
||||||
|
$module_query = str_replace('1=1', '1=1 AND co_documenti.idagente='.prepare($id_record), $module_query);
|
||||||
|
$records = $dbo->fetchArray($module_query);
|
|
@ -0,0 +1,29 @@
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* OpenSTAManager: il software gestionale open source per l'assistenza tecnica e la fatturazione
|
||||||
|
* Copyright (C) DevCode s.r.l.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
|
echo '
|
||||||
|
<tr>
|
||||||
|
<td> Fattura n. '.$record['numero_esterno'].'</td>
|
||||||
|
<td>'.$record['ragione_sociale'].'</td>
|
||||||
|
<td class="text-center">'.moneyFormat($record['prezzo_unitario'], 2).'</td>
|
||||||
|
<td class="text-center">'.numberFormat($record['provvigione_percentuale'], 0).' % </td>
|
||||||
|
<td class="text-center">'.moneyFormat($record['provvigione'], 2).'</td>
|
||||||
|
</tr>';
|
|
@ -0,0 +1,27 @@
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* OpenSTAManager: il software gestionale open source per l'assistenza tecnica e la fatturazione
|
||||||
|
* Copyright (C) DevCode s.r.l.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
$format = (isset($_SESSION['stampe_contabili']['format'])) ? $_SESSION['stampe_contabili']['format'] : 'A4';
|
||||||
|
$orientation = (isset($_SESSION['stampe_contabili']['orientation'])) ? $_SESSION['stampe_contabili']['orientation'] : 'L';
|
||||||
|
|
||||||
|
return [
|
||||||
|
'format' => $format,
|
||||||
|
'orientation' => $orientation,
|
||||||
|
'font-size' => '11pt',
|
||||||
|
];
|
|
@ -0,0 +1,58 @@
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* OpenSTAManager: il software gestionale open source per l'assistenza tecnica e la fatturazione
|
||||||
|
* Copyright (C) DevCode s.r.l.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
include_once __DIR__.'/../../core.php';
|
||||||
|
use Modules\Anagrafiche\Anagrafica;
|
||||||
|
|
||||||
|
$agente = Anagrafica::where([
|
||||||
|
['idanagrafica', '=', $id_record],
|
||||||
|
])->first();
|
||||||
|
|
||||||
|
echo '
|
||||||
|
<h4><b>'.tr('Liquidazione provvigioni agente _ANAG_', [
|
||||||
|
'_ANAG_' => $agente->ragione_sociale,
|
||||||
|
], ['upper' => true]).'</b></h4>';
|
||||||
|
|
||||||
|
if(!empty($date_start) AND !empty($date_end)) {
|
||||||
|
echo '
|
||||||
|
<h4><b>'.tr('Provvigioni dal _START_ al _END_', [
|
||||||
|
'_START_' => Translator::dateToLocale($date_start),
|
||||||
|
'_END_' => Translator::dateToLocale($date_end),
|
||||||
|
], ['upper' => true]).'</b>
|
||||||
|
</h4>';
|
||||||
|
}else{
|
||||||
|
echo '
|
||||||
|
<h5><b>'.tr('Provvigioni').'</b>
|
||||||
|
</h5>';
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '
|
||||||
|
<table class="table table-striped table-bordered" id="contents">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th width="20%">'.tr('Documento', [], ['upper' => true]).'</th>
|
||||||
|
<th width="50%">'.tr('Anagrafica', [], ['upper' => true]).'</th>
|
||||||
|
<th width="10%" class="text-center">'.tr('Importo', [], ['upper' => true]).'</th>
|
||||||
|
<th width="10%" class="text-center">'.tr('Percentuale', [], ['upper' => true]).'</th>
|
||||||
|
<th width="10%" class="text-center">'.tr('Provvigione', [], ['upper' => true]).'</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>';
|
||||||
|
|
Loading…
Reference in New Issue