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