Path : /var/www/html/jewelry-pos/app/Exports/ |
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/Exports/productAccessoryExport.php |
<?php namespace App\Exports; use Maatwebsite\Excel\Concerns\FromCollection; use Maatwebsite\Excel\Concerns\FromQuery; use Maatwebsite\Excel\Concerns\WithDrawings; use Maatwebsite\Excel\Concerns\WithHeadings; use Maatwebsite\Excel\Concerns\WithMapping; use App\Models\Product; use PhpOffice\PhpSpreadsheet\Worksheet\Drawing; class productAccessoryExport implements FromQuery, WithHeadings, WithMapping { /** * @return \Illuminate\Support\Collection */ private $no = 0; private $start_date; private $end_date; private $search; private $paginate; private $date; private $platinum_category; private $check_fixed_price; public function __construct($start_date , $end_date , $search , $paginate , $platinum_category , $check_fixed_price) { $this->start_date = $start_date; $this->end_date = $end_date; $this->search = $search; $this->paginate = $paginate; $this->platinum_category = $platinum_category; $this->check_fixed_price = $check_fixed_price; } public function headings(): array { return [ 'no', __('message.original invoice'), __('message.gia number'), __('message.supplier'), __('message.supplier rate'), __('message.part number'), __('message.product category'), __('message.name'), __('message.qty'), __('message.cost'), __('message.sales price'), __('message.weight'), __('message.gold weight'), __('message.wages'), __('message.original wages'), __('message.purity upgrade to'), __('message.selling purity'), __('message.diamond size'), __('message.original invoice'), __('message.active'), __('message.description'), // __('message.image'), __('message.user'), __('message.created at'), ]; } public function query() { $platinum_category_id = $this->platinum_category; $products = Product::where('is_active' , true)->where('qty' , '>' , 0)->where('for_sale' , 0)->where('weight' , '<>' , 0)->orderBy('products.name'); if($platinum_category_id){ $products = $products->where('product_category_id' , $platinum_category_id)->orderBy('id', 'desc'); } $search = $this->search; if($search){ $products = $products->where('part_number' , $search)->orderBy('id', 'desc'); }else{ $products = $products->orderBy('id', 'desc'); } if($this->check_fixed_price == 1){ $products = $products->where('products.fixed_price' , true); }elseif($this->check_fixed_price == 2){ $products = $products->where('products.fixed_price' , false); } return $products; } public function map($product): array { $this->no++; if($this->check_fixed_price == 1 || $product->productCategory->fixed_price == true){ return [ $this->no, $product->original_invoice??'', $product->gia_number??'', $product->supplier->name??'', $product->supplier_rate??0, $product->part_number, $product->productCategory->name??'', $product->name??'', $product->qty??0, number_format($product->cost() , 2), number_format($product->price , 2), $product->weight, $product->goldWeight(), number_format($product->selling_wagesInWeight() , 2), number_format($product->cost_wagesInWeight() , 2), $product->purity_upgrade_to??'', $product->selling_purity??'', htmlspecialchars(trim(strip_tags($product->diamond_size))), $product->original_invoice??'', $product->is_active ? 'active' : 'inactive', htmlspecialchars(trim(strip_tags($product->description))), // $product->image, $product->user->name??'', $product->created_at->format('d/m/y H:i'), ]; }else{ return [ $this->no, $product->original_invoice??'', $product->gia_number??'', $product->supplier->name??'', $product->supplier_rate??0, $product->part_number, $product->productCategory->name??'', $product->name??'', $product->qty??0, number_format($product->cost() , 2), number_format($product->sellingPrice() , 2), $product->weight, $product->goldWeight(), number_format($product->wages_in_weight , 2), number_format($product->original_wages_in_weight , 2), $product->purity_upgrade_to??'', $product->selling_purity??'', htmlspecialchars(trim(strip_tags($product->diamond_size))), $product->original_invoice??'', $product->is_active ? 'active' : 'inactive', htmlspecialchars(trim(strip_tags($product->description))), // $product->image, $product->user->name??'', $product->created_at->format('d/m/y H:i'), ]; } } }