From 706937f47901b2ef6fca24d5ee7fe39e28aec07c Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Fri, 24 Apr 2026 19:57:31 +0700 Subject: [PATCH] refactor: rename hpp field to cogs across models, database, and controllers --- app/Http/Controllers/Admin/Manage/OrderController.php | 8 ++++---- app/Http/Controllers/AnalysisController.php | 4 ++-- app/Http/Controllers/DashboardController.php | 2 +- app/Models/Order.php | 8 ++++---- database/factories/OrderFactory.php | 2 +- .../migrations/2026_04_21_193515_create_orders_table.php | 2 +- database/seeders/OrderSeeder.php | 8 ++++---- resources/js/types/order.ts | 2 +- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/app/Http/Controllers/Admin/Manage/OrderController.php b/app/Http/Controllers/Admin/Manage/OrderController.php index 5d2b682..d1d3148 100644 --- a/app/Http/Controllers/Admin/Manage/OrderController.php +++ b/app/Http/Controllers/Admin/Manage/OrderController.php @@ -50,7 +50,7 @@ public function store(OrderRequest $request): RedirectResponse try { DB::transaction(function () use ($validated) { $totalItemsPrice = collect($validated['items'])->sum('total'); - $hpp = collect($validated['items'])->sum(function ($item) { + $cogs = collect($validated['items'])->sum(function ($item) { $product = Product::find($item['product_id']); $purchasePrice = $product->prices()->where('price_type', PriceType::PURCHASE)->first()?->price ?? 0; @@ -61,7 +61,7 @@ public function store(OrderRequest $request): RedirectResponse 'user_id' => auth()->id(), 'invoice_number' => $validated['invoice_number'] ?? 'INV-'.now()->format('YmdHis').'-'.strtoupper(fake()->bothify('??##')), 'customer_name' => $validated['customer_name'], - 'hpp' => $hpp, + 'cogs' => $cogs, 'discount' => $validated['discount'], 'payment' => $validated['payment'], 'total' => $totalItemsPrice - $validated['discount'], @@ -124,7 +124,7 @@ public function update(OrderRequest $request, Order $order): RedirectResponse try { DB::transaction(function () use ($validated, $order) { $totalItemsPrice = collect($validated['items'])->sum(fn ($item) => $item['qty'] * $item['price']); - $hpp = collect($validated['items'])->sum(function ($item) { + $cogs = collect($validated['items'])->sum(function ($item) { $product = Product::find($item['product_id']); $purchasePrice = $product->prices()->where('price_type', PriceType::PURCHASE)->first()?->price ?? 0; @@ -140,7 +140,7 @@ public function update(OrderRequest $request, Order $order): RedirectResponse $order->update([ 'customer_name' => $validated['customer_name'], - 'hpp' => $hpp, + 'cogs' => $cogs, 'discount' => $validated['discount'], 'payment' => $validated['payment'], 'total' => $totalItemsPrice - $validated['discount'], diff --git a/app/Http/Controllers/AnalysisController.php b/app/Http/Controllers/AnalysisController.php index 7f31d93..d5467f8 100644 --- a/app/Http/Controllers/AnalysisController.php +++ b/app/Http/Controllers/AnalysisController.php @@ -40,7 +40,7 @@ public function __invoke(Request $request) 'total_revenue' => $this->getStats(fn () => $applyFilter(Order::query())->sum('total')), 'total_expenses' => $this->getStats(fn () => $applyFilter(Expense::query())->sum('amount')), 'total_payrolls' => $this->getStats(fn () => $applyFilter(Payroll::query(), 'period_month')->sum('total_salary')), - 'cogs' => $this->getStats(fn () => $applyFilter(Order::query())->sum('hpp')), + 'cogs' => $this->getStats(fn () => $applyFilter(Order::query())->sum('cogs')), 'total_discount' => $this->getStats(fn () => $applyFilter(Order::query())->sum('discount')), 'total_purchases' => $this->getStats(fn () => $applyFilter(Purchase::query())->sum('total')), 'products_sold' => $this->getStats(fn () => $applyFilter(OrderItem::query())->sum('qty')), @@ -160,7 +160,7 @@ public function __invoke(Request $request) ->select( DB::raw('MONTH(created_at) as month'), DB::raw('SUM(total) as revenue'), - DB::raw('SUM(hpp) as cogs'), + DB::raw('SUM(cogs) as cogs'), DB::raw('COUNT(*) as count') ) ->groupBy(DB::raw('MONTH(created_at)')) diff --git a/app/Http/Controllers/DashboardController.php b/app/Http/Controllers/DashboardController.php index 0dbac67..db2a037 100644 --- a/app/Http/Controllers/DashboardController.php +++ b/app/Http/Controllers/DashboardController.php @@ -24,7 +24,7 @@ public function __invoke() 'total_sales' => $this->getStats($today, $yesterday, fn ($date) => Order::whereDate('created_at', $date)->count()), 'total_revenue' => $this->getStats($today, $yesterday, fn ($date) => Order::whereDate('created_at', $date)->sum('total')), 'total_expenses' => $this->getStats($today, $yesterday, fn ($date) => Expense::whereDate('created_at', $date)->sum('amount')), - 'cogs' => $this->getStats($today, $yesterday, fn ($date) => Order::whereDate('created_at', $date)->sum('hpp')), + 'cogs' => $this->getStats($today, $yesterday, fn ($date) => Order::whereDate('created_at', $date)->sum('cogs')), 'total_discount' => $this->getStats($today, $yesterday, fn ($date) => Order::whereDate('created_at', $date)->sum('discount')), 'total_purchases' => $this->getStats($today, $yesterday, fn ($date) => Purchase::whereDate('created_at', $date)->sum('total')), 'products_sold' => $this->getStats($today, $yesterday, fn ($date) => OrderItem::whereHas('order', fn ($q) => $q->whereDate('created_at', $date))->sum('qty')), diff --git a/app/Models/Order.php b/app/Models/Order.php index 217fdf1..1f49747 100644 --- a/app/Models/Order.php +++ b/app/Models/Order.php @@ -26,7 +26,7 @@ class Order extends Model protected function casts(): array { return [ - 'hpp' => 'integer', + 'cogs' => 'integer', 'discount' => 'integer', 'payment' => 'integer', 'total' => 'integer', @@ -39,7 +39,7 @@ protected function casts(): array protected function hppFormatted(): Attribute { return Attribute::make( - get: fn () => 'Rp '.number_format($this->hpp, 0, ',', '.'), + get: fn () => 'Rp '.number_format($this->cogs, 0, ',', '.'), ); } @@ -77,7 +77,7 @@ public function items(): HasMany public function getActivitylogOptions(): LogOptions { return LogOptions::defaults() - ->logOnly(['invoice_number', 'customer_name', 'hpp', 'discount', 'payment', 'total', 'payment_method', 'order_status', 'order_channel']) + ->logOnly(['invoice_number', 'customer_name', 'cogs', 'discount', 'payment', 'total', 'payment_method', 'order_status', 'order_channel']) ->logOnlyDirty() ->useLogName('Pesanan'); } @@ -95,7 +95,7 @@ public function tapActivity(Activity $activity, string $eventName) $attributeMap = [ 'invoice_number' => 'Nomor Invoice', 'customer_name' => 'Nama Pelanggan', - 'hpp' => 'Modal', + 'cogs' => 'Modal', 'discount' => 'Diskon', 'payment' => 'Bayar', 'total' => 'Total', diff --git a/database/factories/OrderFactory.php b/database/factories/OrderFactory.php index 301e664..201e680 100644 --- a/database/factories/OrderFactory.php +++ b/database/factories/OrderFactory.php @@ -29,7 +29,7 @@ public function definition(): array 'user_id' => User::inRandomOrder()->first()?->id ?? User::factory(), 'invoice_number' => 'INV-'.$date->format('YmdHis').'-'.strtoupper($this->faker->bothify('??##')), 'customer_name' => $this->faker->name(), - 'hpp' => 0, + 'cogs' => 0, 'discount' => 0, 'payment' => 0, 'total' => 0, diff --git a/database/migrations/2026_04_21_193515_create_orders_table.php b/database/migrations/2026_04_21_193515_create_orders_table.php index 580a582..d7704ab 100644 --- a/database/migrations/2026_04_21_193515_create_orders_table.php +++ b/database/migrations/2026_04_21_193515_create_orders_table.php @@ -19,7 +19,7 @@ public function up(): void $table->foreignId('user_id')->constrained()->cascadeOnDelete(); $table->string('invoice_number', 30); $table->string('customer_name', 100); - $table->unsignedInteger('hpp'); + $table->unsignedInteger('cogs'); $table->unsignedInteger('discount'); $table->unsignedInteger('payment'); $table->unsignedInteger('total'); diff --git a/database/seeders/OrderSeeder.php b/database/seeders/OrderSeeder.php index a7509d2..87170a0 100644 --- a/database/seeders/OrderSeeder.php +++ b/database/seeders/OrderSeeder.php @@ -51,9 +51,9 @@ private function createOrderWithItems(Order $order, $users, $products): void $price = rand(100000, 300000); $itemTotal = $qty * $price; - // Assuming hpp is 70% of price for simulation - $hpp = intval($price * 0.7); - $totalOrderHpp += ($hpp * $qty); + // Assuming cogs is 70% of price for simulation + $cogs = intval($price * 0.7); + $totalOrderHpp += ($cogs * $qty); OrderItem::factory()->create([ 'order_id' => $order->id, @@ -73,7 +73,7 @@ private function createOrderWithItems(Order $order, $users, $products): void $finalTotal = max(0, $totalOrderPrice - $discount); $order->update([ - 'hpp' => $totalOrderHpp, + 'cogs' => $totalOrderHpp, 'discount' => $discount, 'total' => $finalTotal, 'payment' => $finalTotal, // Assume fully paid diff --git a/resources/js/types/order.ts b/resources/js/types/order.ts index a7159eb..9f8e5bd 100644 --- a/resources/js/types/order.ts +++ b/resources/js/types/order.ts @@ -4,7 +4,7 @@ export interface Order { id: number; invoice_number: string; customer_name: string; - hpp: number; + cogs: number; discount: number; payment: number; total: number;