[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', 'ongkos_bikin' => 'nullable|numeric|min:0',
'total_harga' => 'required|numeric', 'total_harga' => 'required|numeric',
'items' => 'required|array', 'items' => 'required|array',
'items.*.kode_item' => 'required|exists:items,id|numeric', 'items.*.kode_item' => 'required',
'items.*.harga_deal' => 'required|numeric', 'items.*.harga_deal' => 'required|numeric',
]); ]);

View File

@ -23,24 +23,15 @@ class Item extends Model
{ {
parent::boot(); parent::boot();
static::creating(function ($item) { static::created(function ($item) {
$prefix = 'TMJC'; if (!$item->kode_item || $item->kode_item === 'belum pak') {
$date = now()->format('Ymd'); $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 $item->kode_item = $prefix . $date . $number;
$lastItem = self::whereDate('created_at', now()->toDateString()) $item->save();
->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;
} }
// Format: ITM202509090001
$item->kode_item = $prefix . $date . str_pad($number, 4, '0', STR_PAD_LEFT);
}); });
} }

View File

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

View File

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