refactor: update raw material loading to include 'unit_abbreviation' for improved material detail consistency across cutting services

This commit is contained in:
Yoga Pangestu 2026-06-29 09:00:42 +07:00
parent ebd48d4cb4
commit 4135dcb4c3
3 changed files with 15 additions and 7 deletions

View File

@ -812,11 +812,14 @@ private function breakMaterialCircularReference(CuttingMaterial $material): void
$rawMaterial = $price->rawMaterial;
$material->setAttribute('variant', $price->variant);
$material->setAttribute('stock_input', $price->stock_input);
$material->setAttribute('images', $price->getAttribute('images') ?? []);
if ($rawMaterial) {
$unitAbbreviation = $rawMaterial->unit->abbreviation();
$price->setAttribute('unit_abbreviation', $unitAbbreviation);
$material->setAttribute('unit_abbreviation', $unitAbbreviation);
$material->setAttribute('unit', $rawMaterial->unit->value);
$material->setAttribute('raw_material_id', $rawMaterial->id);
$material->setAttribute('raw_material_name', $rawMaterial->name);
$material->setAttribute('raw_material_unit_label', $rawMaterial->unit->label());

View File

@ -23,14 +23,13 @@ const initialData = computed(() => ({
other_cost: String(props.cutting.other_cost ?? 0),
materials: props.cutting.materials.map((item) => ({
raw_material_price_id: item.raw_material_price_id,
raw_material_name: item.raw_material_price?.raw_material?.name ?? '',
variant: item.raw_material_price?.variant ?? '',
unit: item.raw_material_price?.raw_material?.unit ?? 'kilogram',
unit_abbreviation:
item.raw_material_price?.raw_material?.unit_abbreviation ?? '',
stock_input: item.raw_material_price?.stock_input ?? '',
raw_material_name: item.raw_material_name ?? '',
variant: item.variant ?? '',
unit: item.unit ?? 'kilogram',
unit_abbreviation: item.unit_abbreviation ?? '',
stock_input: item.stock_input ?? '',
material_usage: item.material_usage_input,
images: item.raw_material_price?.images ?? [],
images: item.images ?? [],
})),
results: props.cutting.results.map((item) => ({
product_variant_id: item.product_variant_id,

View File

@ -134,6 +134,12 @@ export type CuttingEditItem = {
materials: Array<{
raw_material_price_id: number;
material_usage_input: string;
variant?: string;
stock_input?: string;
images?: MediaItem[];
unit?: string;
unit_abbreviation?: string;
raw_material_name?: string;
raw_material_price?: {
variant: string;
stock_input?: string;