diff --git a/app/Http/Controllers/Admin/Manage/Stock/StockController.php b/app/Http/Controllers/Admin/Manage/Stock/StockController.php index 73a3526..b94a1b9 100644 --- a/app/Http/Controllers/Admin/Manage/Stock/StockController.php +++ b/app/Http/Controllers/Admin/Manage/Stock/StockController.php @@ -26,6 +26,7 @@ public function index(Request $request): Response return Inertia::render('admin/manage/stocks/Index', [ 'pendingCuttings' => $this->stockService->getPendingVerificationCuttings($user), + 'pendingApprovalCuttings' => $this->stockService->getPendingApprovalCuttings($user), ]); } diff --git a/app/Http/Requests/Admin/Manage/StockVerifyRequest.php b/app/Http/Requests/Admin/Manage/StockVerifyRequest.php index 6a7ae59..128b8e1 100644 --- a/app/Http/Requests/Admin/Manage/StockVerifyRequest.php +++ b/app/Http/Requests/Admin/Manage/StockVerifyRequest.php @@ -26,8 +26,8 @@ public function rules(): array 'verification_note' => ['nullable', 'string', 'max:500'], 'results' => ['nullable', 'array'], 'results.*.product_variant_id' => ['required_with:results', 'integer', 'exists:product_variants,id'], - 'results.*.sampel' => ['required_with:results', 'integer', 'min:0'], - 'results.*.hasil_cutting_diluar_sampel' => ['required_with:results', 'integer', 'min:0'], + 'results.*.good' => ['required_with:results', 'integer', 'min:0'], + 'results.*.reject' => ['required_with:results', 'integer', 'min:0'], 'result_prices' => ['nullable', 'array'], 'result_prices.*.product_variant_id' => ['required_with:result_prices', 'integer', 'exists:product_variants,id'], 'result_prices.*.prices' => ['required_with:result_prices', 'array', 'min:1'], @@ -50,8 +50,8 @@ public function attributes(): array 'result_prices.*.prices.*.price' => 'harga jual', 'results' => 'hasil cutting', 'results.*.product_variant_id' => 'varian produk', - 'results.*.sampel' => 'sampel', - 'results.*.hasil_cutting_diluar_sampel' => 'hasil cutting diluar sampel', + 'results.*.good' => 'bagus', + 'results.*.reject' => 'reject', ]; } @@ -71,8 +71,8 @@ public function withValidator(Validator $validator): void $cuttingResults = $cutting->results->keyBy('product_variant_id'); foreach ($this->input('results', []) as $index => $item) { $variantId = $item['product_variant_id'] ?? 0; - $sampel = (int) ($item['sampel'] ?? 0); - $hasilCuttingDiluarSampel = (int) ($item['hasil_cutting_diluar_sampel'] ?? 0); + $good = (int) ($item['good'] ?? 0); + $reject = (int) ($item['reject'] ?? 0); $originalResult = $cuttingResults->get($variantId); if ($originalResult === null) { @@ -81,8 +81,8 @@ public function withValidator(Validator $validator): void continue; } - if (($sampel + $hasilCuttingDiluarSampel) !== (int) $originalResult->cutting_result) { - $validator->errors()->add("results.{$index}.sampel", "Total jumlah (sampel + hasil cutting diluar sampel) harus sama dengan hasil cutting asli ({$originalResult->cutting_result} pcs)."); + if (($good + $reject) !== (int) $originalResult->cutting_result) { + $validator->errors()->add("results.{$index}.good", "Total jumlah (bagus + reject) harus sama dengan hasil cutting asli ({$originalResult->cutting_result} pcs)."); } } } diff --git a/app/Services/Manage/StockService.php b/app/Services/Manage/StockService.php index 7793c7f..fea0dd2 100644 --- a/app/Services/Manage/StockService.php +++ b/app/Services/Manage/StockService.php @@ -84,8 +84,8 @@ public function submitVerification( $cutting->results() ->where('product_variant_id', $item['product_variant_id']) ->update([ - 'sampel' => $item['sampel'], - 'hasil_cutting_diluar_sampel' => $item['hasil_cutting_diluar_sampel'], + 'sampel' => $item['good'], + 'hasil_cutting_diluar_sampel' => $item['reject'], ]); } $cutting->load('results'); diff --git a/resources/js/pages/admin/manage/stocks/Index.vue b/resources/js/pages/admin/manage/stocks/Index.vue index b2979fa..044f529 100644 --- a/resources/js/pages/admin/manage/stocks/Index.vue +++ b/resources/js/pages/admin/manage/stocks/Index.vue @@ -1,12 +1,18 @@ diff --git a/resources/js/pages/admin/manage/stocks/table/StockPendingApprovalSection.vue b/resources/js/pages/admin/manage/stocks/table/StockPendingApprovalSection.vue new file mode 100644 index 0000000..595e47a --- /dev/null +++ b/resources/js/pages/admin/manage/stocks/table/StockPendingApprovalSection.vue @@ -0,0 +1,96 @@ + + + diff --git a/resources/js/pages/admin/manage/stocks/table/StockPendingSection.vue b/resources/js/pages/admin/manage/stocks/table/StockPendingSection.vue index 45d7957..e8a2d8c 100644 --- a/resources/js/pages/admin/manage/stocks/table/StockPendingSection.vue +++ b/resources/js/pages/admin/manage/stocks/table/StockPendingSection.vue @@ -1,5 +1,12 @@