refactor: consistently rename 'hasilCuttingDiluarsample' to 'originalOutsideSample' across models, requests, and UI components for improved clarity in cutting results management

This commit is contained in:
Yoga Pangestu 2026-06-29 08:49:38 +07:00
parent 4e3e935f43
commit ebd48d4cb4
4 changed files with 21 additions and 21 deletions

View File

@ -102,7 +102,7 @@ public function withValidator(Validator $validator): void
foreach ($this->input('results', []) as $index => $item) { foreach ($this->input('results', []) as $index => $item) {
$variantId = $item['product_variant_id'] ?? 0; $variantId = $item['product_variant_id'] ?? 0;
$sample = (int) ($item['sample'] ?? 0); $sample = (int) ($item['sample'] ?? 0);
$hasilCuttingDiluarsample = (int) ($item['original_outside_sample'] ?? 0); $originalOutsideSample = (int) ($item['original_outside_sample'] ?? 0);
$originalResult = $cuttingResults->get($variantId); $originalResult = $cuttingResults->get($variantId);
if ($originalResult === null) { if ($originalResult === null) {
@ -111,7 +111,7 @@ public function withValidator(Validator $validator): void
continue; 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)."); $validator->errors()->add("results.{$index}.sample", "Total jumlah (sample + hasil cutting diluar sample) harus sama dengan hasil cutting asli ({$originalResult->cutting_result} pcs).");
} }
} }

View File

