/
proc
/
self
/
cwd
/
tabson
/
app
/
Http
/
Controllers
/
Upload File
HOME
<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Auth; use App\Item; use App\PurchaseRequest; use DB; use Facade\FlareClient\View; use Illuminate\Http\Request; use Mail; use Maatwebsite\Excel\Facades\Excel; use App\Imports\ItemsImport; class PurchaseRequestController extends Controller { // public function __construct(){ // $this->from_mail='noreply@aerialtelecom.in'; // $this->from_title='Aerial Telecom Solution'; // } public function index(Request $request) { $data['circles']=\App\Circle::where('is_active',1)->get(); $data['customers']= DB::table('customers')->get(); $data['business_units']= DB::table('business_units')->where('is_active', 1)->get(); $data['vendors']= DB::table('vendors')->where('is_active', 1)->get(); $data['departments']= DB::table('verticals')->get(); //$data['projects']= DB::table('projects')->get(); $data['items']= DB::table('items')->where('is_active', 1)->get(); $data['user_id'] =Auth::user()->id; $data['user_name'] =Auth::user()->name; //dd($data['user_id']); return view('dashboard.pr.make-purchase-request',$data); } public function search(Request $request) { //echo "fgbf"; //dd($request->data); $data = ''; $search_text = $request->data; //dd($search_text); // if ($search_text==NULL) { // $data= Item::all(); // } else { if($search_text != null) { $data = Item::where('code','LIKE', '%'.$search_text.'%') ->orWhere('description','LIKE', '%'.$search_text.'%') ->get(); // if(!is_null($data)) { // $data = $data; // } else { // $data = ''; // } } // } //dd($data); return response()->json($data); } public function getItem(Request $request) { $code = $request->code; // $response['item'] = Item::where('code', $code)->where('is_active',1)->get(); $response['item'] = Item::join('units','units.id','items.uom')->select('items.*','units.name as Uom')->where('items.code', $code)->where('items.is_active',1)->get(); //($response); return response()->json($response); } public function importPrItem(Request $request){ $data=[]; //dd($request->file()); $item =Excel::toArray(new ItemsImport,request()->file('file')); // dd($item); $n=0; $flase_count=0; // $data['not _match_qty']=null; foreach($item[0] as $key=>$value){ $all_items= DB::table('items')->where('is_active', 1)->where('code',$value['code'])->first(); if($all_items!=''){ $data['items'][$n]['id']=$all_items->id; $data['items'][$n]['code']=$value['code']; $data['items'][$n]['make']=$value['make']; $data['items'][$n]['specification']=$value['specification']; $data['items'][$n]['qty']=$value['qty']; $data['items'][$n]['rate']=$value['rate']; $data['items'][$n]['recomended']=$value['recomended']; $data['items'][$n]['remarks']=$value['remarks']; }else{ $data['not_match'][$flase_count]=$value['code']; $flase_count++; } $n++; } // dd($flase_count); if($flase_count>0){ $data['status']=false; $data['msg']='Excel Items Code not match,Please remove !!'; }else{ $data['status']=true; } //dd($data); // echo '<pre>'; // print_r($data); // exit; return response()->json($data); } public function excelPrGetItem(Request $request) { //dd($request->all()); $code = $request->code; $response['item'] = Item::join('units','units.id','items.uom')->select('items.*','units.name as Uom')->where('items.code', $code)->where('items.is_active',1)->get(); $response['make']=$request->make; $response['specification']=$request->specification; $response['qty']=$request->qty; $response['rate']=$request->rate; $response['recomended']=$request->recomended; $response['remarks']=$request->remarks; //dd($response); return response()->json($response); } public function addPurchaseRequest(Request $request){ $response = array(); $validator = \Validator::make($request->all(), array( 'document1' => 'mimes:pdf', 'document2' => 'mimes:pdf', 'document3' => 'mimes:pdf' ) ); if($validator->fails()) { $response['flag'] = false; $response['error'] = $validator->getMessageBag(); }else{ $purchaseRequest = new \App\PurchaseRequest(); $purchaseRequest->customer = $request->cus_name; $purchaseRequest->circle = $request->circle; $purchaseRequest->status = 'requested'; $purchaseRequest->current_status = 'processing'; $purchaseRequest->description = $request->description; $purchaseRequest->project = $request->project; $purchaseRequest->requested_by = $request->requested_by; $purchaseRequest->source = $request->source; $purchaseRequest->delivery_location = $request->delivery_location; // $purchaseRequest->supplier_name = $request->supplier_name; $purchaseRequest->supplier_contact = $request->supplier_contact; $purchaseRequest->vendor = $request->vendor; $purchaseRequest->vertical = $request->vertical; $purchaseRequest->business_unit = $request->business_unit; $purchaseRequest->department = $request->department; $purchaseRequest->prepared_by = \Auth::user()->id; $purchaseRequest->amendment_number = 0; //$purchaseRequest->document = $request->document; //document uplaod/// //dd($request->hasFile('document')); if($request->hasFile('document1')) { $filenameWithExt = $request->file('document1')->getClientOriginalName(); $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME); $extension = $request->file('document1')->getClientOriginalExtension(); $fileNameToStore = $filename.'_'.time().'.'.$extension; $destinationPath = public_path().'/pr_document'; $path = $request->file('document1')->move($destinationPath, $fileNameToStore); $purchaseRequest->document1 = str_replace(public_path(), '', $path); } if($purchaseRequest->save()){ if(date('m') >= 4) { $session = date("y").(date("y")+1); } else { $session = (date("y")-1).date("y"); } $pr_series = \App\PurchaseRequest::where('session', $session)->orderBy('id', 'desc')->first(); if(!is_null($pr_series)) { $series = $pr_series->series + 1; } else { $series = 1; } switch (strlen((string)$series)) { case 1: $series = '000'.$series; break; case 2: $series = '00'.$series; break; case 3: $series = '0'.$series; break; default: $series = $series; } $purchaseRequest->pr_number = 'PR/'.getTableById('business_units',$purchaseRequest->business_unit)->short_name."/".date('d/m/Y')."/".$series; $purchaseRequest->series = ($series*1); $purchaseRequest->session = $session; $purchaseRequest->save(); $pr_number=$purchaseRequest->pr_number; $items = json_decode($request->items, true); //dd($items); //Purchasr Request Item save foreach ($items as $key => $item){ $purchase_request_items = new \App\PurchaseRequestItem(); $purchase_request_items->pr_id = $purchaseRequest->id; $purchase_request_items->item_code = $item['code']; $purchase_request_items->qty = $item['qty']; $purchase_request_items->rqty = $item['qty']; $purchase_request_items->rate = $item['rate']; $purchase_request_items->recomended = isset($item['recomended'])?($item['recomended']):''; $purchase_request_items->remark = isset($item['remark'])?($item['remark']):''; $purchase_request_items->make = isset($item['make'])?($item['make']):''; $purchase_request_items->specification = isset($item['specification'])?($item['specification']):''; //$purchase_request_items->recomended = $item['recomended']; //$purchase_request_items->remark = $item['remark']; $purchase_request_items->save(); } $purchaseRequestLog = new \App\PurchaseRequestLog(); $purchaseRequestLog->pr_id = $purchaseRequest->id; $purchaseRequestLog->user_id = \Auth::user()->id; $purchaseRequestLog->message ='create'; $purchaseRequestLog->save(); //send mails // $this->prMail($purchaseRequest->id); //dd($pr_number); $response['success'] = true; $response['msg'] = 'Purchase Request Added Successfully !!'; $response['pr_number'] = $pr_number; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } // dd($request->items); } return response()->json($response); } public function prMail($pr_id){ $data['purchase_request'] = \DB::table('purchase_requests') ->join('users','users.id','purchase_requests.prepared_by') ->join('customers','customers.id','purchase_requests.customer') ->join('circles','circles.id','purchase_requests.circle') ->join('business_units','business_units.id','purchase_requests.business_unit') ->join('department','department.id','purchase_requests.department') //->join('projects','projects.id','purchase_requests.project') ->select('purchase_requests.*','users.name as preparer','customers.name as cust_name','circles.name as circle_name','business_units.name as business_unit_name','department.name as department_name') ->where('purchase_requests.id',$pr_id) ->first(); //dd($data); //dd($data['purchase_request']->prepared_by); $prepared_by_id=$data['purchase_request']->prepared_by; $data['role_id'] =Auth::user()->role_id; $creater = \DB::table('users')->where('id',$prepared_by_id)->first(); $functional_head = \DB::table('users')->where('id',$creater->functional_head)->first(); //$data['fh']=$functional_head->name; //$business_head = \DB::table('users')->where('id',$creater->business_head)->first(); if($functional_head==null){ $data['fh']=''; }else{ $data['fh']=$functional_head->name; } $business_head = \DB::table('users')->where('id',$creater->business_head)->first(); if($business_head==null){ $data['bh']=''; }else{ $data['bh']=$business_head->name; } //$data['bh']=$business_head->name; $director = \DB::table('users')->where('id',$creater->director)->first(); $data['d']=$director->name; $pr_number=$data['purchase_request']->pr_number; $data['is_mail']=true; $from_mail='vivek.logimetrix@gmail.com'; $from_title='Tabson'; //dd($from_mail); $data['items'] = DB::table('purchase_request_items') ->join('items', 'purchase_request_items.item_code', '=', 'items.code') ->select('purchase_request_items.*','items.uom','items.description','items.code','items.specification') ->where('pr_id', '=', $pr_id) ->get(); //return view('dashboard.pr.pr-mail',$data); //dd(Auth::user()); if(Auth::user()->role_id == 2 || Auth::user()->role_id == 1){ //dd('Purchase Requisition Request for Review('.$pr_number.')'); $functional_head = \DB::table('users')->where('id',$creater->functional_head)->first(); $business_head = \DB::table('users')->where('id',$creater->business_head)->first(); $director = \DB::table('users')->where('id',$creater->director)->first(); if($functional_head==null && $business_head==null){ Mail::send('dashboard.pr.pr-mail', $data, function ($m) use ($director,$pr_number,$from_mail,$from_title){ $m->from($from_mail,$from_title); $m->to($director->email, $director->name); $m->subject('Purchase Requisition Approval Request('.$pr_number.')'); }); }elseif($functional_head==null){ Mail::send('dashboard.pr.pr-mail', $data, function ($m) use ($business_head,$pr_number,$from_mail,$from_title){ $m->from($from_mail,$from_title); $m->to($business_head->email, $business_head->name); $m->subject('Purchase Requisition Request for Approval('.$pr_number.')'); }); }else{ Mail::send('dashboard.pr.pr-mail', $data, function ($m) use ($functional_head,$pr_number,$from_mail,$from_title){ $m->from($from_mail,$from_title); $m->to($functional_head->email, $functional_head->name); $m->subject('Purchase Requisition Request for Review('.$pr_number.')'); }); } // if($functional_head==null && $business_head==null){ // Mail::send('dashboard.pr.pr-mail', $data, function ($m) use ($director,$pr_number){ // $m->from('hello@app.com', 'Your Application'); // $m->to($director->email, $director->name); // $m->subject('Purchase Requisition Approval Request('.$pr_number.')'); // }); // } } if(Auth::user()->role_id == 3 || Auth::user()->role_id == 1){ $business_head = \DB::table('users')->where('id',$creater->business_head)->first(); $director = \DB::table('users')->where('id',$creater->director)->first(); if($business_head==null){ Mail::send('dashboard.pr.pr-mail', $data, function ($m) use ($director,$pr_number,$from_mail,$from_title){ $m->from($from_mail,$from_title); $m->to($director->email, $director->name); $m->subject('Purchase Requisition Approval Request('.$pr_number.')'); }); }else{ Mail::send('dashboard.pr.pr-mail', $data, function ($m) use ($business_head,$pr_number,$from_mail,$from_title){ $m->from($from_mail,$from_title); $m->to($business_head->email, $business_head->name); $m->subject('Purchase Requisition Request for Approval('.$pr_number.')'); }); } } if(Auth::user()->role_id == 4 || Auth::user()->role_id == 1){ $director = \DB::table('users')->where('id',$creater->director)->first(); Mail::send('dashboard.pr.pr-mail', $data, function ($m) use ($director,$pr_number,$from_mail,$from_title){ $m->from($from_mail, $from_title); $m->to($director->email, $director->name); $m->subject('Purchase Requisition Approval Request('.$pr_number.')'); }); } if(Auth::user()->role_id == 5 || Auth::user()->role_id == 1){ if($creater->functional_head==null && $creater->business_head==null){ $fn_head=$creater; }elseif($creater->functional_head==null){ $fn_head= \DB::table('users')->where('id',$creater->business_head)->first(); }else{ $fn_head = \DB::table('users')->where('id',$creater->functional_head)->first(); } if($creater->business_head==null){ $bs_head=$creater; }else{ $bs_head = \DB::table('users')->where('id',$creater->business_head)->first(); } Mail::send('dashboard.pr.pr-mail', $data, function ($m) use ($creater,$pr_number,$fn_head,$bs_head,$from_mail,$from_title){ $m->from($from_mail, $from_title); $m->to($creater->email, $creater->name); $m->to($fn_head->email, $fn_head->name); $m->to($bs_head->email, $bs_head->name); $m->subject('Purchase Requisition Approved('.$pr_number.')'); }); } } public function allPr() { $data['role_id'] =Auth::user()->role_id; $data['id'] = Auth::user()->id; $data['email'] = Auth::user()->email; if(Auth::user()->role_id == 2) { $user_id = array(Auth::user()->id); } elseif(Auth::user()->role_id == 3) { $user_id = DB::table('users')->where('functional_head', Auth::user()->id)->pluck('id')->toArray(); } elseif(Auth::user()->role_id == 4) { $user_id = DB::table('users')->where('business_head', Auth::user()->id)->pluck('id')->toArray(); } else { $user_id = DB::table('users')->pluck('id')->toArray(); } $data['purchase_requests'] = \DB::table('purchase_requests') ->join('users','users.id','purchase_requests.prepared_by') ->join('circles','circles.id','purchase_requests.circle') ->join('business_units','business_units.id','purchase_requests.business_unit') ->leftJoin('vendors', 'vendors.id', '=', 'purchase_requests.vendor') ->select('purchase_requests.*','users.name as creater','business_units.name as bu','circles.name as circle', 'vendors.vendor_name as pr_vendor_name','vendors.contact_no as pr_vendor_contact_no')->whereIn('purchase_requests.prepared_by', $user_id) ->orderBy('purchase_requests.id', 'DESC') ->get(); //dd($data); return view('dashboard.pr.all-pr', $data); } public function viewPr($pr_id){ $data['purchase_request'] = \DB::table('purchase_requests') ->join('users','users.id','purchase_requests.prepared_by') ->join('customers','customers.id','purchase_requests.customer') ->join('circles','circles.id','purchase_requests.circle') ->join('business_units','business_units.id','purchase_requests.business_unit') ->join('verticals','verticals.id','purchase_requests.department') ->leftJoin('vendors', 'vendors.id', '=', 'purchase_requests.vendor') //->join('projects','projects.id','purchase_requests.project') ->select('purchase_requests.*','users.name as preparer','customers.name as cust_name','circles.name as circle_name','business_units.name as business_unit_name','verticals.name as department_name','vendors.vendor_name as pr_vendor_name', 'vendors.contact_no as pr_vendor_contact_no') ->where('purchase_requests.id',$pr_id) ->first(); $data['items'] = DB::table('purchase_request_items') ->join('items', 'purchase_request_items.item_code', '=', 'items.code') ->select('purchase_request_items.*','items.uom','items.description','items.code') ->where('pr_id', '=', $pr_id) ->orderBy('purchase_request_items.id', 'ASC') // Added to view the items in the exact serial-wise in which they were added while creating the PR. ->get(); return view('dashboard.pr.pr-view',$data); } public function setPrStatus(Request $request){ $response = array(); $validator = \Validator::make($request->all(), array( 'status' =>'required', ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $pr_details = \App\PurchaseRequest::where('id',$request->id)->first(); if(is_null($pr_details)){ $response['flag'] = false; $response['error'] = "Item Not found"; }else{ $pr_details->status = $request->status; $pr_details->remark = $request->remark; if($pr_details->save()){ //Create Log $purchaseRequestLog = new \App\PurchaseRequestLog(); $purchaseRequestLog->pr_id = $request->id; $purchaseRequestLog->user_id = \Auth::user()->id; $purchaseRequestLog->message =$pr_details->status; $purchaseRequestLog->remark =$pr_details->remark; $purchaseRequestLog->save(); //send mails // $this->prMail($pr_details->id); $response['flag'] = true; $response['message'] = "Status Updated Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function getStatus($id){ $data['pr_id'] = $id; $data['pr'] =DB::table('purchase_requests') ->select('purchase_requests.status') ->where('id',$id) ->first(); $data['role_id'] = \Auth::user()->role_id; return view('dashboard.pr.set-status',$data); } public function getReopenPurchaseRequest($pr_id) { $prData = \App\PurchaseRequest::where('id', $pr_id)->first(); $prData->status = 'ReOpened'; $prData->current_status = 'processing'; if($prData->save()) { return true; } return false; } public function getEditPurchageRequest($id){ $data['purchase_requests'] =DB::table('purchase_requests')->where('id',$id)->first(); $data['circles']=\App\Circle::where('is_active',1)->get(); $data['customers']= DB::table('customers')->get(); $data['business_units']= DB::table('business_units')->get(); $data['departments']= DB::table('verticals')->get(); //$data['projects']= DB::table('projects')->get(); $data['vendors']= DB::table('vendors')->get(); $data['items']= DB::table('items')->get(); return view('dashboard.pr.edit-purchase-request',$data); } public function getprItems(Request $request){ $pr_id=$request->pr_id; $items = DB::table('purchase_request_items') ->join('items', 'purchase_request_items.item_code', '=', 'items.code') ->join('units', 'units.id', '=', 'items.uom') ->join('purchase_requests', 'purchase_requests.id', '=', 'purchase_request_items.pr_id') ->select('purchase_request_items.*','items.description','items.uom','items.is_active','units.name as Uom','items.code','items.gst','purchase_requests.pr_number') ->where('purchase_request_items.status','!=','completed') ->where('purchase_request_items.pr_id',$pr_id) ->get(); //dd($items); return json_encode(['success'=> true,'items'=>$items]); } public function updatePurchaseRequest(Request $request){ //dd($request->all()); $response = array(); $validator = \Validator::make($request->all(), array( 'document1' => 'mimes:pdf', 'document2' => 'mimes:pdf', 'document3' => 'mimes:pdf' ) ); if($validator->fails()) { $response['flag'] = false; $response['error'] = $validator->getMessageBag(); //$validator->getMessageBag(); }else{ $purchaseRequest = \App\PurchaseRequest::where('id',$request->pr_id)->first(); $status = $purchaseRequest->status; if(trim($status) == 'ReOpened') { $purchaseRequest->status = 'requested'; } $purchaseRequest->customer = $request->cus_name; $purchaseRequest->circle = $request->circle; $purchaseRequest->description = $request->description; $purchaseRequest->project = $request->project; $purchaseRequest->requested_by = $request->requested_by; $purchaseRequest->source = $request->source; $purchaseRequest->delivery_location = $request->delivery_location; // $purchaseRequest->supplier_name = $request->supplier_name; $purchaseRequest->supplier_contact = $request->supplier_contact; $purchaseRequest->site = $request->site_name; $purchaseRequest->vendor = $request->vendor; $purchaseRequest->vertical = $request->vertical; $purchaseRequest->business_unit = $request->business_unit; $purchaseRequest->department = $request->department; //$purchaseRequest->prepared_by = \Auth::user()->id; $purchaseRequest->amendment_number += 1; $pr_number=$purchaseRequest->pr_number; //document uplaod/// //dd($request->hasFile('document')); if($request->hasFile('document1')) { $filenameWithExt = $request->file('document1')->getClientOriginalName(); $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME); $extension = $request->file('document1')->getClientOriginalExtension(); $fileNameToStore = $filename.'_'.time().'.'.$extension; $destinationPath = public_path().'/pr_document'; $path = $request->file('document1')->move($destinationPath, $fileNameToStore); $purchaseRequest->document1 = str_replace(public_path(), '', $path); } if($purchaseRequest->save()){ //Purchase Request Item save $items = json_decode($request->items, true); //dd($items); foreach ($items as $key => $item){ if($item['type'] == 'old'){ $id = $item['id']; $purchase_request_items = \App\PurchaseRequestItem::where('id',$id)->first(); $purchase_request_items->pr_id = $purchaseRequest->id; $purchase_request_items->item_code = $item['code']; $purchase_request_items->qty = $item['qty']; $purchase_request_items->rqty = $item['qty']; $purchase_request_items->rate = $item['rate']; $purchase_request_items->recomended = isset($item['recomended'])?($item['recomended']):''; $purchase_request_items->remark = isset($item['remark'])?($item['remark']):''; $purchase_request_items->make = isset($item['make'])?($item['make']):''; $purchase_request_items->specification = isset($item['specification'])?($item['specification']):''; if($item['is_deleted'] == 1){ $purchase_request_items->delete(); }else{ $purchase_request_items->save(); } }else{ $purchase_request_items = new \App\PurchaseRequestItem(); $purchase_request_items->pr_id = $purchaseRequest->id; $purchase_request_items->item_code = $item['code']; $purchase_request_items->qty = $item['qty']; $purchase_request_items->rqty = $item['qty']; $purchase_request_items->rate = $item['rate']; $purchase_request_items->save(); } } $purchaseRequestLog = new \App\PurchaseRequestLog(); $purchaseRequestLog->pr_id = $purchaseRequest->id; $purchaseRequestLog->user_id = \Auth::user()->id; $purchaseRequestLog->message ='update'; $purchaseRequestLog->save(); //send mails // $this->prMail($purchaseRequest->id); $response['success'] = true; $response['msg'] = "Purchase Request Updated Successfully !!"; $response['pr_number'] = $pr_number; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function PrPrint($pr_id){ // DB::enableQueryLog(); $data['purchase_request'] = \DB::table('purchase_requests') ->leftJoin('users', 'users.id', '=', 'purchase_requests.prepared_by') ->leftJoin('customers', 'customers.id', '=', 'purchase_requests.customer') ->leftJoin('circles', 'circles.id', '=', 'purchase_requests.circle') ->leftJoin('business_units', 'business_units.id', '=', 'purchase_requests.business_unit') ->leftJoin('department', 'department.id', '=', 'purchase_requests.department') ->leftJoin('verticals','verticals.id','purchase_requests.department') ->leftJoin('vendors', 'vendors.id', '=', 'purchase_requests.vendor') ->select( 'purchase_requests.*', 'users.name as preparer', 'customers.name as cust_name', 'circles.name as circle_name', 'business_units.name as business_unit_name', 'department.name as department_name', 'verticals.name as department_name', 'vendors.vendor_name as pr_vendor_name', 'vendors.contact_no as pr_vendor_contact_no' ) ->where('purchase_requests.id', $pr_id) ->first(); // dd(DB::getQueryLog()); // dd($data['purchase_request']); $data['is_mail']=false; $data['items'] = DB::table('purchase_request_items') ->join('items', 'purchase_request_items.item_code', '=', 'items.code') ->select('purchase_request_items.*','items.uom','items.description','items.code') ->where('pr_id', '=', $pr_id) ->orderBy('purchase_request_items.id', 'ASC') // Added to print the items in the exact serial-wise in which they were added while creating the PR. ->get(); return view('dashboard.pr.pr-mail',$data); } public function genrateHistory($id){ $data['pr_history_data'] = \DB::table('purchase_request_logs') ->join('users','users.id','purchase_request_logs.user_id') ->join('purchase_requests','purchase_requests.id','purchase_request_logs.pr_id') ->select('purchase_request_logs.*','users.id as u_id','users.name','purchase_requests.pr_number') ->where('purchase_request_logs.pr_id',$id) ->get(); //dd($data); //$data['pr_number']=getModelById('PurchaseRequest',$id)->pr_number; // return response()->json($data); return view('dashboard.pr.pr-view-history',$data); } public function getPrAmendment(){ $data['roles'] = \App\Role::get(); $data['businessheades'] = \DB::table('users')->where('role_id',4)->get(); $data['functionalheads'] = \DB::table('users')->where('role_id',3)->get(); $data['directors'] = \DB::table('users')->where('role_id',5)->get(); return view('dashboard.pr.edit-pr',$data); } public function postPrAmendment(Request $request) { $response = array(); $validator = \Validator::make($request->all(), [ 'pr_number' => 'required|exists:purchase_requests,pr_number', 'status' => 'required|in:requested,approval_pending', 'remark' => 'nullable|string|max:255', ]); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $prNumber = $request->pr_number; $status = $request->status; $remark = $request->remark; // Find the purchase request by PR number $purchaseRequest = \App\PurchaseRequest::where('pr_number', $prNumber)->first(); if (!$purchaseRequest) { $response['flag'] = false; $response['message'] = "Purchase request with PR number '$prNumber' not found."; } else { // Update the purchase request status and remark $purchaseRequest->update(['status' => $status, 'remark' => $remark]); $response['flag'] = true; $response['message'] = "Status updated successfully"; } } return response()->json($response); } }