Merge branch 'master' of https://github.com/devcode-it/openstamanager
This commit is contained in:
commit
5ebbb0f925
|
@ -47,9 +47,7 @@ if ($user['gruppo'] == 'Tecnici' && !empty($user['idanagrafica'])) {
|
|||
$id_cliente = $user['idanagrafica'];
|
||||
}
|
||||
|
||||
// Stato di default associato all'attività
|
||||
$stato = $dbo->fetchOne("SELECT * FROM in_statiintervento WHERE codice = 'WIP'");
|
||||
$id_stato = $stato['idstatointervento'];
|
||||
|
||||
|
||||
// Se è indicata un'anagrafica relativa, si carica il tipo di intervento di default impostato
|
||||
if (!empty($id_anagrafica)) {
|
||||
|
@ -102,7 +100,6 @@ elseif (!empty($id_intervento)) {
|
|||
$id_sede = $intervento['idsede'];
|
||||
$id_anagrafica = $intervento['idanagrafica'];
|
||||
$id_cliente_finale = $intervento['idclientefinale'];
|
||||
$id_stato = $intervento['idstatointervento'];
|
||||
$id_contratto = $intervento['idcontratto'];
|
||||
$id_preventivo = $intervento['idpreventivo'];
|
||||
$id_zona = $intervento['idzona'];
|
||||
|
@ -211,7 +208,7 @@ echo '
|
|||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
{[ "type": "select", "label": "'.tr('Stato').'", "name": "idstatointervento", "required": 1, "values": "query=SELECT idstatointervento AS id, descrizione, colore AS _bgcolor_ FROM in_statiintervento WHERE deleted_at IS NULL ORDER BY descrizione", "value": "'.$id_stato.'" ]}
|
||||
{[ "type": "select", "label": "'.tr('Stato').'", "name": "idstatointervento", "required": 1, "values": "query=SELECT idstatointervento AS id, descrizione, colore AS _bgcolor_ FROM in_statiintervento WHERE deleted_at IS NULL ORDER BY descrizione", "value": "'.($origine_dashboard ? setting('Stato predefinito dell\'attività da Dashboard') : setting('Stato predefinito dell\'attività')).'" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ $vendita_banco = $dbo->fetchNum("SELECT * FROM zz_modules WHERE name='Vendita al
|
|||
$v_iva = [];
|
||||
$v_totale = [];
|
||||
|
||||
if ((!empty($vendita_banco)) AND (empty($id_sezionale)) AND ($tipo == 'vendite')){
|
||||
if ((!empty($vendita_banco)) && (empty($id_sezionale)) && ($tipo == 'vendite')){
|
||||
$query = '
|
||||
SELECT
|
||||
data_registrazione,
|
||||
|
@ -81,7 +81,7 @@ if ((!empty($vendita_banco)) AND (empty($id_sezionale)) AND ($tipo == 'vendite')
|
|||
SELECT
|
||||
vb_venditabanco.data as data_registrazione,
|
||||
vb_venditabanco.numero as numero_esterno,
|
||||
vb_venditabanco.data_emissione as data,
|
||||
vb_venditabanco.data as data,
|
||||
"Vendita al banco" as codice_tipo_documento_fe,
|
||||
co_iva.percentuale,
|
||||
co_iva.descrizione,
|
||||
|
|
|
@ -25,6 +25,7 @@ $somma_sconto = sum($somma_sconto);
|
|||
$somma_totale_imponibile = sum($somma_totale_imponibile);
|
||||
$somma_iva = sum($somma_iva);
|
||||
$somma_totale_ivato = sum($somma_totale_ivato);
|
||||
$somma_km = sum($somma_km);
|
||||
|
||||
if (setting('Formato ore in stampa') == 'Sessantesimi') {
|
||||
$somma_ore = Translator::numberToHours($somma_ore);
|
||||
|
@ -38,6 +39,7 @@ echo '
|
|||
<th class="text-right" style="border-left: 0;">
|
||||
<b>'.tr('Totale', [], ['upper' => true]).':</b>
|
||||
</th>
|
||||
<th class="text-center">'.($somma_km).'</td>
|
||||
<th class="text-center">'.($pricing ? $somma_ore : '-').'</th>
|
||||
<th class="text-center">'.($pricing ? moneyFormat($somma_imponibile, 2) : '-').'</th>
|
||||
<th class="text-center">'.($pricing ? moneyFormat($somma_sconto, 2) : '-').'</th>
|
||||
|
@ -49,7 +51,7 @@ echo '
|
|||
<th class="text-right" style="border-left: 0;">
|
||||
<b>'.tr('Iva', [], ['upper' => true]).':</b>
|
||||
</th>
|
||||
<th colspan="3"></th>
|
||||
<th colspan="4"></th>
|
||||
<th class="text-center">'.($pricing ? moneyFormat($somma_iva, 2) : '-').'</th>
|
||||
</tr>
|
||||
|
||||
|
@ -58,7 +60,7 @@ echo '
|
|||
<th class="text-right" style="border-left: 0;">
|
||||
<b>'.tr('Totale Ivato', [], ['upper' => true]).':</b>
|
||||
</th>
|
||||
<th colspan="3"></th>
|
||||
<th colspan="4"></th>
|
||||
<th class="text-center">'.($pricing ? moneyFormat($somma_totale_ivato, 2) : '-').'</th>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
|
|
@ -26,6 +26,7 @@ $intervento = Intervento::find($record['id']);
|
|||
$sessioni = $intervento->sessioni;
|
||||
$iva_predefinita = floatval(Aliquota::find(setting('Iva predefinita'))->percentuale);
|
||||
|
||||
$km = $sessioni->sum('km');
|
||||
$ore = $sessioni->sum('ore');
|
||||
$imponibile = $tipo=='interno' ? $intervento->spesa : $intervento->imponibile;
|
||||
$sconto = $tipo=='interno' ? 0 : $intervento->sconto;
|
||||
|
@ -33,6 +34,7 @@ $totale_imponibile = $tipo=='interno' ? $intervento->spesa : $intervento->totale
|
|||
$iva = $tipo=='interno' ? (($intervento->spesa * $iva_predefinita) / 100) : $intervento->iva;
|
||||
$totale_ivato = $tipo=='interno' ? ($intervento->spesa + $iva) : $intervento->totale;
|
||||
|
||||
$somma_km[] = $km;
|
||||
$somma_ore[] = $ore;
|
||||
$somma_imponibile[] = $imponibile;
|
||||
$somma_sconto[] = $sconto;
|
||||
|
@ -76,6 +78,7 @@ echo '
|
|||
}
|
||||
echo '
|
||||
</td>
|
||||
<td class="text-center">'.($km).'</td>
|
||||
<td class="text-center">'.($pricing ? $ore : '-').'</td>
|
||||
<td class="text-center">'.($pricing ? moneyFormat($imponibile, 2) : '-').'</td>
|
||||
<td class="text-center">'.($pricing && empty($options['dir']) ? moneyFormat($sconto, 2) : '-').'</td>
|
||||
|
@ -87,7 +90,7 @@ if (count($sessioni) > 0) {
|
|||
echo '
|
||||
<tr>
|
||||
<td style="border-top: 0; border-bottom: 0;"></td>
|
||||
<th style="background-color: #eee" colspan="2"><small>'.tr('Sessioni').'</small></th>
|
||||
<th style="background-color: #eee" colspan="3"><small>'.tr('Sessioni').'</small></th>
|
||||
<th class="text-center" style="background-color: #eee"><small>'.tr('Data').'</small></th>
|
||||
<th class="text-center" style="background-color: #eee"><small>'.tr('Inizio').'</small></th>
|
||||
<th class="text-center" style="background-color: #eee"><small>'.tr('Fine').'</small></th>
|
||||
|
@ -97,7 +100,7 @@ if (count($sessioni) > 0) {
|
|||
echo '
|
||||
<tr>
|
||||
<td style="border-top: 0; border-bottom: 0;"></td>
|
||||
<td colspan="2"><small>'.$sessione->anagrafica->ragione_sociale.' <small>('.$sessione->tipo->descrizione.')</small></td>
|
||||
<td colspan="3"><small>'.$sessione->anagrafica->ragione_sociale.' <small>('.$sessione->tipo->descrizione.')</small></td>
|
||||
<td class="text-center"><small>'.dateFormat($sessione->orario_inizio).'</small></td>
|
||||
<td class="text-center"><small>'.timeFormat($sessione->orario_inizio).'</small></td>
|
||||
<td class="text-center"><small>'.timeFormat($sessione->orario_fine).'</small></td>
|
||||
|
@ -111,7 +114,7 @@ if (!$righe->isEmpty()) {
|
|||
echo '
|
||||
<tr>
|
||||
<td style="border-top: 0; border-bottom: 0;"></td>
|
||||
<th style="background-color: #eee" colspan="2"><small>'.tr('Materiale utilizzato e spese aggiuntive').'</small></th>
|
||||
<th style="background-color: #eee" colspan="3"><small>'.tr('Materiale utilizzato e spese aggiuntive').'</small></th>
|
||||
<th class="text-center" style="background-color: #eee"><small>'.tr('Qta').'</small></th>
|
||||
<th class="text-center" style="background-color: #eee"><small>'.($tipo=='interno' ? tr('Costo unitario') : tr('Prezzo unitario')).'</small></th>
|
||||
<th class="text-center" style="background-color: #eee"><small>'.($tipo=='interno' ? tr('Costo netto') : tr('Imponibile')).'</small></th>
|
||||
|
@ -124,7 +127,7 @@ if (!$righe->isEmpty()) {
|
|||
echo '
|
||||
<tr>
|
||||
<td style="border-top: 0; border-bottom: 0;"></td>
|
||||
<td colspan="2"><small>'.$riga->descrizione.'</small></td>
|
||||
<td colspan="3"><small>'.$riga->descrizione.'</small></td>
|
||||
<td class="text-center"><small>'.$riga->qta.' '.$riga->um.'</small></td>
|
||||
<td class="text-center"><small>'.($pricing ? moneyFormat($prezzo) : '-').'</small></td>
|
||||
<td class="text-center"><small>'.($pricing ? moneyFormat($totale) : '-').'</small></td>
|
||||
|
|
|
@ -28,7 +28,8 @@ echo '
|
|||
<thead>
|
||||
<tr>
|
||||
<th colspan="2"><small>'.tr('Documento', [], ['upper' => true]).'</small></th>
|
||||
<th class="text-center" style="width:10%"><small>'.tr('Ore', [], ['upper' => true]).'</small></th>
|
||||
<th class="text-center" style="width:8%"><small>'.tr('KM', [], ['upper' => true]).'</small></th>
|
||||
<th class="text-center" style="width:8%"><small>'.tr('Ore', [], ['upper' => true]).'</small></th>
|
||||
<th class="text-center" style="width:15%"><small>'.($tipo=='interno' ? tr('Costo totale', [], ['upper' => true]) : tr('Imponibile', [], ['upper' => true])).'</th>
|
||||
<th class="text-center" style="width:15%"><small>'.tr('Sconto', [], ['upper' => true]).'</small></th>
|
||||
<th class="text-center" style="width:15%"><small>'.($tipo=='interno' ? tr('Costo netto', [], ['upper' => true]) : tr('Totale imponibile', [], ['upper' => true])).'</small></th>
|
||||
|
|
|
@ -170,3 +170,10 @@ INSERT INTO `zz_segments` (`id_module`, `name`, `clause`, `position`, `pattern`,
|
|||
|
||||
-- Impostazione per fatturare attività collegati ad altri documenti
|
||||
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Permetti fatturazione delle attività collegate a contratti, ordini e preventivi', '0', 'boolean', '1', 'Fatturazione', NULL, NULL);
|
||||
|
||||
-- Aggiunta impostazione stato predefinito attività
|
||||
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, "Stato predefinito dell\'attività da Dashboard", (SELECT idstatointervento FROM in_statiintervento WHERE descrizione = "Programmato"), 'query=SELECT idstatointervento AS id, descrizione AS text FROM in_statiintervento', '1', 'Attività', NULL, NULL);
|
||||
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, "Stato predefinito dell\'attività", (SELECT idstatointervento FROM in_statiintervento WHERE descrizione = "Da programmare"), 'query=SELECT idstatointervento AS id, descrizione AS text FROM in_statiintervento', '1', 'Attività', NULL, NULL);
|
||||
|
||||
-- Aggiunta colonna KM in vista Attività
|
||||
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id from zz_modules WHERE title = "Attività"), 'KM', 'sum(in_interventi_tecnici.km)', '29', '1', '0', '1', '0', NULL, NULL, '0', '1', '0');
|
||||
|
|
Loading…
Reference in New Issue