{"version":3,"sources":["./src/app/material-component/flujo-mensual/services/flujo-mensual-http.service.ts","./src/app/material-component/flujo-mensual/services/flujo-mensual.service.ts","./src/app/material-component/periodo-fiscal/services/periodo-fiscal-http.service.ts","./src/app/material-component/periodo-fiscal/services/periodo-fiscal.service.ts","./src/app/material-component/presupuesto-anual/services/presupuesto-anual-http.service.ts","./src/app/material-component/presupuesto-anual/services/presupuesto-anual.service.ts","./src/app/material-component/shared/constantes/index.ts","./src/app/material-component/shared/utils/types.ts","./src/app/material-component/shared/utils/utils.ts"],"names":[],"mappings":"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","file":"default~flujo-mensual-flujo-mensual-module-ngfactory~proyecto-UE-gestion-proyecto-module-ngfactory~p~22177f4b-es2015.7e282c8ba3c5794cbc3d.js","sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { IFlujoMensual } from '../IFlujoMensual';\r\nimport { throwError } from 'rxjs/internal/observable/throwError';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\nconst httpOptions = {\r\n  headers: new HttpHeaders({\r\n    'Content-Type': 'application/json',\r\n    'Authorization': 'my-auth-token'\r\n  })\r\n};\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class FlujoMensualHttpService {\r\n\r\n  baseUrl = environment.serverUrl + '/api/flujoMensual';\r\n\r\n  constructor(private _http: HttpClient) {}\r\n\r\n  getAll(): Observable<IFlujoMensual[]> {\r\n    return this._http.get<Array<IFlujoMensual>>(`${this.baseUrl}`)\r\n      .pipe(\r\n        catchError(this.handleError)\r\n      );\r\n  }\r\n\r\n  getFlujoMensualByProyecto(proyectoId: string): Observable<IFlujoMensual> {\r\n    return this._http.get<IFlujoMensual>(`${this.baseUrl}/proyecto/${proyectoId}`)\r\n      .pipe(\r\n        catchError(this.handleError)\r\n      );\r\n  }\r\n\r\n  upsertFlujosMensuales(flujosMensuales: IFlujoMensual[]) {\r\n    return this._http.put<Array<IFlujoMensual>>(`${this.baseUrl}/bulk`, flujosMensuales, httpOptions)\r\n      .pipe(\r\n        catchError(this.handleError)\r\n      );\r\n  }\r\n\r\n  private handleError(error: HttpErrorResponse) {\r\n    if (error.error instanceof ErrorEvent) {\r\n      // A client-side or network error occurred. Handle it accordingly.\r\n      console.error('Ocurrio un error:', error.error.message);\r\n    } else {\r\n      // The backend returned an unsuccessful response code.\r\n      // The response body may contain clues as to what went wrong,\r\n      console.error(\r\n        `Backend retorno el error  ${error.status}, ` +\r\n        `con el cuerpo: ${error.error}`);\r\n    }\r\n    // return an observable with a user-facing error message\r\n    return throwError(`Algo no salio bien, Por favor intente de nuevo mas tarde. ${error.error}`);\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { FlujoMensualHttpService } from './flujo-mensual-http.service';\r\nimport { IFlujoMensual } from '../IFlujoMensual';\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class FlujoMensualService {\r\n\r\n  constructor(private _httpService: FlujoMensualHttpService) {}\r\n\r\n  getAll() {\r\n    return this._httpService.getAll();\r\n  }\r\n\r\n  getFlujoMensualByProyecto(proyectoId: string) {\r\n    return this._httpService.getFlujoMensualByProyecto(proyectoId);\r\n  }\r\n\r\n  upsertFlujosMensuales(flujosMensuales: IFlujoMensual[]) {\r\n    return this._httpService.upsertFlujosMensuales(flujosMensuales);\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { IPeriodoFiscal } from '../i-periodo-fiscal';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { throwError } from 'rxjs/internal/observable/throwError';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\nconst httpOptions = {\r\n  headers: new HttpHeaders({\r\n    'Content-Type': 'application/json',\r\n    'Authorization': 'my-auth-token'\r\n  })\r\n};\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class PeriodoFiscalHttpService {\r\n\r\n  baseUrl = environment.serverUrl + '/api/periodoFiscalCoviar';\r\n\r\n  constructor(private _http: HttpClient) {\r\n  }\r\n\r\n  getPeriodosFiscales() {\r\n    return this._http.get<Array<IPeriodoFiscal>>(`${this.baseUrl}`)\r\n      .pipe(\r\n        catchError(this.handleError)\r\n      );\r\n  }\r\n\r\n  getPeriodoFiscalById(id: string) {\r\n    return this._http.get<Array<IPeriodoFiscal>>(`${this.baseUrl}/${id}`)\r\n      .pipe(\r\n        catchError(this.handleError)\r\n      );\r\n  }\r\n\r\n  getPeriodoFiscalActual() {\r\n    return this._http.get<IPeriodoFiscal>(`${this.baseUrl}/periodoActual`)\r\n      .pipe(\r\n        catchError(this.handleError)\r\n      );\r\n  }\r\n\r\n  createPeriodoFiscal(periodoFiscal: IPeriodoFiscal) {\r\n    return this._http.post<IPeriodoFiscal>(`${this.baseUrl}`, periodoFiscal, httpOptions)\r\n      .pipe(\r\n        catchError(this.handleError)\r\n      );\r\n  }\r\n\r\n\r\n  updatePeriodoFiscal(periodoFiscal: IPeriodoFiscal) {\r\n    return this._http.put<IPeriodoFiscal>(`${this.baseUrl}/${periodoFiscal._id}`, periodoFiscal, httpOptions)\r\n      .pipe(\r\n        catchError(this.handleError)\r\n      );\r\n  }\r\n\r\n  deletePeriodoFiscal(periodoFiscal: IPeriodoFiscal) {\r\n    return this._http.delete(`${this.baseUrl}/${periodoFiscal._id}`)\r\n      .pipe(\r\n        catchError(this.handleError)\r\n      );\r\n  }\r\n\r\n  private handleError(error: HttpErrorResponse) {\r\n    if (error.error instanceof ErrorEvent) {\r\n      // A client-side or network error occurred. Handle it accordingly.\r\n      console.error('Ocurrio un error:', error.error.message);\r\n    } else {\r\n      // The backend returned an unsuccessful response code.\r\n      // The response body may contain clues as to what went wrong,\r\n      console.error(\r\n        `Backend retorno el error  ${error.status}, ` +\r\n        `con el cuerpo: ${error.error}`);\r\n    }\r\n    // return an observable with a user-facing error message\r\n    return throwError(`Algo no salio bien, Por favor intente de nuevo mas tarde. ${error.error}`);\r\n  };\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { PeriodoFiscalHttpService } from './periodo-fiscal-http.service';\r\nimport { IPeriodoFiscal } from '../i-periodo-fiscal';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class PeriodoFiscalService {\r\n\r\n  constructor(private _httpService: PeriodoFiscalHttpService) {\r\n  }\r\n\r\n  getPeriodosFiscales() {\r\n    return this._httpService.getPeriodosFiscales();\r\n  }\r\n\r\n  getPeriodoFiscalById(id: string) {\r\n    return this._httpService.getPeriodoFiscalById(id);\r\n  }\r\n\r\n  getPeriodoFiscalActual() {\r\n    return this._httpService.getPeriodoFiscalActual();\r\n  }\r\n\r\n  createPeriodoFiscal(periodoFiscal: IPeriodoFiscal) {\r\n    return this._httpService.createPeriodoFiscal(periodoFiscal);\r\n  }\r\n\r\n  updatePeriodoFiscal(periodoFiscal: IPeriodoFiscal) {\r\n    return this._httpService.updatePeriodoFiscal(periodoFiscal);\r\n  }\r\n\r\n  deletePeriodoFiscal(periodoFiscal: IPeriodoFiscal) {\r\n    return this._httpService.deletePeriodoFiscal(periodoFiscal);\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { IPresupuestoAnual } from '../IPresupuestoAnual';\r\nimport { throwError } from 'rxjs/internal/observable/throwError';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\nconst httpOptions = {\r\n  headers: new HttpHeaders({\r\n    'Content-Type': 'application/json',\r\n    'Authorization': 'my-auth-token'\r\n  })\r\n};\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class PresupuestoAnualHttpService {\r\n\r\n  baseUrl = environment.serverUrl + '/api/presupuestoAnualProyecto';\r\n\r\n  constructor(private _http: HttpClient) {}\r\n\r\n  getAll(): Observable<IPresupuestoAnual[]> {\r\n    return this._http.get<Array<IPresupuestoAnual>>(`${this.baseUrl}`)\r\n      .pipe(\r\n        catchError(this.handleError)\r\n      );\r\n  }\r\n\r\n  getByIdProyecto(idProyecto: string): Observable<IPresupuestoAnual> {\r\n    return this._http.get<IPresupuestoAnual>(`${this.baseUrl}/proyecto/${idProyecto}`)\r\n      .pipe(\r\n        catchError(this.handleError)\r\n      );\r\n  }\r\n\r\n  upsertPresupuestosAnuales(presupuestosAnuales: IPresupuestoAnual[]) {\r\n    return this._http.put<Array<IPresupuestoAnual>>(`${this.baseUrl}/bulk`, presupuestosAnuales, httpOptions)\r\n      .pipe(\r\n        catchError(this.handleError)\r\n      );\r\n  }\r\n\r\n  private handleError(error: HttpErrorResponse) {\r\n    if (error.error instanceof ErrorEvent) {\r\n      // A client-side or network error occurred. Handle it accordingly.\r\n      console.error('Ocurrio un error:', error.error.message);\r\n    } else {\r\n      // The backend returned an unsuccessful response code.\r\n      // The response body may contain clues as to what went wrong,\r\n      console.error(\r\n        `Backend retorno el error  ${error.status}, ` +\r\n        `con el cuerpo: ${error.error}`);\r\n    }\r\n    // return an observable with a user-facing error message\r\n    return throwError(`Algo no salio bien, Por favor intente de nuevo mas tarde. ${error.error}`);\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { PresupuestoAnualHttpService } from './presupuesto-anual-http.service';\r\nimport { IPresupuestoAnual } from '../IPresupuestoAnual';\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class PresupuestoAnualService {\r\n\r\n  constructor(private _httpService: PresupuestoAnualHttpService) {}\r\n\r\n  getAll() {\r\n    return this._httpService.getAll();\r\n  }\r\n\r\n  getByIdProyecto(idProyecto: string) {\r\n    return this._httpService.getByIdProyecto(idProyecto);\r\n  }\r\n\r\n  upsertPresupuestosAnuales(presupuestosAnuales: IPresupuestoAnual[]) {\r\n    return this._httpService.upsertPresupuestosAnuales(presupuestosAnuales);\r\n  }\r\n}\r\n","import { MesProperty } from \"../utils/types\";\r\n\r\nexport const MESES = [{\r\n  nombre: 'julio',\r\n  valor: 7\r\n}, {\r\n  nombre: 'agosto',\r\n  valor: 8\r\n}, {\r\n  nombre: 'setiembre',\r\n  valor: 9\r\n}, {\r\n  nombre: 'octubre',\r\n  valor: 10\r\n}, {\r\n  nombre: 'noviembre',\r\n  valor: 11\r\n}, {\r\n  nombre: 'diciembre',\r\n  valor: 12\r\n}, {\r\n  nombre: 'enero',\r\n  valor: 1\r\n}, {\r\n  nombre: 'febrero',\r\n  valor: 2\r\n}, {\r\n  nombre: 'marzo',\r\n  valor: 3\r\n}, {\r\n  nombre: 'abril',\r\n  valor: 4\r\n}, {\r\n  nombre: 'mayo',\r\n  valor: 5\r\n}, {\r\n  nombre: 'junio',\r\n  valor: 6\r\n}];\r\n\r\nexport const NOMBRE_MESES: MesProperty[] = [\r\n  'Julio',\r\n  'Agosto',\r\n  'Setiembre',\r\n  'Octubre',\r\n  'Noviembre',\r\n  'Diciembre',\r\n  'Enero',\r\n  'Febrero',\r\n  'Marzo',\r\n  'Abril',\r\n  'Mayo',\r\n  'Junio',\r\n];\r\n\r\nexport const NOMBRE_MESES_ORDENADO: MesProperty[] = [\r\n  'Enero',\r\n  'Febrero',\r\n  'Marzo',\r\n  'Abril',\r\n  'Mayo',\r\n  'Junio',\r\n  'Julio',\r\n  'Agosto',\r\n  'Setiembre',\r\n  'Octubre',\r\n  'Noviembre',\r\n  'Diciembre',\r\n];\r\n\r\n\r\n","import { NOMBRE_MESES } from \"../constantes\";\r\n\r\nexport type MesKey = 'enero' | 'febrero' | 'marzo' | 'abril' | 'mayo' | 'junio' | 'julio' | 'agosto' | 'setiembre' | 'octubre' | 'noviembre' | 'diciembre';\r\nexport type MesProperty = 'Enero' | 'Febrero' | 'Marzo' | 'Abril' | 'Mayo' | 'Junio' | 'Julio' | 'Agosto' | 'Setiembre' | 'Octubre' | 'Noviembre' | 'Diciembre';\r\nexport type Trimetre = 1 | 2 | 3 | 4;\r\nexport type TrimetreTitle = \"T1\" | \"T2\" | \"T3\" | \"T4\";\r\nexport type MesKeyField<T> = { [mes in MesKey]?: T }\r\nexport type NullabeMesKeyPropertyField<T> = { [mes in MesProperty]?: T | null }\r\nexport type MesKeyPropertyField<T> = { [mes in MesProperty]?: T }\r\nexport type StandarOpetarion<T> = { value: T }\r\n\r\nexport type WithId<T, idT> = {\r\n    [key in keyof T]?: T[key];\r\n} & { _id: idT }\r\n\r\nexport interface MesOperationKey<T> {\r\n    julio?: {\r\n        value: T,\r\n        label: 'Julio',\r\n        key: 'julio',\r\n        property: 'Julio',\r\n        calendario: 7,\r\n        fiscal: 1\r\n    };\r\n    agosto?: {\r\n        value: T,\r\n        label: 'Agosto',\r\n        key: 'agosto',\r\n        property: 'Agosto',\r\n        calendario: 8,\r\n        fiscal: 2\r\n    };\r\n    setiembre?: {\r\n        value: T,\r\n        label: 'Septiembre',\r\n        key: 'setiembre',\r\n        property: 'Setiembre',\r\n        calendario: 9,\r\n        fiscal: 3\r\n    };\r\n    octubre?: {\r\n        value: T,\r\n        label: 'Octubre',\r\n        key: 'octubre',\r\n        property: 'Octubre',\r\n        calendario: 10,\r\n        fiscal: 4\r\n    };\r\n    noviembre?: {\r\n        value: T,\r\n        label: 'Noviembre',\r\n        key: 'noviembre',\r\n        property: 'Noviembre',\r\n        calendario: 11,\r\n        fiscal: 5\r\n    };\r\n    diciembre?: {\r\n        value: T,\r\n        label: 'Diciembre',\r\n        key: 'diciembre',\r\n        property: 'Diciembre',\r\n        calendario: 12,\r\n        fiscal: 6\r\n    };\r\n    enero?: {\r\n        value: T,\r\n        label: 'Enero',\r\n        key: 'enero',\r\n        property: 'Enero',\r\n        calendario: 1,\r\n        fiscal: 7\r\n    };\r\n    febrero?: {\r\n        value: T,\r\n        label: 'Febrero',\r\n        key: 'febrero',\r\n        property: 'Febrero',\r\n        calendario: 2,\r\n        fiscal: 8\r\n    };\r\n    marzo?: {\r\n        value: T,\r\n        label: 'Marzo',\r\n        key: 'marzo',\r\n        property: 'Marzo',\r\n        calendario: 3,\r\n        fiscal: 9\r\n    };\r\n    abril?: {\r\n        value: T,\r\n        label: 'Abril',\r\n        key: 'abril',\r\n        property: 'Abril',\r\n        calendario: 4,\r\n        fiscal: 10\r\n    };\r\n    mayo?: {\r\n        value: T,\r\n        label: 'Mayo',\r\n        key: 'mayo',\r\n        property: 'Mayo',\r\n        calendario: 5,\r\n        fiscal: 11\r\n    };\r\n    junio?: {\r\n        value: T,\r\n        label: 'Junio',\r\n        key: 'junio',\r\n        property: 'Junio',\r\n        calendario: 6,\r\n        fiscal: 12\r\n    };\r\n}\r\n\r\nexport interface IMesOperationProperty<T>{\r\n    value: T;\r\n    label: string;\r\n    key: string;\r\n    property: MesProperty;\r\n    calendario: number;\r\n    fiscal:number;\r\n}\r\n\r\nexport class MesOperationProperties<T> implements Iterator<IMesOperationProperty<T>>{\r\n    \r\n    constructor(value?: T){\r\n        NOMBRE_MESES.forEach(mes=>this[mes].value = value);\r\n    }\r\n    position: number;\r\n    public next(): IteratorResult<IMesOperationProperty<T>>{\r\n        const result = {\r\n            done: this.position == 11,\r\n            value: this[NOMBRE_MESES[this.position]]\r\n        } \r\n        this.position++;\r\n        return result;        \r\n    }\r\n    \r\n    public Julio: IMesOperationProperty<T> = {\r\n            value: undefined,\r\n            label: 'Julio',\r\n            key: 'julio',\r\n            property: 'Julio',\r\n            calendario: 7,\r\n            fiscal: 1\r\n        };\r\n    public Agosto: IMesOperationProperty<T> = {\r\n            value: undefined,\r\n            label: 'Agosto',\r\n            key: 'agosto',\r\n            property: 'Agosto',\r\n            calendario: 8,\r\n            fiscal: 2\r\n        };\r\n    public Setiembre?: IMesOperationProperty<T> = {\r\n            value: undefined,\r\n            label: 'Septiembre',\r\n            key: 'setiembre',\r\n            property: 'Setiembre',\r\n            calendario: 9,\r\n            fiscal: 3\r\n        };\r\n    public Octubre: IMesOperationProperty<T> = {\r\n            value: undefined,\r\n            label: 'Octubre',\r\n            key: 'octubre',\r\n            property: 'Octubre',\r\n            calendario: 10,\r\n            fiscal: 4\r\n        };\r\n    public Noviembre: IMesOperationProperty<T> = {\r\n            value: undefined,\r\n            label: 'Noviembre',\r\n            key: 'noviembre',\r\n            property: 'Noviembre',\r\n            calendario: 11,\r\n            fiscal: 5\r\n        };\r\n    public Diciembre: IMesOperationProperty<T> = {\r\n            value: undefined,\r\n            label: 'Diciembre',\r\n            key: 'diciembre',\r\n            property: 'Diciembre',\r\n            calendario: 12,\r\n            fiscal: 6\r\n        }\r\n    public Enero: IMesOperationProperty<T> = {\r\n            value: undefined,\r\n            label: 'Enero',\r\n            key: 'enero',\r\n            property: 'Enero',\r\n            calendario: 1,\r\n            fiscal: 7\r\n        };\r\n    public Febrero: IMesOperationProperty<T> = {\r\n            value: undefined,\r\n            label: 'Febrero',\r\n            key: 'febrero',\r\n            property: 'Febrero',\r\n            calendario: 2,\r\n            fiscal: 8\r\n        };\r\n    public Marzo: IMesOperationProperty<T> = {\r\n            value: undefined,\r\n            label: 'Marzo',\r\n            key: 'marzo',\r\n            property: 'Marzo',\r\n            calendario: 3,\r\n            fiscal: 9\r\n        };\r\n    public Abril: IMesOperationProperty<T> = {\r\n            value: undefined,\r\n            label: 'Abril',\r\n            key: 'abril',\r\n            property: 'Abril',\r\n            calendario: 4,\r\n            fiscal: 10\r\n        };\r\n    public Mayo: IMesOperationProperty<T> = {\r\n            value: undefined,\r\n            label: 'Mayo',\r\n            key: 'mayo',\r\n            property: 'Mayo',\r\n            calendario: 5,\r\n            fiscal: 11\r\n        };\r\n    public Junio: IMesOperationProperty<T> = {\r\n            value: undefined,\r\n            label: 'Junio',\r\n            key: 'junio',\r\n            property: 'Junio',\r\n            calendario: 6,\r\n            fiscal: 12\r\n        };\r\n\r\n    forEach(callbackfn: (value: IMesOperationProperty<T>, index: number, mes: MesProperty)=>void){\r\n        NOMBRE_MESES.forEach((v, i)=>{\r\n            callbackfn(this[v], i, v);\r\n        })\r\n    }    \r\n}","import * as _ from 'lodash';\r\nimport { IActividad, IInformeActividad, EstadoActividad, DataExtended } from \"../../proyecto-UE/IActividad\";\r\nimport { IIndicador, IInformeIndicador } from \"../../proyecto-UE/IIndicador\";\r\n\r\nimport { NOMBRE_MESES } from \"../constantes\";\r\nimport { MesOperationProperties, MesProperty } from \"./types\";\r\nimport { IFlujoMensual } from \"../../flujo-mensual/IFlujoMensual\";\r\nimport { IPrevision } from '../../proyecto-UE/IPrevision';\r\nimport { IComponente } from '../../proyecto-UE/IComponente';\r\nimport { IRendicionFinanciera, IRendicionTrimestre, IRegistroRendicion } from '../../proyecto-UE/rendicion-financiera/rendicion.interface';\r\nimport { red } from '@angular-devkit/core/src/terminal';\r\nimport { ILogroDificultadTrimestre, ILogrosDificultades } from '../../proyecto-UE/carga-inf-tec-componentes/logrosDificultades.interface';\r\nimport { toInteger } from 'lodash';\r\n\r\n\r\nexport function configurarActividad(actividad: IActividad) {\r\n  // solo para el escenario de upgrade de version\r\n  if (!actividad.estado || !actividad.estado['Enero'] || !actividad.estado['Enero'].key) {\r\n    actividad.estado = new MesOperationProperties<EstadoActividad>();\r\n  }\r\n  actividad._id = actividad._id || Date.now();\r\n\r\n  actividad.flujo = new MesOperationProperties<number>(0);\r\n  actividad.flujoCoviar = new MesOperationProperties<number>(0);\r\n  actividad.flujoContraparte = new MesOperationProperties<number>(0);\r\n  actividad.totalAnualFlujo = 0;\r\n  actividad.totalAnualFlujoCoviar = 0;\r\n  actividad.totalAnualFlujoContraparte = 0;\r\n\r\n  actividad.previsiones.forEach(prevision => {\r\n    prevision.totalAnualFlujo = 0;\r\n    prevision.totalAnualFlujoCoviar = 0;\r\n    prevision.totalAnualFlujoContraparte = 0;\r\n  });\r\n\r\n  NOMBRE_MESES.forEach(mes => {\r\n    actividad.estado[mes].value = actividad.estado[mes].value || <EstadoActividad>'indefinida';\r\n\r\n    if (!actividad.previsiones) {\r\n      return;\r\n    }\r\n\r\n    actividad.previsiones.forEach(prevision => {\r\n      prevision._id = prevision._id || Date.now();\r\n      prevision.porcentajeContraparte = 100 - prevision.porcentajeCoviar;\r\n      prevision.totalAnualFlujo = prevision.totalAnualFlujo || 0;\r\n      prevision.totalAnualFlujoCoviar = prevision.totalAnualFlujoCoviar || 0;\r\n      prevision.totalAnualFlujoContraparte = prevision.totalAnualFlujoContraparte || 0;\r\n\r\n      if (!prevision.flujo) {\r\n        prevision.flujo = new MesOperationProperties<number>(0);\r\n      }\r\n      prevision.flujo[mes].value = prevision.flujo[mes].value || prevision['flujo' + mes] || 0;\r\n\r\n      prevision.totalAnualFlujo += prevision.flujo[mes].value;\r\n      actividad.totalAnualFlujo += prevision.flujo[mes].value;\r\n\r\n      if (!prevision.flujoCoviar) {\r\n        prevision.flujoCoviar = new MesOperationProperties<number>(0);\r\n      }\r\n      prevision.flujoCoviar[mes].value = prevision.flujo[mes].value * prevision.porcentajeCoviar / 100;\r\n\r\n      prevision.totalAnualFlujoCoviar += prevision.flujoCoviar[mes].value;\r\n      actividad.totalAnualFlujoCoviar += prevision.flujoCoviar[mes].value;\r\n\r\n      if (!prevision.flujoContraparte) {\r\n        prevision.flujoContraparte = new MesOperationProperties<number>(0);\r\n      }\r\n\r\n      prevision.flujoContraparte[mes].value = prevision.flujo[mes].value * prevision.porcentajeContraparte / 100;\r\n      prevision.totalAnualFlujoContraparte += prevision.flujoContraparte[mes].value;\r\n      actividad.totalAnualFlujoContraparte += prevision.flujoContraparte[mes].value;\r\n\r\n    });\r\n\r\n    actividad.flujo[mes].value = _(actividad.previsiones).sumBy(x => x.flujo[mes].value || 0);\r\n    actividad.flujoCoviar[mes].value = _(actividad.previsiones).sumBy(x => x.flujoCoviar[mes].value || 0);\r\n    actividad.flujoContraparte[mes].value = _(actividad.previsiones).sumBy(x => x.flujoContraparte[mes].value || 0);\r\n\r\n    actividad.sumaFondosCoviar = actividad.totalAnualFlujoCoviar;\r\n    actividad.sumaFondosContraParte = actividad.totalAnualFlujoContraparte;\r\n  });\r\n\r\n  if (!actividad.informeActividad || actividad.informeActividad.length == 0) {\r\n\r\n    const informeActividad: Array<IInformeActividad> = [];\r\n    const mesesChunked = chunk(NOMBRE_MESES, 3);\r\n    mesesChunked.forEach((meses: MesProperty[], index: number) => {\r\n      const trimestre = index + 1;\r\n      const informe: IInformeActividad = {\r\n        infoAdicional: '',\r\n        meses: meses,\r\n        titulo: `T${trimestre}`,\r\n        _id: `INF-TEC-ACT-${actividad._id}-T${trimestre}`,\r\n        subtitulo: meses.join(', '),\r\n        trimestre\r\n      }\r\n\r\n      informeActividad.push(informe);\r\n    });\r\n\r\n    actividad.informeActividad = informeActividad;\r\n  }\r\n\r\n  actividad.meses = _(NOMBRE_MESES).filter(mes => actividad.vigencia[mes].value).value();\r\n  return actividad;\r\n}\r\n\r\nexport function fixIndicadorDuplicado(indicadores: Array<IIndicador>) {\r\n  indicadores.forEach(indicador => {\r\n    const isDuplicated = indicadores.filter(x => x._id === indicador._id).length > 1;\r\n    if (!isDuplicated)\r\n      return;\r\n\r\n    indicador._id = _.uniqueId();\r\n\r\n    if (!indicador.informeIndicador)\r\n      return;\r\n\r\n    indicador.informeIndicador.forEach(informe => {\r\n      informe._id = `INF-TEC-IND-${indicador._id}-${informe.titulo}`;\r\n    });\r\n  });\r\n}\r\n\r\nexport function configurarIndicador(indicador: IIndicador) {\r\n  indicador._id = indicador._id || _.uniqueId();\r\n  indicador.procentajeProgreso = indicador.procentajeProgreso || 0;\r\n  indicador.progreso = indicador.progreso || 0;\r\n  if (!indicador.informeIndicador || indicador.informeIndicador.length == 0) {\r\n    const informeIndicador: Array<IInformeIndicador> = [];\r\n    const mesesChunked = chunk(NOMBRE_MESES, 3);\r\n    mesesChunked.forEach((meses: MesProperty[], index: number) => {\r\n      const trimestre = index + 1;\r\n      const informe: IInformeIndicador = {\r\n        infoAdicional: '',\r\n        meses: meses,\r\n        titulo: `T${trimestre}`,\r\n        _id: `INF-TEC-IND-${indicador._id}-T${trimestre}`,\r\n        subtitulo: meses.join(', '),\r\n        trimestre,\r\n        valor: 0,\r\n        medida: indicador.medida\r\n      }\r\n\r\n      informeIndicador.push(informe);\r\n    });\r\n\r\n    indicador.informeIndicador = informeIndicador;\r\n  }\r\n}\r\n\r\nexport function configurarFlujoMensual(flujoMensual: IFlujoMensual) {\r\n  if (!flujoMensual.flujo) {\r\n    flujoMensual.flujo = new MesOperationProperties<number>(0);\r\n  }\r\n  if (!flujoMensual.consumo) {\r\n    flujoMensual.consumo = new MesOperationProperties<Array<{ componenteId: string, previsionId: number, value: number }>>();\r\n  }\r\n  NOMBRE_MESES.forEach(mes => {\r\n    flujoMensual.flujo[mes].value = flujoMensual.flujo[mes].value || flujoMensual[mes.toLowerCase()] || 0;\r\n    flujoMensual.consumo[mes].value = flujoMensual.consumo[mes].value || [];\r\n  })\r\n}\r\n\r\nexport function configurarFlujosMensuales(flujosMensuales: IFlujoMensual[]) {\r\n  flujosMensuales.forEach(flujo => configurarFlujoMensual(flujo));\r\n}\r\n\r\n\r\nfunction chunk(array: MesProperty[], size: number) {\r\n  if (!array) return [];\r\n  const firstChunk = array.slice(0, size); // create the first chunk of the given array\r\n  if (!firstChunk.length) {\r\n    return array; // this is the base case to terminal the recursive\r\n  }\r\n  return [firstChunk].concat(chunk(array.slice(size, array.length), size));\r\n}\r\n\r\nexport function generarPresupuesto(flujoMensual: IFlujoMensual): any[] {\r\n  if (!flujoMensual.consumo) {\r\n    return [flujoMensual.flujo];\r\n  }\r\n  const consumoTotal = new MesOperationProperties<number>(0);\r\n  const disponible = new MesOperationProperties<number>(0);\r\n  NOMBRE_MESES.forEach(mes => {\r\n    consumoTotal[mes].value = _(flujoMensual.consumo[mes].value).map(x => x.value).sum();\r\n    disponible[mes].value = flujoMensual.flujo[mes].value - consumoTotal[mes].value;\r\n  })\r\n\r\n  return [{ ...flujoMensual.flujo, name: 'Presupuesto' }, { ...consumoTotal, name: 'Consumido' }, { ...disponible, name: 'Disponible' }];\r\n}\r\n\r\nexport function eliminarConsumo(flujoMensual: IFlujoMensual, previsionId: number) {\r\n  if (!flujoMensual.consumo) {\r\n    return;\r\n  }\r\n  NOMBRE_MESES.forEach(mes => {\r\n    flujoMensual.consumo[mes].value = flujoMensual.consumo[mes].value.filter(x => x.previsionId != previsionId);\r\n  })\r\n}\r\n\r\nexport function actualizarConsumo(flujoMensual: IFlujoMensual, componente: IComponente) {\r\n  if (!flujoMensual.consumo) {\r\n    flujoMensual.consumo = new MesOperationProperties<Array<{ componenteId: string, previsionId: number, value: number }>>();\r\n  }\r\n\r\n  NOMBRE_MESES.forEach(mes => {\r\n    const values = _(componente.actividades)\r\n      .map(x => x.previsiones)\r\n      .flatMap()\r\n      .map(prevision => ({ componenteId: componente._id, previsionId: prevision._id, value: prevision.flujoCoviar[mes].value }))\r\n      .value();\r\n\r\n    flujoMensual.consumo[mes].value = _(flujoMensual.consumo[mes].value)\r\n      .filter(x => x.componenteId != componente._id)\r\n      .concat(values)\r\n      .value();\r\n  })\r\n}\r\n\r\nexport function configurarComponente(componente: IComponente) {\r\n  if (!componente) {\r\n    return componente;\r\n  }\r\n\r\n  componente.fondosCoviar = 0;\r\n  componente.fondosContraparte = 0;\r\n\r\n  componente.flujo = new MesOperationProperties<number>(0);\r\n  componente.flujoCoviar = new MesOperationProperties<number>(0);\r\n  componente.flujoContraparte = new MesOperationProperties<number>(0);\r\n\r\n  componente.totalAnualFlujo = 0;\r\n  componente.totalAnualFlujoCoviar = 0;\r\n  componente.totalAnualFlujoContraparte = 0;\r\n\r\n  if (!componente.actividades) {\r\n    return componente;\r\n  }\r\n\r\n  componente.actividades.forEach(actividad => configurarActividad(actividad));\r\n\r\n  NOMBRE_MESES.forEach(mes => {\r\n    const flujoMes = _(componente.actividades).map(x => x.flujo[mes].value || 0).sum();\r\n    componente.flujo[mes].value = flujoMes;\r\n    componente.totalAnualFlujo += flujoMes;\r\n\r\n    const flujoCoviarMes = _(componente.actividades).map(x => x.flujoCoviar[mes].value || 0).sum();\r\n    componente.flujoCoviar[mes].value = flujoCoviarMes;\r\n    componente.totalAnualFlujoCoviar += flujoCoviarMes;\r\n\r\n    const flujoContraparteMes = _(componente.actividades).map(x => x.flujoContraparte[mes].value || 0).sum();\r\n    componente.flujoContraparte[mes].value = flujoContraparteMes;\r\n    componente.totalAnualFlujoContraparte += flujoContraparteMes;\r\n  });\r\n\r\n  componente.fondosCoviar = componente.totalAnualFlujoCoviar;\r\n  componente.fondosContraparte = componente.totalAnualFlujoContraparte;\r\n\r\n\r\n  return componente;\r\n}\r\n\r\nexport function tablaActividades(actividades: IActividad[]) {\r\n  actividades.forEach((actividad: DataExtended<IActividad>) => {\r\n    if (actividad.vigencia && actividad.previsiones) {\r\n\r\n      const data = [];\r\n      actividad.previsiones.forEach((prevision: DataExtended<IPrevision>) => {\r\n        prevision.data = prevision.data || [];\r\n\r\n        const first = {\r\n          nombre: prevision.nombre,\r\n          data: [],\r\n          type: 'prevision'\r\n        }\r\n\r\n        data.push(first);\r\n\r\n        const coviar = {\r\n          nombre: `Fondo COVIAR (${prevision.porcentajeCoviar}%)`,\r\n          data: [],\r\n          type: 'fondo'\r\n        }\r\n\r\n        data.push(coviar);\r\n\r\n        const contraparte = {\r\n          nombre: `Fondo Contraparte (${prevision.porcentajeContraparte}%)`,\r\n          data: [],\r\n          type: 'fondo'\r\n        }\r\n\r\n        data.push(contraparte);\r\n\r\n        NOMBRE_MESES.forEach(mes => {\r\n          if (actividad.vigencia[mes].value) {\r\n            first.data.push({\r\n              mes,\r\n              monto: prevision.flujo[mes].value\r\n            });\r\n\r\n            coviar.data.push({\r\n              mes,\r\n              monto: prevision.flujoCoviar[mes].value\r\n            });\r\n\r\n            contraparte.data.push({\r\n              mes,\r\n              monto: prevision.flujoContraparte[mes].value\r\n            });\r\n          }\r\n        })\r\n\r\n      });\r\n\r\n      actividad.data = data;\r\n    }\r\n\r\n  });\r\n\r\n  return actividades;\r\n}\r\n\r\nexport function addEmptyRegistry(idProyecto, trimestre) {\r\n  return {\r\n    _id: `REN-CFN-${idProyecto}-T${trimestre}-registro`,\r\n    rendicionFinanciera: 0,\r\n    aprobadoTecnicamente: 0,\r\n    aprobadoFinancieramente: 0,\r\n    pendienteDeRevision: 0,\r\n    rfUEId: null,\r\n    tieneRFUE: false,\r\n    rfTecnicoId: null,\r\n    tieneRFTecnico: false,\r\n    rfFinancieroId: null,\r\n    tieneRFFinanciero: false,\r\n    fechaCreacion: null\r\n  }\r\n}\r\n\r\nexport function configurarRendicion(idProyecto: string, flujoMensual: IFlujoMensual) {\r\n  var rendiciones = new Array<IRendicionTrimestre>();\r\n  const mesesChunked = chunk(NOMBRE_MESES, 3);\r\n  mesesChunked.forEach((meses: MesProperty[], index: number) => {\r\n    const trimestre = index + 1;\r\n    let redicion: IRendicionTrimestre\r\n    if (trimestre == 1) {\r\n      redicion = {\r\n        titulo: `T${trimestre}`,\r\n        id: `REN-CFN-${idProyecto}-T${trimestre}`,\r\n        subtitulo: meses.join(', '),\r\n        trimestre,\r\n        meses: meses,\r\n        comentarios: '',\r\n        ddjjContraparte: 0,\r\n        observaciones: '',\r\n        presupuesto: 0,\r\n        saldoARendir: 0,\r\n        saldoBancario: 0,\r\n        saldoPrendiente: 0,\r\n        aprobadoFinancieramente: false,\r\n        aprobadoTecnicamente: false,\r\n        saldoNoRendido: 0,\r\n        saldoTransferido: 0,\r\n        registros: [addEmptyRegistry(idProyecto, trimestre)]\r\n      }\r\n    } else {\r\n      redicion = {\r\n        titulo: `T${trimestre}`,\r\n        id: `REN-CFN-${idProyecto}-T${trimestre}`,\r\n        subtitulo: meses.join(', '),\r\n        trimestre,\r\n        meses: meses,\r\n        comentarios: '',\r\n        ddjjContraparte: 0,\r\n        observaciones: '',\r\n        presupuesto: 0,\r\n        saldoARendir: 0,\r\n        saldoBancario: 0,\r\n        saldoPrendiente: 0,\r\n        aprobadoFinancieramente: false,\r\n        aprobadoTecnicamente: false,\r\n        saldoNoRendido: 0,\r\n        saldoTransferido: 0,\r\n        registros: [addEmptyRegistry(idProyecto, trimestre)]\r\n      }\r\n    }\r\n\r\n\r\n    rendiciones.push(redicion);\r\n  });\r\n\r\n  rendiciones.push({\r\n    titulo: `T5`,\r\n    id: `REN-CFN-${idProyecto}-T5`,\r\n    subtitulo: 'Complementario',\r\n    trimestre: 5,\r\n    meses: [''],\r\n    comentarios: '',\r\n    ddjjContraparte: 0,\r\n    observaciones: '',\r\n    presupuesto: 0,\r\n    saldoARendir: 0,\r\n    saldoBancario: 0,\r\n    saldoPrendiente: 0,\r\n    aprobadoFinancieramente: false,\r\n    aprobadoTecnicamente: false,\r\n    saldoNoRendido: 0,\r\n    saldoTransferido: 0,\r\n    registros: [addEmptyRegistry(idProyecto, 5)]\r\n  })\r\n\r\n  var result: IRendicionFinanciera = {\r\n    proyecto: idProyecto,\r\n    createDate: new Date(),\r\n    rendiciones\r\n  };\r\n\r\n  return result;\r\n}\r\n\r\n\r\nexport function actualizarRendiciones(rendiciones: Array<IRendicionTrimestre>, flujoMensual: IFlujoMensual) {\r\n  let presupuestoT5 = 0;\r\n  rendiciones.forEach(rend => {\r\n    if (rend.trimestre < 5) {\r\n      rend.registros.forEach(regis => {\r\n        presupuestoT5 = presupuestoT5 + toInteger(regis.pendienteDeRevision);\r\n      })\r\n      rend.presupuesto = _(rend.meses).map(mes => flujoMensual.flujo[mes as MesProperty].value).sum().valueOf()\r\n    } else {\r\n      rend.presupuesto = presupuestoT5;\r\n    }\r\n  });\r\n\r\n  return rendiciones;\r\n}\r\n\r\nexport function configurarLogrosDificultades(idProyecto: string) {\r\n  var logrosDificultades = new Array<ILogroDificultadTrimestre>();\r\n  const mesesChunked = chunk(NOMBRE_MESES, 3);\r\n  mesesChunked.forEach((meses: MesProperty[], index: number) => {\r\n    const trimestre = index + 1;\r\n    var logroDificultad: ILogroDificultadTrimestre = {\r\n      logros: '',\r\n      dificultades: '',\r\n      meses: meses,\r\n      titulo: `T${trimestre}`,\r\n      id: `LOGRO-DIFICULTAD-${idProyecto}-T${trimestre}`,\r\n      subtitulo: meses.join(', '),\r\n      trimestre\r\n    };\r\n    logrosDificultades.push(logroDificultad);\r\n  });\r\n\r\n  var result: ILogrosDificultades = {\r\n    proyecto: idProyecto,\r\n    createDate: new Date(),\r\n    logrosDificultades\r\n  };\r\n\r\n  return result;\r\n}"],"sourceRoot":""}