public static function deux_mois($debut) { $nb_mois = 0; $date_en_cours = $debut; $mois_en_cours = Feries::Mois(date('n', strtotime($date_en_cours))); if ($mois_en_cours == 'Aout') { $mois_en_cours = 'Septembre'; } while ($nb_mois < 2) { $mois_stock = Feries::Mois(date('n', strtotime('+7days', strtotime($date_en_cours)))); if ($mois_stock != $mois_en_cours) { $nb_mois++; $mois_en_cours = $mois_stock; } $date_en_cours = date('Y-m-d', strtotime('+7days', strtotime($date_en_cours))); } $chiffre_jour = date('N', strtotime($date_en_cours)); $diff = -$chiffre_jour + 1; $date_deux_mois = date('Y-m-d', strtotime($diff . 'days', strtotime($date_en_cours))); return $date_deux_mois; }
public function facturation(Request $request) { $data = $request->all(); $mois = date('Y-m-d', strtotime($data['mois'])); $fin = date('Y-m-d', strtotime('+2 month', strtotime($mois))); $facturations = Facturation::with('enfant', 'enfant.classe')->whereBetween('semaine', [$mois, $fin])->orderBy('enfant_id')->get(); //dd($facturations, $mois, $fin); Excel::load('fichiers/facturation.xlsx', function ($file) use($mois, $fin, $facturations, $data) { $file->setFileName('facturation_' . Feries::Mois(date('n', strtotime('+10day' . $mois))) . '_' . Feries::Mois(date('n', strtotime('+1month' . $mois)))); $file->setActiveSheetIndex(0)->setCellValue('E3', date('d/m/Y', strtotime($mois))); $file->setActiveSheetIndex(0)->setCellValue('E4', date('d/m/Y', strtotime($fin))); $file->setActiveSheetIndex(0)->setCellValue('E6', $data['prix_elementaire']); $file->setActiveSheetIndex(0)->setCellValue('D6', $data['prix_maternelle']); $ligne = 10; $id = 0; $total = 0; $colonne = 'G'; foreach ($facturations as $facturation) { if ($id != $facturation->enfant_id) { if ($total != 0) { $file->setActiveSheetIndex(0)->setCellValue('E' . $ligne, $total); if ($last->enfant->classe->cycle == 'Maternelle') { $file->setActiveSheetIndex(0)->setCellValue('F' . $ligne, $total * $data['prix_maternelle']); //dd($facturation, $total, 'F'.$ligne, $data['prix_maternelle']); } else { $file->setActiveSheetIndex(0)->setCellValue('F' . $ligne, $total * $data['prix_elementaire']); } $total = 0; } $ligne++; //$maDate = $mois; $colonne = 'G'; $file->setActiveSheetIndex(0)->setCellValue('A' . $ligne, $facturation->enfant->classe->niveau); $file->setActiveSheetIndex(0)->setCellValue('B' . $ligne, $facturation->enfant->classe->instituteur); $file->setActiveSheetIndex(0)->setCellValue('C' . $ligne, $facturation->enfant->nom); $file->setActiveSheetIndex(0)->setCellValue('D' . $ligne, $facturation->enfant->prenom); $id = $facturation->enfant_id; //ici prix } $maDate = $mois; while ($maDate < $facturation->semaine) { $maDate = date('Y-m-d', strtotime('+7day' . $maDate)); $colonne = chr(ord($colonne) + 3); } $total += $facturation->fixe + $facturation->non_fixe; $file->setActiveSheetIndex(0)->setCellValue($colonne . $ligne, $facturation->fixe + $facturation->non_fixe); $file->setActiveSheetIndex(0)->setCellValue(chr(ord($colonne) + 1) . $ligne, 0); $file->setActiveSheetIndex(0)->setCellValue(chr(ord($colonne) + 2) . $ligne, $facturation->abscence_signalee); $colonne = 'G'; $last = $facturation; } $file->setActiveSheetIndex(0)->setCellValue('E' . $ligne, $total); if (isset($last)) { if ($last->enfant->classe->cycle == 'maternelle') { $file->setActiveSheetIndex(0)->setCellValue('F' . $ligne, $total * $data['prix_maternelle']); } else { $file->setActiveSheetIndex(0)->setCellValue('F' . $ligne, $total * $data['prix_elementaire']); } } })->export('xls'); }
<div class="jumbotron"> {!! Form::open(['url' => url('facturation'), 'class' => 'form-horizontal']) !!} <fieldset> <legend>Facturation</legend> <div class="form-group {!! $errors->has('mois') ? 'has-error' : '' !!} " > <label for="mois" class="col-lg-2 control-label">Mois de facturation</label> <div class="col-lg-5"> <select name="mois" id="mois" class="form-control"> <?php use App\Library\Feries; foreach ($mois as $month) { $debutMois = Feries::Mois(date('n', strtotime($month["debut"]))); if ($debutMois == 'Aout') { $debutMois = 'Septembre'; } $finMois = Feries::Mois(date('n', strtotime('+1month', strtotime($month["debut"])))); echo '<option value="' . $month['debut'] . '">Mois : ' . $debutMois . ' - ' . $finMois . '</option>'; } ?> </select> </div> </div> <div class="form-group {!! $errors->has('prix_elementaire') ? 'has-error' : '' !!} " > <label for="prix_elementaire" class="col-lg-2 control-label">Prix d'un repas élémentaire</label> <div class="col-lg-5"> {!! Form::text('prix_elementaire', null,['class' => 'form-control', 'placeholder' => 'ex : 2.34', 'id' => 'prix_elementaire']) !!} {!! $errors->first('prix_elementaire', '<small class="help-block"> :message </small>') !!} </div> </div> <div class="form-group {!! $errors->has('prix_maternelle') ? 'has-error' : '' !!} " > <label for="prix_maternelle" class="col-lg-2 control-label">Prix d'un repas maternelle</label>