Initial commit: Struktur aplikasi ilycats

This commit is contained in:
Dwi F Sukmana
2026-02-08 15:16:35 +07:00
commit 0921901aed
235 changed files with 29016 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
<?php
namespace App\Imports;
use App\Models\Food;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
use Carbon\Carbon;
class FoodImport implements ToModel, WithHeadingRow
{
/**
* @param array $row
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function model(array $row)
{
return new Food([
'nama_makanan' => $row['nama_makanan'], // Sesuai header di Excel
'qty' => $row['qty'],
'unit' => $row['unit'],
// Mengonversi format tanggal Excel menjadi format database
'expired_date' => isset($row['expired_date'])
? Carbon::instance(\PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($row['expired_date']))
: null,
]);
}
}
+24
View File
@@ -0,0 +1,24 @@
<?php
namespace App\Imports;
use App\Models\Medicine;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
class MedicineImport implements ToModel, WithHeadingRow
{
/**
* Memetakan setiap baris Excel ke Model Medicine.
*/
public function model(array $row)
{
return new Medicine([
'nama_obat' => $row['nama_obat'],
'qty' => (float) $row['stok'], // Mendukung desimal (ml)
'unit' => $row['satuan'] ?? 'Pcs',
'expired_date' => isset($row['kadaluarsa']) ? \Carbon\Carbon::parse($row['kadaluarsa']) : null,
// Kategori akan terisi otomatis oleh logic Model 'booted'
]);
}
}
+25
View File
@@ -0,0 +1,25 @@
<?php
namespace App\Imports;
use App\Models\Supply;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
class SupplyImport implements ToModel, WithHeadingRow
{
/**
* Memetakan baris Excel ke Model Supply.
* * @param array $row
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function model(array $row)
{
return new Supply([
'nama_perlengkapan' => $row['nama_perlengkapan'], // Harus sesuai header Excel
'qty' => $row['qty'],
'unit' => $row['unit'],
// Kategori dan Category ID akan terisi otomatis oleh logic 'booted' di Model Supply.
]);
}
}