8 changed files with 154 additions and 37 deletions
-
4app/AdminSupplier/Controllers/ProductExportLogController.php
-
18app/AdminSupplier/Extensions/ProductToExcelExporter.php
-
38app/Exports/ProductExport.php
-
57app/Exports/ProductSpecExport.php
-
6app/Imports/ProductImport.php
-
7app/Imports/ProductSpecImport.php
-
56app/Jobs/ExportProductToExcel.php
-
5app/Jobs/ImportProductFromExcel.php
@ -0,0 +1,57 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace App\Exports; |
||||
|
|
||||
|
use App\Models\ProductSpec; |
||||
|
use Illuminate\Support\Collection; |
||||
|
use Maatwebsite\Excel\Concerns\FromQuery; |
||||
|
use Maatwebsite\Excel\Concerns\WithHeadings; |
||||
|
|
||||
|
class ProductSpecExport implements FromQuery, WithHeadings |
||||
|
{ |
||||
|
private int $product_id; |
||||
|
|
||||
|
public function __construct(int $product_id) |
||||
|
{ |
||||
|
$this->product_id = $product_id; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* @return Collection |
||||
|
*/ |
||||
|
public function query() |
||||
|
{ |
||||
|
return ProductSpec::where([ |
||||
|
['product_id', '=', $this->product_id], |
||||
|
['date', '>=', date('Y-m-d')], |
||||
|
])->orderBy('name')->orderBy('date'); |
||||
|
} |
||||
|
|
||||
|
public function prepareRows($rows) |
||||
|
{ |
||||
|
return $rows->transform(function ($row) { |
||||
|
return [ |
||||
|
'规格名称' => $row['name'], |
||||
|
'日期' => $row['date'], |
||||
|
'库存' => $row['stock'], |
||||
|
'市场价' => $row['original_price'], |
||||
|
'销售价' => $row['price'], |
||||
|
'成本价' => $row['cost_price'], |
||||
|
]; |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
public function headings(): array |
||||
|
{ |
||||
|
return [ |
||||
|
'规格名称', '日期', '库存', '市场价', '销售价', '成本价', |
||||
|
]; |
||||
|
} |
||||
|
|
||||
|
public function columnFormats(): array |
||||
|
{ |
||||
|
return [ |
||||
|
'B' => 'yyyy/m/d', |
||||
|
]; |
||||
|
} |
||||
|
} |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue