private function calcola_totale_sconti($base_calcolo) { $this->totale_sconti = 0; // Sconti diretti if ($this->ar_data['valore_sct_mag']) { $valore_sct_magg = 0; $sct_valore = number_format($this->ar_data['valore_sct_mag'], '2', '.', ''); $sct_tipo = $this->ar_data['tipo_sct_mag']; $sct_vp = $this->ar_data['tp_sct_mag_v_p']; if ($sct_valore && is_numeric($sct_valore)) { if ($sct_vp == 'percentuale') { if ($sct_valore != 0 && $base_calcolo != 0) { $valore_sct_magg = $base_calcolo * ($sct_valore / 100); } } if ($sct_vp == 'valore') { if ($sct_valore != 0 && $base_calcolo != 0) { $valore_sct_magg = $sct_valore; } } if ($sct_tipo == 'sconto') { $this->totale_sconti += $valore_sct_magg; } else { $this->totale_sconti -= $valore_sct_magg; } } } // Ricava lo sconto sul Tipo cliente if ($this->ar_data['tipo_cliente']) { $ar_tpc = TipoCliente::get_data_from_nid($this->ar_data['tipo_cliente']); $sconto_tpc_p = $ar_tpc['tpc_sconto']; if ($sconto_tpc_p != 0 && $base_calcolo != 0) { $sconto_tpc = $base_calcolo * ($sconto_tpc_p / 100); } $this->totale_sconti += $sconto_tpc; } if ($this->ar_data['tipo_automezzo']) { // Ricava lo sconto sul Tipo Automezzo $ar_tpa = TipoAutomezzo::get_data_from_nid($this->ar_data['tipo_automezzo']); $valore_tpa_p = $ar_tpa['tpa_sconto']; $tipo_tpa_p = $ar_tpa['tpa_sconto_maggiorazione']; $valore_tpa = 0; if ($valore_tpa_p != 0 && $base_calcolo != 0) { $valore_tpa = $base_calcolo * ($valore_tpa_p / 100); } if ($tipo_tpa_p == 'sct') { $this->totale_sconti += $valore_tpa; } if ($tipo_tpa_p == 'mag') { $this->totale_sconti -= $valore_tpa; } } }
/** * @return \yii\db\ActiveQuery */ public function getTYPECLIENTE() { return $this->hasOne(TipoCliente::className(), ['TYPE_CLIENTE' => 'TYPE_CLIENTE']); }