diff --git a/app/Http/Requests/Admin/Manage/CuttingStatusTransitionRequest.php b/app/Http/Requests/Admin/Manage/CuttingStatusTransitionRequest.php index d7113ac..b4af0f7 100644 --- a/app/Http/Requests/Admin/Manage/CuttingStatusTransitionRequest.php +++ b/app/Http/Requests/Admin/Manage/CuttingStatusTransitionRequest.php @@ -102,7 +102,7 @@ public function withValidator(Validator $validator): void foreach ($this->input('results', []) as $index => $item) { $variantId = $item['product_variant_id'] ?? 0; $sample = (int) ($item['sample'] ?? 0); - $hasilCuttingDiluarsample = (int) ($item['original_outside_sample'] ?? 0); + $originalOutsideSample = (int) ($item['original_outside_sample'] ?? 0); $originalResult = $cuttingResults->get($variantId); if ($originalResult === null) { @@ -111,7 +111,7 @@ public function withValidator(Validator $validator): void continue; } - if (($sample + $hasilCuttingDiluarsample) !== (int) $originalResult->cutting_result) { + if (($sample + $originalOutsideSample) !== (int) $originalResult->cutting_result) { $validator->errors()->add("results.{$index}.sample", "Total jumlah (sample + hasil cutting diluar sample) harus sama dengan hasil cutting asli ({$originalResult->cutting_result} pcs)."); } } diff --git a/app/Services/Manage/CuttingService.php b/app/Services/Manage/CuttingService.php index b1cecc8..8f0170c 100644 --- a/app/Services/Manage/CuttingService.php +++ b/app/Services/Manage/CuttingService.php @@ -286,7 +286,7 @@ public function syncDraftResult(array $validated, User $user): array $cuttingResult = (int) $validated['cutting_result']; $sample = (int) $validated['sample']; - $hasilCuttingDiluarsample = (int) ($validated['original_outside_sample'] ?? 0); + $originalOutsideSample = (int) ($validated['original_outside_sample'] ?? 0); if ($cuttingResult < 1) { throw ValidationException::withMessages([ @@ -300,13 +300,13 @@ public function syncDraftResult(array $validated, User $user): array ]); } - if ($hasilCuttingDiluarsample < 0) { + if ($originalOutsideSample < 0) { throw ValidationException::withMessages([ 'original_outside_sample' => 'Hasil cutting diluar sample tidak boleh negatif.', ]); } - if (($sample + $hasilCuttingDiluarsample) !== $cuttingResult) { + if (($sample + $originalOutsideSample) !== $cuttingResult) { throw ValidationException::withMessages([ 'cutting_result' => 'Hasil cutting harus sama dengan sample ditambah hasil cutting diluar sample.', ]); @@ -321,7 +321,7 @@ public function syncDraftResult(array $validated, User $user): array [ 'cutting_result' => $cuttingResult, 'sample' => $sample, - 'original_outside_sample' => $hasilCuttingDiluarsample, + 'original_outside_sample' => $originalOutsideSample, ], ); @@ -678,7 +678,7 @@ private function buildResults(array $results): array $cuttingResult = (int) $itemData['cutting_result']; $sample = (int) $itemData['sample']; - $hasilCuttingDiluarsample = (int) ($itemData['original_outside_sample'] ?? 0); + $originalOutsideSample = (int) ($itemData['original_outside_sample'] ?? 0); if ($cuttingResult < 1) { throw ValidationException::withMessages([ @@ -692,13 +692,13 @@ private function buildResults(array $results): array ]); } - if ($hasilCuttingDiluarsample < 0) { + if ($originalOutsideSample < 0) { throw ValidationException::withMessages([ "results.{$index}.original_outside_sample" => 'Hasil cutting diluar sample tidak boleh negatif.', ]); } - if (($sample + $hasilCuttingDiluarsample) !== $cuttingResult) { + if (($sample + $originalOutsideSample) !== $cuttingResult) { throw ValidationException::withMessages([ "results.{$index}.cutting_result" => 'Hasil cutting harus sama dengan sample ditambah hasil cutting diluar sample.', ]); @@ -708,7 +708,7 @@ private function buildResults(array $results): array 'product_variant_id' => $variant->id, 'cutting_result' => $cuttingResult, 'sample' => $sample, - 'original_outside_sample' => $hasilCuttingDiluarsample, + 'original_outside_sample' => $originalOutsideSample, ]; }) ->all(); diff --git a/database/factories/CuttingResultFactory.php b/database/factories/CuttingResultFactory.php index 756c9d5..bc79ff4 100644 --- a/database/factories/CuttingResultFactory.php +++ b/database/factories/CuttingResultFactory.php @@ -15,14 +15,14 @@ class CuttingResultFactory extends Factory public function definition(): array { $cuttingResult = fake()->numberBetween(10, 200); - $hasilCuttingDiluarsample = fake()->numberBetween(0, (int) ($cuttingResult * 0.1)); + $originalOutsideSample = fake()->numberBetween(0, (int) ($cuttingResult * 0.1)); return [ 'cutting_id' => Cutting::factory(), 'product_variant_id' => ProductVariant::factory(), 'cutting_result' => $cuttingResult, - 'sample' => $cuttingResult - $hasilCuttingDiluarsample, - 'original_outside_sample' => $hasilCuttingDiluarsample, + 'sample' => $cuttingResult - $originalOutsideSample, + 'original_outside_sample' => $originalOutsideSample, ]; } } diff --git a/resources/js/pages/admin/manage/cuttings/form/useCuttingPosCart.ts b/resources/js/pages/admin/manage/cuttings/form/useCuttingPosCart.ts index 31165c1..33a2d8b 100644 --- a/resources/js/pages/admin/manage/cuttings/form/useCuttingPosCart.ts +++ b/resources/js/pages/admin/manage/cuttings/form/useCuttingPosCart.ts @@ -179,7 +179,7 @@ export function useCuttingPosCart(options: { variant: CuttingCatalogVariant, cuttingResult: string, sample: string, - hasilCuttingDiluarsample: string, + originalOutsideSample: string, ) { const { item } = await apiFetch<{ item: CuttingResultCartItem }>(draft_results.store.url(), { method: 'POST', @@ -187,7 +187,7 @@ export function useCuttingPosCart(options: { product_variant_id: variant.id, cutting_result: cuttingResult, sample, - original_outside_sample: hasilCuttingDiluarsample, + original_outside_sample: originalOutsideSample, }), }); @@ -198,7 +198,7 @@ export function useCuttingPosCart(options: { variantId: number, cuttingResult: string, sample: string, - hasilCuttingDiluarsample: string, + originalOutsideSample: string, ) { const { item } = await apiFetch<{ item: CuttingResultCartItem }>(draft_results.store.url(), { method: 'POST', @@ -206,7 +206,7 @@ export function useCuttingPosCart(options: { product_variant_id: variantId, cutting_result: cuttingResult, sample, - original_outside_sample: hasilCuttingDiluarsample, + original_outside_sample: originalOutsideSample, }), }); @@ -353,7 +353,7 @@ export function useCuttingPosCart(options: { } const nextsample = Math.max(0, (Number(item.sample) || 0) - 1); - const nextHasilCuttingDiluarsample = Math.max(nextQty - nextsample, 0); + const nextoriginalOutsideSample = Math.max(nextQty - nextsample, 0); if (toValue(options.isCreateMode)) { try { @@ -361,7 +361,7 @@ export function useCuttingPosCart(options: { variantId, String(nextQty), String(nextsample), - String(nextHasilCuttingDiluarsample), + String(nextoriginalOutsideSample), ); } catch (error) { toast.error(error instanceof Error ? error.message : 'Gagal memperbarui jumlah item.'); @@ -381,7 +381,7 @@ export function useCuttingPosCart(options: { ); const nextQty = existing ? (Number(existing.cutting_result) || 0) + 1 : 1; const nextsample = existing ? (Number(existing.sample) || 0) + 1 : 1; - const nextHasilCuttingDiluarsample = Math.max(nextQty - nextsample, 0); + const nextoriginalOutsideSample = Math.max(nextQty - nextsample, 0); if (toValue(options.isCreateMode)) { try { @@ -390,7 +390,7 @@ export function useCuttingPosCart(options: { variant, String(nextQty), String(nextsample), - String(nextHasilCuttingDiluarsample), + String(nextoriginalOutsideSample), ); } catch (error) { toast.error(error instanceof Error ? error.message : 'Gagal menyimpan item ke keranjang.');