sigo-package 1.2.73 → 1.2.75

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.
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as sigo_entities from 'sigo-entities';
2
- import { ManoObraENTITY, ReservaENTITY, ItemDetalleLogisticaDTO, HomePassDTO, FlujoDocDTO, NodoDocDTO, DocumentacionPEXENTITY, ManoObraGlobalENTITY, PrecioEspecialidadENTITY, ObraChile9512ENTITY, TrabajoAlemaniaENTITY, ValorizacionManoObraDTO, ValorizacionAlemaniaDTO, PrecioContratistaMOAL02ENTITY, ValorizacionDTO, PrecioContratistaMOAL04ENTITY, StockPersonalENTITY, StockAlmacenENTITY, ConsumoMaterialAlemaniaENTITY, ValorizacionesDTO, PrecioContratistaMaterialENTITY, TrabajoENTITY, ActividadesDTO, PreciosVigentesDTO, ContratoOTENTITY } from 'sigo-entities';
2
+ import { ManoObraENTITY, ReservaENTITY, ItemDetalleLogisticaDTO, HomePassDTO, FlujoDocDTO, NodoDocDTO, DocumentacionPEXENTITY, ManoObraGlobalENTITY, PrecioEspecialidadENTITY, ObraChile9512ENTITY, TrabajoAlemaniaENTITY, ValorizacionManoObraDTO, ValorizacionAlemaniaDTO, PrecioContratistaMOAL02ENTITY, ValorizacionDTO, PrecioContratistaMOAL04ENTITY, StockPersonalENTITY, StockAlmacenENTITY, ConsumoMaterialAlemaniaENTITY, ValorizacionesDTO, PrecioContratistaMaterialENTITY, TrabajoENTITY, ActividadesDTO, PreciosVigentesDTO, ContratoOTENTITY, DetalleChileValorizacionMODTO } from 'sigo-entities';
3
3
 
