芝麻web文件管理V1.00
编辑当前文件:/home/rejoandoctor/www/app/Http/Controllers/Prescribe/PrimaryController.php
middleware('auth'); } function index(Request $request) { if(isset($request->start) && isset($request->end)){ $start = $request->start; $end = $request->end; }else{ $start = Carbon::now()->firstOfMonth(); $end = Carbon::now(); } $TotalPatient = Prescription::select('visit_date', 'doctor_id') ->where('doctor_id', Auth::user()->customer_id) ->whereBetween('visit_date', array($start, $end)) ->count(); $NewPatient = Prescription::select('visit_date', 'doctor_id', 'patient_type') ->where('doctor_id', Auth::user()->customer_id) ->whereBetween('visit_date', array($start, $end)) ->where('patient_type','NEW') ->count(); $OldPatient = Prescription::select('visit_date', 'doctor_id', 'patient_type') ->where('doctor_id', Auth::user()->customer_id) ->whereBetween('visit_date', array($start, $end)) ->where('patient_type','OLD') ->count(); $TotalAmount = Prescription::select('visit_date', 'doctor_id', 'patient_type', 'visit_fee') ->where('doctor_id', Auth::user()->customer_id) ->whereBetween('visit_date', array($start, $end)) ->sum('visit_fee'); if(Auth::user()->role == 'mpo'){ $doctor = Customer::where('chamber_area', Auth::user()->customer->chamber_area) ->where('customer_type', 'doctor')->get(); //$doctor_permission = Permission::all(); // the mpo got permission or not check status //dd($doctor_permission); return view('Prescribe.dashboard', compact('doctor')); } return view('Prescribe.dashboard', compact('TotalPatient','NewPatient', 'OldPatient', 'TotalAmount')); } public static function request_status() { return Permission::where('mpo_id', Auth::user()->customer_id)->get(); } // Packages function dr_package() { $userinfo = Primary::select('id', 'name', 'customer_id', 'role', 'email', 'admin_status')->where('role', '=', 'doctor')->get(); $package = Package::where('package_role', '=', 'doctor')->get(); return view('Prescribe.dr_package', compact('userinfo','package')); } function dr_packages() { $userinfo = Primary::select('id', 'name', 'customer_id', 'role', 'email', 'admin_status')->where('role', '=', 'doctor')->get(); $package = Package::where('package_role', '=', 'doctor')->get(); return view('Prescribe.dr_packages', compact('userinfo','package')); } function mpo_package(Request $request) { $upazilas = Upazila::get(['id','name', 'url'])->sortBy('name', SORT_NATURAL); $customer = Customer::where('customer_type', 'mpo') ->orderBy('end_date', 'DESC') ->get(['id', 'customer_name', 'customer_mobile', 'customer_type', 'customer_email', 'end_date', 'chamber_area', 'customer_company']); return view('Prescribe.mpo_package', compact('customer','upazilas')); } function ajaxPackageTypeDetails(Request $request) { $package = Package::where('area', $request->id)->orderBy('created_at', 'DESC')->get(); return view('Prescribe.mpo_package_list', compact('package')); } // Doctor Registration function dr_registrstion() { $specialist = Drspecialist::get('specialist')->sortBy('name', SORT_NATURAL); $upazilas = Upazila::get(['id','name', 'url'])->sortBy('name', SORT_NATURAL); return view('Prescribe.add_doctor', compact('upazilas', 'specialist')); } // Doctor Registration function dr_registrstions() { $specialist = Drspecialist::get('specialist')->sortBy('name', SORT_NATURAL); $upazilas = Upazila::get(['id','name', 'url'])->sortBy('name', SORT_NATURAL); return view('Prescribe.add_doctors', compact('upazilas', 'specialist')); } function store_doctor(Request $request) { $request->validate([ 'customer_name' => ['required', 'string', 'max:100'], 'password' => ['required', 'confirmed', Rules\Password::defaults()], 'customer_email' => ['required', 'max:150', 'unique:customers'], 'customer_mobile' => ['required', 'max:11', 'min:10'], ]); $doctor = Customer::create([ 'customer_name' => $request->customer_name, 'customer_email' => $request->customer_email, 'customer_mobile' => $request->customer_mobile, 'chamber_area' => $request->chamber_area, 'monthly_charge' => $request->monthly_charge, 'end_date' => $request->end_date, 'customer_type' => $role = "doctor", ]); $user = Primary::create([ 'customer_id' => $data = $doctor->id, 'name' =>$request->customer_name, 'password' => Hash::make($request->password), 'email' => $request->customer_email, 'role' => $role, 'admin_status' => $request->admin_status + 1, ]); $header = Ph_header::insert([ 'doctor_id' => $data, 'name' => $request->customer_name, 'course' => $request->course, 'designation' => $request->doctor_designation, 'department' => $request->doctor_department, 'specialist' => $request->doctor_specialist, 'posting_place' => $request->posting_place, 'additional_degree' => $request->additional_degree, 'bmdc' => $request->bmdc, 'doctor_type' => $request->doctor_type, 'type' => "Chamber :", 'text1' => "Patient Name :", 'text2' => "Sex :", 'text3' => "Age :", 'text4' => "Date :", 'text5' => "Mobile :", 'text8' => "Patient ID :", 'footer_text' => "পরবরর্তী সাক্ষাতের সময় প্রয়োজনীয় কাগজপত্র সঙ্গে আনবেন ।", ]); $custom = Custom_header::create([ 'doctor_id' => $data, ]); $signature = Signature::create([ 'doctor_id' => $data, ]); $setting = Setting::insert([ [ 'title' => "Custom Prescription Pad", 'doctor_id' => $data, 'name' => 'p_pad', ], [ 'title' => "Address Show on Prescription", 'doctor_id' => $data, 'name' => 'address', ], [ 'title' => "Sex Show on Prescription", 'doctor_id' => $data, 'name' => 'sex', ], [ 'title' => "Mobile Show on Prescription", 'doctor_id' => $data, 'name' => 'mobile', ], [ 'title' => "DX Show on Prescription", 'doctor_id' => $data, 'name' => 'dx', ], [ 'title' => "Assistant Show Print Button", 'doctor_id' => $data, 'name' => 'prescription', ], [ 'title' => "Show Delete Button on Prescription", 'doctor_id' => $data, 'name' => 'prescription_delete', ], [ 'title' => "Assistant Can Edit Visit Fee", 'doctor_id' => $data, 'name' => 'visit_fee', ], [ 'title' => "Honorarium Button", 'doctor_id' => $data, 'name' => 'honorarium', ], [ 'title' => "Specialist Shown on Prescription", 'doctor_id' => $data, 'name' => 'specialist', ], [ 'title' => "Is Available Online", 'doctor_id' => $data, 'name' => 'online', ], ]); Session::flash('success', 'Doctor Registration Successfully'); return redirect()->route('dr_package'); } function store_doctors(Request $request) { $request->validate([ 'customer_name' => ['required', 'string', 'max:100'], 'password' => ['required', 'confirmed', Rules\Password::defaults()], 'customer_email' => ['required', 'max:150', 'unique:customers'], 'customer_mobile' => ['required', 'max:11', 'min:10'], ]); $doctor = Customer::create([ 'customer_name' => $request->customer_name, 'customer_email' => $request->customer_email, 'customer_mobile' => $request->customer_mobile, 'chamber_area' => $request->chamber_area, 'monthly_charge' => $request->monthly_charge, 'end_date' => $request->end_date, 'customer_type' => $role = "doctor", ]); $user = Primary::create([ 'customer_id' => $data = $doctor->id, 'name' =>$request->customer_name, 'password' => Hash::make($request->password), 'email' => $request->customer_email, 'role' => $role, 'admin_status' => $request->admin_status + 1, ]); $header = Ph_header::insert([ 'doctor_id' => $data, 'name' => $request->customer_name, 'course' => $request->course, 'designation' => $request->doctor_designation, 'department' => $request->doctor_department, 'specialist' => $request->doctor_specialist, 'posting_place' => $request->posting_place, 'additional_degree' => $request->additional_degree, 'bmdc' => $request->bmdc, 'doctor_type' => $request->doctor_type, 'type' => "Chamber :", 'text1' => "Patient Name :", 'text2' => "Sex :", 'text3' => "Age :", 'text4' => "Date :", 'text5' => "Mobile :", 'text8' => "Patient ID :", 'footer_text' => "পরবরর্তী সাক্ষাতের সময় প্রয়োজনীয় কাগজপত্র সঙ্গে আনবেন ।", ]); $custom = Custom_header::create([ 'doctor_id' => $data, ]); $signature = Signature::create([ 'doctor_id' => $data, ]); $setting = Setting::insert([ [ 'title' => "Custom Prescription Pad", 'doctor_id' => $data, 'name' => 'p_pad', ], [ 'title' => "Address Show on Prescription", 'doctor_id' => $data, 'name' => 'address', ], [ 'title' => "Sex Show on Prescription", 'doctor_id' => $data, 'name' => 'sex', ], [ 'title' => "Mobile Show on Prescription", 'doctor_id' => $data, 'name' => 'mobile', ], [ 'title' => "DX Show on Prescription", 'doctor_id' => $data, 'name' => 'dx', ], [ 'title' => "Assistant Show Print Button", 'doctor_id' => $data, 'name' => 'prescription', ], [ 'title' => "Show Delete Button on Prescription", 'doctor_id' => $data, 'name' => 'prescription_delete', ], [ 'title' => "Assistant Can Edit Visit Fee", 'doctor_id' => $data, 'name' => 'visit_fee', ], [ 'title' => "Honorarium Button", 'doctor_id' => $data, 'name' => 'honorarium', ], [ 'title' => "Specialist Shown on Prescription", 'doctor_id' => $data, 'name' => 'specialist', ], [ 'title' => "Is Available Online", 'doctor_id' => $data, 'name' => 'online', ], ]); Session::flash('success', 'Doctor Registration Successfully'); return redirect()->route('dr_packages'); } function edit_doctor(Request $request, $id) { $upazila = Upazila::get(['id','name', 'url'])->sortBy('name', SORT_NATURAL); $doctor = Primary::where('customer_id', $id)->first(); return view('Prescribe.edit_doctor', compact('doctor', 'upazila')); } function update_doctor(Request $request, $id) { $doctor = DB::table('customers') ->join('users', 'customers.id', '=', 'users.customer_id') ->select('customers.name','customers.email', 'customer_email', 'customer_name', 'customer_id', 'chamber_area')->where(['users.id' => $id]); $doctor->update([ 'name' => $name = $request->name, 'email' => $email = $request->email, 'customer_name' => $name, 'customer_email' => $email, 'chamber_area' => $request->chamber_area ]); Session::flash('success', 'Updated Successfully'); return redirect()->route('dr_package'); } function dr_enable(Request $request, $id) { $disable = Primary::find($id); $disable->update([ 'admin_status' => 1, ]); //dd($disable); Session::flash('success', 'Active'); return redirect()->route('dr_package'); } function dr_disable(Request $request, $id) { $disable = Primary::find($id); $disable->update([ 'admin_status' => 0, ]); //dd($disable); Session::flash('success', 'Deactive'); return redirect()->route('dr_package'); } // MPO Registration function mpo_registration() { $upazilas = Upazila::get(['id','name', 'url'])->sortBy('name', SORT_NATURAL); $company = Mpo_Company::select('company_id','company_name')->get()->sortBy('company_name', SORT_NATURAL); return view('Prescribe.add_mpo', compact('upazilas', 'company')); } function insert_mpo(Request $request) { $request->validate([ 'customer_name' => ['required', 'string', 'max:100'], 'password' => ['required', 'confirmed', Rules\Password::defaults()], 'customer_email' => ['required', 'max:150', 'unique:customers'], 'customer_mobile' => ['required', 'max:11', 'min:10'], 'chamber_area' => ['required'], 'customer_company' => ['required'], ]); $mpo = Customer::create([ 'customer_name' =>$request->customer_name, 'customer_email' => $email = $request->customer_email, 'customer_mobile' => $request->customer_mobile, 'customer_company' => $request->customer_company, 'chamber_area' => $request->chamber_area, 'monthly_charge' => $request->monthly_charge, 'end_date' => $request->end_date, 'customer_type' => $role = "mpo", ]); $mpo_user = Primary::create([ 'customer_id' => DB::getPdo()->lastInsertId(), 'name' => $request->customer_name, 'email' => $request->customer_email, 'password' => Hash::make($request->password), 'role' => $role, ]); Session::flash('success', 'Inserted Successfully'); return redirect()->route('mpo_package'); } function edit_mpo($id) { $company = Mpo_Company::get(['company_name']); $mpo = Customer::where('id', $id)->first(); return view('Prescribe.edit_mpo', compact('mpo', 'company')); } function update_mpo(Request $request, $id) { $mpo = DB::table('customers') ->join('users', 'customers.id', '=', 'users.customer_id') ->select('users.name', 'users.password', 'users.email', 'chamber_area', 'customer_email', 'customer_name', 'users.customer_id')->where(['users.customer_id' => $id]); $mpo->update([ 'name' => $name = $request->customer_name, 'email' => $email = $request->customer_email, 'customer_name' => $name, 'customer_email' => $email, 'customer_company' => $request->customer_company ]); Session::flash('success', 'MPO Updated Successfully'); return redirect()->route('mpo_package'); } function set_def_pass($id) { $password = '12345678'; $user = Primary::select('customer_id', 'password')->where('customer_id', $id); $user->update([ 'password' => Hash::make($password) ]); Session::flash('success', 'Set Default Password'); return redirect()->back(); } function delete_mpo($id) { $mpo_user = Primary::where('customer_id', $id); $mpo_user->delete(); $mpo_customer = Customer::where('id', $id); $mpo_customer->delete(); return redirect()->back(); } // Packages function add_packages() { $upazilas = Upazila::get(['id', 'name', 'url'])->sortBy('name', SORT_NATURAL); $package = Package::all(); return view('Prescribe.add_packages', compact('package', 'upazilas')); } function insert_package(Request $request) { $package = Package::create([ 'package_type' => $request->package_type, 'package_duration' => $request->package_duration, 'package_amount' => $request->package_amount, 'package_discount' => $request->package_discount, 'package_role' => $request->package_role, 'area' => $request->area, ]); Session::flash('success', 'Inserted Successfully'); return redirect()->route('package'); } function edit_package(Request $request, $id) { $upazilas = Upazila::get(['id','name','url'])->sortBy('name', SORT_NATURAL); $package = Package::where('id', $id)->first(); //dd($package); return view('Prescribe.edit_packages', compact('package', 'upazilas')); } function update_package(Request $request, $id) { $package = Package::where('id', $id); $package->update([ 'package_type' => $request->package_type, 'package_duration' => $request->package_duration, 'package_amount' => $request->package_amount, 'package_discount' => $request->package_discount, 'package_role' => $request->package_role, 'area' => $request->area, ]); Session::flash('success', 'Updated Successfully'); return redirect()->route('package'); } // Payments function payment_package() { if(Auth::user()->role == 'doctor') { $payment = Payments::where('payer_id', Auth::user()->customer_id)->where('approve_status', 0)->get(); if(!$payment->isEmpty()) { return redirect()->route('waiting_approval'); }else{ $package = Package::where('package_role', 'doctor')->get(); return view('Prescribe.payment_package', compact('package')); } }elseif(Auth::user()->role == 'mpo'){ $payment = Payments::where('payer_id', Auth::user()->customer_id)->where('approve_status', 0)->where('pending_status', 1)->get(); if(!$payment->isEmpty()) { return redirect()->route('waiting_approval'); }else{ $package = Package::where('package_role', 'mpo')->where('area', Auth::user()->customer->chamber_area)->orderBy('created_at', 'DESC')->get(); return view('Prescribe.payment_package', compact('package')); } }else{ echo 'No Data for Superadmin'; } } function manage_patients() { $patient = Prescription::orderByDesc('created_at', 'DESC')->get(); return view('Prescribe.manage_patient', compact('patient')); } function payment_content(Request $request) { $package = Package::where('id', $request->id)->first(); return view('Prescribe.payment_content', compact('package')); } function insert_payment(Request $request) { $payment = Payments::insert([ 'package_id' => $request->package_id, 'pay_method' => $request->pay_method, 'payer_id' => $request->payer_id, 'payer_role' => $request->payer_role, 'payer_name' => $request->payer_name, 'pay_amount' => $request->pay_amount, 'pay_account' => $request->pay_account, 'tran_id' => $request->tran_id, 'date' => $request->date, 'extend_date' => $request->extend_date, ]); Session::flash('success', 'Submited Successfully'); return redirect()->route('waiting_approval'); } // Payment Approval function waiting_approval() { return view('Prescribe.waiting_approval'); } function approval_request() { $request = Payments::where(['approve_status'=> 0])->get(); return view('Prescribe.payment_approval_request',compact('request')); } function date_extend(Request $request) { $data = Payments::where('id', $request->id)->first(); $duration = Package::where('id', $data->package_id)->first(); $date = Carbon::parse($data->date)->addDays($duration->package_duration)->format('Y-m-d'); $enddate = Customer::select('id', 'end_date')->where('id', $data->payer_id); $enddate->update([ 'end_date' => $date, ]); $status = Payments::where('id', $request->id); $status->update([ 'approve_status' => 1, 'pending_status' => 0, ]); Session::flash('success', 'Extended Successfully!!!'); return redirect()->route('approval_request'); } function delete_payment_request($id) { $payment_delete = Payments::find($id); $payment_delete->delete(); return redirect()->back(); } // Mpo Payment details function mpo_payment_details($id) { $paydetails = Payments::where('payer_id', $id)->get(['payer_id', 'payer_name','pay_amount', 'pay_account', 'tran_id', 'date', 'payer_role', 'approve_status']); // dd ($paydetails); return view('Prescribe.view_mpo_payment_details', compact('paydetails')); } // Set Module function set_module() { $module = Customer::select('id', 'customer_name')->where('customer_type', 'doctor')->get(); return view('Prescribe.set_module', compact('module')); } function modules_name($id) { $module = Setting::where('doctor_id', $id)->get(['id', 'title','doctor_id', 'name', 'status']); //dd($module); return view('Prescribe.module_box', compact('module')); } function insert_module(Request $request) { $data = Setting::where('doctor_id', 'doctor_id'); $data->insert([ 'doctor_id' => $request->doctor_id, 'title' => $request->title, 'name' => $request->name, ]); Session::flash('success', 'Added Successfully!!!'); return redirect()->route('set_modules'); } // Advertisement function advertise() { $advertise = Advertisement::all(); return view('Prescribe.add_advertise', compact('advertise')); } function insert_advertise(Request $request) { $advertise = Advertisement::create([ 'app_id' => $request->app_id, 'banner' => $request->banner, 'interstitial' => $request->interstitial, 'native' => $request->native, ]); Session::flash('success', 'Added Successfully!!!'); return redirect()->route('advertise'); } function add_enable(Request $request, $id) { $enable = Advertisement::find($id); $enable->update([ 'ad_status' => 1, ]); //dd($enable); Session::flash('success', 'Active'); return redirect()->route('advertise'); } function add_disable(Request $request, $id) { $disable = Advertisement::find($id); $disable->update([ 'ad_status' => 0, ]); //dd($disable); Session::flash('success', 'Deactive'); return redirect()->route('advertise'); } function delete_add($id) { $addvertise = Advertisement::find($id); $addvertise->delete(); return redirect()->back(); } // Dr Specialist function dr_specialist() { $specialist = Drspecialist::all(['id','specialist', 'specialist_bn']); return view('Prescribe.addSpecialist', compact('specialist')); } function store_specialist(Request $request) { $specialist = Drspecialist::create([ 'specialist' => $request->specialist, 'specialist_bn' => $request->specialist_bn, ]); Session::flash('success', 'Added Successfully!!!'); return redirect()->route('dr_specialist'); } function edit_specialist($id) { $specialist = Drspecialist::where('id', $id)->first(); return view('Prescribe.editSpecialist', compact('specialist')); } function update_specialist(Request $request, $id) { $specialist = Drspecialist::where('id', $id); $specialist->update([ 'specialist' => $request->specialist, 'specialist_bn' => $request->specialist_bn, ]); Session::flash('success', 'Updated Successfully!!!'); return redirect()->route('dr_specialist'); } function delete_specialist($id) { $delete = Drspecialist::where('id', $id); $delete->delete(); Session::flash('success', 'Deleted Successfully!!!'); return redirect()->route('dr_specialist'); } // Online User function online_user() { $online = Customer::where('customer_type', 'user')->orderBy('created_at', 'DESC')->get(['id','customer_name', 'customer_email', 'image','customer_mobile', 'end_date', 'created_at', 'union_id', 'upazilla_id']); return view('Prescribe.online_user', compact('online')); } function delete_online_user($id) { $delete = Customer::where('id', $id); $delete->delete(); Session::flash('success', 'Deleted Successfully!!!'); return redirect()->route('online_user'); } }