/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // // dd($request->all());->input('name'); $date_de_fin_du_contrat_request = $request->input('date_de_fin_du_contrat'); $date_de_fin_du_contrat_request = $date_de_fin_du_contrat_request == '' ? '00/00/0000' : $request->input('date_de_fin_du_contrat'); // remplace le valuer date_fin_du_contrat par la valuer date_de_fin_du_contrat_request $request->merge(array('date_de_fin_du_contrat' => $date_de_fin_du_contrat_request)); // dd($request->all()); $personnel = Personnels::create($request->all()); $journalPaie = new JournalPaieCoutTotal(); $journalIrpp = new JournalPaieIrpp(); $conge = new Conges(); $cnss = new Cnss(); /******************************************************CALCUL IRPP **************************************/ // CALCUL Salaier Brut $SB = $journalPaie->salaire_brut = $this->getSalaireBrut($request->nb_jour, $request->salaire_du_jour); // CALCUL Retenue CNSS $RCNSS = $journalPaie->retenu_cnss = $this->getRetenueCNSS($SB); $cnss->retenue_cnss = $RCNSS; $chargePatronal = $this->getChargePatronal($SB); $journalPaie->charage_patronal = $chargePatronal; $cnss->charge_patronale = $chargePatronal; // Cacule Accident de travail $accidentTravail = $this->getAccidentTravail($SB); $cnss->accident_de_travail = $accidentTravail; // Calcul Total cnss $totaCnss = $this->getTotalCNSS($RCNSS, $chargePatronal, $accidentTravail); $cnss->cout_total_mensuel = $totaCnss; $cnss->cout_total_trimestriel = $totaCnss / 4; // Cacule Salaire imposable 1 $SIMP1 = $this->getSIMP1($SB, $RCNSS); // CALCUL Abattement $Abattement = $this->getAbattement($SIMP1); $journalIrpp->abttement = $Abattement; // ******************Cacule Déduction************************ $DEDUCTION = 0; $cf = $personnel->cf; $nbenfant = $personnel->nb_enfant; $DEDUCTION = $this->getSituation($cf, $nbenfant); $journalIrpp->deduction = $DEDUCTION; //************************************************************* // CALCUL Salaire imposable 2 $SIMP2 = $this->getSIMP2($SIMP1, $Abattement, $DEDUCTION); $SIMP2 = ceil($SIMP2); $journalIrpp->salaire_impossable_2 = $SIMP2; // CALCUL Totaux $toteaux = $this->getTotaux($SIMP2); //CALCUL IRPP $irpp = $toteaux; $journalPaie->retenue_irpp = $irpp; $journalIrpp->irrp_annuel = $irpp; $journalIrpp->irrp_mensuel = $irpp / NOMBERDUMOIS; //Salaire Imposable $SIMPFinal = $SB - $RCNSS; $journalPaie->salaier_imposable = $SIMPFinal; $journalIrpp->salaire_impossable = $SIMPFinal / NOMBERDUMOIS; $journalIrpp->salaire_impossable_annuel = $SIMPFinal; //Salaire Net $salaierNet = $journalPaie->salaier_net = $SB - ($RCNSS + $irpp); //CALCUL TFP $tfp = $journalPaie->tfp = $this->getTfp($SB); //CALCUL foprolos $foprolos = $journalPaie->foprolos = $this->getFoprolos($SB); // Sauvegarde les donnes dans la table journal_paie_cout_totals $journalCoutTotals = $journalPaie->Personnels()->associate($personnel); $journalCoutTotals->save(); // Sauvegarde les donnes dans la table journal_paie_irpps $journalIrpp = $journalIrpp->Personnels()->associate($personnel); $journalIrpp->save(); // Sauvegarde les donnes dans la table cnss $cnssSave = $cnss->Personnels()->associate($personnel); $cnssSave->save(); // Sauvegarde les conges $congeSave = $conge->Personnels()->associate($personnel); $date_entree = $personnel->getOriginal('date_entree'); $mDate = Carbon::parse($date_entree); $diff = $mDate->diffInMonths(); $congeSave->nb_jour_conges = $diff * COEFFICIENT_NB_CONGEE; $congeSave->date_demande_conge = $mDate; $congeSave->save(); return redirect(route('personnel.index')); }