%PDF-
%PDF-
Mini Shell
Mini Shell
<?php
namespace App\Http\Controllers;
use App\Models\Facture;
use Illuminate\Http\Request;
class FactureController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$factures_client = Facture::where('num_facture', 'like', "%-C-%")->whereNotIn('client_id', [0] )->get();
$factures_fournisseur = Facture::where('num_facture', 'like', "%-F-%")->whereNotIn('client_id', [0] )->get();
return view('factures.index', compact('factures_fournisseur','factures_client'));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$factures = new Facture();
if ( $request->id ) {
$factures = Facture::find($request->id);
}
$factures->num_facture = $request->input('num_facture');
$factures->type = $request->input('type');
$factures->date = $request->input('date');
$factures->taux_id = $request->input('taux_id');
$factures->client_id = $request->input('client_id');
$factures->save();
$request->session()->flash('status','vous avez ajouté avec succès une nouvelle facture');
return redirect()->route('products');
}
public function api(Request $request, $user) {
$type = $request->type;
switch ($type) {
case 'facture':
$type = 'FA';
break;
case 'livraison':
$type = 'BL';
break;
case 'commande':
$type = 'BC';
break;
case 'sortie':
$type = 'BS';
break;
case 'devis':
$type = 'DV';
break;
}
$year = gmdate('Y');
$num_facture = '';
$facture = Facture::where('num_facture', 'like', "{$type}-{$user}-%/{$year}")->orderByDesc('num_facture')->first();
if( !$facture || !$facture->exists()) {
$num_facture = "{$type}-{$user}-001/{$year}";
} else {
$parts = explode('-', $facture->num_facture);
$parts = explode('/', $parts[2]);
$num = (int) $parts[0];
$num++;
$num = sprintf("%03d", $num);
unset($parts);
$num_facture = "{$type}-{$user}-{$num}/{$year}";
}
return response()->json(['num' => $num_facture], 200);
}
}
Zerion Mini Shell 1.0