/
home
/
sjslayjy
/
public_html
/
tabson_test
/
app
/
Exports
/
Upload File
HOME
<?php namespace App\Exports; use App\Item; use DB; use App\Vendor; use Maatwebsite\Excel\Concerns\FromCollection; use Maatwebsite\Excel\Concerns\WithHeadings; class ReportListExport implements FromCollection,WithHeadings { /** * @return \Illuminate\Support\Collection */ protected $excel_name; function __construct($excel_name) { $this->excel_name = $excel_name; } public function collection() { set_time_limit(300); if($this->excel_name == 1){ $response = Vendor::join('vendor_categories', 'vendor_categories.id', 'vendors.category')->get(); $data=[]; $i = 1; foreach($response as $key=>$value){ $data[$key]['Sr. No.']= $i++; $data[$key]['Category']=$value['name']; $data[$key]['Vendor Code']=$value['vendor_code']; $data[$key]['Vendor Name']=$value['vendor_name']; $data[$key]['Address']=$value['address']; $data[$key]['Deals IN']=$value['deals_in']; $data[$key]['Sub Category']=$value['sub_category']; $data[$key]['PO To']=$value['po_to']; $data[$key]['Contact No']=$value['contact_no']; $data[$key]['Contact Person 1']=$value['contact_person_1']; $data[$key]['Contact No 1']=$value['contact_no_1']; $data[$key]['Email Address 1']=$value['email_address_1']; $data[$key]['Contact Person 2']=$value['contact_person_2']; $data[$key]['Contact No 2']=$value['contact_no_2']; $data[$key]['Other Email']=$value['other_email']; $data[$key]['Account Number']=$value['account_number']; $data[$key]['Bank Name']=$value['bank_name']; $data[$key]['IFSC Code']=$value['ifsc_code']; $data[$key]['GST']=$value['gst']; $data[$key]['Payment Terms']=$value['payment_terms']; $data[$key]['Payment Terms Id']=$value['payment_terms_id']; $data[$key]['Document']=$value['document']; $data[$key]['Remarks']=$value['remarks']; $data[$key]['Is Active']=$value['is_active']; $data[$key]['Created By']=$value['concern_name']; $data[$key]['Creation Date']=$value['date']; } return collect($data); } if($this->excel_name == 2){ $response = \App\Customer::get(); $data=[]; foreach($response as $key=>$value){ $data[$key]['Id']=$value['id']; $data[$key]['Name']=$value['name']; $data[$key]['Location']=$value['location']; $data[$key]['GST Number']=$value['gst_number']; $data[$key]['Is Active']=$value['is_active']; } return collect($data); } if($this->excel_name == 3){ $response = \App\Item::get(); $data=[]; foreach($response as $key=>$value){ $data[$key]['ID']=$value['id']; $data[$key]['Code']=$value['code']; $data[$key]['Category']=$value['category']; $data[$key]['Model']=$value['model']; $data[$key]['Description']=$value['description']; $data[$key]['Make']=$value['make']; $data[$key]['UOM']=$value['uom']; $data[$key]['HSN Code']=$value['hsn_code']; $data[$key]['Rate']=$value['rate']; $data[$key]['GST']=$value['gst']; $data[$key]['Specification']=$value['specification']; $data[$key]['Is Active']=$value['is_active']; } return collect($data); } } public function headings(): array { if($this->excel_name == 1){ return [ 'Sr. No.', 'Category', 'Vendor Code', 'Vendor Name', 'Address', 'Deals In', 'Sub Category', 'PO To', 'Contact No', 'Contact Person 1', 'Contact No 1', 'Email Address 1', 'Contact Person 2', 'Contact No 2', 'Other Email', 'Account Number', 'Bank Name', 'IFSC Code', 'GST', 'Payment Terms', 'Payment Terms Id', 'Document', 'Remarks', 'Is Active', 'Created By', 'Creation Date ' ]; } if($this->excel_name == 2){ return [ 'ID', 'Name', 'Location', 'GST Number', 'Is Active' ]; } if($this->excel_name == 3){ return [ 'ID', 'Code', 'Category', 'Model', 'Description', 'Make', 'UOM', 'HSN Code', 'Rate', 'GST', 'Specification', 'Is Active' ]; } } }