invoice exporter to a seperete class
This commit is contained in:
@@ -1,85 +1,26 @@
|
||||
<?php
|
||||
|
||||
use App\Modules\Invoice\Actions\GenerateInvoiceExcell;
|
||||
use App\Modules\Invoice\Data\InvoiceExcellData;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Illuminate\Support\Str;
|
||||
use PhpOffice\PhpSpreadsheet\Cell\DataType;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\RichText\RichText;
|
||||
|
||||
// Route::redirect('/', '/panel');
|
||||
|
||||
Route::get('/', function () {
|
||||
$spreadsheet = IOFactory::load(app_path('Modules/Invoice/Resources/Docs/invoice.xls'));
|
||||
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
Carbon::setLocale('tk');
|
||||
|
||||
// Define vars...
|
||||
$number = random_int(1, 99);
|
||||
$date = new Carbon('2024-11-08');
|
||||
$year = $date->year;
|
||||
$day = $date->format('d');
|
||||
$month_as_string = $date->translatedFormat('F');
|
||||
$seller_firm_type = 'Telekeçi';
|
||||
$seller_firm_name = 'Nurmuhammet Allanov Parahatowiç';
|
||||
$seller_ssb = '201126532321';
|
||||
$seller_bank_name = 'Türkmenistanyň „Halkbank“ paýdarlar täjirçilik banky';
|
||||
$seller_bank_number = "23206934160169902250000";
|
||||
|
||||
// Cell vars...
|
||||
$hasap_faktura = 'Hasap-faktura № ' . $number;
|
||||
$sene = sprintf('%s ýylyň «%s» %s', $year, $day, $month_as_string);
|
||||
$satyjy = sprintf('Satyjy: %s %s', $seller_firm_type, $seller_firm_name);
|
||||
|
||||
$satyjy_salgyt_belgi = new RichText();
|
||||
$satyjy_salgyt_belgi
|
||||
->createTextRun('Satyjynyň şahsy salgyt belgisi: ')
|
||||
->getFont()
|
||||
->setName('Times New Roman')
|
||||
->setSize(10);
|
||||
|
||||
$satyjy_salgyt_belgi
|
||||
->createTextRun($seller_ssb)
|
||||
->getFont()
|
||||
->setBold(true)
|
||||
->setName('Times New Roman')
|
||||
->setSize(10);
|
||||
|
||||
$satyjy_bank_maglumatlary = new RichText();
|
||||
$satyjy_bank_maglumatlary
|
||||
->createTextRun(sprintf('Satyjynyň bankynyň ady %s, hasap № ', $seller_bank_name))
|
||||
->getFont()
|
||||
->setName('Times New Roman')
|
||||
->setSize(10);
|
||||
|
||||
$satyjy_bank_maglumatlary
|
||||
->createTextRun($seller_bank_number)
|
||||
->getFont()
|
||||
->setBold(true)
|
||||
->setName('Times New Roman')
|
||||
->setSize(10);
|
||||
|
||||
// Set cell vars...
|
||||
$worksheet->getCell('C6')->setValue($hasap_faktura);
|
||||
$worksheet->getCell('C7')->setValue($sene);
|
||||
$worksheet->getCell('A9')->setValue($satyjy);
|
||||
$worksheet->getCell('A11')->setValue($satyjy_salgyt_belgi);
|
||||
$worksheet->getCell('A12')->setValue($satyjy_bank_maglumatlary);
|
||||
|
||||
$worksheet->getCell('A13')->setValue(sprintf('şäherde (etrapda) %s BAB %s bankyň kor.hasap %s', 'Aşgabat', '390101601', '21101934110100700005000'));
|
||||
|
||||
$worksheet->getCell('A16')->setValue(sprintf('Satyn alyjy: %s', 'Türkmenistanyň „Türkmenbaşy“ paýdarlar täjirçilik banky'));
|
||||
|
||||
$worksheet->getCell('A18')->setValue(sprintf('744000 Aşgabat ş., Çandebil şaýoly köç., 121,'));
|
||||
|
||||
$worksheet->getCell('A19')->setValue(sprintf('Alyjynyň bankynyň ady %s %s', 'Türkmenistanyň Merkezi Banky', 'Aşgabat ş.'));
|
||||
|
||||
$worksheet->getCell('A20')->setValue(sprintf('Satyn alyjynyň şahsy salgyt belgisi %s, MFO %s, Hasap № %s', '101301000408', '390101304', '21101934110100300007000'));
|
||||
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xls');
|
||||
$writer->save('write.xls');
|
||||
GenerateInvoiceExcell::make()
|
||||
->setTemplateFile(app_path('Modules/Invoice/Resources/Docs/invoice.xls'))
|
||||
->setData(new InvoiceExcellData(
|
||||
number: random_int(1, 99),
|
||||
date: new Carbon('2024-11-08'),
|
||||
seller_firm_type: 'Telekeçi',
|
||||
seller_firm_name: 'Nurmuhammet Allanov Parahatowiç',
|
||||
seller_ssb: '201126532321',
|
||||
seller_bank_name: 'Türkmenistanyň „Halkbank“ paýdarlar täjirçilik banky',
|
||||
seller_bank_number: '23206934160169902250000'
|
||||
))
|
||||
->handle()
|
||||
->save();
|
||||
|
||||
return 'F';
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user