Aggiunta gestione anticipi clienti e fornitori

This commit is contained in:
MatteoPistorello 2020-11-02 14:36:53 +01:00
parent 815a741de8
commit 3365e7216b
6 changed files with 65 additions and 10 deletions

View File

@ -51,6 +51,9 @@ if (in_array($id_cliente, $tipi_anagrafica) or in_array($id_fornitore, $tipi_ana
</a></li>
<li><a data-toggle="modal" data-title="'.tr('Aggiungi fattura di vendita').'" data-href="add.php?id_module='.Modules::get('Fatture di vendita')['id'].'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-file"></i>'.tr('Nuova fattura di vendita').'
</a></li>
<li><a data-toggle="modal" data-title="'.tr('Aggiungi registrazione contabile').'" data-href="add.php?id_module='.Modules::get('Prima nota')['id'].'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-euro"></i>'.tr('Nuova registrazione contabile').'
</a></li>';
}
@ -62,6 +65,9 @@ if (in_array($id_cliente, $tipi_anagrafica) or in_array($id_fornitore, $tipi_ana
</a></li>
<li><a data-toggle="modal" data-title="'.tr('Aggiungi fattura di acquisto').'" data-href="add.php?id_module='.Modules::get('Fatture di acquisto')['id'].'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-file fa-flip-horizontal"></i>'.tr('Nuova fattura di acquisto').'
</a></li>
<li><a data-toggle="modal" data-title="'.tr('Aggiungi registrazione contabile').'" data-href="add.php?id_module='.Modules::get('Prima nota')['id'].'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-euro"></i>'.tr('Nuova registrazione contabile').'
</a></li>';
}

View File

@ -29,8 +29,8 @@ switch (post('op')) {
$data = post('data');
$descrizione = post('descrizione');
$is_insoluto = post('is_insoluto');
$mastrino = Mastrino::build($descrizione, $data, $is_insoluto, true);
$id_anagrafica = post('id_anagrafica');
$mastrino = Mastrino::build($descrizione, $data, $is_insoluto, true, $id_anagrafica);
$conti = post('idconto');
foreach ($conti as $i => $id_conto) {
@ -38,7 +38,6 @@ switch (post('op')) {
$id_documento = post('id_documento')[$i];
$dare = post('dare')[$i];
$avere = post('avere')[$i];
$scadenza = Scadenza::find($id_scadenza);
$fattura = Fattura::find($id_documento);

View File

@ -253,14 +253,20 @@ if (!empty($id_records) && get('origine') == 'fatture' && !empty($counter)) {
]).'.</b></p>
</div>';
}
if(!empty(get('idanagrafica'))){
$id_anagrafica = get('idanagrafica');
} else{
$id_anagrafica = $dbo->fetchOne('SELECT idanagrafica FROM co_documenti WHERE id IN('.( get('id_documenti') ?: '0' ).')')['idanagrafica'];
}
echo '
<form action="'.base_path().'/controller.php?id_module='.$module->id.'" method="post" id="add-form">
<input type="hidden" name="op" value="add">
<input type="hidden" name="backto" value="record-edit">
<input type="hidden" name="crea_modello" id="crea_modello" value="0">
<input type="hidden" name="idmastrino" id="idmastrino" value="0">
<input type="hidden" name="is_insoluto" value="'.$is_insoluto.'">';
<input type="hidden" name="is_insoluto" value="'.$is_insoluto.'">
<input type="hidden" name="id_anagrafica" id="id_anagrafica" value="'.$id_anagrafica.'">';
if ($permetti_modelli) {
echo '
@ -271,7 +277,7 @@ if ($permetti_modelli) {
</div>';
}
echo '
echo '
<div class="row">
<div class="col-md-4">
{[ "type": "date", "label": "'.tr('Data movimento').'", "name": "data", "required": 1, "value": "-now-" ]}
@ -280,11 +286,43 @@ if ($permetti_modelli) {
<div class="col-md-8">
{[ "type": "text", "label": "'.tr('Causale').'", "name": "descrizione", "id": "desc", "required": 1, "value": '.json_encode($descrizione).' ]}
</div>
</div>';
</div>';
if(!empty($id_anagrafica)){
$id_conto_anticipo_fornitori = setting('Conto anticipo fornitori');
$id_conto_anticipo_clienti = setting('Conto anticipo clienti');
$anticipo_cliente = $dbo->fetchOne('SELECT ABS(SUM(totale)) AS totale FROM co_movimenti WHERE co_movimenti.idanagrafica='.prepare($id_anagrafica).' AND co_movimenti.idconto='.prepare($id_conto_anticipo_clienti));
$anticipo_fornitore = $dbo->fetchOne('SELECT ABS(SUM(totale)) AS totale FROM co_movimenti WHERE co_movimenti.idanagrafica='.prepare($id_anagrafica).' AND co_movimenti.idconto='.prepare($id_conto_anticipo_fornitori));
if($anticipo_fornitore['totale'] != 0){
echo '
<div class="alert alert-warning">
'.tr('Attenzione: è stato anticipato al fornitore un importo di _TOTALE_',
[
'_TOTALE_' => moneyFormat($anticipo_fornitore['totale'])
]
).'
</div>';
}
if($anticipo_cliente['totale'] != 0){
echo '
<div class="alert alert-warning">
'.tr('Attenzione: è stato ricevuto un anticipo dal cliente di _TOTALE_',
[
'_TOTALE_' => moneyFormat($anticipo_cliente['totale'])
]
).'
</div>';
}
}
include $structure->filepath('movimenti.php');
echo '
echo '
<!-- PULSANTI -->
<div class="row">
<div class="col-md-12 text-right">

View File

@ -45,7 +45,7 @@ class Mastrino extends Model
'idanagrafica',
];
public static function build($descrizione, $data, $is_insoluto = false, $contabile = false)
public static function build($descrizione, $data, $is_insoluto = false, $contabile = false, $id_anagrafica = 0)
{
$model = new static();
@ -54,7 +54,7 @@ class Mastrino extends Model
$model->descrizione = $descrizione;
$model->is_insoluto = $is_insoluto;
$model->primanota = $contabile;
$model->idanagrafica = $id_anagrafica;
return $model;
}

View File

@ -47,7 +47,8 @@ class Movimento extends Model
$model->note = $mastrino->note;
$model->primanota = $mastrino->primanota;
$model->is_insoluto = $mastrino->is_insoluto;
$model->idanagrafica = $mastrino->idanagrafica;
// Conto associato
$model->idconto = $id_conto;

View File

@ -333,3 +333,14 @@ ALTER TABLE `mg_prezzi_articoli` ADD `sconto` DECIMAL(15,6) NOT NULL AFTER `mass
-- Aggiunta impostazione per mostrare o nascondere barra plugin
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Nascondere la barra dei plugin di default', '0', 'boolean', '1', 'Generali', '2', NULL);
-- Aggiunta impostazione conto anticipi
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Conto anticipo clienti', '55', 'query=SELECT id, CONCAT_WS(\' - \', numero, descrizione) AS descrizione FROM co_pianodeiconti3', '1', 'Fatturazione', NULL, NULL);
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Conto anticipo fornitori', '55', 'query=SELECT id, CONCAT_WS(\' - \', numero, descrizione) AS descrizione FROM co_pianodeiconti3', '1', 'Fatturazione', NULL, NULL);
INSERT INTO `co_pianodeiconti3` (`id`, `numero`, `descrizione`, `idpianodeiconti2`, `dir`, `percentuale_deducibile`) VALUES (NULL, '000011', 'Anticipo fornitori', '8', '', '100.00');
INSERT INTO `co_pianodeiconti3` (`id`, `numero`, `descrizione`, `idpianodeiconti2`, `dir`, `percentuale_deducibile`) VALUES (NULL, '000011', 'Anticipo clienti', '2', '', '100.00');