[Update] Fix kode item error

This commit is contained in:
dhilanradya 2025-10-20 16:50:26 +07:00
parent 4d1bebc6a6
commit d48ec1a1fd
4 changed files with 13 additions and 20 deletions

View File

@ -104,7 +104,7 @@ class TransaksiController extends Controller
'ongkos_bikin' => 'nullable|numeric|min:0',
'total_harga' => 'required|numeric',
'items' => 'required|array',
'items.*.kode_item' => 'required|exists:items,id|numeric',
'items.*.kode_item' => 'required',
'items.*.harga_deal' => 'required|numeric',
]);

View File

@ -23,24 +23,15 @@ class Item extends Model
{
parent::boot();
static::creating(function ($item) {
$prefix = 'TMJC';
$date = now()->format('Ymd');
static::created(function ($item) {
if (!$item->kode_item || $item->kode_item === 'belum pak') {
$prefix = "TMJC";
$date = $item->created_at->format('Ymd');
$number = str_pad($item->id, 4, '0', STR_PAD_LEFT);
// Cari item terakhir yg dibuat hari ini
$lastItem = self::whereDate('created_at', now()->toDateString())
->orderBy('id', 'desc')
->first();
$number = 1;
if ($lastItem && $lastItem->kode_item) {
// Ambil 4 digit terakhir dari kode_item
$lastNumber = intval(substr($lastItem->kode_item, -4));
$number = $lastNumber + 1;
$item->kode_item = $prefix . $date . $number;
$item->save();
}
// Format: ITM202509090001
$item->kode_item = $prefix . $date . str_pad($number, 4, '0', STR_PAD_LEFT);
});
}

View File

@ -12,7 +12,7 @@ return new class extends Migration
public function up()
{
Schema::table('items', function (Blueprint $table) {
$table->string('kode_item')->unique()->after('id');
$table->string('kode_item')->unique()->default('belum pak')->after('id');
});
}

View File

@ -249,12 +249,14 @@ const tambahItem = () => {
return;
}
item.value.kode_item = Number(kodeItem.value);
item.value.kode_item = kodeItem.value;
item.value.harga_deal = Number(hargaJual.value);
item.value.posisi = item.value.nampan ? item.value.nampan.nama : "Brankas";
pesanan.value.push(item.value);
console.log("Pesanan +:", item.value);
kodeItem.value = "";
hargaJual.value = null;
hargaJualFormatted.value = "";