little code readabilty improvement
This commit is contained in:
@@ -123,126 +123,7 @@ class GenerateInvoiceExcell
|
||||
$this->worksheet->getCell($cell)->setValue($value);
|
||||
}
|
||||
|
||||
$items = collect($this->data->items);
|
||||
|
||||
$total = 0;
|
||||
$itemCellNumber = 25;
|
||||
$numberFormat = '#,##0.00';
|
||||
$items->each(function (InvoiceItem $item, int $index) use (&$itemCellNumber, &$total, $numberFormat) {
|
||||
$this->worksheet->getCell('A'.$itemCellNumber)->setValue($index + 1);
|
||||
$this->worksheet->getCell('B'.$itemCellNumber)->setValue($item->name);
|
||||
$this->worksheet->getCell('C'.$itemCellNumber)->setValue($item->unit);
|
||||
$this->worksheet->getCell('D'.$itemCellNumber)->setValue($item->quantity);
|
||||
$this->worksheet->getCell('E'.$itemCellNumber)->setValue($item->unit_price);
|
||||
$this->worksheet->getCell('F'.$itemCellNumber)->setValue($item->vat);
|
||||
$this->worksheet->getCell('G'.$itemCellNumber)->setValue($item->vat_excluded);
|
||||
$this->worksheet->getCell('H'.$itemCellNumber)->setValue($item->vat_percentage);
|
||||
$this->worksheet->getCell('I'.$itemCellNumber)->setValue($item->vat_tmt);
|
||||
|
||||
$total += ($item->quantity * $item->unit_price);
|
||||
$this->worksheet->setCellValue(
|
||||
'J'.$itemCellNumber,
|
||||
"=D{$itemCellNumber}*E{$itemCellNumber}"
|
||||
);
|
||||
|
||||
// Set font-family, alingment, and borders for all of them...
|
||||
$this->worksheet->getStyle('A'.$itemCellNumber.':J'.$itemCellNumber)->applyFromArray($this->defaultCellStyles());
|
||||
|
||||
// Invoice Name...
|
||||
$this->worksheet->getCell('B'.$itemCellNumber)->getStyle()->applyFromArray($this->cellStyleCenter());
|
||||
|
||||
// Bold cells...
|
||||
$this->worksheet->getCell('D'.$itemCellNumber)->getStyle()->applyFromArray($this->cellStyleBold());
|
||||
$this->worksheet->getCell('E'.$itemCellNumber)->getStyle()->applyFromArray($this->cellStyleBold());
|
||||
$this->worksheet->getCell('J'.$itemCellNumber)->getStyle()->applyFromArray($this->cellStyleBold());
|
||||
|
||||
// Invoice number format...
|
||||
$this->worksheet->getStyle('E'.$itemCellNumber)->getNumberFormat()->setFormatCode($numberFormat);
|
||||
$this->worksheet->getStyle('J'.$itemCellNumber)->getNumberFormat()->setFormatCode($numberFormat);
|
||||
|
||||
$itemCellNumber++;
|
||||
});
|
||||
|
||||
// Set default styles...
|
||||
$this->worksheet->getStyle('A'.$itemCellNumber.':J'.$itemCellNumber)->applyFromArray($this->defaultCellStyles());
|
||||
|
||||
$this->worksheet->getCell('B'.$itemCellNumber)->setValue('Jemi tölenmeli:')->getStyle()->applyFromArray([
|
||||
'font' => ['size' => 11], 'alignment' => ['horizontal' => Alignment::HORIZONTAL_RIGHT],
|
||||
]);
|
||||
|
||||
$lastItemCellNumber = $itemCellNumber - 1;
|
||||
$this->worksheet->getCell('J'.$itemCellNumber)->getStyle()->applyFromArray($this->cellStyleBold());
|
||||
$this->worksheet->getStyle('J'.$itemCellNumber)->getNumberFormat()->setFormatCode($numberFormat);
|
||||
$this->worksheet->setCellValue('J'.$itemCellNumber, "=SUM(J25:J{$lastItemCellNumber})");
|
||||
|
||||
// Next cell..
|
||||
$itemCellNumber++;
|
||||
|
||||
$this->worksheet->setCellValue('A'.$itemCellNumber, 'Harydyň (işleriň, hyzmatlaryň) jemi bahasy');
|
||||
$this->worksheet->getStyle('A'.$itemCellNumber)->applyFromArray(['font' => ['size' => 9, 'name' => 'Times New Roman']]);
|
||||
|
||||
$this->worksheet->getStyle('C'.$itemCellNumber)->applyFromArray(['font' => ['bold' => true, 'size' => 11, 'name' => 'Times New Roman']]);
|
||||
$this->worksheet->setCellValue('C'.$itemCellNumber, Str::ucfirst(TurkmenNumberFormatter::format(floatval($total))));
|
||||
$this->worksheet->mergeCells('C'.$itemCellNumber.':J'.$itemCellNumber);
|
||||
|
||||
// Leave empty one
|
||||
$itemCellNumber++;
|
||||
$itemCellNumber++;
|
||||
|
||||
$this->worksheet->setCellValue('B'.$itemCellNumber, $this->data->seller_firm_name);
|
||||
$this->worksheet->getStyle('A'.$itemCellNumber)->applyFromArray(['borders' => ['bottom' => ['borderStyle' => Border::BORDER_THIN]]]);
|
||||
$this->worksheet->getStyle('B'.$itemCellNumber)->applyFromArray([
|
||||
'font' => ['bold' => true, 'size' => 11, 'name' => 'Times New Roman'],
|
||||
'borders' => [
|
||||
'bottom' => [
|
||||
'borderStyle' => Border::BORDER_THIN,
|
||||
],
|
||||
],
|
||||
]);
|
||||
|
||||
$this->worksheet->getStyle('G'.$itemCellNumber.':I'.$itemCellNumber)->applyFromArray(['borders' => ['bottom' => ['borderStyle' => Border::BORDER_THIN]]]);
|
||||
$itemCellNumber++;
|
||||
|
||||
$this->worksheet->setCellValue('A'.$itemCellNumber, '(görnüşli tarapyň ýolbaşçysynyň ýa-da hususy telekeçiniň F.A.A.A.)');
|
||||
$this->worksheet->setCellValue('H'.$itemCellNumber, '(goly)');
|
||||
|
||||
$this->worksheet->getStyle('A'.$itemCellNumber)->applyFromArray(['font' => ['bold' => false, 'size' => 9, 'name' => 'Times New Roman']]);
|
||||
$this->worksheet->getStyle('H'.$itemCellNumber)->applyFromArray(['font' => ['bold' => false, 'size' => 9, 'name' => 'Times New Roman']]);
|
||||
|
||||
$itemCellNumber++;
|
||||
$itemCellNumber++;
|
||||
$itemCellNumber++;
|
||||
$itemCellNumber++;
|
||||
|
||||
$this->worksheet->setCellValue(
|
||||
'A'.$itemCellNumber,
|
||||
sprintf(
|
||||
'__________%s____________________________manat_______0________ teňňe möçberde iberilen haryt doly alyndy.',
|
||||
Str::before(Str::ucfirst(moneyFormatInTurkmenLetter(floatval($total))), ' manat')
|
||||
)
|
||||
);
|
||||
|
||||
$this->worksheet->getStyle('A'.$itemCellNumber)->applyFromArray(['font' => ['bold' => false, 'size' => 9, 'name' => 'Times New Roman']]);
|
||||
|
||||
$itemCellNumber++;
|
||||
$itemCellNumber++;
|
||||
|
||||
$this->worksheet->setCellValue(
|
||||
'A'.$itemCellNumber,
|
||||
'_______________________________________________________ ___________________ '
|
||||
);
|
||||
$this->worksheet->getStyle('A'.$itemCellNumber)->applyFromArray(['font' => ['bold' => false, 'size' => 9, 'name' => 'Times New Roman']]);
|
||||
|
||||
$itemCellNumber++;
|
||||
|
||||
$this->worksheet->setCellValue(
|
||||
'A'.$itemCellNumber,
|
||||
' Satyn alyjynyň ýa-da kärhananyň ynam bildiren tarapynyň F.A.A A (goly)'
|
||||
);
|
||||
$this->worksheet->getStyle('A'.$itemCellNumber)->applyFromArray([
|
||||
'font' => ['bold' => false, 'size' => 8, 'name' => 'Times New Roman'],
|
||||
'alignment' => ['vertical' => Alignment::VERTICAL_TOP],
|
||||
]);
|
||||
$this->fillItems();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -418,4 +299,131 @@ class GenerateInvoiceExcell
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Fill items
|
||||
*/
|
||||
public function fillItems(): void
|
||||
{
|
||||
$items = collect($this->data->items);
|
||||
|
||||
$total = 0;
|
||||
$itemCellNumber = 25;
|
||||
$numberFormat = '#,##0.00';
|
||||
$items->each(function (InvoiceItem $item, int $index) use (&$itemCellNumber, &$total, $numberFormat) {
|
||||
$this->worksheet->getCell('A'.$itemCellNumber)->setValue($index + 1);
|
||||
$this->worksheet->getCell('B'.$itemCellNumber)->setValue($item->name);
|
||||
$this->worksheet->getCell('C'.$itemCellNumber)->setValue($item->unit);
|
||||
$this->worksheet->getCell('D'.$itemCellNumber)->setValue($item->quantity);
|
||||
$this->worksheet->getCell('E'.$itemCellNumber)->setValue($item->unit_price);
|
||||
$this->worksheet->getCell('F'.$itemCellNumber)->setValue($item->vat);
|
||||
$this->worksheet->getCell('G'.$itemCellNumber)->setValue($item->vat_excluded);
|
||||
$this->worksheet->getCell('H'.$itemCellNumber)->setValue($item->vat_percentage);
|
||||
$this->worksheet->getCell('I'.$itemCellNumber)->setValue($item->vat_tmt);
|
||||
|
||||
$total += ($item->quantity * $item->unit_price);
|
||||
$this->worksheet->setCellValue(
|
||||
'J'.$itemCellNumber,
|
||||
"=D{$itemCellNumber}*E{$itemCellNumber}"
|
||||
);
|
||||
|
||||
// Set font-family, alingment, and borders for all of them...
|
||||
$this->worksheet->getStyle('A'.$itemCellNumber.':J'.$itemCellNumber)->applyFromArray($this->defaultCellStyles());
|
||||
|
||||
// Invoice Name...
|
||||
$this->worksheet->getCell('B'.$itemCellNumber)->getStyle()->applyFromArray($this->cellStyleCenter());
|
||||
|
||||
// Bold cells...
|
||||
$this->worksheet->getCell('D'.$itemCellNumber)->getStyle()->applyFromArray($this->cellStyleBold());
|
||||
$this->worksheet->getCell('E'.$itemCellNumber)->getStyle()->applyFromArray($this->cellStyleBold());
|
||||
$this->worksheet->getCell('J'.$itemCellNumber)->getStyle()->applyFromArray($this->cellStyleBold());
|
||||
|
||||
// Invoice number format...
|
||||
$this->worksheet->getStyle('E'.$itemCellNumber)->getNumberFormat()->setFormatCode($numberFormat);
|
||||
$this->worksheet->getStyle('J'.$itemCellNumber)->getNumberFormat()->setFormatCode($numberFormat);
|
||||
|
||||
$itemCellNumber++;
|
||||
});
|
||||
|
||||
// Set default styles...
|
||||
$this->worksheet->getStyle('A'.$itemCellNumber.':J'.$itemCellNumber)->applyFromArray($this->defaultCellStyles());
|
||||
|
||||
$this->worksheet->getCell('B'.$itemCellNumber)->setValue('Jemi tölenmeli:')->getStyle()->applyFromArray([
|
||||
'font' => ['size' => 11], 'alignment' => ['horizontal' => Alignment::HORIZONTAL_RIGHT],
|
||||
]);
|
||||
|
||||
$lastItemCellNumber = $itemCellNumber - 1;
|
||||
$this->worksheet->getCell('J'.$itemCellNumber)->getStyle()->applyFromArray($this->cellStyleBold());
|
||||
$this->worksheet->getStyle('J'.$itemCellNumber)->getNumberFormat()->setFormatCode($numberFormat);
|
||||
$this->worksheet->setCellValue('J'.$itemCellNumber, "=SUM(J25:J{$lastItemCellNumber})");
|
||||
|
||||
// Next cell..
|
||||
$itemCellNumber++;
|
||||
|
||||
$this->worksheet->setCellValue('A'.$itemCellNumber, 'Harydyň (işleriň, hyzmatlaryň) jemi bahasy');
|
||||
$this->worksheet->getStyle('A'.$itemCellNumber)->applyFromArray(['font' => ['size' => 9, 'name' => 'Times New Roman']]);
|
||||
|
||||
$this->worksheet->getStyle('C'.$itemCellNumber)->applyFromArray(['font' => ['bold' => true, 'size' => 11, 'name' => 'Times New Roman']]);
|
||||
$this->worksheet->setCellValue('C'.$itemCellNumber, Str::ucfirst(TurkmenNumberFormatter::format(floatval($total))));
|
||||
$this->worksheet->mergeCells('C'.$itemCellNumber.':J'.$itemCellNumber);
|
||||
|
||||
// Leave empty one
|
||||
$itemCellNumber++;
|
||||
$itemCellNumber++;
|
||||
|
||||
$this->worksheet->setCellValue('B'.$itemCellNumber, $this->data->seller_firm_name);
|
||||
$this->worksheet->getStyle('A'.$itemCellNumber)->applyFromArray(['borders' => ['bottom' => ['borderStyle' => Border::BORDER_THIN]]]);
|
||||
$this->worksheet->getStyle('B'.$itemCellNumber)->applyFromArray([
|
||||
'font' => ['bold' => true, 'size' => 11, 'name' => 'Times New Roman'],
|
||||
'borders' => [
|
||||
'bottom' => [
|
||||
'borderStyle' => Border::BORDER_THIN,
|
||||
],
|
||||
],
|
||||
]);
|
||||
|
||||
$this->worksheet->getStyle('G'.$itemCellNumber.':I'.$itemCellNumber)->applyFromArray(['borders' => ['bottom' => ['borderStyle' => Border::BORDER_THIN]]]);
|
||||
$itemCellNumber++;
|
||||
|
||||
$this->worksheet->setCellValue('A'.$itemCellNumber, '(görnüşli tarapyň ýolbaşçysynyň ýa-da hususy telekeçiniň F.A.A.A.)');
|
||||
$this->worksheet->setCellValue('H'.$itemCellNumber, '(goly)');
|
||||
|
||||
$this->worksheet->getStyle('A'.$itemCellNumber)->applyFromArray(['font' => ['bold' => false, 'size' => 9, 'name' => 'Times New Roman']]);
|
||||
$this->worksheet->getStyle('H'.$itemCellNumber)->applyFromArray(['font' => ['bold' => false, 'size' => 9, 'name' => 'Times New Roman']]);
|
||||
|
||||
$itemCellNumber++;
|
||||
$itemCellNumber++;
|
||||
$itemCellNumber++;
|
||||
$itemCellNumber++;
|
||||
|
||||
$this->worksheet->setCellValue(
|
||||
'A'.$itemCellNumber,
|
||||
sprintf(
|
||||
'__________%s____________________________manat_______0________ teňňe möçberde iberilen haryt doly alyndy.',
|
||||
Str::before(Str::ucfirst(moneyFormatInTurkmenLetter(floatval($total))), ' manat')
|
||||
)
|
||||
);
|
||||
|
||||
$this->worksheet->getStyle('A'.$itemCellNumber)->applyFromArray(['font' => ['bold' => false, 'size' => 9, 'name' => 'Times New Roman']]);
|
||||
|
||||
$itemCellNumber++;
|
||||
$itemCellNumber++;
|
||||
|
||||
$this->worksheet->setCellValue(
|
||||
'A'.$itemCellNumber,
|
||||
'_______________________________________________________ ___________________ '
|
||||
);
|
||||
$this->worksheet->getStyle('A'.$itemCellNumber)->applyFromArray(['font' => ['bold' => false, 'size' => 9, 'name' => 'Times New Roman']]);
|
||||
|
||||
$itemCellNumber++;
|
||||
|
||||
$this->worksheet->setCellValue(
|
||||
'A'.$itemCellNumber,
|
||||
' Satyn alyjynyň ýa-da kärhananyň ynam bildiren tarapynyň F.A.A A (goly)'
|
||||
);
|
||||
$this->worksheet->getStyle('A'.$itemCellNumber)->applyFromArray([
|
||||
'font' => ['bold' => false, 'size' => 8, 'name' => 'Times New Roman'],
|
||||
'alignment' => ['vertical' => Alignment::VERTICAL_TOP],
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user