/
proc
/
self
/
cwd
/
scm
/
app
/
Http
/
Controllers
/
Upload File
HOME
<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Auth; use App\RoleModuleAssociation; // Update the namespace use DB; use Illuminate\Http\Request; use App\Exports\ItemsExport; use App\Imports\ItemsImport; use Maatwebsite\Excel\Facades\Excel; class MasterController extends Controller { public function quickLinks(){ return view('dashboard.master.quick-links'); } public function roles(){ $data['roles'] = \App\Role::where('is_active',1)->get(); return view('dashboard.master.roles',$data); } public function addRole(Request $request){ $response = array(); $validator = \Validator::make($request->all(), array( 'role' =>'required|unique:roles,role', ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $role = new \App\Role(); $role->role = $request->role; if($role->save()){ $response['flag'] = true; $response['message'] = "Role Added Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditRole($id){ $data['role'] = \App\Role::where('id',$id)->where('is_active',1)->first(); return view('dashboard.master.edit-role',$data); } public function updateRole(Request $request){ $response = array(); $validator = \Validator::make($request->all(), array( 'role' =>'required|unique:roles,role,'.$request->id, ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $role = \App\Role::where('id',$request->id)->where('is_active',1)->first(); if(is_null($role)){ $response['flag'] = false; $response['error'] = "Role Not found"; }else{ $role->role = $request->role; if($role->save()){ $response['flag'] = true; $response['message'] = "Role Updated Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteRole($id){ $response = array(); $role = \App\Role::where('id',$id)->where('is_active',1)->first(); if(is_null($role)){ $response['flag'] = false; $response['message'] = "Role Not Found"; }else{ $role->is_active = 0; if($role->save()){ $response['flag'] = true; $response['message'] = "Role Deleted"; }else{ $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function getRolePermissions($id){ $data = array(); $role = \App\Role::where('is_active',1)->where('id',$id)->first(); if(is_null($role)){ return redirect('/user/roles')->with('error','Role Not Found'); }else{ $data['role'] = $role; $data['modules'] = \App\Module::where('is_active',1)->with('sub_modules')->get(); return view('dashboard.master.assign-permission',$data); } } public function updateRolePermissions($role_id,$module_id,$sub_module_id){ $response = array(); $permission = \App\RoleModuleAssociation::where('role_id',$role_id)->where('module_id',$module_id)->where('sub_module_id',$sub_module_id)->first(); if(is_null($permission)){ $permission = new \App\RoleModuleAssociation(); $permission->role_id = $role_id; $permission->module_id = $module_id; $permission->sub_module_id = $sub_module_id; if($permission->save()){ $response['flag'] = true; }else{ $response['flag'] = true; $response['message'] = "Something Went Wrong"; } }else{ if($permission->delete()){ $response['flag'] = true; }else{ $response['flag'] = true; $response['message'] = "Something Went Wrong"; } } return response()->json($response); } public function sessions(){ $data['sessions'] = \App\Session::where('is_active',1)->get(); return view('dashboard.master.sessions',$data); } public function addSession(Request $request){ $response = array(); $validator = \Validator::make($request->all(), array( 'session' =>'required|unique:sessions,session', ), array( 'session.required' => 'Please Enter Session.', 'session.unique' => 'This Session already exists.', ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $session = new \App\Session(); $session->session = $request->session; if($session->save()){ $response['flag'] = true; $response['message'] = "Session Added Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditSession($id){ $data['session'] = \App\Session::where('id',$id)->where('is_active',1)->first(); return view('dashboard.master.edit-session',$data); } public function updateSession(Request $request){ $response = array(); $validator = \Validator::make($request->all(), array( 'session' =>'required|unique:sessions,session,'.$request->id, ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $session = \App\Session::where('id',$request->id)->where('is_active',1)->first(); if(is_null($session)){ $response['flag'] = false; $response['error'] = "Session Not found"; }else{ $session->session = $request->session; if($session->save()){ $response['flag'] = true; $response['message'] = "Session Updated Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteSession($id){ $response = array(); $session = \App\Session::where('id',$id)->where('is_active',1)->first(); if(is_null($session)){ $response['flag'] = false; $response['message'] = "Session Not Found"; }else{ $session->is_active = 0; if($session->save()){ $response['flag'] = true; $response['message'] = "session Deleted"; }else{ $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function module(){ $data['modules'] = \App\Module::where('is_active',1)->get(); return view('dashboard.master.module',$data); } public function addModule(Request $request){ $response = array(); $validator = \Validator::make($request->all(), array( 'module' =>'required|unique:modules,module', 'icon' =>'required', ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $module = new \App\Module(); $module->module = $request->module; if($request->link){ $module->link = $request->link; } $module->icon = $request->icon; if($module->save()){ $response['flag'] = true; $response['message'] = "Module Added Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditModule($id){ $data['module'] = \App\Module::where('id',$id)->where('is_active',1)->first(); return view('dashboard.master.edit-module',$data); } public function updateModule(Request $request){ $response = array(); $validator = \Validator::make($request->all(), array( 'module' =>'required|unique:modules,module,'.$request->id, 'icon' =>'required', ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $module = \App\Module::where('id',$request->id)->where('is_active',1)->first(); if(is_null($module)){ $response['flag'] = false; $response['error'] = "Module Not found"; }else{ $module->module = $request->module; if($request->link){ $module->link = $request->link; } $module->icon = $request->icon; if($module->save()){ $response['flag'] = true; $response['message'] = "Module Updated Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteModule($id){ $response = array(); $module = \App\Module::where('id',$id)->where('is_active',1)->first(); if(is_null($module)){ $response['flag'] = false; $response['message'] = "mMdule Not Found"; }else{ $module->is_active = 0; if($module->save()){ $response['flag'] = true; $response['message'] = "Module Deleted"; }else{ $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function sub_module(){ $data['sub_modules'] = \App\SubModule::where('is_active',1)->get(); $data['modules'] = \App\Module::where('is_active',1)->get(); return view('dashboard.master.sub-module',$data); } public function addSubModule(Request $request){ $response = array(); $validator = \Validator::make($request->all(), array( 'module_id' =>'required', 'sub_module' =>'required|unique:sub_modules,sub_module', 'link' =>'required|unique:sub_modules,link', ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $sub_module = new \App\SubModule(); $sub_module->module_id = $request->module_id; $sub_module->sub_module = $request->sub_module; $sub_module->link = $request->link; if($sub_module->save()){ $response['flag'] = true; $response['message'] = "Sub Module Added Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditSubModule($id){ $data = array(); $data['sub_module'] = \App\SubModule::where('id',$id)->where('is_active',1)->first(); $data['modules'] = \App\Module::where('is_active',1)->get(); return view('dashboard.master.edit-sub-module',$data); } public function updateSubModule(Request $request){ $response = array(); $validator = \Validator::make($request->all(), array( 'module_id' =>'required', 'sub_module' =>'required|unique:sub_modules,sub_module,'.$request->id, 'link' =>'required|unique:sub_modules,link,'.$request->id, ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $sub_module = \App\SubModule::where('id',$request->id)->where('is_active',1)->first(); if(is_null($sub_module)){ $response['flag'] = false; $response['error'] = "Sub Module Not found"; }else{ $permission = \App\RoleModuleAssociation::where('sub_module_id',$request->id)->first(); if(!is_null($permission)){ if($permission->module_id != $request->module_id){ $permission->delete(); } } $sub_module->module_id = $request->module_id; $sub_module->sub_module = $request->sub_module; $sub_module->link = $request->link; if($sub_module->save()){ $response['flag'] = true; $response['message'] = "Sub Module Updated Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteSubModule($id){ $response = array(); $sub_module = \App\SubModule::where('id',$id)->where('is_active',1)->first(); if(is_null($sub_module)){ $response['flag'] = false; $response['message'] = "Sub Module Not Found"; }else{ $sub_module->is_active = 0; if($sub_module->save()){ $response['flag'] = true; $response['message'] = "Sub Module Deleted"; }else{ $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function vendors(){ $data = array(); $data['v_categories']=\App\VendorCategory::where('is_active' , 1)->get(); $data['s_subcategories']=\App\VendorSubCategory::where('is_active' , 1)->get(); $data['payment_terms']= DB::table('payment_terms')->get(); $data['vendors'] = \App\Vendor::join('vendor_categories','vendor_categories.id','vendors.category')->select('vendors.*','vendor_categories.name as vendor_cat_name','vendors.sub_category as vendor_sub_cat_name')->get(); // $data['sub_cat'] = \App\Vendor::join('vendor_subcategories','vendor_subcategories.id','vendors.sub_category')->select('vendors.*','vendor_subcategories.name as vendor_sub_cat_name')->get(); $data['role_id'] =Auth::user()->role_id; // dd($data); return view('dashboard.master.vendors',$data); } public function addVendor(Request $request){ //dd($request->all()); $response = array(); $lastVendor = \App\Vendor::latest('id')->first(); $newId = $lastVendor ? $lastVendor->id + 1 : 1; // Start from 1 if no vendors exist $existingVendor = \App\Vendor::where('vendor_name', $request->vendor_name) ->where('gst', $request->gst) ->first(); if ($existingVendor) { return response()->json([ 'flag' => false, 'error' => 'A vendor with the same GST already exists.', ]); } $validator = \Validator::make($request->all(), array( 'category' => 'required', 'vendor_code' => 'unique:vendors,vendor_code', 'vendor_name' => 'required', 'address' => 'required', 'deals_in' => 'required', 'sub_category' => 'required', // 'po_to' => 'required', 'contact_no' => 'required|numeric|min:10', 'account_number' => 'required|numeric', 'bank_name' => 'required', 'ifsc_code' => 'required', 'gst' => 'required', 'payment_terms' => 'required', 'document' => 'mimes:pdf' ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $vendor = new \App\Vendor(); $vendor->category = $request->category; $vendor->vendor_name = $request->vendor_name; $vendor->address = $request->address; $vendor->deals_in = $request->deals_in; $vendor->sub_category = $request->sub_category; // $vendor->po_to = $request->po_to; $vendor->contact_no = $request->contact_no; $vendor->contact_person_1 = $request->contact_person_1; $vendor->contact_no_1 = $request->contact_no_1; $vendor->email_address_1 = $request->email_address_1; $vendor->contact_person_2 = $request->contact_person_2; $vendor->contact_no_2 = $request->contact_no_2; $vendor->other_email = $request->other_email; $vendor->account_number = $request->account_number; $vendor->bank_name = $request->bank_name; $vendor->ifsc_code = $request->ifsc_code; $vendor->gst = $request->gst; //$vendor->payment_terms = $request->payment_terms; $vendor->payment_terms_id = $request->payment_terms; if($request->payment_terms != "other"){ $payment_terms = \DB::table('payment_terms')->where('id',$request->payment_terms)->first(); $vendor->payment_terms = $payment_terms->textarea; }else{ $vendor->payment_terms = $request->payment_term_textarea; } //document uplaod/// //dd($request->hasFile('document')); 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().'/document'; $path = $request->file('document')->move($destinationPath, $fileNameToStore); $vendor->document = str_replace(public_path(), '', $path); } $vendor->creation_date = date('Y-m-d H:i:s'); $vendor->created_by = Auth::user()->name; if($vendor->save()){ $vendor->vendor_code = "VN00".$newId; $vendor->save(); $response['flag'] = true; $response['message'] = "Vendor Added Successfully !"; $response['vendor_code'] = $vendor->vendor_code; $response['vendor_name'] = $vendor->vendor_name; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function detailsVendor($id){ $data['vendor'] = \App\Vendor::join('vendor_categories','vendor_categories.id','vendors.category') ->select('vendors.*','vendor_categories.name as vendor_cat_name') ->where('vendors.id',$id) ->first(); //dd($data); return view('dashboard.master.vendor-details',$data); } public function getEditVendor($id){ $data = array(); $data['v_categories']=\App\VendorCategory::where('is_active' , 1)->get(); $data['v_subcategories']=\App\VendorSubCategory::where('is_active' , 1)->get(); $data['payment_terms']= DB::table('payment_terms')->get(); $data['vendor'] = \App\Vendor::where('id',$id)->first(); return view('dashboard.master.edit-vendor',$data); } public function updateVendor(Request $request){ //dd($request->all()); $response = array(); $validator = \Validator::make($request->all(), array( 'category' => 'required', 'vendor_code' => 'required|unique:vendors,vendor_code,'.$request->id, 'vendor_name' => 'required', 'address' => 'required', 'deals_in' => 'required', //'sub_category' => 'required', //'po_to' => 'required', 'contact_no' => 'required|numeric|min:10', 'account_number' => 'required|numeric', 'bank_name' => 'required', 'gst' => 'required', 'ifsc_code' => 'required', 'payment_terms' => 'required', 'document' => 'mimes:pdf' ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $vendor_details = \App\Vendor::where('id',$request->id)->first(); // dd($vendor_details); if(is_null($vendor_details)){ $response['flag'] = false; $response['error'] = "Vendor Not found"; }else{ $vendor_details->vendor_code = $request->vendor_code; $vendor_details->vendor_name = $request->vendor_name; $vendor_details->address = $request->address; $vendor_details->deals_in = $request->deals_in; // $vendor_details->sub_category = $request->sub_category; // $vendor_details->po_to = $request->po_to; $vendor_details->contact_no = $request->contact_no; $vendor_details->contact_person_1 = $request->contact_person_1; $vendor_details->contact_no_1 = $request->contact_no_1; $vendor_details->email_address_1 = $request->email_address_1; $vendor_details->contact_person_2 = $request->contact_person_2; $vendor_details->contact_no_2 = $request->contact_no_2; $vendor_details->other_email = $request->other_email; $vendor_details->account_number = $request->account_number; $vendor_details->bank_name = $request->bank_name; $vendor_details->ifsc_code = $request->ifsc_code; $vendor_details->is_active = $request->is_active; $vendor_details->gst = $request->gst; //$vendor_details->payment_terms = $request->payment_terms; $vendor_details->payment_terms_id = $request->payment_terms; if($request->payment_terms != "other"){ $payment_terms = \DB::table('payment_terms')->where('id',$request->payment_terms)->first(); $vendor_details->payment_terms = $payment_terms->name; }else{ $vendor_details->payment_terms = $request->payment_term_textarea; } //document uplaod/// //dd($request->hasFile('document')); 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().'/document'; $path = $request->file('document')->move($destinationPath, $fileNameToStore); $vendor_details->document = str_replace(public_path(), '', $path); } if($vendor_details->save()){ $response['flag'] = true; $response['message'] = "Vendor Updated Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteVendor($id){ $response = array(); $vendor = \App\Vendor::where('id',$id)->where('is_active',1)->first(); if(is_null($vendor)){ $response['flag'] = false; $response['message'] = "Vendor Not Found"; }else{ $vendor->is_active = 0; if($vendor->save()){ $response['flag'] = true; $response['message'] = "Vendor Deleted"; }else{ $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function items(){ $data = array(); $data['items']=DB::table('items as i') ->select('i.id as Iid','i.code','i.hsn_code','u.name as uom_name','i.gst','i.rate','i.model','c.name','i.uom','i.description','i.product_types','i.make','i.specification','i.is_active') ->join('category as c','c.id','i.category') ->join('units as u','u.id','i.uom') // ->where('i.is_active', 1) ->get(); // $data['items'] = \App\Item::join('category','item')->where('is_active' , 1)->get(); $data['categories']=\App\Category::where('is_active',1)->get(); $data['product_categories']=\App\ProductCategory::where('is_active',1)->get(); $data['uoms']= DB::table('units')->get(); $data['gst']= DB::table('gst_slabs')->get(); $data['role_id'] =Auth::user()->role_id; return view('dashboard.master.items',$data); } //Old Code: // public function addItem(Request $request){ // $response = array(); // $validator = \Validator::make($request->all(), // array( // 'code' =>'required|unique:items,code', // // 'rate' =>'required', // 'uom' =>'required', // // 'model' =>'required', // 'category' =>'required', // 'description' =>'required', // // 'make' =>'required', // // 'specification' =>'required', // ) // ); // if($validator->fails()) // { // $response['flag'] = false; // $response['errors'] = $validator->getMessageBag(); // }else{ // $item = new \App\Item(); // $item->code = $request->code; // $item->rate= $request->rate; // $item->gst= $request->gst; // $item->hsn_code= $request->hsn_code; // $item->uom= $request->uom; // $item->category= $request->category; // $item->model= $request->model; // $item->description= $request->description; // $item->make= $request->make; // $item->specification= $request->specification; // if($item->save()){ // $response['flag'] = true; // $response['message'] = "Item Added Successfully"; // }else{ // $response['flag'] = false; // $response['error'] = "Something Went Wrong"; // } // } // return response()->json($response); // } //-------------Added By Me on 28-Aug-2023------------------------------------ public function addItem(Request $request){ // dd($request->all()); $response = array(); $validator = \Validator::make($request->all(), array( 'code' =>'required|unique:items,code', // 'rate' =>'required', 'uom' =>'required', // 'model' =>'required', 'category' =>'required', 'description' =>'required', // 'make' =>'required', // 'specification' =>'required', ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $itemCategory = \DB::table('category') ->where('name', 'like', '%' . $request->category . '%') ->first(); $item = new \App\Item(); $item->code = $request->code; $item->rate= $request->rate; $item->gst= $request->gst; $item->hsn_code= $request->hsn_code; $item->uom= $request->uom; $item->category= $itemCategory->id; $item->types= $request->types; $item->model= $request->model; $item->description= $request->description; $item->make= $request->make; $item->specification= $request->specification; $item->product_types= $request->product_types; $apiUrl = "https://assets.sjslalganj.com/api/spare-parts-master-items-list"; // Data to send in the POST request $postData = $request->all(); // Initialize cURL session $curl = curl_init(); // Set cURL options curl_setopt($curl, CURLOPT_URL, $apiUrl); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_POST, true); // Set request method to POST curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData)); // Set POST data // You can add more options like headers, authentication, etc. here // Execute cURL session and store the response $responseFromAPI = curl_exec($curl); // Check for cURL errors if(curl_errno($curl)) { echo 'Curl error: ' . curl_error($curl); } // Close cURL session curl_close($curl); $responseData = json_decode($responseFromAPI); if ($responseData->status == 200 && $responseData->flag == true) { if($item->save()){ $response['flag'] = true; $response['message'] = "Item Added Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } }else if($responseData->flag == false){ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } //-------------------------------------------------------------------------- public function getEditItem($id){ $data = array(); $data['categories']=\App\Category::where('is_active',1)->get(); $data['product_categories']=\App\ProductCategory::where('is_active',1)->get(); $data['uoms']= DB::table('units')->get(); $data['gst']= DB::table('gst_slabs')->get(); $data['product_types']= DB::table('items')->get(); // $data['item'] = \App\Item::join('')->where('id',$id)->where('is_active', 1)->first(); $data['item'] = DB::table('items')->join('category','category.id','items.category')->select('items.*','category.name as category_name')->where('items.id',$id)->first(); return view('dashboard.master.edit-item',$data); } // public function updateItem(Request $request){ // $response = array(); // $validator = \Validator::make($request->all(), // array( // 'code' =>'required|unique:items,code,'.$request->id, // 'description' =>'required', // 'uom' =>'required', // 'category' =>'required', // // 'make' =>'required', // // 'specification' =>'required', // ) // ); // if($validator->fails()) // { // $response['flag'] = false; // $response['errors'] = $validator->getMessageBag(); // }else{ // $item_details = \App\Item::where('id',$request->id)->first(); // if(is_null($item_details)){ // $response['flag'] = false; // $response['error'] = "Item Not found"; // }else{ // $item_details->code = $request->code; // $item_details->rate= $request->rate; // $item_details->gst= $request->gst; // $item_details->hsn_code= $request->hsn_code; // $item_details->uom= $request->uom; // $item_details->category= $request->category; // $item_details->model= $request->model; // $item_details->description= $request->description; // $item_details->make= $request->make; // $item_details->specification= $request->specification; // $item_details->is_active= $request->is_active; // if($item_details->save()){ // $response['flag'] = true; // $response['message'] = "Item Updated Successfully"; // }else{ // $response['flag'] = false; // $response['error'] = "Something Went Wrong"; // } // } // } // return response()->json($response); // } public function updateItem(Request $request){ // dd($request); $response = array(); $validator = \Validator::make($request->all(), array( 'code' =>'required|unique:items,code,'.$request->id, 'description' =>'required', 'uom' =>'required', 'category' =>'required', // 'make' =>'required', // 'specification' =>'required', ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $item_details = \App\Item::where('id',$request->id)->first(); if(is_null($item_details)){ $response['flag'] = false; $response['error'] = "Item Not found"; }else{ $updateCategory = \DB::table('category') ->where('name', 'like', '%' . $request->category . '%') ->first(); $item_details->code = $request->code; $item_details->rate= $request->rate; $item_details->gst= $request->gst; $item_details->hsn_code= $request->hsn_code; $item_details->uom= $request->uom; $item_details->category= $updateCategory->id; $item_details->types= $request->types; $item_details->model= $request->model; $item_details->description= $request->description; $item_details->make= $request->make; $item_details->specification= $request->specification; $item_details->is_active = $request->is_active; $item_details->product_types= $request->product_type; //----------------------Added on 06-09-2023----------------------------------- $apiUrl = "https://assets.sjslalganj.com/api/update-spare-parts-items-list"; // Data to send in the POST request $postData = $request->all(); // Initialize cURL session $curl = curl_init(); // Set cURL options curl_setopt($curl, CURLOPT_URL, $apiUrl); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_POST, true); // Set request method to POST curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData)); // Set POST data // You can add more options like headers, authentication, etc. here // Execute cURL session and store the response $responseFromAPI = curl_exec($curl); // Check for cURL errors if(curl_errno($curl)) { echo 'Curl error: ' . curl_error($curl); } // Close cURL session curl_close($curl); $responseData = json_decode($responseFromAPI); // dd($responseData); if ($responseData->status == 200 && $responseData->flag == true) { if($item_details->save()){ $response['flag'] = true; $response['message'] = "Item Updated Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } }else if($responseData->flag == false){ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteItem($id){ $response = array(); $item = \App\Item::where('id',$id)->where('is_active',1)->first(); 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; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function import(){ Excel::import(new ItemsImport,request()->file('file')); return back(); } public function categories(){ $data['categories'] = \App\Category::where('is_active',1)->get(); return view('dashboard.master.categories',$data); } public function addCategory(Request $request){ // print_r($request->all()); // die; $response = array(); $validator = \Validator::make($request->all(), array( 'name' =>'required|unique:category,name', ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $category = new \App\Category(); $category->name = $request->name; if($category->save()){ $response['flag'] = true; $response['message'] = "Category Added Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditCategory($id){ $data['category'] = \App\Category::where('id',$id)->where('is_active',1)->first(); return view('dashboard.master.edit-category',$data); } public function updateCategory(Request $request){ $response = array(); $validator = \Validator::make($request->all(), array( 'name' =>'required|unique:category,name,'.$request->id, ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $category = \App\Category::where('id',$request->id)->where('is_active',1)->first(); if(is_null($category)){ $response['flag'] = false; $response['error'] = "Category Not found"; }else{ $category->name = $request->name; if($category->save()){ $response['flag'] = true; $response['message'] = "Category Updated Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteCategory($id){ $response = array(); $category = \App\Category::where('id',$id)->where('is_active',1)->first(); if(is_null($category)){ $response['flag'] = false; $response['message'] = "Category Not Found"; }else{ $category->is_active = 0; if($category->save()){ $response['flag'] = true; $response['message'] = "Category Deleted"; }else{ $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function businessUnit(){ $data['business_units'] = \DB::table('business_units')->get(); return view('dashboard.master.business-unit',$data); } public function addBusinessUnit(Request $request){ // print_r($request->all()); // die; $response = array(); $validator = \Validator::make($request->all(), array( 'name' =>'required|unique:business_units,name', 'short_name' =>'required|unique:business_units,short_name', ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $business_units = new \App\BusinessUnit(); $business_units->name = $request->name; $business_units->short_name = $request->short_name; if($business_units->save()){ $response['flag'] = true; $response['message'] = "BusinessUnit Added Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditBusinessUnit($id){ //dd($id); $data['business_unit'] = \App\BusinessUnit::where('id',$id)->first(); return view('dashboard.master.edit-business-unit',$data); } public function updateBusinessUnit(Request $request){ //dd($request); $response = array(); $validator = \Validator::make($request->all(), array( 'name' =>'required:business_units,name,'.$request->id, 'short_name' =>'required:business_units,short_name', ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $business_unit = \App\BusinessUnit::where('id',$request->id)->first(); if(is_null($business_unit)){ $response['flag'] = false; $response['error'] = "BusinessUnit Not found"; }else{ $business_unit->name = $request->name; $business_unit->short_name = $request->short_name; $business_unit->is_active = $request->is_active; if($business_unit->save()){ $response['flag'] = true; $response['message'] = "BusinessUnit Updated Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteBusinessUnit($id){ $response = array(); $business_unit = \App\BusinessUnit::where('id',$id)->first(); if(is_null($business_unit)){ $response['flag'] = false; $response['message'] = "BusinessUnit Not Found"; }else{ $business_unit->is_active = 0; if($business_unit->save()){ $response['flag'] = true; $response['message'] = "BusinessUnit Deleted"; }else{ $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function projects(){ $data['projects'] = \DB::table('projects')->get(); return view('dashboard.master.projects',$data); } public function addProject(Request $request){ // print_r($request->all()); // die; $response = array(); $validator = \Validator::make($request->all(), array( 'name' =>'required|unique:projects,name', ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $project = new \App\Project(); $project->name = $request->name; if($project->save()){ $response['flag'] = true; $response['message'] = "Project Added Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditProject($id){ //dd($id); $data['project'] = \App\Project::where('id',$id)->first(); return view('dashboard.master.edit-project',$data); } public function updateProject(Request $request){ //dd($request); $response = array(); $validator = \Validator::make($request->all(), array( 'name' =>'required:projects,name,'.$request->id, ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $project = \App\Project::where('id',$request->id)->first(); if(is_null($project)){ $response['flag'] = false; $response['error'] = "Project Not found"; }else{ $project->name = $request->name; $project->is_active = $request->is_active; if($project->save()){ $response['flag'] = true; $response['message'] = "Project Updated Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteProject($id){ $response = array(); $project = \App\Project::where('id',$id)->first(); if(is_null($project)){ $response['flag'] = false; $response['message'] = "Project Not Found"; }else{ $project->is_active = 0; if($project->save()){ $response['flag'] = true; $response['message'] = "Project Deleted"; }else{ $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function verticals(){ $data['verticals'] = \DB::table('verticals')->get(); return view('dashboard.master.verticals',$data); } //----------------------------------------------------------------------- public function vendor_categories(){ $data['verticals'] = \DB::table('vendor_categories')->where('is_active', 1)->get(); return view('dashboard.master.vendor-categories',$data); } public function add_new_vendors(Request $request){ //dd($request->all()); $response = array(); $validator = \Validator::make($request->all(), array( 'name' =>'required|unique:vendor_categories,name', ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $vertical = \DB::table('vendor_categories')->insert([ 'name'=>$request->name, 'created_at'=>date('Y-m-d H:i:s'), 'update_at'=>date('Y-m-d H:i:s') ]); if($vertical){ $response['flag'] = true; $response['message'] = "Vendor Category Added Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function occupation_type(){ $data['occupations'] = \DB::table('occupation_types')->where('is_active', 1)->get(); return view('dashboard.master.occupation-types',$data); } public function add_new_occupations(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); } public function getEditOccupationTypes($id){ //dd($id); $data['occupation'] = \App\OccupationType::where('id',$id)->first(); return view('dashboard.master.edit-occupation-types',$data); } public function updateOccupationType(Request $request){ // dd($request); $response = array(); $validator = \Validator::make($request->all(), array( 'name' =>'required:occupation_types,name,'.$request->id, ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $occupation = \DB::table('occupation_types')->where('id',$request->id)->first(); if(is_null($occupation)){ $response['flag'] = false; $response['error'] = "Occpation Type Not found"; }else{ $occupation = \DB::table('occupation_types')->where('id',$request->id)->update([ '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 Updated Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteOccupationType($id){ $response = array(); $occupation = \DB::table('occupation_types')->where('id',$id)->first(); if(is_null($occupation)){ $response['flag'] = false; $response['message'] = "Occupation Category Not Found"; }else{ $occupation = \DB::table('occupation_types')->where('id',$id)->update([ 'is_active'=>0 ]); if($occupation){ $response['flag'] = true; $response['message'] = "Occupation Type Deleted"; }else{ $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function sub_category(){ $data['verticals'] = \DB::table('vendor_subcategories')->where('is_active', 1)->get(); return view('dashboard.master.sub-categories',$data); } public function add_sub_category(Request $request){ //dd($request->all()); $response = array(); $validator = \Validator::make($request->all(), array( 'name' =>'required|unique:vendor_subcategories,name', ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $vertical = \DB::table('vendor_subcategories')->insert([ 'name'=>$request->name, ]); if($vertical){ $response['flag'] = true; $response['message'] = "Sub-Category Added Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function addVertical(Request $request){ // print_r($request->all()); // die; $response = array(); $validator = \Validator::make($request->all(), array( 'name' =>'required|unique:verticals,name', ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $vertical = new \App\Vertical(); $vertical->name = $request->name; if($vertical->save()){ $response['flag'] = true; $response['message'] = "Vertical Added Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditVertical($id){ //dd($id); $data['vertical'] = \App\Vertical::where('id',$id)->first(); return view('dashboard.master.edit-vertical',$data); } //-------------------------------------------------------------------------- public function getEditVendorCategories($id){ //dd($id); $data['vertical'] = \App\VendorCategory::where('id',$id)->first(); return view('dashboard.master.edit-vendor-categories',$data); } public function getEditSubCategories($id){ //dd($id); $data['vertical'] = \App\VendorSubCategory::where('id',$id)->first(); return view('dashboard.master.edit-sub-categories',$data); } public function updateVendorCategories(Request $request){ // dd($request); $response = array(); $validator = \Validator::make($request->all(), array( 'name' =>'required:vendor_categories,name,'.$request->id, ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $vertical = \DB::table('vendor_categories')->where('id',$request->id)->first(); if(is_null($vertical)){ $response['flag'] = false; $response['error'] = "Vendor Category Not found"; }else{ $vertical = \DB::table('vendor_categories')->where('id',$request->id)->update([ 'name'=>$request->name, 'created_at'=>date('Y-m-d H:i:s'), 'update_at'=>date('Y-m-d H:i:s') ]); if($vertical){ $response['flag'] = true; $response['message'] = "Vendor Category Updated Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function updateSubCategories(Request $request){ // dd($request); $response = array(); $validator = \Validator::make($request->all(), array( 'name' =>'required:vendor_subcategories,name,'.$request->id, ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $vertical = \DB::table('vendor_subcategories')->where('id',$request->id)->first(); if(is_null($vertical)){ $response['flag'] = false; $response['error'] = "Vendor Sub Category Not found"; }else{ $vertical = \DB::table('vendor_subcategories')->where('id',$request->id)->update([ 'name'=>$request->name, 'created_at'=>date('Y-m-d H:i:s'), 'update_at'=>date('Y-m-d H:i:s') ]); if($vertical){ $response['flag'] = true; $response['message'] = "Vendor Sub Category Updated Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteVendorCategory($id){ $response = array(); $vertical = \DB::table('vendor_categories')->where('id',$id)->first(); if(is_null($vertical)){ $response['flag'] = false; $response['message'] = "Vendor Category Not Found"; }else{ $upvertical = \DB::table('vendor_categories')->where('id',$id)->update([ 'is_active'=>0 ]); if($upvertical){ $response['flag'] = true; $response['message'] = "Vendor Category Deleted"; }else{ $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function deleteSubCategory($id){ $response = array(); $vertical = \DB::table('vendor_subcategories')->where('id',$id)->first(); if(is_null($vertical)){ $response['flag'] = false; $response['message'] = "Vendor Sub-Category Not Found"; }else{ $upvertical = \DB::table('vendor_subcategories')->where('id',$id)->update([ 'is_active'=>0 ]); if($upvertical){ $response['flag'] = true; $response['message'] = "Vendor Sub-Category Deleted"; }else{ $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function updateVertical(Request $request){ //dd($request); $response = array(); $validator = \Validator::make($request->all(), array( 'name' =>'required:verticals,name,'.$request->id, ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $vertical = \App\Vertical::where('id',$request->id)->first(); if(is_null($vertical)){ $response['flag'] = false; $response['error'] = "Vertical Not found"; }else{ $vertical->name = $request->name; $vertical->is_active = $request->is_active; if($vertical->save()){ $response['flag'] = true; $response['message'] = "Vertical Updated Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteVertical($id){ $response = array(); $vertical = \App\Vertical::where('id',$id)->first(); if(is_null($vertical)){ $response['flag'] = false; $response['message'] = "Vertical Not Found"; }else{ $vertical->is_active = 0; if($vertical->save()){ $response['flag'] = true; $response['message'] = "Vertical Deleted"; }else{ $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function customers(){ $data['customers'] = \DB::table('customers')->where('is_active',1)->get(); return view('dashboard.master.customers',$data); } public function addCustomer(Request $request){ // print_r($request->all()); // die; $response = array(); $validator = \Validator::make($request->all(), array( 'name' =>'required|unique:customers,name', ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $customer = new \App\Customer(); $customer->name = $request->name; $customer->location = $request->location; $customer->gst_number = $request->gst_number; if($customer->save()){ $response['flag'] = true; $response['message'] = "Customer Added Successfully !"; $response['customer_name'] = $customer->name; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditCustomer($id){ //dd($id); $data['customer'] = \App\Customer::where('id',$id)->first(); return view('dashboard.master.edit-customer',$data); } public function updateCustomer(Request $request){ //dd($request); $response = array(); $validator = \Validator::make($request->all(), array( 'name' =>'required:customers,name,'.$request->id, ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $customer = \App\Customer::where('id',$request->id)->first(); //dd($customer); if(is_null($customer)){ $response['flag'] = false; $response['error'] = "Customer Not found"; }else{ $customer->name = $request->name; $customer->location = $request->location; $customer->gst_number = $request->gst_number; $customer->is_active = $request->is_active; if($customer->save()){ $response['flag'] = true; $response['message'] = "Customer Updated Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteCustomer($id){ $response = array(); $customer = \App\Customer::where('id',$id)->first(); if(is_null($customer)){ $response['flag'] = false; $response['message'] = "Customer Not Found"; }else{ $customer->is_active = 0; if($customer->save()){ $response['flag'] = true; $response['message'] = "Customer Deleted"; }else{ $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function circles(){ $data['circles'] = \DB::table('circles')->get(); return view('dashboard.master.circles',$data); } public function addCircles(Request $request){ // print_r($request->all()); // die; $response = array(); $validator = \Validator::make($request->all(), array( 'code'=>'required', 'name' =>'required', 'pin_code'=>'required', 'gst_number'=>'required' ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $circle = new \App\Circle(); $circle->code = $request->code; $circle->name = $request->name; $circle->address1 = $request->address1; $circle->address2 = $request->address2; $circle->city = $request->city; $circle->state = $request->state; $circle->pin_code = $request->pin_code; $circle->gst_number = $request->gst_number; if($circle->save()){ $response['flag'] = true; $response['message'] = "Circle Added Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function deleteCircle($id){ $response = array(); $circle = \App\Circle::where('id',$id)->first(); if(is_null($circle)){ $response['flag'] = false; $response['message'] = "Circle Not Found"; }else{ $circle->is_active = 0; if($circle->save()){ $response['flag'] = true; $response['message'] = "Circle Deleted"; }else{ $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function getEditCircle($id){ //dd($id); $data['circle'] = \App\Circle::where('id',$id)->first(); return view('dashboard.master.edit-circle',$data); } public function updateCircle(Request $request){ //dd($request); $response = array(); $validator = \Validator::make($request->all(), array( // 'name' =>'require,'.$request->id, ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else{ $circle = \App\Circle::where('id',$request->id)->first(); if(is_null($circle)){ $response['flag'] = false; $response['error'] = "Circle Not found"; }else{ $circle->code = $request->code; $circle->name = $request->name; $circle->address1 = $request->address1; $circle->address2 = $request->address2; $circle->city = $request->city; $circle->state = $request->state; $circle->pin_code = $request->pin_code; $circle->gst_number = $request->gst_number; $circle->is_active = $request->is_active; if($circle->save()){ $response['flag'] = true; $response['message'] = "Circle Updated Successfully"; }else{ $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function get_module_management(){ $data['sub_modules'] = \App\SubModule::where('is_active',1)->get(); $data['modules'] = \App\Module::where('is_active',1)->get(); return view('dashboard.master.module-management',$data); } public function module_order_management(Request $request) { $module_id = $request->input('module_id'); $new_priority = $request->input('module_priority'); // Get the existing priority of the module $old_priority = RoleModuleAssociation::where('module_id', $module_id) ->value('module_priority'); // Swap priorities in the database RoleModuleAssociation::where('module_id', $module_id) ->where('module_priority', $old_priority) ->update(['module_priority' => $new_priority]); // Swap priorities for other modules with the same priority RoleModuleAssociation::where('module_priority', $new_priority) ->where('module_id', '!=', $module_id) ->update(['module_priority' => $old_priority]); // Check if the update was successful $updated = RoleModuleAssociation::where('module_id', $module_id) ->where('module_priority', $new_priority) ->exists(); $response = []; if ($updated) { $response['flag'] = true; $response['message'] = "Module Priority Updated Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } // You can return the response as JSON or use it as needed in your application return response()->json($response); } public function add_module_management(Request $request) { $validatedData = $request->validate([ 'module_priority' => 'required|integer', 'sub_module_id' => 'required|integer', 'sub_module_priority' => 'required|integer', ]); // Save the original sub_module_priority value $originalSubModulePriority = RoleModuleAssociation::where('module_priority', $validatedData['module_priority']) ->where('sub_module_id', $validatedData['sub_module_id']) ->value('sub_module_priority'); // Update sub_module_priority for the requested sub_module_id $updated = RoleModuleAssociation::where('module_priority', $validatedData['module_priority']) ->where('sub_module_id', $validatedData['sub_module_id']) ->update(['sub_module_priority' => $validatedData['sub_module_priority']]); // Update sub_module_priority for other sub_module_id values equal to the requested sub_module_priority RoleModuleAssociation::where('module_priority', $validatedData['module_priority']) ->where('sub_module_priority', $validatedData['sub_module_priority']) ->where('sub_module_id', '<>', $validatedData['sub_module_id']) ->update(['sub_module_priority' => $originalSubModulePriority]); // Create or update the record with the validated data RoleModuleAssociation::updateOrCreate( [ 'module_priority' => $validatedData['module_priority'], 'sub_module_id' => $validatedData['sub_module_id'], ], ['sub_module_priority' => $validatedData['sub_module_priority']] ); // Prepare the response $response = []; if ($updated) { $response['flag'] = true; $response['message'] = "Sub-Module Priority Updated Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } // You can return the response as JSON or use it as needed in your application return response()->json($response); } }