sigo-package 1.2.178 → 1.2.179
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 +124 -1
- package/dist/index.d.ts +124 -1
- package/dist/index.js +232 -19
- package/dist/index.mjs +211 -19
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -210,6 +210,129 @@ interface ILineaValidacion {
|
|
|
210
210
|
declare function ValidarRelacionMOHijasAL04(moUo: MoUoType$2[], manoObraDB: any): IResultadoValidacionMOHijas[];
|
|
211
211
|
declare function FormatearErrorValidacionMOHijas(violaciones: IResultadoValidacionMOHijas[]): string | null;
|
|
212
212
|
|
|
213
|
+
/**
|
|
214
|
+
* Reglas de Preliquidar AL04 compartidas por la PWA (formulario) y pex-procesos (motor en el servidor).
|
|
215
|
+
* Legacy: sigo-pwa-mobile TrabajosDEAL04/Preliquidar y TrabajosDEAL04/DocHP; sic-backend TrabajosService/UpdateTrabajo.js.
|
|
216
|
+
* Son reglas propias de AL04: no se mezclan con las de AL02.
|
|
217
|
+
*/
|
|
218
|
+
/** Tipo de preliquidación: troncal o por HomePass (Clientes = Residential, No Clientes = Business) */
|
|
219
|
+
type TipoPreliquidacionAL04 = 'Troncal' | 'Residential' | 'Business';
|
|
220
|
+
/** Material consumido del almacén (todo lo que no es ducto) */
|
|
221
|
+
declare const motivoConsumoAlmacenAL04 = "CONSUMO_MATERIAL_AUTOMATICO_DUCTOS";
|
|
222
|
+
declare const estadoRechazadaPorMetrajeAL04 = "RECHAZADA POR METRAJE";
|
|
223
|
+
/** Asignaciones que no se preliquidan (getDataAsignaciones: UseCasePreLiquidationProcesses.ts L28) */
|
|
224
|
+
declare const codMONoPreliquidablesAL04: string[];
|
|
225
|
+
/** Baliza: una por AddressID entre los trabajos de la GOM (verificarUnaBalizaXDireccion.js) */
|
|
226
|
+
declare const codBalizaPreliquidarAL04 = "HP01";
|
|
227
|
+
/** Baremo único por DP: solo una valorización activa entre los trabajos de la GOM (verificarBaremoUnicoXDP.js) */
|
|
228
|
+
declare const codBaremoUnicoDPAL04: string[];
|
|
229
|
+
/** AP02 y ExtraWide no pueden superar lo preliquidado de AP01 en la obra (UpdateTrabajo.js L10-29, L330-347) */
|
|
230
|
+
declare const codMOAsfaltoMadreAL04 = "AP01";
|
|
231
|
+
declare const codMOAsfaltoHijasAL04: string[];
|
|
232
|
+
/** MO que se puede preliquidar en troncal (Preliquidar/Components/View.tsx L143) */
|
|
233
|
+
declare const codMOPreliquidarTroncalAL04: string[];
|
|
234
|
+
/** MO permitida por HomePass: No Clientes codMOFTTFAL04 (HP01); Clientes codMODROPAL04 (DocHP/Components/Documentacion.tsx L179-187) */
|
|
235
|
+
declare function obtenerCodMOHomePassAL04(tipo: Exclude<TipoPreliquidacionAL04, 'Troncal'>): string[];
|
|
236
|
+
type EstadoCierreAL04 = {
|
|
237
|
+
Estado: unknown;
|
|
238
|
+
Especialidad: string;
|
|
239
|
+
} | undefined;
|
|
240
|
+
/** Cierres OC / ASPH / SOP del trabajo (Ultima_PreLiquidacion) o del HomePass */
|
|
241
|
+
interface CierresPreliquidarAL04 {
|
|
242
|
+
Asfaltado?: EstadoCierreAL04;
|
|
243
|
+
OC?: EstadoCierreAL04;
|
|
244
|
+
Soplado?: EstadoCierreAL04;
|
|
245
|
+
}
|
|
246
|
+
/** Especialidades ocultas tras un cierre: solo si OC está cerrada (filtro `arr[1]`, Preliquidar/Components/View.tsx L144-151) */
|
|
247
|
+
declare function obtenerEspecialidadesCerradasAL04(cierres: CierresPreliquidarAL04): string[];
|
|
248
|
+
/**
|
|
249
|
+
* La asignación se puede preliquidar en ese tipo: MO troncal o permitida para el HomePass y sin especialidad cerrada.
|
|
250
|
+
* El estado de la asignación y codMONoPreliquidablesAL04 se comprueban aparte (getDataAsignaciones del legacy).
|
|
251
|
+
*/
|
|
252
|
+
declare function esAsignacionPreliquidableAL04(asignacion: {
|
|
253
|
+
ManoObra: {
|
|
254
|
+
Codigo: string;
|
|
255
|
+
};
|
|
256
|
+
Especialidad: {
|
|
257
|
+
Codigo: string;
|
|
258
|
+
};
|
|
259
|
+
}, tipo: TipoPreliquidacionAL04, especialidadesCerradas: string[]): boolean;
|
|
260
|
+
/** Ductos: se consumen del stock personal (técnico); el resto, del almacén */
|
|
261
|
+
declare const esMaterialDuctoAL04: (codigo: string) => boolean;
|
|
262
|
+
/** Materiales que no se muestran en el stock personal porque se añaden como hijos de un ducto (generarDataMaterial.ts L15) */
|
|
263
|
+
declare const codMaterialesOcultosAL04: string[];
|
|
264
|
+
/**
|
|
265
|
+
* Cómo se informan los materiales de la MO:
|
|
266
|
+
* - automatico: el mapa fija los materiales (GD01, HP01, NVT01) y se añaden solos
|
|
267
|
+
* - elegir: solo se pueden elegir los materiales del mapa (ductos de obra civil y soplado)
|
|
268
|
+
* - sinMaterial: la MO no lleva materiales (AP02, EXTRA01, PP01…)
|
|
269
|
+
* - libre: la MO no está en el mapa; se puede elegir cualquier material (p. ej. ExtraWide AP02_*)
|
|
270
|
+
*/
|
|
271
|
+
type ModoMaterialesAL04 = 'automatico' | 'elegir' | 'sinMaterial' | 'libre';
|
|
272
|
+
declare function modoMaterialesAL04(codMO: string): ModoMaterialesAL04;
|
|
273
|
+
/** Cantidad fija de la MO (HP01, NVT01 = 1): el campo queda deshabilitado (FormAdd.tsx L366-367, L474-479) */
|
|
274
|
+
declare function cantidadFijaMOAL04(codMO: string): number | undefined;
|
|
275
|
+
interface MaterialRequeridoAL04 {
|
|
276
|
+
Codigo: string;
|
|
277
|
+
Cantidad: number;
|
|
278
|
+
/** Ducto: stock personal; si no, stock de almacén */
|
|
279
|
+
StockPersonal: boolean;
|
|
280
|
+
}
|
|
281
|
+
/** Materiales automáticos: (CantidadFija ? Cantidad : cantidad de MO) × Factor (verificarReglas, FormAdd.tsx L255-297) */
|
|
282
|
+
declare function materialesAutomaticosAL04(codMO: string, cantidadMO: number): MaterialRequeridoAL04[];
|
|
283
|
+
/** Códigos que se pueden elegir; undefined si la MO no restringe los materiales (AddedMaterial.tsx L263-271) */
|
|
284
|
+
declare function materialesSeleccionablesAL04(codMO: string): string[] | undefined;
|
|
285
|
+
interface CantidadMaterialAL04 {
|
|
286
|
+
/** Cantidad que se fija al elegir el material; undefined si la informa el usuario */
|
|
287
|
+
Cantidad?: number;
|
|
288
|
+
Bloqueada: boolean;
|
|
289
|
+
/** El material lleva hijos (conectores / empalmes) cuya cantidad son los empalmes × Factor */
|
|
290
|
+
PideEmpalmes: boolean;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Cantidad del material elegido (AddedMaterial.tsx L194-219): CantidadPadre = cantidad de MO × Factor;
|
|
294
|
+
* CantidadFija = Cantidad × Factor. Si sus hijos no tienen cantidad fija, se piden los empalmes.
|
|
295
|
+
*/
|
|
296
|
+
declare function cantidadMaterialAL04(codMO: string, codMaterial: string, cantidadMO: number): CantidadMaterialAL04;
|
|
297
|
+
/**
|
|
298
|
+
* Hijos del material elegido (agregarSubMateriales, AddedMaterial.tsx L113-156):
|
|
299
|
+
* (CantidadFija ? Cantidad : CantidadPadre ? cantidad del material : empalmes) × Factor.
|
|
300
|
+
* Sin empalmes no se añaden; si no hay forma de obtener la cantidad es error.
|
|
301
|
+
*/
|
|
302
|
+
declare function subMaterialesAL04(codMO: string, codMaterial: string, cantidadMaterial: number, empalmes: number): MaterialRequeridoAL04[];
|
|
303
|
+
/**
|
|
304
|
+
* División por exceso (UseCasePreliquidar.ts L438-469): los ductos se reparten entre la valorización padre y la hija
|
|
305
|
+
* según la cantidad de cada una; el resto de materiales queda en el padre.
|
|
306
|
+
* Decisión 2026-10-14: el padre se redondea a 2 decimales y la hija lleva el total menos el padre.
|
|
307
|
+
*/
|
|
308
|
+
declare function prorratearMaterialesAL04<T extends {
|
|
309
|
+
Codigo: string;
|
|
310
|
+
Cantidad: number;
|
|
311
|
+
CantidadInformada: number;
|
|
312
|
+
}>(materiales: T[], cantidadPadre: number, cantidadTotal: number): {
|
|
313
|
+
padre: T[];
|
|
314
|
+
hija: T[];
|
|
315
|
+
};
|
|
316
|
+
/**
|
|
317
|
+
* Lo preliquidado en la obra de AP02 + ExtraWide no puede superar a AP01 (tolerancia 0.001). Solo se valida si
|
|
318
|
+
* la preliquidación incluye alguno de esos códigos. Devuelve el mensaje de error o null.
|
|
319
|
+
* @param moUo resumen de todos los trabajos de la obra (CalcularResumenValorizacionesAlemania)
|
|
320
|
+
* @param manoObra ManoObra de la GOM: diccionario LineaCodigoCub → código de la MO
|
|
321
|
+
* @param codigosNuevos códigos de MO de las valorizaciones nuevas
|
|
322
|
+
*/
|
|
323
|
+
declare function validarAsfaltoAL04(moUo: {
|
|
324
|
+
LineaCodigoCub: string;
|
|
325
|
+
Cantidad: number;
|
|
326
|
+
}[], manoObra: {
|
|
327
|
+
Valorizacion: {
|
|
328
|
+
Codigo: string;
|
|
329
|
+
Descripcion?: string;
|
|
330
|
+
DetalleChile?: {
|
|
331
|
+
LineaCodigoCub?: string;
|
|
332
|
+
};
|
|
333
|
+
}[];
|
|
334
|
+
}, codigosNuevos: string[]): string | null;
|
|
335
|
+
|
|
213
336
|
declare const codMOTroncalAL02OC: never[];
|
|
214
337
|
declare const codMOTroncalAL02Soplado: never[];
|
|
215
338
|
declare const codMOTroncalAL02Asfaltado: never[];
|
|
@@ -973,4 +1096,4 @@ declare function getCookieToken(req: Request<any>, webOrigins: string[]): string
|
|
|
973
1096
|
|
|
974
1097
|
declare function validateUUIDv4Param(BadRequestException: ClassConstructor<Error>, req: Request<any>, _res: Response, next: NextFunction): Promise<void>;
|
|
975
1098
|
|
|
976
|
-
export { ActualizarDataManoObra, ActualizarDataReserva, ActualizarDataResumenLiquidaciones, ActualizarDataResumenLiquidacionesColombia, ActualizarDataResumenValorizacionesAlemania, ActualizarDataTrabajos, AsignacionHelper, BuscarZonaContratista, CalcularResumenHPMOLiquidado, CalcularResumenLiquidaciones, CalcularResumenLiquidacionesColombia, CalcularResumenValorizacionesAlemania, type CierresPreliquidarAL02, CodigosMaterialDuctosAL02, CodigosMaterialDuctosAL04, CodigosMaterialSoplado, CodsMapeoMOMaterial, CodsMapeoMOMaterialNVT01, CodsMapeoMOMaterialSopladoClientes, CodsMapeoMOMaterialSopladoTroncal, CodsMapeoMO_Material_Arquertas, CompararFechas, CurrencyFormat, DocumentacionReplanteo, EstadoEspecialidad9612, FormatearErrorValidacionMOHijas, GemeindeChangeNomenclatura, GetCodigoFechaActual, type IDPContrato, type IDocumentacion, type ILineaValidacion, type IMOAndMaterialsRules, type IMORules, type IMateriales, type IResultadoValidacionMOHijas, 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, SOMACYL_CODIGO_CONTADOR_RETIRADO, SOMACYL_PHOTO_POSITIONS, type SomacylPhotoKey, type TARGET, type TipoPreliquidacionAL02, UpdateNodosDocDP, ValidarRelacionMOHijasAL04, ValorizacionHelper, builSystemOption, buildDataMOFromMaterialRules, buildDataMaterialsRule, buildKeyMO, buildMenu, buildReservaMOJobMajorProjectsAlemaniaAL02, buildReservaMOJobMajorProjectsAlemaniaAL04, buildTenantCollectionName, calcularTotalMaterialValorizacionPeru9112, checkAndBuildMaterialsFromStock, checkMaterialAvailability, codBalizaAL02, codBalizaAL04, codClientes, codIssueByPeriodoAL02, codMOClientesAL02, codMOClientesAL02Asfaltado, codMOClientesAL02OC, codMOClientesAL02Soplado, codMOClientes_ReglaLiquidacion1, codMODROPAL04, codMODROPAL04OC, codMODROPAL04Soplado, codMOExcluidos, codMOFTTFAL04, codMONoClientesAL02, codMONoClientesAL02Asfaltado, codMONoClientesAL02OC, codMONoClientesAL02Soplado, codMONoClientes_ReglaLiquidacion1, codMOOcultosAL04, codMOPreliquidarTroncalAL02, codMOPublico, codMOTroncalAL02, codMOTroncalAL02Asfaltado, codMOTroncalAL02OC, codMOTroncalAL02Soplado, codMOTroncalAL04, codMOTroncalAL04Asfaltado, codMOTroncalAL04Issue, codMOTroncalAL04OC, codMOTroncalAL04Soplado, codMOTroncalHistoricoAL02, codMOTroncal_ReglaLiquidacion1, codNoCliente, codSopladoRD, codigosBaremosSubcontrataAL02, codigosMOT1_F2, codigosMaterialDuctos, codigosMaterialUGG, codigosSopladoHP, collections, consumirStockPersonal, convertDates, dataFlujosHomePass, db_default, db_root, documentRequirementAltasNVT, empresas, esAsignacionPreliquidableAL02, esCadenaFechaISOValida, esObjetoFecha, estadoRechazadaPorMetraje, formatCurrencyV1, formatNumberSmart, formatNumberV1, formatPercentageV1, generateUniqueNumber, generateUniqueNumberArray, getCaptureDateSomacyl, getChannelName, getContainerName, getCookieToken, getDBName, getDateInTimeZone, getKeyRedisSortedSet, getModelDataAdicional, getNextID_Amap, getNextID_AsignacionValorizacion, getNextID_Valorizacion, getPrecioContratista, getPriceMaterial, getQueueName, getQueueNameSaveOneNotification, getRequestOrigin, hashCode, isValidDate, isValidPartialEntity, logTiempoProceso, mapaDPContratoPrecioFullAL02, mapaEstadoObraFaseAL02, mapaMOMaterialAL02, mapaMOMaterialAL04, mapaReglaSopladoClientes, mapaReglaSopladoTroncal, mapeoZonasSimilares, motivoConsumoMaterialAutomaticoDuctos, newCodMOTroncalReglaLiquidacion1, obtenerCodMOHomePass, obtenerDocumentacionClientes, obtenerDocumentacionNoClientes, obtenerEspecialidadesCerradas, obtenerPrecioContratistaMaterial, obtenerPrecioManoObraAL02, obtenerPrecioManoObraAL04, obtenerTipoYCodigoMO, paisMap, parseDuplicateKeyError, roundNumber, searchCurrentContractorSpecialtyPrice, setColModels, setContext, throwSomacylError, updatePriceContractorMOAL02, updatePriceContractorMOAL04, updatePriceMOAL02, updatePriceMOAL04, updatePricePBBudgetAlemaniaAL02, updatePricePBBudgetAlemaniaAL04, uuidRegex, validateNoLookup, validateUUIDv4Param, verifyDetailsFinalizeSomacyl, verifyFiles, verifyInventoryFinalize, verifyInventoryFinalizeSomacyl, verifyInventoryLimitsSomacyl, verifyPhotosFinalizeSomacyl, verifyPhotosNotFinalizedSomacyl };
|
|
1099
|
+
export { ActualizarDataManoObra, ActualizarDataReserva, ActualizarDataResumenLiquidaciones, ActualizarDataResumenLiquidacionesColombia, ActualizarDataResumenValorizacionesAlemania, ActualizarDataTrabajos, AsignacionHelper, BuscarZonaContratista, CalcularResumenHPMOLiquidado, CalcularResumenLiquidaciones, CalcularResumenLiquidacionesColombia, CalcularResumenValorizacionesAlemania, type CantidadMaterialAL04, type CierresPreliquidarAL02, type CierresPreliquidarAL04, CodigosMaterialDuctosAL02, CodigosMaterialDuctosAL04, CodigosMaterialSoplado, CodsMapeoMOMaterial, CodsMapeoMOMaterialNVT01, CodsMapeoMOMaterialSopladoClientes, CodsMapeoMOMaterialSopladoTroncal, CodsMapeoMO_Material_Arquertas, CompararFechas, CurrencyFormat, DocumentacionReplanteo, EstadoEspecialidad9612, FormatearErrorValidacionMOHijas, GemeindeChangeNomenclatura, GetCodigoFechaActual, type IDPContrato, type IDocumentacion, type ILineaValidacion, type IMOAndMaterialsRules, type IMORules, type IMateriales, type IResultadoValidacionMOHijas, MOCantidadNVT01, MOHijasAL04, MOHijasDEPTH, MapeoEspecialidades9612, MapeoMOBOMAL04, MapeoMatBOMAL04, type MatRetiradosType, type MatStockAlmacenType, type MatStockPersonalType$2 as MatStockPersonalType, type MatUtilizadosType$2 as MatUtilizadosType, type MaterialRequeridoAL04, type MoUoType$2 as MoUoType, ModelDataFlujosDocumentacionReplanteo, type ModoMaterialesAL04, ObtenerMONoReservada, ObtenerPrecioContratistaVigente, ObtenerZonaAsignada, type ResumenLiquidacionesType, type ResumenLiquidacionesTypeChile, type ResumenLiquidacionesTypeColombia, SEGMENT_TY, SOMACYL_CODIGO_CONTADOR_RETIRADO, SOMACYL_PHOTO_POSITIONS, type SomacylPhotoKey, type TARGET, type TipoPreliquidacionAL02, type TipoPreliquidacionAL04, UpdateNodosDocDP, ValidarRelacionMOHijasAL04, ValorizacionHelper, builSystemOption, buildDataMOFromMaterialRules, buildDataMaterialsRule, buildKeyMO, buildMenu, buildReservaMOJobMajorProjectsAlemaniaAL02, buildReservaMOJobMajorProjectsAlemaniaAL04, buildTenantCollectionName, calcularTotalMaterialValorizacionPeru9112, cantidadFijaMOAL04, cantidadMaterialAL04, checkAndBuildMaterialsFromStock, checkMaterialAvailability, codBalizaAL02, codBalizaAL04, codBalizaPreliquidarAL04, codBaremoUnicoDPAL04, codClientes, codIssueByPeriodoAL02, codMOAsfaltoHijasAL04, codMOAsfaltoMadreAL04, codMOClientesAL02, codMOClientesAL02Asfaltado, codMOClientesAL02OC, codMOClientesAL02Soplado, codMOClientes_ReglaLiquidacion1, codMODROPAL04, codMODROPAL04OC, codMODROPAL04Soplado, codMOExcluidos, codMOFTTFAL04, codMONoClientesAL02, codMONoClientesAL02Asfaltado, codMONoClientesAL02OC, codMONoClientesAL02Soplado, codMONoClientes_ReglaLiquidacion1, codMONoPreliquidablesAL04, codMOOcultosAL04, codMOPreliquidarTroncalAL02, codMOPreliquidarTroncalAL04, codMOPublico, codMOTroncalAL02, codMOTroncalAL02Asfaltado, codMOTroncalAL02OC, codMOTroncalAL02Soplado, codMOTroncalAL04, codMOTroncalAL04Asfaltado, codMOTroncalAL04Issue, codMOTroncalAL04OC, codMOTroncalAL04Soplado, codMOTroncalHistoricoAL02, codMOTroncal_ReglaLiquidacion1, codMaterialesOcultosAL04, codNoCliente, codSopladoRD, codigosBaremosSubcontrataAL02, codigosMOT1_F2, codigosMaterialDuctos, codigosMaterialUGG, codigosSopladoHP, collections, consumirStockPersonal, convertDates, dataFlujosHomePass, db_default, db_root, documentRequirementAltasNVT, empresas, esAsignacionPreliquidableAL02, esAsignacionPreliquidableAL04, esCadenaFechaISOValida, esMaterialDuctoAL04, esObjetoFecha, estadoRechazadaPorMetraje, estadoRechazadaPorMetrajeAL04, formatCurrencyV1, formatNumberSmart, formatNumberV1, formatPercentageV1, generateUniqueNumber, generateUniqueNumberArray, getCaptureDateSomacyl, getChannelName, getContainerName, getCookieToken, getDBName, getDateInTimeZone, getKeyRedisSortedSet, getModelDataAdicional, getNextID_Amap, getNextID_AsignacionValorizacion, getNextID_Valorizacion, getPrecioContratista, getPriceMaterial, getQueueName, getQueueNameSaveOneNotification, getRequestOrigin, hashCode, isValidDate, isValidPartialEntity, logTiempoProceso, mapaDPContratoPrecioFullAL02, mapaEstadoObraFaseAL02, mapaMOMaterialAL02, mapaMOMaterialAL04, mapaReglaSopladoClientes, mapaReglaSopladoTroncal, mapeoZonasSimilares, materialesAutomaticosAL04, materialesSeleccionablesAL04, modoMaterialesAL04, motivoConsumoAlmacenAL04, motivoConsumoMaterialAutomaticoDuctos, newCodMOTroncalReglaLiquidacion1, obtenerCodMOHomePass, obtenerCodMOHomePassAL04, obtenerDocumentacionClientes, obtenerDocumentacionNoClientes, obtenerEspecialidadesCerradas, obtenerEspecialidadesCerradasAL04, obtenerPrecioContratistaMaterial, obtenerPrecioManoObraAL02, obtenerPrecioManoObraAL04, obtenerTipoYCodigoMO, paisMap, parseDuplicateKeyError, prorratearMaterialesAL04, roundNumber, searchCurrentContractorSpecialtyPrice, setColModels, setContext, subMaterialesAL04, throwSomacylError, updatePriceContractorMOAL02, updatePriceContractorMOAL04, updatePriceMOAL02, updatePriceMOAL04, updatePricePBBudgetAlemaniaAL02, updatePricePBBudgetAlemaniaAL04, uuidRegex, validarAsfaltoAL04, validateNoLookup, validateUUIDv4Param, verifyDetailsFinalizeSomacyl, verifyFiles, verifyInventoryFinalize, verifyInventoryFinalizeSomacyl, verifyInventoryLimitsSomacyl, verifyPhotosFinalizeSomacyl, verifyPhotosNotFinalizedSomacyl };
|
package/dist/index.d.ts
CHANGED
|
@@ -210,6 +210,129 @@ interface ILineaValidacion {
|
|
|
210
210
|
declare function ValidarRelacionMOHijasAL04(moUo: MoUoType$2[], manoObraDB: any): IResultadoValidacionMOHijas[];
|
|
211
211
|
declare function FormatearErrorValidacionMOHijas(violaciones: IResultadoValidacionMOHijas[]): string | null;
|
|
212
212
|
|
|
213
|
+
/**
|
|
214
|
+
* Reglas de Preliquidar AL04 compartidas por la PWA (formulario) y pex-procesos (motor en el servidor).
|
|
215
|
+
* Legacy: sigo-pwa-mobile TrabajosDEAL04/Preliquidar y TrabajosDEAL04/DocHP; sic-backend TrabajosService/UpdateTrabajo.js.
|
|
216
|
+
* Son reglas propias de AL04: no se mezclan con las de AL02.
|
|
217
|
+
*/
|
|
218
|
+
/** Tipo de preliquidación: troncal o por HomePass (Clientes = Residential, No Clientes = Business) */
|
|
219
|
+
type TipoPreliquidacionAL04 = 'Troncal' | 'Residential' | 'Business';
|
|
220
|
+
/** Material consumido del almacén (todo lo que no es ducto) */
|
|
221
|
+
declare const motivoConsumoAlmacenAL04 = "CONSUMO_MATERIAL_AUTOMATICO_DUCTOS";
|
|
222
|
+
declare const estadoRechazadaPorMetrajeAL04 = "RECHAZADA POR METRAJE";
|
|
223
|
+
/** Asignaciones que no se preliquidan (getDataAsignaciones: UseCasePreLiquidationProcesses.ts L28) */
|
|
224
|
+
declare const codMONoPreliquidablesAL04: string[];
|
|
225
|
+
/** Baliza: una por AddressID entre los trabajos de la GOM (verificarUnaBalizaXDireccion.js) */
|
|
226
|
+
declare const codBalizaPreliquidarAL04 = "HP01";
|
|
227
|
+
/** Baremo único por DP: solo una valorización activa entre los trabajos de la GOM (verificarBaremoUnicoXDP.js) */
|
|
228
|
+
declare const codBaremoUnicoDPAL04: string[];
|
|
229
|
+
/** AP02 y ExtraWide no pueden superar lo preliquidado de AP01 en la obra (UpdateTrabajo.js L10-29, L330-347) */
|
|
230
|
+
declare const codMOAsfaltoMadreAL04 = "AP01";
|
|
231
|
+
declare const codMOAsfaltoHijasAL04: string[];
|
|
232
|
+
/** MO que se puede preliquidar en troncal (Preliquidar/Components/View.tsx L143) */
|
|
233
|
+
declare const codMOPreliquidarTroncalAL04: string[];
|
|
234
|
+
/** MO permitida por HomePass: No Clientes codMOFTTFAL04 (HP01); Clientes codMODROPAL04 (DocHP/Components/Documentacion.tsx L179-187) */
|
|
235
|
+
declare function obtenerCodMOHomePassAL04(tipo: Exclude<TipoPreliquidacionAL04, 'Troncal'>): string[];
|
|
236
|
+
type EstadoCierreAL04 = {
|
|
237
|
+
Estado: unknown;
|
|
238
|
+
Especialidad: string;
|
|
239
|
+
} | undefined;
|
|
240
|
+
/** Cierres OC / ASPH / SOP del trabajo (Ultima_PreLiquidacion) o del HomePass */
|
|
241
|
+
interface CierresPreliquidarAL04 {
|
|
242
|
+
Asfaltado?: EstadoCierreAL04;
|
|
243
|
+
OC?: EstadoCierreAL04;
|
|
244
|
+
Soplado?: EstadoCierreAL04;
|
|
245
|
+
}
|
|
246
|
+
/** Especialidades ocultas tras un cierre: solo si OC está cerrada (filtro `arr[1]`, Preliquidar/Components/View.tsx L144-151) */
|
|
247
|
+
declare function obtenerEspecialidadesCerradasAL04(cierres: CierresPreliquidarAL04): string[];
|
|
248
|
+
/**
|
|
249
|
+
* La asignación se puede preliquidar en ese tipo: MO troncal o permitida para el HomePass y sin especialidad cerrada.
|
|
250
|
+
* El estado de la asignación y codMONoPreliquidablesAL04 se comprueban aparte (getDataAsignaciones del legacy).
|
|
251
|
+
*/
|
|
252
|
+
declare function esAsignacionPreliquidableAL04(asignacion: {
|
|
253
|
+
ManoObra: {
|
|
254
|
+
Codigo: string;
|
|
255
|
+
};
|
|
256
|
+
Especialidad: {
|
|
257
|
+
Codigo: string;
|
|
258
|
+
};
|
|
259
|
+
}, tipo: TipoPreliquidacionAL04, especialidadesCerradas: string[]): boolean;
|
|
260
|
+
/** Ductos: se consumen del stock personal (técnico); el resto, del almacén */
|
|
261
|
+
declare const esMaterialDuctoAL04: (codigo: string) => boolean;
|
|
262
|
+
/** Materiales que no se muestran en el stock personal porque se añaden como hijos de un ducto (generarDataMaterial.ts L15) */
|
|
263
|
+
declare const codMaterialesOcultosAL04: string[];
|
|
264
|
+
/**
|
|
265
|
+
* Cómo se informan los materiales de la MO:
|
|
266
|
+
* - automatico: el mapa fija los materiales (GD01, HP01, NVT01) y se añaden solos
|
|
267
|
+
* - elegir: solo se pueden elegir los materiales del mapa (ductos de obra civil y soplado)
|
|
268
|
+
* - sinMaterial: la MO no lleva materiales (AP02, EXTRA01, PP01…)
|
|
269
|
+
* - libre: la MO no está en el mapa; se puede elegir cualquier material (p. ej. ExtraWide AP02_*)
|
|
270
|
+
*/
|
|
271
|
+
type ModoMaterialesAL04 = 'automatico' | 'elegir' | 'sinMaterial' | 'libre';
|
|
272
|
+
declare function modoMaterialesAL04(codMO: string): ModoMaterialesAL04;
|
|
273
|
+
/** Cantidad fija de la MO (HP01, NVT01 = 1): el campo queda deshabilitado (FormAdd.tsx L366-367, L474-479) */
|
|
274
|
+
declare function cantidadFijaMOAL04(codMO: string): number | undefined;
|
|
275
|
+
interface MaterialRequeridoAL04 {
|
|
276
|
+
Codigo: string;
|
|
277
|
+
Cantidad: number;
|
|
278
|
+
/** Ducto: stock personal; si no, stock de almacén */
|
|
279
|
+
StockPersonal: boolean;
|
|
280
|
+
}
|
|
281
|
+
/** Materiales automáticos: (CantidadFija ? Cantidad : cantidad de MO) × Factor (verificarReglas, FormAdd.tsx L255-297) */
|
|
282
|
+
declare function materialesAutomaticosAL04(codMO: string, cantidadMO: number): MaterialRequeridoAL04[];
|
|
283
|
+
/** Códigos que se pueden elegir; undefined si la MO no restringe los materiales (AddedMaterial.tsx L263-271) */
|
|
284
|
+
declare function materialesSeleccionablesAL04(codMO: string): string[] | undefined;
|
|
285
|
+
interface CantidadMaterialAL04 {
|
|
286
|
+
/** Cantidad que se fija al elegir el material; undefined si la informa el usuario */
|
|
287
|
+
Cantidad?: number;
|
|
288
|
+
Bloqueada: boolean;
|
|
289
|
+
/** El material lleva hijos (conectores / empalmes) cuya cantidad son los empalmes × Factor */
|
|
290
|
+
PideEmpalmes: boolean;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Cantidad del material elegido (AddedMaterial.tsx L194-219): CantidadPadre = cantidad de MO × Factor;
|
|
294
|
+
* CantidadFija = Cantidad × Factor. Si sus hijos no tienen cantidad fija, se piden los empalmes.
|
|
295
|
+
*/
|
|
296
|
+
declare function cantidadMaterialAL04(codMO: string, codMaterial: string, cantidadMO: number): CantidadMaterialAL04;
|
|
297
|
+
/**
|
|
298
|
+
* Hijos del material elegido (agregarSubMateriales, AddedMaterial.tsx L113-156):
|
|
299
|
+
* (CantidadFija ? Cantidad : CantidadPadre ? cantidad del material : empalmes) × Factor.
|
|
300
|
+
* Sin empalmes no se añaden; si no hay forma de obtener la cantidad es error.
|
|
301
|
+
*/
|
|
302
|
+
declare function subMaterialesAL04(codMO: string, codMaterial: string, cantidadMaterial: number, empalmes: number): MaterialRequeridoAL04[];
|
|
303
|
+
/**
|
|
304
|
+
* División por exceso (UseCasePreliquidar.ts L438-469): los ductos se reparten entre la valorización padre y la hija
|
|
305
|
+
* según la cantidad de cada una; el resto de materiales queda en el padre.
|
|
306
|
+
* Decisión 2026-10-14: el padre se redondea a 2 decimales y la hija lleva el total menos el padre.
|
|
307
|
+
*/
|
|
308
|
+
declare function prorratearMaterialesAL04<T extends {
|
|
309
|
+
Codigo: string;
|
|
310
|
+
Cantidad: number;
|
|
311
|
+
CantidadInformada: number;
|
|
312
|
+
}>(materiales: T[], cantidadPadre: number, cantidadTotal: number): {
|
|
313
|
+
padre: T[];
|
|
314
|
+
hija: T[];
|
|
315
|
+
};
|
|
316
|
+
/**
|
|
317
|
+
* Lo preliquidado en la obra de AP02 + ExtraWide no puede superar a AP01 (tolerancia 0.001). Solo se valida si
|
|
318
|
+
* la preliquidación incluye alguno de esos códigos. Devuelve el mensaje de error o null.
|
|
319
|
+
* @param moUo resumen de todos los trabajos de la obra (CalcularResumenValorizacionesAlemania)
|
|
320
|
+
* @param manoObra ManoObra de la GOM: diccionario LineaCodigoCub → código de la MO
|
|
321
|
+
* @param codigosNuevos códigos de MO de las valorizaciones nuevas
|
|
322
|
+
*/
|
|
323
|
+
declare function validarAsfaltoAL04(moUo: {
|
|
324
|
+
LineaCodigoCub: string;
|
|
325
|
+
Cantidad: number;
|
|
326
|
+
}[], manoObra: {
|
|
327
|
+
Valorizacion: {
|
|
328
|
+
Codigo: string;
|
|
329
|
+
Descripcion?: string;
|
|
330
|
+
DetalleChile?: {
|
|
331
|
+
LineaCodigoCub?: string;
|
|
332
|
+
};
|
|
333
|
+
}[];
|
|
334
|
+
}, codigosNuevos: string[]): string | null;
|
|
335
|
+
|
|
213
336
|
declare const codMOTroncalAL02OC: never[];
|
|
214
337
|
declare const codMOTroncalAL02Soplado: never[];
|
|
215
338
|
declare const codMOTroncalAL02Asfaltado: never[];
|
|
@@ -973,4 +1096,4 @@ declare function getCookieToken(req: Request<any>, webOrigins: string[]): string
|
|
|
973
1096
|
|
|
974
1097
|
declare function validateUUIDv4Param(BadRequestException: ClassConstructor<Error>, req: Request<any>, _res: Response, next: NextFunction): Promise<void>;
|
|
975
1098
|
|
|
976
|
-
export { ActualizarDataManoObra, ActualizarDataReserva, ActualizarDataResumenLiquidaciones, ActualizarDataResumenLiquidacionesColombia, ActualizarDataResumenValorizacionesAlemania, ActualizarDataTrabajos, AsignacionHelper, BuscarZonaContratista, CalcularResumenHPMOLiquidado, CalcularResumenLiquidaciones, CalcularResumenLiquidacionesColombia, CalcularResumenValorizacionesAlemania, type CierresPreliquidarAL02, CodigosMaterialDuctosAL02, CodigosMaterialDuctosAL04, CodigosMaterialSoplado, CodsMapeoMOMaterial, CodsMapeoMOMaterialNVT01, CodsMapeoMOMaterialSopladoClientes, CodsMapeoMOMaterialSopladoTroncal, CodsMapeoMO_Material_Arquertas, CompararFechas, CurrencyFormat, DocumentacionReplanteo, EstadoEspecialidad9612, FormatearErrorValidacionMOHijas, GemeindeChangeNomenclatura, GetCodigoFechaActual, type IDPContrato, type IDocumentacion, type ILineaValidacion, type IMOAndMaterialsRules, type IMORules, type IMateriales, type IResultadoValidacionMOHijas, 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, SOMACYL_CODIGO_CONTADOR_RETIRADO, SOMACYL_PHOTO_POSITIONS, type SomacylPhotoKey, type TARGET, type TipoPreliquidacionAL02, UpdateNodosDocDP, ValidarRelacionMOHijasAL04, ValorizacionHelper, builSystemOption, buildDataMOFromMaterialRules, buildDataMaterialsRule, buildKeyMO, buildMenu, buildReservaMOJobMajorProjectsAlemaniaAL02, buildReservaMOJobMajorProjectsAlemaniaAL04, buildTenantCollectionName, calcularTotalMaterialValorizacionPeru9112, checkAndBuildMaterialsFromStock, checkMaterialAvailability, codBalizaAL02, codBalizaAL04, codClientes, codIssueByPeriodoAL02, codMOClientesAL02, codMOClientesAL02Asfaltado, codMOClientesAL02OC, codMOClientesAL02Soplado, codMOClientes_ReglaLiquidacion1, codMODROPAL04, codMODROPAL04OC, codMODROPAL04Soplado, codMOExcluidos, codMOFTTFAL04, codMONoClientesAL02, codMONoClientesAL02Asfaltado, codMONoClientesAL02OC, codMONoClientesAL02Soplado, codMONoClientes_ReglaLiquidacion1, codMOOcultosAL04, codMOPreliquidarTroncalAL02, codMOPublico, codMOTroncalAL02, codMOTroncalAL02Asfaltado, codMOTroncalAL02OC, codMOTroncalAL02Soplado, codMOTroncalAL04, codMOTroncalAL04Asfaltado, codMOTroncalAL04Issue, codMOTroncalAL04OC, codMOTroncalAL04Soplado, codMOTroncalHistoricoAL02, codMOTroncal_ReglaLiquidacion1, codNoCliente, codSopladoRD, codigosBaremosSubcontrataAL02, codigosMOT1_F2, codigosMaterialDuctos, codigosMaterialUGG, codigosSopladoHP, collections, consumirStockPersonal, convertDates, dataFlujosHomePass, db_default, db_root, documentRequirementAltasNVT, empresas, esAsignacionPreliquidableAL02, esCadenaFechaISOValida, esObjetoFecha, estadoRechazadaPorMetraje, formatCurrencyV1, formatNumberSmart, formatNumberV1, formatPercentageV1, generateUniqueNumber, generateUniqueNumberArray, getCaptureDateSomacyl, getChannelName, getContainerName, getCookieToken, getDBName, getDateInTimeZone, getKeyRedisSortedSet, getModelDataAdicional, getNextID_Amap, getNextID_AsignacionValorizacion, getNextID_Valorizacion, getPrecioContratista, getPriceMaterial, getQueueName, getQueueNameSaveOneNotification, getRequestOrigin, hashCode, isValidDate, isValidPartialEntity, logTiempoProceso, mapaDPContratoPrecioFullAL02, mapaEstadoObraFaseAL02, mapaMOMaterialAL02, mapaMOMaterialAL04, mapaReglaSopladoClientes, mapaReglaSopladoTroncal, mapeoZonasSimilares, motivoConsumoMaterialAutomaticoDuctos, newCodMOTroncalReglaLiquidacion1, obtenerCodMOHomePass, obtenerDocumentacionClientes, obtenerDocumentacionNoClientes, obtenerEspecialidadesCerradas, obtenerPrecioContratistaMaterial, obtenerPrecioManoObraAL02, obtenerPrecioManoObraAL04, obtenerTipoYCodigoMO, paisMap, parseDuplicateKeyError, roundNumber, searchCurrentContractorSpecialtyPrice, setColModels, setContext, throwSomacylError, updatePriceContractorMOAL02, updatePriceContractorMOAL04, updatePriceMOAL02, updatePriceMOAL04, updatePricePBBudgetAlemaniaAL02, updatePricePBBudgetAlemaniaAL04, uuidRegex, validateNoLookup, validateUUIDv4Param, verifyDetailsFinalizeSomacyl, verifyFiles, verifyInventoryFinalize, verifyInventoryFinalizeSomacyl, verifyInventoryLimitsSomacyl, verifyPhotosFinalizeSomacyl, verifyPhotosNotFinalizedSomacyl };
|
|
1099
|
+
export { ActualizarDataManoObra, ActualizarDataReserva, ActualizarDataResumenLiquidaciones, ActualizarDataResumenLiquidacionesColombia, ActualizarDataResumenValorizacionesAlemania, ActualizarDataTrabajos, AsignacionHelper, BuscarZonaContratista, CalcularResumenHPMOLiquidado, CalcularResumenLiquidaciones, CalcularResumenLiquidacionesColombia, CalcularResumenValorizacionesAlemania, type CantidadMaterialAL04, type CierresPreliquidarAL02, type CierresPreliquidarAL04, CodigosMaterialDuctosAL02, CodigosMaterialDuctosAL04, CodigosMaterialSoplado, CodsMapeoMOMaterial, CodsMapeoMOMaterialNVT01, CodsMapeoMOMaterialSopladoClientes, CodsMapeoMOMaterialSopladoTroncal, CodsMapeoMO_Material_Arquertas, CompararFechas, CurrencyFormat, DocumentacionReplanteo, EstadoEspecialidad9612, FormatearErrorValidacionMOHijas, GemeindeChangeNomenclatura, GetCodigoFechaActual, type IDPContrato, type IDocumentacion, type ILineaValidacion, type IMOAndMaterialsRules, type IMORules, type IMateriales, type IResultadoValidacionMOHijas, MOCantidadNVT01, MOHijasAL04, MOHijasDEPTH, MapeoEspecialidades9612, MapeoMOBOMAL04, MapeoMatBOMAL04, type MatRetiradosType, type MatStockAlmacenType, type MatStockPersonalType$2 as MatStockPersonalType, type MatUtilizadosType$2 as MatUtilizadosType, type MaterialRequeridoAL04, type MoUoType$2 as MoUoType, ModelDataFlujosDocumentacionReplanteo, type ModoMaterialesAL04, ObtenerMONoReservada, ObtenerPrecioContratistaVigente, ObtenerZonaAsignada, type ResumenLiquidacionesType, type ResumenLiquidacionesTypeChile, type ResumenLiquidacionesTypeColombia, SEGMENT_TY, SOMACYL_CODIGO_CONTADOR_RETIRADO, SOMACYL_PHOTO_POSITIONS, type SomacylPhotoKey, type TARGET, type TipoPreliquidacionAL02, type TipoPreliquidacionAL04, UpdateNodosDocDP, ValidarRelacionMOHijasAL04, ValorizacionHelper, builSystemOption, buildDataMOFromMaterialRules, buildDataMaterialsRule, buildKeyMO, buildMenu, buildReservaMOJobMajorProjectsAlemaniaAL02, buildReservaMOJobMajorProjectsAlemaniaAL04, buildTenantCollectionName, calcularTotalMaterialValorizacionPeru9112, cantidadFijaMOAL04, cantidadMaterialAL04, checkAndBuildMaterialsFromStock, checkMaterialAvailability, codBalizaAL02, codBalizaAL04, codBalizaPreliquidarAL04, codBaremoUnicoDPAL04, codClientes, codIssueByPeriodoAL02, codMOAsfaltoHijasAL04, codMOAsfaltoMadreAL04, codMOClientesAL02, codMOClientesAL02Asfaltado, codMOClientesAL02OC, codMOClientesAL02Soplado, codMOClientes_ReglaLiquidacion1, codMODROPAL04, codMODROPAL04OC, codMODROPAL04Soplado, codMOExcluidos, codMOFTTFAL04, codMONoClientesAL02, codMONoClientesAL02Asfaltado, codMONoClientesAL02OC, codMONoClientesAL02Soplado, codMONoClientes_ReglaLiquidacion1, codMONoPreliquidablesAL04, codMOOcultosAL04, codMOPreliquidarTroncalAL02, codMOPreliquidarTroncalAL04, codMOPublico, codMOTroncalAL02, codMOTroncalAL02Asfaltado, codMOTroncalAL02OC, codMOTroncalAL02Soplado, codMOTroncalAL04, codMOTroncalAL04Asfaltado, codMOTroncalAL04Issue, codMOTroncalAL04OC, codMOTroncalAL04Soplado, codMOTroncalHistoricoAL02, codMOTroncal_ReglaLiquidacion1, codMaterialesOcultosAL04, codNoCliente, codSopladoRD, codigosBaremosSubcontrataAL02, codigosMOT1_F2, codigosMaterialDuctos, codigosMaterialUGG, codigosSopladoHP, collections, consumirStockPersonal, convertDates, dataFlujosHomePass, db_default, db_root, documentRequirementAltasNVT, empresas, esAsignacionPreliquidableAL02, esAsignacionPreliquidableAL04, esCadenaFechaISOValida, esMaterialDuctoAL04, esObjetoFecha, estadoRechazadaPorMetraje, estadoRechazadaPorMetrajeAL04, formatCurrencyV1, formatNumberSmart, formatNumberV1, formatPercentageV1, generateUniqueNumber, generateUniqueNumberArray, getCaptureDateSomacyl, getChannelName, getContainerName, getCookieToken, getDBName, getDateInTimeZone, getKeyRedisSortedSet, getModelDataAdicional, getNextID_Amap, getNextID_AsignacionValorizacion, getNextID_Valorizacion, getPrecioContratista, getPriceMaterial, getQueueName, getQueueNameSaveOneNotification, getRequestOrigin, hashCode, isValidDate, isValidPartialEntity, logTiempoProceso, mapaDPContratoPrecioFullAL02, mapaEstadoObraFaseAL02, mapaMOMaterialAL02, mapaMOMaterialAL04, mapaReglaSopladoClientes, mapaReglaSopladoTroncal, mapeoZonasSimilares, materialesAutomaticosAL04, materialesSeleccionablesAL04, modoMaterialesAL04, motivoConsumoAlmacenAL04, motivoConsumoMaterialAutomaticoDuctos, newCodMOTroncalReglaLiquidacion1, obtenerCodMOHomePass, obtenerCodMOHomePassAL04, obtenerDocumentacionClientes, obtenerDocumentacionNoClientes, obtenerEspecialidadesCerradas, obtenerEspecialidadesCerradasAL04, obtenerPrecioContratistaMaterial, obtenerPrecioManoObraAL02, obtenerPrecioManoObraAL04, obtenerTipoYCodigoMO, paisMap, parseDuplicateKeyError, prorratearMaterialesAL04, roundNumber, searchCurrentContractorSpecialtyPrice, setColModels, setContext, subMaterialesAL04, throwSomacylError, updatePriceContractorMOAL02, updatePriceContractorMOAL04, updatePriceMOAL02, updatePriceMOAL04, updatePricePBBudgetAlemaniaAL02, updatePricePBBudgetAlemaniaAL04, uuidRegex, validarAsfaltoAL04, validateNoLookup, validateUUIDv4Param, verifyDetailsFinalizeSomacyl, verifyFiles, verifyInventoryFinalize, verifyInventoryFinalizeSomacyl, verifyInventoryLimitsSomacyl, verifyPhotosFinalizeSomacyl, verifyPhotosNotFinalizedSomacyl };
|
package/dist/index.js
CHANGED
|
@@ -73,12 +73,18 @@ __export(index_exports, {
|
|
|
73
73
|
buildReservaMOJobMajorProjectsAlemaniaAL04: () => buildReservaMOJobMajorProjectsAlemaniaAL04,
|
|
74
74
|
buildTenantCollectionName: () => buildTenantCollectionName,
|
|
75
75
|
calcularTotalMaterialValorizacionPeru9112: () => calcularTotalMaterialValorizacionPeru9112,
|
|
76
|
+
cantidadFijaMOAL04: () => cantidadFijaMOAL04,
|
|
77
|
+
cantidadMaterialAL04: () => cantidadMaterialAL04,
|
|
76
78
|
checkAndBuildMaterialsFromStock: () => checkAndBuildMaterialsFromStock,
|
|
77
79
|
checkMaterialAvailability: () => checkMaterialAvailability,
|
|
78
80
|
codBalizaAL02: () => codBalizaAL02,
|
|
79
81
|
codBalizaAL04: () => codBalizaAL04,
|
|
82
|
+
codBalizaPreliquidarAL04: () => codBalizaPreliquidarAL04,
|
|
83
|
+
codBaremoUnicoDPAL04: () => codBaremoUnicoDPAL04,
|
|
80
84
|
codClientes: () => codClientes,
|
|
81
85
|
codIssueByPeriodoAL02: () => codIssueByPeriodoAL02,
|
|
86
|
+
codMOAsfaltoHijasAL04: () => codMOAsfaltoHijasAL04,
|
|
87
|
+
codMOAsfaltoMadreAL04: () => codMOAsfaltoMadreAL04,
|
|
82
88
|
codMOClientesAL02: () => codMOClientesAL02,
|
|
83
89
|
codMOClientesAL02Asfaltado: () => codMOClientesAL02Asfaltado,
|
|
84
90
|
codMOClientesAL02OC: () => codMOClientesAL02OC,
|
|
@@ -94,8 +100,10 @@ __export(index_exports, {
|
|
|
94
100
|
codMONoClientesAL02OC: () => codMONoClientesAL02OC,
|
|
95
101
|
codMONoClientesAL02Soplado: () => codMONoClientesAL02Soplado,
|
|
96
102
|
codMONoClientes_ReglaLiquidacion1: () => codMONoClientes_ReglaLiquidacion1,
|
|
103
|
+
codMONoPreliquidablesAL04: () => codMONoPreliquidablesAL04,
|
|
97
104
|
codMOOcultosAL04: () => codMOOcultosAL04,
|
|
98
105
|
codMOPreliquidarTroncalAL02: () => codMOPreliquidarTroncalAL02,
|
|
106
|
+
codMOPreliquidarTroncalAL04: () => codMOPreliquidarTroncalAL04,
|
|
99
107
|
codMOPublico: () => codMOPublico,
|
|
100
108
|
codMOTroncalAL02: () => codMOTroncalAL02,
|
|
101
109
|
codMOTroncalAL02Asfaltado: () => codMOTroncalAL02Asfaltado,
|
|
@@ -108,6 +116,7 @@ __export(index_exports, {
|
|
|
108
116
|
codMOTroncalAL04Soplado: () => codMOTroncalAL04Soplado,
|
|
109
117
|
codMOTroncalHistoricoAL02: () => codMOTroncalHistoricoAL02,
|
|
110
118
|
codMOTroncal_ReglaLiquidacion1: () => codMOTroncal_ReglaLiquidacion1,
|
|
119
|
+
codMaterialesOcultosAL04: () => codMaterialesOcultosAL04,
|
|
111
120
|
codNoCliente: () => codNoCliente,
|
|
112
121
|
codSopladoRD: () => codSopladoRD,
|
|
113
122
|
codigosBaremosSubcontrataAL02: () => codigosBaremosSubcontrataAL02,
|
|
@@ -124,9 +133,12 @@ __export(index_exports, {
|
|
|
124
133
|
documentRequirementAltasNVT: () => documentRequirementAltasNVT,
|
|
125
134
|
empresas: () => empresas,
|
|
126
135
|
esAsignacionPreliquidableAL02: () => esAsignacionPreliquidableAL02,
|
|
136
|
+
esAsignacionPreliquidableAL04: () => esAsignacionPreliquidableAL04,
|
|
127
137
|
esCadenaFechaISOValida: () => esCadenaFechaISOValida,
|
|
138
|
+
esMaterialDuctoAL04: () => esMaterialDuctoAL04,
|
|
128
139
|
esObjetoFecha: () => esObjetoFecha,
|
|
129
140
|
estadoRechazadaPorMetraje: () => estadoRechazadaPorMetraje,
|
|
141
|
+
estadoRechazadaPorMetrajeAL04: () => estadoRechazadaPorMetrajeAL04,
|
|
130
142
|
formatCurrencyV1: () => formatCurrencyV1,
|
|
131
143
|
formatNumberSmart: () => formatNumberSmart,
|
|
132
144
|
formatNumberV1: () => formatNumberV1,
|
|
@@ -160,22 +172,30 @@ __export(index_exports, {
|
|
|
160
172
|
mapaReglaSopladoClientes: () => mapaReglaSopladoClientes,
|
|
161
173
|
mapaReglaSopladoTroncal: () => mapaReglaSopladoTroncal,
|
|
162
174
|
mapeoZonasSimilares: () => mapeoZonasSimilares,
|
|
175
|
+
materialesAutomaticosAL04: () => materialesAutomaticosAL04,
|
|
176
|
+
materialesSeleccionablesAL04: () => materialesSeleccionablesAL04,
|
|
177
|
+
modoMaterialesAL04: () => modoMaterialesAL04,
|
|
178
|
+
motivoConsumoAlmacenAL04: () => motivoConsumoAlmacenAL04,
|
|
163
179
|
motivoConsumoMaterialAutomaticoDuctos: () => motivoConsumoMaterialAutomaticoDuctos,
|
|
164
180
|
newCodMOTroncalReglaLiquidacion1: () => newCodMOTroncalReglaLiquidacion1,
|
|
165
181
|
obtenerCodMOHomePass: () => obtenerCodMOHomePass,
|
|
182
|
+
obtenerCodMOHomePassAL04: () => obtenerCodMOHomePassAL04,
|
|
166
183
|
obtenerDocumentacionClientes: () => obtenerDocumentacionClientes,
|
|
167
184
|
obtenerDocumentacionNoClientes: () => obtenerDocumentacionNoClientes,
|
|
168
185
|
obtenerEspecialidadesCerradas: () => obtenerEspecialidadesCerradas,
|
|
186
|
+
obtenerEspecialidadesCerradasAL04: () => obtenerEspecialidadesCerradasAL04,
|
|
169
187
|
obtenerPrecioContratistaMaterial: () => obtenerPrecioContratistaMaterial,
|
|
170
188
|
obtenerPrecioManoObraAL02: () => obtenerPrecioManoObraAL02,
|
|
171
189
|
obtenerPrecioManoObraAL04: () => obtenerPrecioManoObraAL04,
|
|
172
190
|
obtenerTipoYCodigoMO: () => obtenerTipoYCodigoMO,
|
|
173
191
|
paisMap: () => paisMap,
|
|
174
192
|
parseDuplicateKeyError: () => parseDuplicateKeyError,
|
|
193
|
+
prorratearMaterialesAL04: () => prorratearMaterialesAL04,
|
|
175
194
|
roundNumber: () => roundNumber,
|
|
176
195
|
searchCurrentContractorSpecialtyPrice: () => searchCurrentContractorSpecialtyPrice,
|
|
177
196
|
setColModels: () => setColModels,
|
|
178
197
|
setContext: () => setContext,
|
|
198
|
+
subMaterialesAL04: () => subMaterialesAL04,
|
|
179
199
|
throwSomacylError: () => throwSomacylError,
|
|
180
200
|
updatePriceContractorMOAL02: () => updatePriceContractorMOAL02,
|
|
181
201
|
updatePriceContractorMOAL04: () => updatePriceContractorMOAL04,
|
|
@@ -184,6 +204,7 @@ __export(index_exports, {
|
|
|
184
204
|
updatePricePBBudgetAlemaniaAL02: () => updatePricePBBudgetAlemaniaAL02,
|
|
185
205
|
updatePricePBBudgetAlemaniaAL04: () => updatePricePBBudgetAlemaniaAL04,
|
|
186
206
|
uuidRegex: () => uuidRegex,
|
|
207
|
+
validarAsfaltoAL04: () => validarAsfaltoAL04,
|
|
187
208
|
validateNoLookup: () => validateNoLookup,
|
|
188
209
|
validateUUIDv4Param: () => validateUUIDv4Param,
|
|
189
210
|
verifyDetailsFinalizeSomacyl: () => verifyDetailsFinalizeSomacyl,
|
|
@@ -4126,6 +4147,196 @@ Debe preliquidar primero al menos ${v.DiferenciaExcedida.toFixed(2)} de ${v.Codi
|
|
|
4126
4147
|
}
|
|
4127
4148
|
__name(FormatearErrorValidacionMOHijas, "FormatearErrorValidacionMOHijas");
|
|
4128
4149
|
|
|
4150
|
+
// src/Programados/Alemania/AL02/codigosMOT1_F2.ts
|
|
4151
|
+
var codigosMOT1_F2 = [
|
|
4152
|
+
"010601600",
|
|
4153
|
+
"010600500",
|
|
4154
|
+
"031406300",
|
|
4155
|
+
"T13",
|
|
4156
|
+
"052208800",
|
|
4157
|
+
"010601300",
|
|
4158
|
+
"010600700",
|
|
4159
|
+
"073100600",
|
|
4160
|
+
"073101000",
|
|
4161
|
+
"073101300",
|
|
4162
|
+
"073101600",
|
|
4163
|
+
"010600600",
|
|
4164
|
+
"073100500",
|
|
4165
|
+
"010601000",
|
|
4166
|
+
"073100700"
|
|
4167
|
+
];
|
|
4168
|
+
|
|
4169
|
+
// src/Programados/Alemania/AL04/reglasPreliquidarAL04.ts
|
|
4170
|
+
var motivoConsumoAlmacenAL04 = "CONSUMO_MATERIAL_AUTOMATICO_DUCTOS";
|
|
4171
|
+
var estadoRechazadaPorMetrajeAL04 = "RECHAZADA POR METRAJE";
|
|
4172
|
+
var codMONoPreliquidablesAL04 = codigosMOT1_F2;
|
|
4173
|
+
var codBalizaPreliquidarAL04 = codBalizaAL04;
|
|
4174
|
+
var codBaremoUnicoDPAL04 = [
|
|
4175
|
+
"NVT01"
|
|
4176
|
+
];
|
|
4177
|
+
var codMOAsfaltoMadreAL04 = "AP01";
|
|
4178
|
+
var codMOAsfaltoHijasAL04 = codMOTroncalAL04Asfaltado;
|
|
4179
|
+
var codMOPreliquidarTroncalAL04 = codMOTroncalAL04;
|
|
4180
|
+
function obtenerCodMOHomePassAL04(tipo) {
|
|
4181
|
+
return tipo === "Business" ? codMOFTTFAL04 : codMODROPAL04;
|
|
4182
|
+
}
|
|
4183
|
+
__name(obtenerCodMOHomePassAL04, "obtenerCodMOHomePassAL04");
|
|
4184
|
+
function obtenerEspecialidadesCerradasAL04(cierres) {
|
|
4185
|
+
return [
|
|
4186
|
+
cierres.Asfaltado,
|
|
4187
|
+
cierres.OC,
|
|
4188
|
+
cierres.Soplado
|
|
4189
|
+
].filter((e, _i, arr) => arr[1]?.Estado && e?.Estado).map((e) => e?.Especialidad ?? "");
|
|
4190
|
+
}
|
|
4191
|
+
__name(obtenerEspecialidadesCerradasAL04, "obtenerEspecialidadesCerradasAL04");
|
|
4192
|
+
function esAsignacionPreliquidableAL04(asignacion, tipo, especialidadesCerradas) {
|
|
4193
|
+
const codMO = asignacion.ManoObra.Codigo;
|
|
4194
|
+
const permitida = tipo === "Troncal" ? codMOPreliquidarTroncalAL04.includes(codMO.trim()) : obtenerCodMOHomePassAL04(tipo).includes(codMO);
|
|
4195
|
+
return permitida && !especialidadesCerradas.includes(asignacion.Especialidad.Codigo);
|
|
4196
|
+
}
|
|
4197
|
+
__name(esAsignacionPreliquidableAL04, "esAsignacionPreliquidableAL04");
|
|
4198
|
+
var esMaterialDuctoAL04 = /* @__PURE__ */ __name((codigo) => CodigosMaterialDuctosAL04.includes(codigo), "esMaterialDuctoAL04");
|
|
4199
|
+
var codMaterialesOcultosAL04 = codMOOcultosAL04;
|
|
4200
|
+
function modoMaterialesAL04(codMO) {
|
|
4201
|
+
const regla = mapaMOMaterialAL04.get(codMO);
|
|
4202
|
+
if (!regla) return "libre";
|
|
4203
|
+
if (regla.Materiales instanceof Map) return "elegir";
|
|
4204
|
+
return regla.Materiales.length ? "automatico" : "sinMaterial";
|
|
4205
|
+
}
|
|
4206
|
+
__name(modoMaterialesAL04, "modoMaterialesAL04");
|
|
4207
|
+
function cantidadFijaMOAL04(codMO) {
|
|
4208
|
+
const regla = mapaMOMaterialAL04.get(codMO);
|
|
4209
|
+
return regla?.CantidadFija ? regla.Cantidad : void 0;
|
|
4210
|
+
}
|
|
4211
|
+
__name(cantidadFijaMOAL04, "cantidadFijaMOAL04");
|
|
4212
|
+
function materialesAutomaticosAL04(codMO, cantidadMO) {
|
|
4213
|
+
const regla = mapaMOMaterialAL04.get(codMO);
|
|
4214
|
+
if (!regla || !Array.isArray(regla.Materiales)) return [];
|
|
4215
|
+
return regla.Materiales.map((material) => ({
|
|
4216
|
+
Codigo: material.Codigo,
|
|
4217
|
+
Cantidad: (material.CantidadFija ? material.Cantidad : cantidadMO) * material.Factor,
|
|
4218
|
+
StockPersonal: esMaterialDuctoAL04(material.Codigo)
|
|
4219
|
+
}));
|
|
4220
|
+
}
|
|
4221
|
+
__name(materialesAutomaticosAL04, "materialesAutomaticosAL04");
|
|
4222
|
+
function materialesSeleccionablesAL04(codMO) {
|
|
4223
|
+
const regla = mapaMOMaterialAL04.get(codMO);
|
|
4224
|
+
if (!regla) return void 0;
|
|
4225
|
+
return regla.Materiales instanceof Map ? [
|
|
4226
|
+
...regla.Materiales.keys()
|
|
4227
|
+
] : regla.Materiales.map((e) => e.Codigo);
|
|
4228
|
+
}
|
|
4229
|
+
__name(materialesSeleccionablesAL04, "materialesSeleccionablesAL04");
|
|
4230
|
+
var reglaMaterialAL04 = /* @__PURE__ */ __name((codMO, codMaterial) => {
|
|
4231
|
+
const regla = mapaMOMaterialAL04.get(codMO);
|
|
4232
|
+
return regla && regla.Materiales instanceof Map ? regla.Materiales.get(codMaterial) : void 0;
|
|
4233
|
+
}, "reglaMaterialAL04");
|
|
4234
|
+
function cantidadMaterialAL04(codMO, codMaterial, cantidadMO) {
|
|
4235
|
+
const regla = reglaMaterialAL04(codMO, codMaterial);
|
|
4236
|
+
if (!regla || !Array.isArray(regla.Materiales)) return {
|
|
4237
|
+
Bloqueada: false,
|
|
4238
|
+
PideEmpalmes: false
|
|
4239
|
+
};
|
|
4240
|
+
const PideEmpalmes = regla.Materiales.some((e) => !e.CantidadFija);
|
|
4241
|
+
if (regla.CantidadPadre) return {
|
|
4242
|
+
Cantidad: cantidadMO * regla.Factor,
|
|
4243
|
+
Bloqueada: true,
|
|
4244
|
+
PideEmpalmes
|
|
4245
|
+
};
|
|
4246
|
+
if (regla.CantidadFija) return {
|
|
4247
|
+
Cantidad: regla.Cantidad * regla.Factor,
|
|
4248
|
+
Bloqueada: true,
|
|
4249
|
+
PideEmpalmes
|
|
4250
|
+
};
|
|
4251
|
+
return {
|
|
4252
|
+
Bloqueada: false,
|
|
4253
|
+
PideEmpalmes
|
|
4254
|
+
};
|
|
4255
|
+
}
|
|
4256
|
+
__name(cantidadMaterialAL04, "cantidadMaterialAL04");
|
|
4257
|
+
function subMaterialesAL04(codMO, codMaterial, cantidadMaterial, empalmes) {
|
|
4258
|
+
const regla = reglaMaterialAL04(codMO, codMaterial);
|
|
4259
|
+
if (!regla || !Array.isArray(regla.Materiales)) return [];
|
|
4260
|
+
const pideEmpalmes = regla.Materiales.some((e) => !e.CantidadFija);
|
|
4261
|
+
const result = [];
|
|
4262
|
+
for (const material of regla.Materiales) {
|
|
4263
|
+
const cantidad = (material.CantidadFija ? material.Cantidad : material.CantidadPadre ? cantidadMaterial : pideEmpalmes ? empalmes : 0) * material.Factor;
|
|
4264
|
+
if (cantidad === 0 && pideEmpalmes) continue;
|
|
4265
|
+
if (cantidad === 0) throw new Error("Error al obtener cantidad");
|
|
4266
|
+
result.push({
|
|
4267
|
+
Codigo: material.Codigo,
|
|
4268
|
+
Cantidad: cantidad,
|
|
4269
|
+
StockPersonal: esMaterialDuctoAL04(material.Codigo)
|
|
4270
|
+
});
|
|
4271
|
+
}
|
|
4272
|
+
return result;
|
|
4273
|
+
}
|
|
4274
|
+
__name(subMaterialesAL04, "subMaterialesAL04");
|
|
4275
|
+
function prorratearMaterialesAL04(materiales, cantidadPadre, cantidadTotal) {
|
|
4276
|
+
const porcentaje = cantidadPadre / cantidadTotal;
|
|
4277
|
+
const padre = [];
|
|
4278
|
+
const hija = [];
|
|
4279
|
+
for (const material of materiales) {
|
|
4280
|
+
if (!esMaterialDuctoAL04(material.Codigo)) {
|
|
4281
|
+
padre.push(material);
|
|
4282
|
+
continue;
|
|
4283
|
+
}
|
|
4284
|
+
const cantidad = round2(material.Cantidad * porcentaje);
|
|
4285
|
+
const informada = round2(material.CantidadInformada * porcentaje);
|
|
4286
|
+
padre.push({
|
|
4287
|
+
...material,
|
|
4288
|
+
Cantidad: cantidad,
|
|
4289
|
+
CantidadInformada: informada
|
|
4290
|
+
});
|
|
4291
|
+
hija.push({
|
|
4292
|
+
...material,
|
|
4293
|
+
Cantidad: resta(material.Cantidad, cantidad),
|
|
4294
|
+
CantidadInformada: resta(material.CantidadInformada, informada)
|
|
4295
|
+
});
|
|
4296
|
+
}
|
|
4297
|
+
return {
|
|
4298
|
+
padre,
|
|
4299
|
+
hija
|
|
4300
|
+
};
|
|
4301
|
+
}
|
|
4302
|
+
__name(prorratearMaterialesAL04, "prorratearMaterialesAL04");
|
|
4303
|
+
var round2 = /* @__PURE__ */ __name((value) => Number(value.toFixed(2)), "round2");
|
|
4304
|
+
var resta = /* @__PURE__ */ __name((total, parte) => Math.round((total - parte) * 1e6) / 1e6, "resta");
|
|
4305
|
+
function validarAsfaltoAL04(moUo, manoObra, codigosNuevos) {
|
|
4306
|
+
const codigos = [
|
|
4307
|
+
codMOAsfaltoMadreAL04,
|
|
4308
|
+
...codMOAsfaltoHijasAL04
|
|
4309
|
+
];
|
|
4310
|
+
if (!codigosNuevos.some((e) => codigos.includes(e))) return null;
|
|
4311
|
+
const lineas = /* @__PURE__ */ new Map();
|
|
4312
|
+
for (const val of manoObra.Valorizacion ?? []) {
|
|
4313
|
+
const lcc = val.DetalleChile?.LineaCodigoCub;
|
|
4314
|
+
if (lcc) lineas.set(lcc, {
|
|
4315
|
+
codigo: val.Codigo,
|
|
4316
|
+
descripcion: val.Descripcion || ""
|
|
4317
|
+
});
|
|
4318
|
+
}
|
|
4319
|
+
let totalMadre = 0;
|
|
4320
|
+
let totalHija = 0;
|
|
4321
|
+
let descMadre = "";
|
|
4322
|
+
for (const item of moUo) {
|
|
4323
|
+
const info = lineas.get(item.LineaCodigoCub);
|
|
4324
|
+
if (!info) continue;
|
|
4325
|
+
if (info.codigo === codMOAsfaltoMadreAL04) {
|
|
4326
|
+
totalMadre += item.Cantidad;
|
|
4327
|
+
descMadre ||= info.descripcion;
|
|
4328
|
+
}
|
|
4329
|
+
if (codMOAsfaltoHijasAL04.includes(info.codigo)) totalHija += item.Cantidad;
|
|
4330
|
+
}
|
|
4331
|
+
if (totalHija - totalMadre <= 1e-3) return null;
|
|
4332
|
+
const grupo = "Asfalto (AP02 / ExtraWide)";
|
|
4333
|
+
const excedente = (totalHija - totalMadre).toFixed(2);
|
|
4334
|
+
return `No se puede preliquidar porque la cantidad total de ${grupo} (${totalHija.toFixed(2)} m) supera la cantidad de ${descMadre || codMOAsfaltoMadreAL04} (${codMOAsfaltoMadreAL04}: ${totalMadre.toFixed(2)} m) preliquidada en esta obra.
|
|
4335
|
+
Excedente: ${excedente} m.
|
|
4336
|
+
Debe preliquidar primero al menos ${excedente} m de ${codMOAsfaltoMadreAL04} antes de agregar m\xE1s ${grupo}.`;
|
|
4337
|
+
}
|
|
4338
|
+
__name(validarAsfaltoAL04, "validarAsfaltoAL04");
|
|
4339
|
+
|
|
4129
4340
|
// src/Programados/Alemania/codMOTroncal_ReglaLiquidacion1.ts
|
|
4130
4341
|
var codMOTroncal_ReglaLiquidacion1 = [
|
|
4131
4342
|
"011304100",
|
|
@@ -4272,25 +4483,6 @@ var codMOPublico = [
|
|
|
4272
4483
|
"073101500"
|
|
4273
4484
|
];
|
|
4274
4485
|
|
|
4275
|
-
// src/Programados/Alemania/AL02/codigosMOT1_F2.ts
|
|
4276
|
-
var codigosMOT1_F2 = [
|
|
4277
|
-
"010601600",
|
|
4278
|
-
"010600500",
|
|
4279
|
-
"031406300",
|
|
4280
|
-
"T13",
|
|
4281
|
-
"052208800",
|
|
4282
|
-
"010601300",
|
|
4283
|
-
"010600700",
|
|
4284
|
-
"073100600",
|
|
4285
|
-
"073101000",
|
|
4286
|
-
"073101300",
|
|
4287
|
-
"073101600",
|
|
4288
|
-
"010600600",
|
|
4289
|
-
"073100500",
|
|
4290
|
-
"010601000",
|
|
4291
|
-
"073100700"
|
|
4292
|
-
];
|
|
4293
|
-
|
|
4294
4486
|
// src/Programados/Alemania/codigosMOHP.ts
|
|
4295
4487
|
var codClientes = [
|
|
4296
4488
|
"031406300",
|
|
@@ -17579,12 +17771,18 @@ __name(validateUUIDv4Param, "validateUUIDv4Param");
|
|
|
17579
17771
|
buildReservaMOJobMajorProjectsAlemaniaAL04,
|
|
17580
17772
|
buildTenantCollectionName,
|
|
17581
17773
|
calcularTotalMaterialValorizacionPeru9112,
|
|
17774
|
+
cantidadFijaMOAL04,
|
|
17775
|
+
cantidadMaterialAL04,
|
|
17582
17776
|
checkAndBuildMaterialsFromStock,
|
|
17583
17777
|
checkMaterialAvailability,
|
|
17584
17778
|
codBalizaAL02,
|
|
17585
17779
|
codBalizaAL04,
|
|
17780
|
+
codBalizaPreliquidarAL04,
|
|
17781
|
+
codBaremoUnicoDPAL04,
|
|
17586
17782
|
codClientes,
|
|
17587
17783
|
codIssueByPeriodoAL02,
|
|
17784
|
+
codMOAsfaltoHijasAL04,
|
|
17785
|
+
codMOAsfaltoMadreAL04,
|
|
17588
17786
|
codMOClientesAL02,
|
|
17589
17787
|
codMOClientesAL02Asfaltado,
|
|
17590
17788
|
codMOClientesAL02OC,
|
|
@@ -17600,8 +17798,10 @@ __name(validateUUIDv4Param, "validateUUIDv4Param");
|
|
|
17600
17798
|
codMONoClientesAL02OC,
|
|
17601
17799
|
codMONoClientesAL02Soplado,
|
|
17602
17800
|
codMONoClientes_ReglaLiquidacion1,
|
|
17801
|
+
codMONoPreliquidablesAL04,
|
|
17603
17802
|
codMOOcultosAL04,
|
|
17604
17803
|
codMOPreliquidarTroncalAL02,
|
|
17804
|
+
codMOPreliquidarTroncalAL04,
|
|
17605
17805
|
codMOPublico,
|
|
17606
17806
|
codMOTroncalAL02,
|
|
17607
17807
|
codMOTroncalAL02Asfaltado,
|
|
@@ -17614,6 +17814,7 @@ __name(validateUUIDv4Param, "validateUUIDv4Param");
|
|
|
17614
17814
|
codMOTroncalAL04Soplado,
|
|
17615
17815
|
codMOTroncalHistoricoAL02,
|
|
17616
17816
|
codMOTroncal_ReglaLiquidacion1,
|
|
17817
|
+
codMaterialesOcultosAL04,
|
|
17617
17818
|
codNoCliente,
|
|
17618
17819
|
codSopladoRD,
|
|
17619
17820
|
codigosBaremosSubcontrataAL02,
|
|
@@ -17630,9 +17831,12 @@ __name(validateUUIDv4Param, "validateUUIDv4Param");
|
|
|
17630
17831
|
documentRequirementAltasNVT,
|
|
17631
17832
|
empresas,
|
|
17632
17833
|
esAsignacionPreliquidableAL02,
|
|
17834
|
+
esAsignacionPreliquidableAL04,
|
|
17633
17835
|
esCadenaFechaISOValida,
|
|
17836
|
+
esMaterialDuctoAL04,
|
|
17634
17837
|
esObjetoFecha,
|
|
17635
17838
|
estadoRechazadaPorMetraje,
|
|
17839
|
+
estadoRechazadaPorMetrajeAL04,
|
|
17636
17840
|
formatCurrencyV1,
|
|
17637
17841
|
formatNumberSmart,
|
|
17638
17842
|
formatNumberV1,
|
|
@@ -17666,22 +17870,30 @@ __name(validateUUIDv4Param, "validateUUIDv4Param");
|
|
|
17666
17870
|
mapaReglaSopladoClientes,
|
|
17667
17871
|
mapaReglaSopladoTroncal,
|
|
17668
17872
|
mapeoZonasSimilares,
|
|
17873
|
+
materialesAutomaticosAL04,
|
|
17874
|
+
materialesSeleccionablesAL04,
|
|
17875
|
+
modoMaterialesAL04,
|
|
17876
|
+
motivoConsumoAlmacenAL04,
|
|
17669
17877
|
motivoConsumoMaterialAutomaticoDuctos,
|
|
17670
17878
|
newCodMOTroncalReglaLiquidacion1,
|
|
17671
17879
|
obtenerCodMOHomePass,
|
|
17880
|
+
obtenerCodMOHomePassAL04,
|
|
17672
17881
|
obtenerDocumentacionClientes,
|
|
17673
17882
|
obtenerDocumentacionNoClientes,
|
|
17674
17883
|
obtenerEspecialidadesCerradas,
|
|
17884
|
+
obtenerEspecialidadesCerradasAL04,
|
|
17675
17885
|
obtenerPrecioContratistaMaterial,
|
|
17676
17886
|
obtenerPrecioManoObraAL02,
|
|
17677
17887
|
obtenerPrecioManoObraAL04,
|
|
17678
17888
|
obtenerTipoYCodigoMO,
|
|
17679
17889
|
paisMap,
|
|
17680
17890
|
parseDuplicateKeyError,
|
|
17891
|
+
prorratearMaterialesAL04,
|
|
17681
17892
|
roundNumber,
|
|
17682
17893
|
searchCurrentContractorSpecialtyPrice,
|
|
17683
17894
|
setColModels,
|
|
17684
17895
|
setContext,
|
|
17896
|
+
subMaterialesAL04,
|
|
17685
17897
|
throwSomacylError,
|
|
17686
17898
|
updatePriceContractorMOAL02,
|
|
17687
17899
|
updatePriceContractorMOAL04,
|
|
@@ -17690,6 +17902,7 @@ __name(validateUUIDv4Param, "validateUUIDv4Param");
|
|
|
17690
17902
|
updatePricePBBudgetAlemaniaAL02,
|
|
17691
17903
|
updatePricePBBudgetAlemaniaAL04,
|
|
17692
17904
|
uuidRegex,
|
|
17905
|
+
validarAsfaltoAL04,
|
|
17693
17906
|
validateNoLookup,
|
|
17694
17907
|
validateUUIDv4Param,
|
|
17695
17908
|
verifyDetailsFinalizeSomacyl,
|
package/dist/index.mjs
CHANGED
|
@@ -3931,6 +3931,196 @@ Debe preliquidar primero al menos ${v.DiferenciaExcedida.toFixed(2)} de ${v.Codi
|
|
|
3931
3931
|
}
|
|
3932
3932
|
__name(FormatearErrorValidacionMOHijas, "FormatearErrorValidacionMOHijas");
|
|
3933
3933
|
|
|
3934
|
+
// src/Programados/Alemania/AL02/codigosMOT1_F2.ts
|
|
3935
|
+
var codigosMOT1_F2 = [
|
|
3936
|
+
"010601600",
|
|
3937
|
+
"010600500",
|
|
3938
|
+
"031406300",
|
|
3939
|
+
"T13",
|
|
3940
|
+
"052208800",
|
|
3941
|
+
"010601300",
|
|
3942
|
+
"010600700",
|
|
3943
|
+
"073100600",
|
|
3944
|
+
"073101000",
|
|
3945
|
+
"073101300",
|
|
3946
|
+
"073101600",
|
|
3947
|
+
"010600600",
|
|
3948
|
+
"073100500",
|
|
3949
|
+
"010601000",
|
|
3950
|
+
"073100700"
|
|
3951
|
+
];
|
|
3952
|
+
|
|
3953
|
+
// src/Programados/Alemania/AL04/reglasPreliquidarAL04.ts
|
|
3954
|
+
var motivoConsumoAlmacenAL04 = "CONSUMO_MATERIAL_AUTOMATICO_DUCTOS";
|
|
3955
|
+
var estadoRechazadaPorMetrajeAL04 = "RECHAZADA POR METRAJE";
|
|
3956
|
+
var codMONoPreliquidablesAL04 = codigosMOT1_F2;
|
|
3957
|
+
var codBalizaPreliquidarAL04 = codBalizaAL04;
|
|
3958
|
+
var codBaremoUnicoDPAL04 = [
|
|
3959
|
+
"NVT01"
|
|
3960
|
+
];
|
|
3961
|
+
var codMOAsfaltoMadreAL04 = "AP01";
|
|
3962
|
+
var codMOAsfaltoHijasAL04 = codMOTroncalAL04Asfaltado;
|
|
3963
|
+
var codMOPreliquidarTroncalAL04 = codMOTroncalAL04;
|
|
3964
|
+
function obtenerCodMOHomePassAL04(tipo) {
|
|
3965
|
+
return tipo === "Business" ? codMOFTTFAL04 : codMODROPAL04;
|
|
3966
|
+
}
|
|
3967
|
+
__name(obtenerCodMOHomePassAL04, "obtenerCodMOHomePassAL04");
|
|
3968
|
+
function obtenerEspecialidadesCerradasAL04(cierres) {
|
|
3969
|
+
return [
|
|
3970
|
+
cierres.Asfaltado,
|
|
3971
|
+
cierres.OC,
|
|
3972
|
+
cierres.Soplado
|
|
3973
|
+
].filter((e, _i, arr) => arr[1]?.Estado && e?.Estado).map((e) => e?.Especialidad ?? "");
|
|
3974
|
+
}
|
|
3975
|
+
__name(obtenerEspecialidadesCerradasAL04, "obtenerEspecialidadesCerradasAL04");
|
|
3976
|
+
function esAsignacionPreliquidableAL04(asignacion, tipo, especialidadesCerradas) {
|
|
3977
|
+
const codMO = asignacion.ManoObra.Codigo;
|
|
3978
|
+
const permitida = tipo === "Troncal" ? codMOPreliquidarTroncalAL04.includes(codMO.trim()) : obtenerCodMOHomePassAL04(tipo).includes(codMO);
|
|
3979
|
+
return permitida && !especialidadesCerradas.includes(asignacion.Especialidad.Codigo);
|
|
3980
|
+
}
|
|
3981
|
+
__name(esAsignacionPreliquidableAL04, "esAsignacionPreliquidableAL04");
|
|
3982
|
+
var esMaterialDuctoAL04 = /* @__PURE__ */ __name((codigo) => CodigosMaterialDuctosAL04.includes(codigo), "esMaterialDuctoAL04");
|
|
3983
|
+
var codMaterialesOcultosAL04 = codMOOcultosAL04;
|
|
3984
|
+
function modoMaterialesAL04(codMO) {
|
|
3985
|
+
const regla = mapaMOMaterialAL04.get(codMO);
|
|
3986
|
+
if (!regla) return "libre";
|
|
3987
|
+
if (regla.Materiales instanceof Map) return "elegir";
|
|
3988
|
+
return regla.Materiales.length ? "automatico" : "sinMaterial";
|
|
3989
|
+
}
|
|
3990
|
+
__name(modoMaterialesAL04, "modoMaterialesAL04");
|
|
3991
|
+
function cantidadFijaMOAL04(codMO) {
|
|
3992
|
+
const regla = mapaMOMaterialAL04.get(codMO);
|
|
3993
|
+
return regla?.CantidadFija ? regla.Cantidad : void 0;
|
|
3994
|
+
}
|
|
3995
|
+
__name(cantidadFijaMOAL04, "cantidadFijaMOAL04");
|
|
3996
|
+
function materialesAutomaticosAL04(codMO, cantidadMO) {
|
|
3997
|
+
const regla = mapaMOMaterialAL04.get(codMO);
|
|
3998
|
+
if (!regla || !Array.isArray(regla.Materiales)) return [];
|
|
3999
|
+
return regla.Materiales.map((material) => ({
|
|
4000
|
+
Codigo: material.Codigo,
|
|
4001
|
+
Cantidad: (material.CantidadFija ? material.Cantidad : cantidadMO) * material.Factor,
|
|
4002
|
+
StockPersonal: esMaterialDuctoAL04(material.Codigo)
|
|
4003
|
+
}));
|
|
4004
|
+
}
|
|
4005
|
+
__name(materialesAutomaticosAL04, "materialesAutomaticosAL04");
|
|
4006
|
+
function materialesSeleccionablesAL04(codMO) {
|
|
4007
|
+
const regla = mapaMOMaterialAL04.get(codMO);
|
|
4008
|
+
if (!regla) return void 0;
|
|
4009
|
+
return regla.Materiales instanceof Map ? [
|
|
4010
|
+
...regla.Materiales.keys()
|
|
4011
|
+
] : regla.Materiales.map((e) => e.Codigo);
|
|
4012
|
+
}
|
|
4013
|
+
__name(materialesSeleccionablesAL04, "materialesSeleccionablesAL04");
|
|
4014
|
+
var reglaMaterialAL04 = /* @__PURE__ */ __name((codMO, codMaterial) => {
|
|
4015
|
+
const regla = mapaMOMaterialAL04.get(codMO);
|
|
4016
|
+
return regla && regla.Materiales instanceof Map ? regla.Materiales.get(codMaterial) : void 0;
|
|
4017
|
+
}, "reglaMaterialAL04");
|
|
4018
|
+
function cantidadMaterialAL04(codMO, codMaterial, cantidadMO) {
|
|
4019
|
+
const regla = reglaMaterialAL04(codMO, codMaterial);
|
|
4020
|
+
if (!regla || !Array.isArray(regla.Materiales)) return {
|
|
4021
|
+
Bloqueada: false,
|
|
4022
|
+
PideEmpalmes: false
|
|
4023
|
+
};
|
|
4024
|
+
const PideEmpalmes = regla.Materiales.some((e) => !e.CantidadFija);
|
|
4025
|
+
if (regla.CantidadPadre) return {
|
|
4026
|
+
Cantidad: cantidadMO * regla.Factor,
|
|
4027
|
+
Bloqueada: true,
|
|
4028
|
+
PideEmpalmes
|
|
4029
|
+
};
|
|
4030
|
+
if (regla.CantidadFija) return {
|
|
4031
|
+
Cantidad: regla.Cantidad * regla.Factor,
|
|
4032
|
+
Bloqueada: true,
|
|
4033
|
+
PideEmpalmes
|
|
4034
|
+
};
|
|
4035
|
+
return {
|
|
4036
|
+
Bloqueada: false,
|
|
4037
|
+
PideEmpalmes
|
|
4038
|
+
};
|
|
4039
|
+
}
|
|
4040
|
+
__name(cantidadMaterialAL04, "cantidadMaterialAL04");
|
|
4041
|
+
function subMaterialesAL04(codMO, codMaterial, cantidadMaterial, empalmes) {
|
|
4042
|
+
const regla = reglaMaterialAL04(codMO, codMaterial);
|
|
4043
|
+
if (!regla || !Array.isArray(regla.Materiales)) return [];
|
|
4044
|
+
const pideEmpalmes = regla.Materiales.some((e) => !e.CantidadFija);
|
|
4045
|
+
const result = [];
|
|
4046
|
+
for (const material of regla.Materiales) {
|
|
4047
|
+
const cantidad = (material.CantidadFija ? material.Cantidad : material.CantidadPadre ? cantidadMaterial : pideEmpalmes ? empalmes : 0) * material.Factor;
|
|
4048
|
+
if (cantidad === 0 && pideEmpalmes) continue;
|
|
4049
|
+
if (cantidad === 0) throw new Error("Error al obtener cantidad");
|
|
4050
|
+
result.push({
|
|
4051
|
+
Codigo: material.Codigo,
|
|
4052
|
+
Cantidad: cantidad,
|
|
4053
|
+
StockPersonal: esMaterialDuctoAL04(material.Codigo)
|
|
4054
|
+
});
|
|
4055
|
+
}
|
|
4056
|
+
return result;
|
|
4057
|
+
}
|
|
4058
|
+
__name(subMaterialesAL04, "subMaterialesAL04");
|
|
4059
|
+
function prorratearMaterialesAL04(materiales, cantidadPadre, cantidadTotal) {
|
|
4060
|
+
const porcentaje = cantidadPadre / cantidadTotal;
|
|
4061
|
+
const padre = [];
|
|
4062
|
+
const hija = [];
|
|
4063
|
+
for (const material of materiales) {
|
|
4064
|
+
if (!esMaterialDuctoAL04(material.Codigo)) {
|
|
4065
|
+
padre.push(material);
|
|
4066
|
+
continue;
|
|
4067
|
+
}
|
|
4068
|
+
const cantidad = round2(material.Cantidad * porcentaje);
|
|
4069
|
+
const informada = round2(material.CantidadInformada * porcentaje);
|
|
4070
|
+
padre.push({
|
|
4071
|
+
...material,
|
|
4072
|
+
Cantidad: cantidad,
|
|
4073
|
+
CantidadInformada: informada
|
|
4074
|
+
});
|
|
4075
|
+
hija.push({
|
|
4076
|
+
...material,
|
|
4077
|
+
Cantidad: resta(material.Cantidad, cantidad),
|
|
4078
|
+
CantidadInformada: resta(material.CantidadInformada, informada)
|
|
4079
|
+
});
|
|
4080
|
+
}
|
|
4081
|
+
return {
|
|
4082
|
+
padre,
|
|
4083
|
+
hija
|
|
4084
|
+
};
|
|
4085
|
+
}
|
|
4086
|
+
__name(prorratearMaterialesAL04, "prorratearMaterialesAL04");
|
|
4087
|
+
var round2 = /* @__PURE__ */ __name((value) => Number(value.toFixed(2)), "round2");
|
|
4088
|
+
var resta = /* @__PURE__ */ __name((total, parte) => Math.round((total - parte) * 1e6) / 1e6, "resta");
|
|
4089
|
+
function validarAsfaltoAL04(moUo, manoObra, codigosNuevos) {
|
|
4090
|
+
const codigos = [
|
|
4091
|
+
codMOAsfaltoMadreAL04,
|
|
4092
|
+
...codMOAsfaltoHijasAL04
|
|
4093
|
+
];
|
|
4094
|
+
if (!codigosNuevos.some((e) => codigos.includes(e))) return null;
|
|
4095
|
+
const lineas = /* @__PURE__ */ new Map();
|
|
4096
|
+
for (const val of manoObra.Valorizacion ?? []) {
|
|
4097
|
+
const lcc = val.DetalleChile?.LineaCodigoCub;
|
|
4098
|
+
if (lcc) lineas.set(lcc, {
|
|
4099
|
+
codigo: val.Codigo,
|
|
4100
|
+
descripcion: val.Descripcion || ""
|
|
4101
|
+
});
|
|
4102
|
+
}
|
|
4103
|
+
let totalMadre = 0;
|
|
4104
|
+
let totalHija = 0;
|
|
4105
|
+
let descMadre = "";
|
|
4106
|
+
for (const item of moUo) {
|
|
4107
|
+
const info = lineas.get(item.LineaCodigoCub);
|
|
4108
|
+
if (!info) continue;
|
|
4109
|
+
if (info.codigo === codMOAsfaltoMadreAL04) {
|
|
4110
|
+
totalMadre += item.Cantidad;
|
|
4111
|
+
descMadre ||= info.descripcion;
|
|
4112
|
+
}
|
|
4113
|
+
if (codMOAsfaltoHijasAL04.includes(info.codigo)) totalHija += item.Cantidad;
|
|
4114
|
+
}
|
|
4115
|
+
if (totalHija - totalMadre <= 1e-3) return null;
|
|
4116
|
+
const grupo = "Asfalto (AP02 / ExtraWide)";
|
|
4117
|
+
const excedente = (totalHija - totalMadre).toFixed(2);
|
|
4118
|
+
return `No se puede preliquidar porque la cantidad total de ${grupo} (${totalHija.toFixed(2)} m) supera la cantidad de ${descMadre || codMOAsfaltoMadreAL04} (${codMOAsfaltoMadreAL04}: ${totalMadre.toFixed(2)} m) preliquidada en esta obra.
|
|
4119
|
+
Excedente: ${excedente} m.
|
|
4120
|
+
Debe preliquidar primero al menos ${excedente} m de ${codMOAsfaltoMadreAL04} antes de agregar m\xE1s ${grupo}.`;
|
|
4121
|
+
}
|
|
4122
|
+
__name(validarAsfaltoAL04, "validarAsfaltoAL04");
|
|
4123
|
+
|
|
3934
4124
|
// src/Programados/Alemania/codMOTroncal_ReglaLiquidacion1.ts
|
|
3935
4125
|
var codMOTroncal_ReglaLiquidacion1 = [
|
|
3936
4126
|
"011304100",
|
|
@@ -4077,25 +4267,6 @@ var codMOPublico = [
|
|
|
4077
4267
|
"073101500"
|
|
4078
4268
|
];
|
|
4079
4269
|
|
|
4080
|
-
// src/Programados/Alemania/AL02/codigosMOT1_F2.ts
|
|
4081
|
-
var codigosMOT1_F2 = [
|
|
4082
|
-
"010601600",
|
|
4083
|
-
"010600500",
|
|
4084
|
-
"031406300",
|
|
4085
|
-
"T13",
|
|
4086
|
-
"052208800",
|
|
4087
|
-
"010601300",
|
|
4088
|
-
"010600700",
|
|
4089
|
-
"073100600",
|
|
4090
|
-
"073101000",
|
|
4091
|
-
"073101300",
|
|
4092
|
-
"073101600",
|
|
4093
|
-
"010600600",
|
|
4094
|
-
"073100500",
|
|
4095
|
-
"010601000",
|
|
4096
|
-
"073100700"
|
|
4097
|
-
];
|
|
4098
|
-
|
|
4099
4270
|
// src/Programados/Alemania/codigosMOHP.ts
|
|
4100
4271
|
var codClientes = [
|
|
4101
4272
|
"031406300",
|
|
@@ -17383,12 +17554,18 @@ export {
|
|
|
17383
17554
|
buildReservaMOJobMajorProjectsAlemaniaAL04,
|
|
17384
17555
|
buildTenantCollectionName,
|
|
17385
17556
|
calcularTotalMaterialValorizacionPeru9112,
|
|
17557
|
+
cantidadFijaMOAL04,
|
|
17558
|
+
cantidadMaterialAL04,
|
|
17386
17559
|
checkAndBuildMaterialsFromStock,
|
|
17387
17560
|
checkMaterialAvailability,
|
|
17388
17561
|
codBalizaAL02,
|
|
17389
17562
|
codBalizaAL04,
|
|
17563
|
+
codBalizaPreliquidarAL04,
|
|
17564
|
+
codBaremoUnicoDPAL04,
|
|
17390
17565
|
codClientes,
|
|
17391
17566
|
codIssueByPeriodoAL02,
|
|
17567
|
+
codMOAsfaltoHijasAL04,
|
|
17568
|
+
codMOAsfaltoMadreAL04,
|
|
17392
17569
|
codMOClientesAL02,
|
|
17393
17570
|
codMOClientesAL02Asfaltado,
|
|
17394
17571
|
codMOClientesAL02OC,
|
|
@@ -17404,8 +17581,10 @@ export {
|
|
|
17404
17581
|
codMONoClientesAL02OC,
|
|
17405
17582
|
codMONoClientesAL02Soplado,
|
|
17406
17583
|
codMONoClientes_ReglaLiquidacion1,
|
|
17584
|
+
codMONoPreliquidablesAL04,
|
|
17407
17585
|
codMOOcultosAL04,
|
|
17408
17586
|
codMOPreliquidarTroncalAL02,
|
|
17587
|
+
codMOPreliquidarTroncalAL04,
|
|
17409
17588
|
codMOPublico,
|
|
17410
17589
|
codMOTroncalAL02,
|
|
17411
17590
|
codMOTroncalAL02Asfaltado,
|
|
@@ -17418,6 +17597,7 @@ export {
|
|
|
17418
17597
|
codMOTroncalAL04Soplado,
|
|
17419
17598
|
codMOTroncalHistoricoAL02,
|
|
17420
17599
|
codMOTroncal_ReglaLiquidacion1,
|
|
17600
|
+
codMaterialesOcultosAL04,
|
|
17421
17601
|
codNoCliente,
|
|
17422
17602
|
codSopladoRD,
|
|
17423
17603
|
codigosBaremosSubcontrataAL02,
|
|
@@ -17434,9 +17614,12 @@ export {
|
|
|
17434
17614
|
documentRequirementAltasNVT,
|
|
17435
17615
|
empresas,
|
|
17436
17616
|
esAsignacionPreliquidableAL02,
|
|
17617
|
+
esAsignacionPreliquidableAL04,
|
|
17437
17618
|
esCadenaFechaISOValida,
|
|
17619
|
+
esMaterialDuctoAL04,
|
|
17438
17620
|
esObjetoFecha,
|
|
17439
17621
|
estadoRechazadaPorMetraje,
|
|
17622
|
+
estadoRechazadaPorMetrajeAL04,
|
|
17440
17623
|
formatCurrencyV1,
|
|
17441
17624
|
formatNumberSmart,
|
|
17442
17625
|
formatNumberV1,
|
|
@@ -17470,22 +17653,30 @@ export {
|
|
|
17470
17653
|
mapaReglaSopladoClientes,
|
|
17471
17654
|
mapaReglaSopladoTroncal,
|
|
17472
17655
|
mapeoZonasSimilares,
|
|
17656
|
+
materialesAutomaticosAL04,
|
|
17657
|
+
materialesSeleccionablesAL04,
|
|
17658
|
+
modoMaterialesAL04,
|
|
17659
|
+
motivoConsumoAlmacenAL04,
|
|
17473
17660
|
motivoConsumoMaterialAutomaticoDuctos,
|
|
17474
17661
|
newCodMOTroncalReglaLiquidacion1,
|
|
17475
17662
|
obtenerCodMOHomePass,
|
|
17663
|
+
obtenerCodMOHomePassAL04,
|
|
17476
17664
|
obtenerDocumentacionClientes,
|
|
17477
17665
|
obtenerDocumentacionNoClientes,
|
|
17478
17666
|
obtenerEspecialidadesCerradas,
|
|
17667
|
+
obtenerEspecialidadesCerradasAL04,
|
|
17479
17668
|
obtenerPrecioContratistaMaterial,
|
|
17480
17669
|
obtenerPrecioManoObraAL02,
|
|
17481
17670
|
obtenerPrecioManoObraAL04,
|
|
17482
17671
|
obtenerTipoYCodigoMO,
|
|
17483
17672
|
paisMap,
|
|
17484
17673
|
parseDuplicateKeyError,
|
|
17674
|
+
prorratearMaterialesAL04,
|
|
17485
17675
|
roundNumber,
|
|
17486
17676
|
searchCurrentContractorSpecialtyPrice,
|
|
17487
17677
|
setColModels,
|
|
17488
17678
|
setContext,
|
|
17679
|
+
subMaterialesAL04,
|
|
17489
17680
|
throwSomacylError,
|
|
17490
17681
|
updatePriceContractorMOAL02,
|
|
17491
17682
|
updatePriceContractorMOAL04,
|
|
@@ -17494,6 +17685,7 @@ export {
|
|
|
17494
17685
|
updatePricePBBudgetAlemaniaAL02,
|
|
17495
17686
|
updatePricePBBudgetAlemaniaAL04,
|
|
17496
17687
|
uuidRegex,
|
|
17688
|
+
validarAsfaltoAL04,
|
|
17497
17689
|
validateNoLookup,
|
|
17498
17690
|
validateUUIDv4Param,
|
|
17499
17691
|
verifyDetailsFinalizeSomacyl,
|