/
home
/
sjslayjy
/
public_html
/
ccbfsoution
/
app
/
Http
/
Controllers
/
Admin
/
Upload File
HOME
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use DB; use Illuminate\Support\Facades\Auth; class PreLandPreparationController extends Controller { // public function index(Request $request) // { // $user = Auth::user(); // $role = $user->role; // $userSiteId = $user->site_name; // // 🔹 1. Get site dropdown for admin // $sites = DB::table('master_sites')->pluck('site_name', 'id')->toArray(); // // 🔹 2. Get selected site ID // $selectedSiteId = $request->input('site_id'); // // If non-admin, force to user's site // if ($role != 1) { // $selectedSiteId = $userSiteId; // } // // 🔹 3. Get distinct blocks // $blocksQuery = DB::table('pre_land_preparation'); // if (!empty($selectedSiteId)) { // $blocksQuery->where('site_id', $selectedSiteId); // } // $blocks = $blocksQuery->select('block_name')->distinct()->pluck('block_name'); // // 🔹 4. Build main query // $query = DB::table('pre_land_preparation as pre') // ->leftJoin('users as u', 'pre.user_id', '=', 'u.id') // ->select('pre.*', 'u.name as user_name'); // if (!empty($selectedSiteId)) { // $query->where('pre.site_id', $selectedSiteId); // } // // 🔹 5. Search filter // if ($request->filled('search')) { // $search = $request->search; // $query->where(function ($q) use ($search) { // $q->where('pre.area', 'LIKE', "%$search%") // ->orWhere('u.name', 'LIKE', "%$search%"); // }); // } // // 🔹 6. Block filter // if ($request->filled('block_name')) { // $query->where('pre.block_name', $request->block_name); // } // // 🔹 7. Pagination // $data = $query->orderBy('pre.id', 'desc')->paginate(10)->appends($request->all()); // // 🔹 8. Load machine and tractor names // $allMachines = DB::table('master_machine')->pluck('machine_name', 'id')->toArray(); // $allTractors = DB::table('master_tractors')->pluck('tractor_name', 'id')->toArray(); // return view('pre_land.index', compact('data', 'blocks', 'allMachines', 'allTractors', 'sites', 'role', 'selectedSiteId')); // } public function index(Request $request) { $user = Auth::user(); $role = $user->role; $userSiteId = $user->site_name; // 🔹 1. Get site dropdown for admin $sites = DB::table('master_sites')->pluck('site_name', 'id')->toArray(); // 🔹 2. Get selected site ID $selectedSiteId = $request->input('site_id'); // If non-admin, force to user's site if ($role != 1) { $selectedSiteId = $userSiteId; } // 🔹 3. Get distinct blocks $blocksQuery = DB::table('pre_land_preparation'); if (!empty($selectedSiteId)) { $blocksQuery->where('site_id', $selectedSiteId); } $blocks = $blocksQuery->select('block_name')->distinct()->pluck('block_name'); // 🔹 4. Build main query $query = DB::table('pre_land_preparation as pre') ->leftJoin('users as u', 'pre.user_id', '=', 'u.id') ->select('pre.*', 'u.name as user_name'); if (!empty($selectedSiteId)) { $query->where('pre.site_id', $selectedSiteId); } // 🔹 NEW SESSION FILTER - ADD THIS if ($request->filled('session')) { $session = $request->session; switch ($session) { case 'kharif': $query->whereMonth('pre.date', '>=', 6) ->whereMonth('pre.date', '<=', 10); break; case 'rabi': $query->where(function($q) { $q->whereMonth('pre.date', '>=', 11) ->orWhereMonth('pre.date', '<=', 3); }); break; case 'zaid': $query->whereMonth('pre.date', '>=', 4) ->whereMonth('pre.date', '<=', 6); break; } } // 🔹 5. Search filter if ($request->filled('search')) { $search = $request->search; $query->where(function ($q) use ($search) { $q->where('pre.area', 'LIKE', "%$search%") ->orWhere('u.name', 'LIKE', "%$search%"); }); } // 🔹 6. Block filter if ($request->filled('block_name')) { $query->where('pre.block_name', $request->block_name); } // 🔹 7. Pagination $data = $query->orderBy('pre.id', 'desc')->paginate(10)->appends($request->all()); // 🔹 8. Load machine and tractor names $allMachines = DB::table('master_machine')->pluck('machine_name', 'id')->toArray(); $allTractors = DB::table('master_tractors')->pluck('tractor_name', 'id')->toArray(); return view('pre_land.index', compact('data', 'blocks', 'allMachines', 'allTractors', 'sites', 'role', 'selectedSiteId')); } }