Bugifx #119
Ripristinati plugin "Pianificazione fatturazione" + widget "Rate contrattuali" migliorato inserimento fattura con rif. idconto e idbanca
This commit is contained in:
parent
e827de7788
commit
f29c8b8ac9
|
@ -19,15 +19,23 @@ echo '
|
||||||
// Data
|
// Data
|
||||||
echo '
|
echo '
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-4">
|
||||||
{[ "type": "date", "label": "'.tr('Data').'", "name": "data", "required": 1, "class": "text-center", "value": "-now-", "extra": "" ]}
|
{[ "type": "date", "label": "'.tr('Data').'", "name": "data", "required": 1, "class": "text-center", "value": "-now-", "extra": "" ]}
|
||||||
</div>';
|
</div>';
|
||||||
|
|
||||||
// Tipo di documento
|
// Tipo di documento
|
||||||
echo '
|
echo '
|
||||||
<div class="col-md-6">
|
<div class="col-md-4">
|
||||||
{[ "type": "select", "label": "'.tr('Tipo di fattura').'", "name": "idtipodocumento", "required": 1, "values": "query=SELECT * FROM co_tipidocumento WHERE dir=\'entrata\'", "extra": "" ]}
|
{[ "type": "select", "label": "'.tr('Tipo di fattura').'", "name": "idtipodocumento", "required": 1, "values": "query=SELECT * FROM co_tipidocumento WHERE dir=\'entrata\'", "extra": "" ]}
|
||||||
|
</div>';
|
||||||
|
|
||||||
|
|
||||||
|
// Sezionale
|
||||||
|
echo '
|
||||||
|
<div class="col-md-4">
|
||||||
|
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module='.Modules::get('Fatture di vendita')['id'].' ORDER BY name", "value":"'.$_SESSION['m'.Modules::get('Fatture di vendita')['id']]['id_segment'].'", "extra": "" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>';
|
</div>';
|
||||||
|
|
||||||
// Note
|
// Note
|
||||||
|
|
|
@ -65,7 +65,7 @@ elseif ($get['op'] == 'del_pianificazione') {
|
||||||
|
|
||||||
// Creazione fattura pianificata
|
// Creazione fattura pianificata
|
||||||
elseif ($get['op'] == 'addfattura') {
|
elseif ($get['op'] == 'addfattura') {
|
||||||
include $docroot.'/modules/fatture/modutil.php';
|
include_once $docroot.'/modules/fatture/modutil.php';
|
||||||
|
|
||||||
$idpianificazione = $get['idpianificazione'];
|
$idpianificazione = $get['idpianificazione'];
|
||||||
$descrizione = post('note');
|
$descrizione = post('note');
|
||||||
|
@ -78,20 +78,31 @@ elseif ($get['op'] == 'addfattura') {
|
||||||
$idanagrafica = $rs[0]['idanagrafica'];
|
$idanagrafica = $rs[0]['idanagrafica'];
|
||||||
|
|
||||||
$dir = 'entrata';
|
$dir = 'entrata';
|
||||||
|
$idconto = get_var('Conto predefinito fatture di vendita');
|
||||||
$numero = get_new_numerofattura($data);
|
$numero = get_new_numerofattura($data);
|
||||||
|
$id_segment = post('id_segment');
|
||||||
$numero_esterno = get_new_numerosecondariofattura($data);
|
$numero_esterno = get_new_numerosecondariofattura($data);
|
||||||
|
|
||||||
// Tipo di pagamento predefinito dall'anagrafica
|
// Tipo di pagamento + banca predefinite dall'anagrafica
|
||||||
$query = 'SELECT id FROM co_pagamenti WHERE id=(SELECT idpagamento_vendite FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')';
|
$query = 'SELECT id, (SELECT idbanca_vendite FROM an_anagrafiche WHERE idanagrafica = '.prepare($idanagrafica).') AS idbanca FROM co_pagamenti WHERE id = (SELECT idpagamento_vendite AS pagamento FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')';
|
||||||
$rs = $dbo->fetchArray($query);
|
$rs = $dbo->fetchArray($query);
|
||||||
$idpagamento = $rs[0]['id'];
|
$idpagamento = $rs[0]['id'];
|
||||||
|
$idbanca = $rs[0]['idbanca'];
|
||||||
|
|
||||||
// Se non è stato associato un pagamento predefinito al cliente leggo il pagamento dalle impostazioni
|
// Se la fattura è di vendita e non è stato associato un pagamento predefinito al cliente leggo il pagamento dalle impostazioni
|
||||||
if ($idpagamento == '') {
|
if ($dir == 'entrata' && $idpagamento == '') {
|
||||||
$idpagamento = get_var('Tipo di pagamento predefinito');
|
$idpagamento = get_var('Tipo di pagamento predefinito');
|
||||||
}
|
}
|
||||||
|
|
||||||
$query = 'INSERT INTO co_documenti(numero, numero_esterno, idanagrafica, idtipodocumento, idpagamento, data, idstatodocumento, note, idsede) VALUES ('.prepare($numero).', '.prepare($numero_esterno).', '.prepare($idanagrafica).', '.prepare($idtipodocumento).', '.prepare($idpagamento).', '.prepare($data).", (SELECT `id` FROM `co_statidocumento` WHERE `descrizione`='Bozza'), ".prepare($note).', (SELECT idsede_fatturazione FROM an_anagrafiche WHERE idanagrafica='.prpeare($idanagrafica).') )';
|
// Se non è impostata la banca dell'anagrafica, uso quella del pagamento.
|
||||||
|
if (empty($idbanca)) {
|
||||||
|
// Banca predefinita del pagamento
|
||||||
|
$query = 'SELECT id FROM co_banche WHERE id_pianodeiconti3 = (SELECT idconto_vendite FROM co_pagamenti WHERE id = '.prepare($idpagamento).')';
|
||||||
|
$rs = $dbo->fetchArray($query);
|
||||||
|
$idbanca = $rs[0]['id'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$query = 'INSERT INTO co_documenti(numero, numero_esterno, idanagrafica, idtipodocumento, idpagamento, data, idstatodocumento, note, idsede, id_segment, idconto, idbanca) VALUES ('.prepare($numero).', '.prepare($numero_esterno).', '.prepare($idanagrafica).', '.prepare($idtipodocumento).', '.prepare($idpagamento).', '.prepare($data).", (SELECT `id` FROM `co_statidocumento` WHERE `descrizione`='Bozza'), ".prepare($note).', (SELECT idsede_fatturazione FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).'), '.prepare($id_segment).', '.prepare($idconto).', '.prepare($idbanca).' )';
|
||||||
$dbo->query($query);
|
$dbo->query($query);
|
||||||
$iddocumento = $dbo->lastInsertedID();
|
$iddocumento = $dbo->lastInsertedID();
|
||||||
|
|
||||||
|
@ -322,7 +333,7 @@ else {
|
||||||
echo '
|
echo '
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
{[ "type": "select", "label": "'.tr('Zone di cui pianificare la fatturazione').'", "name": "idzona[]", "value": "", "values": "query=SELECT id, descrizione FROM an_zone WHERE (id IN (SELECT idzona FROM an_sedi WHERE id IN (SELECT idsede FROM my_impianti WHERE id IN (SELECT idimpianto FROM co_ordiniservizio WHERE idcontratto='.prepare($id_record).')))) OR ( id=(SELECT idzona FROM an_anagrafiche WHERE idanagrafica=(SELECT idanagrafica FROM co_contratti WHERE id='.prepare($id_record).') AND idzona=an_zone.id) ) UNION SELECT 0, \'Altro\'", "multiple": 1, "extra": "onchange=\"$(this).find(\'option\').each( function(){ if( $(this).is(\':selected\') ){ $(\'#zona_\'+$(this).val()).removeClass(\'hide\'); }else{ $(\'#zona_\'+$(this).val()).addClass(\'hide\'); } });\"" ]}
|
{[ "type": "select", "label": "'.tr('Zone per le quali pianificare la fatturazione').'", "name": "idzona[]", "value": "", "values": "query=SELECT id, descrizione FROM an_zone WHERE (id IN (SELECT idzona FROM an_sedi WHERE id IN (SELECT idsede FROM my_impianti WHERE id IN (SELECT idimpianto FROM co_ordiniservizio WHERE idcontratto='.prepare($id_record).')))) OR ( id=(SELECT idzona FROM an_anagrafiche WHERE idanagrafica=(SELECT idanagrafica FROM co_contratti WHERE id='.prepare($id_record).') AND idzona=an_zone.id) ) UNION SELECT 0, \'Altro\'", "multiple": 1, "extra": "onchange=\"$(this).find(\'option\').each( function(){ if( $(this).is(\':selected\') ){ $(\'#zona_\'+$(this).val()).removeClass(\'hide\'); }else{ $(\'#zona_\'+$(this).val()).addClass(\'hide\'); } });\"" ]}
|
||||||
</div>
|
</div>
|
||||||
</div>';
|
</div>';
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,8 @@ echo '
|
||||||
<hr>';
|
<hr>';
|
||||||
|
|
||||||
// Righe inserite
|
// Righe inserite
|
||||||
$qp = "SELECT *, (SELECT SUM(subtotale) FROM co_righe2_contratti WHERE idcontratto=co_ordiniservizio_pianificazionefatture.idcontratto) AS budget_contratto, DATE_FORMAT( data_scadenza, '%m-%Y') AS mese, (SELECT idanagrafica FROM co_contratti WHERE id=idcontratto) AS idcliente, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=(SELECT idanagrafica FROM co_contratti WHERE id=idcontratto)) AS ragione_sociale, (SELECT descrizione FROM an_zone WHERE id=co_ordiniservizio_pianificazionefatture.idzona) AS zona FROM co_ordiniservizio_pianificazionefatture WHERE idcontratto IN( SELECT id FROM co_contratti WHERE idstato IN(SELECT id FROM co_staticontratti WHERE pianificabile = 1) ) AND co_ordiniservizio_pianificazionefatture.iddocumento=0 ORDER BY DATE_FORMAT( data_scadenza, '%m-%Y') ASC, idcliente ASC";
|
//idcontratto IN( SELECT id FROM co_contratti WHERE idstato IN(SELECT id FROM co_staticontratti WHERE pianificabile = 1) ) AND
|
||||||
|
$qp = "SELECT *, (SELECT SUM(subtotale) FROM co_righe2_contratti WHERE idcontratto=co_ordiniservizio_pianificazionefatture.idcontratto) AS budget_contratto, DATE_FORMAT( data_scadenza, '%m-%Y') AS mese, (SELECT idanagrafica FROM co_contratti WHERE id=idcontratto) AS idcliente, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=(SELECT idanagrafica FROM co_contratti WHERE id=idcontratto)) AS ragione_sociale, (SELECT descrizione FROM an_zone WHERE id=co_ordiniservizio_pianificazionefatture.idzona) AS zona FROM co_ordiniservizio_pianificazionefatture WHERE co_ordiniservizio_pianificazionefatture.iddocumento=0 ORDER BY DATE_FORMAT( data_scadenza, '%m-%Y') ASC, idcliente ASC";
|
||||||
$rsp = $dbo->fetchArray($qp);
|
$rsp = $dbo->fetchArray($qp);
|
||||||
|
|
||||||
if (!empty($rsp)) {
|
if (!empty($rsp)) {
|
||||||
|
@ -123,10 +124,9 @@ if (!empty($rsp)) {
|
||||||
echo '
|
echo '
|
||||||
<td>';
|
<td>';
|
||||||
if (empty($r['idintervento'])) {
|
if (empty($r['idintervento'])) {
|
||||||
echo "
|
echo '<button type="button" class="btn btn-primary btn-sm" onclick="launch_modal( \'Crea fattura\', \''.$rootdir.'/modules/contratti/plugins/addfattura.php?idcontratto='.$r['idcontratto'].'&idpianificazione='.$r['id'].'&importo='.$importo.'&n_rata='.$n_rata[$r['idzona']][$r['idcontratto']].'\', 1 );">
|
||||||
<a class='btn btn-primary' title=\"Crea fattura\" onclick=\"launch_modal( 'Crea fattura', '".$rootdir.'/add.php?id_module='.Modules::get('Fatture di vendita')['id'].'&id_record='.$r['idcontratto'].'&idpianificazione='.$r['id'].'&importo='.$importo.'&n_rata='.$n_rata[$r['idzona']][$r['idcontratto']]."', '1' );\">
|
<i class="fa fa-euro"></i> Crea fattura
|
||||||
<i class='fa fa-euro'></i>
|
</button>';
|
||||||
</a>";
|
|
||||||
}
|
}
|
||||||
echo '
|
echo '
|
||||||
</td>
|
</td>
|
||||||
|
|
|
@ -20,3 +20,9 @@ ALTER TABLE `zz_group_module` ADD `name` VARCHAR(255) NOT NULL AFTER `idmodule`;
|
||||||
|
|
||||||
UPDATE `zz_group_module` SET `name` = 'Mostra interventi ai tecnici coinvolti' WHERE `zz_group_module`.`id` = 1;
|
UPDATE `zz_group_module` SET `name` = 'Mostra interventi ai tecnici coinvolti' WHERE `zz_group_module`.`id` = 1;
|
||||||
UPDATE `zz_group_module` SET `name` = 'Mostra interventi ai clienti coinvolti' WHERE `zz_group_module`.`id` = 5;
|
UPDATE `zz_group_module` SET `name` = 'Mostra interventi ai clienti coinvolti' WHERE `zz_group_module`.`id` = 5;
|
||||||
|
|
||||||
|
-- Abilito plugin Pianificazione fatturazione in contratti
|
||||||
|
UPDATE `zz_plugins` SET `enabled` = '1' WHERE `zz_plugins`.`name` = 'Pianificazione fatturazione';
|
||||||
|
|
||||||
|
-- Abilito widget Rate contrattuali in dashboard
|
||||||
|
UPDATE `zz_widgets` SET `enabled` = '1' WHERE `zz_widgets`.`name` = 'Rate contrattuali';
|
Loading…
Reference in New Issue