IMMREX7

aku nok ndi : /home/spdtg/www/schoolmis/app/Http/Controllers/School/Stock/
File Up :
aku nok ndi : /home/spdtg/www/schoolmis/app/Http/Controllers/School/Stock/VendorPayments.php

<?php

namespace App\Http\Controllers\School\Stock;

use Illuminate\Http\Request;
use App\Http\Controllers\School\SchoolController;
use Auth;
use DB;
use PDF;
use Mail;
use Session;

class VendorPayments extends SchoolController {

    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index(Request $request) {
        $suppliers = \App\Supplier::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
                        ->orderBy('idSupplier', 'desc');
        if ($request->has('idFinancialYear')) {
            $suppliers = $suppliers->where('idFinancialYear', '=', $request->idFinancialYear)->get();
        } else {
            $suppliers = $suppliers->where('idFinancialYear', '=', Session::get('idFinancialYear'))->get();
        }
        return view('schools.stock.suppliers_list', compact('suppliers'));
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request) {
        $rules = [
            'idSupplier' => 'required',
        ];
        if (count($request->products) > 0) {
            foreach ($request->products as $key => $value) {
                $rules['products.' . $key . '.idProduct'] = 'required';
            }
        }
        $messages = [
            'idSupplier.required' => 'Select Vendor First.',
            'products.*idProduct.required' => 'Item should be selected first.',
        ];
        $this->validate($request, $rules, $messages);
        //dd($request->all());
        $school = \App\School::where('idSchool', '=', Auth::guard('school')->user()->idSchool)->first();
        $vendor = \App\Supplier::where('idSupplier','=',$request->idSupplier)->first()->toArray();
        
        $po = new \App\PurchaseOrder();
        $po->fill($request->all());
        $po->idSchool = Auth::guard('school')->user()->idSchool;
        $po->idFinancialYear = Session::get('idFinancialYear');
        $month = \Carbon\Carbon::parse($po->purchaseDate);
        $po->poMonth = $month->format('m');
        $next_receiptno = next_purchaseno();
        $po->poNo = 'PO-0000' . $next_receiptno;
        DB::beginTransaction();
        $po->save();
        foreach ($request->products as $k1 => $v1) {
            $podetails = new \App\PurchaseOrderDetail();
            $podetails->idPurchaseOrder = $po->idPurchaseOrder;
            $podetails->idProduct = $v1['idProduct'];
            $podetails->quantity = $v1['quantity'];
            $podetails->rate = $v1['rate'];
            $podetails->tax = $v1['tax'];
            $podetails->taxAmount = ($v1['rate'] * $v1['quantity']) * ($v1['tax'] / 100);
            $podetails->productTotal = $v1['productTotal'];
            $podetails->save();
        }
        DB::commit();


        // mail to client
        $pdf = PDF::loadView('schools.stock.print_purchase_order', ['margin_top' => 20], compact('po', 'school'));
        
        /*Mail::send('emails.feedback',["school1"=>$school], function($message) use ($vendor, $pdf,$school) {
            $message->from('schoolmis@online-login.online');
            $message->to($vendor['email']);
            $message->subject('Purchase Order Form '.$school->schoolName);
            //Attach PDF doc
            $message->attachData($pdf->output(), 'purchase_order.pdf');
        });*/
        
        flash('Purchase Order has been saved successfully');

        if ($request->ajax()) {
            return response()->json(['success' => "SUCCESS"], 200, ['app-status' => 'success']);
        }

        return redirect('school/purchaseorder');
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id) {
        $purchase_orders = \App\PurchaseOrder::where('idSupplier', '=', $id)->get();
        return view('schools.stock.vendor_po', compact('purchase_orders'));
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id) {
        $po = \App\PurchaseOrder::where('idPurchaseOrder', '=', $id)->first();
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id) {
        $po = \App\PurchaseOrder::where('idPurchaseOrder', '=', $id)->first();
    }

}

Copyright © 2021 - 2025 IMMREX7