refactor: consistently rename 'hasilCuttingDiluarsample' to 'originalOutsideSample' across models, requests, and UI components for improved clarity in cutting results management
This commit is contained in:
parent
4e3e935f43
commit
ebd48d4cb4
@ -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).");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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();
|
||||||
|
|||||||
@ -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,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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.');
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user