/
home
/
sjslayjy
/
public_html
/
scm
/
app
/
Http
/
Controllers
/
Upload File
HOME
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use DB; class ApiController extends Controller{ 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 = 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(); } } return 'mrn saved successfully'; //return json_encode($request); } public function getPO(Request $req) { $response = array(); //\DB::enableQueryLog(); $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(); // $response['po_items'] = $po_items; // $response['po_number'] = $req->po_number; // return json_encode($response); //return json_encode(DB::getQueryLog()); 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); } //--to save data from ASSET(spare_parts_items) to SCM(items) Added on 26Aug-- 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_spare_parts_master($id){ // $data = array(); // // Retrieve active categories // $data['categories'] = \App\Category::where('is_active', 1)->get(); // // Retrieve units of measurement // $data['uoms'] = DB::table('units')->get(); // // Retrieve GST slabs // $data['gst'] = DB::table('gst_slabs')->get(); // // Retrieve item data for editing // $data['item'] = DB::table('items') // ->join('category', 'category.id', '=', 'items.category') // ->select('items.*', 'category.name as category_name') // ->where('items.id', $id) // ->first(); // // Load the edit-item view with the retrieved data // return view('dashboard.master.edit-item', $data); // } //------------Post API For Update the Asset-------------------------------- 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(); // 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 = $request->uom; $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); } public function addOccupationType(Request $request){ //dd($request->all()); $response = array(); $validator = \Validator::make($request->all(), array( 'name' =>'required|unique:occupation_types,name', ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $occupation = \DB::table('occupation_types')->insert([ 'name'=>$request->name, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s') ]); if($occupation){ $response['flag'] = true; $response['message'] = "Occupation Type Added Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } }