53 lines
1.3 KiB
PHP
53 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Domains\Virtual\Exports;
|
|
|
|
use App\Core\AbstractExport;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Dipper\Excel\Concerns\WithRows;
|
|
use Dipper\Excel\Concerns\FromQuery;
|
|
use Dipper\Excel\Concerns\WithHeadings;
|
|
use Illuminate\Database\Eloquent\Collection;
|
|
use App\Domains\Virtual\Services\CardService;
|
|
use Dipper\Excel\Concerns\WithColumnFormatting;
|
|
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
|
|
use App\Domains\Virtual\Repositories\OrderCardPartitionRepository;
|
|
|
|
class OrderCardExport extends AbstractExport implements FromQuery, WithHeadings, WithColumnFormatting
|
|
{
|
|
public $conditions;
|
|
|
|
public function __construct(array $conditions = [])
|
|
{
|
|
$this->conditions = $conditions;
|
|
parent::__construct();
|
|
}
|
|
|
|
public function query()
|
|
{
|
|
$builder = app(OrderCardPartitionRepository::class)->forceNoReset()->select(['sim', 'counts'])
|
|
->withConditions($this->conditions)->orderBy('sim');
|
|
|
|
return $builder;
|
|
}
|
|
|
|
public function headings(): array
|
|
{
|
|
return [
|
|
'SIM',
|
|
'数量',
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
public function columnFormats(): array
|
|
{
|
|
return [
|
|
'A' => NumberFormat::FORMAT_NUMBER_00,
|
|
'B' => NumberFormat::FORMAT_NUMBER,
|
|
];
|
|
}
|
|
}
|