diff --git a/nuxt4-app/app/components/ingresos/TotalesMonetarios.vue b/nuxt4-app/app/components/ingresos/TotalesMonetarios.vue new file mode 100644 index 0000000..4137263 --- /dev/null +++ b/nuxt4-app/app/components/ingresos/TotalesMonetarios.vue @@ -0,0 +1,176 @@ + + + diff --git a/nuxt4-app/app/composables/useIngresosMetrics.ts b/nuxt4-app/app/composables/useIngresosMetrics.ts index d37946f..dbe9446 100644 --- a/nuxt4-app/app/composables/useIngresosMetrics.ts +++ b/nuxt4-app/app/composables/useIngresosMetrics.ts @@ -24,8 +24,10 @@ export interface IngresosMetrics { totalQqSecoOreadoPagado: ComputedRef totalQqSecoMojadoOreadoPagado: ComputedRef precioPromedioUvaPorQqLb: ComputedRef + precioPromedioUvaPorQq: ComputedRef precioPromedioOreadoPorQq: ComputedRef precioPromedioMojadoPorQq: ComputedRef + precioPromedioQqSeco: ComputedRef // Inversión inversionUva: ComputedRef @@ -168,6 +170,11 @@ export function useIngresosMetrics(ingresos: ComputedRef) { return sumaProducto / sumaPesoNeto }) + // Precio promedio uva por qq seco (500 lb uva = 1 qq seco) + const precioPromedioUvaPorQq = computed(() => { + return precioPromedioUvaPorQqLb.value * 500 + }) + const precioPromedioOreadoPorQq = computed(() => { const oreadosPagados = ingresos.value.filter(i => i.tipo === 'oreado' && i.estado === 'pagado') const sumaPesoSeco = oreadosPagados.reduce((sum, i) => sum + (i.peso_seco || 0), 0) @@ -194,6 +201,18 @@ export function useIngresosMetrics(ingresos: ComputedRef) { return (sumaProducto / sumaPesoSeco) / 2 }) + // Precio promedio ponderado de qq seco (combinando todos los tipos) + const precioPromedioQqSeco = computed(() => { + const todosPagados = ingresos.value.filter(i => i.estado === 'pagado') + const sumaPesoSeco = todosPagados.reduce((sum, i) => sum + (i.peso_seco || 0), 0) + + if (sumaPesoSeco === 0) return 0 + + const sumaTotal = todosPagados.reduce((sum, i) => sum + calcularTotalAPagar(i), 0) + + return sumaTotal / sumaPesoSeco + }) + // INVERSIÓN const inversionUva = computed(() => { return ingresos.value @@ -333,8 +352,10 @@ export function useIngresosMetrics(ingresos: ComputedRef) { totalQqSecoOreadoPagado, totalQqSecoMojadoOreadoPagado, precioPromedioUvaPorQqLb, + precioPromedioUvaPorQq, precioPromedioOreadoPorQq, precioPromedioMojadoPorQq, + precioPromedioQqSeco, // Inversión inversionUva, diff --git a/nuxt4-app/app/pages/panorama.vue b/nuxt4-app/app/pages/panorama.vue index 7b9abcd..c8f93d1 100644 --- a/nuxt4-app/app/pages/panorama.vue +++ b/nuxt4-app/app/pages/panorama.vue @@ -166,11 +166,9 @@ - - - - + +