Datos Principales
Productor:
{receta.productor?.nombre || '—'}
Establecimiento:
{receta.establecimiento?.nombre || '—'}
Fecha:
{receta.fecha}
Superficie Aplicable:
{receta.superficie} ha
Prestador:
{receta.prestador?.nombre || '—'}
Observación general:
{receta.observaciones || '—'}
{(() => {
// Check if it's the new format: all items share the same labor
const isNewFormat = receta.items && receta.items.length > 0 &&
receta.items.every((it: any) => it.labor === receta.items[0].labor);
if (isNewFormat) {
const labor = receta.items[0].labor;
const rinde = receta.items[0].rinde;
const momento_dia = receta.items[0].momento_dia;
const productos = receta.items[0].productos || [];
const lotesText = receta.items.map((it: any) => `${it.lote?.nombre} (${it.lote?.superficie} ha)`).join(", ");
const cultivosText = Array.from(new Set(receta.items.map((it: any) => it.cultivo?.nombre))).join(", ");
return (
Labor a Aplicar: {labor} {labor === 'Cosecha' && rinde ? `(${rinde} qq/ha)` : ''}
Lotes:
{lotesText}
Cultivo:
{cultivosText}
Momento:
{momento_dia || '—'}
{productos && productos.length > 0 ? (
|
Producto
|
Dosis
|
Cantidad total
|
{productos.map((producto: any, pIndex: number) => (
| {producto.nombre_producto} |
{Number(producto.dosis)} {producto.unidad}
|
{Number(producto.cantidad_total).toFixed(3)} {producto.unidad.split("/")[0]}
|
))}
) : (
Sin productos asociados (Labor de {labor})
)}
);
}
// Legacy format (multiple different labors)
return receta.items?.map((item: any, itemIndex: number) => (
0 ? 'border-t border-border' : ''}`}>
Labor #{itemIndex + 1}: {item.labor} {item.labor === 'Cosecha' && item.rinde ? `(${item.rinde} qq/ha)` : ''}
Lote:
{item.lote?.nombre} ({item.lote?.superficie} ha)
Cultivo:
{item.cultivo?.nombre}
Momento:
{item.momento_dia || '—'}
{item.productos && item.productos.length > 0 ? (
|
Producto
|
Dosis
|
Cantidad total
|
{item.productos.map((producto: any, pIndex: number) => (
| {producto.nombre_producto} |
{Number(producto.dosis)} {producto.unidad}
|
{Number(producto.cantidad_total).toFixed(3)} {producto.unidad.split("/")[0]}
|
))}
) : (
Sin productos asociados (Labor de {item.labor})
)}
));
})()}