sigo-package 1.1.76 → 1.1.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"sigo-package.cjs.production.min.js","sources":["../src/shared/Utils/CurrencyFormat.ts","../src/Programados/Procesos/Modelos/ModelDataFlujosDocumentacionReplanteo.ts","../src/shared/dtos/EstadoDto.ts","../src/shared/dtos/GeneralCodigoNombreDto.ts","../src/shared/dtos/GeneralCodigoNombreUnidadDto.ts","../src/shared/dtos/UsuarioDto.ts","../src/shared/Utils/queueName.ts","../src/shared/Utils/IsValidDate.ts","../src/shared/Utils/convertDates.ts","../src/Programados/dtos/DetalleChileReservaMODto.ts","../src/Programados/dtos/WBEDto.ts","../src/Programados/dtos/DetalleManoObraChileDto.ts","../src/Programados/dtos/DatosManoObraGlobalDto.ts","../src/Programados/dtos/DatosPrecioEspecialidadDto.ts","../src/Programados/dtos/DatosUnidadObraMaterialDto.ts","../src/Programados/dtos/DatosCatalogoMODto.ts","../src/Programados/dtos/AmapDto.ts","../src/Programados/Alemania/ObtenerMONoReservada/generarModeloAmap.ts","../src/Programados/Alemania/Models/DocumentacionHPBussines.ts","../src/Programados/Alemania/Models/DocumentacionHPResidential.ts","../src/Programados/Alemania/Models/DataFlujosHomePass.ts","../src/Programados/Alemania/UpdateNodosDocDP/updateNodoAsfaltoRecursivo.ts","../src/Programados/Alemania/UpdateNodosDocDP/updateNodoZanjaRecursivo.ts","../src/Programados/Alemania/mapaReglaSoplado.ts","../src/Programados/Alemania/AL04/ReglasMOGeneralAL04.ts","../src/Programados/Alemania/mapaMOMaterialAL04.ts","../src/Programados/ActualizarDataManoObra.ts","../src/Programados/ActualizarDataReserva.ts","../src/Programados/ActualizarDataResumenLiquidaciones.ts","../src/Programados/Alemania/ActualizarDataResumenLiquidacionesAlemania.ts","../src/Programados/ActualizarDataTrabajos.ts","../src/Programados/BuscarZonaContratista.ts","../src/Programados/Alemania/CalcularResumenHPMOLiquidado/index.ts","../src/Programados/CalcularResumenLiquidaciones.ts","../src/Programados/Alemania/CalcularResumenValorizacionesAlemania.ts","../src/Programados/Alemania/AL04/ReglasMatGeneralAL04.ts","../src/Programados/Alemania/CodigosMaterialSoplado.ts","../src/Programados/Alemania/CodsMapeoMOMaterial.ts","../src/Programados/Procesos/parteDiario/CompararFechas.ts","../src/Programados/Procesos/Modelos/DocumentacionReplanteo.ts","../src/Programados/Procesos/parteDiario/GetCodigoFechaActual.ts","../src/Programados/Alemania/ObtenerMONoReservada/index.ts","../src/Programados/Alemania/ObtenerMONoReservada/filtrarMONoReservada.ts","../src/Programados/Procesos/Preliquidar/ObtenerPrecioContratistaVigente.ts","../src/Programados/ObtenerZonaAsignada.ts","../src/Programados/Alemania/UpdateNodosDocDP/index.ts","../src/Programados/Alemania/UpdateNodosDocDP/updateNodosPorEspecialidad.ts","../src/Programados/Alemania/codigosMOHP.ts","../src/Programados/Alemania/codMOTroncal_ReglaLiquidacion1.ts","../src/Programados/Alemania/codigosMOT1_F2.ts","../src/Programados/Alemania/codigosMaterialDuctos.ts","../src/Programados/Alemania/codigosMaterialUGG.ts","../src/shared/Utils/generateUniqueNumber.ts","../src/shared/Utils/getChannelName.ts","../src/shared/Utils/getDateInTimeZone.ts","../src/shared/Utils/getKeyRedisSortedSet.ts","../src/shared/Utils/isValidPartialEntity.ts","../src/shared/Utils/logTiempoProceso.ts","../src/Programados/PaisMapping.ts","../src/shared/Utils/validateNoLookup.ts"],"sourcesContent":["enum Position { \n left ='left', \n right = 'right' \n}\n\ntype CoinPosition = keyof typeof Position;\nclass Params {\n symbolCoin?: string = \"\";\n symbolCoinPosition?: CoinPosition = Position.left;\n isPorcent?: Boolean = false;\n decimal?: Number = 2;\n codeCountry?: string = \"\";\n currency?: string = \"\";\n}\n/**\n * Formatea un valor numérico o una cadena que contiene un número en un formato de moneda.\n * @param value Valor numérico o cadena que contiene un número. Ejemplo: 123445.89 o '$ 123445.89'.\n * @param options Opciones de formato (opcional). Un objeto que puede tener las siguientes propiedades:\n * - `symbolCoin`: Símbolo de la moneda. Por defecto, vacío.\n * - `symbolCoinPosition`: Posición del símbolo de la moneda. Por defecto, vacío.\n * - `isPorcent`: Indicador de porcentaje. Por defecto, false.\n * - `decimal`: Indicador de numero de decimales. Por defecto, 2.\n * - `codeCountry`: Indicador en leguaje y codigo del Pais. Ejemplo 'es-PE(Perú), es-CO(Colombia), es-CL(Chile)'. Por defecto, vacío.\n * - `currency`: Indicador de la moneda del Pais. Ejemplo 'SOL, USD'. Por defecto, vacío.\n * @returns La cadena formateada por miles en el formato de moneda especificado.\n */\nexport function CurrencyFormat(value: any = 0, options: Params = new Params()): string {\n try {\n let _value = structuredClone(value);\n _value = ParserValue(_value);\n _value = ValidateValue(_value);\n _value = formaterMiles(_value, options);\n return _value;\n } catch (error) {\n throw error;\n }\n}\nfunction isValidFormatCodeCountry(codeCountry: string = \"\") {\n const expresion = /^[a-z]{2}-[A-Z]{2}$/ // formato de codigo Pais\n codeCountry = codeCountry?.toString();\n if(!codeCountry || codeCountry == null) return false\n if(!expresion.test(codeCountry)) throw Error(`Formato ${codeCountry} de Codigo Pais no es válido!.`)\n return true;\n}\nfunction ParserValue(value: any = 0) {\n const expresionNoSimbol = /^[^-?\\d,. ]+|\\.00$/g; // /^[^\\d,. ]+|\\.00$/g; // Quita cualquier digito en la cadena que no sea numerico\n value = ParserDiffFormatValue(value);\n value = value?.toString().replaceAll(\",\", \"\").replaceAll(expresionNoSimbol, \"\");\n return parseFloat(value);\n}\n// Parsea un formato 1.345.789,06 a 1,345,789.06 que es el estandar\nfunction ParserDiffFormatValue(value: any = \"\") {\n const reparatorReverse = value.toString().split(\"\").reverse().find((n: any = \"\") => { \n if(n === \",\" || n === \".\") { return n }\n });\n if(reparatorReverse === \",\") {\n value = value?.toString()?.replace(/,/g, '|')?.replace(/\\./g, ',')?.replace(/\\|/g, '.');\n }\n return value;\n}\nfunction ValidateValue(value: any = 0) {\n if(!isFinite(value)) value = 0;\n if(isNaN(value)) value = 0;\n if(value === undefined || value === null) value = 0;\n return value;\n}\nfunction formaterMiles(value = 0, {symbolCoin = \"\", symbolCoinPosition = \"left\", isPorcent = false, decimal = 2, codeCountry = \"\", currency = \"\" }: Params = new Params()) {\n const _isValidFormatCodeCountry = isValidFormatCodeCountry(codeCountry);\n const _decimal = !!decimal.toString() ? Number(decimal) : 2;\n if(!!_isValidFormatCodeCountry){\n const optionsCurrency = { style: 'currency', currency: currency }\n return new Intl.NumberFormat(codeCountry, optionsCurrency).format(Number(Number(value)?.toFixed(_decimal))).toString();\n }\n let valueFormated = new Intl.NumberFormat().format(Number(Number(value)?.toFixed(_decimal))).toString();\n // valueFormated = ParserDiffFormatValue(valueFormated); // se colocó por que ayudar a jqgrid solo reconoce los formatos ###,###,###.##, y no ###.###.###,##\n if(!!isPorcent) { return `${valueFormated} %`; }\n if(!!symbolCoin && symbolCoinPosition.toString() === \"left\") { valueFormated = `${symbolCoin} ${valueFormated}`; }\n if(!!symbolCoin && symbolCoinPosition.toString() === \"right\") { valueFormated = `${valueFormated} ${symbolCoin} `; }\n return valueFormated;\n}","export const ModelDataFlujosDocumentacionReplanteo = [\n {\n Action: 'Registrar',\n Fecha: new Date(),\n Usuario: '',\n Description: 'Registrar',\n Posicion: '1',\n Icono: 'fa fa-registered',\n ColorIcono: '#1d9d74',\n TagPagina: ['tagGestionMacroObrasNuevo'],\n },\n {\n Action: 'Aprobar',\n Fecha: new Date(),\n Usuario: '',\n Description: 'Aprobar',\n Posicion: '2',\n Icono: 'fa fa-check-circle',\n ColorIcono: '#31ce36',\n TagPagina: ['tagGestionMacroObrasNuevo'],\n },\n {\n Action: 'Rechazar',\n Fecha: new Date(),\n Usuario: '',\n Description: 'Rechazar',\n Posicion: '3',\n Icono: 'fa fa-minus-circle',\n ColorIcono: '#ffad46',\n TagPagina: ['tagGestionMacroObrasNuevo'],\n },\n {\n Action: 'Eliminar',\n Fecha: new Date(),\n Usuario: '',\n Description: 'Eliminar',\n Posicion: '4',\n Icono: 'fa fa-times-circle',\n ColorIcono: '#f25961',\n TagPagina: ['tagGestionMacroObrasNuevo'],\n },\n {\n Action: 'Descargar',\n Fecha: new Date(),\n Usuario: '',\n Description: 'Descargar',\n Posicion: '5',\n Icono: 'fa fa-arrow-circle-down',\n ColorIcono: '#084594',\n TagPagina: ['tagGestionMacroObrasNuevo'],\n }\n]","export class EstadoDto {\n ID_Estado: number = 1\n Nombre: string = 'ACTIVO'\n}","export class GeneralCodigoNombreDto {\n Codigo: string = ''\n Nombre: string = ''\n}","export class GeneralCodigoNombreUnidadDto {\n Codigo: string = ''\n Nombre: string = ''\n UnidadMedida: string = ''\n}","export class UsuarioDto {\n Identificacion: string = ''\n Apellidos: string = ''\n Nombres: string = ''\n Fecha: Date = new Date()\n}","export type TARGET = 'calidad' | 'desarrollo' | 'produccion'\nenum OperacionDataAdicional {\n CREAR = 'crear',\n ACTUALIZAR = 'actualizar',\n ELIMINAR = 'eliminar',\n CONSULTAR = 'consultar'\n}\n\nexport const getQueueNameSaveOneNotification = (target: TARGET) => {\n return `${target}__maestros_notificaciones__crear__MDL_CATALOGO__Notificaciones`\n}\n\nexport const getQueueName = (target: TARGET, containerName: string, operacion: OperacionDataAdicional, database: string, collection: string) => {\n return `${target}__${containerName}__${operacion}__${database}__${collection}`\n}\n\nexport const getModelDataAdicional = (queueName: string) => {\n const [_target, _containerName, ope, db, col] = queueName.split('__')\n const operacion = ope as OperacionDataAdicional\n return {\n db,\n col,\n operacion,\n fecha: new Date()\n }\n}","// export function IsValidDate(date: any): boolean {\nexport function esObjetoFecha(date: any): boolean {\n return date instanceof Date\n}\n\nexport function isValidDate(date: string) {\n return !isNaN(Date.parse(date))\n}","export function convertDates<T>(input: T | T[]) {\n if (Array.isArray(input)) {\n input.forEach(item => convertDates(item))\n } else if (typeof input === 'object' && input !== null) {\n for (const key in input) {\n const value = input[key]\n if (typeof value === 'string' && esCadenaFechaISOValida(value)) {\n (input as any)[key] = new Date(value)\n } else if (typeof value === 'object' && value !== null) {\n convertDates(value)\n }\n }\n }\n}\n\nexport function esCadenaFechaISOValida(dateString: string): boolean {\n const dateRegex = /^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?Z?)?$/\n if (!dateRegex.test(dateString)) {\n return false\n }\n const parsedDate = new Date(dateString)\n return !isNaN(parsedDate.getTime())\n}\n","import { GeneralCodigoNombreDto, GeneralCodigoNombreUnidadDto } from '../../shared/index'\n\nexport class DetalleChileReservaMODto {\n Codigo: string = ''\n Linea: string = ''\n DirDesde: string = ''\n AltDesde: string = ''\n DirHasta: string = ''\n AltHasta: string = ''\n Plano: string = ''\n Especialidad: GeneralCodigoNombreDto = new GeneralCodigoNombreDto()\n Actividad: GeneralCodigoNombreDto = new GeneralCodigoNombreDto()\n Clave: GeneralCodigoNombreDto = new GeneralCodigoNombreDto()\n Tarea: string = ''\n ManoObra: GeneralCodigoNombreUnidadDto = new GeneralCodigoNombreUnidadDto()\n UnidadObra: GeneralCodigoNombreUnidadDto = new GeneralCodigoNombreUnidadDto()\n HomePass: GeneralCodigoNombreDto = new GeneralCodigoNombreDto()\n LineaCodigoCub: string = ''\n CodigoCub: string = ''\n CanMOCub: number = 0\n CanMOInf: number = 0\n CanMOApr: number = 0\n CanUOCub: number = 0\n CanUOInf: number = 0\n TotalUO: number = 0\n CanUOApr: number = 0\n Origen: string = ''\n CodigoBarra: string = ''\n PuntoBaremo: number = 0\n}","export class WBEDto {\n ID_WBE: number = 0\n CodigoWBE: string = ''\n DescripcionWBE: string = ''\n}","import { ManoObraBaremoDto } from './ManoObraBaremoDto'\n\nexport class DetalleManoObraChileDto {\n ManoObraBaremo: ManoObraBaremoDto[] = []\n}","import { DetalleManoObraChileDto } from \"./DetalleManoObraChileDto\";\nimport { MaterialAmapDto } from \"./MaterialAmapDto\";\n\nexport class DatosManoObraGlobalDto {\n Actividad: string = ''\n Alcance: string = ''\n Material: MaterialAmapDto[] = []\n DetalleChile: DetalleManoObraChileDto = new DetalleManoObraChileDto()\n}","import { PreciosAgenciaDto } from './PreciosAgenciaDto'\nimport { PreciosContrataDto } from './PreciosContrataDto'\n\nexport class DatosPrecioEspecialidadDto {\n Moneda: string = ''\n Simbolo: string = ''\n Decimales: number = 2\n Agencias: PreciosAgenciaDto[] = []\n Contratistas: PreciosContrataDto[] = []\n}","import { MaterialAmapDto } from './MaterialAmapDto'\n\nexport class DatosUnidadObraMaterialDto {\n Codigo: string = ''\n Descripcion: string = ''\n Materiales: MaterialAmapDto[] = []\n}","import { DatosManoObraGlobalDto } from './DatosManoObraGlobalDto'\nimport { DatosPrecioEspecialidadDto } from './DatosPrecioEspecialidadDto'\nimport { DatosUnidadObraMaterialDto } from './DatosUnidadObraMaterialDto'\n\nexport class DatosCatalogoMODto{\n DatosManoObraGlobal = new DatosManoObraGlobalDto()\n DatosPrecioEspecialidad = new DatosPrecioEspecialidadDto() \n DatosUnidadObraMaterial = new DatosUnidadObraMaterialDto()\n}","import { EstadoDto } from '../../shared/index'\nimport { WBEDto } from './WBEDto'\nimport { DetalleChileReservaMODto } from './DetalleChileReservaMODto'\nimport { DatosCatalogoMODto } from './DatosCatalogoMODto'\nimport { AmapCantidadesDto } from './AmapCantidadesDto'\n\nexport class AmapDto {\n ID_Amap: number = 0\n Amap: number = 0\n Cantidad: number = 0\n CantidadUsado: number = 0\n CantidadTransito: number = 0\n CantidadAprobada: number = 0\n Codigo: string = ''\n Descripcion: string = ''\n Estado: EstadoDto = new EstadoDto()\n Precio: number = 0\n Total: number = 0\n Unidad: string = ''\n Moneda: string = ''\n Simbolo: string = ''\n Decimales: number = 0\n WBE: WBEDto = new WBEDto()\n DetalleChile: DetalleChileReservaMODto = new DetalleChileReservaMODto()\n CantidadUO: number = 0\n CantidadUOUsado: number = 0\n CantidadUOTransito: number = 0\n CantidadUOAprobada: number = 0\n Cantidades:AmapCantidadesDto[] = []\n DatosCatalogoMO: DatosCatalogoMODto = new DatosCatalogoMODto()\n}","import { DetalleChileReservaMODto } from '../../dtos/DetalleChileReservaMODto'\nimport { AmapDto } from '../../dtos/AmapDto'\nimport { ManoObraGlobal, Obra, PrecioEspecialidad } from './index'\nimport { ManoObraBaremoDto } from '../../dtos/ManoObraBaremoDto'\n\ninterface params {\n ManoObraGlobal: ManoObraGlobal\n PrecioEspecialidad: PrecioEspecialidad\n Precio: number\n Obra: Obra\n MOB: ManoObraBaremoDto\n}\n\nexport function generarModeloAmap(params: params) {\n\n const { ManoObraGlobal, Precio, PrecioEspecialidad } = params\n\n const DetalleChile = generarModeloDetalleChile(params)\n\n const newAmap = new AmapDto()\n newAmap.DetalleChile = DetalleChile\n newAmap.Amap = ManoObraGlobal.Amap\n newAmap.Codigo = ManoObraGlobal.Codigo\n newAmap.Descripcion = ManoObraGlobal.Actividad\n newAmap.Precio = Precio\n newAmap.Total = newAmap.Precio * newAmap.Cantidad * newAmap.DetalleChile.PuntoBaremo\n newAmap.Unidad = ManoObraGlobal.Unidad.Nombre\n newAmap.Moneda = PrecioEspecialidad.Moneda\n newAmap.Simbolo = PrecioEspecialidad.Simbolo\n newAmap.Decimales = PrecioEspecialidad.Decimales\n newAmap.WBE.CodigoWBE = 'SIGPE'\n newAmap.CantidadUOAprobada = 0.000001; // LEER archivo Regla `generarModeloAmap.readme`\n newAmap.DatosCatalogoMO = {\n DatosManoObraGlobal: {\n Actividad: ManoObraGlobal.Actividad,\n Alcance: ManoObraGlobal.Alcance,\n Material: ManoObraGlobal.Material,\n DetalleChile: ManoObraGlobal.DetalleChile\n },\n DatosPrecioEspecialidad: {\n Moneda: PrecioEspecialidad.Moneda,\n Simbolo: PrecioEspecialidad.Simbolo,\n Decimales: PrecioEspecialidad.Decimales,\n Agencias: PrecioEspecialidad.Agencias,\n Contratistas: PrecioEspecialidad.Contratistas\n },\n DatosUnidadObraMaterial: {\n Codigo: '0',\n Descripcion: 'SIN UO',\n Materiales: []\n }\n }\n return newAmap\n}\n\nfunction generarModeloDetalleChile(params: params) {\n const { Obra, ManoObraGlobal, MOB } = params\n let codigoVal = '00000';\n if(!!Obra?.DetalleChile?.codigo) {\n codigoVal = Obra?.DetalleChile?.codigo; \n }\n const newDto = new DetalleChileReservaMODto()\n newDto.Codigo = codigoVal;\n newDto.CodigoCub = \"\"\n newDto.Linea = hashCode(ManoObraGlobal.Codigo),\n newDto.Especialidad = MOB.Especialidad\n newDto.Actividad.Codigo = 'CH0001'\n newDto.Actividad.Nombre = 'ACTIVIDAD GENERAL'\n newDto.Clave.Codigo = 'CH0001'\n newDto.Clave.Nombre = 'CLAVE GENERAL'\n newDto.Tarea = '0000'\n newDto.ManoObra.Codigo = ManoObraGlobal.Codigo\n newDto.ManoObra.Nombre = ManoObraGlobal.Actividad\n newDto.ManoObra.UnidadMedida = ManoObraGlobal.Unidad.Nombre\n newDto.UnidadObra.Codigo = '0'\n newDto.UnidadObra.Nombre = 'SIN UO'\n newDto.UnidadObra.UnidadMedida = 'UN'\n newDto.LineaCodigoCub = hashCode(ManoObraGlobal.Codigo) + \"\" + codigoVal;\n newDto.PuntoBaremo = MOB.PuntoBaremo\n return newDto\n}\n\nfunction hashCode(str: String = \"\") {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n const char = str.charCodeAt(i);\n hash = (hash << 5) - hash + char;\n }\n return Math.abs(hash).toString();\n}","import { NodoDocDto } from '../../../shared/dtos/NodoDocDto'\n\nconst DocumentacionHPBussines: NodoDocDto = {\n \"id\": 9999998877,\n \"label\": \"BALIZA\",\n \"Children\": [\n // {\n // \"id\": 99999988776,\n // \"label\": \"BoQ obra civil\",\n // \"Children\": [],\n // \"Titulo\": `BoQ obra civil`,\n // \"Codigo\": \"Cod99999988776\",\n // \"Descripcion\": \"BoQ obra civil\",\n // \"Files\": [],\n // \"Extension\": ['ALL'],\n // \"Size\": {\n // \"Size\": 50,\n // \"UM\": \"mb\"\n // },\n // \"Requerido\": false,\n // \"CantidadMin\": 1,\n // \"CantidadMax\": 0,\n // \"Estado\": {\n // \"ID_Estado\": 10,\n // \"Nombre\": \"INACTIVO\"\n // }\n // },\n {\n \"id\": 99999988775,\n \"label\": \"Foto baliza con zanja abierta\",\n \"Children\": [],\n \"Titulo\": `Foto baliza con zanja abierta`,\n \"Codigo\": \"Cod99999988775\",\n \"Descripcion\": \"Foto baliza con zanja abierta\",\n \"Files\": [\n {\n \"Posicion\": \"4b88feeb-e004-44c4-9efe-9909912dfc3c\",\n \"Filename\": \"AddressList_184_Business_ARP000101519001_0III1713193012.JPG\",\n \"Extension\": \"jpg\",\n \"CodigoNodo\": \"Cod99999988775\",\n \"NameOriginal\": \"CW-04.jpg\",\n \"Size\": {\n \"Size\": 0.4627561569213867,\n \"UM\": \"MB\"\n },\n \"Ruta\": \"AddressList_184_Business_ARP000101519001_\",\n \"Observacion\": \"Cargado desde PWA\",\n \"Coordenadas\": {\n \"X\": \"-77.0334179\",\n \"Y\": \"-12.0632484\"\n },\n \"Fecha_Archivo\": new Date(\"2024-04-12T17:19:43.458Z\"),\n \"Ultimo_Flujo\": {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T14:56:52.500Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T14:56:52.500Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n },\n \"Flujos\": [\n {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T14:56:52.500Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T14:56:52.500Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n }\n ],\n \"Estado\": {\n \"ID_Estado\": 2024,\n \"Nombre\": \"ALEMANIA_CLIENTES_NOCLIENTES_DOCDP\"\n },\n }\n ],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n },\n {\n \"id\": 99999988774,\n \"label\": \"Foto baliza-fachada dirección\",\n \"Children\": [],\n \"Titulo\": `Foto baliza-fachada dirección`,\n \"Codigo\": \"Cod99999988774\",\n \"Descripcion\": \"Foto baliza-fachada dirección\",\n \"Files\": [\n {\n \"Posicion\": \"5225d6b1-10be-41ec-8d25-175c80d319dd\",\n \"Filename\": \"AddressList_184_Business_ARP000101519001_0III1713193285.JPG\",\n \"Extension\": \"jpg\",\n \"CodigoNodo\": \"Cod99999988774\",\n \"NameOriginal\": \"CW-05.jpg\",\n \"Size\": {\n \"Size\": 0.11749267578125,\n \"UM\": \"MB\"\n },\n \"Ruta\": \"AddressList_184_Business_ARP000101519001_\",\n \"Observacion\": \"Cargado desde PWA\",\n \"Coordenadas\": {\n \"X\": \"-77.0334179\",\n \"Y\": \"-12.0632484\"\n },\n \"Fecha_Archivo\": new Date(\"2024-04-12T17:18:16.202Z\"),\n \"Ultimo_Flujo\": {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:01:25.882Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:01:25.882Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n },\n \"Flujos\": [\n {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:01:25.882Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:01:25.882Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n }\n ],\n \"Estado\": {\n \"ID_Estado\": 2024,\n \"Nombre\": \"ALEMANIA_CLIENTES_NOCLIENTES_DOCDP\"\n }\n }\n ],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n },\n {\n \"id\": 99999988773,\n \"label\": \"Foto CRUCE - baliza\",\n \"Children\": [],\n \"Titulo\": `Foto CRUCE - baliza`,\n \"Codigo\": \"Cod99999988773\",\n \"Descripcion\": \"Foto CRUCE - baliza\",\n \"Files\": [\n {\n \"Posicion\": \"cf5fbc36-88ad-444f-af71-84461f9c87c2\",\n \"Filename\": \"AddressList_184_Business_ARP000101519001_0III1713193370.JPG\",\n \"Extension\": \"jpg\",\n \"CodigoNodo\": \"Cod99999988773\",\n \"NameOriginal\": \"CW-06.jpg\",\n \"Size\": {\n \"Size\": 0.45999622344970703,\n \"UM\": \"MB\"\n },\n \"Ruta\": \"AddressList_184_Business_ARP000101519001_\",\n \"Observacion\": \"Cargado desde PWA\",\n \"Coordenadas\": {\n \"X\": \"-77.0334179\",\n \"Y\": \"-12.0632484\"\n },\n \"Fecha_Archivo\": new Date(\"2024-04-12T17:48:07.583Z\"),\n \"Ultimo_Flujo\": {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:02:50.151Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:02:50.151Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n },\n \"Flujos\": [\n {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:02:50.151Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:02:50.151Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n }\n ],\n \"Estado\": {\n \"ID_Estado\": 2024,\n \"Nombre\": \"ALEMANIA_CLIENTES_NOCLIENTES_DOCDP\"\n }\n }\n ],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n },\n {\n \"id\": 99999988772,\n \"label\": \"Foto sangrado\",\n \"Children\": [],\n \"Titulo\": `Foto sangrado`,\n \"Codigo\": \"Cod99999988772\",\n \"Descripcion\": \"Foto sangrado\",\n \"Files\": [{\n \"Posicion\": \"94ef2d86-b811-4cda-82ac-ec9627071521\",\n \"Filename\": \"AddressList_184_Business_ARP000101519001_0III1713193446.JPG\",\n \"Extension\": \"jpg\",\n \"CodigoNodo\": \"Cod99999988772\",\n \"NameOriginal\": \"CW-07.jpg\",\n \"Size\": {\n \"Size\": 0.10319232940673828,\n \"UM\": \"MB\"\n },\n \"Ruta\": \"AddressList_184_Business_ARP000101519001_\",\n \"Observacion\": \"Cargado desde PWA\",\n \"Coordenadas\": {\n \"X\": \"-77.0334179\",\n \"Y\": \"-12.0632484\"\n },\n \"Fecha_Archivo\": new Date(\"2024-04-12T15:44:16.185Z\"),\n \"Ultimo_Flujo\": {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:04:06.812Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:04:06.812Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n },\n \"Flujos\": [\n {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:04:06.812Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:04:06.812Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n }\n ],\n \"Estado\": {\n \"ID_Estado\": 2024,\n \"Nombre\": \"ALEMANIA_CLIENTES_NOCLIENTES_DOCDP\"\n }\n }],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n }\n ],\n \"Titulo\": `BALIZA`,\n \"Codigo\": \"Cod9999998877\",\n \"Descripcion\": \"BALIZA\",\n \"Files\": [],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 0,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n}\n\nexport function obtenerDocumentacionNoClientes({ codEspecialidades }: { codEspecialidades?: string[] }): NodoDocDto[] {\n const documentacion = structuredClone(DocumentacionHPBussines)\n if (!codEspecialidades) {\n return [documentacion]\n }\n if (codEspecialidades.includes('01.1-OBRA CIVIL')) return [documentacion]\n return []\n}","import { NodoDocDto } from '../../../shared/dtos/NodoDocDto';\nimport { DocumentacionPEXEntity } from '../../../Programados/entitys/DocumentacionPEXEntity';\n\nconst modelDROP: NodoDocDto = {\n \"id\": 9999998877,\n \"label\": \"DROP\",\n \"Children\": [\n {\n \"id\": 99999988776,\n \"label\": \"Foto recorrido acometida calle-fachada\",\n \"Children\": [],\n \"Titulo\": `Foto recorrido acometida calle-fachada`,\n \"Codigo\": \"Cod99999988776\",\n \"Descripcion\": \"Foto recorrido acometida calle-fachada\",\n \"Files\": [\n {\n \"Posicion\": \"ed93673f-7c3a-4c9f-aabb-850242f3cf65\",\n \"Filename\": \"AddressList_183_Residential_ARP000101518001_0III1713193559.JPG\",\n \"Extension\": \"jpg\",\n \"CodigoNodo\": \"Cod99999988776\",\n \"NameOriginal\": \"CW-08.jpg\",\n \"Size\": {\n \"Size\": 0.24944210052490234,\n \"UM\": \"MB\"\n },\n \"Ruta\": \"AddressList_183_Residential_ARP000101518001_\",\n \"Observacion\": \"Cargado desde PWA\",\n \"Coordenadas\": {\n \"X\": \"-77.0334179\",\n \"Y\": \"-12.0632484\"\n },\n \"Fecha_Archivo\": new Date(\"2024-04-12T17:45:00.828Z\"),\n \"Ultimo_Flujo\": {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:05:59.907Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:05:59.907Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n },\n \"Flujos\": [\n {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:05:59.907Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:05:59.907Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n }\n ],\n \"Estado\": {\n \"ID_Estado\": 2024,\n \"Nombre\": \"ALEMANIA_CLIENTES_NOCLIENTES_DOCDP\"\n }\n }\n ],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n },\n {\n \"id\": 99999988775,\n \"label\": \"Foto recorrido acometida jardin-balona-fachada\",\n \"Children\": [],\n \"Titulo\": `Foto recorrido acometida jardin-balona-fachada`,\n \"Codigo\": \"Cod99999988775\",\n \"Descripcion\": \"Foto recorrido acometida jardin-balona-fachada\",\n \"Files\": [\n {\n \"Posicion\": \"bea79b4e-7fba-4bcf-b1d1-b8fea66c226f\",\n \"Filename\": \"AddressList_183_Residential_ARP000101518001_0III1713193644.JPG\",\n \"Extension\": \"jpg\",\n \"CodigoNodo\": \"Cod99999988775\",\n \"NameOriginal\": \"CW-09.jpg\",\n \"Size\": {\n \"Size\": 0.4330024719238281,\n \"UM\": \"MB\"\n },\n \"Ruta\": \"AddressList_183_Residential_ARP000101518001_\",\n \"Observacion\": \"Cargado desde PWA\",\n \"Coordenadas\": {\n \"X\": \"-77.0334179\",\n \"Y\": \"-12.0632484\"\n },\n \"Fecha_Archivo\": new Date(\"2024-04-12T17:46:04.220Z\"),\n \"Ultimo_Flujo\": {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:07:24.085Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:07:24.085Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n },\n \"Flujos\": [\n {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:07:24.085Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:07:24.085Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n }\n ],\n \"Estado\": {\n \"ID_Estado\": 2024,\n \"Nombre\": \"ALEMANIA_CLIENTES_NOCLIENTES_DOCDP\"\n }\n }\n ],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n },\n {\n \"id\": 99999988774,\n \"label\": \"Foto sangrado\",\n \"Children\": [],\n \"Titulo\": `Foto sangrado`,\n \"Codigo\": \"Cod99999988774\",\n \"Descripcion\": \"Foto sangrado\",\n \"Files\": [{\n \"Posicion\": \"f7e9b0ea-8345-4e43-95fb-86da53c9bdb9\",\n \"Filename\": \"AddressList_183_Residential_ARP000101518001_0III1713193697.JPG\",\n \"Extension\": \"jpg\",\n \"CodigoNodo\": \"Cod99999988774\",\n \"NameOriginal\": \"CW-10.jpg\",\n \"Size\": {\n \"Size\": 0.4016141891479492,\n \"UM\": \"MB\"\n },\n \"Ruta\": \"AddressList_183_Residential_ARP000101518001_\",\n \"Observacion\": \"Cargado desde PWA\",\n \"Coordenadas\": {\n \"X\": \"-77.0334179\",\n \"Y\": \"-12.0632484\"\n },\n \"Fecha_Archivo\": new Date(\"2024-04-12T17:46:39.794Z\"),\n \"Ultimo_Flujo\": {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:08:17.625Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:08:17.625Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n },\n \"Flujos\": [\n {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:08:17.625Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:08:17.625Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n }\n ],\n \"Estado\": {\n \"ID_Estado\": 2024,\n \"Nombre\": \"ALEMANIA_CLIENTES_NOCLIENTES_DOCDP\"\n }\n }],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n }\n ],\n \"Titulo\": `DROP`,\n \"Codigo\": \"Cod9999998877\",\n \"Descripcion\": \"DROP\",\n \"Files\": [],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 0,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n}\nconst modelCABLE: NodoDocDto = {\n \"id\": 9999998878,\n \"label\": \"CABLE\",\n \"Children\": [\n {\n \"id\": 999999887766,\n \"label\": \"Medidas OTDR\",\n \"Children\": [],\n \"Titulo\": `Medidas OTDR`,\n \"Codigo\": \"Cod999999887766\",\n \"Descripcion\": \"Medidas OTDR\",\n \"Files\": [],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n },\n {\n \"id\": 999999887755,\n \"label\": \"Protocolo de soplado\",\n \"Children\": [],\n \"Titulo\": `Protocolo de soplado`,\n \"Codigo\": \"Cod999999887755\",\n \"Descripcion\": \"Protocolo de soplado\",\n \"Files\": [],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n }\n ],\n \"Titulo\": `CABLE`,\n \"Codigo\": \"Cod9999998878\",\n \"Descripcion\": \"CABLE\",\n \"Files\": [],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 0,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n}\nconst modelARMARIO: NodoDocDto = {\n \"id\": 9999998879,\n \"label\": \"ARMARIO\",\n \"Children\": [\n {\n \"id\": 9999998877666,\n \"label\": \"Photos of labelled ducts of the installed HPs\",\n \"Children\": [],\n \"Titulo\": `Photos of labelled ducts of the installed HPs`,\n \"Codigo\": \"Cod9999998877666\",\n \"Descripcion\": \"Photos of labelled ducts of the installed HPs\",\n \"Files\": [],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n },\n {\n \"id\": 9999998877555,\n \"label\": \"Photos of splice cassettes with Feeder\",\n \"Children\": [],\n \"Titulo\": `Photos of splice cassettes with Feeder`,\n \"Codigo\": \"Cod9999998877555\",\n \"Descripcion\": \"Photos of splice cassettes with Feeder\",\n \"Files\": [],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n },\n {\n \"id\": 9999998877444,\n \"label\": \"Photos of splices from the installed HPs\",\n \"Children\": [],\n \"Titulo\": `Photos of splices from the installed HPs`,\n \"Codigo\": \"Cod9999998877444\",\n \"Descripcion\": \"Photos of splices from the installed HPs\",\n \"Files\": [],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n }\n ],\n \"Titulo\": `ARMARIO`,\n \"Codigo\": \"Cod9999998879\",\n \"Descripcion\": \"ARMARIO\",\n \"Files\": [],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 0,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n}\n\nconst DocumentacionHPResidential: DocumentacionPEXEntity = {\n \"ID_DocumentacionPEX\": 0,\n \"TipoObra\": \"Construccion\",\n \"Sistema\": \"GERMAN\",\n \"Codigo\": \"cod001\",\n \"Nombre\": \"Documentacion Alemania\",\n \"Pais\": {\n \"Codigo\": \"004\",\n \"Nombre\": \"ALEMANIA\"\n },\n \"Delegacion\": {\n \"Codigo\": \"AL02\",\n \"Nombre\": \"COMUNICACIONES ALEMANIA\"\n },\n \"Nodos\": [],\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n },\n \"Bitacora\": []\n}\n\nexport function obtenerDocumentacionClientes({ codEspecialidades }: { codEspecialidades?: string[] }) {\n const documentacion = structuredClone(DocumentacionHPResidential)\n const modelDROPAux = structuredClone(modelDROP)\n const modelCABLEAux = structuredClone(modelCABLE)\n const modelARMARIOAux = structuredClone(modelARMARIO)\n if (!codEspecialidades) {\n documentacion.Nodos = [modelDROPAux, modelCABLEAux, modelARMARIOAux]\n return documentacion\n }\n if (codEspecialidades.includes('01.2-OBRA CIVIL/DROPS') || codEspecialidades.includes('01.1-OBRA CIVIL')) { documentacion.Nodos.push(modelDROPAux) }\n if (codEspecialidades.includes('03-SOPLADO RA') || codEspecialidades.includes('02-SOPLADO RD')) {\n documentacion.Nodos.push(modelCABLEAux)\n documentacion.Nodos.push(modelARMARIOAux)\n }\n return documentacion\n}","import { UsuarioDto } from '../../../shared/dtos/UsuarioDto'\nimport { FlujoDocDto } from '../../dtos/FlujoDocDto'\n\nexport const dataFlujosHomePass: FlujoDocDto[] = [\n {\n Action: 'Registrar',\n Fecha: new Date(),\n Usuario: new UsuarioDto,\n Description: 'Registrar',\n Posicion: '1',\n Icono: 'fa fa-registered',\n ColorIcono: '#1d9d74',\n TagPagina: ['tagGestionDP'],\n Visible: false\n },\n {\n Action: 'Aprobar',\n Fecha: new Date(),\n Usuario: new UsuarioDto,\n Description: 'Aprobar',\n Posicion: '2',\n Icono: 'fa fa-check-square-o',\n ColorIcono: '#31ce36',\n TagPagina: ['tagGestionDP'],\n Visible: false\n },\n {\n Action: 'Eliminar',\n Fecha: new Date(),\n Usuario: new UsuarioDto,\n Description: 'Eliminar',\n Posicion: '4',\n Icono: 'fa fa-times-circle',\n ColorIcono: '#f25961',\n TagPagina: ['tagGestionDP'],\n Visible: false\n }\n]","import { NodoDocDto } from '../../../shared/dtos/NodoDocDto'\n\nexport const updateNodoAsfaltoRecursivo = (nodos: NodoDocDto[], metros: number) => {\n for (const nodo of nodos) {\n\n if (nodo.Codigo.trim() !== 'Cod100') updateNodoAsfaltoRecursivo(nodo.Children, metros)\n\n const nodoCod100 = nodo.Children.find(e => e.Codigo.trim() === 'Cod119')\n\n if (!nodoCod100) continue\n\n const childrenAux = nodo.Children.filter(e => !['Cod119'].includes(e.Codigo))\n const mtsCod119 = 50 //CAMBIAR SEGUN LO PEDIDO\n const numCod110 = Math.ceil(metros / mtsCod119)\n const newNodosCod110 = []\n\n for (let index = 0; index < numCod110; index++) {\n const inicial = index * mtsCod119\n const final = inicial + mtsCod119\n const textAdd = `${inicial}m - ${final}m`\n const numAdd = `${inicial}${final}`\n const newNodo = structuredClone(nodoCod100)\n newNodo.Codigo = `${newNodo.Codigo}${numAdd}`\n newNodo.Descripcion = textAdd\n newNodo.Titulo = textAdd\n newNodo.id = Number(`${newNodo.id}${numAdd}`)\n newNodo.label = textAdd\n updateChildren(newNodo.Children, numAdd)\n newNodosCod110.push(newNodo)\n }\n\n nodo.Children = [...childrenAux, ...newNodosCod110]\n\n }\n}\n\nfunction updateChildren(Children: NodoDocDto[], numAdd: string) {\n for (const nodo of Children) {\n nodo.Codigo = `${nodo.Codigo}${numAdd}`\n nodo.id = Number(`${nodo.id}${numAdd}`)\n updateChildren(nodo.Children, numAdd)\n }\n}","import { NodoDocDto } from '../../../shared/dtos/NodoDocDto'\n\nexport const updateNodoZanjaRecursivo = (nodos: NodoDocDto[], metros: number) => {\n for (const nodo of nodos) {\n\n if (nodo.Codigo.trim() !== 'Cod61') updateNodoZanjaRecursivo(nodo.Children, metros)\n\n const nodoCod110 = nodo.Children.find(e => e.Codigo.trim() === 'Cod110')\n\n if (!nodoCod110) continue\n\n const childrenAux = nodo.Children.filter(e => !['Cod110'].includes(e.Codigo))\n const mtsCod110 = 50 //CAMBIAR SEGUN LO PEDIDO\n const numCod110 = Math.ceil(metros / mtsCod110)\n const newNodosCod110 = []\n\n for (let index = 0; index < numCod110; index++) {\n const inicial = index * mtsCod110\n const final = inicial + mtsCod110\n const textAdd = `${inicial}m - ${final}m`\n const numAdd = `${inicial}${final}`\n const newNodo = structuredClone(nodoCod110)\n newNodo.Codigo = `${newNodo.Codigo}${numAdd}`\n newNodo.Descripcion = textAdd\n newNodo.Titulo = textAdd\n newNodo.id = Number(`${newNodo.id}${numAdd}`)\n newNodo.label = textAdd\n updateChildren(newNodo.Children, numAdd)\n newNodosCod110.push(newNodo)\n }\n\n nodo.Children = [...childrenAux, ...newNodosCod110]\n\n }\n}\n\nfunction updateChildren(Children: NodoDocDto[], numAdd: string) {\n for (const nodo of Children) {\n nodo.Codigo = `${nodo.Codigo}${numAdd}`\n nodo.id = Number(`${nodo.id}${numAdd}`)\n updateChildren(nodo.Children, numAdd)\n }\n}","type ReglaSoplado = { codigo: string; cantidad: number }\n\n// Función para generar las reglas reutilizando códigos\nconst generarReglasTroncal = (cantidad: number): ReglaSoplado[] => [\n { codigo: '042904800', cantidad },\n { codigo: '061305000', cantidad },\n { codigo: '041804900', cantidad },\n]\nconst generarReglasClientes = (cantidad: number): ReglaSoplado[] => [\n { codigo: '042904600', cantidad },\n]\n\nexport const mapaReglaSopladoTroncal: Map<string, ReglaSoplado[]> = new Map([\n ['042004400', generarReglasTroncal(96)],\n ['041704500', generarReglasTroncal(48)],\n ['041704300', generarReglasTroncal(384)],\n ['041704200', generarReglasTroncal(576)],\n])\n\nexport const mapaReglaSopladoClientes: Map<string, ReglaSoplado[]> = new Map([\n ['T14', generarReglasClientes(2)],\n ['T15', generarReglasClientes(2)],\n ['T16', generarReglasClientes(2)],\n])\n","interface iMapaMOMadreMOHija {\n CodigoMOMadre: string,\n CodigoMOHija: string,\n}\ninterface iMapaMOZanjaDEPTH {\n CodigoMOMadre: string,\n CodigoMOHija: string,\n DEPTH: number,\n CantidadMO: number,\n}\ninterface iMapaMOCantidad {\n CodigoMO: string,\n Cantidad: number,\n}\ninterface iMapaMOCantidad {\n CodigoMO: string,\n Cantidad: number,\n}\ninterface iMapaMOBOM {\n TablaHoja: string,\n CampoBOM: string,\n Valor: string,\n CodigoMO: string,\n}\n//Mapeo BOM Dos Hojas\nexport const MapeoMOBOMAL04: iMapaMOBOM[] = [\n { TablaHoja: 'TC_M_SP_SEGMENT', CampoBOM: 'TYPE', Valor: 'Pflaster/ Platten', CodigoMO: 'BR01' },\n { TablaHoja: 'TC_M_SP_SEGMENT', CampoBOM: 'TYPE', Valor: 'Asphalt', CodigoMO: 'AP01' },\n { TablaHoja: 'TC_M_SP_SEGMENT', CampoBOM: 'TYPE', Valor: 'Ohne Oberbau', CodigoMO: 'GR01' },\n { TablaHoja: 'TC_M_FO_CABLE', CampoBOM: 'MODEL', Valor: 'Gf-Minikabel 96 Fasern', CodigoMO: 'BL01' },\n { TablaHoja: 'TC_M_FO_CABLE', CampoBOM: 'MODEL', Valor: 'Gf-Minikabel 48 Fasern', CodigoMO: 'BL01' },\n { TablaHoja: 'TC_M_FO_CABLE', CampoBOM: 'MODEL', Valor: 'Gf-Minikabel 24 Fasern', CodigoMO: 'BL01' },\n]\n//Lectura de Excel en SEGMENT\nexport const SEGMENT_TY = [\n 'Verzweigerkabeltrasse',\n 'Cross'\n]\n//Cantidad la misma de la madre\nexport const MOHijasAL04: iMapaMOMadreMOHija[] = [\n { CodigoMOMadre: 'AP01', CodigoMOHija: 'AP02' },\n]\n//Manos de obra Hija bajo condiciones\nexport const MOHijasDEPTH: iMapaMOZanjaDEPTH[] = [\n { CodigoMOMadre: 'AP01', DEPTH: 0.60, CodigoMOHija: 'EXTRA01', CantidadMO: 1 },\n { CodigoMOMadre: 'AP01', DEPTH: 0.80, CodigoMOHija: 'EXTRA01', CantidadMO: 2 },\n { CodigoMOMadre: 'AP01', DEPTH: 1.00, CodigoMOHija: 'EXTRA01', CantidadMO: 3 },\n { CodigoMOMadre: 'AP01', DEPTH: 1.20, CodigoMOHija: 'EXTRA01', CantidadMO: 4 },\n { CodigoMOMadre: 'BR01', DEPTH: 0.60, CodigoMOHija: 'EXTRA01', CantidadMO: 1 },\n { CodigoMOMadre: 'BR01', DEPTH: 0.80, CodigoMOHija: 'EXTRA01', CantidadMO: 2 },\n { CodigoMOMadre: 'BR01', DEPTH: 1.00, CodigoMOHija: 'EXTRA01', CantidadMO: 3 },\n { CodigoMOMadre: 'BR01', DEPTH: 1.20, CodigoMOHija: 'EXTRA01', CantidadMO: 4 },\n { CodigoMOMadre: 'GR01', DEPTH: 0.60, CodigoMOHija: 'EXTRA01', CantidadMO: 1 },\n { CodigoMOMadre: 'GR01', DEPTH: 0.80, CodigoMOHija: 'EXTRA01', CantidadMO: 2 },\n { CodigoMOMadre: 'GR01', DEPTH: 1.00, CodigoMOHija: 'EXTRA01', CantidadMO: 3 },\n { CodigoMOMadre: 'GR01', DEPTH: 1.20, CodigoMOHija: 'EXTRA01', CantidadMO: 4 },\n]\n//Baremo Unico por DP Cantidad 1, Solo se puede preliquidar una vez\nexport const MOCantidadNVT01: iMapaMOCantidad[] = [\n { CodigoMO: 'NVT01', Cantidad: 1 }\n]\n//#region TRONCAL\n// Obra Civil\nexport const codMOTroncalAL04OC = [\n 'CR01',\n 'BR01',\n 'AP01',\n 'GR01',\n 'TD01',\n 'EXTRA01',\n 'NVT01'\n]\n// Soplado\nexport const codMOTroncalAL04Soplado = [\n 'BL01',\n 'SP01',\n 'SP02',\n 'PP01',\n 'PP02',\n 'MS01',\n]\n// Asfaltado\nexport const codMOTroncalAL04Asfaltado = [\n 'AP02',\n]\n// MO Permitidas En Troncal\nexport const codMOTroncalAL04 = [\n ...codMOTroncalAL04OC,\n ...codMOTroncalAL04Soplado,\n ...codMOTroncalAL04Asfaltado\n]\n//#endregion TRONCAL\n\n//#region CLIENTES\n// Obra Civil\nexport const codMODROPAL04OC = [\n 'GD01',\n]\n// Soplado\nexport const codMODROPAL04Soplado = [\n 'BL02',\n 'SP01',\n 'SP02',\n 'PP01',\n 'PP02',\n 'MS01',\n]\n// MO Permitidas En DROPS (CLIENTES) (Residential)\nexport const codMODROPAL04 = [\n ...codMODROPAL04OC,\n ...codMODROPAL04Soplado\n]\n//#endregion CLIENTES\n\n// MO Permitidas En FTTF (NO CLIENTES) (Business)\nexport const codBalizaAL04 = 'HP01' //(baliza)\n\nexport const codMOFTTFAL04 = [\n codBalizaAL04\n]\n","interface IMaterial {\n Codigo: string\n Cantidad: number\n Factor: number\n Observacion?: string\n CantidadPadre: boolean // Primero fijarse en aqui si es true va cantidad del Padre, pero si es false fijarme en CantidadFija\n CantidadFija: boolean // Si es true va Cantidad, si es false el usuario debe ingresar\n Materiales: Map<string, IMaterial> | IMaterial[]\n}\n\ninterface IMO extends IMaterial {\n ManoObra: Map<string, IMO> | IMO[]\n}\n\nexport const mapaMOMaterialAL04 = new Map<string, IMO>([\n [\n 'BR01',\n {\n Codigo: 'BR01',\n ManoObra: [],\n Materiales: new Map([\n [\n '40770321',\n {\n Cantidad: 0,\n Codigo: '40770321',\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 12,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 12,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40274727',\n {\n Codigo: '40274727',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 7,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 7,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40317871',\n {\n Codigo: '40317871',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 3,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 3,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263177',\n {\n Codigo: '40263177',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263174',\n {\n Codigo: '40263174',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40263175',\n {\n Codigo: '40263175',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263173',\n {\n Codigo: '40263173',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263181',\n {\n Codigo: '40263181',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263179',\n {\n Codigo: '40263179',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263180',\n {\n Codigo: '40263180',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40263178',\n {\n Codigo: '40263178',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40246447',\n {\n Codigo: '40246447',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ]\n ]),\n CantidadFija: false,\n CantidadPadre: false,\n Cantidad: 0,\n Factor: 1\n }\n ],\n [\n 'AP01',\n {\n Codigo: 'AP01',\n ManoObra: [],\n Materiales: new Map([\n [\n '40770321',\n {\n Cantidad: 0,\n Codigo: '40770321',\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 12,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 12,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40274727',\n {\n Codigo: '40274727',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 7,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 7,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40317871',\n {\n Codigo: '40317871',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 3,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 3,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263177',\n {\n Codigo: '40263177',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263174',\n {\n Codigo: '40263174',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40263175',\n {\n Codigo: '40263175',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263173',\n {\n Codigo: '40263173',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263181',\n {\n Codigo: '40263181',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263179',\n {\n Codigo: '40263179',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263180',\n {\n Codigo: '40263180',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40263178',\n {\n Codigo: '40263178',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40246447',\n {\n Codigo: '40246447',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ]\n ]),\n CantidadFija: false,\n CantidadPadre: false,\n Cantidad: 0,\n Factor: 1\n }\n ],\n [\n 'GR01',\n {\n Codigo: 'GR01',\n ManoObra: [],\n Materiales: new Map([\n [\n '40770321',\n {\n Cantidad: 0,\n Codigo: '40770321',\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 12,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 12,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40274727',\n {\n Codigo: '40274727',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 7,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 7,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40317871',\n {\n Codigo: '40317871',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 3,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 3,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263177',\n {\n Codigo: '40263177',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263174',\n {\n Codigo: '40263174',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40263175',\n {\n Codigo: '40263175',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263173',\n {\n Codigo: '40263173',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263181',\n {\n Codigo: '40263181',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263179',\n {\n Codigo: '40263179',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263180',\n {\n Codigo: '40263180',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40263178',\n {\n Codigo: '40263178',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40246447',\n {\n Codigo: '40246447',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ]\n ]),\n CantidadFija: false,\n CantidadPadre: false,\n Cantidad: 0,\n Factor: 1\n }\n ],\n [\n 'TD01',\n {\n Codigo: 'TD01',\n ManoObra: [],\n Materiales: new Map([\n [\n '40770321',\n {\n Cantidad: 0,\n Codigo: '40770321',\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 12,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 12,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40274727',\n {\n Codigo: '40274727',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 7,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 7,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40317871',\n {\n Codigo: '40317871',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 3,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 3,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263177',\n {\n Codigo: '40263177',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263174',\n {\n Codigo: '40263174',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40263175',\n {\n Codigo: '40263175',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263173',\n {\n Codigo: '40263173',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263181',\n {\n Codigo: '40263181',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263179',\n {\n Codigo: '40263179',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263180',\n {\n Codigo: '40263180',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40263178',\n {\n Codigo: '40263178',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40246447',\n {\n Codigo: '40246447',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ]\n ]),\n CantidadFija: false,\n CantidadPadre: false,\n Cantidad: 0,\n Factor: 1\n }\n ],\n [\n 'CR01',\n {\n Codigo: 'CR01',\n ManoObra: [],\n Materiales: new Map([\n [\n '40770321',\n {\n Cantidad: 0,\n Codigo: '40770321',\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 12,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 12,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40274727',\n {\n Codigo: '40274727',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 7,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 7,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40317871',\n {\n Codigo: '40317871',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 3,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 3,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263177',\n {\n Codigo: '40263177',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263174',\n {\n Codigo: '40263174',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40263175',\n {\n Codigo: '40263175',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263173',\n {\n Codigo: '40263173',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263181',\n {\n Codigo: '40263181',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263179',\n {\n Codigo: '40263179',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263180',\n {\n Codigo: '40263180',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40263178',\n {\n Codigo: '40263178',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40246447',\n {\n Codigo: '40246447',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ]\n ]),\n CantidadFija: false,\n CantidadPadre: false,\n Cantidad: 0,\n Factor: 1\n }\n ]\n])","import { ManoDeObraEntity } from './entitys/ManoDeObraEntity'\n\ninterface IenvSIGO {\n SISTEMAS_VALORIZACION_MANO_OBRA: string[]\n}\n\ninterface IProps {\n manoObra: ManoDeObraEntity\n ContratoOT: any\n envSIGO: IenvSIGO\n obra: { ContratoOT: { Sistema: string } }\n}\n\nexport const ActualizarDataManoObra = ({ manoObra, ContratoOT, envSIGO, obra }: IProps): void => {\n\n let Sistema: string = envSIGO.SISTEMAS_VALORIZACION_MANO_OBRA.includes(obra.ContratoOT.Sistema) ? 'onNet' : 'default'\n\n if (Sistema == 'default') Sistema = !ContratoOT.CheckPrecioMO ? 'default' : 'onNet'\n\n for (const valorizacion of manoObra.Valorizacion) {\n const { DatosManoObraGlobal: { DetalleChile: { ManoObraBaremo } }, DatosPrecioEspecialidad: { Agencias } } = valorizacion.DatosCatalogoMO\n if (!!!Agencias.length) throw Error(`¡No se pudo obtener Precio! Comunícate con Soporte`)\n const agencia = Agencias.find((e: any) => e.Estado.ID_Estado === 1)\n if (!!!agencia) throw Error(`¡No se pudo obtener Precio! Comunícate con Soporte`)\n valorizacion.Precio = Number(agencia.Ultimo_Precio.Precio)\n if (!!!ManoObraBaremo.length) throw Error(`¡No se pudo obtener Punto Baremo! Comunícate con Soporte`)\n valorizacion.DetalleChile.PuntoBaremo = ManoObraBaremo[0].PuntoBaremo\n\n const sistema: any = {\n onNet: { PuntoBaremo: valorizacion.Precio, Precio: valorizacion.DetalleChile.PuntoBaremo },\n default: { PuntoBaremo: valorizacion.DetalleChile.PuntoBaremo, Precio: valorizacion.Precio }\n }\n valorizacion.DetalleChile.PuntoBaremo = sistema[Sistema].PuntoBaremo\n valorizacion.Precio = sistema[Sistema].Precio\n }\n\n}","import { ReservaEntity } from './entitys/ReservaEntity'\n\nexport const ActualizarDataReserva = (reserva: ReservaEntity): void => {\n for (const item of reserva.Item) {\n const tipo = item?.DatosCatalogoItem?.DatosItem?.Tipo || ''\n const precio = Number(item?.DatosCatalogoItem?.DatosPrecioMaterial?.Precio) || 0\n item.Valor = tipo.trim() === 'AP Valorado' ? precio : 0\n }\n}","import { ResumenLiquidacionesType } from \"./CalcularResumenLiquidaciones\";\n\nexport const ActualizarDataResumenLiquidaciones: Funcion = (ManoObra, Reserva, StockPersonal, ResumenPreLiquidado) => {\n\n if (ManoObra && ManoObra.Valorizacion && Array.isArray(ManoObra.Valorizacion)) {\n\n for (const valorizacion of ManoObra.Valorizacion) {\n valorizacion.CantidadUsado = 0;\n const val = ResumenPreLiquidado.MoUo.find(e => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);\n if (val) valorizacion.CantidadUsado = val.Cantidad;\n }\n\n }\n\n if (Reserva && Reserva.Item && Array.isArray(Reserva.Item)) {\n\n for (const item of Reserva.Item) {\n item.CantidadUsados = 0;\n const itemAUX = ResumenPreLiquidado.MatUtilizados.find(e => e.Codigo === item.Codigo);\n if (itemAUX) item.CantidadUsados = itemAUX.Cantidad;\n }\n\n }\n\n if (StockPersonal && Array.isArray(StockPersonal)) {\n\n for (const stockPersonal of StockPersonal) {\n\n stockPersonal.Liquidacion = 0\n\n const stock = ResumenPreLiquidado.MatStockPersonal.find(e => e.ID_Trabajo === stockPersonal.ID_Trabajo\n && e.Identificacion === stockPersonal.Personal.Identificacion\n && e.Codigo === stockPersonal.Reserva)\n\n if (stock) {\n if (stock.Cantidad > stockPersonal.Despacho) {\n stockPersonal.Liquidacion = stockPersonal.Despacho\n stock.Cantidad = stock.Cantidad - stockPersonal.Despacho\n } else {\n stockPersonal.Liquidacion = stock.Cantidad\n stock.Cantidad = 0\n }\n }\n\n }\n }\n\n}\n\ninterface Funcion {\n (ManoObra: any, Reserva: any, StockPersonal: any[], ResumenPreLiquidado: ResumenLiquidacionesType): void;\n}","import { ResumenLiquidacionesType } from \"./CalcularResumenValorizacionesAlemania\"\n\nexport const ActualizarDataResumenValorizacionesAlemania: Funcion = (ManoObra, Reserva, StockPersonal, ResumenPreLiquidado) => {\n\n if (ManoObra && ManoObra.Valorizacion && Array.isArray(ManoObra.Valorizacion)) {\n\n for (const valorizacion of ManoObra.Valorizacion) {\n valorizacion.CantidadUsado = 0;\n const val = ResumenPreLiquidado.MoUo.find(e => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);\n if (val) valorizacion.CantidadUsado = val.Cantidad;\n }\n\n }\n\n if (Reserva && Reserva.Item && Array.isArray(Reserva.Item)) {\n\n for (const item of Reserva.Item) {\n item.CantidadUsados = 0;\n const itemAUX = ResumenPreLiquidado.MatUtilizados.find(e => e.Codigo === item.Codigo);\n if (itemAUX) item.CantidadUsados = itemAUX.Cantidad;\n }\n\n }\n\n if (StockPersonal && Array.isArray(StockPersonal)) {\n\n for (const stockPersonal of StockPersonal) {\n\n stockPersonal.Liquidacion = 0\n\n const stock = ResumenPreLiquidado.MatStockPersonal.find(e => e.ID_Trabajo === stockPersonal.ID_Trabajo\n && e.Identificacion === stockPersonal.Personal.Identificacion\n && e.Codigo === stockPersonal.Reserva\n && e.CodigoLlave === stockPersonal.CodigoLlave)\n\n if (stock) {\n if (stock.Cantidad > stockPersonal.Despacho) {\n stockPersonal.Liquidacion = stockPersonal.Despacho\n stock.Cantidad = stock.Cantidad - stockPersonal.Despacho\n } else {\n stockPersonal.Liquidacion = stock.Cantidad\n stock.Cantidad = 0\n }\n }\n\n }\n }\n\n}\n\ninterface Funcion {\n (ManoObra: any, Reserva: any, StockPersonal: any[], ResumenPreLiquidado: ResumenLiquidacionesType): void;\n}","import { ManoDeObraEntity } from './entitys/ManoDeObraEntity'\nimport { ObraEntity } from './entitys/ObraEntity'\nimport { TrabajoEntity } from './entitys/TrabajoEntity'\n\ninterface IParams {\n manoObra: ManoDeObraEntity\n trabajos: TrabajoEntity[]\n obra: ObraEntity\n ContratoOT: any\n envSIGO: IenvSIGO\n}\n\ninterface IenvSIGO {\n SISTEMAS_VALORIZACION_MANO_OBRA: string[]\n}\n\nexport const ActualizarDataTrabajos = ({ manoObra, trabajos, obra, ContratoOT, envSIGO }: IParams): void => {\n let Sistema: string = envSIGO.SISTEMAS_VALORIZACION_MANO_OBRA.includes(obra.ContratoOT.Sistema) ? 'onNet' : 'default'\n if (Sistema === 'default') {\n const CheckPrecioMO = ContratoOT.CheckPrecioMO\n Sistema = !CheckPrecioMO ? 'default' : 'onNet'\n }\n for (const trabajo of trabajos) {\n for (const valorizacion of trabajo.Ultima_PreLiquidacion.Valorizacion) {\n const valorizacionMO = manoObra.Valorizacion.find(e => e.DetalleChile.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub)\n if (valorizacionMO) {\n const { DatosManoObraGlobal: { DetalleChile: { ManoObraBaremo } }, DatosPrecioEspecialidad: { Agencias } } = valorizacionMO.DatosCatalogoMO\n const sistema: any = {\n onNet: { PuntoBaremo: Agencias[0].Ultimo_Precio.Precio, Precio: ManoObraBaremo[0].PuntoBaremo },\n default: { PuntoBaremo: ManoObraBaremo[0].PuntoBaremo, Precio: Agencias[0].Ultimo_Precio.Precio }\n }\n valorizacion.DetalleChile.PuntoBaremo = sistema[Sistema].PuntoBaremo\n valorizacion.Precio = sistema[Sistema].Precio\n } else {\n console.error(`¡No se encontró Valorizacion con LineaCodigoCub: ${valorizacion.DetalleChile.LineaCodigoCub} en la Mano de Obra!`)\n }\n }\n }\n}","interface Zona {\n Descripcion: string\n Codigo: string\n Estado: {\n ID_Estado: number\n }\n}\n\ninterface EmpresaContratistaEnPrecioEspecialidad {\n Zonas: Zona[]\n}\n\ninterface Obra {\n Pais: {\n Codigo: string\n }\n}\n\nexport function BuscarZonaContratista(EmpresaContratistaEnPrecioEspecialidad: EmpresaContratistaEnPrecioEspecialidad, Obra: Obra, ZonaAsignada: string): Zona | undefined {\n const zonaSearchMapping: Record<string, () => Zona | undefined> = {\n '512': () => EmpresaContratistaEnPrecioEspecialidad.Zonas.find((e) => e.Descripcion.toUpperCase() === ZonaAsignada.toUpperCase() && e.Estado.ID_Estado === 1),\n '004': () => EmpresaContratistaEnPrecioEspecialidad.Zonas.find((e) => e.Descripcion.toUpperCase() === ZonaAsignada.toUpperCase() && e.Estado.ID_Estado === 1),\n '480': () => EmpresaContratistaEnPrecioEspecialidad.Zonas.find((e) => e.Codigo.toUpperCase() === ZonaAsignada.toUpperCase() && e.Estado.ID_Estado === 1)\n };\n\n return zonaSearchMapping[Obra.Pais.Codigo]()\n}\n","import { HomePassDto } from '../../dtos/HomePassDto'\n\ninterface typeHPMOUtilizado {\n ID_HPListMO: number\n CantidadUtilizado: number\n}\n\ninterface typeTrabajo {\n Ultima_PreLiquidacion: PreLiquidacion\n}\n\ninterface PreLiquidacion {\n Valorizacion: ValorizacionDto[]\n}\n\ninterface ValorizacionDto {\n Ultimo_Estado_Interno: EstadoInternoDto\n HomePass: HomePassDto[]\n}\n\ninterface EstadoInternoDto {\n Descripcion: string\n}\n\nexport const CalcularResumenHPMOLiquidado = (trabajo: typeTrabajo): typeHPMOUtilizado[] => {\n return trabajo.Ultima_PreLiquidacion.Valorizacion.reduce((acc: typeHPMOUtilizado[], valorizacion) => {\n if (['PRODUCCION', 'CERTIFICADA', 'PRELIQUIDADA', 'LIQUIDADA'].includes(valorizacion.Ultimo_Estado_Interno.Descripcion.trim())) {\n for (const hpmo of valorizacion.HomePass) {\n const hpmoAux = acc.find(e => e.ID_HPListMO === hpmo.ID_HPListMO)\n if (hpmoAux) {\n hpmoAux.CantidadUtilizado += hpmo.Cantidad\n return acc\n }\n return [\n ...acc\n ,\n {\n ID_HPListMO: hpmo.ID_HPListMO,\n CantidadUtilizado: hpmo.Cantidad\n }\n ]\n }\n }\n return acc\n }, [])\n}","\nexport const CalcularResumenLiquidaciones: Funcion = (trabajo, trabajos) => {\n let MoUo: MoUoType[] = [];\n let MatUtilizados: MatUtilizadosType[] = [];\n let MatRetirados: MatRetiradosType[] = [];\n let MatStockPersonal: MatStockPersonalType[] = [];\n let MatStockAlmacen: MatStockPersonalType[] = [];\n for (const trabajoDB of trabajos) {\n\n if (trabajoDB.ID_Trabajo === trabajo.ID_Trabajo) {\n trabajoDB.Ultima_PreLiquidacion.Valorizacion = trabajo.Ultima_PreLiquidacion.Valorizacion;\n }\n\n for (const valorizacion of trabajoDB.Ultima_PreLiquidacion.Valorizacion) {\n if (['PRODUCCION', 'CERTIFICADA', 'PRELIQUIDADA', 'LIQUIDADA'].includes(valorizacion.Ultimo_Estado_Interno.Descripcion.trim())) {\n\n const val = MoUo.find(e => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);\n if (val) {\n val.Cantidad += valorizacion.Cantidad;\n val.CantidadUO += valorizacion.CantidadUO;\n } else MoUo.push({\n LineaCodigoCub: valorizacion.DetalleChile.LineaCodigoCub,\n Cantidad: valorizacion.Cantidad,\n CantidadUO: valorizacion.CantidadUO,\n });\n\n for (const mu of valorizacion.MaterialesUtilizados) {\n if (mu.Estado.ID_Estado === 1) {\n\n const muAux = MatUtilizados.find((e: any) => e.Codigo === mu.Codigo);\n if (muAux) muAux.Cantidad += mu.Cantidad;\n else MatUtilizados.push({\n Codigo: mu.Codigo,\n Cantidad: mu.Cantidad,\n });\n\n const matStockPersonal = MatStockPersonal.find(e => e.ID_Trabajo === trabajoDB.ID_Trabajo\n && e.Codigo === mu.Codigo\n && e.Identificacion === trabajoDB.Ultima_asignacion.Personal[0].Identificacion\n )\n if (matStockPersonal) matStockPersonal.Cantidad += mu.Cantidad;\n else MatStockPersonal.push({\n ID_Trabajo: trabajoDB.ID_Trabajo,\n Identificacion: trabajoDB.Ultima_asignacion.Personal[0].Identificacion,\n Codigo: mu.Codigo,\n Cantidad: mu.Cantidad,\n })\n }\n }\n\n for (const mr of valorizacion.MaterialesRetirados) {\n if (mr.Estado.ID_Estado === 1) {\n const muAux = MatRetirados.find(e => e.Codigo === mr.Codigo);\n if (muAux) muAux.Cantidad += mr.Cantidad;\n else MatRetirados.push({\n Codigo: mr.Codigo,\n Cantidad: mr.Cantidad,\n });\n }\n }\n }\n }\n }\n return { MoUo, MatUtilizados, MatRetirados, MatStockPersonal, MatStockAlmacen };\n}\n\ninterface Funcion {\n (trabajo: TrabajoType, trabajos: any[]): ResumenLiquidacionesType;\n}\n\nexport interface ResumenLiquidacionesType {\n MoUo: MoUoType[];\n MatUtilizados: MatUtilizadosType[];\n MatRetirados: MatRetiradosType[];\n MatStockPersonal: MatStockPersonalType[];\n MatStockAlmacen: MatStockPersonalType[];\n};\n\nexport interface MatStockPersonalType {\n ID_Trabajo: number;\n Identificacion: string;\n Codigo: string;\n Cantidad: number;\n}\n\nexport interface MatRetiradosType {\n Codigo: string;\n Cantidad: number;\n}\n\nexport interface MatUtilizadosType {\n Codigo: string;\n Cantidad: number;\n}\n\nexport interface MoUoType {\n LineaCodigoCub: string;\n Cantidad: number;\n CantidadUO: number;\n}\n\ninterface TrabajoType {\n ID_Trabajo: number;\n Ultima_PreLiquidacion: PreLiquidacionType;\n // Otras propiedades y tipos correspondientes a 'Trabajo'\n}\n\ninterface PreLiquidacionType {\n Valorizacion: ValorizacionType[];\n // Otras propiedades y tipos correspondientes a 'PreLiquidacion'\n}\n\ninterface ValorizacionType {\n // Propiedades y tipos correspondientes a 'Valorizacion'\n}\n","\nexport const CalcularResumenValorizacionesAlemania: Funcion = (trabajo, trabajos) => {\n let MoUo: MoUoType[] = [];\n let MatUtilizados: MatUtilizadosType[] = [];\n let MatRetirados: MatRetiradosType[] = [];\n let MatStockPersonal: MatStockPersonalType[] = [];\n let MatStockAlmacen: MatStockAlmacenType[] = [];\n for (const trabajoDB of trabajos) {\n\n if (trabajoDB.ID_Trabajo === trabajo.ID_Trabajo) {\n trabajoDB.Ultima_PreLiquidacion.Valorizacion = trabajo.Ultima_PreLiquidacion.Valorizacion;\n }\n\n for (const valorizacion of trabajoDB.Ultima_PreLiquidacion.Valorizacion) {\n if (['PRODUCCION', 'CERTIFICADA', 'PRELIQUIDADA', 'LIQUIDADA', 'RECHAZADA POR DOCUMENTACION'].includes(valorizacion.Ultimo_Estado_Interno.Descripcion.trim())) {\n if(valorizacion.Certificacion.Mes != 0) { continue; }\n const val = MoUo.find(e => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);\n if (val) {\n val.Cantidad += valorizacion.Cantidad;\n val.CantidadUO += valorizacion.CantidadUO;\n } else MoUo.push({\n LineaCodigoCub: valorizacion.DetalleChile.LineaCodigoCub,\n Cantidad: valorizacion.Cantidad,\n CantidadUO: valorizacion.CantidadUO,\n });\n\n for (const mu of valorizacion.MaterialesUtilizados) {\n\n if (mu.Estado.ID_Estado !== 1) continue\n\n const muAux = MatUtilizados.find((e: any) => e.Codigo === mu.Codigo);\n if (muAux) muAux.Cantidad += mu.Cantidad;\n else MatUtilizados.push({\n Codigo: mu.Codigo,\n Cantidad: mu.Cantidad,\n })\n\n if (!mu.CodigoLlave) throw Error(`No se pudo calcular resumen`)\n\n //#endregion Resumen Stock Personal\n if (mu.Motivo.Descripcion !== 'CONSUMO_MATERIAL_AUTOMATICO_DUCTOS') {\n const matStockPersonal = MatStockPersonal.find(e => e.ID_Trabajo === trabajoDB.ID_Trabajo\n && e.CodigoLlave === mu.CodigoLlave\n && e.Identificacion === trabajoDB.Ultima_asignacion.Personal[0].Identificacion\n )\n if (matStockPersonal) matStockPersonal.Cantidad += mu.Cantidad\n else MatStockPersonal.push({\n ID_Trabajo: trabajoDB.ID_Trabajo,\n Identificacion: trabajoDB.Ultima_asignacion.Personal[0].Identificacion,\n Codigo: mu.Codigo,\n CodigoLlave: mu.CodigoLlave,\n Cantidad: mu.Cantidad,\n })\n }\n //#endregion\n\n //#region Mat Stock Almacen\n if (mu.Motivo.Descripcion === 'CONSUMO_MATERIAL_AUTOMATICO_DUCTOS') {\n const matStockAlmacen = MatStockAlmacen.find(e => e.ID_Trabajo === trabajoDB.ID_Trabajo\n && e.CodigoLlave === mu.CodigoLlave\n )\n if (matStockAlmacen) matStockAlmacen.Cantidad += mu.Cantidad;\n else MatStockAlmacen.push({\n ID_Trabajo: trabajoDB.ID_Trabajo,\n Empresa: trabajoDB.Ultima_asignacion.Empresa.Codigo,\n CodigoLlave: mu.CodigoLlave,\n Codigo: mu.Codigo,\n Cantidad: mu.Cantidad,\n })\n }\n //#endregion\n }\n\n for (const mr of valorizacion.MaterialesRetirados) {\n if (mr.Estado.ID_Estado === 1) {\n const muAux = MatRetirados.find(e => e.Codigo === mr.Codigo);\n if (muAux) muAux.Cantidad += mr.Cantidad;\n else MatRetirados.push({\n Codigo: mr.Codigo,\n Cantidad: mr.Cantidad,\n });\n }\n }\n }\n }\n }\n return { MoUo, MatUtilizados, MatRetirados, MatStockPersonal, MatStockAlmacen };\n}\n\ninterface Funcion {\n (trabajo: TrabajoType, trabajos: any[]): ResumenLiquidacionesType;\n}\n\nexport interface ResumenLiquidacionesType {\n MoUo: MoUoType[];\n MatUtilizados: MatUtilizadosType[];\n MatRetirados: MatRetiradosType[];\n MatStockPersonal: MatStockPersonalType[];\n MatStockAlmacen: MatStockAlmacenType[];\n};\n\nexport interface MatStockPersonalType {\n ID_Trabajo: number;\n Identificacion: string;\n Codigo: string;\n CodigoLlave: string;\n Cantidad: number;\n}\n\nexport interface MatStockAlmacenType {\n ID_Trabajo: number;\n CodigoLlave: string;\n Codigo: string;\n Cantidad: number;\n Empresa: string\n}\n\nexport interface MatRetiradosType {\n Codigo: string;\n Cantidad: number;\n}\n\nexport interface MatUtilizadosType {\n Codigo: string;\n Cantidad: number;\n}\n\nexport interface MoUoType {\n LineaCodigoCub: string;\n Cantidad: number;\n CantidadUO: number;\n}\n\ninterface TrabajoType {\n ID_Trabajo: number;\n Ultima_PreLiquidacion: PreLiquidacionType;\n // Otras propiedades y tipos correspondientes a 'Trabajo'\n}\n\ninterface PreLiquidacionType {\n Valorizacion: ValorizacionType[];\n // Otras propiedades y tipos correspondientes a 'PreLiquidacion'\n}\n\ninterface ValorizacionType {\n // Propiedades y tipos correspondientes a 'Valorizacion'\n}\n","interface iMapaMatCantidad {\n CodigoMat: string,\n Cantidad: number,\n}\ninterface iMapaMatBOM {\n MapeoBOM: string,\n CodigoMat: string,\n CodigosMO: Array<string>,\n Empalmes: Array<iMapaMatCantidad>,\n Tapones: Array<iMapaMatCantidad>,\n}\ninterface iMapaMapeoMOMaterial {\n CodigoMO: string,\n CodigoMat: string,\n Cantidad: number,\n}\n//Mapeo BOM Dos Hojas\nexport const MapeoMatBOMAL04: iMapaMatBOM[] = [\n { MapeoBOM: '12x12', CodigoMat: '40770321', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 12 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 12 }],\n },\n { MapeoBOM: '7x12', CodigoMat: '40274727', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 7 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 7 }],\n },\n { MapeoBOM: '3x12', CodigoMat: '40317871', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 3 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 3 }],\n },\n { MapeoBOM: '22x7 +1x12 (O/R)', CodigoMat: '40263177', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 1 }, { CodigoMat: '40252698', Cantidad: 22 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 1 }, { CodigoMat: '40252697', Cantidad: 22 }],\n },\n { MapeoBOM: '22x7 +1x12 (O/S)', CodigoMat: '40263174', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 1 }, { CodigoMat: '40252698', Cantidad: 22 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 1 }, { CodigoMat: '40252697', Cantidad: 22 }],\n },\n { MapeoBOM: '22x7 +1x12 (O/W)', CodigoMat: '40263175', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 1 }, { CodigoMat: '40252698', Cantidad: 22 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 1 }, { CodigoMat: '40252697', Cantidad: 22 }],\n },\n { MapeoBOM: '22x7 +1x12 (O/O)', CodigoMat: '40263173', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 1 }, { CodigoMat: '40252698', Cantidad: 22 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 1 }, { CodigoMat: '40252697', Cantidad: 22 }],\n },\n { MapeoBOM: '8x7 +1x12 (O/R)', CodigoMat: '40263181', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 1 }, { CodigoMat: '40252698', Cantidad: 8 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 1 }, { CodigoMat: '40252697', Cantidad: 8 }],\n },\n { MapeoBOM: '8x7 +1x12 (O/S)', CodigoMat: '40263179', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 1 }, { CodigoMat: '40252698', Cantidad: 8 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 1 }, { CodigoMat: '40252697', Cantidad: 8 }],\n },\n { MapeoBOM: '8x7 +1x12 (O/W)', CodigoMat: '40263180', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 1 }, { CodigoMat: '40252698', Cantidad: 8 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 1 }, { CodigoMat: '40252697', Cantidad: 8 }],\n },\n { MapeoBOM: '8x7 +1x12 (O/O)', CodigoMat: '40263178', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 1 }, { CodigoMat: '40252698', Cantidad: 8 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 1 }, { CodigoMat: '40252697', Cantidad: 8 }],\n },\n { MapeoBOM: '1x7 mm', CodigoMat: '40246447', CodigosMO: ['GD01', 'HP01'], \n Empalmes: [{ CodigoMat: '40252698', Cantidad: 1 }], \n Tapones: [{ CodigoMat: '40252697', Cantidad: 1 }],\n },\n]\n//Baremo Unico por DP Cantidad 1\nexport const CodsMapeoMOMaterialNVT01: iMapaMapeoMOMaterial[] = [\n { CodigoMO: 'NVT01', CodigoMat: '47147177', Cantidad: 1 }\n]\n// Materiales Ductos\nexport const CodigosMaterialDuctosAL04: string[] = [\n '40770321',\n '40274727',\n '40317871',\n '40263177',\n '40263174',\n '40263175',\n '40263173',\n '40263181',\n '40263179',\n '40263180',\n '40263178',\n '40246447',\n]\n","export const CodigosMaterialSoplado = [\n { Codigo: '02CFO-108-205', Descripcion: '12FO-FIBER UNIT-DROP' },\n { Codigo: '02CFO-108-201', Descripcion: '2FO-FIBER UNIT-DROP' },\n { Codigo: '02CFO-108-204', Descripcion: '8FO-FIBER UNIT-DROP' },\n { Codigo: '02CFO-107-206', Descripcion: '96FO- OPTICAL CABLE' },\n { Codigo: '02CFO-107-204', Descripcion: '48FO-OPTICAL CABLE' },\n { Codigo: '02CFO-107-208', Descripcion: '192FO-OPTICAL CABLE' },\n { Codigo: '02CFO-107-209', Descripcion: '288FO-OPTICAL CABLE' },\n]","interface iMapeoMOMaterial {\n CodigoMO: string,\n CodigoMaterial: string,\n CodMatConector: string,\n CantidadPorDucto: number,\n Alcance: string,\n}\ninterface iMapeoMOMaterialSoplado {\n CodigoMO: string,\n CodigoMaterial: string,\n}\ninterface iMapaMOMaterialSoplado {\n CodigoMO: string,\n CodigoMaterial: string[],\n ConsumoManual?: boolean\n}\n\nexport const CodsMapeoMOMaterial: iMapeoMOMaterial[] = [\n { CodigoMO: '010103200', CodigoMaterial: '03DUC-109-204', CodMatConector: '03DUC-110-201', CantidadPorDucto: 2, Alcance: '2X16-12', },\n { CodigoMO: '010103300', CodigoMaterial: '03DUC-109-203', CodMatConector: '03DUC-110-201', CantidadPorDucto: 4, Alcance: '4X16-12', },\n { CodigoMO: '010103400', CodigoMaterial: '03DUC-109-202', CodMatConector: '03DUC-110-201', CantidadPorDucto: 7, Alcance: '7x16-12', },\n { CodigoMO: '010203900', CodigoMaterial: '03DUC-109-212', CodMatConector: '03DUC-110-210', CantidadPorDucto: 12, Alcance: '12x7-4', },\n { CodigoMO: '010204000', CodigoMaterial: '03DUC-109-211', CodMatConector: '03DUC-110-210', CantidadPorDucto: 24, Alcance: '24x7-4', },\n { CodigoMO: '010203800', CodigoMaterial: '03DUC-109-213', CodMatConector: '03DUC-110-210', CantidadPorDucto: 7, Alcance: '7X7-4', },\n { CodigoMO: '010303000', CodigoMaterial: '03DUC-109-201', CodMatConector: '03DUC-110-214', CantidadPorDucto: 2, Alcance: '1x50-40', },\n // { CodigoMO: '010303100', CodigoMaterial: '03DUC-109-210', CodMatConector: '03DUC-110-207', CantidadPorDucto: 1, Alcance: '1X12-10', },\n { CodigoMO: '', CodigoMaterial: '03DUC-109-210', CodMatConector: '03DUC-110-207', CantidadPorDucto: 1, Alcance: '', },\n { CodigoMO: '010403300', CodigoMaterial: '03DUC-109-209', CodMatConector: '03DUC-110-204', CantidadPorDucto: 1, Alcance: '1x14-10', },\n { CodigoMO: '010403500', CodigoMaterial: '03DUC-109-208', CodMatConector: '03DUC-110-204', CantidadPorDucto: 2, Alcance: '2x14-10', },\n { CodigoMO: '010403600', CodigoMaterial: '03DUC-109-207', CodMatConector: '03DUC-110-204', CantidadPorDucto: 4, Alcance: '4x14-10', },\n { CodigoMO: '010403700', CodigoMaterial: '03DUC-109-206', CodMatConector: '03DUC-110-204', CantidadPorDucto: 7, Alcance: '7x14-10', },\n { CodigoMO: '010206700', CodigoMaterial: '03DUC-109-214', CodMatConector: '03DUC-110-210', CantidadPorDucto: 1, Alcance: '1x7-4', },\n { CodigoMO: '', CodigoMaterial: '03DUC-109-205', CodMatConector: '03DUC-110-201', CantidadPorDucto: 1, Alcance: '', },\n]\n\nexport const CodsMapeoMOMaterialSopladoClientes: iMapaMOMaterialSoplado[] = [\n { CodigoMO: 'T14', CodigoMaterial: ['02CFO-108-205'] },\n { CodigoMO: 'T15', CodigoMaterial: ['02CFO-108-201'] },\n { CodigoMO: 'T16', CodigoMaterial: ['02CFO-108-204'] },\n // { CodigoMO: '062505900', CodigoMaterial: ['05PAO-114-201', '05PAO-114-202'] },\n]\nexport const CodsMapeoMOMaterialSopladoTroncal: iMapaMOMaterialSoplado[] = [\n { CodigoMO: '042004400', CodigoMaterial: ['02CFO-107-206'] },\n { CodigoMO: '041704500', CodigoMaterial: ['02CFO-107-204'] },\n { CodigoMO: '041704300', CodigoMaterial: ['02CFO-107-208'] },\n { CodigoMO: '041704200', CodigoMaterial: ['02CFO-107-209'] },\n { CodigoMO: '062505900', CodigoMaterial: ['05PAO-114-201', '05PAO-114-202'], ConsumoManual: true },\n]\nexport const CodsMapeoMO_Material_Arquertas: iMapeoMOMaterialSoplado[] = [\n { CodigoMO: '062705807', CodigoMaterial: '06ARQ-115-212' },\n { CodigoMO: '062705806', CodigoMaterial: '06ARQ-115-211' },\n { CodigoMO: '062705805', CodigoMaterial: '06ARQ-115-210' },\n { CodigoMO: '062705701', CodigoMaterial: '06ARQ-115-206' },\n { CodigoMO: '062705702', CodigoMaterial: '06ARQ-115-207' },\n { CodigoMO: '062705704', CodigoMaterial: '06ARQ-115-209' },\n { CodigoMO: '062705703', CodigoMaterial: '06ARQ-115-208' },\n { CodigoMO: '062705808', CodigoMaterial: '06ARQ-115-213' },\n]","export const CompararFechas = (Fecha1: Date, Fecha2?: Date): boolean => {\n const hoy = Fecha2 ? new Date(Fecha2) : new Date();\n hoy.setHours(0, 0, 0, 0);\n const fecParteDiario = new Date(Fecha1);\n fecParteDiario.setHours(0, 0, 0, 0);\n return fecParteDiario.getTime() === hoy.getTime();\n}\n","export const DocumentacionReplanteo: any[] = [\n {\n \"id\": 1,\n \"label\": \"REGISTRO FOTOGRAFICO\",\n \"Children\": [],\n \"IsDebug\": false,\n \"Titulo\": \"REGISTRO FOTOGRAFICO\",\n \"Codigo\": \"Cod1\",\n \"Descripcion\": \"REGISTRO FOTO GRAFICO\",\n \"Files\": [],\n \"Extension\": [\n \"ALL\"\n ],\n \"Size\": {\n \"IsDebug\": false,\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"Estado\": {\n \"IsDebug\": false,\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n },\n \"CantidadMin\": 0.0,\n \"CantidadMax\": 0.0\n },\n {\n \"id\": 2,\n \"label\": \"PLANO AUXILIAR\",\n \"Children\": [],\n \"IsDebug\": false,\n \"Titulo\": \"PLANO AUXILIAR\",\n \"Codigo\": \"Cod2\",\n \"Descripcion\": \"PLANO AUXILIAR\",\n \"Files\": [],\n \"Extension\": [\n \"ALL\"\n ],\n \"Size\": {\n \"IsDebug\": false,\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": true,\n \"Estado\": {\n \"IsDebug\": false,\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n },\n \"CantidadMin\": 0.0,\n \"CantidadMax\": 0.0\n }\n]","export const GetCodigoFechaActual = (fecha?: Date) => {\n const diaString = fecha ? fecha : new Date()\n const dia = diaString.getDate().toString().padStart(2, '0')\n const mes = (diaString.getMonth() + 1).toString().padStart(2, '0')\n const año = diaString.getFullYear().toString()\n return `${año}${mes}${dia}`\n}","import { MaterialAmapDto } from '../../dtos/MaterialAmapDto'\nimport { DetalleManoObraChileDto } from '../../dtos/DetalleManoObraChileDto'\nimport { PreciosAgenciaDto } from '../../dtos/PreciosAgenciaDto'\nimport { PreciosContrataDto } from '../../dtos/PreciosContrataDto'\nimport { generarModeloAmap } from './generarModeloAmap'\nimport { AmapDto } from '../../dtos/AmapDto'\nimport { filtrarMONoReservada } from './filtrarMONoReservada'\n\nexport interface PrecioEspecialidad {\n Simbolo: string\n Moneda: string\n Decimales: number\n Especialidad: { Codigo: string }\n ContratoOT: { Codigo: string }\n Agencias: PreciosAgenciaDto[]\n Contratistas: PreciosContrataDto[]\n}\n\nexport interface ManoObraGlobal {\n Amap: number\n Codigo: string\n Actividad: string\n Alcance: string\n Unidad: { Nombre: string }\n DetalleChile: DetalleManoObraChileDto\n ContratoOT: { Codigo: string }\n Material: MaterialAmapDto[]\n}\n\nexport interface Obra {\n DetalleChile: { numoe: string, codigo: string, agencia: string }\n Pais: { Codigo: string }\n Delegacion: { Codigo: string }\n}\n\nexport interface ManoObra {\n Valorizacion: AmapDto[]\n}\n\ninterface params {\n dataManoObraGlobal: ManoObraGlobal[]\n dataPrecioEspecialidad: PrecioEspecialidad[]\n Obra: Obra\n ManoObra: ManoObra\n}\n\nexport function ObtenerMONoReservada(params: params) {\n\n const { dataManoObraGlobal, dataPrecioEspecialidad, Obra, ManoObra } = params\n const ModelosAmap: AmapDto[] = []\n\n for (const ManoObraGlobal of dataManoObraGlobal) {\n for (const MOB of ManoObraGlobal.DetalleChile.ManoObraBaremo) {\n\n const matchPrecioEspecialidad = dataPrecioEspecialidad.filter(p =>\n p.Especialidad.Codigo === MOB.Especialidad.Codigo &&\n p.ContratoOT.Codigo === ManoObraGlobal.ContratoOT.Codigo\n )\n\n if (matchPrecioEspecialidad.length !== 1) {\n console.warn(`No se pudo obtener Precio Especialidad para ManoObraGlobal: ${ManoObraGlobal.Codigo}, Codigo Especialidad: ${MOB.Especialidad.Codigo}`)\n continue\n }\n\n const agencia = matchPrecioEspecialidad[0].Agencias.filter(e => e.Codigo === Obra.DetalleChile.agencia)\n if (agencia.length !== 1) {\n console.warn(`No se pudo Obtener Agencia`)\n continue\n }\n\n const newModelo = generarModeloAmap({ ManoObraGlobal, MOB, Obra, PrecioEspecialidad: matchPrecioEspecialidad[0], Precio: agencia[0].Ultimo_Precio.Precio })\n ModelosAmap.push(newModelo)\n }\n }\n return filtrarMONoReservada({ ModelosAmap, ManoObra })\n}\n","import { AmapDto } from '../../dtos/AmapDto'\nimport { ManoObra } from './index'\n\ninterface params {\n ModelosAmap: AmapDto[]\n ManoObra: ManoObra\n}\n\nexport function filtrarMONoReservada(params: params) {\n return params.ModelosAmap.reduce((acc: AmapDto[], amap) => {\n // const exist = params.ManoObra.Valorizacion.find(e => e.DetalleChile.LineaCodigoCub === amap.DetalleChile.LineaCodigoCub)\n const exist = params.ManoObra.Valorizacion.find(e => e.DetalleChile.ManoObra.Codigo === amap.DetalleChile.ManoObra.Codigo)\n if (exist) return acc\n return [...acc, amap]\n }, [])\n}","import { esObjetoFecha } from '../../../shared/index'\nimport { PreciosVigentesDto, PrecioActividadDto } from './../../dtos/index'\n\ntype params = {\n actividad: PrecioActividadDto,\n FechaVerificar: Date\n}\n\nexport function ObtenerPrecioContratistaVigente({ actividad, FechaVerificar }: params): PreciosVigentesDto | null {\n const fechaVerificar = new Date(FechaVerificar)\n if (!esObjetoFecha(fechaVerificar)) throw Error(`La fecha de asignación del Trabajo no es válida.`)\n const Precios: PreciosVigentesDto[] = []\n actividad.Precios.forEach(precio => {\n const fechaInicio = new Date(precio.Vigencia.FechaInicio);\n if (!esObjetoFecha(fechaInicio)) throw Error(`La fecha de asignación del Trabajo no es válida.`)\n const fechaFin = new Date(precio.Vigencia.FechaFin);\n if (!esObjetoFecha(fechaFin)) throw Error(`La fecha de asignación del Trabajo no es válida.`)\n if (fechaVerificar.getTime() >= fechaInicio.getTime() && fechaVerificar.getTime() <= fechaFin.getTime()) {\n Precios.push(precio)\n }\n })\n if (Precios.length > 1) throw Error(`¡Se han identificado múltiples precios con fechas superpuestas!\\n${Precios.map(e => `Id_PrecioVigente: ${e.ID_PreciosVigentes}, Precio: ${e.Precio}, FechaInicio: ${e.Vigencia.FechaInicio}, FechaFin: ${e.Vigencia.FechaFin}\\n`).join('')}`)\n if (!Precios.length) return null\n return Precios[0]\n}","interface Obra {\n ZonaAsignada: string;\n Ubicacion: {\n Municipio: string;\n };\n Pais: {\n Codigo: string;\n };\n}\n\nexport function ObtenerZonaAsignada(Obra: Obra): string {\n const zonaMapping: Record<string, string> = {\n '512': Obra.ZonaAsignada,\n '004': Obra.ZonaAsignada,\n '480': Obra.Ubicacion.Municipio\n };\n\n return zonaMapping[Obra.Pais.Codigo] ? zonaMapping[Obra.Pais.Codigo] : Obra.ZonaAsignada\n}\n","import { NodoDocDto } from '../../../shared/dtos/NodoDocDto'\nimport { updateNodoAsfaltoRecursivo } from './updateNodoAsfaltoRecursivo'\nimport { updateNodosPorEspecialidad } from './updateNodosPorEspecialidad'\nimport { updateNodoZanjaRecursivo } from './updateNodoZanjaRecursivo'\n\ninterface params<T> {\n documentacion: T\n obra: {\n TotalesGeneralObra: {\n PresupuestadoTotalObra: {\n TotMetros: number\n }\n }\n }\n trabajo?: {\n Ultima_asignacion: { Valorizaciones: { Especialidad: { Codigo: string } }[] },\n Ultima_PreLiquidacion: {\n Valorizacion: {\n DetalleChile: { CodigoBarra: string },\n Ultimo_Estado_Interno: { Descripcion: string }\n }[]\n }\n }\n}\n\nexport interface IDocumentacion {\n Nodos: NodoDocDto[]\n}\n\nexport const UpdateNodosDocDP = <T extends IDocumentacion>({ documentacion, obra, trabajo }: params<T>) => {\n const metros = obra.TotalesGeneralObra.PresupuestadoTotalObra.TotMetros\n updateNodoZanjaRecursivo(documentacion.Nodos, metros)\n updateNodoAsfaltoRecursivo(documentacion.Nodos, metros)\n if (trabajo) {\n const codEspecialidadesAux = trabajo.Ultima_asignacion.Valorizaciones.map(e => e.Especialidad.Codigo)\n // si informan asphalt poner nodo asfalto en tab calidad cada 50 m (Carlos armará el modelo)\n const estados = ['PRODUCCION', 'CERTIFICADA', 'PRELIQUIDADA', 'LIQUIDADA', 'RECHAZADA POR DOCUMENTACION']\n const asphalt = trabajo.Ultima_PreLiquidacion.Valorizacion.some(val =>\n val.DetalleChile.CodigoBarra === 'Asphalt' &&\n estados.includes(val.Ultimo_Estado_Interno.Descripcion)\n )\n if (codEspecialidadesAux.some(e => e === 'ASPHALT')) codEspecialidadesAux.push('05-ASFALTADO')\n if (asphalt) codEspecialidadesAux.push('05-ASFALTADO')\n updateNodosPorEspecialidad(documentacion, codEspecialidadesAux)\n }\n return documentacion\n}","import { IDocumentacion } from './index'\n\nexport function updateNodosPorEspecialidad<T extends IDocumentacion>(documentacion: T, codEspecialidades: string[]) {\n documentacion.Nodos = documentacion.Nodos.filter(e => codEspecialidades.includes(e.Titulo.trim()))\n}","export const codClientes = [ // Residential\n '031406300',\n 'T1_031406300',\n 'F2_031406300',\n '031406400',\n '031406500',\n // '010602400',\n '073106600',\n '010602500',\n '073100700',\n 'T1_073100700',\n 'F2_073100700',\n '073100800',\n '073100900',\n '073101000',\n 'T1_073101000',\n 'F2_073101000',\n '073101100',\n '073101200',\n '073101300',\n 'T1_073101300',\n 'F2_073101300',\n '073101400',\n '073101500',\n '073106600',\n '073102400',\n]\nexport const codNoCliente = [ //Business\n // '010602400',\n '073106600',\n '073100700',\n 'T1_073100700',\n 'F2_073100700',\n '073100800',\n '073100900',\n '073101000',\n 'T1_073101000',\n 'F2_073101000',\n '073101100',\n '073101200',\n '073101300',\n 'T1_073101300',\n 'F2_073101300',\n '073101400',\n '073101500',\n '073006000',\n '073106600',\n '073102400',\n]\nexport const codSopladoRD = ['T14', 'T15', 'T16'] // Residential (Clientes)","export const codMOTroncal_ReglaLiquidacion1 = [\n '011304100',\n // '062605200',\n '062605201',\n '010600300',\n '010600400',\n '010600500',\n 'T1_010600500',\n 'F2_010600500',\n '010600600',\n 'T1_010600600',\n 'F2_010600600',\n '010600700',\n 'T1_010600700',\n 'F2_010600700',\n '010600800',\n '010600900',\n '010601000',\n 'T1_010601000',\n 'F2_010601000',\n '010601100',\n '010601200',\n '010601300',\n 'T1_010601300',\n 'F2_010601300',\n '010601400',\n '010601500',\n '010601600',\n 'T1_010601600',\n 'F2_010601600',\n '010601700',\n '010601800',\n '010601900',\n '010602000',\n '010602100',\n '010602200',\n '010602300',\n // '010602400',\n '073106600',\n // '010602500',\n '010602600',\n '062705701',\n '062705702',\n '062705703',\n '062705704',\n '062705805',\n '062705806',\n '062705807',\n '062705808',\n '062605300',\n '062605301',\n '062605302',\n 'T13',\n 'T1_T13',\n 'F2_T13',\n 'T12',\n 'T21',\n 'T22',\n 'T8',\n 'T2',\n 'T20',\n 'T27',\n 'T28',\n 'T23',\n 'T24',\n 'T25',\n 'T26',\n 'T29',\n 'T30',\n '041804900',\n '042904700',\n '042904800',\n '042904600',\n '042004400',\n '061305000',\n '041704500',\n '062505900',\n '041704300',\n '041704200',\n '061305100',\n 'T41',\n 'T42',\n 'T43',\n 'T44',\n //#region Cambios solicitados por arturo 04-02-2025\n '073006000',\n 'T11',\n //#endregion Cambios solicitados por arturo 04-02-2025\n]\nexport const codMOClientes_ReglaLiquidacion1 = [\n // '010602400',\n '073106600',\n '031406300',\n 'T1_031406300',\n 'F2_031406300',\n '031406400',\n '031406500',\n 'T22',\n]\nexport const codMONoClientes_ReglaLiquidacion1 = [\n '073006000', // Codigo de baliza\n 'T22',\n]\n\nexport const codMOPublico = [ //Para regla de preliquidacion Clientes y No Clientes\n '010602500',\n '073100700',\n 'T1_073100700',\n 'F2_073100700',\n '073100800',\n '073100900',\n '073101000',\n 'T1_073101000',\n 'F2_073101000',\n '073101100',\n '073101200',\n '073101300',\n 'T1_073101300',\n 'F2_073101300',\n '073101400',\n '073101500',\n]","export const codigosMOT1_F2 = [\n \"010601600\",\n \"010600500\",\n \"031406300\",\n \"T13\",\n \"052208800\",\n \"010601300\",\n \"010600700\",\n \"073100600\",\n \"073101000\",\n \"073101300\",\n \"073101600\",\n \"010600600\",\n \"073100500\",\n \"010601000\",\n \"073100700\"\n]","export const codigosMaterialDuctos = [\n '03DUC-110-209',\n '03DUC-110-211',\n '03DUC-110-201',\n '03DUC-110-207',\n '03DUC-110-213',\n '03DUC-110-202',\n '03DUC-110-208',\n '03DUC-110-214',\n '03DUC-110-205',\n '03DUC-110-215',\n '03DUC-110-204',\n '03DUC-110-203',\n '03DUC-110-210',\n '03DUC-118-202',\n '03DUC-118-201',\n '03DUC-118-204',\n]","export const codigosMaterialUGG = [\n '03DUC-110-209', '03DUC-110-211', '05PAO-113-201', '05PAO-113-203',\n '05PAO-113-208', '05PAO-114-202', '02CFO-108-204', '05PAO-112-205',\n '05PAO-113-206', '02CFO-108-201', '03DUC-110-201', '05PAO-113-204',\n '03DUC-110-207', '05PAO-112-204', '02CFO-107-208', '03DUC-110-213',\n '05PAO-112-202', '02CFO-108-202', '02CFO-108-203', '03DUC-110-202',\n '05PAO-112-201', '02CFO-107-206', '02CFO-107-207', '02CFO-107-209',\n '05PAO-113-207', '03DUC-110-208', '03DUC-110-214', '03DUC-110-205',\n '07CPE-116-201', '03DUC-110-215', '03DUC-110-206', '05PAO-113-202',\n '03DUC-110-204', '05PAO-114-201', '02CFO-108-205', '03DUC-110-203',\n '05PAO-113-205', '02CFO-107-204', '03DUC-110-210', '05PAO-112-203',\n '06ARQ-115-209', '06ARQ-115-207', '06ARQ-115-210', '06ARQ-115-206',\n '06ARQ-115-208', '05PAO-113-211', '02CFO-107-212', '02CFO-107-213',\n '03DUC-118-202', '05PAO-113-212', '03DUC-118-201', '06ARQ-115-213',\n '02CFO-107-211', '06ARQ-115-211', '02CFO-107-210', '05PAO-113-214',\n '05PAO-113-213', '06ARQ-115-212', '03DUC-117-201', '02CFO-107-202',\n '04DPO-111-204', '02CFO-107-203', '04DPO-111-207', '08POP-119-202',\n '02CFO-107-205', '08POP-119-201', '04DPO-111-203', '05PAO-112-206',\n '05PAO-113-209', '05PAO-112-207', '01ODF-103-201', '05PAO-114-205',\n '04DPO-111-206', '03DUC-117-210', '03DUC-117-206', '03DUC-117-203',\n '03DUC-117-207', '03DUC-117-211', '03DUC-117-208', '03DUC-117-202',\n '03DUC-117-204', '03DUC-117-205', '03DUC-117-209', '01ODF-105-201',\n '01ODF-102-204', '01ODF-105-205', '01ODF-102-205', '01ODF-101-201',\n '01ODF-102-202', '01ODF-102-203', '04DPO-111-202', '04DPO-111-201',\n '04DPO-111-205', '02CFO-107-201', '01ODF-102-201', '03DUC-118-204'\n]","export function generateUniqueNumber() {\n const base = 10000000\n const timestamp = Date.now() - 1700000000000\n return base + (timestamp % 900000) + Math.floor(Math.random() * 10)\n}","export function getChannelName(id: string) {\n return {\n reportAutoInventory: `${id}reportAutoInventory`\n }\n}","const timeZones = [\n 'America/Santiago',\n 'America/Bogota',\n 'Europe/Berlin'\n] as const\ntype TimeZone = (typeof timeZones)[number]\n\nexport function getDateInTimeZone(timeZone: TimeZone) {\n return new Date(new Date().toLocaleString('en-US', { timeZone }))\n}\n","export const getKeyRedisSortedSet = (ContainerName: string, ID_User: string) => {\n return `${ContainerName}__${ID_User}`\n}","export function isValidPartialEntity<T extends object>(\n payload: Partial<T> | Partial<T>[],\n entity: T,\n exception: new (message: string) => Error\n): void {\n const entityKeys = Object.keys(entity)\n payload = Array.isArray(payload) ? payload : [payload]\n for (const element of payload) {\n for (const key in element) {\n if (key === 'IsDebug' || key === '_id') continue\n if (!entityKeys.includes(key)) {\n throw new exception(`'${key}' no es una propiedad válida de la entidad`)\n }\n }\n }\n}\n","export function logTiempoProceso(msg: string) {\n const inicio = new Date()\n console.log(`${msg}: ${inicio.toLocaleTimeString()}`)\n}","interface PaisMap {\n [key: string]: {\n CantidadMin: number\n }\n}\n\nexport const paisMap: PaisMap = {\n '480': { CantidadMin: 2 },\n '512': { CantidadMin: 0 },\n '004': { CantidadMin: 0 },\n}","export function validateNoLookup(input: any | any[]) {\n if (Array.isArray(input)) {\n input.forEach(item => validateNoLookup(item))\n } else if (typeof input === 'object' && input !== null) {\n for (const key in input) {\n const value = input[key]\n if (key === '$lookup') {\n throw new Error('No está permitido $lookup para consultas con Redis')\n } else if (typeof value === 'object' && value !== null) {\n validateNoLookup(value)\n }\n }\n }\n}"],"names":["Position","ModelDataFlujosDocumentacionReplanteo","Action","Fecha","Date","Usuario","Description","Posicion","Icono","ColorIcono","TagPagina","EstadoDto","this","GeneralCodigoNombreDto","GeneralCodigoNombreUnidadDto","UsuarioDto","OperacionDataAdicional","Params","left","esObjetoFecha","date","esCadenaFechaISOValida","dateString","test","parsedDate","isNaN","getTime","DetalleChileReservaMODto","WBEDto","DetalleManoObraChileDto","DatosManoObraGlobalDto","DatosPrecioEspecialidadDto","DatosUnidadObraMaterialDto","DatosCatalogoMODto","AmapDto","hashCode","str","hash","i","length","charCodeAt","Math","abs","toString","DocumentacionHPBussines","id","label","Children","Titulo","Codigo","Descripcion","Files","Filename","Extension","CodigoNodo","NameOriginal","Size","UM","Ruta","Observacion","Coordenadas","X","Y","Fecha_Archivo","Ultimo_Flujo","Identificacion","Apellidos","Nombres","Visible","Flujos","Estado","ID_Estado","Nombre","Requerido","CantidadMin","CantidadMax","modelDROP","modelCABLE","modelARMARIO","DocumentacionHPResidential","ID_DocumentacionPEX","TipoObra","Sistema","Pais","Delegacion","Nodos","Bitacora","dataFlujosHomePass","updateChildren","numAdd","_step2","_iterator2","_createForOfIteratorHelperLoose","done","nodo","value","Number","generarReglasTroncal","cantidad","codigo","generarReglasClientes","mapaReglaSopladoTroncal","Map","mapaReglaSopladoClientes","codMOTroncalAL04","concat","codMODROPAL04","mapaMOMaterialAL04","ManoObra","Materiales","Cantidad","CantidadFija","CantidadPadre","Factor","_ref","manoObra","ContratoOT","envSIGO","SISTEMAS_VALORIZACION_MANO_OBRA","includes","obra","CheckPrecioMO","_step","_iterator","Valorizacion","valorizacion","_valorizacion$DatosCa","DatosCatalogoMO","ManoObraBaremo","DatosManoObraGlobal","DetalleChile","Agencias","DatosPrecioEspecialidad","Error","agencia","find","e","Precio","Ultimo_Precio","PuntoBaremo","sistema","onNet","default","reserva","Item","_item$DatosCatalogoIt","_item$DatosCatalogoIt2","item","tipo","DatosCatalogoItem","DatosItem","Tipo","precio","DatosPrecioMaterial","Valor","trim","Reserva","StockPersonal","ResumenPreLiquidado","Array","isArray","_loop","CantidadUsado","val","MoUo","LineaCodigoCub","_loop2","CantidadUsados","itemAUX","MatUtilizados","_step3","_loop3","stockPersonal","Liquidacion","stock","MatStockPersonal","ID_Trabajo","Personal","Despacho","_iterator3","CodigoLlave","trabajos","valorizacionMO","_valorizacionMO$Datos","console","error","Ultima_PreLiquidacion","EmpresaContratistaEnPrecioEspecialidad","Obra","ZonaAsignada","512","Zonas","toUpperCase","004","480","trabajo","reduce","acc","Ultimo_Estado_Interno","_ret","hpmo","hpmoAux","ID_HPListMO","CantidadUtilizado","v","HomePass","MatRetirados","trabajoDB","CantidadUO","push","mu","muAux","matStockPersonal","Ultima_asignacion","MaterialesUtilizados","_step4","_loop4","mr","_iterator4","MaterialesRetirados","MatStockAlmacen","Certificacion","Mes","Motivo","matStockAlmacen","Empresa","CodigoMO","CodigoMaterial","CodMatConector","CantidadPorDucto","Alcance","CodigoMat","ConsumoManual","Fecha1","Fecha2","hoy","setHours","fecParteDiario","options","_value","structuredClone","_temp","_Number","_ref$symbolCoin","symbolCoin","_ref$symbolCoinPositi","symbolCoinPosition","_ref$isPorcent","isPorcent","_ref$decimal","decimal","_ref$codeCountry","codeCountry","_ref$currency","currency","_isValidFormatCodeCountry","_codeCountry","isValidFormatCodeCountry","_decimal","Intl","NumberFormat","style","format","toFixed","valueFormated","_Number2","formaterMiles","isFinite","ValidateValue","_value2","_value3","split","reverse","n","replace","ParserDiffFormatValue","replaceAll","parseFloat","ParserValue","IsDebug","fecha","diaString","dia","getDate","padStart","mes","getMonth","getFullYear","CodigoMOMadre","CodigoMOHija","DEPTH","CantidadMO","TablaHoja","CampoBOM","MapeoBOM","CodigosMO","Empalmes","Tapones","params","dataPrecioEspecialidad","ModelosAmap","ManoObraGlobal","MOB","matchPrecioEspecialidad","filter","p","Especialidad","warn","newModelo","PrecioEspecialidad","_Obra$DetalleChile2","codigoVal","_Obra$DetalleChile","newDto","CodigoCub","Linea","Actividad","Clave","Tarea","UnidadMedida","Unidad","UnidadObra","generarModeloDetalleChile","newAmap","Amap","Total","Moneda","Simbolo","Decimales","WBE","CodigoWBE","CantidadUOAprobada","Material","Contratistas","DatosUnidadObraMaterial","generarModeloAmap","dataManoObraGlobal","amap","filtrarMONoReservada","actividad","fechaVerificar","FechaVerificar","Precios","forEach","fechaInicio","Vigencia","FechaInicio","fechaFin","FechaFin","map","ID_PreciosVigentes","join","zonaMapping","Ubicacion","Municipio","documentacion","metros","TotalesGeneralObra","PresupuestadoTotalObra","TotMetros","updateNodoZanjaRecursivo","nodos","nodoCod110","childrenAux","numCod110","ceil","newNodosCod110","index","inicial","final","textAdd","newNodo","updateNodoAsfaltoRecursivo","nodoCod100","codEspecialidadesAux","Valorizaciones","estados","asphalt","some","CodigoBarra","codEspecialidades","updateNodosPorEspecialidad","convertDates","input","key","now","floor","random","reportAutoInventory","timeZone","toLocaleString","ContainerName","ID_User","queueName","_queueName$split","db","col","operacion","target","containerName","database","collection","parse","payload","entity","exception","entityKeys","Object","keys","element","msg","inicio","log","toLocaleTimeString","modelDROPAux","modelCABLEAux","modelARMARIOAux","validateNoLookup"],"mappings":"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,YACA,YACA,YACA,eACA,eACA,YACA,+EAxH4C,CAC5C,YAEA,YACA,YACA,YACA,YACA,eACA,eACA,YACA,eACA,eACA,YACA,eACA,eACA,YACA,YACA,YACA,eACA,eACA,YACA,YACA,YACA,eACA,eACA,YACA,YACA,YACA,eACA,eACA,YACA,YACA,YACA,YACA,YACA,YACA,YAEA,YAEA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,MACA,SACA,SACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,MACA,MACA,MACA,MAEA,YACA,4BD3D0B,CAE1B,YACA,YACA,eACA,eACA,YACA,YACA,YACA,eACA,eACA,YACA,YACA,YACA,eACA,eACA,YACA,YACA,YACA,YACA,kCAE0B,CAAC,MAAO,MAAO,8BEjDb,CAC1B,YACA,YACA,YACA,MACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,2CCfiC,CACnC,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,4CChBgC,CAChC,gBAAiB,gBAAiB,gBAAiB,gBACnD,gBAAiB,gBAAiB,gBAAiB,gBACnD,gBAAiB,gBAAiB,gBAAiB,gBACnD,gBAAiB,gBAAiB,gBAAiB,gBACnD,gBAAiB,gBAAiB,gBAAiB,gBACnD,gBAAiB,gBAAiB,gBAAiB,gBACnD,gBAAiB,gBAAiB,gBAAiB,gBACnD,gBAAiB,gBAAiB,gBAAiB,gBACnD,gBAAiB,gBAAiB,gBAAiB,gBACnD,gBAAiB,gBAAiB,gBAAiB,gBACnD,gBAAiB,gBAAiB,gBAAiB,gBACnD,gBAAiB,gBAAiB,gBAAiB,gBACnD,gBAAiB,gBAAiB,gBAAiB,gBACnD,gBAAiB,gBAAiB,gBAAiB,gBACnD,gBAAiB,gBAAiB,gBAAiB,gBACnD,gBAA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"}
1
+ {"version":3,"file":"sigo-package.cjs.production.min.js","sources":["../src/shared/Utils/CurrencyFormat.ts","../src/Programados/Procesos/Modelos/ModelDataFlujosDocumentacionReplanteo.ts","../src/shared/dtos/EstadoDto.ts","../src/shared/dtos/GeneralCodigoNombreDto.ts","../src/shared/dtos/GeneralCodigoNombreUnidadDto.ts","../src/shared/dtos/UsuarioDto.ts","../src/shared/Utils/queueName.ts","../src/shared/Utils/IsValidDate.ts","../src/shared/Utils/convertDates.ts","../src/Programados/dtos/DetalleChileReservaMODto.ts","../src/Programados/dtos/WBEDto.ts","../src/Programados/dtos/DetalleManoObraChileDto.ts","../src/Programados/dtos/DatosManoObraGlobalDto.ts","../src/Programados/dtos/DatosPrecioEspecialidadDto.ts","../src/Programados/dtos/DatosUnidadObraMaterialDto.ts","../src/Programados/dtos/DatosCatalogoMODto.ts","../src/Programados/dtos/AmapDto.ts","../src/Programados/Alemania/ObtenerMONoReservada/generarModeloAmap.ts","../src/Programados/Alemania/Models/DocumentacionHPBussines.ts","../src/Programados/Alemania/Models/DocumentacionHPResidential.ts","../src/Programados/Alemania/Models/DataFlujosHomePass.ts","../src/Programados/Alemania/UpdateNodosDocDP/updateNodoAsfaltoRecursivo.ts","../src/Programados/Alemania/UpdateNodosDocDP/updateNodoZanjaRecursivo.ts","../src/Programados/Alemania/mapaReglaSoplado.ts","../src/Programados/Alemania/AL04/ReglasMOGeneralAL04.ts","../src/Programados/Alemania/mapaMOMaterialAL04.ts","../src/Programados/ActualizarDataManoObra.ts","../src/Programados/ActualizarDataReserva.ts","../src/Programados/ActualizarDataResumenLiquidaciones.ts","../src/Programados/Alemania/ActualizarDataResumenLiquidacionesAlemania.ts","../src/Programados/ActualizarDataTrabajos.ts","../src/Programados/BuscarZonaContratista.ts","../src/Programados/Alemania/CalcularResumenHPMOLiquidado/index.ts","../src/Programados/CalcularResumenLiquidaciones.ts","../src/Programados/Alemania/CalcularResumenValorizacionesAlemania.ts","../src/Programados/Alemania/AL04/ReglasMatGeneralAL04.ts","../src/Programados/Alemania/CodigosMaterialSoplado.ts","../src/Programados/Alemania/CodsMapeoMOMaterial.ts","../src/Programados/Procesos/parteDiario/CompararFechas.ts","../src/Programados/Procesos/Modelos/DocumentacionReplanteo.ts","../src/Programados/Procesos/parteDiario/GetCodigoFechaActual.ts","../src/Programados/Alemania/ObtenerMONoReservada/index.ts","../src/Programados/Alemania/ObtenerMONoReservada/filtrarMONoReservada.ts","../src/Programados/Procesos/Preliquidar/ObtenerPrecioContratistaVigente.ts","../src/Programados/ObtenerZonaAsignada.ts","../src/Programados/Alemania/UpdateNodosDocDP/index.ts","../src/Programados/Alemania/UpdateNodosDocDP/updateNodosPorEspecialidad.ts","../src/Programados/Alemania/codigosMOHP.ts","../src/Programados/Alemania/codMOTroncal_ReglaLiquidacion1.ts","../src/Programados/Alemania/codigosMOT1_F2.ts","../src/Programados/Alemania/codigosMaterialDuctos.ts","../src/Programados/Alemania/codigosMaterialUGG.ts","../src/shared/Utils/generateUniqueNumber.ts","../src/shared/Utils/getChannelName.ts","../src/shared/Utils/getDateInTimeZone.ts","../src/shared/Utils/getKeyRedisSortedSet.ts","../src/shared/Utils/isValidPartialEntity.ts","../src/shared/Utils/logTiempoProceso.ts","../src/Programados/PaisMapping.ts","../src/shared/Utils/validateNoLookup.ts"],"sourcesContent":["enum Position { \n left ='left', \n right = 'right' \n}\n\ntype CoinPosition = keyof typeof Position;\nclass Params {\n symbolCoin?: string = \"\";\n symbolCoinPosition?: CoinPosition = Position.left;\n isPorcent?: Boolean = false;\n decimal?: Number = 2;\n codeCountry?: string = \"\";\n currency?: string = \"\";\n}\n/**\n * Formatea un valor numérico o una cadena que contiene un número en un formato de moneda.\n * @param value Valor numérico o cadena que contiene un número. Ejemplo: 123445.89 o '$ 123445.89'.\n * @param options Opciones de formato (opcional). Un objeto que puede tener las siguientes propiedades:\n * - `symbolCoin`: Símbolo de la moneda. Por defecto, vacío.\n * - `symbolCoinPosition`: Posición del símbolo de la moneda. Por defecto, vacío.\n * - `isPorcent`: Indicador de porcentaje. Por defecto, false.\n * - `decimal`: Indicador de numero de decimales. Por defecto, 2.\n * - `codeCountry`: Indicador en leguaje y codigo del Pais. Ejemplo 'es-PE(Perú), es-CO(Colombia), es-CL(Chile)'. Por defecto, vacío.\n * - `currency`: Indicador de la moneda del Pais. Ejemplo 'SOL, USD'. Por defecto, vacío.\n * @returns La cadena formateada por miles en el formato de moneda especificado.\n */\nexport function CurrencyFormat(value: any = 0, options: Params = new Params()): string {\n try {\n let _value = structuredClone(value);\n _value = ParserValue(_value);\n _value = ValidateValue(_value);\n _value = formaterMiles(_value, options);\n return _value;\n } catch (error) {\n throw error;\n }\n}\nfunction isValidFormatCodeCountry(codeCountry: string = \"\") {\n const expresion = /^[a-z]{2}-[A-Z]{2}$/ // formato de codigo Pais\n codeCountry = codeCountry?.toString();\n if(!codeCountry || codeCountry == null) return false\n if(!expresion.test(codeCountry)) throw Error(`Formato ${codeCountry} de Codigo Pais no es válido!.`)\n return true;\n}\nfunction ParserValue(value: any = 0) {\n const expresionNoSimbol = /^[^-?\\d,. ]+|\\.00$/g; // /^[^\\d,. ]+|\\.00$/g; // Quita cualquier digito en la cadena que no sea numerico\n value = ParserDiffFormatValue(value);\n value = value?.toString().replaceAll(\",\", \"\").replaceAll(expresionNoSimbol, \"\");\n return parseFloat(value);\n}\n// Parsea un formato 1.345.789,06 a 1,345,789.06 que es el estandar\nfunction ParserDiffFormatValue(value: any = \"\") {\n const reparatorReverse = value.toString().split(\"\").reverse().find((n: any = \"\") => { \n if(n === \",\" || n === \".\") { return n }\n });\n if(reparatorReverse === \",\") {\n value = value?.toString()?.replace(/,/g, '|')?.replace(/\\./g, ',')?.replace(/\\|/g, '.');\n }\n return value;\n}\nfunction ValidateValue(value: any = 0) {\n if(!isFinite(value)) value = 0;\n if(isNaN(value)) value = 0;\n if(value === undefined || value === null) value = 0;\n return value;\n}\nfunction formaterMiles(value = 0, {symbolCoin = \"\", symbolCoinPosition = \"left\", isPorcent = false, decimal = 2, codeCountry = \"\", currency = \"\" }: Params = new Params()) {\n const _isValidFormatCodeCountry = isValidFormatCodeCountry(codeCountry);\n const _decimal = !!decimal.toString() ? Number(decimal) : 2;\n if(!!_isValidFormatCodeCountry){\n const optionsCurrency = { style: 'currency', currency: currency }\n return new Intl.NumberFormat(codeCountry, optionsCurrency).format(Number(Number(value)?.toFixed(_decimal))).toString();\n }\n let valueFormated = new Intl.NumberFormat().format(Number(Number(value)?.toFixed(_decimal))).toString();\n // valueFormated = ParserDiffFormatValue(valueFormated); // se colocó por que ayudar a jqgrid solo reconoce los formatos ###,###,###.##, y no ###.###.###,##\n if(!!isPorcent) { return `${valueFormated} %`; }\n if(!!symbolCoin && symbolCoinPosition.toString() === \"left\") { valueFormated = `${symbolCoin} ${valueFormated}`; }\n if(!!symbolCoin && symbolCoinPosition.toString() === \"right\") { valueFormated = `${valueFormated} ${symbolCoin} `; }\n return valueFormated;\n}","export const ModelDataFlujosDocumentacionReplanteo = [\n {\n Action: 'Registrar',\n Fecha: new Date(),\n Usuario: '',\n Description: 'Registrar',\n Posicion: '1',\n Icono: 'fa fa-registered',\n ColorIcono: '#1d9d74',\n TagPagina: ['tagGestionMacroObrasNuevo'],\n },\n {\n Action: 'Aprobar',\n Fecha: new Date(),\n Usuario: '',\n Description: 'Aprobar',\n Posicion: '2',\n Icono: 'fa fa-check-circle',\n ColorIcono: '#31ce36',\n TagPagina: ['tagGestionMacroObrasNuevo'],\n },\n {\n Action: 'Rechazar',\n Fecha: new Date(),\n Usuario: '',\n Description: 'Rechazar',\n Posicion: '3',\n Icono: 'fa fa-minus-circle',\n ColorIcono: '#ffad46',\n TagPagina: ['tagGestionMacroObrasNuevo'],\n },\n {\n Action: 'Eliminar',\n Fecha: new Date(),\n Usuario: '',\n Description: 'Eliminar',\n Posicion: '4',\n Icono: 'fa fa-times-circle',\n ColorIcono: '#f25961',\n TagPagina: ['tagGestionMacroObrasNuevo'],\n },\n {\n Action: 'Descargar',\n Fecha: new Date(),\n Usuario: '',\n Description: 'Descargar',\n Posicion: '5',\n Icono: 'fa fa-arrow-circle-down',\n ColorIcono: '#084594',\n TagPagina: ['tagGestionMacroObrasNuevo'],\n }\n]","export class EstadoDto {\n ID_Estado: number = 1\n Nombre: string = 'ACTIVO'\n}","export class GeneralCodigoNombreDto {\n Codigo: string = ''\n Nombre: string = ''\n}","export class GeneralCodigoNombreUnidadDto {\n Codigo: string = ''\n Nombre: string = ''\n UnidadMedida: string = ''\n}","export class UsuarioDto {\n Identificacion: string = ''\n Apellidos: string = ''\n Nombres: string = ''\n Fecha: Date = new Date()\n}","export type TARGET = 'calidad' | 'desarrollo' | 'produccion'\nenum OperacionDataAdicional {\n CREAR = 'crear',\n ACTUALIZAR = 'actualizar',\n ELIMINAR = 'eliminar',\n CONSULTAR = 'consultar'\n}\n\nexport const getQueueNameSaveOneNotification = (target: TARGET) => {\n return `${target}__maestros_notificaciones__crear__MDL_CATALOGO__Notificaciones`\n}\n\nexport const getQueueName = (target: TARGET, containerName: string, operacion: OperacionDataAdicional, database: string, collection: string) => {\n return `${target}__${containerName}__${operacion}__${database}__${collection}`\n}\n\nexport const getModelDataAdicional = (queueName: string) => {\n const [_target, _containerName, ope, db, col] = queueName.split('__')\n const operacion = ope as OperacionDataAdicional\n return {\n db,\n col,\n operacion,\n fecha: new Date()\n }\n}","// export function IsValidDate(date: any): boolean {\nexport function esObjetoFecha(date: any): boolean {\n return date instanceof Date\n}\n\nexport function isValidDate(date: string) {\n return !isNaN(Date.parse(date))\n}","export function convertDates<T>(input: T | T[]) {\n if (Array.isArray(input)) {\n input.forEach(item => convertDates(item))\n } else if (typeof input === 'object' && input !== null) {\n for (const key in input) {\n const value = input[key]\n if (typeof value === 'string' && esCadenaFechaISOValida(value)) {\n (input as any)[key] = new Date(value)\n } else if (typeof value === 'object' && value !== null) {\n convertDates(value)\n }\n }\n }\n}\n\nexport function esCadenaFechaISOValida(dateString: string): boolean {\n const dateRegex = /^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?Z?)?$/\n if (!dateRegex.test(dateString)) {\n return false\n }\n const parsedDate = new Date(dateString)\n return !isNaN(parsedDate.getTime())\n}\n","import { GeneralCodigoNombreDto, GeneralCodigoNombreUnidadDto } from '../../shared/index'\n\nexport class DetalleChileReservaMODto {\n Codigo: string = ''\n Linea: string = ''\n DirDesde: string = ''\n AltDesde: string = ''\n DirHasta: string = ''\n AltHasta: string = ''\n Plano: string = ''\n Especialidad: GeneralCodigoNombreDto = new GeneralCodigoNombreDto()\n Actividad: GeneralCodigoNombreDto = new GeneralCodigoNombreDto()\n Clave: GeneralCodigoNombreDto = new GeneralCodigoNombreDto()\n Tarea: string = ''\n ManoObra: GeneralCodigoNombreUnidadDto = new GeneralCodigoNombreUnidadDto()\n UnidadObra: GeneralCodigoNombreUnidadDto = new GeneralCodigoNombreUnidadDto()\n HomePass: GeneralCodigoNombreDto = new GeneralCodigoNombreDto()\n LineaCodigoCub: string = ''\n CodigoCub: string = ''\n CanMOCub: number = 0\n CanMOInf: number = 0\n CanMOApr: number = 0\n CanUOCub: number = 0\n CanUOInf: number = 0\n TotalUO: number = 0\n CanUOApr: number = 0\n Origen: string = ''\n CodigoBarra: string = ''\n PuntoBaremo: number = 0\n}","export class WBEDto {\n ID_WBE: number = 0\n CodigoWBE: string = ''\n DescripcionWBE: string = ''\n}","import { ManoObraBaremoDto } from './ManoObraBaremoDto'\n\nexport class DetalleManoObraChileDto {\n ManoObraBaremo: ManoObraBaremoDto[] = []\n}","import { DetalleManoObraChileDto } from \"./DetalleManoObraChileDto\";\nimport { MaterialAmapDto } from \"./MaterialAmapDto\";\n\nexport class DatosManoObraGlobalDto {\n Actividad: string = ''\n Alcance: string = ''\n Material: MaterialAmapDto[] = []\n DetalleChile: DetalleManoObraChileDto = new DetalleManoObraChileDto()\n}","import { PreciosAgenciaDto } from './PreciosAgenciaDto'\nimport { PreciosContrataDto } from './PreciosContrataDto'\n\nexport class DatosPrecioEspecialidadDto {\n Moneda: string = ''\n Simbolo: string = ''\n Decimales: number = 2\n Agencias: PreciosAgenciaDto[] = []\n Contratistas: PreciosContrataDto[] = []\n}","import { MaterialAmapDto } from './MaterialAmapDto'\n\nexport class DatosUnidadObraMaterialDto {\n Codigo: string = ''\n Descripcion: string = ''\n Materiales: MaterialAmapDto[] = []\n}","import { DatosManoObraGlobalDto } from './DatosManoObraGlobalDto'\nimport { DatosPrecioEspecialidadDto } from './DatosPrecioEspecialidadDto'\nimport { DatosUnidadObraMaterialDto } from './DatosUnidadObraMaterialDto'\n\nexport class DatosCatalogoMODto{\n DatosManoObraGlobal = new DatosManoObraGlobalDto()\n DatosPrecioEspecialidad = new DatosPrecioEspecialidadDto() \n DatosUnidadObraMaterial = new DatosUnidadObraMaterialDto()\n}","import { EstadoDto } from '../../shared/index'\nimport { WBEDto } from './WBEDto'\nimport { DetalleChileReservaMODto } from './DetalleChileReservaMODto'\nimport { DatosCatalogoMODto } from './DatosCatalogoMODto'\nimport { AmapCantidadesDto } from './AmapCantidadesDto'\n\nexport class AmapDto {\n ID_Amap: number = 0\n Amap: number = 0\n Cantidad: number = 0\n CantidadUsado: number = 0\n CantidadTransito: number = 0\n CantidadAprobada: number = 0\n Codigo: string = ''\n Descripcion: string = ''\n Estado: EstadoDto = new EstadoDto()\n Precio: number = 0\n Total: number = 0\n Unidad: string = ''\n Moneda: string = ''\n Simbolo: string = ''\n Decimales: number = 0\n WBE: WBEDto = new WBEDto()\n DetalleChile: DetalleChileReservaMODto = new DetalleChileReservaMODto()\n CantidadUO: number = 0\n CantidadUOUsado: number = 0\n CantidadUOTransito: number = 0\n CantidadUOAprobada: number = 0\n Cantidades:AmapCantidadesDto[] = []\n DatosCatalogoMO: DatosCatalogoMODto = new DatosCatalogoMODto()\n}","import { DetalleChileReservaMODto } from '../../dtos/DetalleChileReservaMODto'\nimport { AmapDto } from '../../dtos/AmapDto'\nimport { ManoObraGlobal, Obra, PrecioEspecialidad } from './index'\nimport { ManoObraBaremoDto } from '../../dtos/ManoObraBaremoDto'\n\ninterface params {\n ManoObraGlobal: ManoObraGlobal\n PrecioEspecialidad: PrecioEspecialidad\n Precio: number\n Obra: Obra\n MOB: ManoObraBaremoDto\n}\n\nexport function generarModeloAmap(params: params) {\n\n const { ManoObraGlobal, Precio, PrecioEspecialidad } = params\n\n const DetalleChile = generarModeloDetalleChile(params)\n\n const newAmap = new AmapDto()\n newAmap.DetalleChile = DetalleChile\n newAmap.Amap = ManoObraGlobal.Amap\n newAmap.Codigo = ManoObraGlobal.Codigo\n newAmap.Descripcion = ManoObraGlobal.Actividad\n newAmap.Precio = Precio\n newAmap.Total = newAmap.Precio * newAmap.Cantidad * newAmap.DetalleChile.PuntoBaremo\n newAmap.Unidad = ManoObraGlobal.Unidad.Nombre\n newAmap.Moneda = PrecioEspecialidad.Moneda\n newAmap.Simbolo = PrecioEspecialidad.Simbolo\n newAmap.Decimales = PrecioEspecialidad.Decimales\n newAmap.WBE.CodigoWBE = 'SIGPE'\n newAmap.CantidadUOAprobada = 0.000001; // LEER archivo Regla `generarModeloAmap.readme`\n newAmap.DatosCatalogoMO = {\n DatosManoObraGlobal: {\n Actividad: ManoObraGlobal.Actividad,\n Alcance: ManoObraGlobal.Alcance,\n Material: ManoObraGlobal.Material,\n DetalleChile: ManoObraGlobal.DetalleChile\n },\n DatosPrecioEspecialidad: {\n Moneda: PrecioEspecialidad.Moneda,\n Simbolo: PrecioEspecialidad.Simbolo,\n Decimales: PrecioEspecialidad.Decimales,\n Agencias: PrecioEspecialidad.Agencias,\n Contratistas: PrecioEspecialidad.Contratistas\n },\n DatosUnidadObraMaterial: {\n Codigo: '0',\n Descripcion: 'SIN UO',\n Materiales: []\n }\n }\n return newAmap\n}\n\nfunction generarModeloDetalleChile(params: params) {\n const { Obra, ManoObraGlobal, MOB } = params\n let codigoVal = '00000';\n if(!!Obra?.DetalleChile?.codigo) {\n codigoVal = Obra?.DetalleChile?.codigo; \n }\n const newDto = new DetalleChileReservaMODto()\n newDto.Codigo = codigoVal;\n newDto.CodigoCub = \"\"\n newDto.Linea = hashCode(ManoObraGlobal.Codigo),\n newDto.Especialidad = MOB.Especialidad\n newDto.Actividad.Codigo = 'CH0001'\n newDto.Actividad.Nombre = 'ACTIVIDAD GENERAL'\n newDto.Clave.Codigo = 'CH0001'\n newDto.Clave.Nombre = 'CLAVE GENERAL'\n newDto.Tarea = '0000'\n newDto.ManoObra.Codigo = ManoObraGlobal.Codigo\n newDto.ManoObra.Nombre = ManoObraGlobal.Actividad\n newDto.ManoObra.UnidadMedida = ManoObraGlobal.Unidad.Nombre\n newDto.UnidadObra.Codigo = '0'\n newDto.UnidadObra.Nombre = 'SIN UO'\n newDto.UnidadObra.UnidadMedida = 'UN'\n newDto.LineaCodigoCub = hashCode(ManoObraGlobal.Codigo) + \"\" + codigoVal;\n newDto.PuntoBaremo = MOB.PuntoBaremo\n return newDto\n}\n\nfunction hashCode(str: String = \"\") {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n const char = str.charCodeAt(i);\n hash = (hash << 5) - hash + char;\n }\n return Math.abs(hash).toString();\n}","import { NodoDocDto } from '../../../shared/dtos/NodoDocDto'\n\nconst DocumentacionHPBussines: NodoDocDto = {\n \"id\": 9999998877,\n \"label\": \"BALIZA\",\n \"Children\": [\n // {\n // \"id\": 99999988776,\n // \"label\": \"BoQ obra civil\",\n // \"Children\": [],\n // \"Titulo\": `BoQ obra civil`,\n // \"Codigo\": \"Cod99999988776\",\n // \"Descripcion\": \"BoQ obra civil\",\n // \"Files\": [],\n // \"Extension\": ['ALL'],\n // \"Size\": {\n // \"Size\": 50,\n // \"UM\": \"mb\"\n // },\n // \"Requerido\": false,\n // \"CantidadMin\": 1,\n // \"CantidadMax\": 0,\n // \"Estado\": {\n // \"ID_Estado\": 10,\n // \"Nombre\": \"INACTIVO\"\n // }\n // },\n {\n \"id\": 99999988775,\n \"label\": \"Foto baliza con zanja abierta\",\n \"Children\": [],\n \"Titulo\": `Foto baliza con zanja abierta`,\n \"Codigo\": \"Cod99999988775\",\n \"Descripcion\": \"Foto baliza con zanja abierta\",\n \"Files\": [\n {\n \"Posicion\": \"4b88feeb-e004-44c4-9efe-9909912dfc3c\",\n \"Filename\": \"AddressList_184_Business_ARP000101519001_0III1713193012.JPG\",\n \"Extension\": \"jpg\",\n \"CodigoNodo\": \"Cod99999988775\",\n \"NameOriginal\": \"CW-04.jpg\",\n \"Size\": {\n \"Size\": 0.4627561569213867,\n \"UM\": \"MB\"\n },\n \"Ruta\": \"AddressList_184_Business_ARP000101519001_\",\n \"Observacion\": \"Cargado desde PWA\",\n \"Coordenadas\": {\n \"X\": \"-77.0334179\",\n \"Y\": \"-12.0632484\"\n },\n \"Fecha_Archivo\": new Date(\"2024-04-12T17:19:43.458Z\"),\n \"Ultimo_Flujo\": {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T14:56:52.500Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T14:56:52.500Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n },\n \"Flujos\": [\n {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T14:56:52.500Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T14:56:52.500Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n }\n ],\n \"Estado\": {\n \"ID_Estado\": 2024,\n \"Nombre\": \"ALEMANIA_CLIENTES_NOCLIENTES_DOCDP\"\n },\n }\n ],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n },\n {\n \"id\": 99999988774,\n \"label\": \"Foto baliza-fachada dirección\",\n \"Children\": [],\n \"Titulo\": `Foto baliza-fachada dirección`,\n \"Codigo\": \"Cod99999988774\",\n \"Descripcion\": \"Foto baliza-fachada dirección\",\n \"Files\": [\n {\n \"Posicion\": \"5225d6b1-10be-41ec-8d25-175c80d319dd\",\n \"Filename\": \"AddressList_184_Business_ARP000101519001_0III1713193285.JPG\",\n \"Extension\": \"jpg\",\n \"CodigoNodo\": \"Cod99999988774\",\n \"NameOriginal\": \"CW-05.jpg\",\n \"Size\": {\n \"Size\": 0.11749267578125,\n \"UM\": \"MB\"\n },\n \"Ruta\": \"AddressList_184_Business_ARP000101519001_\",\n \"Observacion\": \"Cargado desde PWA\",\n \"Coordenadas\": {\n \"X\": \"-77.0334179\",\n \"Y\": \"-12.0632484\"\n },\n \"Fecha_Archivo\": new Date(\"2024-04-12T17:18:16.202Z\"),\n \"Ultimo_Flujo\": {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:01:25.882Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:01:25.882Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n },\n \"Flujos\": [\n {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:01:25.882Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:01:25.882Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n }\n ],\n \"Estado\": {\n \"ID_Estado\": 2024,\n \"Nombre\": \"ALEMANIA_CLIENTES_NOCLIENTES_DOCDP\"\n }\n }\n ],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n },\n {\n \"id\": 99999988773,\n \"label\": \"Foto CRUCE - baliza\",\n \"Children\": [],\n \"Titulo\": `Foto CRUCE - baliza`,\n \"Codigo\": \"Cod99999988773\",\n \"Descripcion\": \"Foto CRUCE - baliza\",\n \"Files\": [\n {\n \"Posicion\": \"cf5fbc36-88ad-444f-af71-84461f9c87c2\",\n \"Filename\": \"AddressList_184_Business_ARP000101519001_0III1713193370.JPG\",\n \"Extension\": \"jpg\",\n \"CodigoNodo\": \"Cod99999988773\",\n \"NameOriginal\": \"CW-06.jpg\",\n \"Size\": {\n \"Size\": 0.45999622344970703,\n \"UM\": \"MB\"\n },\n \"Ruta\": \"AddressList_184_Business_ARP000101519001_\",\n \"Observacion\": \"Cargado desde PWA\",\n \"Coordenadas\": {\n \"X\": \"-77.0334179\",\n \"Y\": \"-12.0632484\"\n },\n \"Fecha_Archivo\": new Date(\"2024-04-12T17:48:07.583Z\"),\n \"Ultimo_Flujo\": {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:02:50.151Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:02:50.151Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n },\n \"Flujos\": [\n {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:02:50.151Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:02:50.151Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n }\n ],\n \"Estado\": {\n \"ID_Estado\": 2024,\n \"Nombre\": \"ALEMANIA_CLIENTES_NOCLIENTES_DOCDP\"\n }\n }\n ],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n },\n {\n \"id\": 99999988772,\n \"label\": \"Foto sangrado\",\n \"Children\": [],\n \"Titulo\": `Foto sangrado`,\n \"Codigo\": \"Cod99999988772\",\n \"Descripcion\": \"Foto sangrado\",\n \"Files\": [{\n \"Posicion\": \"94ef2d86-b811-4cda-82ac-ec9627071521\",\n \"Filename\": \"AddressList_184_Business_ARP000101519001_0III1713193446.JPG\",\n \"Extension\": \"jpg\",\n \"CodigoNodo\": \"Cod99999988772\",\n \"NameOriginal\": \"CW-07.jpg\",\n \"Size\": {\n \"Size\": 0.10319232940673828,\n \"UM\": \"MB\"\n },\n \"Ruta\": \"AddressList_184_Business_ARP000101519001_\",\n \"Observacion\": \"Cargado desde PWA\",\n \"Coordenadas\": {\n \"X\": \"-77.0334179\",\n \"Y\": \"-12.0632484\"\n },\n \"Fecha_Archivo\": new Date(\"2024-04-12T15:44:16.185Z\"),\n \"Ultimo_Flujo\": {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:04:06.812Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:04:06.812Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n },\n \"Flujos\": [\n {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:04:06.812Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:04:06.812Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n }\n ],\n \"Estado\": {\n \"ID_Estado\": 2024,\n \"Nombre\": \"ALEMANIA_CLIENTES_NOCLIENTES_DOCDP\"\n }\n }],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n }\n ],\n \"Titulo\": `BALIZA`,\n \"Codigo\": \"Cod9999998877\",\n \"Descripcion\": \"BALIZA\",\n \"Files\": [],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 0,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n}\n\nexport function obtenerDocumentacionNoClientes({ codEspecialidades }: { codEspecialidades?: string[] }): NodoDocDto[] {\n const documentacion = structuredClone(DocumentacionHPBussines)\n if (!codEspecialidades) {\n return [documentacion]\n }\n if (codEspecialidades.includes('01.1-OBRA CIVIL')) return [documentacion]\n return []\n}","import { NodoDocDto } from '../../../shared/dtos/NodoDocDto';\nimport { DocumentacionPEXEntity } from '../../../Programados/entitys/DocumentacionPEXEntity';\n\nconst modelDROP: NodoDocDto = {\n \"id\": 9999998877,\n \"label\": \"DROP\",\n \"Children\": [\n {\n \"id\": 99999988776,\n \"label\": \"Foto recorrido acometida calle-fachada\",\n \"Children\": [],\n \"Titulo\": `Foto recorrido acometida calle-fachada`,\n \"Codigo\": \"Cod99999988776\",\n \"Descripcion\": \"Foto recorrido acometida calle-fachada\",\n \"Files\": [\n {\n \"Posicion\": \"ed93673f-7c3a-4c9f-aabb-850242f3cf65\",\n \"Filename\": \"AddressList_183_Residential_ARP000101518001_0III1713193559.JPG\",\n \"Extension\": \"jpg\",\n \"CodigoNodo\": \"Cod99999988776\",\n \"NameOriginal\": \"CW-08.jpg\",\n \"Size\": {\n \"Size\": 0.24944210052490234,\n \"UM\": \"MB\"\n },\n \"Ruta\": \"AddressList_183_Residential_ARP000101518001_\",\n \"Observacion\": \"Cargado desde PWA\",\n \"Coordenadas\": {\n \"X\": \"-77.0334179\",\n \"Y\": \"-12.0632484\"\n },\n \"Fecha_Archivo\": new Date(\"2024-04-12T17:45:00.828Z\"),\n \"Ultimo_Flujo\": {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:05:59.907Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:05:59.907Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n },\n \"Flujos\": [\n {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:05:59.907Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:05:59.907Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n }\n ],\n \"Estado\": {\n \"ID_Estado\": 2024,\n \"Nombre\": \"ALEMANIA_CLIENTES_NOCLIENTES_DOCDP\"\n }\n }\n ],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n },\n {\n \"id\": 99999988775,\n \"label\": \"Foto recorrido acometida jardin-balona-fachada\",\n \"Children\": [],\n \"Titulo\": `Foto recorrido acometida jardin-balona-fachada`,\n \"Codigo\": \"Cod99999988775\",\n \"Descripcion\": \"Foto recorrido acometida jardin-balona-fachada\",\n \"Files\": [\n {\n \"Posicion\": \"bea79b4e-7fba-4bcf-b1d1-b8fea66c226f\",\n \"Filename\": \"AddressList_183_Residential_ARP000101518001_0III1713193644.JPG\",\n \"Extension\": \"jpg\",\n \"CodigoNodo\": \"Cod99999988775\",\n \"NameOriginal\": \"CW-09.jpg\",\n \"Size\": {\n \"Size\": 0.4330024719238281,\n \"UM\": \"MB\"\n },\n \"Ruta\": \"AddressList_183_Residential_ARP000101518001_\",\n \"Observacion\": \"Cargado desde PWA\",\n \"Coordenadas\": {\n \"X\": \"-77.0334179\",\n \"Y\": \"-12.0632484\"\n },\n \"Fecha_Archivo\": new Date(\"2024-04-12T17:46:04.220Z\"),\n \"Ultimo_Flujo\": {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:07:24.085Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:07:24.085Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n },\n \"Flujos\": [\n {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:07:24.085Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:07:24.085Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n }\n ],\n \"Estado\": {\n \"ID_Estado\": 2024,\n \"Nombre\": \"ALEMANIA_CLIENTES_NOCLIENTES_DOCDP\"\n }\n }\n ],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n },\n {\n \"id\": 99999988774,\n \"label\": \"Foto sangrado\",\n \"Children\": [],\n \"Titulo\": `Foto sangrado`,\n \"Codigo\": \"Cod99999988774\",\n \"Descripcion\": \"Foto sangrado\",\n \"Files\": [{\n \"Posicion\": \"f7e9b0ea-8345-4e43-95fb-86da53c9bdb9\",\n \"Filename\": \"AddressList_183_Residential_ARP000101518001_0III1713193697.JPG\",\n \"Extension\": \"jpg\",\n \"CodigoNodo\": \"Cod99999988774\",\n \"NameOriginal\": \"CW-10.jpg\",\n \"Size\": {\n \"Size\": 0.4016141891479492,\n \"UM\": \"MB\"\n },\n \"Ruta\": \"AddressList_183_Residential_ARP000101518001_\",\n \"Observacion\": \"Cargado desde PWA\",\n \"Coordenadas\": {\n \"X\": \"-77.0334179\",\n \"Y\": \"-12.0632484\"\n },\n \"Fecha_Archivo\": new Date(\"2024-04-12T17:46:39.794Z\"),\n \"Ultimo_Flujo\": {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:08:17.625Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:08:17.625Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n },\n \"Flujos\": [\n {\n \"Action\": \"Registrar\",\n \"Fecha\": new Date(\"2024-04-15T15:08:17.625Z\"),\n \"Usuario\": {\n \"Identificacion\": \"\",\n \"Apellidos\": \"\",\n \"Nombres\": \"\",\n \"Fecha\": new Date(\"2024-04-15T15:08:17.625Z\")\n },\n \"Description\": \"Registrar\",\n \"Posicion\": \"1\",\n \"Icono\": \"fa fa-registered\",\n \"ColorIcono\": \"#1d9d74\",\n \"TagPagina\": [\n \"tagGestionMacroObrasNuevo\"\n ],\n \"Visible\": false\n }\n ],\n \"Estado\": {\n \"ID_Estado\": 2024,\n \"Nombre\": \"ALEMANIA_CLIENTES_NOCLIENTES_DOCDP\"\n }\n }],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n }\n ],\n \"Titulo\": `DROP`,\n \"Codigo\": \"Cod9999998877\",\n \"Descripcion\": \"DROP\",\n \"Files\": [],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 0,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n}\nconst modelCABLE: NodoDocDto = {\n \"id\": 9999998878,\n \"label\": \"CABLE\",\n \"Children\": [\n {\n \"id\": 999999887766,\n \"label\": \"Medidas OTDR\",\n \"Children\": [],\n \"Titulo\": `Medidas OTDR`,\n \"Codigo\": \"Cod999999887766\",\n \"Descripcion\": \"Medidas OTDR\",\n \"Files\": [],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n },\n {\n \"id\": 999999887755,\n \"label\": \"Protocolo de soplado\",\n \"Children\": [],\n \"Titulo\": `Protocolo de soplado`,\n \"Codigo\": \"Cod999999887755\",\n \"Descripcion\": \"Protocolo de soplado\",\n \"Files\": [],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n }\n ],\n \"Titulo\": `CABLE`,\n \"Codigo\": \"Cod9999998878\",\n \"Descripcion\": \"CABLE\",\n \"Files\": [],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 0,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n}\nconst modelARMARIO: NodoDocDto = {\n \"id\": 9999998879,\n \"label\": \"ARMARIO\",\n \"Children\": [\n {\n \"id\": 9999998877666,\n \"label\": \"Photos of labelled ducts of the installed HPs\",\n \"Children\": [],\n \"Titulo\": `Photos of labelled ducts of the installed HPs`,\n \"Codigo\": \"Cod9999998877666\",\n \"Descripcion\": \"Photos of labelled ducts of the installed HPs\",\n \"Files\": [],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n },\n {\n \"id\": 9999998877555,\n \"label\": \"Photos of splice cassettes with Feeder\",\n \"Children\": [],\n \"Titulo\": `Photos of splice cassettes with Feeder`,\n \"Codigo\": \"Cod9999998877555\",\n \"Descripcion\": \"Photos of splice cassettes with Feeder\",\n \"Files\": [],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n },\n {\n \"id\": 9999998877444,\n \"label\": \"Photos of splices from the installed HPs\",\n \"Children\": [],\n \"Titulo\": `Photos of splices from the installed HPs`,\n \"Codigo\": \"Cod9999998877444\",\n \"Descripcion\": \"Photos of splices from the installed HPs\",\n \"Files\": [],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 1,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n }\n ],\n \"Titulo\": `ARMARIO`,\n \"Codigo\": \"Cod9999998879\",\n \"Descripcion\": \"ARMARIO\",\n \"Files\": [],\n \"Extension\": ['ALL'],\n \"Size\": {\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"CantidadMin\": 0,\n \"CantidadMax\": 0,\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n }\n}\n\nconst DocumentacionHPResidential: DocumentacionPEXEntity = {\n \"ID_DocumentacionPEX\": 0,\n \"TipoObra\": \"Construccion\",\n \"Sistema\": \"GERMAN\",\n \"Codigo\": \"cod001\",\n \"Nombre\": \"Documentacion Alemania\",\n \"Pais\": {\n \"Codigo\": \"004\",\n \"Nombre\": \"ALEMANIA\"\n },\n \"Delegacion\": {\n \"Codigo\": \"AL02\",\n \"Nombre\": \"COMUNICACIONES ALEMANIA\"\n },\n \"Nodos\": [],\n \"Estado\": {\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n },\n \"Bitacora\": []\n}\n\nexport function obtenerDocumentacionClientes({ codEspecialidades }: { codEspecialidades?: string[] }) {\n const documentacion = structuredClone(DocumentacionHPResidential)\n const modelDROPAux = structuredClone(modelDROP)\n const modelCABLEAux = structuredClone(modelCABLE)\n const modelARMARIOAux = structuredClone(modelARMARIO)\n if (!codEspecialidades) {\n documentacion.Nodos = [modelDROPAux, modelCABLEAux, modelARMARIOAux]\n return documentacion\n }\n if (codEspecialidades.includes('01.2-OBRA CIVIL/DROPS') || codEspecialidades.includes('01.1-OBRA CIVIL')) { documentacion.Nodos.push(modelDROPAux) }\n if (codEspecialidades.includes('03-SOPLADO RA') || codEspecialidades.includes('02-SOPLADO RD')) {\n documentacion.Nodos.push(modelCABLEAux)\n documentacion.Nodos.push(modelARMARIOAux)\n }\n return documentacion\n}","import { UsuarioDto } from '../../../shared/dtos/UsuarioDto'\nimport { FlujoDocDto } from '../../dtos/FlujoDocDto'\n\nexport const dataFlujosHomePass: FlujoDocDto[] = [\n {\n Action: 'Registrar',\n Fecha: new Date(),\n Usuario: new UsuarioDto,\n Description: 'Registrar',\n Posicion: '1',\n Icono: 'fa fa-registered',\n ColorIcono: '#1d9d74',\n TagPagina: ['tagGestionDP'],\n Visible: false\n },\n {\n Action: 'Aprobar',\n Fecha: new Date(),\n Usuario: new UsuarioDto,\n Description: 'Aprobar',\n Posicion: '2',\n Icono: 'fa fa-check-square-o',\n ColorIcono: '#31ce36',\n TagPagina: ['tagGestionDP'],\n Visible: false\n },\n {\n Action: 'Eliminar',\n Fecha: new Date(),\n Usuario: new UsuarioDto,\n Description: 'Eliminar',\n Posicion: '4',\n Icono: 'fa fa-times-circle',\n ColorIcono: '#f25961',\n TagPagina: ['tagGestionDP'],\n Visible: false\n }\n]","import { NodoDocDto } from '../../../shared/dtos/NodoDocDto'\n\nexport const updateNodoAsfaltoRecursivo = (nodos: NodoDocDto[], metros: number) => {\n for (const nodo of nodos) {\n\n if (nodo.Codigo.trim() !== 'Cod100') updateNodoAsfaltoRecursivo(nodo.Children, metros)\n\n const nodoCod100 = nodo.Children.find(e => e.Codigo.trim() === 'Cod119')\n\n if (!nodoCod100) continue\n\n const childrenAux = nodo.Children.filter(e => !['Cod119'].includes(e.Codigo))\n const mtsCod119 = 50 //CAMBIAR SEGUN LO PEDIDO\n const numCod110 = Math.ceil(metros / mtsCod119)\n const newNodosCod110 = []\n\n for (let index = 0; index < numCod110; index++) {\n const inicial = index * mtsCod119\n const final = inicial + mtsCod119\n const textAdd = `${inicial}m - ${final}m`\n const numAdd = `${inicial}${final}`\n const newNodo = structuredClone(nodoCod100)\n newNodo.Codigo = `${newNodo.Codigo}${numAdd}`\n newNodo.Descripcion = textAdd\n newNodo.Titulo = textAdd\n newNodo.id = Number(`${newNodo.id}${numAdd}`)\n newNodo.label = textAdd\n updateChildren(newNodo.Children, numAdd)\n newNodosCod110.push(newNodo)\n }\n\n nodo.Children = [...childrenAux, ...newNodosCod110]\n\n }\n}\n\nfunction updateChildren(Children: NodoDocDto[], numAdd: string) {\n for (const nodo of Children) {\n nodo.Codigo = `${nodo.Codigo}${numAdd}`\n nodo.id = Number(`${nodo.id}${numAdd}`)\n updateChildren(nodo.Children, numAdd)\n }\n}","import { NodoDocDto } from '../../../shared/dtos/NodoDocDto'\n\nexport const updateNodoZanjaRecursivo = (nodos: NodoDocDto[], metros: number) => {\n for (const nodo of nodos) {\n\n if (nodo.Codigo.trim() !== 'Cod61') updateNodoZanjaRecursivo(nodo.Children, metros)\n\n const nodoCod110 = nodo.Children.find(e => e.Codigo.trim() === 'Cod110')\n\n if (!nodoCod110) continue\n\n const childrenAux = nodo.Children.filter(e => !['Cod110'].includes(e.Codigo))\n const mtsCod110 = 50 //CAMBIAR SEGUN LO PEDIDO\n const numCod110 = Math.ceil(metros / mtsCod110)\n const newNodosCod110 = []\n\n for (let index = 0; index < numCod110; index++) {\n const inicial = index * mtsCod110\n const final = inicial + mtsCod110\n const textAdd = `${inicial}m - ${final}m`\n const numAdd = `${inicial}${final}`\n const newNodo = structuredClone(nodoCod110)\n newNodo.Codigo = `${newNodo.Codigo}${numAdd}`\n newNodo.Descripcion = textAdd\n newNodo.Titulo = textAdd\n newNodo.id = Number(`${newNodo.id}${numAdd}`)\n newNodo.label = textAdd\n updateChildren(newNodo.Children, numAdd)\n newNodosCod110.push(newNodo)\n }\n\n nodo.Children = [...childrenAux, ...newNodosCod110]\n\n }\n}\n\nfunction updateChildren(Children: NodoDocDto[], numAdd: string) {\n for (const nodo of Children) {\n nodo.Codigo = `${nodo.Codigo}${numAdd}`\n nodo.id = Number(`${nodo.id}${numAdd}`)\n updateChildren(nodo.Children, numAdd)\n }\n}","type ReglaSoplado = { codigo: string; cantidad: number }\n\n// Función para generar las reglas reutilizando códigos\nconst generarReglasTroncal = (cantidad: number): ReglaSoplado[] => [\n { codigo: '042904800', cantidad },\n { codigo: '061305000', cantidad },\n { codigo: '041804900', cantidad },\n]\nconst generarReglasClientes = (cantidad: number): ReglaSoplado[] => [\n { codigo: '042904600', cantidad },\n]\n\nexport const mapaReglaSopladoTroncal: Map<string, ReglaSoplado[]> = new Map([\n ['042004400', generarReglasTroncal(96)],\n ['041704500', generarReglasTroncal(48)],\n ['041704300', generarReglasTroncal(384)],\n ['041704200', generarReglasTroncal(576)],\n])\n\nexport const mapaReglaSopladoClientes: Map<string, ReglaSoplado[]> = new Map([\n ['T14', generarReglasClientes(2)],\n ['T15', generarReglasClientes(2)],\n ['T16', generarReglasClientes(2)],\n])\n","interface iMapaMOMadreMOHija {\n CodigoMOMadre: string,\n CodigoMOHija: string,\n}\ninterface iMapaMOZanjaDEPTH {\n CodigoMOMadre: string,\n CodigoMOHija: string,\n DEPTH: number,\n CantidadMO: number,\n}\ninterface iMapaMOCantidad {\n CodigoMO: string,\n Cantidad: number,\n}\ninterface iMapaMOCantidad {\n CodigoMO: string,\n Cantidad: number,\n}\ninterface iMapaMOBOM {\n TablaHoja: string,\n CampoBOM: string,\n Valor: string,\n CodigoMO: string,\n}\n//Mapeo BOM Dos Hojas\nexport const MapeoMOBOMAL04: iMapaMOBOM[] = [\n { TablaHoja: 'TC_M_SP_SEGMENT', CampoBOM: 'TYPE', Valor: 'Pflaster/ Platten', CodigoMO: 'BR01' },\n { TablaHoja: 'TC_M_SP_SEGMENT', CampoBOM: 'TYPE', Valor: 'Asphalt', CodigoMO: 'AP01' },\n { TablaHoja: 'TC_M_SP_SEGMENT', CampoBOM: 'TYPE', Valor: 'Ohne Oberbau', CodigoMO: 'GR01' },\n { TablaHoja: 'TC_M_FO_CABLE', CampoBOM: 'MODEL', Valor: 'Gf-Minikabel 96 Fasern', CodigoMO: 'BL01' },\n { TablaHoja: 'TC_M_FO_CABLE', CampoBOM: 'MODEL', Valor: 'Gf-Minikabel 48 Fasern', CodigoMO: 'BL01' },\n { TablaHoja: 'TC_M_FO_CABLE', CampoBOM: 'MODEL', Valor: 'Gf-Minikabel 24 Fasern', CodigoMO: 'BL01' },\n]\n//Lectura de Excel en SEGMENT\nexport const SEGMENT_TY = [\n 'Verzweigerkabeltrasse',\n 'Cross'\n]\n//Cantidad la misma de la madre\nexport const MOHijasAL04: iMapaMOMadreMOHija[] = [\n { CodigoMOMadre: 'AP01', CodigoMOHija: 'AP02' },\n]\n//Manos de obra Hija bajo condiciones\nexport const MOHijasDEPTH: iMapaMOZanjaDEPTH[] = [\n { CodigoMOMadre: 'AP01', DEPTH: 0.60, CodigoMOHija: 'EXTRA01', CantidadMO: 1 },\n { CodigoMOMadre: 'AP01', DEPTH: 0.80, CodigoMOHija: 'EXTRA01', CantidadMO: 2 },\n { CodigoMOMadre: 'AP01', DEPTH: 1.00, CodigoMOHija: 'EXTRA01', CantidadMO: 3 },\n { CodigoMOMadre: 'AP01', DEPTH: 1.20, CodigoMOHija: 'EXTRA01', CantidadMO: 4 },\n { CodigoMOMadre: 'BR01', DEPTH: 0.60, CodigoMOHija: 'EXTRA01', CantidadMO: 1 },\n { CodigoMOMadre: 'BR01', DEPTH: 0.80, CodigoMOHija: 'EXTRA01', CantidadMO: 2 },\n { CodigoMOMadre: 'BR01', DEPTH: 1.00, CodigoMOHija: 'EXTRA01', CantidadMO: 3 },\n { CodigoMOMadre: 'BR01', DEPTH: 1.20, CodigoMOHija: 'EXTRA01', CantidadMO: 4 },\n { CodigoMOMadre: 'GR01', DEPTH: 0.60, CodigoMOHija: 'EXTRA01', CantidadMO: 1 },\n { CodigoMOMadre: 'GR01', DEPTH: 0.80, CodigoMOHija: 'EXTRA01', CantidadMO: 2 },\n { CodigoMOMadre: 'GR01', DEPTH: 1.00, CodigoMOHija: 'EXTRA01', CantidadMO: 3 },\n { CodigoMOMadre: 'GR01', DEPTH: 1.20, CodigoMOHija: 'EXTRA01', CantidadMO: 4 },\n]\n//Baremo Unico por DP Cantidad 1, Solo se puede preliquidar una vez\nexport const MOCantidadNVT01: iMapaMOCantidad[] = [\n { CodigoMO: 'NVT01', Cantidad: 1 }\n]\n//#region TRONCAL\n// Obra Civil\nexport const codMOTroncalAL04OC = [\n 'CR01',\n 'BR01',\n 'AP01',\n 'GR01',\n 'TD01',\n 'EXTRA01',\n 'NVT01'\n]\n// Soplado\nexport const codMOTroncalAL04Soplado = [\n 'BL01',\n 'SP01',\n 'SP02',\n 'PP01',\n 'PP02',\n 'MS01',\n]\n// Asfaltado\nexport const codMOTroncalAL04Asfaltado = [\n 'AP02',\n]\n// MO Permitidas En Troncal\nexport const codMOTroncalAL04 = [\n ...codMOTroncalAL04OC,\n ...codMOTroncalAL04Soplado,\n ...codMOTroncalAL04Asfaltado\n]\n//#endregion TRONCAL\n\n//#region CLIENTES\n// Obra Civil\nexport const codMODROPAL04OC = [\n 'GD01',\n]\n// Soplado\nexport const codMODROPAL04Soplado = [\n 'BL02',\n 'SP01',\n 'SP02',\n 'PP01',\n 'PP02',\n 'MS01',\n]\n// MO Permitidas En DROPS (CLIENTES) (Residential)\nexport const codMODROPAL04 = [\n ...codMODROPAL04OC,\n ...codMODROPAL04Soplado\n]\n//#endregion CLIENTES\n\n// MO Permitidas En FTTF (NO CLIENTES) (Business)\nexport const codBalizaAL04 = 'HP01' //(baliza)\n\nexport const codMOFTTFAL04 = [\n codBalizaAL04\n]\n","interface IMaterial {\n Codigo: string\n Cantidad: number\n Factor: number\n Observacion?: string\n CantidadPadre: boolean // Primero fijarse en aqui si es true va cantidad del Padre, pero si es false fijarme en CantidadFija\n CantidadFija: boolean // Si es true va Cantidad, si es false el usuario debe ingresar\n Materiales: Map<string, IMaterial> | IMaterial[]\n}\n\ninterface IMO extends IMaterial {\n ManoObra: Map<string, IMO> | IMO[]\n}\n\nexport const mapaMOMaterialAL04 = new Map<string, IMO>([\n [\n 'BR01',\n {\n Codigo: 'BR01',\n ManoObra: [],\n Materiales: new Map([\n [\n '40770321',\n {\n Cantidad: 0,\n Codigo: '40770321',\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 12,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 12,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40274727',\n {\n Codigo: '40274727',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 7,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 7,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40317871',\n {\n Codigo: '40317871',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 3,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 3,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263177',\n {\n Codigo: '40263177',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263174',\n {\n Codigo: '40263174',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40263175',\n {\n Codigo: '40263175',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263173',\n {\n Codigo: '40263173',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263181',\n {\n Codigo: '40263181',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263179',\n {\n Codigo: '40263179',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263180',\n {\n Codigo: '40263180',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40263178',\n {\n Codigo: '40263178',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40246447',\n {\n Codigo: '40246447',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ]\n ]),\n CantidadFija: false,\n CantidadPadre: false,\n Cantidad: 0,\n Factor: 1\n }\n ],\n [\n 'AP01',\n {\n Codigo: 'AP01',\n ManoObra: [],\n Materiales: new Map([\n [\n '40770321',\n {\n Cantidad: 0,\n Codigo: '40770321',\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 12,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 12,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40274727',\n {\n Codigo: '40274727',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 7,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 7,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40317871',\n {\n Codigo: '40317871',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 3,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 3,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263177',\n {\n Codigo: '40263177',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263174',\n {\n Codigo: '40263174',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40263175',\n {\n Codigo: '40263175',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263173',\n {\n Codigo: '40263173',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263181',\n {\n Codigo: '40263181',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263179',\n {\n Codigo: '40263179',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263180',\n {\n Codigo: '40263180',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40263178',\n {\n Codigo: '40263178',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40246447',\n {\n Codigo: '40246447',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ]\n ]),\n CantidadFija: false,\n CantidadPadre: false,\n Cantidad: 0,\n Factor: 1\n }\n ],\n [\n 'GR01',\n {\n Codigo: 'GR01',\n ManoObra: [],\n Materiales: new Map([\n [\n '40770321',\n {\n Cantidad: 0,\n Codigo: '40770321',\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 12,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 12,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40274727',\n {\n Codigo: '40274727',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 7,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 7,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40317871',\n {\n Codigo: '40317871',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 3,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 3,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263177',\n {\n Codigo: '40263177',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263174',\n {\n Codigo: '40263174',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40263175',\n {\n Codigo: '40263175',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263173',\n {\n Codigo: '40263173',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263181',\n {\n Codigo: '40263181',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263179',\n {\n Codigo: '40263179',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263180',\n {\n Codigo: '40263180',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40263178',\n {\n Codigo: '40263178',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40246447',\n {\n Codigo: '40246447',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ]\n ]),\n CantidadFija: false,\n CantidadPadre: false,\n Cantidad: 0,\n Factor: 1\n }\n ],\n [\n 'TD01',\n {\n Codigo: 'TD01',\n ManoObra: [],\n Materiales: new Map([\n [\n '40770321',\n {\n Cantidad: 0,\n Codigo: '40770321',\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 12,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 12,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40274727',\n {\n Codigo: '40274727',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 7,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 7,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40317871',\n {\n Codigo: '40317871',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 3,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 3,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263177',\n {\n Codigo: '40263177',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263174',\n {\n Codigo: '40263174',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40263175',\n {\n Codigo: '40263175',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263173',\n {\n Codigo: '40263173',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263181',\n {\n Codigo: '40263181',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263179',\n {\n Codigo: '40263179',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263180',\n {\n Codigo: '40263180',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40263178',\n {\n Codigo: '40263178',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40246447',\n {\n Codigo: '40246447',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ]\n ]),\n CantidadFija: false,\n CantidadPadre: false,\n Cantidad: 0,\n Factor: 1\n }\n ],\n [\n 'CR01',\n {\n Codigo: 'CR01',\n ManoObra: [],\n Materiales: new Map([\n [\n '40770321',\n {\n Cantidad: 0,\n Codigo: '40770321',\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 12,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 12,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40274727',\n {\n Codigo: '40274727',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 7,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 7,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40317871',\n {\n Codigo: '40317871',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 3,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 3,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263177',\n {\n Codigo: '40263177',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263174',\n {\n Codigo: '40263174',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40263175',\n {\n Codigo: '40263175',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263173',\n {\n Codigo: '40263173',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 22,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263181',\n {\n Codigo: '40263181',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263179',\n {\n Codigo: '40263179',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40263180',\n {\n Codigo: '40263180',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n },\n ],\n [\n '40263178',\n {\n Codigo: '40263178',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252700',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40255038',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 8,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ],\n [\n '40246447',\n {\n Codigo: '40246447',\n Cantidad: 0,\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ]\n }\n ]\n ]),\n CantidadFija: false,\n CantidadPadre: false,\n Cantidad: 0,\n Factor: 1\n }\n ],\n [\n 'GD01',\n {\n Codigo: 'GD01',\n ManoObra: [],\n Materiales: [\n {\n Cantidad: 0,\n Codigo: '40246447',\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: [\n ]\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252698',\n Factor: 1,\n Materiales: []\n },\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '40252697',\n Factor: 1,\n Materiales: []\n }\n ],\n CantidadFija: false,\n CantidadPadre: false,\n Cantidad: 0,\n Factor: 1\n }\n ],\n [\n 'HP01',\n {\n Codigo: 'HP01',\n ManoObra: [],\n Materiales: [\n {\n Cantidad: 0,\n Codigo: '10080243',\n CantidadFija: false,\n CantidadPadre: true,\n Factor: 1,\n Materiales: []\n }\n ],\n CantidadFija: true,\n CantidadPadre: false,\n Cantidad: 1,\n Factor: 1\n }\n ],\n [\n 'NVT01',\n {\n Codigo: 'NVT01',\n ManoObra: [],\n Materiales: [ // Cuando es instancia de Map es seleccionable si no debe consumir automatico\n {\n Cantidad: 1,\n CantidadFija: true,\n CantidadPadre: false,\n Codigo: '47147177',\n Factor: 1,\n Materiales: []\n }\n ],\n CantidadFija: true,\n CantidadPadre: false,\n Cantidad: 1,\n Factor: 1\n }\n ],\n [\n 'AP02',\n {\n Codigo: 'AP02',\n ManoObra: [],\n Materiales: [],\n CantidadFija: false,\n CantidadPadre: false,\n Cantidad: 0,\n Factor: 1,\n Observacion: 'SIN MATERIAL'\n }\n ],\n [\n 'EXTRA01',\n {\n Codigo: 'EXTRA01',\n ManoObra: [],\n Materiales: [],\n CantidadFija: false,\n CantidadPadre: false,\n Cantidad: 0,\n Factor: 1,\n Observacion: 'SIN MATERIAL'\n }\n ],\n])","import { ManoDeObraEntity } from './entitys/ManoDeObraEntity'\n\ninterface IenvSIGO {\n SISTEMAS_VALORIZACION_MANO_OBRA: string[]\n}\n\ninterface IProps {\n manoObra: ManoDeObraEntity\n ContratoOT: any\n envSIGO: IenvSIGO\n obra: { ContratoOT: { Sistema: string } }\n}\n\nexport const ActualizarDataManoObra = ({ manoObra, ContratoOT, envSIGO, obra }: IProps): void => {\n\n let Sistema: string = envSIGO.SISTEMAS_VALORIZACION_MANO_OBRA.includes(obra.ContratoOT.Sistema) ? 'onNet' : 'default'\n\n if (Sistema == 'default') Sistema = !ContratoOT.CheckPrecioMO ? 'default' : 'onNet'\n\n for (const valorizacion of manoObra.Valorizacion) {\n const { DatosManoObraGlobal: { DetalleChile: { ManoObraBaremo } }, DatosPrecioEspecialidad: { Agencias } } = valorizacion.DatosCatalogoMO\n if (!!!Agencias.length) throw Error(`¡No se pudo obtener Precio! Comunícate con Soporte`)\n const agencia = Agencias.find((e: any) => e.Estado.ID_Estado === 1)\n if (!!!agencia) throw Error(`¡No se pudo obtener Precio! Comunícate con Soporte`)\n valorizacion.Precio = Number(agencia.Ultimo_Precio.Precio)\n if (!!!ManoObraBaremo.length) throw Error(`¡No se pudo obtener Punto Baremo! Comunícate con Soporte`)\n valorizacion.DetalleChile.PuntoBaremo = ManoObraBaremo[0].PuntoBaremo\n\n const sistema: any = {\n onNet: { PuntoBaremo: valorizacion.Precio, Precio: valorizacion.DetalleChile.PuntoBaremo },\n default: { PuntoBaremo: valorizacion.DetalleChile.PuntoBaremo, Precio: valorizacion.Precio }\n }\n valorizacion.DetalleChile.PuntoBaremo = sistema[Sistema].PuntoBaremo\n valorizacion.Precio = sistema[Sistema].Precio\n }\n\n}","import { ReservaEntity } from './entitys/ReservaEntity'\n\nexport const ActualizarDataReserva = (reserva: ReservaEntity): void => {\n for (const item of reserva.Item) {\n const tipo = item?.DatosCatalogoItem?.DatosItem?.Tipo || ''\n const precio = Number(item?.DatosCatalogoItem?.DatosPrecioMaterial?.Precio) || 0\n item.Valor = tipo.trim() === 'AP Valorado' ? precio : 0\n }\n}","import { ResumenLiquidacionesType } from \"./CalcularResumenLiquidaciones\";\n\nexport const ActualizarDataResumenLiquidaciones: Funcion = (ManoObra, Reserva, StockPersonal, ResumenPreLiquidado) => {\n\n if (ManoObra && ManoObra.Valorizacion && Array.isArray(ManoObra.Valorizacion)) {\n\n for (const valorizacion of ManoObra.Valorizacion) {\n valorizacion.CantidadUsado = 0;\n const val = ResumenPreLiquidado.MoUo.find(e => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);\n if (val) valorizacion.CantidadUsado = val.Cantidad;\n }\n\n }\n\n if (Reserva && Reserva.Item && Array.isArray(Reserva.Item)) {\n\n for (const item of Reserva.Item) {\n item.CantidadUsados = 0;\n const itemAUX = ResumenPreLiquidado.MatUtilizados.find(e => e.Codigo === item.Codigo);\n if (itemAUX) item.CantidadUsados = itemAUX.Cantidad;\n }\n\n }\n\n if (StockPersonal && Array.isArray(StockPersonal)) {\n\n for (const stockPersonal of StockPersonal) {\n\n stockPersonal.Liquidacion = 0\n\n const stock = ResumenPreLiquidado.MatStockPersonal.find(e => e.ID_Trabajo === stockPersonal.ID_Trabajo\n && e.Identificacion === stockPersonal.Personal.Identificacion\n && e.Codigo === stockPersonal.Reserva)\n\n if (stock) {\n if (stock.Cantidad > stockPersonal.Despacho) {\n stockPersonal.Liquidacion = stockPersonal.Despacho\n stock.Cantidad = stock.Cantidad - stockPersonal.Despacho\n } else {\n stockPersonal.Liquidacion = stock.Cantidad\n stock.Cantidad = 0\n }\n }\n\n }\n }\n\n}\n\ninterface Funcion {\n (ManoObra: any, Reserva: any, StockPersonal: any[], ResumenPreLiquidado: ResumenLiquidacionesType): void;\n}","import { ResumenLiquidacionesType } from \"./CalcularResumenValorizacionesAlemania\"\n\nexport const ActualizarDataResumenValorizacionesAlemania: Funcion = (ManoObra, Reserva, StockPersonal, ResumenPreLiquidado) => {\n\n if (ManoObra && ManoObra.Valorizacion && Array.isArray(ManoObra.Valorizacion)) {\n\n for (const valorizacion of ManoObra.Valorizacion) {\n valorizacion.CantidadUsado = 0;\n const val = ResumenPreLiquidado.MoUo.find(e => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);\n if (val) valorizacion.CantidadUsado = val.Cantidad;\n }\n\n }\n\n if (Reserva && Reserva.Item && Array.isArray(Reserva.Item)) {\n\n for (const item of Reserva.Item) {\n item.CantidadUsados = 0;\n const itemAUX = ResumenPreLiquidado.MatUtilizados.find(e => e.Codigo === item.Codigo);\n if (itemAUX) item.CantidadUsados = itemAUX.Cantidad;\n }\n\n }\n\n if (StockPersonal && Array.isArray(StockPersonal)) {\n\n for (const stockPersonal of StockPersonal) {\n\n stockPersonal.Liquidacion = 0\n\n const stock = ResumenPreLiquidado.MatStockPersonal.find(e => e.ID_Trabajo === stockPersonal.ID_Trabajo\n && e.Identificacion === stockPersonal.Personal.Identificacion\n && e.Codigo === stockPersonal.Reserva\n && e.CodigoLlave === stockPersonal.CodigoLlave)\n\n if (stock) {\n if (stock.Cantidad > stockPersonal.Despacho) {\n stockPersonal.Liquidacion = stockPersonal.Despacho\n stock.Cantidad = stock.Cantidad - stockPersonal.Despacho\n } else {\n stockPersonal.Liquidacion = stock.Cantidad\n stock.Cantidad = 0\n }\n }\n\n }\n }\n\n}\n\ninterface Funcion {\n (ManoObra: any, Reserva: any, StockPersonal: any[], ResumenPreLiquidado: ResumenLiquidacionesType): void;\n}","import { ManoDeObraEntity } from './entitys/ManoDeObraEntity'\nimport { ObraEntity } from './entitys/ObraEntity'\nimport { TrabajoEntity } from './entitys/TrabajoEntity'\n\ninterface IParams {\n manoObra: ManoDeObraEntity\n trabajos: TrabajoEntity[]\n obra: ObraEntity\n ContratoOT: any\n envSIGO: IenvSIGO\n}\n\ninterface IenvSIGO {\n SISTEMAS_VALORIZACION_MANO_OBRA: string[]\n}\n\nexport const ActualizarDataTrabajos = ({ manoObra, trabajos, obra, ContratoOT, envSIGO }: IParams): void => {\n let Sistema: string = envSIGO.SISTEMAS_VALORIZACION_MANO_OBRA.includes(obra.ContratoOT.Sistema) ? 'onNet' : 'default'\n if (Sistema === 'default') {\n const CheckPrecioMO = ContratoOT.CheckPrecioMO\n Sistema = !CheckPrecioMO ? 'default' : 'onNet'\n }\n for (const trabajo of trabajos) {\n for (const valorizacion of trabajo.Ultima_PreLiquidacion.Valorizacion) {\n const valorizacionMO = manoObra.Valorizacion.find(e => e.DetalleChile.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub)\n if (valorizacionMO) {\n const { DatosManoObraGlobal: { DetalleChile: { ManoObraBaremo } }, DatosPrecioEspecialidad: { Agencias } } = valorizacionMO.DatosCatalogoMO\n const sistema: any = {\n onNet: { PuntoBaremo: Agencias[0].Ultimo_Precio.Precio, Precio: ManoObraBaremo[0].PuntoBaremo },\n default: { PuntoBaremo: ManoObraBaremo[0].PuntoBaremo, Precio: Agencias[0].Ultimo_Precio.Precio }\n }\n valorizacion.DetalleChile.PuntoBaremo = sistema[Sistema].PuntoBaremo\n valorizacion.Precio = sistema[Sistema].Precio\n } else {\n console.error(`¡No se encontró Valorizacion con LineaCodigoCub: ${valorizacion.DetalleChile.LineaCodigoCub} en la Mano de Obra!`)\n }\n }\n }\n}","interface Zona {\n Descripcion: string\n Codigo: string\n Estado: {\n ID_Estado: number\n }\n}\n\ninterface EmpresaContratistaEnPrecioEspecialidad {\n Zonas: Zona[]\n}\n\ninterface Obra {\n Pais: {\n Codigo: string\n }\n}\n\nexport function BuscarZonaContratista(EmpresaContratistaEnPrecioEspecialidad: EmpresaContratistaEnPrecioEspecialidad, Obra: Obra, ZonaAsignada: string): Zona | undefined {\n const zonaSearchMapping: Record<string, () => Zona | undefined> = {\n '512': () => EmpresaContratistaEnPrecioEspecialidad.Zonas.find((e) => e.Descripcion.toUpperCase() === ZonaAsignada.toUpperCase() && e.Estado.ID_Estado === 1),\n '004': () => EmpresaContratistaEnPrecioEspecialidad.Zonas.find((e) => e.Descripcion.toUpperCase() === ZonaAsignada.toUpperCase() && e.Estado.ID_Estado === 1),\n '480': () => EmpresaContratistaEnPrecioEspecialidad.Zonas.find((e) => e.Codigo.toUpperCase() === ZonaAsignada.toUpperCase() && e.Estado.ID_Estado === 1)\n };\n\n return zonaSearchMapping[Obra.Pais.Codigo]()\n}\n","import { HomePassDto } from '../../dtos/HomePassDto'\n\ninterface typeHPMOUtilizado {\n ID_HPListMO: number\n CantidadUtilizado: number\n}\n\ninterface typeTrabajo {\n Ultima_PreLiquidacion: PreLiquidacion\n}\n\ninterface PreLiquidacion {\n Valorizacion: ValorizacionDto[]\n}\n\ninterface ValorizacionDto {\n Ultimo_Estado_Interno: EstadoInternoDto\n HomePass: HomePassDto[]\n}\n\ninterface EstadoInternoDto {\n Descripcion: string\n}\n\nexport const CalcularResumenHPMOLiquidado = (trabajo: typeTrabajo): typeHPMOUtilizado[] => {\n return trabajo.Ultima_PreLiquidacion.Valorizacion.reduce((acc: typeHPMOUtilizado[], valorizacion) => {\n if (['PRODUCCION', 'CERTIFICADA', 'PRELIQUIDADA', 'LIQUIDADA'].includes(valorizacion.Ultimo_Estado_Interno.Descripcion.trim())) {\n for (const hpmo of valorizacion.HomePass) {\n const hpmoAux = acc.find(e => e.ID_HPListMO === hpmo.ID_HPListMO)\n if (hpmoAux) {\n hpmoAux.CantidadUtilizado += hpmo.Cantidad\n return acc\n }\n return [\n ...acc\n ,\n {\n ID_HPListMO: hpmo.ID_HPListMO,\n CantidadUtilizado: hpmo.Cantidad\n }\n ]\n }\n }\n return acc\n }, [])\n}","\nexport const CalcularResumenLiquidaciones: Funcion = (trabajo, trabajos) => {\n let MoUo: MoUoType[] = [];\n let MatUtilizados: MatUtilizadosType[] = [];\n let MatRetirados: MatRetiradosType[] = [];\n let MatStockPersonal: MatStockPersonalType[] = [];\n let MatStockAlmacen: MatStockPersonalType[] = [];\n for (const trabajoDB of trabajos) {\n\n if (trabajoDB.ID_Trabajo === trabajo.ID_Trabajo) {\n trabajoDB.Ultima_PreLiquidacion.Valorizacion = trabajo.Ultima_PreLiquidacion.Valorizacion;\n }\n\n for (const valorizacion of trabajoDB.Ultima_PreLiquidacion.Valorizacion) {\n if (['PRODUCCION', 'CERTIFICADA', 'PRELIQUIDADA', 'LIQUIDADA'].includes(valorizacion.Ultimo_Estado_Interno.Descripcion.trim())) {\n\n const val = MoUo.find(e => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);\n if (val) {\n val.Cantidad += valorizacion.Cantidad;\n val.CantidadUO += valorizacion.CantidadUO;\n } else MoUo.push({\n LineaCodigoCub: valorizacion.DetalleChile.LineaCodigoCub,\n Cantidad: valorizacion.Cantidad,\n CantidadUO: valorizacion.CantidadUO,\n });\n\n for (const mu of valorizacion.MaterialesUtilizados) {\n if (mu.Estado.ID_Estado === 1) {\n\n const muAux = MatUtilizados.find((e: any) => e.Codigo === mu.Codigo);\n if (muAux) muAux.Cantidad += mu.Cantidad;\n else MatUtilizados.push({\n Codigo: mu.Codigo,\n Cantidad: mu.Cantidad,\n });\n\n const matStockPersonal = MatStockPersonal.find(e => e.ID_Trabajo === trabajoDB.ID_Trabajo\n && e.Codigo === mu.Codigo\n && e.Identificacion === trabajoDB.Ultima_asignacion.Personal[0].Identificacion\n )\n if (matStockPersonal) matStockPersonal.Cantidad += mu.Cantidad;\n else MatStockPersonal.push({\n ID_Trabajo: trabajoDB.ID_Trabajo,\n Identificacion: trabajoDB.Ultima_asignacion.Personal[0].Identificacion,\n Codigo: mu.Codigo,\n Cantidad: mu.Cantidad,\n })\n }\n }\n\n for (const mr of valorizacion.MaterialesRetirados) {\n if (mr.Estado.ID_Estado === 1) {\n const muAux = MatRetirados.find(e => e.Codigo === mr.Codigo);\n if (muAux) muAux.Cantidad += mr.Cantidad;\n else MatRetirados.push({\n Codigo: mr.Codigo,\n Cantidad: mr.Cantidad,\n });\n }\n }\n }\n }\n }\n return { MoUo, MatUtilizados, MatRetirados, MatStockPersonal, MatStockAlmacen };\n}\n\ninterface Funcion {\n (trabajo: TrabajoType, trabajos: any[]): ResumenLiquidacionesType;\n}\n\nexport interface ResumenLiquidacionesType {\n MoUo: MoUoType[];\n MatUtilizados: MatUtilizadosType[];\n MatRetirados: MatRetiradosType[];\n MatStockPersonal: MatStockPersonalType[];\n MatStockAlmacen: MatStockPersonalType[];\n};\n\nexport interface MatStockPersonalType {\n ID_Trabajo: number;\n Identificacion: string;\n Codigo: string;\n Cantidad: number;\n}\n\nexport interface MatRetiradosType {\n Codigo: string;\n Cantidad: number;\n}\n\nexport interface MatUtilizadosType {\n Codigo: string;\n Cantidad: number;\n}\n\nexport interface MoUoType {\n LineaCodigoCub: string;\n Cantidad: number;\n CantidadUO: number;\n}\n\ninterface TrabajoType {\n ID_Trabajo: number;\n Ultima_PreLiquidacion: PreLiquidacionType;\n // Otras propiedades y tipos correspondientes a 'Trabajo'\n}\n\ninterface PreLiquidacionType {\n Valorizacion: ValorizacionType[];\n // Otras propiedades y tipos correspondientes a 'PreLiquidacion'\n}\n\ninterface ValorizacionType {\n // Propiedades y tipos correspondientes a 'Valorizacion'\n}\n","\nexport const CalcularResumenValorizacionesAlemania: Funcion = (trabajo, trabajos) => {\n let MoUo: MoUoType[] = [];\n let MatUtilizados: MatUtilizadosType[] = [];\n let MatRetirados: MatRetiradosType[] = [];\n let MatStockPersonal: MatStockPersonalType[] = [];\n let MatStockAlmacen: MatStockAlmacenType[] = [];\n for (const trabajoDB of trabajos) {\n\n if (trabajoDB.ID_Trabajo === trabajo.ID_Trabajo) {\n trabajoDB.Ultima_PreLiquidacion.Valorizacion = trabajo.Ultima_PreLiquidacion.Valorizacion;\n }\n\n for (const valorizacion of trabajoDB.Ultima_PreLiquidacion.Valorizacion) {\n if (['PRODUCCION', 'CERTIFICADA', 'PRELIQUIDADA', 'LIQUIDADA', 'RECHAZADA POR DOCUMENTACION'].includes(valorizacion.Ultimo_Estado_Interno.Descripcion.trim())) {\n if(valorizacion.Certificacion.Mes != 0) { continue; }\n const val = MoUo.find(e => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);\n if (val) {\n val.Cantidad += valorizacion.Cantidad;\n val.CantidadUO += valorizacion.CantidadUO;\n } else MoUo.push({\n LineaCodigoCub: valorizacion.DetalleChile.LineaCodigoCub,\n Cantidad: valorizacion.Cantidad,\n CantidadUO: valorizacion.CantidadUO,\n });\n\n for (const mu of valorizacion.MaterialesUtilizados) {\n\n if (mu.Estado.ID_Estado !== 1) continue\n\n const muAux = MatUtilizados.find((e: any) => e.Codigo === mu.Codigo);\n if (muAux) muAux.Cantidad += mu.Cantidad;\n else MatUtilizados.push({\n Codigo: mu.Codigo,\n Cantidad: mu.Cantidad,\n })\n\n if (!mu.CodigoLlave) throw Error(`No se pudo calcular resumen`)\n\n //#endregion Resumen Stock Personal\n if (mu.Motivo.Descripcion !== 'CONSUMO_MATERIAL_AUTOMATICO_DUCTOS') {\n const matStockPersonal = MatStockPersonal.find(e => e.ID_Trabajo === trabajoDB.ID_Trabajo\n && e.CodigoLlave === mu.CodigoLlave\n && e.Identificacion === trabajoDB.Ultima_asignacion.Personal[0].Identificacion\n )\n if (matStockPersonal) matStockPersonal.Cantidad += mu.Cantidad\n else MatStockPersonal.push({\n ID_Trabajo: trabajoDB.ID_Trabajo,\n Identificacion: trabajoDB.Ultima_asignacion.Personal[0].Identificacion,\n Codigo: mu.Codigo,\n CodigoLlave: mu.CodigoLlave,\n Cantidad: mu.Cantidad,\n })\n }\n //#endregion\n\n //#region Mat Stock Almacen\n if (mu.Motivo.Descripcion === 'CONSUMO_MATERIAL_AUTOMATICO_DUCTOS') {\n const matStockAlmacen = MatStockAlmacen.find(e => e.ID_Trabajo === trabajoDB.ID_Trabajo\n && e.CodigoLlave === mu.CodigoLlave\n )\n if (matStockAlmacen) matStockAlmacen.Cantidad += mu.Cantidad;\n else MatStockAlmacen.push({\n ID_Trabajo: trabajoDB.ID_Trabajo,\n Empresa: trabajoDB.Ultima_asignacion.Empresa.Codigo,\n CodigoLlave: mu.CodigoLlave,\n Codigo: mu.Codigo,\n Cantidad: mu.Cantidad,\n })\n }\n //#endregion\n }\n\n for (const mr of valorizacion.MaterialesRetirados) {\n if (mr.Estado.ID_Estado === 1) {\n const muAux = MatRetirados.find(e => e.Codigo === mr.Codigo);\n if (muAux) muAux.Cantidad += mr.Cantidad;\n else MatRetirados.push({\n Codigo: mr.Codigo,\n Cantidad: mr.Cantidad,\n });\n }\n }\n }\n }\n }\n return { MoUo, MatUtilizados, MatRetirados, MatStockPersonal, MatStockAlmacen };\n}\n\ninterface Funcion {\n (trabajo: TrabajoType, trabajos: any[]): ResumenLiquidacionesType;\n}\n\nexport interface ResumenLiquidacionesType {\n MoUo: MoUoType[];\n MatUtilizados: MatUtilizadosType[];\n MatRetirados: MatRetiradosType[];\n MatStockPersonal: MatStockPersonalType[];\n MatStockAlmacen: MatStockAlmacenType[];\n};\n\nexport interface MatStockPersonalType {\n ID_Trabajo: number;\n Identificacion: string;\n Codigo: string;\n CodigoLlave: string;\n Cantidad: number;\n}\n\nexport interface MatStockAlmacenType {\n ID_Trabajo: number;\n CodigoLlave: string;\n Codigo: string;\n Cantidad: number;\n Empresa: string\n}\n\nexport interface MatRetiradosType {\n Codigo: string;\n Cantidad: number;\n}\n\nexport interface MatUtilizadosType {\n Codigo: string;\n Cantidad: number;\n}\n\nexport interface MoUoType {\n LineaCodigoCub: string;\n Cantidad: number;\n CantidadUO: number;\n}\n\ninterface TrabajoType {\n ID_Trabajo: number;\n Ultima_PreLiquidacion: PreLiquidacionType;\n // Otras propiedades y tipos correspondientes a 'Trabajo'\n}\n\ninterface PreLiquidacionType {\n Valorizacion: ValorizacionType[];\n // Otras propiedades y tipos correspondientes a 'PreLiquidacion'\n}\n\ninterface ValorizacionType {\n // Propiedades y tipos correspondientes a 'Valorizacion'\n}\n","interface iMapaMatCantidad {\n CodigoMat: string,\n Cantidad: number,\n}\ninterface iMapaMatBOM {\n MapeoBOM: string,\n CodigoMat: string,\n CodigosMO: Array<string>,\n Empalmes: Array<iMapaMatCantidad>,\n Tapones: Array<iMapaMatCantidad>,\n}\ninterface iMapaMapeoMOMaterial {\n CodigoMO: string,\n CodigoMat: string,\n Cantidad: number,\n}\n//Mapeo BOM Dos Hojas\nexport const MapeoMatBOMAL04: iMapaMatBOM[] = [\n { MapeoBOM: '12x12', CodigoMat: '40770321', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 12 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 12 }],\n },\n { MapeoBOM: '7x12', CodigoMat: '40274727', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 7 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 7 }],\n },\n { MapeoBOM: '3x12', CodigoMat: '40317871', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 3 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 3 }],\n },\n { MapeoBOM: '22x7 +1x12 (O/R)', CodigoMat: '40263177', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 1 }, { CodigoMat: '40252698', Cantidad: 22 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 1 }, { CodigoMat: '40252697', Cantidad: 22 }],\n },\n { MapeoBOM: '22x7 +1x12 (O/S)', CodigoMat: '40263174', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 1 }, { CodigoMat: '40252698', Cantidad: 22 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 1 }, { CodigoMat: '40252697', Cantidad: 22 }],\n },\n { MapeoBOM: '22x7 +1x12 (O/W)', CodigoMat: '40263175', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 1 }, { CodigoMat: '40252698', Cantidad: 22 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 1 }, { CodigoMat: '40252697', Cantidad: 22 }],\n },\n { MapeoBOM: '22x7 +1x12 (O/O)', CodigoMat: '40263173', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 1 }, { CodigoMat: '40252698', Cantidad: 22 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 1 }, { CodigoMat: '40252697', Cantidad: 22 }],\n },\n { MapeoBOM: '8x7 +1x12 (O/R)', CodigoMat: '40263181', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 1 }, { CodigoMat: '40252698', Cantidad: 8 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 1 }, { CodigoMat: '40252697', Cantidad: 8 }],\n },\n { MapeoBOM: '8x7 +1x12 (O/S)', CodigoMat: '40263179', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 1 }, { CodigoMat: '40252698', Cantidad: 8 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 1 }, { CodigoMat: '40252697', Cantidad: 8 }],\n },\n { MapeoBOM: '8x7 +1x12 (O/W)', CodigoMat: '40263180', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 1 }, { CodigoMat: '40252698', Cantidad: 8 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 1 }, { CodigoMat: '40252697', Cantidad: 8 }],\n },\n { MapeoBOM: '8x7 +1x12 (O/O)', CodigoMat: '40263178', CodigosMO: ['BR01', 'AP01', 'GR01', 'TD01', 'CR01'], \n Empalmes: [{ CodigoMat: '40252700', Cantidad: 1 }, { CodigoMat: '40252698', Cantidad: 8 }], \n Tapones: [{ CodigoMat: '40255038', Cantidad: 1 }, { CodigoMat: '40252697', Cantidad: 8 }],\n },\n { MapeoBOM: '1x7 mm', CodigoMat: '40246447', CodigosMO: ['GD01'], \n Empalmes: [{ CodigoMat: '40252698', Cantidad: 1 }], \n Tapones: [{ CodigoMat: '40252697', Cantidad: 1 }],\n },\n]\n//Baremo Unico por DP Cantidad 1\nexport const CodsMapeoMOMaterialNVT01: iMapaMapeoMOMaterial[] = [\n { CodigoMO: 'NVT01', CodigoMat: '47147177', Cantidad: 1 }\n]\n// Materiales Ductos\nexport const CodigosMaterialDuctosAL04: string[] = [ // Stock técnico\n '40770321',\n '40274727',\n '40317871',\n '40263177',\n '40263174',\n '40263175',\n '40263173',\n '40263181',\n '40263179',\n '40263180',\n '40263178',\n '40246447',\n]\n","export const CodigosMaterialSoplado = [\n { Codigo: '02CFO-108-205', Descripcion: '12FO-FIBER UNIT-DROP' },\n { Codigo: '02CFO-108-201', Descripcion: '2FO-FIBER UNIT-DROP' },\n { Codigo: '02CFO-108-204', Descripcion: '8FO-FIBER UNIT-DROP' },\n { Codigo: '02CFO-107-206', Descripcion: '96FO- OPTICAL CABLE' },\n { Codigo: '02CFO-107-204', Descripcion: '48FO-OPTICAL CABLE' },\n { Codigo: '02CFO-107-208', Descripcion: '192FO-OPTICAL CABLE' },\n { Codigo: '02CFO-107-209', Descripcion: '288FO-OPTICAL CABLE' },\n]","interface iMapeoMOMaterial {\n CodigoMO: string,\n CodigoMaterial: string,\n CodMatConector: string,\n CantidadPorDucto: number,\n Alcance: string,\n}\ninterface iMapeoMOMaterialSoplado {\n CodigoMO: string,\n CodigoMaterial: string,\n}\ninterface iMapaMOMaterialSoplado {\n CodigoMO: string,\n CodigoMaterial: string[],\n ConsumoManual?: boolean\n}\n\nexport const CodsMapeoMOMaterial: iMapeoMOMaterial[] = [\n { CodigoMO: '010103200', CodigoMaterial: '03DUC-109-204', CodMatConector: '03DUC-110-201', CantidadPorDucto: 2, Alcance: '2X16-12', },\n { CodigoMO: '010103300', CodigoMaterial: '03DUC-109-203', CodMatConector: '03DUC-110-201', CantidadPorDucto: 4, Alcance: '4X16-12', },\n { CodigoMO: '010103400', CodigoMaterial: '03DUC-109-202', CodMatConector: '03DUC-110-201', CantidadPorDucto: 7, Alcance: '7x16-12', },\n { CodigoMO: '010203900', CodigoMaterial: '03DUC-109-212', CodMatConector: '03DUC-110-210', CantidadPorDucto: 12, Alcance: '12x7-4', },\n { CodigoMO: '010204000', CodigoMaterial: '03DUC-109-211', CodMatConector: '03DUC-110-210', CantidadPorDucto: 24, Alcance: '24x7-4', },\n { CodigoMO: '010203800', CodigoMaterial: '03DUC-109-213', CodMatConector: '03DUC-110-210', CantidadPorDucto: 7, Alcance: '7X7-4', },\n { CodigoMO: '010303000', CodigoMaterial: '03DUC-109-201', CodMatConector: '03DUC-110-214', CantidadPorDucto: 2, Alcance: '1x50-40', },\n // { CodigoMO: '010303100', CodigoMaterial: '03DUC-109-210', CodMatConector: '03DUC-110-207', CantidadPorDucto: 1, Alcance: '1X12-10', },\n { CodigoMO: '', CodigoMaterial: '03DUC-109-210', CodMatConector: '03DUC-110-207', CantidadPorDucto: 1, Alcance: '', },\n { CodigoMO: '010403300', CodigoMaterial: '03DUC-109-209', CodMatConector: '03DUC-110-204', CantidadPorDucto: 1, Alcance: '1x14-10', },\n { CodigoMO: '010403500', CodigoMaterial: '03DUC-109-208', CodMatConector: '03DUC-110-204', CantidadPorDucto: 2, Alcance: '2x14-10', },\n { CodigoMO: '010403600', CodigoMaterial: '03DUC-109-207', CodMatConector: '03DUC-110-204', CantidadPorDucto: 4, Alcance: '4x14-10', },\n { CodigoMO: '010403700', CodigoMaterial: '03DUC-109-206', CodMatConector: '03DUC-110-204', CantidadPorDucto: 7, Alcance: '7x14-10', },\n { CodigoMO: '010206700', CodigoMaterial: '03DUC-109-214', CodMatConector: '03DUC-110-210', CantidadPorDucto: 1, Alcance: '1x7-4', },\n { CodigoMO: '', CodigoMaterial: '03DUC-109-205', CodMatConector: '03DUC-110-201', CantidadPorDucto: 1, Alcance: '', },\n]\n\nexport const CodsMapeoMOMaterialSopladoClientes: iMapaMOMaterialSoplado[] = [\n { CodigoMO: 'T14', CodigoMaterial: ['02CFO-108-205'] },\n { CodigoMO: 'T15', CodigoMaterial: ['02CFO-108-201'] },\n { CodigoMO: 'T16', CodigoMaterial: ['02CFO-108-204'] },\n // { CodigoMO: '062505900', CodigoMaterial: ['05PAO-114-201', '05PAO-114-202'] },\n]\nexport const CodsMapeoMOMaterialSopladoTroncal: iMapaMOMaterialSoplado[] = [\n { CodigoMO: '042004400', CodigoMaterial: ['02CFO-107-206'] },\n { CodigoMO: '041704500', CodigoMaterial: ['02CFO-107-204'] },\n { CodigoMO: '041704300', CodigoMaterial: ['02CFO-107-208'] },\n { CodigoMO: '041704200', CodigoMaterial: ['02CFO-107-209'] },\n { CodigoMO: '062505900', CodigoMaterial: ['05PAO-114-201', '05PAO-114-202'], ConsumoManual: true },\n]\nexport const CodsMapeoMO_Material_Arquertas: iMapeoMOMaterialSoplado[] = [\n { CodigoMO: '062705807', CodigoMaterial: '06ARQ-115-212' },\n { CodigoMO: '062705806', CodigoMaterial: '06ARQ-115-211' },\n { CodigoMO: '062705805', CodigoMaterial: '06ARQ-115-210' },\n { CodigoMO: '062705701', CodigoMaterial: '06ARQ-115-206' },\n { CodigoMO: '062705702', CodigoMaterial: '06ARQ-115-207' },\n { CodigoMO: '062705704', CodigoMaterial: '06ARQ-115-209' },\n { CodigoMO: '062705703', CodigoMaterial: '06ARQ-115-208' },\n { CodigoMO: '062705808', CodigoMaterial: '06ARQ-115-213' },\n]","export const CompararFechas = (Fecha1: Date, Fecha2?: Date): boolean => {\n const hoy = Fecha2 ? new Date(Fecha2) : new Date();\n hoy.setHours(0, 0, 0, 0);\n const fecParteDiario = new Date(Fecha1);\n fecParteDiario.setHours(0, 0, 0, 0);\n return fecParteDiario.getTime() === hoy.getTime();\n}\n","export const DocumentacionReplanteo: any[] = [\n {\n \"id\": 1,\n \"label\": \"REGISTRO FOTOGRAFICO\",\n \"Children\": [],\n \"IsDebug\": false,\n \"Titulo\": \"REGISTRO FOTOGRAFICO\",\n \"Codigo\": \"Cod1\",\n \"Descripcion\": \"REGISTRO FOTO GRAFICO\",\n \"Files\": [],\n \"Extension\": [\n \"ALL\"\n ],\n \"Size\": {\n \"IsDebug\": false,\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": false,\n \"Estado\": {\n \"IsDebug\": false,\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n },\n \"CantidadMin\": 0.0,\n \"CantidadMax\": 0.0\n },\n {\n \"id\": 2,\n \"label\": \"PLANO AUXILIAR\",\n \"Children\": [],\n \"IsDebug\": false,\n \"Titulo\": \"PLANO AUXILIAR\",\n \"Codigo\": \"Cod2\",\n \"Descripcion\": \"PLANO AUXILIAR\",\n \"Files\": [],\n \"Extension\": [\n \"ALL\"\n ],\n \"Size\": {\n \"IsDebug\": false,\n \"Size\": 50,\n \"UM\": \"mb\"\n },\n \"Requerido\": true,\n \"Estado\": {\n \"IsDebug\": false,\n \"ID_Estado\": 1,\n \"Nombre\": \"ACTIVO\"\n },\n \"CantidadMin\": 0.0,\n \"CantidadMax\": 0.0\n }\n]","export const GetCodigoFechaActual = (fecha?: Date) => {\n const diaString = fecha ? fecha : new Date()\n const dia = diaString.getDate().toString().padStart(2, '0')\n const mes = (diaString.getMonth() + 1).toString().padStart(2, '0')\n const año = diaString.getFullYear().toString()\n return `${año}${mes}${dia}`\n}","import { MaterialAmapDto } from '../../dtos/MaterialAmapDto'\nimport { DetalleManoObraChileDto } from '../../dtos/DetalleManoObraChileDto'\nimport { PreciosAgenciaDto } from '../../dtos/PreciosAgenciaDto'\nimport { PreciosContrataDto } from '../../dtos/PreciosContrataDto'\nimport { generarModeloAmap } from './generarModeloAmap'\nimport { AmapDto } from '../../dtos/AmapDto'\nimport { filtrarMONoReservada } from './filtrarMONoReservada'\n\nexport interface PrecioEspecialidad {\n Simbolo: string\n Moneda: string\n Decimales: number\n Especialidad: { Codigo: string }\n ContratoOT: { Codigo: string }\n Agencias: PreciosAgenciaDto[]\n Contratistas: PreciosContrataDto[]\n}\n\nexport interface ManoObraGlobal {\n Amap: number\n Codigo: string\n Actividad: string\n Alcance: string\n Unidad: { Nombre: string }\n DetalleChile: DetalleManoObraChileDto\n ContratoOT: { Codigo: string }\n Material: MaterialAmapDto[]\n}\n\nexport interface Obra {\n DetalleChile: { numoe: string, codigo: string, agencia: string }\n Pais: { Codigo: string }\n Delegacion: { Codigo: string }\n}\n\nexport interface ManoObra {\n Valorizacion: AmapDto[]\n}\n\ninterface params {\n dataManoObraGlobal: ManoObraGlobal[]\n dataPrecioEspecialidad: PrecioEspecialidad[]\n Obra: Obra\n ManoObra: ManoObra\n}\n\nexport function ObtenerMONoReservada(params: params) {\n\n const { dataManoObraGlobal, dataPrecioEspecialidad, Obra, ManoObra } = params\n const ModelosAmap: AmapDto[] = []\n\n for (const ManoObraGlobal of dataManoObraGlobal) {\n for (const MOB of ManoObraGlobal.DetalleChile.ManoObraBaremo) {\n\n const matchPrecioEspecialidad = dataPrecioEspecialidad.filter(p =>\n p.Especialidad.Codigo === MOB.Especialidad.Codigo &&\n p.ContratoOT.Codigo === ManoObraGlobal.ContratoOT.Codigo\n )\n\n if (matchPrecioEspecialidad.length !== 1) {\n console.warn(`No se pudo obtener Precio Especialidad para ManoObraGlobal: ${ManoObraGlobal.Codigo}, Codigo Especialidad: ${MOB.Especialidad.Codigo}`)\n continue\n }\n\n const agencia = matchPrecioEspecialidad[0].Agencias.filter(e => e.Codigo === Obra.DetalleChile.agencia)\n if (agencia.length !== 1) {\n console.warn(`No se pudo Obtener Agencia`)\n continue\n }\n\n const newModelo = generarModeloAmap({ ManoObraGlobal, MOB, Obra, PrecioEspecialidad: matchPrecioEspecialidad[0], Precio: agencia[0].Ultimo_Precio.Precio })\n ModelosAmap.push(newModelo)\n }\n }\n return filtrarMONoReservada({ ModelosAmap, ManoObra })\n}\n","import { AmapDto } from '../../dtos/AmapDto'\nimport { ManoObra } from './index'\n\ninterface params {\n ModelosAmap: AmapDto[]\n ManoObra: ManoObra\n}\n\nexport function filtrarMONoReservada(params: params) {\n return params.ModelosAmap.reduce((acc: AmapDto[], amap) => {\n // const exist = params.ManoObra.Valorizacion.find(e => e.DetalleChile.LineaCodigoCub === amap.DetalleChile.LineaCodigoCub)\n const exist = params.ManoObra.Valorizacion.find(e => e.DetalleChile.ManoObra.Codigo === amap.DetalleChile.ManoObra.Codigo)\n if (exist) return acc\n return [...acc, amap]\n }, [])\n}","import { esObjetoFecha } from '../../../shared/index'\nimport { PreciosVigentesDto, PrecioActividadDto } from './../../dtos/index'\n\ntype params = {\n actividad: PrecioActividadDto,\n FechaVerificar: Date\n}\n\nexport function ObtenerPrecioContratistaVigente({ actividad, FechaVerificar }: params): PreciosVigentesDto | null {\n const fechaVerificar = new Date(FechaVerificar)\n if (!esObjetoFecha(fechaVerificar)) throw Error(`La fecha de asignación del Trabajo no es válida.`)\n const Precios: PreciosVigentesDto[] = []\n actividad.Precios.forEach(precio => {\n const fechaInicio = new Date(precio.Vigencia.FechaInicio);\n if (!esObjetoFecha(fechaInicio)) throw Error(`La fecha de asignación del Trabajo no es válida.`)\n const fechaFin = new Date(precio.Vigencia.FechaFin);\n if (!esObjetoFecha(fechaFin)) throw Error(`La fecha de asignación del Trabajo no es válida.`)\n if (fechaVerificar.getTime() >= fechaInicio.getTime() && fechaVerificar.getTime() <= fechaFin.getTime()) {\n Precios.push(precio)\n }\n })\n if (Precios.length > 1) throw Error(`¡Se han identificado múltiples precios con fechas superpuestas!\\n${Precios.map(e => `Id_PrecioVigente: ${e.ID_PreciosVigentes}, Precio: ${e.Precio}, FechaInicio: ${e.Vigencia.FechaInicio}, FechaFin: ${e.Vigencia.FechaFin}\\n`).join('')}`)\n if (!Precios.length) return null\n return Precios[0]\n}","interface Obra {\n ZonaAsignada: string;\n Ubicacion: {\n Municipio: string;\n };\n Pais: {\n Codigo: string;\n };\n}\n\nexport function ObtenerZonaAsignada(Obra: Obra): string {\n const zonaMapping: Record<string, string> = {\n '512': Obra.ZonaAsignada,\n '004': Obra.ZonaAsignada,\n '480': Obra.Ubicacion.Municipio\n };\n\n return zonaMapping[Obra.Pais.Codigo] ? zonaMapping[Obra.Pais.Codigo] : Obra.ZonaAsignada\n}\n","import { NodoDocDto } from '../../../shared/dtos/NodoDocDto'\nimport { updateNodoAsfaltoRecursivo } from './updateNodoAsfaltoRecursivo'\nimport { updateNodosPorEspecialidad } from './updateNodosPorEspecialidad'\nimport { updateNodoZanjaRecursivo } from './updateNodoZanjaRecursivo'\n\ninterface params<T> {\n documentacion: T\n obra: {\n TotalesGeneralObra: {\n PresupuestadoTotalObra: {\n TotMetros: number\n }\n }\n }\n trabajo?: {\n Ultima_asignacion: { Valorizaciones: { Especialidad: { Codigo: string } }[] },\n Ultima_PreLiquidacion: {\n Valorizacion: {\n DetalleChile: { CodigoBarra: string },\n Ultimo_Estado_Interno: { Descripcion: string }\n }[]\n }\n }\n}\n\nexport interface IDocumentacion {\n Nodos: NodoDocDto[]\n}\n\nexport const UpdateNodosDocDP = <T extends IDocumentacion>({ documentacion, obra, trabajo }: params<T>) => {\n const metros = obra.TotalesGeneralObra.PresupuestadoTotalObra.TotMetros\n updateNodoZanjaRecursivo(documentacion.Nodos, metros)\n updateNodoAsfaltoRecursivo(documentacion.Nodos, metros)\n if (trabajo) {\n const codEspecialidadesAux = trabajo.Ultima_asignacion.Valorizaciones.map(e => e.Especialidad.Codigo)\n // si informan asphalt poner nodo asfalto en tab calidad cada 50 m (Carlos armará el modelo)\n const estados = ['PRODUCCION', 'CERTIFICADA', 'PRELIQUIDADA', 'LIQUIDADA', 'RECHAZADA POR DOCUMENTACION']\n const asphalt = trabajo.Ultima_PreLiquidacion.Valorizacion.some(val =>\n val.DetalleChile.CodigoBarra === 'Asphalt' &&\n estados.includes(val.Ultimo_Estado_Interno.Descripcion)\n )\n if (codEspecialidadesAux.some(e => e === 'ASPHALT')) codEspecialidadesAux.push('05-ASFALTADO')\n if (asphalt) codEspecialidadesAux.push('05-ASFALTADO')\n updateNodosPorEspecialidad(documentacion, codEspecialidadesAux)\n }\n return documentacion\n}","import { IDocumentacion } from './index'\n\nexport function updateNodosPorEspecialidad<T extends IDocumentacion>(documentacion: T, codEspecialidades: string[]) {\n documentacion.Nodos = documentacion.Nodos.filter(e => codEspecialidades.includes(e.Titulo.trim()))\n}","export const codClientes = [ // Residential\n '031406300',\n 'T1_031406300',\n 'F2_031406300',\n '031406400',\n '031406500',\n // '010602400',\n '073106600',\n '010602500',\n '073100700',\n 'T1_073100700',\n 'F2_073100700',\n '073100800',\n '073100900',\n '073101000',\n 'T1_073101000',\n 'F2_073101000',\n '073101100',\n '073101200',\n '073101300',\n 'T1_073101300',\n 'F2_073101300',\n '073101400',\n '073101500',\n '073106600',\n '073102400',\n]\nexport const codNoCliente = [ //Business\n // '010602400',\n '073106600',\n '073100700',\n 'T1_073100700',\n 'F2_073100700',\n '073100800',\n '073100900',\n '073101000',\n 'T1_073101000',\n 'F2_073101000',\n '073101100',\n '073101200',\n '073101300',\n 'T1_073101300',\n 'F2_073101300',\n '073101400',\n '073101500',\n '073006000',\n '073106600',\n '073102400',\n]\nexport const codSopladoRD = ['T14', 'T15', 'T16'] // Residential (Clientes)","export const codMOTroncal_ReglaLiquidacion1 = [\n '011304100',\n // '062605200',\n '062605201',\n '010600300',\n '010600400',\n '010600500',\n 'T1_010600500',\n 'F2_010600500',\n '010600600',\n 'T1_010600600',\n 'F2_010600600',\n '010600700',\n 'T1_010600700',\n 'F2_010600700',\n '010600800',\n '010600900',\n '010601000',\n 'T1_010601000',\n 'F2_010601000',\n '010601100',\n '010601200',\n '010601300',\n 'T1_010601300',\n 'F2_010601300',\n '010601400',\n '010601500',\n '010601600',\n 'T1_010601600',\n 'F2_010601600',\n '010601700',\n '010601800',\n '010601900',\n '010602000',\n '010602100',\n '010602200',\n '010602300',\n // '010602400',\n '073106600',\n // '010602500',\n '010602600',\n '062705701',\n '062705702',\n '062705703',\n '062705704',\n '062705805',\n '062705806',\n '062705807',\n '062705808',\n '062605300',\n '062605301',\n '062605302',\n 'T13',\n 'T1_T13',\n 'F2_T13',\n 'T12',\n 'T21',\n 'T22',\n 'T8',\n 'T2',\n 'T20',\n 'T27',\n 'T28',\n 'T23',\n 'T24',\n 'T25',\n 'T26',\n 'T29',\n 'T30',\n '041804900',\n '042904700',\n '042904800',\n '042904600',\n '042004400',\n '061305000',\n '041704500',\n '062505900',\n '041704300',\n '041704200',\n '061305100',\n 'T41',\n 'T42',\n 'T43',\n 'T44',\n //#region Cambios solicitados por arturo 04-02-2025\n '073006000',\n 'T11',\n //#endregion Cambios solicitados por arturo 04-02-2025\n]\nexport const codMOClientes_ReglaLiquidacion1 = [\n // '010602400',\n '073106600',\n '031406300',\n 'T1_031406300',\n 'F2_031406300',\n '031406400',\n '031406500',\n 'T22',\n]\nexport const codMONoClientes_ReglaLiquidacion1 = [\n '073006000', // Codigo de baliza\n 'T22',\n]\n\nexport const codMOPublico = [ //Para regla de preliquidacion Clientes y No Clientes\n '010602500',\n '073100700',\n 'T1_073100700',\n 'F2_073100700',\n '073100800',\n '073100900',\n '073101000',\n 'T1_073101000',\n 'F2_073101000',\n '073101100',\n '073101200',\n '073101300',\n 'T1_073101300',\n 'F2_073101300',\n '073101400',\n '073101500',\n]","export const codigosMOT1_F2 = [\n \"010601600\",\n \"010600500\",\n \"031406300\",\n \"T13\",\n \"052208800\",\n \"010601300\",\n \"010600700\",\n \"073100600\",\n \"073101000\",\n \"073101300\",\n \"073101600\",\n \"010600600\",\n \"073100500\",\n \"010601000\",\n \"073100700\"\n]","export const codigosMaterialDuctos = [\n '03DUC-110-209',\n '03DUC-110-211',\n '03DUC-110-201',\n '03DUC-110-207',\n '03DUC-110-213',\n '03DUC-110-202',\n '03DUC-110-208',\n '03DUC-110-214',\n '03DUC-110-205',\n '03DUC-110-215',\n '03DUC-110-204',\n '03DUC-110-203',\n '03DUC-110-210',\n '03DUC-118-202',\n '03DUC-118-201',\n '03DUC-118-204',\n]","export const codigosMaterialUGG = [\n '03DUC-110-209', '03DUC-110-211', '05PAO-113-201', '05PAO-113-203',\n '05PAO-113-208', '05PAO-114-202', '02CFO-108-204', '05PAO-112-205',\n '05PAO-113-206', '02CFO-108-201', '03DUC-110-201', '05PAO-113-204',\n '03DUC-110-207', '05PAO-112-204', '02CFO-107-208', '03DUC-110-213',\n '05PAO-112-202', '02CFO-108-202', '02CFO-108-203', '03DUC-110-202',\n '05PAO-112-201', '02CFO-107-206', '02CFO-107-207', '02CFO-107-209',\n '05PAO-113-207', '03DUC-110-208', '03DUC-110-214', '03DUC-110-205',\n '07CPE-116-201', '03DUC-110-215', '03DUC-110-206', '05PAO-113-202',\n '03DUC-110-204', '05PAO-114-201', '02CFO-108-205', '03DUC-110-203',\n '05PAO-113-205', '02CFO-107-204', '03DUC-110-210', '05PAO-112-203',\n '06ARQ-115-209', '06ARQ-115-207', '06ARQ-115-210', '06ARQ-115-206',\n '06ARQ-115-208', '05PAO-113-211', '02CFO-107-212', '02CFO-107-213',\n '03DUC-118-202', '05PAO-113-212', '03DUC-118-201', '06ARQ-115-213',\n '02CFO-107-211', '06ARQ-115-211', '02CFO-107-210', '05PAO-113-214',\n '05PAO-113-213', '06ARQ-115-212', '03DUC-117-201', '02CFO-107-202',\n '04DPO-111-204', '02CFO-107-203', '04DPO-111-207', '08POP-119-202',\n '02CFO-107-205', '08POP-119-201', '04DPO-111-203', '05PAO-112-206',\n '05PAO-113-209', '05PAO-112-207', '01ODF-103-201', '05PAO-114-205',\n '04DPO-111-206', '03DUC-117-210', '03DUC-117-206', '03DUC-117-203',\n '03DUC-117-207', '03DUC-117-211', '03DUC-117-208', '03DUC-117-202',\n '03DUC-117-204', '03DUC-117-205', '03DUC-117-209', '01ODF-105-201',\n '01ODF-102-204', '01ODF-105-205', '01ODF-102-205', '01ODF-101-201',\n '01ODF-102-202', '01ODF-102-203', '04DPO-111-202', '04DPO-111-201',\n '04DPO-111-205', '02CFO-107-201', '01ODF-102-201', '03DUC-118-204'\n]","export function generateUniqueNumber() {\n const base = 10000000\n const timestamp = Date.now() - 1700000000000\n return base + (timestamp % 900000) + Math.floor(Math.random() * 10)\n}","export function getChannelName(id: string) {\n return {\n reportAutoInventory: `${id}reportAutoInventory`\n }\n}","const timeZones = [\n 'America/Santiago',\n 'America/Bogota',\n 'Europe/Berlin'\n] as const\ntype TimeZone = (typeof timeZones)[number]\n\nexport function getDateInTimeZone(timeZone: TimeZone) {\n return new Date(new Date().toLocaleString('en-US', { timeZone }))\n}\n","export const getKeyRedisSortedSet = (ContainerName: string, ID_User: string) => {\n return `${ContainerName}__${ID_User}`\n}","export function isValidPartialEntity<T extends object>(\n payload: Partial<T> | Partial<T>[],\n entity: T,\n exception: new (message: string) => Error\n): void {\n const entityKeys = Object.keys(entity)\n payload = Array.isArray(payload) ? payload : [payload]\n for (const element of payload) {\n for (const key in element) {\n if (key === 'IsDebug' || key === '_id') continue\n if (!entityKeys.includes(key)) {\n throw new exception(`'${key}' no es una propiedad válida de la entidad`)\n }\n }\n }\n}\n","export function logTiempoProceso(msg: string) {\n const inicio = new Date()\n console.log(`${msg}: ${inicio.toLocaleTimeString()}`)\n}","interface PaisMap {\n [key: string]: {\n CantidadMin: number\n }\n}\n\nexport const paisMap: PaisMap = {\n '480': { CantidadMin: 2 },\n '512': { CantidadMin: 0 },\n '004': { CantidadMin: 0 },\n}","export function validateNoLookup(input: any | any[]) {\n if (Array.isArray(input)) {\n input.forEach(item => validateNoLookup(item))\n } else if (typeof input === 'object' && input !== null) {\n for (const key in input) {\n const value = input[key]\n if (key === '$lookup') {\n throw new Error('No está permitido $lookup para consultas con Redis')\n } else if (typeof value === 'object' && value !== null) {\n validateNoLookup(value)\n }\n }\n }\n}"],"names":["Position","ModelDataFlujosDocumentacionReplanteo","Action","Fecha","Date","Usuario","Description","Posicion","Icono","ColorIcono","TagPagina","EstadoDto","this","GeneralCodigoNombreDto","GeneralCodigoNombreUnidadDto","UsuarioDto","OperacionDataAdicional","Params","left","esObjetoFecha","date","esCadenaFechaISOValida","dateString","test","parsedDate","isNaN","getTime","DetalleChileReservaMODto","WBEDto","DetalleManoObraChileDto","DatosManoObraGlobalDto","DatosPrecioEspecialidadDto","DatosUnidadObraMaterialDto","DatosCatalogoMODto","AmapDto","hashCode","str","hash","i","length","charCodeAt","Math","abs","toString","DocumentacionHPBussines","id","label","Children","Titulo","Codigo","Descripcion","Files","Filename","Extension","CodigoNodo","NameOriginal","Size","UM","Ruta","Observacion","Coordenadas","X","Y","Fecha_Archivo","Ultimo_Flujo","Identificacion","Apellidos","Nombres","Visible","Flujos","Estado","ID_Estado","Nombre","Requerido","CantidadMin","CantidadMax","modelDROP","modelCABLE","modelARMARIO","DocumentacionHPResidential","ID_DocumentacionPEX","TipoObra","Sistema","Pais","Delegacion","Nodos","Bitacora","dataFlujosHomePass","updateChildren","numAdd","_step2","_iterator2","_createForOfIteratorHelperLoose","done","nodo","value","Number","generarReglasTroncal","cantidad","codigo","generarReglasClientes","mapaReglaSopladoTroncal","Map","mapaReglaSopladoClientes","codMOTroncalAL04","concat","codMODROPAL04","mapaMOMaterialAL04","ManoObra","Materiales","Cantidad","CantidadFija","CantidadPadre","Factor","_ref","manoObra","ContratoOT","envSIGO","SISTEMAS_VALORIZACION_MANO_OBRA","includes","obra","CheckPrecioMO","_step","_iterator","Valorizacion","valorizacion","_valorizacion$DatosCa","DatosCatalogoMO","ManoObraBaremo","DatosManoObraGlobal","DetalleChile","Agencias","DatosPrecioEspecialidad","Error","agencia","find","e","Precio","Ultimo_Precio","PuntoBaremo","sistema","onNet","default","reserva","Item","_item$DatosCatalogoIt","_item$DatosCatalogoIt2","item","tipo","DatosCatalogoItem","DatosItem","Tipo","precio","DatosPrecioMaterial","Valor","trim","Reserva","StockPersonal","ResumenPreLiquidado","Array","isArray","_loop","CantidadUsado","val","MoUo","LineaCodigoCub","_loop2","CantidadUsados","itemAUX","MatUtilizados","_step3","_loop3","stockPersonal","Liquidacion","stock","MatStockPersonal","ID_Trabajo","Personal","Despacho","_iterator3","CodigoLlave","trabajos","valorizacionMO","_valorizacionMO$Datos","console","error","Ultima_PreLiquidacion","EmpresaContratistaEnPrecioEspecialidad","Obra","ZonaAsignada","512","Zonas","toUpperCase","004","480","trabajo","reduce","acc","Ultimo_Estado_Interno","_ret","hpmo","hpmoAux","ID_HPListMO","CantidadUtilizado","v","HomePass","MatRetirados","trabajoDB","CantidadUO","push","mu","muAux","matStockPersonal","Ultima_asignacion","MaterialesUtilizados","_step4","_loop4","mr","_iterator4","MaterialesRetirados","MatStockAlmacen","Certificacion","Mes","Motivo","matStockAlmacen","Empresa","CodigoMO","CodigoMaterial","CodMatConector","CantidadPorDucto","Alcance","CodigoMat","ConsumoManual","Fecha1","Fecha2","hoy","setHours","fecParteDiario","options","_value","structuredClone","_temp","_Number","_ref$symbolCoin","symbolCoin","_ref$symbolCoinPositi","symbolCoinPosition","_ref$isPorcent","isPorcent","_ref$decimal","decimal","_ref$codeCountry","codeCountry","_ref$currency","currency","_isValidFormatCodeCountry","_codeCountry","isValidFormatCodeCountry","_decimal","Intl","NumberFormat","style","format","toFixed","valueFormated","_Number2","formaterMiles","isFinite","ValidateValue","_value2","_value3","split","reverse","n","replace","ParserDiffFormatValue","replaceAll","parseFloat","ParserValue","IsDebug","fecha","diaString","dia","getDate","padStart","mes","getMonth","getFullYear","CodigoMOMadre","CodigoMOHija","DEPTH","CantidadMO","TablaHoja","CampoBOM","MapeoBOM","CodigosMO","Empalmes","Tapones","params","dataPrecioEspecialidad","ModelosAmap","ManoObraGlobal","MOB","matchPrecioEspecialidad","filter","p","Especialidad","warn","newModelo","PrecioEspecialidad","_Obra$DetalleChile2","codigoVal","_Obra$DetalleChile","newDto","CodigoCub","Linea","Actividad","Clave","Tarea","UnidadMedida","Unidad","UnidadObra","generarModeloDetalleChile","newAmap","Amap","Total","Moneda","Simbolo","Decimales","WBE","CodigoWBE","CantidadUOAprobada","Material","Contratistas","DatosUnidadObraMaterial","generarModeloAmap","dataManoObraGlobal","amap","filtrarMONoReservada","actividad","fechaVerificar","FechaVerificar","Precios","forEach","fechaInicio","Vigencia","FechaInicio","fechaFin","FechaFin","map","ID_PreciosVigentes","join","zonaMapping","Ubicacion","Municipio","documentacion","metros","TotalesGeneralObra","PresupuestadoTotalObra","TotMetros","updateNodoZanjaRecursivo","nodos","nodoCod110","childrenAux","numCod110","ceil","newNodosCod110","index","inicial","final","textAdd","newNodo","updateNodoAsfaltoRecursivo","nodoCod100","codEspecialidadesAux","Valorizaciones","estados","asphalt","some","CodigoBarra","codEspecialidades","updateNodosPorEspecialidad","convertDates","input","key","now","floor","random","reportAutoInventory","timeZone","toLocaleString","ContainerName","ID_User","queueName","_queueName$split","db","col","operacion","target","containerName","database","collection","parse","payload","entity","exception","entityKeys","Object","keys","element","msg","inicio","log","toLocaleTimeString","modelDROPAux","modelCABLEAux","modelARMARIOAux","validateNoLookup"],"mappings":"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"}