@ -286,7 +286,7 @@ public function syncDraftResult(array $validated, User $user): array
$cuttingResult = (int) $validated['cutting_result']; $cuttingResult = (int) $validated['cutting_result'];
$sample = (int) $validated['sample']; $sample = (int) $validated['sample'];
$hasilCuttingDiluarsample = (int) ($validated['original_outside_sample'] ?? 0); $originalOutsideSample = (int) ($validated['original_outside_sample'] ?? 0);
if ($cuttingResult < 1) { if ($cuttingResult < 1) {
throw ValidationException::withMessages([ throw ValidationException::withMessages([
@ -300,13 +300,13 @@ public function syncDraftResult(array $validated, User $user): array
]); ]);
} }
if ($hasilCuttingDiluarsample < 0) { if ($originalOutsideSample < 0) {
throw ValidationException::withMessages([ throw ValidationException::withMessages([
'original_outside_sample' => 'Hasil cutting diluar sample tidak boleh negatif.', 'original_outside_sample' => 'Hasil cutting diluar sample tidak boleh negatif.',
]); ]);
} }
if (($sample + $hasilCuttingDiluarsample) !== $cuttingResult) { if (($sample + $originalOutsideSample) !== $cuttingResult) {
throw ValidationException::withMessages([ throw ValidationException::withMessages([
'cutting_result' => 'Hasil cutting harus sama dengan sample ditambah hasil cutting diluar sample.', '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, 'cutting_result' => $cuttingResult,
'sample' => $sample, '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']; $cuttingResult = (int) $itemData['cutting_result'];
$sample = (int) $itemData['sample']; $sample = (int) $itemData['sample'];
$hasilCuttingDiluarsample = (int) ($itemData['original_outside_sample'] ?? 0); $originalOutsideSample = (int) ($itemData['original_outside_sample'] ?? 0);
if ($cuttingResult < 1) { if ($cuttingResult < 1) {
throw ValidationException::withMessages([ throw ValidationException::withMessages([
@ -692,13 +692,13 @@ private function buildResults(array $results): array
]); ]);
} }
if ($hasilCuttingDiluarsample < 0) { if ($originalOutsideSample < 0) {
throw ValidationException::withMessages([ throw ValidationException::withMessages([
"results.{$index}.original_outside_sample" => 'Hasil cutting diluar sample tidak boleh negatif.', "results.{$index}.original_outside_sample" => 'Hasil cutting diluar sample tidak boleh negatif.',
]); ]);
} }
if (($sample + $hasilCuttingDiluarsample) !== $cuttingResult) { if (($sample + $originalOutsideSample) !== $cuttingResult) {
throw ValidationException::withMessages([ throw ValidationException::withMessages([
"results.{$index}.cutting_result" => 'Hasil cutting harus sama dengan sample ditambah hasil cutting diluar sample.', "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, 'product_variant_id' => $variant->id,
'cutting_result' => $cuttingResult, 'cutting_result' => $cuttingResult,
'sample' => $sample, 'sample' => $sample,
'original_outside_sample' => $hasilCuttingDiluarsample, 'original_outside_sample' => $originalOutsideSample,
]; ];
}) })
->all(); ->all();

View File

@ -15,14 +15,14 @@ class CuttingResultFactory extends Factory
public function definition(): array public function definition(): array
{ {
$cuttingResult = fake()->numberBetween(10, 200); $cuttingResult = fake()->numberBetween(10, 200);
$hasilCuttingDiluarsample = fake()->numberBetween(0, (int) ($cuttingResult * 0.1)); $originalOutsideSample = fake()->numberBetween(0, (int) ($cuttingResult * 0.1));
return [ return [
'cutting_id' => Cutting::factory(), 'cutting_id' => Cutting::factory(),
'product_variant_id' => ProductVariant::factory(), 'product_variant_id' => ProductVariant::factory(),
'cutting_result' => $cuttingResult, 'cutting_result' => $cuttingResult,
'sample' => $cuttingResult - $hasilCuttingDiluarsample, 'sample' => $cuttingResult - $originalOutsideSample,
'original_outside_sample' => $hasilCuttingDiluarsample, 'original_outside_sample' => $originalOutsideSample,
]; ];
} }
} }

View File

@ -179,7 +179,7 @@ export function useCuttingPosCart(options: {
variant: CuttingCatalogVariant, variant: CuttingCatalogVariant,
cuttingResult: string, cuttingResult: string,
sample: string, sample: string,
hasilCuttingDiluarsample: string, originalOutsideSample: string,
) { ) {
const { item } = await apiFetch<{ item: CuttingResultCartItem }>(draft_results.store.url(), { const { item } = await apiFetch<{ item: CuttingResultCartItem }>(draft_results.store.url(), {
method: 'POST', method: 'POST',
@ -187,7 +187,7 @@ export function useCuttingPosCart(options: {
product_variant_id: variant.id, product_variant_id: variant.id,
cutting_result: cuttingResult, cutting_result: cuttingResult,
sample, sample,
original_outside_sample: hasilCuttingDiluarsample, original_outside_sample: originalOutsideSample,
}), }),
}); });
@ -198,7 +198,7 @@ export function useCuttingPosCart(options: {
variantId: number, variantId: number,
cuttingResult: string, cuttingResult: string,
sample: string, sample: string,
hasilCuttingDiluarsample: string, originalOutsideSample: string,
) { ) {
const { item } = await apiFetch<{ item: CuttingResultCartItem }>(draft_results.store.url(), { const { item } = await apiFetch<{ item: CuttingResultCartItem }>(draft_results.store.url(), {
method: 'POST', method: 'POST',
@ -206,7 +206,7 @@ export function useCuttingPosCart(options: {
product_variant_id: variantId, product_variant_id: variantId,
cutting_result: cuttingResult, cutting_result: cuttingResult,
sample, 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 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)) { if (toValue(options.isCreateMode)) {
try { try {
@ -361,7 +361,7 @@ export function useCuttingPosCart(options: {
variantId, variantId,
String(nextQty), String(nextQty),
String(nextsample), String(nextsample),
String(nextHasilCuttingDiluarsample), String(nextoriginalOutsideSample),
); );
} catch (error) { } catch (error) {
toast.error(error instanceof Error ? error.message : 'Gagal memperbarui jumlah item.'); 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 nextQty = existing ? (Number(existing.cutting_result) || 0) + 1 : 1;
const nextsample = existing ? (Number(existing.sample) || 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)) { if (toValue(options.isCreateMode)) {
try { try {
@ -390,7 +390,7 @@ export function useCuttingPosCart(options: {
variant, variant,
String(nextQty), String(nextQty),
String(nextsample), String(nextsample),
String(nextHasilCuttingDiluarsample), String(nextoriginalOutsideSample),
); );
} catch (error) { } catch (error) {
toast.error(error instanceof Error ? error.message : 'Gagal menyimpan item ke keranjang.'); toast.error(error instanceof Error ? error.message : 'Gagal menyimpan item ke keranjang.');