<?php
 
 
/*  ++++++++++++++++++++++++++++++++
 
           CREAT LA DATA DE 2 MARTIE 2006
 
           CLASA SALARIU
 
    ++++++++++++++++++++++++++++++++
 
    Toate drepturile rezervate - DANUT BIRCEANU [email protected]
 
 
    functia aproximare - face aproximarea la intreg, de ex daca avem 2,4=2 iar 2,6=3
 
    functia persoane - returneaza numarul de persoane introdus de utilizator 0, 1, 2, 3, >=4
 
    functia calc_deducere - returneaza deducerea in functie de brut in conformitate cu legea contabilitatii
 
    CAS=9,5%
 
    CASS=6,5%
 
    SOMAJ=1%
 
    functia afisare - afiseaza rezultatele pentru a vedea fluturasul
 
    functia calc_salariu - realizeaza toate calculele pentru a obtine salariul net.
 
*/
 
 
class SALARIU
 
{
 
  var $sal_brut;
 
  var $spor_vech;
 
  var $adaos_imp;
 
  var $adaos_neimp;
 
  var $pers_intretinere;
 
  var $deducere;
 
  var $valoare_spor;
 
  var $brut_total;
 
  var $cas;
 
  var $cass;
 
  var $somaj;
 
  var $impozabil;
 
  var $impozit;
 
  var $net;
 
  var $afis;
 
 
 
     function aproximare($numar) 
 
     {
 
         if (is_numeric($numar)){
 
    if($numar<>intval($numar)){
 
        if ((($numar*10) %10)>=5){
 
             $numar=intval($numar)+1;
 
           } else {
 
             $numar=intval($numar);
 
        }
 
              }
 
         } else {
 
    $numar=0;
 
         }
 
 
     return $numar;    
 
     }
 
 
      function preluare_spor($spor_sal)
 
     {
 
         if (is_numeric($spor_sal)){
 
    return $spor_sal;
 
    } else {
 
    return 0;
 
         }
 
         
 
     }
 
 
 
     function persoane($pers_intretinere)
 
     {
 
          if(is_numeric($pers_intretinere)){
 
              $pers_intretinere=$pers_intretinere;
 
    } else {
 
    $pers_intretinere=4;
 
         }
 
         return $pers_intretinere;
 
     }
 
     
 
     function calc_deducere($brut,$pers)
 
     {
 
    if($pers==0) $ded_stas=250;
 
    if($pers==1) $ded_stas=350;
 
    if($pers==2) $ded_stas=450;
 
    if($pers==3) $ded_stas=550;
 
    if($pers=='>=4') $ded_stas=650;
 
    if ($brut<1001){
 
        $ded=$ded_stas;
 
       } elseif($brut>1000 and $brut<3001) {
 
             $primul_intreg=$ded_stas*(1-($brut-1000)/2000);
 
                       $v1=intval($primul_intreg);
 
              $primul_intreg=number_format($primul_intreg, 2, '.', ','); 
 
                       $v1=number_format($v1, 2, '.', ',');
 
 
             if (($v1>=$primul_intreg) and (($primul_intreg % 10) == 0)){
 
                    $ded_stas=intval($primul_intreg);
 
                         } else {
 
                    $ded_stas=(intval($v1/10)+1)*10;
 
            };
 
    } else {
 
        $ded_stas=0;
 
    };
 
       return $ded_stas;
 
     }
 
     
 
     
 
     function afisare()
 
