Path : /var/www/html/jewelry-pos/app/Http/Controllers/ |
B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H |
Current File : /var/www/html/jewelry-pos/app/Http/Controllers/SaleReportController.php |
<?php namespace App\Http\Controllers; use App\Exports\SaleReport2Export; use App\Exports\SaleReportExport; use App\Models\Product; use App\Models\ProductCategory; use App\Models\Sale; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Maatwebsite\Excel\Facades\Excel; class SaleReportController extends Controller { public function __construct() { $this->middleware('permission:reports-sale-list' , ['only' => ['index' , 'print' , 'export' , 'show']]); } public function index(Request $request) { $paginate = $request->paginate??25; $check_fixed_price = $request->get('check_fixed_price'); $productCategories = ProductCategory::get(); $gold_category = clone $productCategories; $gold=$gold_category->whereIn('name',['មាស','Gold','ทอง'])->first(); $child_gold = ProductCategory::where('parent_id' , $gold->id)->get(); $platinume_clone = clone $productCategories; $platinume_Category = $platinume_clone->whereIn('name' , ['ផ្លាកទីន','Platinum','แพลตตินัม'])->first(); $child_p = ProductCategory::where('parent_id' , $platinume_Category->id)->get(); $start_date = $request->get('start_date') ?? date('Y-m-d'); $end_date = $request->get('end_date') ?? date('Y-m-d'); $dates = explode(' - ', $request->date); if ($request->date) { $start_date = $dates[0]; $end_date = $dates[1]; } $search = $request->get('search'); if(!$start_date || !$search){ if($start_date){ $sales = Sale::whereBetween('created_at', [$start_date . " 00:00:00", $end_date . " 23:59:59"]); } if($search){ $sales = Sale::where('part_number' , 'like' , '%' . $search . '%'); } }else{ $sales = Sale::whereBetween('created_at', [$start_date . " 00:00:00", $end_date . " 23:59:59"])->where('part_number' , 'like' , '%' . $search . '%'); } // else{ // $sales= Sale::query(); // } $product_category_id = $request->get('product_category_id'); if($product_category_id != 0){ $productCategory = ProductCategory::findOrFail($product_category_id); $sales = $sales->whereIn('product_category_id' , $productCategory->IdvsAllSubCategories()); }else{ $productCategory = []; } if($check_fixed_price == 1){ $sales = $sales->where('fixed_price' , true); }elseif($check_fixed_price == 2){ $sales = $sales->where('fixed_price' , false); } $productCategories1 = clone $productCategories; $main_categories = $productCategories1->where('parent_id' , null); $productCategories2 = clone $productCategories; $child_categories = $productCategories2->where('parent_id' , '<>' , ''); $sales1 = Clone $sales; $total_sale_price = $sales1->sum('sales_price'); $sales2 = Clone $sales; $salescost = Clone $sales; $total_sale_cost = $sales2->sum('selling_cost'); $total_cost_of_sale = $salescost->sum('cost'); $sales3 = Clone $sales; $total_sale_wage = $sales3->sum('wages'); $total_sale_wages_in_weight = $sales3->sum('wages_in_weight'); $sales4 = Clone $sales; $total_sale_original_wage = $sales4->sum('original_wages'); $total_sale_original_wages_in_weight = $sales4->sum(DB::raw('original_wages_in_weight * (supplier_rate/1000)')); $sales5 = Clone $sales; $total_sale_discount = $sales5->sum('discount'); $sales = $sales->orderBy('id' , 'desc')->paginate($paginate); // if($product_category_id && $productCategory->fixed_price == false){ // $total_sale_profit= $total_sale_price-($total_sale_cost); // }else{ // $total_sale_profit= $total_sale_price-($total_sale_cost); // } $total_sale_profit= $total_sale_price-$total_sale_cost; return view('sale-reports.index' , compact('start_date' , 'sales' , 'main_categories' , 'child_categories' , 'product_category_id' , 'gold' , 'child_gold' , 'productCategories' , 'end_date' , 'search' , 'paginate','total_sale_price','total_sale_cost','total_sale_wage','total_sale_original_wage', 'platinume_Category','child_p', 'total_sale_discount','total_sale_profit' , 'total_sale_wages_in_weight', 'total_cost_of_sale' , 'total_sale_original_wages_in_weight' , 'productCategory' , 'check_fixed_price')); } public function print(Request $request) { $paginate = $request->paginate??25; $check_fixed_price = $request->get('check_fixed_price'); $productCategories = ProductCategory::get(); $gold_category = clone $productCategories; $gold=$gold_category->whereIn('name',['មាស','Gold','ทอง'])->first(); $child_gold = ProductCategory::where('parent_id' , $gold->id)->get(); $platinume_clone = clone $productCategories; $platinume_Category = $platinume_clone->whereIn('name' , ['ផ្លាកទីន','Platinum','แพลตตินัม'])->first(); $child_p = ProductCategory::where('parent_id' , $platinume_Category->id)->get(); $start_date = $request->get('start_date') ?? date('Y-m-d'); $end_date = $request->get('end_date') ?? date('Y-m-d'); $dates = explode(' - ', $request->date); if ($request->date) { $start_date = $dates[0]; $end_date = $dates[1]; } if($start_date){ $sales = Sale::whereBetween('created_at', [$start_date . " 00:00:00", $end_date . " 23:59:59"]); } $search = $request->get('search'); if($search){ $sales = Sale::where('part_number' , 'like' , '%' . $search . '%'); } // else{ // $sales= Sale::query(); // } $product_category_id = $request->get('product_category_id'); if($product_category_id != 0){ $productCategory = ProductCategory::findOrFail($product_category_id); $sales = $sales->whereIn('product_category_id' , $productCategory->IdvsAllSubCategories()); }else{ $productCategory = []; } if($check_fixed_price == 1){ $sales = $sales->where('fixed_price' , true); }elseif($check_fixed_price == 2){ $sales = $sales->where('fixed_price' , false); } $productCategories1 = clone $productCategories; $main_categories = $productCategories1->where('parent_id' , null); $productCategories2 = clone $productCategories; $child_categories = $productCategories2->where('parent_id' , '<>' , ''); $sales1 = Clone $sales; $total_sale_price = $sales1->sum('sales_price'); $sales2 = Clone $sales; $total_sale_cost = $sales2->sum('selling_cost'); $sales3 = Clone $sales; $total_sale_wage = $sales3->sum('wages'); $total_sale_wages_in_weight = $sales3->sum('wages_in_weight'); $sales4 = Clone $sales; $total_sale_original_wage = $sales4->sum('original_wages'); $total_sale_original_wages_in_weight = $sales4->sum('original_wages_in_weight'); $sales5 = Clone $sales; $total_sale_discount = $sales5->sum('discount'); $sales = $sales->orderBy('id' , 'desc')->paginate($paginate); // if($product_category_id && $productCategory->fixed_price == false){ // $total_sale_profit= $total_sale_price-$total_sale_cost; // }else{ // $total_sale_profit= $total_sale_price-$total_sale_cost-$total_sale_original_wages_in_weight; // } $total_sale_profit= $total_sale_price-$total_sale_cost; return view('sale-reports.print' , compact('start_date' , 'sales' , 'main_categories' , 'child_categories' , 'product_category_id' , 'gold' , 'child_gold' , 'productCategories' , 'end_date' , 'search' , 'paginate','total_sale_price','total_sale_cost','total_sale_wage','total_sale_original_wage', 'platinume_Category','child_p', 'total_sale_discount','total_sale_profit' , 'total_sale_wages_in_weight' , 'total_sale_original_wages_in_weight' , 'productCategory' , 'check_fixed_price')); } public function export(Request $request) { return Excel::download(new SaleReportExport($request->get('search'),$request->get('start_date'),$request->get('end_date'),$request->get('product_category_id')),'SaleReport.xlsx'); } public function show(Request $request , $id) { $search = $request->get('search'); $start_date = $request->get('start_date') ?? date('Y-m-d'); $end_date = $request->get('end_date') ?? date('Y-m-d'); $dates = explode(' - ', $request->date); if ($request->date) { $start_date = $dates[0]; $end_date = $dates[1]; } $sale = Sale::find($id); if(!$sale->purity_upgrade_to){ $productCategory = ProductCategory::query(); $productCategory->name = $sale->productCategory->name; }else{ $productCategory = ProductCategory::where('purity_level' , $sale->purity_upgrade_to)->first(); } if($sale->selling_purity){ $productCategory->name = $sale->productCategoryNameSelling(); } if(!$sale->user || !$sale){ abort(404); } return view('sale-reports.show' , compact('sale' , 'search' , 'start_date' , 'end_date' , 'productCategory')); } public function print_total_category(Request $request) { $ids = explode(',',$request->get('past_sale_ids')); $ids = $ids[0]; $paginate = $request->get('paginate')??25; $product_category_id = $request->get('product_category_id'); $check_fixed_price = $request->get('check_fixed_price'); $productCategories = ProductCategory::get(); $gold_category = clone $productCategories; $gold=$gold_category->whereIn('name',['មាស','Gold','ทอง'])->first(); $child_gold = ProductCategory::where('parent_id' , $gold->id)->get(); $platinume_clone = clone $productCategories; $platinume_Category = $platinume_clone->whereIn('name' , ['ផ្លាកទីន','Platinum','แพลตตินัม'])->first(); $child_p = ProductCategory::where('parent_id' , $platinume_Category->id)->get(); $start_date = $request->get('start_date') ?? date('Y-m-d'); $end_date = $request->get('end_date') ?? date('Y-m-d'); $dates = explode(' - ', $request->date); if ($request->date) { $start_date = $dates[0]; $end_date = $dates[1]; } $search = $request->get('search'); if(!$start_date || !$search){ if($search){ $sales = Sale::where('part_number' , 'like' , '%' . $search . '%'); } if($start_date){ $sales = Sale::whereBetween('created_at', [$start_date . " 00:00:00", $end_date . " 23:59:59"]); } }else{ $sales = Sale::whereBetween('created_at', [$start_date . " 00:00:00", $end_date . " 23:59:59"])->where('part_number' , 'like' , '%' . $search . '%'); } // else{ // $sales= Sale::query(); // } // if($product_category_id){ // $sales = $sales->where('product_category_id' , $product_category_id); // dd($sales->get() , $product_category_id); // } $product_category_id = $request->get('product_category_id'); if($product_category_id != 0){ $productCategory = ProductCategory::findOrFail($product_category_id); $sales = $sales->whereIn('product_category_id' , $productCategory->IdvsAllSubCategories()); }else{ $productCategory = []; } if($ids){ $sales = $sales->where('id' , $ids); } if($check_fixed_price == 1){ $sales = $sales->where('fixed_price' , true); }elseif($check_fixed_price == 2){ $sales = $sales->where('fixed_price' , false); } $sales1 = Clone $sales; $total_sale_price = $sales1->sum('sales_price'); $sales2 = Clone $sales; $total_sale_cost = $sales2->sum('selling_cost'); $sales3 = Clone $sales; $total_sale_wage = $sales3->sum('wages'); $total_sale_wages_in_weight = $sales3->sum('wages_in_weight'); $sales4 = Clone $sales; $total_sale_original_wage = $sales4->sum('original_wages'); $total_sale_original_wages_in_weight = $sales4->sum(DB::raw('original_wages_in_weight * (supplier_rate/1000)')); $sales5 = Clone $sales; $total_sale_discount = $sales5->sum('discount'); $sales6 = Clone $sales; $total_sale_qty = $sales6->sum('qty'); $sales = $sales->orderBy('id' , 'desc')->get(); // if($product_category_id && $productCategory->fixed_price == false){ // $total_sale_profit= $total_sale_price-($total_sale_cost+$total_sale_original_wage); // }else{ // $total_sale_profit= $total_sale_price-$total_sale_cost; // } $total_sale_profit= $total_sale_price-$total_sale_cost; return view('sale-reports.print-total-category' , compact('start_date' , 'end_date' , 'search' , 'paginate','total_sale_price', 'productCategories' , 'check_fixed_price' ,'total_sale_cost','total_sale_wage','total_sale_original_wage','total_sale_discount','total_sale_profit' , 'total_sale_qty' , 'product_category_id' , 'platinume_Category' , 'child_gold' , 'gold' , 'total_sale_original_wages_in_weight' , 'total_sale_wages_in_weight' , 'productCategory' , 'ids')); } // Sale Report 2 public function index2(Request $request) { $paginate = $request->paginate??25; $check_fixed_price = $request->get('check_fixed_price'); $productCategories = ProductCategory::get(); $gold_category = clone $productCategories; $gold=$gold_category->whereIn('name',['មាស','Gold','ทอง'])->first(); $child_gold = ProductCategory::where('parent_id' , $gold->id)->get(); $platinume_clone = clone $productCategories; $platinume_Category = $platinume_clone->whereIn('name' , ['ផ្លាកទីន','Platinum','แพลตตินัม'])->first(); $child_p = ProductCategory::where('parent_id' , $platinume_Category->id)->get(); $start_date = $request->get('start_date') ?? date('Y-m-d'); $end_date = $request->get('end_date') ?? date('Y-m-d'); $dates = explode(' - ', $request->date); if ($request->date) { $start_date = $dates[0]; $end_date = $dates[1]; } if($start_date){ $sales = Sale::whereBetween('created_at', [$start_date . " 00:00:00", $end_date . " 23:59:59"]); } $search = $request->get('search'); if($search){ $sales = Sale::where('part_number' , 'like' , '%' . $search . '%'); } // else{ // $sales= Sale::query(); // } $product_category_id = $request->get('product_category_id'); if($product_category_id != 0){ $productCategory = ProductCategory::findOrFail($product_category_id); $sales = $sales->whereIn('product_category_id' , $productCategory->IdvsAllSubCategories()); }else{ $productCategory = []; } if($check_fixed_price == 1){ $sales = $sales->where('fixed_price' , true); }elseif($check_fixed_price == 2){ $sales = $sales->where('fixed_price' , false); } $productCategories1 = clone $productCategories; $main_categories = $productCategories1->where('parent_id' , null); $productCategories2 = clone $productCategories; $child_categories = $productCategories2->where('parent_id' , '<>' , ''); $sales1 = Clone $sales; $total_sale_price = $sales1->sum('sales_price'); $sales2 = Clone $sales; $salescost = Clone $sales; $total_sale_cost = $sales2->sum('selling_cost'); $total_cost_of_sale = $salescost->sum('cost'); $sales3 = Clone $sales; $total_sale_wage = $sales3->sum('wages'); $total_sale_wages_in_weight = $sales3->sum('wages_in_weight'); $sales4 = Clone $sales; $total_sale_original_wage = $sales4->sum('original_wages'); $total_sale_original_wages_in_weight = $sales4->sum(DB::raw('original_wages_in_weight * (supplier_rate/1000)')); $sales5 = Clone $sales; $total_sale_discount = $sales5->sum('discount'); $sales = $sales->orderBy('id' , 'desc')->paginate($paginate); // if($product_category_id && $productCategory->fixed_price == false){ // $total_sale_profit= $total_sale_price-($total_sale_cost+$total_sale_original_wage); // }else{ // $total_sale_profit= $total_sale_price-$total_sale_cost; // } $total_sale_profit= $total_sale_price-$total_sale_cost; return view('sale-reports2.index2' , compact('start_date' , 'sales' , 'main_categories' , 'child_categories' , 'product_category_id' , 'gold' , 'child_gold' , 'productCategories' , 'end_date' , 'search' , 'paginate','total_sale_price','total_sale_cost','total_sale_wage','total_sale_original_wage', 'platinume_Category','child_p', 'total_sale_discount','total_sale_profit' , 'total_sale_wages_in_weight','total_cost_of_sale' , 'total_sale_original_wages_in_weight' , 'productCategory' , 'check_fixed_price')); } public function print2(Request $request) { $paginate = $request->get('paginate')??25; $start_date = $request->get('start_date') ?? date('Y-m-d'); $end_date = $request->get('end_date') ?? date('Y-m-d'); $dates = explode(' - ', $request->date); if ($request->date) { $start_date = $dates[0]; $end_date = $dates[1]; } $search = $request->get('search'); if($search){ $sales = Sale::where('part_number' , 'like' , '%' . $search . '%'); }else{ $sales= Sale::query(); } if($start_date){ $sales =$sales->whereBetween('created_at', [$start_date . " 00:00:00", $end_date . " 23:59:59"]); } $product_category_id = $request->get('product_category_id'); if($product_category_id != 0){ $productCategory = ProductCategory::findOrFail($product_category_id); $sales = $sales->whereIn('product_category_id' , $productCategory->IdvsAllSubCategories()); } $sales1 = Clone $sales; $total_sale_price = $sales1->sum('sales_price'); $sales2 = Clone $sales; $total_sale_cost = $sales2->sum('selling_cost'); $sales3 = Clone $sales; $total_sale_wage = $sales3->sum('wages'); $sales4 = Clone $sales; $total_sale_original_wage = $sales4->sum('original_wages'); $sales5 = Clone $sales; $total_sale_discount = $sales5->sum('discount'); // $sales = $sales->orderBy('id' , 'desc')->paginate($paginate); $sales = $sales->orderBy('id' , 'desc')->get(); $total_sale_profit= $total_sale_price-$total_sale_cost; return view('sale-reports2.print2' , compact('sales' , 'start_date' , 'end_date' , 'search' , 'paginate','total_sale_price','total_sale_cost','total_sale_wage','total_sale_original_wage','total_sale_discount','total_sale_profit')); } public function export2(Request $request) { return Excel::download(new SaleReport2Export($request->get('search'),$request->get('start_date'),$request->get('end_date'),$request->get('product_category_id')),'SaleReport.xlsx'); } public function show2(Request $request , $id) { $search = $request->get('search'); $start_date = $request->get('start_date') ?? date('Y-m-d'); $end_date = $request->get('end_date') ?? date('Y-m-d'); $dates = explode(' - ', $request->date); if ($request->date) { $start_date = $dates[0]; $end_date = $dates[1]; } $sale = Sale::find($id); if(!$sale->purity_upgrade_to){ $productCategory = ProductCategory::query(); $productCategory->name = $sale->productCategory->name; }else{ $productCategory = ProductCategory::where('purity_level' , $sale->purity_upgrade_to)->first(); } if($sale->selling_purity){ $productCategory->name = $sale->productCategoryNameSelling(); } if(!$sale->user || !$sale){ abort(404); } return view('sale-reports2.show' , compact('sale' , 'search' , 'start_date' , 'end_date' , 'productCategory')); } public function print_total_category2(Request $request) { $paginate = $request->get('paginate')??25; $product_category_id = $request->get('product_category_id'); $check_fixed_price = $request->get('check_fixed_price'); $productCategories = ProductCategory::get(); $gold_category = clone $productCategories; $gold=$gold_category->whereIn('name',['មាស','Gold','ทอง'])->first(); $child_gold = ProductCategory::where('parent_id' , $gold->id)->get(); $platinume_clone = clone $productCategories; $platinume_Category = $platinume_clone->whereIn('name' , ['ផ្លាកទីន','Platinum','แพลตตินัม'])->first(); $child_p = ProductCategory::where('parent_id' , $platinume_Category->id)->get(); $start_date = $request->get('start_date') ?? date('Y-m-d'); $end_date = $request->get('end_date') ?? date('Y-m-d'); $dates = explode(' - ', $request->date); if ($request->date) { $start_date = $dates[0]; $end_date = $dates[1]; } $search = $request->get('search'); if($search){ $sales = Sale::where('part_number' , 'like' , '%' . $search . '%'); }else{ $sales = Sale::whereBetween('created_at', [$start_date . " 00:00:00", $end_date . " 23:59:59"]); } // else{ // $sales= Sale::query(); // } // if($product_category_id){ // $sales = $sales->where('product_category_id' , $product_category_id); // dd($sales->get() , $product_category_id); // } $product_category_id = $request->get('product_category_id'); if($product_category_id != 0){ $productCategory = ProductCategory::findOrFail($product_category_id); $sales = $sales->whereIn('product_category_id' , $productCategory->IdvsAllSubCategories()); }else{ $productCategory = []; } if($check_fixed_price == 1){ $sales = $sales->where('fixed_price' , true); }elseif($check_fixed_price == 2){ $sales = $sales->where('fixed_price' , false); } $sales1 = Clone $sales; $total_sale_price = $sales1->sum('sales_price'); $sales2 = Clone $sales; $total_sale_cost = $sales2->sum('selling_cost'); $sales3 = Clone $sales; $total_sale_wage = $sales3->sum('wages'); $total_sale_wages_in_weight = $sales3->sum('wages_in_weight'); $sales4 = Clone $sales; $total_sale_original_wage = $sales4->sum('original_wages'); $total_sale_original_wages_in_weight = $sales4->sum(DB::raw('original_wages_in_weight * (supplier_rate/1000)')); $sales5 = Clone $sales; $total_sale_discount = $sales5->sum('discount'); $sales6 = Clone $sales; $total_sale_qty = $sales6->sum('qty'); $sales = $sales->orderBy('id' , 'desc')->get(); // if($product_category_id && $productCategory->fixed_price == false){ // $total_sale_profit= $total_sale_price-($total_sale_cost+$total_sale_original_wage); // }else{ // $total_sale_profit= $total_sale_price-$total_sale_cost; // } $total_sale_profit= $total_sale_price-$total_sale_cost; return view('sale-reports2.print-total-category-2' , compact('start_date' , 'end_date' , 'search' , 'paginate','total_sale_price', 'productCategories' , 'check_fixed_price' ,'total_sale_cost','total_sale_wage','total_sale_original_wage','total_sale_discount','total_sale_profit' , 'total_sale_qty' , 'product_category_id' , 'platinume_Category' , 'child_gold' , 'gold' , 'total_sale_original_wages_in_weight' , 'total_sale_wages_in_weight' , 'productCategory')); } }