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) {
$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).");
}
}

View File

@ -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();

View File

@ -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,
];
}
}

View File

@ -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.');