/
proc
/
self
/
cwd
/
tabson_test
/
app
/
Http
/
Controllers
/
Upload File
HOME
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Faker; use Auth; use App\User; class ApiController extends Controller { public function checkApiAuth($data){ if($data->api_token){ $user = \App\User::where('api_token',$data->api_token)->first(); if(!is_null($user)){ return true; }else{ return false; } }else{ return false; } } public function login(Request $request){ $response = array(); $internals = Faker\Factory::create('en_US'); $validator = \Validator::make($request->all(), array( 'email' =>'required|email', 'password' =>'required', ) ); if($validator->fails()){ $response['flag'] = false; $response['errors'] = $this->parseErrorResponse($validator->getMessageBag()); }else{ $creds = ['email'=>$request->email,'password'=>$request->password]; if(Auth::attempt($creds)){ $auth_user = User::find(Auth::user()->id); $auth_user->api_token = bcrypt($internals->uuid); if($request->firebase_token){ $auth_user->firebase_token = $request->firebase_token; } $auth_user->save(); $response['flag'] = true; $response['user'] = $auth_user; }else{ $response['flag'] = false; $response['message'] = "Invalid credentials."; } } return response()->json($response); } public function parseErrorResponse($errors){ $response = []; foreach ($errors->toArray() as $key => $value) { $obj = new \stdClass(); $obj->message = $value[0]; array_push($response, $obj); } return $response; } public function saveMrn(Request $request){ logger(date('Ymd h:i:sa').'inside save mrn function.'); //dd('stop'); $data = $request->data; $itemReceivedNotes = new \App\Irn(); $itemReceivedNotes->generated_by = 2; $itemReceivedNotes->invoice_no = isset($data['invoice_number'])?$data['invoice_number']:null; $itemReceivedNotes->invoice_date = isset($data['invoice_date'])?$data['invoice_date']:null; if(isset($data['receive_date'])){ $itemReceivedNotes->receive_date = date('Y-m-d', strtotime($data['receive_date'])); } if(isset($data['payment_date'])) { $itemReceivedNotes->payment_date = date('Y-m-d', strtotime($data['payment_date'])); } $itemReceivedNotes->status = isset($data['status'])?$data['status']:null; //$itemReceivedNotes->session = \Auth::user()->id; //................................... $itemReceivedNotes->receiver_name = isset($data['receiver_name'])?$data['receiver_name']:null; $itemReceivedNotes->gate_entry_number = isset($data['gate_entry_number'])?$data['gate_entry_number']:null; $itemReceivedNotes->gate_entry_date = isset($data['gate_entry_date'])?$data['gate_entry_date']:null; $itemReceivedNotes->receiver_phone = isset($data['receiver_phone'])?$data['receiver_phone']:null; $itemReceivedNotes->e_way_bill_number = isset($data['e_way_bill_number'])?$data['e_way_bill_number']:null; $itemReceivedNotes->transporter_details = isset($data['transporter_details'])?$data['transporter_details']:null; $itemReceivedNotes->builty_number = isset($data['builty_number'])?$data['builty_number']:null; $itemReceivedNotes->delivery_location = isset($data['delivery_location'])?$data['delivery_location']:null; $itemReceivedNotes->freight_charge = isset($data['freight_charges'])?$data['freight_charges']:null; $itemReceivedNotes->freight_gst = isset($data['freight_gst'])?$data['freight_gst']:null; $itemReceivedNotes->document = isset($data['file_path'])?$data['file_path']:null; //$itemReceivedNotes->grand_total = $request->grand_total; //$itemReceivedNotes->grand_totalAmount = $request->grand_totalAmount; //$itemReceivedNotes->freight_gst_total = $request->fgstTotal; //$itemReceivedNotes->final_grand_total = $request->final_grand_total; if($itemReceivedNotes->save()){ $present_month=date('m'); if($present_month>=4){ $session=date('y').(date('y')+1); }else{ $session=(date('y')-1).date('y'); } $irn_series = \App\Irn::where('current_session', $session)->orderBy('id', 'desc')->first(); if(!is_null($irn_series)) { $series = $irn_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; } $itemReceivedNotes->irn_no = 'MRN/'.$session."/".$series; $itemReceivedNotes->series = ($series*1); $itemReceivedNotes->current_session = $session; $itemReceivedNotes->save(); // file upload // if($request->hasFile('document')) { // $filenameWithExt = $request->file('document')->getClientOriginalName(); // $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME); // $extension = $request->file('document')->getClientOriginalExtension(); // $fileNameToStore = $filename.'_'.time().'.'.$extension; // $destinationPath = public_path().'/item_notes_document'; // $path = $request->file('document')->move($destinationPath, $fileNameToStore); // $itemReceivedNotes->document = str_replace(public_path(), '', $path); // $itemReceivedNotes->save(); // } $items = json_decode($data['items'], true); foreach ($items as $key => $item){ $poi = \App\PurchaseOrderItem::where('id',$item['id'])->first(); $poi->rqty = $poi->rqty + $item['dispach_qty']; $poi->save(); $irn_items = new \App\IrnItem(); $irn_items->irn_id = $itemReceivedNotes->id; $irn_items->po_id = $item['po_id']; $irn_items->rate = $item['rate']; $irn_items->qty = $item['dispach_qty']; $irn_items->item_code = $item['item_code']; $irn_items->save(); } } logger(date('Ymd h:i:sa').'inside sace mrn function.'.$itemReceivedNotes->id); return 'mrn saved successfully'; //return json_encode($request); } public function getPO(Request $req) { $response = array(); $po_items = \DB::table('purchase_order_items')->join('purchase_orders','purchase_orders.id','purchase_order_items.po_id')->join('items','items.code','purchase_order_items.item_code')->select('purchase_order_items.*','items.description','items.uom','items.hsn_code','items.gst','purchase_orders.po_number')->where('purchase_order_items.qty','!=','purchase_order_items.rqty')->where('purchase_orders.status','Approved')->where('purchase_orders.po_number',$req->po_number)->get(); if(count($po_items) > 0) { $response['flag'] = true; $response['po_items'] = $po_items; } else { $response['flag'] = false; $response['msg'] = 'NO Purchase Order Found With this PO Number '.$req->po_number; } return json_encode($response); } public function getPOSupplier() { $response = array(); $vendor_details = \DB::table('purchase_orders')->join('vendors', 'vendors.id', 'purchase_orders.vendor_id')->select('vendors.vendor_code', 'vendors.vendor_name', 'purchase_orders.po_number')->get(); if(!is_null($vendor_details)) { $response['flag'] = true; $supArr = array(); foreach ($vendor_details as $key => $value) { $supArr[$value->po_number]['vendor_name'] = $value->vendor_name; $supArr[$value->po_number]['vendor_code'] = $value->vendor_code; } $response['all_suppliers'] = $supArr; } else { $response['flag'] = false; $response['msg'] = 'Vendor Details not found on PO Number '.$po_number; } return json_encode($response); } // public function saveMrn(Request $request){ // $data = $request->data; // $itemReceivedNotes = new \App\Irn(); // $itemReceivedNotes->generated_by = 2; // $itemReceivedNotes->invoice_no = $data['invoice_number']; // $itemReceivedNotes->invoice_date = $data['invoice_date']; // $itemReceivedNotes->receive_date = '2022-07-09';//date('Y-m-d', strtotime($data['receive_date'])); // $itemReceivedNotes->payment_date = date('Y-m-d', strtotime($data['payment_date'])); // $itemReceivedNotes->status = $data['status']; // // $itemReceivedNotes->session = \Auth::user()->id; // //................................... // $itemReceivedNotes->receiver_name = $data['receiver_name']; // $itemReceivedNotes->gate_entry_number = $data['gate_entry_number']; // $itemReceivedNotes->gate_entry_date = $data['gate_entry_date']; // $itemReceivedNotes->receiver_phone = $data['receiver_phone']; // $itemReceivedNotes->e_way_bill_number = $data['e_way_bill_number']; // $itemReceivedNotes->transporter_details = $data['transporter_details']; // $itemReceivedNotes->builty_number = $data['builty_number']; // $itemReceivedNotes->delivery_location = $data['delivery_location']; // $itemReceivedNotes->freight_charge = $data['freight_charges']; // $itemReceivedNotes->freight_gst = $data['freight_gst']; // // $itemReceivedNotes->grand_total = $request->grand_total; // // $itemReceivedNotes->grand_totalAmount = $request->grand_totalAmount; // // $itemReceivedNotes->freight_gst_total = $request->fgstTotal; // // $itemReceivedNotes->final_grand_total = $request->final_grand_total; // if($itemReceivedNotes->save()){ // $present_month=date('m'); // if($present_month>=4){ // $session=date('y').(date('y')+1); // }else{ // $session=(date('y')-1).date('y'); // } // $irn_series = \App\Irn::where('current_session', $session)->orderBy('id', 'desc')->first(); // if(!is_null($irn_series)) { // $series = $irn_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; // } // $itemReceivedNotes->irn_no = 'MRN/'.$session."/".$series; // $itemReceivedNotes->series = ($series*1); // $itemReceivedNotes->current_session = $session; // $itemReceivedNotes->save(); // // file upload // if($request->hasFile('document')) { // $filenameWithExt = $request->file('document')->getClientOriginalName(); // $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME); // $extension = $request->file('document')->getClientOriginalExtension(); // $fileNameToStore = $filename.'_'.time().'.'.$extension; // $destinationPath = public_path().'/item_notes_document'; // $path = $request->file('document')->move($destinationPath, $fileNameToStore); // $itemReceivedNotes->document = str_replace(public_path(), '', $path); // $itemReceivedNotes->save(); // } // $items = json_decode($data['items'], true); // foreach ($items as $key => $item){ // $poi = \App\PurchaseOrderItem::where('id',$item['id'])->first(); // $poi->rqty = $poi->rqty + $item['dispach_qty']; // $poi->save(); // $irn_items = new \App\IrnItem(); // $irn_items->irn_id = $itemReceivedNotes->id; // $irn_items->po_id = $item['po_id']; // $irn_items->rate = $item['rate']; // $irn_items->qty = $item['dispach_qty']; // $irn_items->item_code = $item['item_code']; // $irn_items->save(); // } // } // return 'mrn saved successfully'; // //return json_encode($request); // } public function items_list(Request $request){ $itemCategory = \DB::table('category') ->where('name', 'like', '%' . $request->category . '%') ->first(); $itemUom = \DB::table('units') ->where('name', 'like', '%' . $request->uom . '%') ->first(); $item = new \App\Item(); $item->code = $request->code; $item->make = $request->name; $item->model = $request->model; $item->category = $itemCategory->id; $item->description = $request->description; $item->specification = $request->specification; $item->uom = $itemUom->id; $item->hsn_code = $request->hsn; $item->rate = $request->rate; $item->gst = $request->gst_slab_rates; $item->product_types = $request->type; $item->types = $request->productType; if($item->save()){ $response['flag']=true; $response['status']= 200; }else{ $response['flag']=false; } return response()->json($response); } public function edit_item(Request $request) { $item_details = \App\Item::where('code', $request->code)->first(); $response = []; // Initialize the response array if (is_null($item_details)) { $response['flag'] = false; $response['message'] = "Item Not found"; } else { $itemCategory = \DB::table('category') ->where('name', 'like', '%' . $request->category . '%') ->first(); $itemUom = \DB::table('units') ->where('name', 'like', '%' . $request->uom . '%') ->first(); // Update the item properties $item_details->code = $request->code; $item_details->make = $request->name; $item_details->model = $request->model; $item_details->rate = $request->rate; $item_details->gst = $request->gst_slab_rates; $item_details->hsn_code = $request->hsn_code; $item_details->uom = $itemUom->id; $item_details->category = $itemCategory->id; $item_details->description = $request->description; $item_details->specification = $request->specification; $item_details->product_types = $request->type; $item_details->types = $request->productType; if ($item_details->save()) { $response['flag'] = true; $response['message'] = "Record updated successfully"; } else { $response['flag'] = false; $response['message'] = "Something Went Wrong"; } } return response()->json($response); } public function deleteItemList($id){ $response = array(); $item = \App\Item::where('id',$id)->where('is_active',1)->where('code',$request->code)->first(); // dd($item); if(is_null($item)){ $response['flag'] = false; $response['message'] = "Item Not Found"; }else{ $item->is_active = 0; if($item->save()){ $response['flag'] = true; $response['message'] = "Item Deleted"; }else{ $response['flag'] = false; } } return response()->json($response); } }