Optimizacion de obtencion de datos.

This commit is contained in:
Juan Pablo Vial
2025-04-24 19:23:39 -04:00
parent d910f3eb69
commit b4ca59fb6d
5 changed files with 57 additions and 9 deletions

View File

@ -305,14 +305,14 @@
return Promise.all(promises)
},
prices: progress_bar => {
const unsold = [...units.data.units.filter(unit => !unit.sold), ...units.data.units.filter(unit => unit.sold && unit.proyecto_tipo_unidad.tipo_unidad.descripcion !== 'departamento')]
/*const unsold = [...units.data.units.filter(unit => !unit.sold), ...units.data.units.filter(unit => unit.sold && unit.proyecto_tipo_unidad.tipo_unidad.descripcion !== 'departamento')]
const current_total = progress_bar.progress('get total')
progress_bar.progress('set total', current_total + unsold.length)
progress_bar.progress('set total', current_total + unsold.length)*/
const chunkSize = 100
const chunks = []
for (let i = 0; i < unsold.length; i += chunkSize) {
chunks.push(unsold.slice(i, i + chunkSize).map(u => u.id))
for (let i = 0; i < units.data.units.length; i += chunkSize) {
chunks.push(units.data.units.slice(i, i + chunkSize).map(u => u.id))
}
const promises = []
const url = `{{ $urls->api }}/proyecto/{{ $contract->project->id }}/unidades/precios`
@ -368,12 +368,13 @@
return
}
const sum_precios = departamentos.map(departamento => {
return departamento.valor
const idx = units.data.units.findIndex(unit => unit.id === departamento.id)
return units.data.units[idx].precio
}).reduce((sum, precio) => sum + precio, 0)
departamentos.forEach(departamento => {
const idx = units.data.units.findIndex(unit => unit.id === departamento.id)
const saldo = venta.valor - precios
units.data.units[idx].valor = saldo / sum_precios * departamento.valor
units.data.units[idx].valor = saldo / sum_precios * departamento.precio
units.data.units[idx].venta = venta
})
})
@ -448,7 +449,7 @@
const units_length = units.data.units.length
const progress_bar = $(`#${units.ids.load_progress}`)
progress_bar.progress({ total: units_length * 2 })
progress_bar.progress({ total: units_length * 3 })
loader.hide()