     {
 
          if($this->sal_brut>=310){
 
              echo "<hr><font color=maroon size=2><b>Fluturas</b></font><table border=0 width=300>";
 
    echo "<tr><td align=right width=150 bgcolor=C0C0C0><font color=blue size=2 face=arial><b>BRUT</b></td><td align=right bgcolor=c0c0c0><font color=blue size=3 face=arial><b>$this->sal_brut</td></tr>";
 
              if ($this->spor_vech>0) echo "<tr><td align=right width=150 bgcolor=CCCCCC><font color=black size=2 face=arial><b>SPOR ($this->spor_vech %)</b></td><td align=right bgcolor=CCCCCC><font color=black size=3 face=arial><b>$this->valoare_spor</td></tr>";
 
              if ($this->adaos_imp>0) echo "<tr><td align=right width=150 bgcolor=CCCCCC><font color=black size=2 face=arial><b>ADAOS (imp)</b></td><td align=right bgcolor=CCCCCC><font color=black size=3 face=arial><b>$this->adaos_imp</td></tr>";
 
    if ($this->adaos_neimp>0) echo "<tr><td align=right width=150 bgcolor=CCCCCC><font color=black size=2 face=arial><b>ADAOS (neimp)</b></td><td align=right bgcolor=CCCCCC><font color=black size=3 face=arial><b>$this->adaos_neimp</td></tr>";
 
              if ($this->sal_brut<>$this->brut_total) echo "<tr><td align=right width=150 bgcolor=CCCCCC><font color=black size=2 face=arial><b>BRUT (impozabil) </b></td><td align=right bgcolor=CCCCCC><font color=black size=3 face=arial><b>$this->brut_total</td></tr>";
 
              echo "<tr><td align=right width=150 bgcolor=C0C0C0><font color=red size=2 face=arial><b>CAS (9,5 %)</b></td><td align=right bgcolor=c0c0c0><font color=red size=3 face=arial><b>$this->cas</td></tr>";
 
    echo "<tr><td align=right width=150 bgcolor=CCCCCC><font color=red size=2 face=arial><b>CASS (6,5 %)</b></td><td align=right bgcolor=cCcCcC><font color=red size=3 face=arial><b>$this->cass</td></tr>";
 
              echo "<tr><td align=right width=150 bgcolor=C0C0C0><font color=red size=2 face=arial><b>SOMAJ (1 %)</b></td><td align=right bgcolor=c0c0c0><font color=red size=3 face=arial><b>$this->somaj</td></tr>";
 
    echo "<tr><td align=right width=150 bgcolor=CCCCCC><font color=black size=2 face=arial><b>DEDUCERE</b></td><td align=right bgcolor=cCcCcC><font color=black size=3 face=arial><b>$this->deducere</td></tr>";
 
              echo "<tr><td align=right width=150 bgcolor=CCCCCC><font color=red size=2 face=arial><b>IMPOZIT (16 %)</b></td><td align=right bgcolor=cCcCcC><font color=red size=3 face=arial><b>$this->impozit</td></tr>";
 
              echo "<tr><td align=right width=150 bgcolor=C0C0C0><font color=maroon size=2 face=arial><b>NET </b></td><td align=right bgcolor=c0c0c0><font color=maroon size=3 face=arial><b>$this->net</td></tr>";
 
              echo "</table>";
 
          } else {
 
    echo "<hr><font color=red size=3 face=arial><b>Introduceti valorile pentru care doriti calcularea salariului !!!</font>";
 
          };
 
     }
 
 
 
     function calc_salariu($salariu, $spor, $adaos_neimp, $adaos_imp, $pers_intretinere){
 
          $this->sal_brut=$this->aproximare($salariu);
 
          $this->spor_vech=$this->preluare_spor($spor);
 
          $this->adaos_neimp=$this->aproximare($adaos_neimp);
 
          $this->adaos_imp=$this->aproximare($adaos_imp);
 
          $this->pers_intretinere=$this->persoane($pers_intretinere);
 
          $this->valoare_spor=$this->aproximare(($this->sal_brut*$this->spor_vech)/100);
 
          $this->brut_total=$this->sal_brut+$this->valoare_spor+$this->adaos_imp;
 
          $this->cas=$this->aproximare($this->brut_total*0.095);
 
          $this->cass=$this->aproximare($this->brut_total*0.065);
 
          $this->somaj=$this->aproximare($this->brut_total*0.01);
 
          $this->deducere=$this->calc_deducere($this->brut_total,$this->pers_intretinere);
 
          $this->impozabil=$this->brut_total-$this->cas-$this->cass-$this->somaj-$this->deducere;
 
          $this->impozit=$this->aproximare($this->impozabil*0.16);
 
          $this->net=$this->brut_total+$this->adaos_neimp-$this->cas-$this->cass-$this->somaj-$this->impozit;
 
          $this->afis=$this->afisare();
 
     }
 
   
 
}
 
 
?>
 
 |