Exemplo n.º 1
0
 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']);
 }