diff --git a/src/components/pages/marketing/form/repeater/sales-order/SalesOrderProductForm.tsx b/src/components/pages/marketing/form/repeater/sales-order/SalesOrderProductForm.tsx index 49d8a9f1..a17dbda1 100644 --- a/src/components/pages/marketing/form/repeater/sales-order/SalesOrderProductForm.tsx +++ b/src/components/pages/marketing/form/repeater/sales-order/SalesOrderProductForm.tsx @@ -74,6 +74,24 @@ const SalesOrderProductForm = ({ ? Number(initialValues?.unit_price) : 0; + const isInitialTelurQty = + initialValues?.marketing_type?.value?.toLowerCase() === 'telur' && + initialValues?.convertion_unit?.value?.toLowerCase() === 'qty'; + + const initialUnitPrice = + isInitialTelurQty && + Number(initialValues?.total_price || 0) > 0 && + Number(initialValues?.qty || 0) > 0 + ? Number(initialValues?.total_price) / Number(initialValues?.qty) + : initialValues?.unit_price || ''; + + const initialPricePerQty = + isInitialTelurQty && + Number(initialValues?.total_price || 0) > 0 && + Number(initialValues?.total_weight || 0) > 0 + ? Number(initialValues?.total_price) / Number(initialValues?.total_weight) + : (initialValues?.price_per_qty ?? null); + const initialPriceSisaBerat = initialValues?.total_price && initialValues?.total_peti ? Number(initialValues.total_price) - @@ -97,7 +115,7 @@ const SalesOrderProductForm = ({ product_warehouse: initialValues?.product_warehouse || null, product_warehouse_data: initialValues?.product_warehouse_data || null, product_warehouse_id: initialValues?.product_warehouse_id || undefined, - unit_price: initialValues?.unit_price || '', + unit_price: initialUnitPrice, total_weight: initialValues?.total_weight || '', qty: initialValues?.qty || '', avg_weight: initialValues?.avg_weight || '', @@ -111,7 +129,7 @@ const SalesOrderProductForm = ({ convertion_unit: initialValues?.convertion_unit || null, marketing_type: initialValues?.marketing_type || null, total_peti: initialValues?.total_peti ?? null, - price_per_qty: initialValues?.price_per_qty ?? null, + price_per_qty: initialPricePerQty, sisa_berat: initialSisaBerat, price_sisa_berat: initialPriceSisaBerat, week: initialValues?.week ?? null, @@ -728,35 +746,12 @@ const SalesOrderProductForm = ({ /> )} - {/* Harga per butir untuk TELUR + QTY */} - {formik.values.marketing_type?.value.toLowerCase() === 'telur' && - formik.values.convertion_unit?.value.toLowerCase() === 'qty' && ( - { - const value = Number(e.target.value); - handleFieldChange('price_per_qty', value, () => - setCurrentInput('price_per_qty') - ); - }} - isError={ - formik.touched.price_per_qty && - Boolean(formik.errors.price_per_qty) - } - errorMessage={formik.errors.price_per_qty} - placeholder='Masukan Harga per Butir' - /> - )} - {/* Harga Satuan per Uom Produk Warehouse */} {formik.values.convertion_unit?.value.toLowerCase() !== 'peti' && formik.values.convertion_unit?.value.toLowerCase() !== 'kg' && ( { @@ -773,6 +768,29 @@ const SalesOrderProductForm = ({ /> )} + {/* Harga per kg untuk TELUR + QTY */} + {formik.values.marketing_type?.value.toLowerCase() === 'telur' && + formik.values.convertion_unit?.value.toLowerCase() === 'qty' && ( + { + const value = Number(e.target.value); + handleFieldChange('price_per_qty', value, () => + setCurrentInput('price_per_qty') + ); + }} + isError={ + formik.touched.price_per_qty && + Boolean(formik.errors.price_per_qty) + } + errorMessage={formik.errors.price_per_qty} + placeholder='Masukan Harga per Kg' + /> + )} + {/* Sisa kg diluar peti */} {formik.values.convertion_unit?.value.toLowerCase() === 'peti' && (