refactor
This commit is contained in:
@@ -18,7 +18,6 @@
|
|||||||
const evValues: number[] = [];
|
const evValues: number[] = [];
|
||||||
|
|
||||||
if (issues && issues.length) {
|
if (issues && issues.length) {
|
||||||
// 1️⃣ Determinar rango de fechas (inicio y fin global)
|
|
||||||
let minDate: Date | null = null;
|
let minDate: Date | null = null;
|
||||||
let maxDate: Date | null = null;
|
let maxDate: Date | null = null;
|
||||||
|
|
||||||
@@ -37,7 +36,6 @@
|
|||||||
minDate ??= new Date();
|
minDate ??= new Date();
|
||||||
maxDate ??= new Date();
|
maxDate ??= new Date();
|
||||||
|
|
||||||
// 2️⃣ Generar timeline diaria
|
|
||||||
for (
|
for (
|
||||||
let d = new Date(minDate);
|
let d = new Date(minDate);
|
||||||
d <= maxDate;
|
d <= maxDate;
|
||||||
@@ -48,14 +46,13 @@
|
|||||||
|
|
||||||
const totalIssues = issues.length;
|
const totalIssues = issues.length;
|
||||||
|
|
||||||
// 3️⃣ Calcular PV como curva S teórica
|
|
||||||
for (const dateStr of dates) {
|
for (const dateStr of dates) {
|
||||||
const current = new Date(dateStr);
|
const current = new Date(dateStr);
|
||||||
const progress =
|
const progress =
|
||||||
(current.getTime() - minDate.getTime()) /
|
(current.getTime() - minDate.getTime()) /
|
||||||
(maxDate.getTime() - minDate.getTime());
|
(maxDate.getTime() - minDate.getTime());
|
||||||
|
|
||||||
// Curva sigmoide (forma de S)
|
// Formula para calcular la S
|
||||||
const sCurve = 1 / (1 + Math.exp(-12 * (progress - 0.36)));
|
const sCurve = 1 / (1 + Math.exp(-12 * (progress - 0.36)));
|
||||||
const pv = sCurve * presupuesto;
|
const pv = sCurve * presupuesto;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user