'I', 2 => 'II', 3 => 'III', 4 => 'IV', 5 => 'V', 6 => 'VI', 7 => 'VII', 8 => 'VIII', 9 => 'IX', 10 => 'X', 11 => 'XI', 12 => 'XII'); return $ro[(int) $num]; } else { dd('jumlah bulan hanya ada 12'); } } public function index() { if (!Auth::user()->curr_siteproject) { return redirect()->back()->with('error', 'silahkan isi site project anda terlebih dahulu'); } $no_pr = PurchaseRequest::orderBy('no_pr', 'DESC') ->where('id_site_project', Auth::user()->curr_siteproject)->first(); if (!$no_pr) { $no_pr = 'BD-001/PR-' . Auth::user()->siteProject->code . '/' . $this->bulantoRomawi(date('m')) . '/' . date('Y'); } else { $no_pr = explode('/', $no_pr->no_pr)[0]; $no_pr = (int) substr($no_pr, -3) + 1; $no_pr = 'BD-' . sprintf('%03s', $no_pr) . '/PR-' . Auth::user()->siteProject->code . '/' . $this->bulantoRomawi(date('m')) . '/' . date('Y'); } $no_pr = strtoupper($no_pr); $mandors = Mandor::all(); $projects = Project::whereHas('rab', function ($q) { $q->where('status', 'approve'); })->get(); $purchase_requests = PurchaseRequest::all(); $project = Project::whereHas('purchase_request')->get(); $user = User::wherehas('purchaseRequest')->get(); return view('staff.purchase-request', compact('mandors', 'projects', 'no_pr', 'purchase_requests', 'project', 'user')); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { DB::statement(' SET FOREIGN_KEY_CHECKS=0'); if (!Auth::user()->curr_siteproject) { return redirect()->back()->with('error', 'silahkan isi site project anda terlebih dahulu'); } $no_pr = PurchaseRequest::orderBy('no_pr', 'DESC') ->where('id_site_project', Auth::user()->curr_siteproject)->first(); if (!$no_pr) { $no_pr = 'BD-001/PR-' . Auth::user()->siteProject->code . '/' . $this->bulantoRomawi(date('m')) . '/' . date('Y'); } else { $no_pr = explode('/', $no_pr->no_pr)[0]; $no_pr = (int) substr($no_pr, -3) + 1; $no_pr = 'BD-' . sprintf('%03s', $no_pr) . '/PR-' . Auth::user()->siteProject->code . '/' . $this->bulantoRomawi(date('m')) . '/' . date('Y'); } $no_pr = strtoupper($no_pr); $mandors = Mandor::all(); $projects = Project::whereHas('rab', function ($q) { $q->where('status', 'approve'); })->get(); return view('staff.purchase-request-create', compact('mandors', 'projects', 'no_pr')); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { DB::statement(' SET FOREIGN_KEY_CHECKS=0'); $no_pr = PurchaseRequest::orderBy('no_pr', 'DESC') ->where('id_site_project', Auth::user()->curr_siteproject)->first(); if (!$no_pr) { $no_pr = 'BD-001/PR-' . Auth::user()->siteProject->code . '/' . $this->bulantoRomawi(date('m')) . '/' . date('Y'); } else { $no_pr = explode('/', $no_pr->no_pr)[0]; $no_pr = (int) substr($no_pr, -3) + 1; $no_pr = 'BD-' . sprintf('%03s', $no_pr) . '/PR-' . Auth::user()->siteProject->code . '/' . $this->bulantoRomawi(date('m')) . '/' . date('Y'); } $no_pr = strtoupper($no_pr); $pr = PurchaseRequest::create([ 'no_pr' => $no_pr, 'id_mandor' => $request->mandor, 'id_project' => $request->project, 'id_site_project' => Auth::user()->curr_siteproject, 'tanggal' => date('Y-m-d'), 'tanggal_pengiriman' => $request->tanggal_pengiriman, 'status' => 'non-approve', 'id_user' => Auth::user()->id ]); if ($pr) { if ($request->id_crap) { foreach ($request->id_crap as $key => $value) { $prD = PurchaseRequestDetail::create([ 'id_purchase_request' => $pr->id, 'id_crap' => $request->id_crap[$key], 'qty' => str_replace(",", ".", $request->qty[$key]), ]); if ($prD->crap->material) { if (isset($request->all()['pekerjaan_' . $prD->crap->id])) { foreach ($request->all()['pekerjaan_' . $prD->crap->id] as $key2 => $value2) { PurchaseRequestDetailPekerjaan::create([ 'id_purchase_detail' => $prD->id, 'id_ahs' => $value2, ]); } } } } } if ($request->nama_item_manual) { foreach ($request->nama_item_manual as $key => $value) { PurchaseRequestDetailManual::create([ 'id_pr' => $pr->id, 'nama_item' => $value, 'satuan' => str_replace(",", ".",$request->satuan_item_manual[$key]), 'harga' => str_replace('.','',$request->harga_item_manual[$key]), 'jumlah' => str_replace(",", ".", $request->jumlah_qty_manual[$key]), ]); } } return redirect()->route('purchase_request.index')->with('msg', 'data berhasil ditambahkan'); } else { dd('error'); } } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show(Request $request,$id) { if (isset($_GET['act'])) { if ($_GET['act'] == 'projectData') { if (\Request::ajax()) { $project = Project::with('rab','supervisi')->findOrFail($id); // PR $craps = Crap::with('material')->where([['id_rab', $project->rab->id], ['id_material', '<>', null]])->get(); $vendors = Crap::with('vendor')->where([['id_rab', $project->rab->id], ['id_vendor', '<>', null]])->get(); // LO $clos = Clo::with('upah')->where('id_rab', $project->rab->id)->get(); // $rabD = RabDetail::with('ahs', 'ahs_vendor', 'ahs_vendor.vendor', 'materials', 'materials.material')->where('id_rab', $project->rab->id)->get(); return response()->json([ 'project' => $project, 'vendors' => $vendors, 'craps' => $craps, 'clos' => $clos, 'rabD' => $rabD, ]); } else { abort('404'); } } elseif ($_GET['act'] == 'showRabDetail') { $rabD = RabDetail::with('ahs', 'ahs_vendor', 'ahs_vendor.vendor')->where('id_rab', $id)->get(); return view('staff.purchase-request-ahsData', compact('rabD')); } elseif ($_GET['act'] == 'materialData') { $rabDM = RabDetailMaterial::with('rabDetail', 'material')->where('id_rab_detail', $id)->get(); return response()->json([ 'rabDM' => $rabDM, ]); } elseif ($_GET['act'] == 'prData') { $columns = array( 0 => 'id', 1 => 'id', 2 => 'status', 3 => 'tanggal', ); $level = Auth::user()->level; if (strtoupper($level) == 'SUPERADMIN' || strtoupper($level) == 'GENERAL MANAGER' || strtoupper($level) == 'FINANCE MANAGER' || strtoupper($level) == 'SUPPLY CHAIN MANAGER' || strtoupper($level) == 'MARKETING MANAGER' || strtoupper($level) == 'PROJECT MANAGER') { if($_GET['project'] != '' || $_GET['status'] != '' || $_GET['user'] != '' || $_GET['time'] != '' || $_GET['interval_1'] != '') { $totalData = PurchaseRequest::where(function($query) { $filter = []; if($_GET['project'] != '') { $filter[] = ['id_project', $_GET['project']]; } if($_GET['status'] != '') { $filter[] = ['status', $_GET['status']]; } if($_GET['user'] != '') { $filter[] = ['id_user', $_GET['user']]; } if($_GET['time'] != '') { if($_GET['time'] == 'this-month') { $bulan = date('m'); $tahun = date('Y'); $jml_hari = date('t', mktime(0, 0, 0, $bulan+1, 0, $tahun)); $filter[] = ['tanggal', '>=', date('Y-m-d', strtotime($tahun . '-' . $bulan . '-01'))]; $filter[] = ['tanggal', '<=', date('Y-m-d', strtotime($tahun . '-' . $bulan . '-'. $jml_hari))]; } elseif ($_GET['time'] == 'last-week') { $previous_week = strtotime("-1 week +1 day"); $start_week = strtotime("last sunday midnight",$previous_week); $end_week = strtotime("next saturday",$start_week); $start_week = date("Y-m-d",$start_week); $end_week = date("Y-m-d",$end_week); $filter[] = ['tanggal', '>=', $start_week]; $filter[] = ['tanggal', '<=', $end_week]; } elseif($_GET['time'] == 'last-month') { $first_day = date("Y-m-d", strtotime("first day of previous month")); $last_day = date("Y-m-d", strtotime("last day of previous month")); $filter[] = ['tanggal', '>=', $first_day]; $filter[] = ['tanggal', '<=', $last_day]; } elseif($_GET['time'] == 'interval') { $first_date = date('Y-m-d', strtotime($_GET['interval_1'])); $end_date = date('Y-m-d', strtotime($_GET['interval_2'])); $filter[] = ['tanggal', '>=', $first_date]; $filter[] = ['tanggal', '<=', $end_date]; } } return $query->where($filter); }) ->count(); } else { $totalData = PurchaseRequest::count(); } $totalFiltered = $totalData; $limit = $request->input('length'); $start = $request->input('start'); $order = $columns[$request->input('order.0.column')]; $dir = $request->input('order.0.dir'); if (empty($request->input('search.value'))) { if($_GET['project'] != '' || $_GET['status'] != '' || $_GET['user'] != '' || $_GET['time'] != '' || $_GET['interval_1'] != '') { $prS = PurchaseRequest::where(function($query) { $filter = []; if($_GET['project'] != '') { $filter[] = ['id_project', $_GET['project']]; } if($_GET['status'] != '') { $filter[] = ['status', $_GET['status']]; } if($_GET['user'] != '') { $filter[] = ['id_user', $_GET['user']]; } if($_GET['time'] != '') { if($_GET['time'] == 'this-month') { $bulan = date('m'); $tahun = date('Y'); $jml_hari = date('t', mktime(0, 0, 0, $bulan+1, 0, $tahun)); $filter[] = ['tanggal', '>=', date('Y-m-d', strtotime($tahun . '-' . $bulan . '-01'))]; $filter[] = ['tanggal', '<=', date('Y-m-d', strtotime($tahun . '-' . $bulan . '-' . $jml_hari))]; } elseif ($_GET['time'] == 'last-week') { $previous_week = strtotime("-1 week +1 day"); $start_week = strtotime("last sunday midnight",$previous_week); $end_week = strtotime("next saturday",$start_week); $start_week = date("Y-m-d",$start_week); $end_week = date("Y-m-d",$end_week); $filter[] = ['tanggal', '>=', $start_week]; $filter[] = ['tanggal', '<=', $end_week]; } elseif($_GET['time'] == 'last-month') { $first_day = date("Y-m-d", strtotime("first day of previous month")); $last_day = date("Y-m-d", strtotime("last day of previous month")); $filter[] = ['tanggal', '>=', $first_day]; $filter[] = ['tanggal', '<=', $last_day]; } elseif($_GET['time'] == 'interval') { $first_date = date('Y-m-d', strtotime($_GET['interval_1'])); $end_date = date('Y-m-d', strtotime($_GET['interval_2'])); $filter[] = ['tanggal', '>=', $first_date]; $filter[] = ['tanggal', '<=', $end_date]; } } return $query->where($filter); }) ->offset($start) ->limit($limit) ->orderBy($order, $dir) ->get(); } else { $prS = PurchaseRequest::offset($start) ->limit($limit) ->orderBy($order, $dir) ->get(); } }else{ $search = $request->input('search.value'); if($_GET['project'] != '' || $_GET['status'] != '' || $_GET['user'] != '' || $_GET['time'] != '' || $_GET['interval_1'] != '') { $prS = PurchaseRequest::whereHas('project',function($q) use ($search){ $q->where('projects.name','LIKE', "%{$search}%"); })->orWhereHas('mandor',function($q) use ($search){ $q->where('mandors.name','LIKE', "%{$search}%"); }) ->where(function($query) { $filter = []; if($_GET['project'] != '') { $filter[] = ['id_project', $_GET['project']]; } if($_GET['status'] != '') { $filter[] = ['status', $_GET['status']]; } if($_GET['user'] != '') { $filter[] = ['id_user', $_GET['user']]; } if($_GET['time'] != '') { if($_GET['time'] == 'this-month') { $bulan = date('m'); $tahun = date('Y'); $jml_hari = date('t', mktime(0, 0, 0, $bulan+1, 0, $tahun)); $filter[] = ['tanggal', '>=', date('Y-m-d', strtotime($tahun . '-' . $bulan . '-01'))]; $filter[] = ['tanggal', '<=', date('Y-m-d', strtotime($tahun . '-' . $bulan . '-' . $jml_hari))]; } elseif ($_GET['time'] == 'last-week') { $previous_week = strtotime("-1 week +1 day"); $start_week = strtotime("last sunday midnight",$previous_week); $end_week = strtotime("next saturday",$start_week); $start_week = date("Y-m-d",$start_week); $end_week = date("Y-m-d",$end_week); $filter[] = ['tanggal', '>=', $start_week]; $filter[] = ['tanggal', '<=', $end_week]; } elseif($_GET['time'] == 'last-month') { $first_day = date("Y-m-d", strtotime("first day of previous month")); $last_day = date("Y-m-d", strtotime("last day of previous month")); $filter[] = ['tanggal', '>=', $first_day]; $filter[] = ['tanggal', '<=', $last_day]; } elseif($_GET['time'] == 'interval') { $first_date = date('Y-m-d', strtotime($_GET['interval_1'])); $end_date = date('Y-m-d', strtotime($_GET['interval_2'])); $filter[] = ['tanggal', '>=', $first_date]; $filter[] = ['tanggal', '<=', $end_date]; } } return $query->where($filter); }) ->offset($start) ->limit($limit) ->orderBy($order, $dir) ->get(); $totalFiltered = PurchaseRequest::whereHas('project',function($q) use ($search){ $q->where('projects.name','LIKE', "%{$search}%"); })->orWhereHas('mandor',function($q) use ($search){ $q->where('mandors.name','LIKE', "%{$search}%"); }) ->where(function($query) { $filter = []; if($_GET['project'] != '') { $filter[] = ['id_project', $_GET['project']]; } if($_GET['status'] != '') { $filter[] = ['status', $_GET['status']]; } if($_GET['user'] != '') { $filter[] = ['id_user', $_GET['user']]; } if($_GET['time'] != '') { if($_GET['time'] == 'this-month') { $bulan = date('m'); $tahun = date('Y'); $jml_hari = date('t', mktime(0, 0, 0, $bulan+1, 0, $tahun)); $filter[] = ['tanggal', '>=', date('Y-m-d', strtotime($tahun . '-' . $bulan . '-01'))]; $filter[] = ['tanggal', '<=', date('Y-m-d', strtotime($tahun . '-' . $bulan . '-' . $jml_hari))]; } elseif ($_GET['time'] == 'last-week') { $previous_week = strtotime("-1 week +1 day"); $start_week = strtotime("last sunday midnight",$previous_week); $end_week = strtotime("next saturday",$start_week); $start_week = date("Y-m-d",$start_week); $end_week = date("Y-m-d",$end_week); $filter[] = ['tanggal', '>=', $start_week]; $filter[] = ['tanggal', '<=', $end_week]; } elseif($_GET['time'] == 'last-month') { $first_day = date("Y-m-d", strtotime("first day of previous month")); $last_day = date("Y-m-d", strtotime("last day of previous month")); $filter[] = ['tanggal', '>=', $first_day]; $filter[] = ['tanggal', '<=', $last_day]; } elseif($_GET['time'] == 'interval') { $first_date = date('Y-m-d', strtotime($_GET['interval_1'])); $end_date = date('Y-m-d', strtotime($_GET['interval_2'])); $filter[] = ['tanggal', '>=', $first_date]; $filter[] = ['tanggal', '<=', $end_date]; } } return $query->where($filter); }) ->count(); } else { $prS = PurchaseRequest::whereHas('project',function($q) use ($search){ $q->where('projects.name','LIKE', "%{$search}%"); })->orWhereHas('mandor',function($q) use ($search){ $q->where('mandors.name','LIKE', "%{$search}%"); }) ->offset($start) ->limit($limit) ->orderBy($order, $dir) ->get(); $totalFiltered = PurchaseRequest::whereHas('project',function($q) use ($search){ $q->where('projects.name','LIKE', "%{$search}%"); })->orWhereHas('mandor',function($q) use ($search){ $q->where('mandors.name','LIKE', "%{$search}%"); }) ->count(); } } } else { if($_GET['project'] != '' || $_GET['status'] != '' || $_GET['user'] != '' || $_GET['time'] != '' || $_GET['interval_1'] != '') { $totalData = PurchaseRequest::where(function($query) { $filter = []; if($_GET['project'] != '') { $filter[] = ['id_project', $_GET['project']]; } if($_GET['status'] != '') { $filter[] = ['status', $_GET['status']]; } if($_GET['user'] != '') { $filter[] = ['id_user', $_GET['user']]; } if($_GET['time'] != '') { if($_GET['time'] == 'this-month') { $bulan = date('m'); $tahun = date('Y'); $jml_hari = date('t', mktime(0, 0, 0, $bulan+1, 0, $tahun)); $filter[] = ['tanggal', '>=', date('Y-m-d', strtotime($tahun . '-' . $bulan . '-01'))]; $filter[] = ['tanggal', '<=', date('Y-m-d', strtotime($tahun . '-' . $bulan . '-'. $jml_hari))]; } elseif ($_GET['time'] == 'last-week') { $previous_week = strtotime("-1 week +1 day"); $start_week = strtotime("last sunday midnight",$previous_week); $end_week = strtotime("next saturday",$start_week); $start_week = date("Y-m-d",$start_week); $end_week = date("Y-m-d",$end_week); $filter[] = ['tanggal', '>=', $start_week]; $filter[] = ['tanggal', '<=', $end_week]; } elseif($_GET['time'] == 'last-month') { $first_day = date("Y-m-d", strtotime("first day of previous month")); $last_day = date("Y-m-d", strtotime("last day of previous month")); $filter[] = ['tanggal', '>=', $first_day]; $filter[] = ['tanggal', '<=', $last_day]; } elseif($_GET['time'] == 'interval') { $first_date = date('Y-m-d', strtotime($_GET['interval_1'])); $end_date = date('Y-m-d', strtotime($_GET['interval_2'])); $filter[] = ['tanggal', '>=', $first_date]; $filter[] = ['tanggal', '<=', $end_date]; } } $filter[] = ['id_user', Auth::user()->id]; return $query->where($filter); }) ->count(); } else { $totalData = PurchaseRequest::where('id_user', Auth::user()->id)->count(); } $totalFiltered = $totalData; $limit = $request->input('length'); $start = $request->input('start'); $order = $columns[$request->input('order.0.column')]; $dir = $request->input('order.0.dir'); if (empty($request->input('search.value'))) { if($_GET['project'] != '' || $_GET['status'] != '' || $_GET['user'] != '' || $_GET['time'] != '' || $_GET['interval_1'] != '') { $prS = PurchaseRequest::where(function($query) { $filter = []; if($_GET['project'] != '') { $filter[] = ['id_project', $_GET['project']]; } if($_GET['status'] != '') { $filter[] = ['status', $_GET['status']]; } if($_GET['user'] != '') { $filter[] = ['id_user', $_GET['user']]; } if($_GET['time'] != '') { if($_GET['time'] == 'this-month') { $bulan = date('m'); $tahun = date('Y'); $jml_hari = date('t', mktime(0, 0, 0, $bulan+1, 0, $tahun)); $filter[] = ['tanggal', '>=', date('Y-m-d', strtotime($tahun . '-' . $bulan . '-01'))]; $filter[] = ['tanggal', '<=', date('Y-m-d', strtotime($tahun . '-' . $bulan . '-' . $jml_hari))]; } elseif ($_GET['time'] == 'last-week') { $previous_week = strtotime("-1 week +1 day"); $start_week = strtotime("last sunday midnight",$previous_week); $end_week = strtotime("next saturday",$start_week); $start_week = date("Y-m-d",$start_week); $end_week = date("Y-m-d",$end_week); $filter[] = ['tanggal', '>=', $start_week]; $filter[] = ['tanggal', '<=', $end_week]; } elseif($_GET['time'] == 'last-month') { $first_day = date("Y-m-d", strtotime("first day of previous month")); $last_day = date("Y-m-d", strtotime("last day of previous month")); $filter[] = ['tanggal', '>=', $first_day]; $filter[] = ['tanggal', '<=', $last_day]; } elseif($_GET['time'] == 'interval') { $first_date = date('Y-m-d', strtotime($_GET['interval_1'])); $end_date = date('Y-m-d', strtotime($_GET['interval_2'])); $filter[] = ['tanggal', '>=', $first_date]; $filter[] = ['tanggal', '<=', $end_date]; } } $filter[] = ['id_user', Auth::user()->id]; return $query->where($filter); }) ->offset($start) ->limit($limit) ->orderBy($order, $dir) ->get(); } else { $prS = PurchaseRequest::where('id_user', Auth::user()->id) ->offset($start) ->limit($limit) ->orderBy($order, $dir) ->get(); } }else{ $search = $request->input('search.value'); if($_GET['project'] != '' || $_GET['status'] != '' || $_GET['user'] != '' || $_GET['time'] != '' || $_GET['interval_1'] != '') { $prS = PurchaseRequest::whereHas('project',function($q) use ($search){ $q->where('projects.name','LIKE', "%{$search}%"); })->orWhereHas('mandor',function($q) use ($search){ $q->where('mandors.name','LIKE', "%{$search}%"); }) ->where(function($query) { $filter = []; if($_GET['project'] != '') { $filter[] = ['id_project', $_GET['project']]; } if($_GET['status'] != '') { $filter[] = ['status', $_GET['status']]; } if($_GET['user'] != '') { $filter[] = ['id_user', $_GET['user']]; } if($_GET['time'] != '') { if($_GET['time'] == 'this-month') { $bulan = date('m'); $tahun = date('Y'); $jml_hari = date('t', mktime(0, 0, 0, $bulan+1, 0, $tahun)); $filter[] = ['tanggal', '>=', date('Y-m-d', strtotime($tahun . '-' . $bulan . '-01'))]; $filter[] = ['tanggal', '<=', date('Y-m-d', strtotime($tahun . '-' . $bulan . '-' . $jml_hari))]; } elseif ($_GET['time'] == 'last-week') { $previous_week = strtotime("-1 week +1 day"); $start_week = strtotime("last sunday midnight",$previous_week); $end_week = strtotime("next saturday",$start_week); $start_week = date("Y-m-d",$start_week); $end_week = date("Y-m-d",$end_week); $filter[] = ['tanggal', '>=', $start_week]; $filter[] = ['tanggal', '<=', $end_week]; } elseif($_GET['time'] == 'last-month') { $first_day = date("Y-m-d", strtotime("first day of previous month")); $last_day = date("Y-m-d", strtotime("last day of previous month")); $filter[] = ['tanggal', '>=', $first_day]; $filter[] = ['tanggal', '<=', $last_day]; } elseif($_GET['time'] == 'interval') { $first_date = date('Y-m-d', strtotime($_GET['interval_1'])); $end_date = date('Y-m-d', strtotime($_GET['interval_2'])); $filter[] = ['tanggal', '>=', $first_date]; $filter[] = ['tanggal', '<=', $end_date]; } } $filter[] = ['id_user', Auth::user()->id]; return $query->where($filter); }) ->offset($start) ->limit($limit) ->orderBy($order, $dir) ->get(); $totalFiltered = PurchaseRequest::whereHas('project',function($q) use ($search){ $q->where('projects.name','LIKE', "%{$search}%"); })->orWhereHas('mandor',function($q) use ($search){ $q->where('mandors.name','LIKE', "%{$search}%"); }) ->where(function($query) { $filter = []; if($_GET['project'] != '') { $filter[] = ['id_project', $_GET['project']]; } if($_GET['status'] != '') { $filter[] = ['status', $_GET['status']]; } if($_GET['user'] != '') { $filter[] = ['id_user', $_GET['user']]; } if($_GET['time'] != '') { if($_GET['time'] == 'this-month') { $bulan = date('m'); $tahun = date('Y'); $jml_hari = date('t', mktime(0, 0, 0, $bulan+1, 0, $tahun)); $filter[] = ['tanggal', '>=', date('Y-m-d', strtotime($tahun . '-' . $bulan . '-01'))]; $filter[] = ['tanggal', '<=', date('Y-m-d', strtotime($tahun . '-' . $bulan . '-' . $jml_hari))]; } elseif ($_GET['time'] == 'last-week') { $previous_week = strtotime("-1 week +1 day"); $start_week = strtotime("last sunday midnight",$previous_week); $end_week = strtotime("next saturday",$start_week); $start_week = date("Y-m-d",$start_week); $end_week = date("Y-m-d",$end_week); $filter[] = ['tanggal', '>=', $start_week]; $filter[] = ['tanggal', '<=', $end_week]; } elseif($_GET['time'] == 'last-month') { $first_day = date("Y-m-d", strtotime("first day of previous month")); $last_day = date("Y-m-d", strtotime("last day of previous month")); $filter[] = ['tanggal', '>=', $first_day]; $filter[] = ['tanggal', '<=', $last_day]; } elseif($_GET['time'] == 'interval') { $first_date = date('Y-m-d', strtotime($_GET['interval_1'])); $end_date = date('Y-m-d', strtotime($_GET['interval_2'])); $filter[] = ['tanggal', '>=', $first_date]; $filter[] = ['tanggal', '<=', $end_date]; } } $filter[] = ['id_user', Auth::user()->id]; return $query->where($filter); }) ->count(); } else { $prS = PurchaseRequest::whereHas('project',function($q) use ($search){ $q->where('projects.name','LIKE', "%{$search}%"); })->orWhereHas('mandor',function($q) use ($search){ $q->where('mandors.name','LIKE', "%{$search}%"); }) ->where('id_user', Auth::user()->id) ->offset($start) ->limit($limit) ->orderBy($order, $dir) ->get(); $totalFiltered = PurchaseRequest::whereHas('project',function($q) use ($search){ $q->where('projects.name','LIKE', "%{$search}%"); })->orWhereHas('mandor',function($q) use ($search){ $q->where('mandors.name','LIKE', "%{$search}%"); }) ->where('id_user', Auth::user()->id) ->count(); } } } $data = array(); if (!empty($prS)) { foreach ($prS as $row) { $nestedData['project'] = $row->project->name; $nestedData['no_pr'] = $row->no_pr; $nestedData['status'] = $row->status; $nestedData['tanggal'] = $row->tanggal; $nestedData['tanggal_pengiriman'] = $row->tanggal_pengiriman; $nestedData['mandor'] = $row->mandor->name; if($row->id_user == NULL) { $nestedData['created_by'] = ''; } else { $nestedData['created_by'] = $row->user->fullname; } $nestedData['opsi'] = "