%PDF- %PDF-
Direktori : /home/ugotscom/kma/app/Http/Controllers/ |
Current File : /home/ugotscom/kma/app/Http/Controllers/MaintenanceController2.php |
<?php namespace App\Http\Controllers; use App\MaintenanceActivity; use App\maintenance; use App\User; use App\MaintenanceFile; use Illuminate\Support\Str; use Illuminate\Http\Request; use Illuminate\Filesystem\Filesystem; use Image; use File; class MaintenanceController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { // $data=maintenance::leftJoin('maintenance_status', 'maintenance_status.id', '=', 'maintenances.status')->leftJoin('clients','clients.id','=','maintenances.client_id')->latest('maintenances.m_id')->paginate(5); return response()->json($data); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { // } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // $maintenance = new maintenance; $maintenance->client_id=$request->client_id; $maintenance->property_id=$request->m_property_id; $maintenance->property_name=$request->property_name; $maintenance->maintenance_type=$request->maintenance_type; $maintenance->location=$request->location; $maintenance->request=$request->m_request; $maintenance->save(); $maintenance_activity = new maintenanceActivity; $maintenance_activity->client_id=$request->client_id; $maintenance_activity->maintenance_id=$maintenance->id; $maintenance_activity->activity='Ticket Opened'; $maintenance_activity->activity_description=$request->m_request; $maintenance_activity->save(); } /** * Display the specified resource. * * @param \App\maintenance $maintenance * @return \Illuminate\Http\Response */ public function show(maintenance $maintenance) { // } /** * Show the form for editing the specified resource. * * @param \App\maintenance $maintenance * @return \Illuminate\Http\Response */ public function edit(maintenance $maintenance) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param \App\maintenance $maintenance * @return \Illuminate\Http\Response */ public function update(Request $request, maintenance $maintenance) { // } /** * Remove the specified resource from storage. * * @param \App\maintenance $maintenance * @return \Illuminate\Http\Response */ public function destroy(maintenance $maintenance) { // } public function maintenancebyid($id){ $maintenance=maintenance::leftJoin('maintenance_status', 'maintenance_status.id', '=', 'maintenances.status')->where('m_id',$id)->get(); return response()->json($maintenance); } public function updateStatus(Request $request){ $id=$request->id; $status=$request->status; maintenance::where('m_id',$id)->update([ 'status' =>$status ]); $assigned=$request->assigned; $date=$request->due_date; $user = User::find($assigned); $maintenance_activity = new maintenanceActivity; $maintenance_activity->client_id=$request->client_id; $maintenance_activity->maintenance_id=$request->id; if($status==2){ $maintenance_activity->activity='Site Visit Assigned -'.$user->name.' Date -'.$date; } elseif($status==3){ $maintenance_activity->activity='Site Visit Photos Added'; } elseif($status==4){ $maintenance_activity->activity='Quote Submitted'; } else{ $maintenance_activity->activity='hehe'; } $maintenance_activity->activity_description=''; $maintenance_activity->save(); } public function maintenancebyClientid($id){ $maintenance=maintenance::leftJoin('maintenance_status', 'maintenance_status.id', '=', 'maintenances.status')->where('client_id',$id)->get(); return response()->json($maintenance); } public function maintenanceactivitybyid($id){ $maintenance=maintenanceActivity::where('maintenance_id',$id)->get(); return response()->json($maintenance); } public function fileupload(Request $request){ $request->validate([ 'file' => 'required|mimes:jpg,jpeg,png,csv,txt,xlx,xls,pdf|max:2048' ]); $m_id=$request->m_id; $directory = 'images/site/'.$m_id.'/'; $fileUpload = new MaintenanceFile; if($request->file()) { $file_name = time().'_'.$request->file->getClientOriginalName(); $file_path = $request->file('file')->storeAs('uploads', $file_name, 'public'); $fileUpload->maintenance_id= $request->maintenance_id; $fileUpload->name = $request->file_name; $fileUpload->type = $request->type; $fileUpload->path = '/storage/' . $file_path; $fileUpload->save(); return response()->json(['success'=>'File uploaded successfully.']); } } public function inspectionimages(Request $request){ $images=$request->get('images'); $m_id=$request->m_id; error_log('message here.'); if($images) { foreach($images as $image){ $file = new Filesystem(); $string = Str::random(5); $name = $string.time().'.' . explode('/', explode(':', substr($image, 0, strpos($image, ';')))[1])[1]; $directory = 'images/site/'.$m_id.'/'; if ( $file->isDirectory(public_path($directory)) ) { \Image::make($image)->save(public_path($directory).$name); } else { Storage::makeDirectory($directory, 0755); // $file->makeDirectory(public_path($directory), 755, true, true); \Image::make($image)->save(public_path($directory).$name); } // \Image::make($image)->save(public_path($directory).$name); } } } public function searchquery(){ if($search =\Request :: get('q')){ $users=maintenance::leftJoin('maintenance_status', 'maintenance_status.id', '=', 'maintenances.status')->leftJoin('clients','clients.id','=','maintenances.client_id')->where(function($query) use ($search){ $query->where('name','LIKE',"%$search%") ->orwhere ('property_id','LIKE',"%$search%") ->orwhere ('request','LIKE',"%$search%") ;})->paginate(50); } else { $users=maintenance::leftJoin('maintenance_status', 'maintenance_status.id', '=', 'maintenances.status')->leftJoin('clients','clients.id','=','maintenances.client_id')->latest('maintenances.m_id')->paginate(5); } return $users; } public function getFiles($id) { $path = public_path('images/site/'.$id); $fileNames = []; $files = File::allfiles($path); foreach ($files as $key => $file) { // array_push($fileNames, $file->getFilename()); $fileNames[$key] = array( "Foo" => $file->getFilename(), "Fiz" => $file->getExtension ()); } return $fileNames; } public function totalcount(){ $users['total']=maintenance::all()->count(); $users['sitevisit']=maintenance::where('status',1)->count(); $users['quoteinprogreess']=maintenance::where('status',3)->count(); // $propertytype = [1, 2, 3,4]; // $commercial=[5,6,7,8,9]; // $users['residential']=maintenance::whereIn('property_type',$propertytype)->where('status',2)->count(); // $users['commercial']=maintenance::whereIn('property_type',$commercial)->where('status',2)->count(); // $users['rent']=maintenance::where('property_for',1)->where('status',2)->count(); // $users['sale']=maintenance::where('property_for',2)->where('status',2)->count(); // $users['apartment']=maintenance::where('property_type',1)->where('status',2)->count(); // $users['house']=maintenance::where('property_type',2)->where('status',2)->count(); // $users['gated']=maintenance::where('property_type',3)->where('status',2)->count(); // $users['rland']=maintenance::where('property_type',4)->where('status',2)->count(); // $users['offices']=maintenance::where('property_type',9)->where('status',2)->count(); // $users['itpark']=maintenance::where('property_type',5)->where('status',2)->count(); // $users['retail']=maintenance::where('property_type',6)->where('status',2)->count(); // $users['cland']=maintenance::where('property_type',7)->where('status',2)->count(); // $users['warehouse']=maintenance::where('property_type',8)->where('status',2)->count(); return $users; } }