4
4
  interface IenvSIGO$1 {
5
5
  SISTEMAS_VALORIZACION_MANO_OBRA: string[];
@@ -239,18 +239,18 @@ interface IDocumentacion {
239
239
  }
240
240
  declare const UpdateNodosDocDP: <T extends IDocumentacion>({ documentacion, obra, trabajo }: params$1<T>) => T;
241
241
 
242
- declare const CalcularResumenValorizacionesAlemania: Funcion$3;
243
- interface Funcion$3 {
244
- (trabajo: TrabajoType$1, trabajos: any[]): ResumenLiquidacionesType;
242
+ declare const CalcularResumenValorizacionesAlemania: Funcion$5;
243
+ interface Funcion$5 {
244
+ (trabajo: TrabajoType$2, trabajos: any[]): ResumenLiquidacionesType;
245
245
  }
246
246
  interface ResumenLiquidacionesType {
247
- MoUo: MoUoType$1[];
248
- MatUtilizados: MatUtilizadosType$1[];
247
+ MoUo: MoUoType$2[];
248
+ MatUtilizados: MatUtilizadosType$2[];
249
249
  MatRetirados: MatRetiradosType[];
250
- MatStockPersonal: MatStockPersonalType$1[];
250
+ MatStockPersonal: MatStockPersonalType$2[];
251
251
  MatStockAlmacen: MatStockAlmacenType[];
252
252
  }
253
- interface MatStockPersonalType$1 {
253
+ interface MatStockPersonalType$2 {
254
254
  ID_Trabajo: number;
255
255
  Identificacion: string;
256
256
  Codigo: string;
@@ -268,27 +268,27 @@ interface MatRetiradosType {
268
268
  Codigo: string;
269
269
  Cantidad: number;
270
270
  }
271
- interface MatUtilizadosType$1 {
271
+ interface MatUtilizadosType$2 {
272
272
  Codigo: string;
273
273
  Cantidad: number;
274
274
  }
275
- interface MoUoType$1 {
275
+ interface MoUoType$2 {
276
276
  LineaCodigoCub: string;
277
277
  Cantidad: number;
278
278
  CantidadUO: number;
279
279
  }
280
- interface TrabajoType$1 {
280
+ interface TrabajoType$2 {
281
281
  ID_Trabajo: number;
282
- Ultima_PreLiquidacion: PreLiquidacionType$1;
282
+ Ultima_PreLiquidacion: PreLiquidacionType$2;
283
283
  }
284
- interface PreLiquidacionType$1 {
285
- Valorizacion: ValorizacionType$1[];
284
+ interface PreLiquidacionType$2 {
285
+ Valorizacion: ValorizacionType$2[];
286
286
  }
287
- interface ValorizacionType$1 {
287
+ interface ValorizacionType$2 {
288
288
  }
289
289
 
290
- declare const ActualizarDataResumenValorizacionesAlemania: Funcion$2;
291
- interface Funcion$2 {
290
+ declare const ActualizarDataResumenValorizacionesAlemania: Funcion$4;
291
+ interface Funcion$4 {
292
292
  (ManoObra: any, Reserva: any, StockPersonal: any[], ResumenPreLiquidado: ResumenLiquidacionesType): void;
293
293
  }
294
294
 
@@ -372,6 +372,45 @@ declare function buildDataMOFromMaterialRules(key: string, ManoObra: IMOAndMater
372
372
 
373
373
  declare function obtenerPrecioContratistaMaterial(Codigo: string, priceContractorMaterial: Pick<PrecioContratistaMaterialENTITY, 'Materiales' | 'Empresa'>): number;
374
374
 
375
+ declare const CalcularResumenLiquidacionesColombia: Funcion$3;
376
+ interface Funcion$3 {
377
+ (trabajo: TrabajoType$1, trabajos: any[]): ResumenLiquidacionesTypeColombia;
378
+ }
379
+ interface ResumenLiquidacionesTypeColombia {
380
+ MoUo: MoUoType$1[];
381
+ MatUtilizados: MatUtilizadosType$1[];
382
+ MatRetirados: MatRetiradosType[];
383
+ MatStockPersonal: MatStockPersonalType$1[];
384
+ MatStockAlmacen: MatStockPersonalType$1[];
385
+ }
386
+ interface MatStockPersonalType$1 {
387
+ ID_StockPersonal: number;
388
+ Cantidad: number;
389
+ }
390
+ interface MatUtilizadosType$1 {
391
+ Codigo: string;
392
+ Cantidad: number;
393
+ }
394
+ interface MoUoType$1 {
395
+ LineaCodigoCub: string;
396
+ Cantidad: number;
397
+ CantidadUO: number;
398
+ }
399
+ interface TrabajoType$1 {
400
+ ID_Trabajo: number;
401
+ Ultima_PreLiquidacion: PreLiquidacionType$1;
402
+ }
403
+ interface PreLiquidacionType$1 {
404
+ Valorizacion: ValorizacionType$1[];
405
+ }
406
+ interface ValorizacionType$1 {
407
+ }
408
+
409
+ declare const ActualizarDataResumenLiquidacionesColombia: Funcion$2;
410
+ interface Funcion$2 {
411
+ (ManoObra: any, Reserva: any, StockPersonal: any[], ResumenPreLiquidado: ResumenLiquidacionesTypeColombia): void;
412
+ }
413
+
375
414
  declare const CalcularResumenLiquidaciones: Funcion$1;
376
415
  interface Funcion$1 {
377
416
  (trabajo: TrabajoType, trabajos: any[]): ResumenLiquidacionesTypeChile;
@@ -384,7 +423,10 @@ interface ResumenLiquidacionesTypeChile {
384
423
  MatStockAlmacen: MatStockPersonalType[];
385
424
  }
386
425
  interface MatStockPersonalType {
387
- ID_StockPersonal: number;
426
+ ID_Trabajo: number;
427
+ Identificacion: string;
428
+ Codigo: string;
429
+ CodigoLlave: string;
388
430
  Cantidad: number;
389
431
  }
390
432
  interface MatUtilizadosType {
@@ -491,6 +533,50 @@ declare const getNextID_Amap: (Valorizacion: Pick<ValorizacionManoObraDTO, "ID_A
491
533
 
492
534
  declare const getNextID_AsignacionValorizacion: (Valorizaciones: Pick<ValorizacionesDTO, "ID_AsignacionValorizacion">[]) => number;
493
535
 
536
+ type typeMO$1 = Pick<DetalleChileValorizacionMODTO, 'ManoObra' | 'Especialidad' | 'Actividad' | 'UnidadObra' | 'Clave' | 'LineaCodigoCub' | 'Linea'>;
537
+ declare function buildKeyMO(mo: typeMO$1): string;
538
+
539
+ type typeMO = Pick<DetalleChileValorizacionMODTO, "ManoObra" | "Especialidad" | "Actividad" | "UnidadObra" | "Clave" | "LineaCodigoCub" | "Linea">;
540
+ type typeTrabajos = Pick<TrabajoENTITY, "Ultima_asignacion">;
541
+ type MOKeyTotals = {
542
+ cantidadMO: number;
543
+ cantidadUO: number;
544
+ };
545
+ /**
546
+ * Helper para optimizar cálculos de Mano de Obra (MO) asignada.
547
+ *
548
+ * Construye un índice (`Map`) de todas las valorizaciones de los trabajos
549
+ * para realizar consultas rápidas (O(1)) sin volver a recorrer todo el arreglo.
550
+ *
551
+ * ### Ejemplo de uso:
552
+ * ```ts
553
+ * // Construyes el helper una sola vez
554
+ * const helper = new ValorizacionHelper(trabajos);
555
+ *
556
+ * // Luego consultas varias veces sin recalcular
557
+ * const { cantidadMO, cantidadUO } = helper.calcularMOAsignada(mo);
558
+ * console.log(cantidadMO, cantidadUO);
559
+ * ```
560
+ */
561
+ declare class ValorizacionHelper {
562
+ private valorizacionMap;
563
+ /**
564
+ * Inicializa el helper y construye el índice de valorizaciones.
565
+ * @param trabajos Lista de trabajos con valorizaciones
566
+ */
567
+ constructor(trabajos: typeTrabajos[]);
568
+ /**
569
+ * Construye el índice de valorizaciones (clave → totales MO/UO)
570
+ */
571
+ private buildValorizacionMap;
572
+ /**
573
+ * Calcula la cantidad de MO y UO asignadas a una MO específica.
574
+ * @param mo Objeto de Mano de Obra
575
+ * @returns Totales de MO y UO
576
+ */
577
+ calcularMOAsignada(mo: typeMO): MOKeyTotals;
578
+ }
579
+
494
580
  declare enum Position {
495
581
  left = "left",
496
582
  right = "right"
@@ -571,4 +657,4 @@ declare function formatCurrencyV1(num: number, maximumFractionDigits?: number, s
571
657
 
572
658
  declare function formatPercentageV1(num: number, maximumFractionDigits?: number): string;
573
659
 
574
- export { ActualizarDataManoObra, ActualizarDataReserva, ActualizarDataResumenLiquidaciones, ActualizarDataResumenValorizacionesAlemania, ActualizarDataTrabajos, BuscarZonaContratista, CalcularResumenHPMOLiquidado, CalcularResumenLiquidaciones, CalcularResumenValorizacionesAlemania, CodigosMaterialDuctosAL02, CodigosMaterialDuctosAL04, CodigosMaterialSoplado, CodsMapeoMOMaterial, CodsMapeoMOMaterialNVT01, CodsMapeoMOMaterialSopladoClientes, CodsMapeoMOMaterialSopladoTroncal, CodsMapeoMO_Material_Arquertas, CompararFechas, CurrencyFormat, DocumentacionReplanteo, EstadoEspecialidad9612, GemeindeChangeNomenclatura, GetCodigoFechaActual, type IDPContrato, type IDocumentacion, type IMOAndMaterialsRules, type IMORules, type IMateriales, MOCantidadNVT01, MOHijasAL04, MOHijasDEPTH, MapeoEspecialidades9612, MapeoMOBOMAL04, MapeoMatBOMAL04, type MatRetiradosType, type MatStockAlmacenType, type MatStockPersonalType$1 as MatStockPersonalType, type MatUtilizadosType$1 as MatUtilizadosType, type MoUoType$1 as MoUoType, ModelDataFlujosDocumentacionReplanteo, ObtenerMONoReservada, ObtenerPrecioContratistaVigente, ObtenerZonaAsignada, type ResumenLiquidacionesType, type ResumenLiquidacionesTypeChile, SEGMENT_TY, type TARGET, UpdateNodosDocDP, buildDataMOFromMaterialRules, buildDataMaterialsRule, buildTenantCollectionName, checkAndBuildMaterialsFromStock, checkMaterialAvailability, codBalizaAL04, codClientes, codMOClientesAL02, codMOClientesAL02Asfaltado, codMOClientesAL02OC, codMOClientesAL02Soplado, codMOClientes_ReglaLiquidacion1, codMODROPAL04, codMODROPAL04OC, codMODROPAL04Soplado, codMOFTTFAL04, codMONoClientesAL02, codMONoClientesAL02Asfaltado, codMONoClientesAL02OC, codMONoClientesAL02Soplado, codMONoClientes_ReglaLiquidacion1, codMOOcultosAL04, codMOPublico, codMOTroncalAL02, codMOTroncalAL02Asfaltado, codMOTroncalAL02OC, codMOTroncalAL02Soplado, codMOTroncalAL04, codMOTroncalAL04Asfaltado, codMOTroncalAL04Issue, codMOTroncalAL04OC, codMOTroncalAL04Soplado, codMOTroncal_ReglaLiquidacion1, codNoCliente, codSopladoRD, codigosMOT1_F2, codigosMaterialDuctos, codigosMaterialUGG, consumirStockPersonal, convertDates, dataFlujosHomePass, empresas, esCadenaFechaISOValida, esObjetoFecha, formatCurrencyV1, formatNumberSmart, formatPercentageV1, generateUniqueNumber, generateUniqueNumberArray, getChannelName, getContainerName, getDateInTimeZone, getKeyRedisSortedSet, getModelDataAdicional, getNextID_Amap, getNextID_AsignacionValorizacion, getNextID_Valorizacion, getPrecioContratista, getQueueName, getQueueNameSaveOneNotification, isValidDate, isValidPartialEntity, logTiempoProceso, mapaDPContratoPrecioFullAL02, mapaEstadoObraFaseAL02, mapaMOMaterialAL02, mapaMOMaterialAL04, mapaReglaSopladoClientes, mapaReglaSopladoTroncal, newCodMOTroncalReglaLiquidacion1, obtenerDocumentacionClientes, obtenerDocumentacionNoClientes, obtenerPrecioContratistaMaterial, obtenerPrecioManoObraAL02, obtenerPrecioManoObraAL04, obtenerTipoYCodigoMO, paisMap, searchCurrentContractorSpecialtyPrice, setContext, updatePriceContractorMOAL02, updatePriceContractorMOAL04, updatePriceMOAL02, updatePriceMOAL04, validateNoLookup };
660
+ export { ActualizarDataManoObra, ActualizarDataReserva, ActualizarDataResumenLiquidaciones, ActualizarDataResumenLiquidacionesColombia, ActualizarDataResumenValorizacionesAlemania, ActualizarDataTrabajos, BuscarZonaContratista, CalcularResumenHPMOLiquidado, CalcularResumenLiquidaciones, CalcularResumenLiquidacionesColombia, CalcularResumenValorizacionesAlemania, CodigosMaterialDuctosAL02, CodigosMaterialDuctosAL04, CodigosMaterialSoplado, CodsMapeoMOMaterial, CodsMapeoMOMaterialNVT01, CodsMapeoMOMaterialSopladoClientes, CodsMapeoMOMaterialSopladoTroncal, CodsMapeoMO_Material_Arquertas, CompararFechas, CurrencyFormat, DocumentacionReplanteo, EstadoEspecialidad9612, GemeindeChangeNomenclatura, GetCodigoFechaActual, type IDPContrato, type IDocumentacion, type IMOAndMaterialsRules, type IMORules, type IMateriales, MOCantidadNVT01, MOHijasAL04, MOHijasDEPTH, MapeoEspecialidades9612, MapeoMOBOMAL04, MapeoMatBOMAL04, type MatRetiradosType, type MatStockAlmacenType, type MatStockPersonalType$2 as MatStockPersonalType, type MatUtilizadosType$2 as MatUtilizadosType, type MoUoType$2 as MoUoType, ModelDataFlujosDocumentacionReplanteo, ObtenerMONoReservada, ObtenerPrecioContratistaVigente, ObtenerZonaAsignada, type ResumenLiquidacionesType, type ResumenLiquidacionesTypeChile, type ResumenLiquidacionesTypeColombia, SEGMENT_TY, type TARGET, UpdateNodosDocDP, ValorizacionHelper, buildDataMOFromMaterialRules, buildDataMaterialsRule, buildKeyMO, buildTenantCollectionName, checkAndBuildMaterialsFromStock, checkMaterialAvailability, codBalizaAL04, codClientes, codMOClientesAL02, codMOClientesAL02Asfaltado, codMOClientesAL02OC, codMOClientesAL02Soplado, codMOClientes_ReglaLiquidacion1, codMODROPAL04, codMODROPAL04OC, codMODROPAL04Soplado, codMOFTTFAL04, codMONoClientesAL02, codMONoClientesAL02Asfaltado, codMONoClientesAL02OC, codMONoClientesAL02Soplado, codMONoClientes_ReglaLiquidacion1, codMOOcultosAL04, codMOPublico, codMOTroncalAL02, codMOTroncalAL02Asfaltado, codMOTroncalAL02OC, codMOTroncalAL02Soplado, codMOTroncalAL04, codMOTroncalAL04Asfaltado, codMOTroncalAL04Issue, codMOTroncalAL04OC, codMOTroncalAL04Soplado, codMOTroncal_ReglaLiquidacion1, codNoCliente, codSopladoRD, codigosMOT1_F2, codigosMaterialDuctos, codigosMaterialUGG, consumirStockPersonal, convertDates, dataFlujosHomePass, empresas, esCadenaFechaISOValida, esObjetoFecha, formatCurrencyV1, formatNumberSmart, formatPercentageV1, generateUniqueNumber, generateUniqueNumberArray, getChannelName, getContainerName, getDateInTimeZone, getKeyRedisSortedSet, getModelDataAdicional, getNextID_Amap, getNextID_AsignacionValorizacion, getNextID_Valorizacion, getPrecioContratista, getQueueName, getQueueNameSaveOneNotification, isValidDate, isValidPartialEntity, logTiempoProceso, mapaDPContratoPrecioFullAL02, mapaEstadoObraFaseAL02, mapaMOMaterialAL02, mapaMOMaterialAL04, mapaReglaSopladoClientes, mapaReglaSopladoTroncal, newCodMOTroncalReglaLiquidacion1, obtenerDocumentacionClientes, obtenerDocumentacionNoClientes, obtenerPrecioContratistaMaterial, obtenerPrecioManoObraAL02, obtenerPrecioManoObraAL04, obtenerTipoYCodigoMO, paisMap, searchCurrentContractorSpecialtyPrice, setContext, updatePriceContractorMOAL02, updatePriceContractorMOAL04, updatePriceMOAL02, updatePriceMOAL04, validateNoLookup };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as sigo_entities from 'sigo-entities';
2
- import { ManoObraENTITY, ReservaENTITY, ItemDetalleLogisticaDTO, HomePassDTO, FlujoDocDTO, NodoDocDTO, DocumentacionPEXENTITY, ManoObraGlobalENTITY, PrecioEspecialidadENTITY, ObraChile9512ENTITY, TrabajoAlemaniaENTITY, ValorizacionManoObraDTO, ValorizacionAlemaniaDTO, PrecioContratistaMOAL02ENTITY, ValorizacionDTO, PrecioContratistaMOAL04ENTITY, StockPersonalENTITY, StockAlmacenENTITY, ConsumoMaterialAlemaniaENTITY, ValorizacionesDTO, PrecioContratistaMaterialENTITY, TrabajoENTITY, ActividadesDTO, PreciosVigentesDTO, ContratoOTENTITY } from 'sigo-entities';
2
+ import { ManoObraENTITY, ReservaENTITY, ItemDetalleLogisticaDTO, HomePassDTO, FlujoDocDTO, NodoDocDTO, DocumentacionPEXENTITY, ManoObraGlobalENTITY, PrecioEspecialidadENTITY, ObraChile9512ENTITY, TrabajoAlemaniaENTITY, ValorizacionManoObraDTO, ValorizacionAlemaniaDTO, PrecioContratistaMOAL02ENTITY, ValorizacionDTO, PrecioContratistaMOAL04ENTITY, StockPersonalENTITY, StockAlmacenENTITY, ConsumoMaterialAlemaniaENTITY, ValorizacionesDTO, PrecioContratistaMaterialENTITY, TrabajoENTITY, ActividadesDTO, PreciosVigentesDTO, ContratoOTENTITY, DetalleChileValorizacionMODTO } from 'sigo-entities';
3
3
 
4
4
  interface IenvSIGO$1 {
5
5
  SISTEMAS_VALORIZACION_MANO_OBRA: string[];
@@ -239,18 +239,18 @@ interface IDocumentacion {
239
239
  }
240
240
  declare const UpdateNodosDocDP: <T extends IDocumentacion>({ documentacion, obra, trabajo }: params$1<T>) => T;
241
241
 
242
- declare const CalcularResumenValorizacionesAlemania: Funcion$3;
243
- interface Funcion$3 {
244
- (trabajo: TrabajoType$1, trabajos: any[]): ResumenLiquidacionesType;
242
+ declare const CalcularResumenValorizacionesAlemania: Funcion$5;
243
+ interface Funcion$5 {
244
+ (trabajo: TrabajoType$2, trabajos: any[]): ResumenLiquidacionesType;
245
245
  }
246
246
  interface ResumenLiquidacionesType {
247
- MoUo: MoUoType$1[];
248
- MatUtilizados: MatUtilizadosType$1[];
247
+ MoUo: MoUoType$2[];
248
+ MatUtilizados: MatUtilizadosType$2[];
249
249
  MatRetirados: MatRetiradosType[];
250
- MatStockPersonal: MatStockPersonalType$1[];
250
+ MatStockPersonal: MatStockPersonalType$2[];
251
251
  MatStockAlmacen: MatStockAlmacenType[];
252
252
  }
253
- interface MatStockPersonalType$1 {
253
+ interface MatStockPersonalType$2 {
254
254
  ID_Trabajo: number;
255
255
  Identificacion: string;
256
256
  Codigo: string;
@@ -268,27 +268,27 @@ interface MatRetiradosType {
268
268
  Codigo: string;
269
269
  Cantidad: number;
270
270
  }
271
- interface MatUtilizadosType$1 {
271
+ interface MatUtilizadosType$2 {
272
272
  Codigo: string;
273
273
  Cantidad: number;
274
274
  }
275
- interface MoUoType$1 {
275
+ interface MoUoType$2 {
276
276
  LineaCodigoCub: string;
277
277
  Cantidad: number;
278
278
  CantidadUO: number;
279
279
  }
280
- interface TrabajoType$1 {
280
+ interface TrabajoType$2 {
281
281
  ID_Trabajo: number;
282
- Ultima_PreLiquidacion: PreLiquidacionType$1;
282
+ Ultima_PreLiquidacion: PreLiquidacionType$2;
283
283
  }
284
- interface PreLiquidacionType$1 {
285
- Valorizacion: ValorizacionType$1[];
284
+ interface PreLiquidacionType$2 {
285
+ Valorizacion: ValorizacionType$2[];
286
286
  }
287
- interface ValorizacionType$1 {
287
+ interface ValorizacionType$2 {
288
288
  }
289
289
 
290
- declare const ActualizarDataResumenValorizacionesAlemania: Funcion$2;
291
- interface Funcion$2 {
290
+ declare const ActualizarDataResumenValorizacionesAlemania: Funcion$4;
291
+ interface Funcion$4 {
292
292
  (ManoObra: any, Reserva: any, StockPersonal: any[], ResumenPreLiquidado: ResumenLiquidacionesType): void;
293
293
  }
294
294
 
@@ -372,6 +372,45 @@ declare function buildDataMOFromMaterialRules(key: string, ManoObra: IMOAndMater
372
372
 
373
373
  declare function obtenerPrecioContratistaMaterial(Codigo: string, priceContractorMaterial: Pick<PrecioContratistaMaterialENTITY, 'Materiales' | 'Empresa'>): number;
374
374
 
375
+ declare const CalcularResumenLiquidacionesColombia: Funcion$3;
376
+ interface Funcion$3 {
377
+ (trabajo: TrabajoType$1, trabajos: any[]): ResumenLiquidacionesTypeColombia;
378
+ }
379
+ interface ResumenLiquidacionesTypeColombia {
380
+ MoUo: MoUoType$1[];
381
+ MatUtilizados: MatUtilizadosType$1[];
382
+ MatRetirados: MatRetiradosType[];
383
+ MatStockPersonal: MatStockPersonalType$1[];
384
+ MatStockAlmacen: MatStockPersonalType$1[];
385
+ }
386
+ interface MatStockPersonalType$1 {
387
+ ID_StockPersonal: number;
388
+ Cantidad: number;
389
+ }
390
+ interface MatUtilizadosType$1 {
391
+ Codigo: string;
392
+ Cantidad: number;
393
+ }
394
+ interface MoUoType$1 {
395
+ LineaCodigoCub: string;
396
+ Cantidad: number;
397
+ CantidadUO: number;
398
+ }
399
+ interface TrabajoType$1 {
400
+ ID_Trabajo: number;
401
+ Ultima_PreLiquidacion: PreLiquidacionType$1;
402
+ }
403
+ interface PreLiquidacionType$1 {
404
+ Valorizacion: ValorizacionType$1[];
405
+ }
406
+ interface ValorizacionType$1 {
407
+ }
408
+
409
+ declare const ActualizarDataResumenLiquidacionesColombia: Funcion$2;
410
+ interface Funcion$2 {
411
+ (ManoObra: any, Reserva: any, StockPersonal: any[], ResumenPreLiquidado: ResumenLiquidacionesTypeColombia): void;
412
+ }
413
+
375
414
  declare const CalcularResumenLiquidaciones: Funcion$1;
376
415
  interface Funcion$1 {
377
416
  (trabajo: TrabajoType, trabajos: any[]): ResumenLiquidacionesTypeChile;
@@ -384,7 +423,10 @@ interface ResumenLiquidacionesTypeChile {
384
423
  MatStockAlmacen: MatStockPersonalType[];
385
424
  }
386
425
  interface MatStockPersonalType {
387
- ID_StockPersonal: number;
426
+ ID_Trabajo: number;
427
+ Identificacion: string;
428
+ Codigo: string;
429
+ CodigoLlave: string;
388
430
  Cantidad: number;
389
431
  }
390
432
  interface MatUtilizadosType {
@@ -491,6 +533,50 @@ declare const getNextID_Amap: (Valorizacion: Pick<ValorizacionManoObraDTO, "ID_A
491
533
 
492
534
  declare const getNextID_AsignacionValorizacion: (Valorizaciones: Pick<ValorizacionesDTO, "ID_AsignacionValorizacion">[]) => number;
493
535
 
536
+ type typeMO$1 = Pick<DetalleChileValorizacionMODTO, 'ManoObra' | 'Especialidad' | 'Actividad' | 'UnidadObra' | 'Clave' | 'LineaCodigoCub' | 'Linea'>;
537
+ declare function buildKeyMO(mo: typeMO$1): string;
538
+
539
+ type typeMO = Pick<DetalleChileValorizacionMODTO, "ManoObra" | "Especialidad" | "Actividad" | "UnidadObra" | "Clave" | "LineaCodigoCub" | "Linea">;
540
+ type typeTrabajos = Pick<TrabajoENTITY, "Ultima_asignacion">;
541
+ type MOKeyTotals = {
542
+ cantidadMO: number;
543
+ cantidadUO: number;
544
+ };
545
+ /**
546
+ * Helper para optimizar cálculos de Mano de Obra (MO) asignada.
547
+ *
548
+ * Construye un índice (`Map`) de todas las valorizaciones de los trabajos
549
+ * para realizar consultas rápidas (O(1)) sin volver a recorrer todo el arreglo.
550
+ *
551
+ * ### Ejemplo de uso:
552
+ * ```ts
553
+ * // Construyes el helper una sola vez
554
+ * const helper = new ValorizacionHelper(trabajos);
555
+ *
556
+ * // Luego consultas varias veces sin recalcular
557
+ * const { cantidadMO, cantidadUO } = helper.calcularMOAsignada(mo);
558
+ * console.log(cantidadMO, cantidadUO);
559
+ * ```
560
+ */
561
+ declare class ValorizacionHelper {
562
+ private valorizacionMap;
563
+ /**
564
+ * Inicializa el helper y construye el índice de valorizaciones.
565
+ * @param trabajos Lista de trabajos con valorizaciones
566
+ */
567
+ constructor(trabajos: typeTrabajos[]);
568
+ /**
569
+ * Construye el índice de valorizaciones (clave → totales MO/UO)
570
+ */
571
+ private buildValorizacionMap;
572
+ /**
573
+ * Calcula la cantidad de MO y UO asignadas a una MO específica.
574
+ * @param mo Objeto de Mano de Obra
575
+ * @returns Totales de MO y UO
576
+ */
577
+ calcularMOAsignada(mo: typeMO): MOKeyTotals;
578
+ }
579
+
494
580
  declare enum Position {
495
581
  left = "left",
496
582
  right = "right"
@@ -571,4 +657,4 @@ declare function formatCurrencyV1(num: number, maximumFractionDigits?: number, s
571
657
 
572
658
  declare function formatPercentageV1(num: number, maximumFractionDigits?: number): string;
573
659
 
574
- export { ActualizarDataManoObra, ActualizarDataReserva, ActualizarDataResumenLiquidaciones, ActualizarDataResumenValorizacionesAlemania, ActualizarDataTrabajos, BuscarZonaContratista, CalcularResumenHPMOLiquidado, CalcularResumenLiquidaciones, CalcularResumenValorizacionesAlemania, CodigosMaterialDuctosAL02, CodigosMaterialDuctosAL04, CodigosMaterialSoplado, CodsMapeoMOMaterial, CodsMapeoMOMaterialNVT01, CodsMapeoMOMaterialSopladoClientes, CodsMapeoMOMaterialSopladoTroncal, CodsMapeoMO_Material_Arquertas, CompararFechas, CurrencyFormat, DocumentacionReplanteo, EstadoEspecialidad9612, GemeindeChangeNomenclatura, GetCodigoFechaActual, type IDPContrato, type IDocumentacion, type IMOAndMaterialsRules, type IMORules, type IMateriales, MOCantidadNVT01, MOHijasAL04, MOHijasDEPTH, MapeoEspecialidades9612, MapeoMOBOMAL04, MapeoMatBOMAL04, type MatRetiradosType, type MatStockAlmacenType, type MatStockPersonalType$1 as MatStockPersonalType, type MatUtilizadosType$1 as MatUtilizadosType, type MoUoType$1 as MoUoType, ModelDataFlujosDocumentacionReplanteo, ObtenerMONoReservada, ObtenerPrecioContratistaVigente, ObtenerZonaAsignada, type ResumenLiquidacionesType, type ResumenLiquidacionesTypeChile, SEGMENT_TY, type TARGET, UpdateNodosDocDP, buildDataMOFromMaterialRules, buildDataMaterialsRule, buildTenantCollectionName, checkAndBuildMaterialsFromStock, checkMaterialAvailability, codBalizaAL04, codClientes, codMOClientesAL02, codMOClientesAL02Asfaltado, codMOClientesAL02OC, codMOClientesAL02Soplado, codMOClientes_ReglaLiquidacion1, codMODROPAL04, codMODROPAL04OC, codMODROPAL04Soplado, codMOFTTFAL04, codMONoClientesAL02, codMONoClientesAL02Asfaltado, codMONoClientesAL02OC, codMONoClientesAL02Soplado, codMONoClientes_ReglaLiquidacion1, codMOOcultosAL04, codMOPublico, codMOTroncalAL02, codMOTroncalAL02Asfaltado, codMOTroncalAL02OC, codMOTroncalAL02Soplado, codMOTroncalAL04, codMOTroncalAL04Asfaltado, codMOTroncalAL04Issue, codMOTroncalAL04OC, codMOTroncalAL04Soplado, codMOTroncal_ReglaLiquidacion1, codNoCliente, codSopladoRD, codigosMOT1_F2, codigosMaterialDuctos, codigosMaterialUGG, consumirStockPersonal, convertDates, dataFlujosHomePass, empresas, esCadenaFechaISOValida, esObjetoFecha, formatCurrencyV1, formatNumberSmart, formatPercentageV1, generateUniqueNumber, generateUniqueNumberArray, getChannelName, getContainerName, getDateInTimeZone, getKeyRedisSortedSet, getModelDataAdicional, getNextID_Amap, getNextID_AsignacionValorizacion, getNextID_Valorizacion, getPrecioContratista, getQueueName, getQueueNameSaveOneNotification, isValidDate, isValidPartialEntity, logTiempoProceso, mapaDPContratoPrecioFullAL02, mapaEstadoObraFaseAL02, mapaMOMaterialAL02, mapaMOMaterialAL04, mapaReglaSopladoClientes, mapaReglaSopladoTroncal, newCodMOTroncalReglaLiquidacion1, obtenerDocumentacionClientes, obtenerDocumentacionNoClientes, obtenerPrecioContratistaMaterial, obtenerPrecioManoObraAL02, obtenerPrecioManoObraAL04, obtenerTipoYCodigoMO, paisMap, searchCurrentContractorSpecialtyPrice, setContext, updatePriceContractorMOAL02, updatePriceContractorMOAL04, updatePriceMOAL02, updatePriceMOAL04, validateNoLookup };
660
+ export { ActualizarDataManoObra, ActualizarDataReserva, ActualizarDataResumenLiquidaciones, ActualizarDataResumenLiquidacionesColombia, ActualizarDataResumenValorizacionesAlemania, ActualizarDataTrabajos, BuscarZonaContratista, CalcularResumenHPMOLiquidado, CalcularResumenLiquidaciones, CalcularResumenLiquidacionesColombia, CalcularResumenValorizacionesAlemania, CodigosMaterialDuctosAL02, CodigosMaterialDuctosAL04, CodigosMaterialSoplado, CodsMapeoMOMaterial, CodsMapeoMOMaterialNVT01, CodsMapeoMOMaterialSopladoClientes, CodsMapeoMOMaterialSopladoTroncal, CodsMapeoMO_Material_Arquertas, CompararFechas, CurrencyFormat, DocumentacionReplanteo, EstadoEspecialidad9612, GemeindeChangeNomenclatura, GetCodigoFechaActual, type IDPContrato, type IDocumentacion, type IMOAndMaterialsRules, type IMORules, type IMateriales, MOCantidadNVT01, MOHijasAL04, MOHijasDEPTH, MapeoEspecialidades9612, MapeoMOBOMAL04, MapeoMatBOMAL04, type MatRetiradosType, type MatStockAlmacenType, type MatStockPersonalType$2 as MatStockPersonalType, type MatUtilizadosType$2 as MatUtilizadosType, type MoUoType$2 as MoUoType, ModelDataFlujosDocumentacionReplanteo, ObtenerMONoReservada, ObtenerPrecioContratistaVigente, ObtenerZonaAsignada, type ResumenLiquidacionesType, type ResumenLiquidacionesTypeChile, type ResumenLiquidacionesTypeColombia, SEGMENT_TY, type TARGET, UpdateNodosDocDP, ValorizacionHelper, buildDataMOFromMaterialRules, buildDataMaterialsRule, buildKeyMO, buildTenantCollectionName, checkAndBuildMaterialsFromStock, checkMaterialAvailability, codBalizaAL04, codClientes, codMOClientesAL02, codMOClientesAL02Asfaltado, codMOClientesAL02OC, codMOClientesAL02Soplado, codMOClientes_ReglaLiquidacion1, codMODROPAL04, codMODROPAL04OC, codMODROPAL04Soplado, codMOFTTFAL04, codMONoClientesAL02, codMONoClientesAL02Asfaltado, codMONoClientesAL02OC, codMONoClientesAL02Soplado, codMONoClientes_ReglaLiquidacion1, codMOOcultosAL04, codMOPublico, codMOTroncalAL02, codMOTroncalAL02Asfaltado, codMOTroncalAL02OC, codMOTroncalAL02Soplado, codMOTroncalAL04, codMOTroncalAL04Asfaltado, codMOTroncalAL04Issue, codMOTroncalAL04OC, codMOTroncalAL04Soplado, codMOTroncal_ReglaLiquidacion1, codNoCliente, codSopladoRD, codigosMOT1_F2, codigosMaterialDuctos, codigosMaterialUGG, consumirStockPersonal, convertDates, dataFlujosHomePass, empresas, esCadenaFechaISOValida, esObjetoFecha, formatCurrencyV1, formatNumberSmart, formatPercentageV1, generateUniqueNumber, generateUniqueNumberArray, getChannelName, getContainerName, getDateInTimeZone, getKeyRedisSortedSet, getModelDataAdicional, getNextID_Amap, getNextID_AsignacionValorizacion, getNextID_Valorizacion, getPrecioContratista, getQueueName, getQueueNameSaveOneNotification, isValidDate, isValidPartialEntity, logTiempoProceso, mapaDPContratoPrecioFullAL02, mapaEstadoObraFaseAL02, mapaMOMaterialAL02, mapaMOMaterialAL04, mapaReglaSopladoClientes, mapaReglaSopladoTroncal, newCodMOTroncalReglaLiquidacion1, obtenerDocumentacionClientes, obtenerDocumentacionNoClientes, obtenerPrecioContratistaMaterial, obtenerPrecioManoObraAL02, obtenerPrecioManoObraAL04, obtenerTipoYCodigoMO, paisMap, searchCurrentContractorSpecialtyPrice, setContext, updatePriceContractorMOAL02, updatePriceContractorMOAL04, updatePriceMOAL02, updatePriceMOAL04, validateNoLookup };
package/dist/index.js CHANGED
@@ -26,11 +26,13 @@ __export(index_exports, {
26
26
  ActualizarDataManoObra: () => ActualizarDataManoObra,
27
27
  ActualizarDataReserva: () => ActualizarDataReserva,
28
28
  ActualizarDataResumenLiquidaciones: () => ActualizarDataResumenLiquidaciones,
29
+ ActualizarDataResumenLiquidacionesColombia: () => ActualizarDataResumenLiquidacionesColombia,
29
30
  ActualizarDataResumenValorizacionesAlemania: () => ActualizarDataResumenValorizacionesAlemania,
30
31
  ActualizarDataTrabajos: () => ActualizarDataTrabajos,
31
32
  BuscarZonaContratista: () => BuscarZonaContratista,
32
33
  CalcularResumenHPMOLiquidado: () => CalcularResumenHPMOLiquidado,
33
34
  CalcularResumenLiquidaciones: () => CalcularResumenLiquidaciones,
35
+ CalcularResumenLiquidacionesColombia: () => CalcularResumenLiquidacionesColombia,
34
36
  CalcularResumenValorizacionesAlemania: () => CalcularResumenValorizacionesAlemania,
35
37
  CodigosMaterialDuctosAL02: () => CodigosMaterialDuctosAL02,
36
38
  CodigosMaterialDuctosAL04: () => CodigosMaterialDuctosAL04,
@@ -58,8 +60,10 @@ __export(index_exports, {
58
60
  ObtenerZonaAsignada: () => ObtenerZonaAsignada,
59
61
  SEGMENT_TY: () => SEGMENT_TY,
60
62
  UpdateNodosDocDP: () => UpdateNodosDocDP,
63
+ ValorizacionHelper: () => ValorizacionHelper,
61
64
  buildDataMOFromMaterialRules: () => buildDataMOFromMaterialRules,
62
65
  buildDataMaterialsRule: () => buildDataMaterialsRule,
66
+ buildKeyMO: () => buildKeyMO,
63
67
  buildTenantCollectionName: () => buildTenantCollectionName,
64
68
  checkAndBuildMaterialsFromStock: () => checkAndBuildMaterialsFromStock,
65
69
  checkMaterialAvailability: () => checkMaterialAvailability,
@@ -181,8 +185,8 @@ var ActualizarDataReserva = /* @__PURE__ */ __name((reserva) => {
181
185
  }
182
186
  }, "ActualizarDataReserva");
183
187
 
184
- // src/Programados/ActualizarDataResumenLiquidaciones.ts
185
- var ActualizarDataResumenLiquidaciones = /* @__PURE__ */ __name((ManoObra, Reserva, StockPersonal, ResumenPreLiquidado) => {
188
+ // src/Programados/ActualizarDataResumenLiquidacionesColombia.ts
189
+ var ActualizarDataResumenLiquidacionesColombia = /* @__PURE__ */ __name((ManoObra, Reserva, StockPersonal, ResumenPreLiquidado) => {
186
190
  if (ManoObra && ManoObra.Valorizacion && Array.isArray(ManoObra.Valorizacion)) {
187
191
  for (const valorizacion of ManoObra.Valorizacion) {
188
192
  valorizacion.CantidadUsado = 0;
@@ -209,6 +213,39 @@ var ActualizarDataResumenLiquidaciones = /* @__PURE__ */ __name((ManoObra, Reser
209
213
  }
210
214
  }
211
215
  }
216
+ }, "ActualizarDataResumenLiquidacionesColombia");
217
+
218
+ // src/Programados/ActualizarDataResumenLiquidaciones.ts
219
+ var ActualizarDataResumenLiquidaciones = /* @__PURE__ */ __name((ManoObra, Reserva, StockPersonal, ResumenPreLiquidado) => {
220
+ if (ManoObra && ManoObra.Valorizacion && Array.isArray(ManoObra.Valorizacion)) {
221
+ for (const valorizacion of ManoObra.Valorizacion) {
222
+ valorizacion.CantidadUsado = 0;
223
+ const val = ResumenPreLiquidado.MoUo.find((e) => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);
224
+ if (val) valorizacion.CantidadUsado = val.Cantidad;
225
+ }
226
+ }
227
+ if (Reserva && Reserva.Item && Array.isArray(Reserva.Item)) {
228
+ for (const item of Reserva.Item) {
229
+ item.CantidadUsados = 0;
230
+ const itemAUX = ResumenPreLiquidado.MatUtilizados.find((e) => e.Codigo === item.Codigo);
231
+ if (itemAUX) item.CantidadUsados = itemAUX.Cantidad;
232
+ }
233
+ }
234
+ if (StockPersonal && Array.isArray(StockPersonal)) {
235
+ for (const stockPersonal of StockPersonal) {
236
+ stockPersonal.Liquidacion = 0;
237
+ const stock = ResumenPreLiquidado.MatStockPersonal.find((e) => e.ID_Trabajo === stockPersonal.ID_Trabajo && e.Identificacion === stockPersonal.Personal.Identificacion && e.Codigo === stockPersonal.Reserva);
238
+ if (stock) {
239
+ if (stock.Cantidad > stockPersonal.Despacho) {
240
+ stockPersonal.Liquidacion = stockPersonal.Despacho;
241
+ stock.Cantidad = stock.Cantidad - stockPersonal.Despacho;
242
+ } else {
243
+ stockPersonal.Liquidacion = stock.Cantidad;
244
+ stock.Cantidad = 0;
245
+ }
246
+ }
247
+ }
248
+ }
212
249
  }, "ActualizarDataResumenLiquidaciones");
213
250
 
214
251
  // src/Programados/ActualizarDataTrabajos.ts
@@ -14803,8 +14840,8 @@ function BuscarZonaContratista(EmpresaContratistaEnPrecioEspecialidad, Obra, Zon
14803
14840
  }
14804
14841
  __name(BuscarZonaContratista, "BuscarZonaContratista");
14805
14842
 
14806
- // src/Programados/CalcularResumenLiquidaciones.ts
14807
- var CalcularResumenLiquidaciones = /* @__PURE__ */ __name((trabajo, trabajos) => {
14843
+ // src/Programados/CalcularResumenLiquidacionesColombia.ts
14844
+ var CalcularResumenLiquidacionesColombia = /* @__PURE__ */ __name((trabajo, trabajos) => {
14808
14845
  let MoUo = [];
14809
14846
  let MatUtilizados = [];
14810
14847
  let MatRetirados = [];
@@ -14845,9 +14882,6 @@ var CalcularResumenLiquidaciones = /* @__PURE__ */ __name((trabajo, trabajos) =>
14845
14882
  if (matStockPersonal) matStockPersonal.Cantidad += mu.Cantidad;
14846
14883
  else MatStockPersonal.push({
14847
14884
  ID_StockPersonal: mu.ID_StockPersonal,
14848
- // Identificacion: trabajoDB.Ultima_asignacion.Personal[0].Identificacion,
14849
- // CodigoLlave: mu.CodigoLlave,
14850
- // Codigo: mu.Codigo,
14851
14885
  Cantidad: mu.Cantidad
14852
14886
  });
14853
14887
  }
@@ -14871,6 +14905,74 @@ var CalcularResumenLiquidaciones = /* @__PURE__ */ __name((trabajo, trabajos) =>
14871
14905
  MatStockPersonal,
14872
14906
  MatStockAlmacen
14873
14907
  };
14908
+ }, "CalcularResumenLiquidacionesColombia");
14909
+
14910
+ // src/Programados/CalcularResumenLiquidaciones.ts
14911
+ var CalcularResumenLiquidaciones = /* @__PURE__ */ __name((trabajo, trabajos) => {
14912
+ let MoUo = [];
14913
+ let MatUtilizados = [];
14914
+ let MatRetirados = [];
14915
+ let MatStockPersonal = [];
14916
+ let MatStockAlmacen = [];
14917
+ for (const trabajoDB of trabajos) {
14918
+ if (trabajoDB.ID_Trabajo === trabajo.ID_Trabajo) {
14919
+ trabajoDB.Ultima_PreLiquidacion.Valorizacion = trabajo.Ultima_PreLiquidacion.Valorizacion;
14920
+ }
14921
+ for (const valorizacion of trabajoDB.Ultima_PreLiquidacion.Valorizacion) {
14922
+ if ([
14923
+ "PRODUCCION",
14924
+ "CERTIFICADA",
14925
+ "PRELIQUIDADA",
14926
+ "LIQUIDADA"
14927
+ ].includes(valorizacion.Ultimo_Estado_Interno.Descripcion.trim())) {
14928
+ const val = MoUo.find((e) => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);
14929
+ if (val) {
14930
+ val.Cantidad += valorizacion.Cantidad;
14931
+ val.CantidadUO += valorizacion.CantidadUO;
14932
+ } else MoUo.push({
14933
+ LineaCodigoCub: valorizacion.DetalleChile.LineaCodigoCub,
14934
+ Cantidad: valorizacion.Cantidad,
14935
+ CantidadUO: valorizacion.CantidadUO
14936
+ });
14937
+ for (const mu of valorizacion.MaterialesUtilizados) {
14938
+ if (mu.Estado.ID_Estado === 1) {
14939
+ const muAux = MatUtilizados.find((e) => e.Codigo === mu.Codigo);
14940
+ if (muAux) muAux.Cantidad += mu.Cantidad;
14941
+ else MatUtilizados.push({
14942
+ Codigo: mu.Codigo,
14943
+ Cantidad: mu.Cantidad
14944
+ });
14945
+ const matStockPersonal = MatStockPersonal.find((e) => e.ID_Trabajo === trabajoDB.ID_Trabajo && e.Codigo === mu.Codigo && e.Identificacion === trabajoDB.Ultima_asignacion.Personal[0].Identificacion);
14946
+ if (matStockPersonal) matStockPersonal.Cantidad += mu.Cantidad;
14947
+ else MatStockPersonal.push({
14948
+ ID_Trabajo: trabajoDB.ID_Trabajo,
14949
+ Identificacion: trabajoDB.Ultima_asignacion.Personal[0].Identificacion,
14950
+ CodigoLlave: mu.CodigoLlave,
14951
+ Codigo: mu.Codigo,
14952
+ Cantidad: mu.Cantidad
14953
+ });
14954
+ }
14955
+ }
14956
+ for (const mr of valorizacion.MaterialesRetirados) {
14957
+ if (mr.Estado.ID_Estado === 1) {
14958
+ const muAux = MatRetirados.find((e) => e.Codigo === mr.Codigo);
14959
+ if (muAux) muAux.Cantidad += mr.Cantidad;
14960
+ else MatRetirados.push({
14961
+ Codigo: mr.Codigo,
14962
+ Cantidad: mr.Cantidad
14963
+ });
14964
+ }
14965
+ }
14966
+ }
14967
+ }
14968
+ }
14969
+ return {
14970
+ MoUo,
14971
+ MatUtilizados,
14972
+ MatRetirados,
14973
+ MatStockPersonal,
14974
+ MatStockAlmacen
14975
+ };
14874
14976
  }, "CalcularResumenLiquidaciones");
14875
14977
 
14876
14978
  // src/Programados/ObtenerZonaAsignada.ts
@@ -15395,16 +15497,71 @@ var getNextID_Amap = /* @__PURE__ */ __name((Valorizacion) => {
15395
15497
  var getNextID_AsignacionValorizacion = /* @__PURE__ */ __name((Valorizaciones) => {
15396
15498
  return Math.max(0, ...Valorizaciones.map((v) => v.ID_AsignacionValorizacion)) + 1;
15397
15499
  }, "getNextID_AsignacionValorizacion");
15500
+
15501
+ // src/Programados/buildKeyMO.ts
15502
+ function buildKeyMO(mo) {
15503
+ const { Especialidad, Actividad, ManoObra, UnidadObra, Clave, LineaCodigoCub, Linea } = mo;
15504
+ const key = `${Especialidad.Codigo}${Actividad.Codigo}${ManoObra.Codigo}${UnidadObra.Codigo}${Clave.Codigo}${LineaCodigoCub}${Linea}`;
15505
+ return key;
15506
+ }
15507
+ __name(buildKeyMO, "buildKeyMO");
15508
+
15509
+ // src/Programados/calcularMOAsignada.ts
15510
+ var _ValorizacionHelper = class _ValorizacionHelper {
15511
+ /**
15512
+ * Inicializa el helper y construye el índice de valorizaciones.
15513
+ * @param trabajos Lista de trabajos con valorizaciones
15514
+ */
15515
+ constructor(trabajos) {
15516
+ __publicField(this, "valorizacionMap");
15517
+ this.valorizacionMap = this.buildValorizacionMap(trabajos);
15518
+ }
15519
+ /**
15520
+ * Construye el índice de valorizaciones (clave → totales MO/UO)
15521
+ */
15522
+ buildValorizacionMap(trabajos) {
15523
+ const map = /* @__PURE__ */ new Map();
15524
+ for (const trabajo of trabajos) {
15525
+ for (const val of trabajo.Ultima_asignacion.Valorizaciones) {
15526
+ if (val.Estado.ID_Estado !== 1) continue;
15527
+ const key = buildKeyMO(val);
15528
+ const entry = map.get(key) ?? {
15529
+ cantidadMO: 0,
15530
+ cantidadUO: 0
15531
+ };
15532
+ entry.cantidadMO += val.CantidadMO;
15533
+ entry.cantidadUO += val.CantidadUO;
15534
+ map.set(key, entry);
15535
+ }
15536
+ }
15537
+ return map;
15538
+ }
15539
+ /**
15540
+ * Calcula la cantidad de MO y UO asignadas a una MO específica.
15541
+ * @param mo Objeto de Mano de Obra
15542
+ * @returns Totales de MO y UO
15543
+ */
15544
+ calcularMOAsignada(mo) {
15545
+ return this.valorizacionMap.get(buildKeyMO(mo)) ?? {
15546
+ cantidadMO: 0,
15547
+ cantidadUO: 0
15548
+ };
15549
+ }
15550
+ };
15551
+ __name(_ValorizacionHelper, "ValorizacionHelper");
15552
+ var ValorizacionHelper = _ValorizacionHelper;
15398
15553
  // Annotate the CommonJS export names for ESM import in node:
15399
15554
  0 && (module.exports = {
15400
15555
  ActualizarDataManoObra,
15401
15556
  ActualizarDataReserva,
15402
15557
  ActualizarDataResumenLiquidaciones,
15558
+ ActualizarDataResumenLiquidacionesColombia,
15403
15559
  ActualizarDataResumenValorizacionesAlemania,
15404
15560
  ActualizarDataTrabajos,
15405
15561
  BuscarZonaContratista,
15406
15562
  CalcularResumenHPMOLiquidado,
15407
15563
  CalcularResumenLiquidaciones,
15564
+ CalcularResumenLiquidacionesColombia,
15408
15565
  CalcularResumenValorizacionesAlemania,
15409
15566
  CodigosMaterialDuctosAL02,
15410
15567
  CodigosMaterialDuctosAL04,
@@ -15432,8 +15589,10 @@ var getNextID_AsignacionValorizacion = /* @__PURE__ */ __name((Valorizaciones) =
15432
15589
  ObtenerZonaAsignada,
15433
15590
  SEGMENT_TY,
15434
15591
  UpdateNodosDocDP,
15592
+ ValorizacionHelper,
15435
15593
  buildDataMOFromMaterialRules,
15436
15594
  buildDataMaterialsRule,
15595
+ buildKeyMO,
15437
15596
  buildTenantCollectionName,
15438
15597
  checkAndBuildMaterialsFromStock,
15439
15598
  checkMaterialAvailability,
package/dist/index.mjs CHANGED
@@ -39,8 +39,8 @@ var ActualizarDataReserva = /* @__PURE__ */ __name((reserva) => {
39
39
  }
40
40
  }, "ActualizarDataReserva");
41
41
 
42
- // src/Programados/ActualizarDataResumenLiquidaciones.ts
43
- var ActualizarDataResumenLiquidaciones = /* @__PURE__ */ __name((ManoObra, Reserva, StockPersonal, ResumenPreLiquidado) => {
42
+ // src/Programados/ActualizarDataResumenLiquidacionesColombia.ts
43
+ var ActualizarDataResumenLiquidacionesColombia = /* @__PURE__ */ __name((ManoObra, Reserva, StockPersonal, ResumenPreLiquidado) => {
44
44
  if (ManoObra && ManoObra.Valorizacion && Array.isArray(ManoObra.Valorizacion)) {
45
45
  for (const valorizacion of ManoObra.Valorizacion) {
46
46
  valorizacion.CantidadUsado = 0;
@@ -67,6 +67,39 @@ var ActualizarDataResumenLiquidaciones = /* @__PURE__ */ __name((ManoObra, Reser
67
67
  }
68
68
  }
69
69
  }
70
+ }, "ActualizarDataResumenLiquidacionesColombia");
71
+
72
+ // src/Programados/ActualizarDataResumenLiquidaciones.ts
73
+ var ActualizarDataResumenLiquidaciones = /* @__PURE__ */ __name((ManoObra, Reserva, StockPersonal, ResumenPreLiquidado) => {
74
+ if (ManoObra && ManoObra.Valorizacion && Array.isArray(ManoObra.Valorizacion)) {
75
+ for (const valorizacion of ManoObra.Valorizacion) {
76
+ valorizacion.CantidadUsado = 0;
77
+ const val = ResumenPreLiquidado.MoUo.find((e) => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);
78
+ if (val) valorizacion.CantidadUsado = val.Cantidad;
79
+ }
80
+ }
81
+ if (Reserva && Reserva.Item && Array.isArray(Reserva.Item)) {
82
+ for (const item of Reserva.Item) {
83
+ item.CantidadUsados = 0;
84
+ const itemAUX = ResumenPreLiquidado.MatUtilizados.find((e) => e.Codigo === item.Codigo);
85
+ if (itemAUX) item.CantidadUsados = itemAUX.Cantidad;
86
+ }
87
+ }
88
+ if (StockPersonal && Array.isArray(StockPersonal)) {
89
+ for (const stockPersonal of StockPersonal) {
90
+ stockPersonal.Liquidacion = 0;
91
+ const stock = ResumenPreLiquidado.MatStockPersonal.find((e) => e.ID_Trabajo === stockPersonal.ID_Trabajo && e.Identificacion === stockPersonal.Personal.Identificacion && e.Codigo === stockPersonal.Reserva);
92
+ if (stock) {
93
+ if (stock.Cantidad > stockPersonal.Despacho) {
94
+ stockPersonal.Liquidacion = stockPersonal.Despacho;
95
+ stock.Cantidad = stock.Cantidad - stockPersonal.Despacho;
96
+ } else {
97
+ stockPersonal.Liquidacion = stock.Cantidad;
98
+ stock.Cantidad = 0;
99
+ }
100
+ }
101
+ }
102
+ }
70
103
  }, "ActualizarDataResumenLiquidaciones");
71
104
 
72
105
  // src/Programados/ActualizarDataTrabajos.ts
@@ -14661,8 +14694,8 @@ function BuscarZonaContratista(EmpresaContratistaEnPrecioEspecialidad, Obra, Zon
14661
14694
  }
14662
14695
  __name(BuscarZonaContratista, "BuscarZonaContratista");
14663
14696
 
14664
- // src/Programados/CalcularResumenLiquidaciones.ts
14665
- var CalcularResumenLiquidaciones = /* @__PURE__ */ __name((trabajo, trabajos) => {
14697
+ // src/Programados/CalcularResumenLiquidacionesColombia.ts
14698
+ var CalcularResumenLiquidacionesColombia = /* @__PURE__ */ __name((trabajo, trabajos) => {
14666
14699
  let MoUo = [];
14667
14700
  let MatUtilizados = [];
14668
14701
  let MatRetirados = [];
@@ -14703,9 +14736,6 @@ var CalcularResumenLiquidaciones = /* @__PURE__ */ __name((trabajo, trabajos) =>
14703
14736
  if (matStockPersonal) matStockPersonal.Cantidad += mu.Cantidad;
14704
14737
  else MatStockPersonal.push({
14705
14738
  ID_StockPersonal: mu.ID_StockPersonal,
14706
- // Identificacion: trabajoDB.Ultima_asignacion.Personal[0].Identificacion,
14707
- // CodigoLlave: mu.CodigoLlave,
14708
- // Codigo: mu.Codigo,
14709
14739
  Cantidad: mu.Cantidad
14710
14740
  });
14711
14741
  }
@@ -14729,6 +14759,74 @@ var CalcularResumenLiquidaciones = /* @__PURE__ */ __name((trabajo, trabajos) =>
14729
14759
  MatStockPersonal,
14730
14760
  MatStockAlmacen
14731
14761
  };
14762
+ }, "CalcularResumenLiquidacionesColombia");
14763
+
14764
+ // src/Programados/CalcularResumenLiquidaciones.ts
14765
+ var CalcularResumenLiquidaciones = /* @__PURE__ */ __name((trabajo, trabajos) => {
14766
+ let MoUo = [];
14767
+ let MatUtilizados = [];
14768
+ let MatRetirados = [];
14769
+ let MatStockPersonal = [];
14770
+ let MatStockAlmacen = [];
14771
+ for (const trabajoDB of trabajos) {
14772
+ if (trabajoDB.ID_Trabajo === trabajo.ID_Trabajo) {
14773
+ trabajoDB.Ultima_PreLiquidacion.Valorizacion = trabajo.Ultima_PreLiquidacion.Valorizacion;
14774
+ }
14775
+ for (const valorizacion of trabajoDB.Ultima_PreLiquidacion.Valorizacion) {
14776
+ if ([
14777
+ "PRODUCCION",
14778
+ "CERTIFICADA",
14779
+ "PRELIQUIDADA",
14780
+ "LIQUIDADA"
14781
+ ].includes(valorizacion.Ultimo_Estado_Interno.Descripcion.trim())) {
14782
+ const val = MoUo.find((e) => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);
14783
+ if (val) {
14784
+ val.Cantidad += valorizacion.Cantidad;
14785
+ val.CantidadUO += valorizacion.CantidadUO;
14786
+ } else MoUo.push({
14787
+ LineaCodigoCub: valorizacion.DetalleChile.LineaCodigoCub,
14788
+ Cantidad: valorizacion.Cantidad,
14789
+ CantidadUO: valorizacion.CantidadUO
14790
+ });
14791
+ for (const mu of valorizacion.MaterialesUtilizados) {
14792
+ if (mu.Estado.ID_Estado === 1) {
14793
+ const muAux = MatUtilizados.find((e) => e.Codigo === mu.Codigo);
14794
+ if (muAux) muAux.Cantidad += mu.Cantidad;
14795
+ else MatUtilizados.push({
14796
+ Codigo: mu.Codigo,
14797
+ Cantidad: mu.Cantidad
14798
+ });
14799
+ const matStockPersonal = MatStockPersonal.find((e) => e.ID_Trabajo === trabajoDB.ID_Trabajo && e.Codigo === mu.Codigo && e.Identificacion === trabajoDB.Ultima_asignacion.Personal[0].Identificacion);
14800
+ if (matStockPersonal) matStockPersonal.Cantidad += mu.Cantidad;
14801
+ else MatStockPersonal.push({
14802
+ ID_Trabajo: trabajoDB.ID_Trabajo,
14803
+ Identificacion: trabajoDB.Ultima_asignacion.Personal[0].Identificacion,
14804
+ CodigoLlave: mu.CodigoLlave,
14805
+ Codigo: mu.Codigo,
14806
+ Cantidad: mu.Cantidad
14807
+ });
14808
+ }
14809
+ }
14810
+ for (const mr of valorizacion.MaterialesRetirados) {
14811
+ if (mr.Estado.ID_Estado === 1) {
14812
+ const muAux = MatRetirados.find((e) => e.Codigo === mr.Codigo);
14813
+ if (muAux) muAux.Cantidad += mr.Cantidad;
14814
+ else MatRetirados.push({
14815
+ Codigo: mr.Codigo,
14816
+ Cantidad: mr.Cantidad
14817
+ });
14818
+ }
14819
+ }
14820
+ }
14821
+ }
14822
+ }
14823
+ return {
14824
+ MoUo,
14825
+ MatUtilizados,
14826
+ MatRetirados,
14827
+ MatStockPersonal,
14828
+ MatStockAlmacen
14829
+ };
14732
14830
  }, "CalcularResumenLiquidaciones");
14733
14831
 
14734
14832
  // src/Programados/ObtenerZonaAsignada.ts
@@ -15253,15 +15351,70 @@ var getNextID_Amap = /* @__PURE__ */ __name((Valorizacion) => {
15253
15351
  var getNextID_AsignacionValorizacion = /* @__PURE__ */ __name((Valorizaciones) => {
15254
15352
  return Math.max(0, ...Valorizaciones.map((v) => v.ID_AsignacionValorizacion)) + 1;
15255
15353
  }, "getNextID_AsignacionValorizacion");
15354
+
15355
+ // src/Programados/buildKeyMO.ts
15356
+ function buildKeyMO(mo) {
15357
+ const { Especialidad, Actividad, ManoObra, UnidadObra, Clave, LineaCodigoCub, Linea } = mo;
15358
+ const key = `${Especialidad.Codigo}${Actividad.Codigo}${ManoObra.Codigo}${UnidadObra.Codigo}${Clave.Codigo}${LineaCodigoCub}${Linea}`;
15359
+ return key;
15360
+ }
15361
+ __name(buildKeyMO, "buildKeyMO");
15362
+
15363
+ // src/Programados/calcularMOAsignada.ts
15364
+ var _ValorizacionHelper = class _ValorizacionHelper {
15365
+ /**
15366
+ * Inicializa el helper y construye el índice de valorizaciones.
15367
+ * @param trabajos Lista de trabajos con valorizaciones
15368
+ */
15369
+ constructor(trabajos) {
15370
+ __publicField(this, "valorizacionMap");
15371
+ this.valorizacionMap = this.buildValorizacionMap(trabajos);
15372
+ }
15373
+ /**
15374
+ * Construye el índice de valorizaciones (clave → totales MO/UO)
15375
+ */
15376
+ buildValorizacionMap(trabajos) {
15377
+ const map = /* @__PURE__ */ new Map();
15378
+ for (const trabajo of trabajos) {
15379
+ for (const val of trabajo.Ultima_asignacion.Valorizaciones) {
15380
+ if (val.Estado.ID_Estado !== 1) continue;
15381
+ const key = buildKeyMO(val);
15382
+ const entry = map.get(key) ?? {
15383
+ cantidadMO: 0,
15384
+ cantidadUO: 0
15385
+ };
15386
+ entry.cantidadMO += val.CantidadMO;
15387
+ entry.cantidadUO += val.CantidadUO;
15388
+ map.set(key, entry);
15389
+ }
15390
+ }
15391
+ return map;
15392
+ }
15393
+ /**
15394
+ * Calcula la cantidad de MO y UO asignadas a una MO específica.
15395
+ * @param mo Objeto de Mano de Obra
15396
+ * @returns Totales de MO y UO
15397
+ */
15398
+ calcularMOAsignada(mo) {
15399
+ return this.valorizacionMap.get(buildKeyMO(mo)) ?? {
15400
+ cantidadMO: 0,
15401
+ cantidadUO: 0
15402
+ };
15403
+ }
15404
+ };
15405
+ __name(_ValorizacionHelper, "ValorizacionHelper");
15406
+ var ValorizacionHelper = _ValorizacionHelper;
15256
15407
  export {
15257
15408
  ActualizarDataManoObra,
15258
15409
  ActualizarDataReserva,
15259
15410
  ActualizarDataResumenLiquidaciones,
15411
+ ActualizarDataResumenLiquidacionesColombia,
15260
15412
  ActualizarDataResumenValorizacionesAlemania,
15261
15413
  ActualizarDataTrabajos,
15262
15414
  BuscarZonaContratista,
15263
15415
  CalcularResumenHPMOLiquidado,
15264
15416
  CalcularResumenLiquidaciones,
15417
+ CalcularResumenLiquidacionesColombia,
15265
15418
  CalcularResumenValorizacionesAlemania,
15266
15419
  CodigosMaterialDuctosAL02,
15267
15420
  CodigosMaterialDuctosAL04,
@@ -15289,8 +15442,10 @@ export {
15289
15442
  ObtenerZonaAsignada,
15290
15443
  SEGMENT_TY,
15291
15444
  UpdateNodosDocDP,
15445
+ ValorizacionHelper,
15292
15446
  buildDataMOFromMaterialRules,
15293
15447
  buildDataMaterialsRule,
15448
+ buildKeyMO,
15294
15449
  buildTenantCollectionName,
15295
15450
  checkAndBuildMaterialsFromStock,
15296
15451
  checkMaterialAvailability,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigo-package",
3
- "version": "1.2.73",
3
+ "version": "1.2.75",
4
4
  "description": "Funciones compartidas sigo",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -21,6 +21,6 @@
21
21
  "typescript": "^5.7.3"
22
22
  },
23
23
  "peerDependencies": {
24
- "sigo-entities": "^1.1.11"
24
+ "sigo-entities": "^1.1.66"
25
25
  }
26
26
  }