sigo-package 1.2.184 → 1.2.186

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, CodigoNombreUMDTO, PrecioContratistaMOAL04ENTITY, ManoObraGlobalENTITY, ValorizacionManoObraDTO, PrecioContratistaMOAL02ENTITY, HomePassDTO, FlujoDocDTO, NodoDocDTO, DocumentacionPEXENTITY, PrecioEspecialidadENTITY, ObraChile9512ENTITY, TrabajoAlemaniaENTITY, ValorizacionAlemaniaDTO, ValorizacionDTO, StockPersonalENTITY, StockAlmacenENTITY, ConsumoMaterialAlemaniaENTITY, ValorizacionesDTO, PrecioContratistaMaterialENTITY, TrabajoENTITY, ActividadesDTO, PreciosVigentesDTO, ContratoOTENTITY, DetalleChileValorizacionMODTO, PrecioMaterialENTITY, DocumentRequirementDto, AltasNVTOrderENTITY, MaterialesSomacylDTO, SomacylEntregablesDTO, FilesDocDTO, SalidaAlmacenENTITY, CodigoNombreDTO, SystemOptionEntity, MenuDto } from 'sigo-entities';
2
+ import { ManoObraENTITY, ReservaENTITY, ItemDetalleLogisticaDTO, CodigoNombreUMDTO, PrecioContratistaMOAL04ENTITY, ManoObraGlobalENTITY, ValorizacionManoObraDTO, PrecioContratistaMOAL02ENTITY, HomePassDTO, FlujoDocDTO, NodoDocDTO, DocumentacionPEXENTITY, PrecioEspecialidadENTITY, ObraChile9512ENTITY, TrabajoAlemaniaENTITY, ValorizacionAlemaniaDTO, ValorizacionDTO, StockPersonalENTITY, StockAlmacenENTITY, ConsumoMaterialAlemaniaENTITY, ValorizacionesDTO, PrecioContratistaMaterialENTITY, TrabajoENTITY, ActividadesDTO, PreciosVigentesDTO, ContratoOTENTITY, DetalleChileValorizacionMODTO, PrecioMaterialENTITY, DocumentRequirementDto, AltasNVTOrderENTITY, MaterialesSomacylDTO, SomacylEntregablesDTO, FilesDocDTO, MetradosVeredaDTO, BtAlpPluzVeredaAsignacionENTITY, SalidaAlmacenENTITY, CodigoNombreDTO, SystemOptionEntity, MenuDto } from 'sigo-entities';
3
3
  import { ClassConstructor } from 'class-transformer';
4
4
  import { Request, Response, NextFunction } from 'express';
5
5
 
@@ -940,6 +940,35 @@ declare function verifyPhotosNotFinalizedSomacyl(entregables: SomacylEntregables
940
940
  */
941
941
  declare function getCaptureDateSomacyl(file: Pick<FilesDocDTO, 'Observacion' | 'Fecha_Archivo'>, BadRequestException?: ClassConstructor<Error>): Date;
942
942
 
943
+ /** Diferencia máxima (m²) entre los m² reparados y ancho × largo × cantidad de paños antes de avisar */
944
+ declare const TOLERANCIA_M2_VEREDA = 0.1;
945
+ /** Carpeta del servidor de archivos de las evidencias */
946
+ declare const DIRECTORIO_DOCUMENTACION_VEREDA = "ORDENES_BT_ALP_PLUZ_VEREDA";
947
+
948
+ /** Evidencias del formulario civil (BT_Formulario_Civil del SSAM) que registra la cuadrilla de veredas */
949
+ declare const documentRequirementVereda: DocumentRequirementDto[];
950
+ /** Requisitos hoja (los que reciben archivos) */
951
+ declare const requisitosArchivoVereda: DocumentRequirementDto[];
952
+
953
+ /** Pantalla de la PWA que corrige cada error */
954
+ type SeccionFormularioVereda = 'workflow' | 'formulario' | 'evidencias';
955
+ interface ErrorFormularioVereda {
956
+ seccion: SeccionFormularioVereda;
957
+ mensaje: string;
958
+ }
959
+ type AsignacionValidable = Pick<BtAlpPluzVeredaAsignacionENTITY, 'formulario_civil' | 'documentacion'>;
960
+ /** Aviso (no bloquea) si los m² reparados no cuadran con ancho × largo × cantidad de paños */
961
+ declare function avisoM2Vereda(metrados: MetradosVeredaDTO): string | null;
962
+ /**
963
+ * Lo que falta para cerrar el workflow y liquidar: pasos previos a CERRADO, metrados y evidencias obligatorias.
964
+ * CERRADO no se exige aquí (se registra cuando esto no tiene errores); liquidar lo exige aparte.
965
+ * Lo usan la PWA (offline) y el backend.
966
+ */
967
+ declare function validarFormularioCivil(asignacion: AsignacionValidable): {
968
+ errores: ErrorFormularioVereda[];
969
+ avisos: string[];
970
+ };
971
+
943
972
  type SaldoStockPersonal = Pick<StockPersonalENTITY, 'Despacho' | 'Devolucion' | 'Liquidacion' | 'DespachoTR' | 'DevolucionTR'>;
944
973
  /** Saldo de un StockPersonal: Despacho - Devolucion - Liquidacion + DespachoTR - DevolucionTR (redondeado a 2 decimales) */
945
974
  declare function calcularSaldoStockPersonal(stock: SaldoStockPersonal): number;
@@ -1218,4 +1247,4 @@ declare function getCookieToken(req: Request<any>, webOrigins: string[]): string
1218
1247
 
1219
1248
  declare function validateUUIDv4Param(BadRequestException: ClassConstructor<Error>, req: Request<any>, _res: Response, next: NextFunction): Promise<void>;
1220
1249
 
1221
- 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, DEVOLUCION_TR_ESTADOS, DEVOLUCION_TR_MOTIVO_CAMBIO_TURNO, DocumentacionReplanteo, type ErrorLineaDevolucionTR, EstadoEspecialidad9612, FIRMA_DESPACHO_ACCIONES, FIRMA_DESPACHO_TIEMPOS, type FirmaDespachoMensajeRespuesta, type FirmaDespachoMensajeSolicitud, type FirmaDespachoSolicitud, FormatearErrorValidacionMOHijas, GemeindeChangeNomenclatura, GetCodigoFechaActual, type IDPContrato, type IDocumentacion, type ILineaValidacion, type IMOAndMaterialsRules, type IMORules, type IMateriales, type IResultadoValidacionMOHijas, type LineaDevolucionTR, 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 SaldoStockPersonal, type SomacylPhotoKey, type StockEntregableDevolucionTR, type TARGET, type TipoPreliquidacionAL02, type TipoPreliquidacionAL04, UpdateNodosDocDP, ValidarRelacionMOHijasAL04, ValorizacionHelper, builSystemOption, buildDataMOFromMaterialRules, buildDataMaterialsRule, buildKeyMO, buildMenu, buildReservaMOJobMajorProjectsAlemaniaAL02, buildReservaMOJobMajorProjectsAlemaniaAL04, buildTenantCollectionName, calcularSaldoStockPersonal, 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, codigoParteDiarioHoyCHILE9512, codigosBaremosSubcontrataAL02, codigosMOT1_F2, codigosMaterialDuctos, codigosMaterialUGG, codigosSopladoHP, collections, consumirStockPersonal, convertDates, dataFlujosHomePass, db_default, db_root, documentRequirementAltasNVTMultifamiliar, documentRequirementAltasNVTUnifamiliar, empresas, esAsignacionPreliquidableAL02, esAsignacionPreliquidableAL04, esCadenaFechaISOValida, esMaterialDuctoAL04, esObjetoFecha, esParteDiarioAprobadoCHILE9512, esParteDiarioEditableCHILE9512, estadoRechazadaPorMetraje, estadoRechazadaPorMetrajeAL04, firmaDespachoCanalRespuesta, firmaDespachoCanalSolicitud, 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, throwDevolucionTRError, throwSomacylError, timeZoneCHILE9512, tituloFotoParteDiarioCHILE9512, updatePriceContractorMOAL02, updatePriceContractorMOAL04, updatePriceMOAL02, updatePriceMOAL04, updatePricePBBudgetAlemaniaAL02, updatePricePBBudgetAlemaniaAL04, uuidRegex, validarAsfaltoAL04, validarLineasDevolucionTR, validateNoLookup, validateUUIDv4Param, verifyDetailsFinalizeSomacyl, verifyFiles, verifyInventoryFinalize, verifyInventoryFinalizeSomacyl, verifyInventoryLimitsSomacyl, verifyLineasDevolucionTR, verifyPhotosFinalizeSomacyl, verifyPhotosNotFinalizedSomacyl };
1250
+ 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, DEVOLUCION_TR_ESTADOS, DEVOLUCION_TR_MOTIVO_CAMBIO_TURNO, DIRECTORIO_DOCUMENTACION_VEREDA, DocumentacionReplanteo, type ErrorFormularioVereda, type ErrorLineaDevolucionTR, EstadoEspecialidad9612, FIRMA_DESPACHO_ACCIONES, FIRMA_DESPACHO_TIEMPOS, type FirmaDespachoMensajeRespuesta, type FirmaDespachoMensajeSolicitud, type FirmaDespachoSolicitud, FormatearErrorValidacionMOHijas, GemeindeChangeNomenclatura, GetCodigoFechaActual, type IDPContrato, type IDocumentacion, type ILineaValidacion, type IMOAndMaterialsRules, type IMORules, type IMateriales, type IResultadoValidacionMOHijas, type LineaDevolucionTR, 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 SaldoStockPersonal, type SeccionFormularioVereda, type SomacylPhotoKey, type StockEntregableDevolucionTR, type TARGET, TOLERANCIA_M2_VEREDA, type TipoPreliquidacionAL02, type TipoPreliquidacionAL04, UpdateNodosDocDP, ValidarRelacionMOHijasAL04, ValorizacionHelper, avisoM2Vereda, builSystemOption, buildDataMOFromMaterialRules, buildDataMaterialsRule, buildKeyMO, buildMenu, buildReservaMOJobMajorProjectsAlemaniaAL02, buildReservaMOJobMajorProjectsAlemaniaAL04, buildTenantCollectionName, calcularSaldoStockPersonal, 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, codigoParteDiarioHoyCHILE9512, codigosBaremosSubcontrataAL02, codigosMOT1_F2, codigosMaterialDuctos, codigosMaterialUGG, codigosSopladoHP, collections, consumirStockPersonal, convertDates, dataFlujosHomePass, db_default, db_root, documentRequirementAltasNVTMultifamiliar, documentRequirementAltasNVTUnifamiliar, documentRequirementVereda, empresas, esAsignacionPreliquidableAL02, esAsignacionPreliquidableAL04, esCadenaFechaISOValida, esMaterialDuctoAL04, esObjetoFecha, esParteDiarioAprobadoCHILE9512, esParteDiarioEditableCHILE9512, estadoRechazadaPorMetraje, estadoRechazadaPorMetrajeAL04, firmaDespachoCanalRespuesta, firmaDespachoCanalSolicitud, 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, requisitosArchivoVereda, roundNumber, searchCurrentContractorSpecialtyPrice, setColModels, setContext, subMaterialesAL04, throwDevolucionTRError, throwSomacylError, timeZoneCHILE9512, tituloFotoParteDiarioCHILE9512, updatePriceContractorMOAL02, updatePriceContractorMOAL04, updatePriceMOAL02, updatePriceMOAL04, updatePricePBBudgetAlemaniaAL02, updatePricePBBudgetAlemaniaAL04, uuidRegex, validarAsfaltoAL04, validarFormularioCivil, validarLineasDevolucionTR, validateNoLookup, validateUUIDv4Param, verifyDetailsFinalizeSomacyl, verifyFiles, verifyInventoryFinalize, verifyInventoryFinalizeSomacyl, verifyInventoryLimitsSomacyl, verifyLineasDevolucionTR, verifyPhotosFinalizeSomacyl, verifyPhotosNotFinalizedSomacyl };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as sigo_entities from 'sigo-entities';
2
- import { ManoObraENTITY, ReservaENTITY, ItemDetalleLogisticaDTO, CodigoNombreUMDTO, PrecioContratistaMOAL04ENTITY, ManoObraGlobalENTITY, ValorizacionManoObraDTO, PrecioContratistaMOAL02ENTITY, HomePassDTO, FlujoDocDTO, NodoDocDTO, DocumentacionPEXENTITY, PrecioEspecialidadENTITY, ObraChile9512ENTITY, TrabajoAlemaniaENTITY, ValorizacionAlemaniaDTO, ValorizacionDTO, StockPersonalENTITY, StockAlmacenENTITY, ConsumoMaterialAlemaniaENTITY, ValorizacionesDTO, PrecioContratistaMaterialENTITY, TrabajoENTITY, ActividadesDTO, PreciosVigentesDTO, ContratoOTENTITY, DetalleChileValorizacionMODTO, PrecioMaterialENTITY, DocumentRequirementDto, AltasNVTOrderENTITY, MaterialesSomacylDTO, SomacylEntregablesDTO, FilesDocDTO, SalidaAlmacenENTITY, CodigoNombreDTO, SystemOptionEntity, MenuDto } from 'sigo-entities';
2
+ import { ManoObraENTITY, ReservaENTITY, ItemDetalleLogisticaDTO, CodigoNombreUMDTO, PrecioContratistaMOAL04ENTITY, ManoObraGlobalENTITY, ValorizacionManoObraDTO, PrecioContratistaMOAL02ENTITY, HomePassDTO, FlujoDocDTO, NodoDocDTO, DocumentacionPEXENTITY, PrecioEspecialidadENTITY, ObraChile9512ENTITY, TrabajoAlemaniaENTITY, ValorizacionAlemaniaDTO, ValorizacionDTO, StockPersonalENTITY, StockAlmacenENTITY, ConsumoMaterialAlemaniaENTITY, ValorizacionesDTO, PrecioContratistaMaterialENTITY, TrabajoENTITY, ActividadesDTO, PreciosVigentesDTO, ContratoOTENTITY, DetalleChileValorizacionMODTO, PrecioMaterialENTITY, DocumentRequirementDto, AltasNVTOrderENTITY, MaterialesSomacylDTO, SomacylEntregablesDTO, FilesDocDTO, MetradosVeredaDTO, BtAlpPluzVeredaAsignacionENTITY, SalidaAlmacenENTITY, CodigoNombreDTO, SystemOptionEntity, MenuDto } from 'sigo-entities';
3
3
  import { ClassConstructor } from 'class-transformer';
4
4
  import { Request, Response, NextFunction } from 'express';
5
5
 
@@ -940,6 +940,35 @@ declare function verifyPhotosNotFinalizedSomacyl(entregables: SomacylEntregables
940
940
  */
941
941
  declare function getCaptureDateSomacyl(file: Pick<FilesDocDTO, 'Observacion' | 'Fecha_Archivo'>, BadRequestException?: ClassConstructor<Error>): Date;
942
942
 
943
+ /** Diferencia máxima (m²) entre los m² reparados y ancho × largo × cantidad de paños antes de avisar */
944
+ declare const TOLERANCIA_M2_VEREDA = 0.1;
945
+ /** Carpeta del servidor de archivos de las evidencias */
946
+ declare const DIRECTORIO_DOCUMENTACION_VEREDA = "ORDENES_BT_ALP_PLUZ_VEREDA";
947
+
948
+ /** Evidencias del formulario civil (BT_Formulario_Civil del SSAM) que registra la cuadrilla de veredas */
949
+ declare const documentRequirementVereda: DocumentRequirementDto[];
950
+ /** Requisitos hoja (los que reciben archivos) */
951
+ declare const requisitosArchivoVereda: DocumentRequirementDto[];
952
+
953
+ /** Pantalla de la PWA que corrige cada error */
954
+ type SeccionFormularioVereda = 'workflow' | 'formulario' | 'evidencias';
955
+ interface ErrorFormularioVereda {
956
+ seccion: SeccionFormularioVereda;
957
+ mensaje: string;
958
+ }
959
+ type AsignacionValidable = Pick<BtAlpPluzVeredaAsignacionENTITY, 'formulario_civil' | 'documentacion'>;
960
+ /** Aviso (no bloquea) si los m² reparados no cuadran con ancho × largo × cantidad de paños */
961
+ declare function avisoM2Vereda(metrados: MetradosVeredaDTO): string | null;
962
+ /**
963
+ * Lo que falta para cerrar el workflow y liquidar: pasos previos a CERRADO, metrados y evidencias obligatorias.
964
+ * CERRADO no se exige aquí (se registra cuando esto no tiene errores); liquidar lo exige aparte.
965
+ * Lo usan la PWA (offline) y el backend.
966
+ */
967
+ declare function validarFormularioCivil(asignacion: AsignacionValidable): {
968
+ errores: ErrorFormularioVereda[];
969
+ avisos: string[];
970
+ };
971
+
943
972
  type SaldoStockPersonal = Pick<StockPersonalENTITY, 'Despacho' | 'Devolucion' | 'Liquidacion' | 'DespachoTR' | 'DevolucionTR'>;
944
973
  /** Saldo de un StockPersonal: Despacho - Devolucion - Liquidacion + DespachoTR - DevolucionTR (redondeado a 2 decimales) */
945
974
  declare function calcularSaldoStockPersonal(stock: SaldoStockPersonal): number;
@@ -1218,4 +1247,4 @@ declare function getCookieToken(req: Request<any>, webOrigins: string[]): string
1218
1247
 
1219
1248
  declare function validateUUIDv4Param(BadRequestException: ClassConstructor<Error>, req: Request<any>, _res: Response, next: NextFunction): Promise<void>;
1220
1249
 
1221
- 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, DEVOLUCION_TR_ESTADOS, DEVOLUCION_TR_MOTIVO_CAMBIO_TURNO, DocumentacionReplanteo, type ErrorLineaDevolucionTR, EstadoEspecialidad9612, FIRMA_DESPACHO_ACCIONES, FIRMA_DESPACHO_TIEMPOS, type FirmaDespachoMensajeRespuesta, type FirmaDespachoMensajeSolicitud, type FirmaDespachoSolicitud, FormatearErrorValidacionMOHijas, GemeindeChangeNomenclatura, GetCodigoFechaActual, type IDPContrato, type IDocumentacion, type ILineaValidacion, type IMOAndMaterialsRules, type IMORules, type IMateriales, type IResultadoValidacionMOHijas, type LineaDevolucionTR, 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 SaldoStockPersonal, type SomacylPhotoKey, type StockEntregableDevolucionTR, type TARGET, type TipoPreliquidacionAL02, type TipoPreliquidacionAL04, UpdateNodosDocDP, ValidarRelacionMOHijasAL04, ValorizacionHelper, builSystemOption, buildDataMOFromMaterialRules, buildDataMaterialsRule, buildKeyMO, buildMenu, buildReservaMOJobMajorProjectsAlemaniaAL02, buildReservaMOJobMajorProjectsAlemaniaAL04, buildTenantCollectionName, calcularSaldoStockPersonal, 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, codigoParteDiarioHoyCHILE9512, codigosBaremosSubcontrataAL02, codigosMOT1_F2, codigosMaterialDuctos, codigosMaterialUGG, codigosSopladoHP, collections, consumirStockPersonal, convertDates, dataFlujosHomePass, db_default, db_root, documentRequirementAltasNVTMultifamiliar, documentRequirementAltasNVTUnifamiliar, empresas, esAsignacionPreliquidableAL02, esAsignacionPreliquidableAL04, esCadenaFechaISOValida, esMaterialDuctoAL04, esObjetoFecha, esParteDiarioAprobadoCHILE9512, esParteDiarioEditableCHILE9512, estadoRechazadaPorMetraje, estadoRechazadaPorMetrajeAL04, firmaDespachoCanalRespuesta, firmaDespachoCanalSolicitud, 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, throwDevolucionTRError, throwSomacylError, timeZoneCHILE9512, tituloFotoParteDiarioCHILE9512, updatePriceContractorMOAL02, updatePriceContractorMOAL04, updatePriceMOAL02, updatePriceMOAL04, updatePricePBBudgetAlemaniaAL02, updatePricePBBudgetAlemaniaAL04, uuidRegex, validarAsfaltoAL04, validarLineasDevolucionTR, validateNoLookup, validateUUIDv4Param, verifyDetailsFinalizeSomacyl, verifyFiles, verifyInventoryFinalize, verifyInventoryFinalizeSomacyl, verifyInventoryLimitsSomacyl, verifyLineasDevolucionTR, verifyPhotosFinalizeSomacyl, verifyPhotosNotFinalizedSomacyl };
1250
+ 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, DEVOLUCION_TR_ESTADOS, DEVOLUCION_TR_MOTIVO_CAMBIO_TURNO, DIRECTORIO_DOCUMENTACION_VEREDA, DocumentacionReplanteo, type ErrorFormularioVereda, type ErrorLineaDevolucionTR, EstadoEspecialidad9612, FIRMA_DESPACHO_ACCIONES, FIRMA_DESPACHO_TIEMPOS, type FirmaDespachoMensajeRespuesta, type FirmaDespachoMensajeSolicitud, type FirmaDespachoSolicitud, FormatearErrorValidacionMOHijas, GemeindeChangeNomenclatura, GetCodigoFechaActual, type IDPContrato, type IDocumentacion, type ILineaValidacion, type IMOAndMaterialsRules, type IMORules, type IMateriales, type IResultadoValidacionMOHijas, type LineaDevolucionTR, 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 SaldoStockPersonal, type SeccionFormularioVereda, type SomacylPhotoKey, type StockEntregableDevolucionTR, type TARGET, TOLERANCIA_M2_VEREDA, type TipoPreliquidacionAL02, type TipoPreliquidacionAL04, UpdateNodosDocDP, ValidarRelacionMOHijasAL04, ValorizacionHelper, avisoM2Vereda, builSystemOption, buildDataMOFromMaterialRules, buildDataMaterialsRule, buildKeyMO, buildMenu, buildReservaMOJobMajorProjectsAlemaniaAL02, buildReservaMOJobMajorProjectsAlemaniaAL04, buildTenantCollectionName, calcularSaldoStockPersonal, 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, codigoParteDiarioHoyCHILE9512, codigosBaremosSubcontrataAL02, codigosMOT1_F2, codigosMaterialDuctos, codigosMaterialUGG, codigosSopladoHP, collections, consumirStockPersonal, convertDates, dataFlujosHomePass, db_default, db_root, documentRequirementAltasNVTMultifamiliar, documentRequirementAltasNVTUnifamiliar, documentRequirementVereda, empresas, esAsignacionPreliquidableAL02, esAsignacionPreliquidableAL04, esCadenaFechaISOValida, esMaterialDuctoAL04, esObjetoFecha, esParteDiarioAprobadoCHILE9512, esParteDiarioEditableCHILE9512, estadoRechazadaPorMetraje, estadoRechazadaPorMetrajeAL04, firmaDespachoCanalRespuesta, firmaDespachoCanalSolicitud, 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, requisitosArchivoVereda, roundNumber, searchCurrentContractorSpecialtyPrice, setColModels, setContext, subMaterialesAL04, throwDevolucionTRError, throwSomacylError, timeZoneCHILE9512, tituloFotoParteDiarioCHILE9512, updatePriceContractorMOAL02, updatePriceContractorMOAL04, updatePriceMOAL02, updatePriceMOAL04, updatePricePBBudgetAlemaniaAL02, updatePricePBBudgetAlemaniaAL04, uuidRegex, validarAsfaltoAL04, validarFormularioCivil, validarLineasDevolucionTR, validateNoLookup, validateUUIDv4Param, verifyDetailsFinalizeSomacyl, verifyFiles, verifyInventoryFinalize, verifyInventoryFinalizeSomacyl, verifyInventoryLimitsSomacyl, verifyLineasDevolucionTR, verifyPhotosFinalizeSomacyl, verifyPhotosNotFinalizedSomacyl };
package/dist/index.js CHANGED
@@ -45,6 +45,7 @@ __export(index_exports, {
45
45
  CurrencyFormat: () => CurrencyFormat,
46
46
  DEVOLUCION_TR_ESTADOS: () => DEVOLUCION_TR_ESTADOS,
47
47
  DEVOLUCION_TR_MOTIVO_CAMBIO_TURNO: () => DEVOLUCION_TR_MOTIVO_CAMBIO_TURNO,
48
+ DIRECTORIO_DOCUMENTACION_VEREDA: () => DIRECTORIO_DOCUMENTACION_VEREDA,
48
49
  DocumentacionReplanteo: () => DocumentacionReplanteo,
49
50
  EstadoEspecialidad9612: () => EstadoEspecialidad9612,
50
51
  FIRMA_DESPACHO_ACCIONES: () => FIRMA_DESPACHO_ACCIONES,
@@ -65,9 +66,11 @@ __export(index_exports, {
65
66
  SEGMENT_TY: () => SEGMENT_TY,
66
67
  SOMACYL_CODIGO_CONTADOR_RETIRADO: () => SOMACYL_CODIGO_CONTADOR_RETIRADO,
67
68
  SOMACYL_PHOTO_POSITIONS: () => SOMACYL_PHOTO_POSITIONS,
69
+ TOLERANCIA_M2_VEREDA: () => TOLERANCIA_M2_VEREDA,
68
70
  UpdateNodosDocDP: () => UpdateNodosDocDP,
69
71
  ValidarRelacionMOHijasAL04: () => ValidarRelacionMOHijasAL04,
70
72
  ValorizacionHelper: () => ValorizacionHelper,
73
+ avisoM2Vereda: () => avisoM2Vereda,
71
74
  builSystemOption: () => builSystemOption,
72
75
  buildDataMOFromMaterialRules: () => buildDataMOFromMaterialRules,
73
76
  buildDataMaterialsRule: () => buildDataMaterialsRule,
@@ -138,6 +141,7 @@ __export(index_exports, {
138
141
  db_root: () => db_root,
139
142
  documentRequirementAltasNVTMultifamiliar: () => documentRequirementAltasNVTMultifamiliar,
140
143
  documentRequirementAltasNVTUnifamiliar: () => documentRequirementAltasNVTUnifamiliar,
144
+ documentRequirementVereda: () => documentRequirementVereda,
141
145
  empresas: () => empresas,
142
146
  esAsignacionPreliquidableAL02: () => esAsignacionPreliquidableAL02,
143
147
  esAsignacionPreliquidableAL04: () => esAsignacionPreliquidableAL04,
@@ -202,6 +206,7 @@ __export(index_exports, {
202
206
  paisMap: () => paisMap,
203
207
  parseDuplicateKeyError: () => parseDuplicateKeyError,
204
208
  prorratearMaterialesAL04: () => prorratearMaterialesAL04,
209
+ requisitosArchivoVereda: () => requisitosArchivoVereda,
205
210
  roundNumber: () => roundNumber,
206
211
  searchCurrentContractorSpecialtyPrice: () => searchCurrentContractorSpecialtyPrice,
207
212
  setColModels: () => setColModels,
@@ -219,6 +224,7 @@ __export(index_exports, {
219
224
  updatePricePBBudgetAlemaniaAL04: () => updatePricePBBudgetAlemaniaAL04,
220
225
  uuidRegex: () => uuidRegex,
221
226
  validarAsfaltoAL04: () => validarAsfaltoAL04,
227
+ validarFormularioCivil: () => validarFormularioCivil,
222
228
  validarLineasDevolucionTR: () => validarLineasDevolucionTR,
223
229
  validateNoLookup: () => validateNoLookup,
224
230
  validateUUIDv4Param: () => validateUUIDv4Param,
@@ -274,8 +280,12 @@ var ActualizarDataResumenLiquidacionesColombia = /* @__PURE__ */ __name((ManoObr
274
280
  if (ManoObra && ManoObra.Valorizacion && Array.isArray(ManoObra.Valorizacion)) {
275
281
  for (const valorizacion of ManoObra.Valorizacion) {
276
282
  valorizacion.CantidadUsado = 0;
283
+ valorizacion.CantidadUOUsado = 0;
277
284
  const val = ResumenPreLiquidado.MoUo.find((e) => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);
278
- if (val) valorizacion.CantidadUsado = val.Cantidad;
285
+ if (val) {
286
+ valorizacion.CantidadUsado = val.Cantidad;
287
+ valorizacion.CantidadUOUsado = val.CantidadUO;
288
+ }
279
289
  }
280
290
  }
281
291
  if (Reserva && Reserva.Item && Array.isArray(Reserva.Item)) {
@@ -304,8 +314,12 @@ var ActualizarDataResumenLiquidaciones = /* @__PURE__ */ __name((ManoObra, Reser
304
314
  if (ManoObra && ManoObra.Valorizacion && Array.isArray(ManoObra.Valorizacion)) {
305
315
  for (const valorizacion of ManoObra.Valorizacion) {
306
316
  valorizacion.CantidadUsado = 0;
317
+ valorizacion.CantidadUOUsado = 0;
307
318
  const val = ResumenPreLiquidado.MoUo.find((e) => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);
308
- if (val) valorizacion.CantidadUsado = val.Cantidad;
319
+ if (val) {
320
+ valorizacion.CantidadUsado = val.Cantidad;
321
+ valorizacion.CantidadUOUsado = val.CantidadUO;
322
+ }
309
323
  }
310
324
  }
311
325
  if (Reserva && Reserva.Item && Array.isArray(Reserva.Item)) {
@@ -15758,8 +15772,12 @@ var ActualizarDataResumenValorizacionesAlemania = /* @__PURE__ */ __name((ManoOb
15758
15772
  if (ManoObra && ManoObra.Valorizacion && Array.isArray(ManoObra.Valorizacion)) {
15759
15773
  for (const valorizacion of ManoObra.Valorizacion) {
15760
15774
  valorizacion.CantidadUsado = 0;
15775
+ valorizacion.CantidadUOUsado = 0;
15761
15776
  const val = ResumenPreLiquidado.MoUo.find((e) => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);
15762
- if (val) valorizacion.CantidadUsado = val.Cantidad;
15777
+ if (val) {
15778
+ valorizacion.CantidadUsado = val.Cantidad;
15779
+ valorizacion.CantidadUOUsado = val.CantidadUO;
15780
+ }
15763
15781
  }
15764
15782
  }
15765
15783
  if (Reserva && Reserva.Item && Array.isArray(Reserva.Item)) {
@@ -17504,6 +17522,111 @@ function getCaptureDateSomacyl(file, BadRequestException) {
17504
17522
  }
17505
17523
  __name(getCaptureDateSomacyl, "getCaptureDateSomacyl");
17506
17524
 
17525
+ // src/Operativa/BtAlpPluzVereda/constants.ts
17526
+ var TOLERANCIA_M2_VEREDA = 0.1;
17527
+ var DIRECTORIO_DOCUMENTACION_VEREDA = "ORDENES_BT_ALP_PLUZ_VEREDA";
17528
+
17529
+ // src/Operativa/BtAlpPluzVereda/documentRequirement.ts
17530
+ var import_sigo_entities7 = require("sigo-entities");
17531
+ var fotos = [
17532
+ import_sigo_entities7.FileExtension.Jpg,
17533
+ import_sigo_entities7.FileExtension.Jpeg,
17534
+ import_sigo_entities7.FileExtension.Png
17535
+ ];
17536
+ var documentos = [
17537
+ ...fotos,
17538
+ import_sigo_entities7.FileExtension.Pdf
17539
+ ];
17540
+ var carpeta = /* @__PURE__ */ __name((id, label, children) => ({
17541
+ id,
17542
+ label,
17543
+ acceptedFileExtensions: fotos,
17544
+ children,
17545
+ minFiles: 0,
17546
+ maxFiles: 0,
17547
+ requiresMetadata: false,
17548
+ maxFileSize: 0
17549
+ }), "carpeta");
17550
+ var archivo = /* @__PURE__ */ __name((id, label, minFiles, acceptedFileExtensions2, requiresMetadata) => ({
17551
+ id,
17552
+ label,
17553
+ acceptedFileExtensions: acceptedFileExtensions2,
17554
+ children: [],
17555
+ minFiles,
17556
+ maxFiles: 1,
17557
+ requiresMetadata,
17558
+ maxFileSize: 2
17559
+ }), "archivo");
17560
+ var documentRequirementVereda = [
17561
+ carpeta("REPARACION_CIVIL", "Reparaci\xF3n civil", [
17562
+ archivo("REPARACION_CIVIL_1", "Foto 1 reparaci\xF3n civil", 1, fotos, true),
17563
+ archivo("REPARACION_CIVIL_2", "Foto 2 reparaci\xF3n civil", 1, fotos, true)
17564
+ ]),
17565
+ carpeta("RECOJO_DESMONTE", "Recojo de desmonte", [
17566
+ archivo("RECOJO_DESMONTE_1", "Foto 1 recojo desmonte", 1, fotos, true),
17567
+ archivo("RECOJO_DESMONTE_2", "Foto 2 recojo desmonte", 0, fotos, true)
17568
+ ]),
17569
+ carpeta("DOCUMENTOS", "Documentos", [
17570
+ archivo("CROQUIS", "Croquis", 1, documentos, false),
17571
+ archivo("ACTA_CONFORMIDAD", "Boleta de atenci\xF3n / Acta de conformidad", 1, documentos, false)
17572
+ ])
17573
+ ];
17574
+ var requisitosArchivoVereda = documentRequirementVereda.flatMap((item) => item.children);
17575
+
17576
+ // src/Operativa/BtAlpPluzVereda/validarFormularioCivil.ts
17577
+ var import_sigo_entities8 = require("sigo-entities");
17578
+ var redondear = /* @__PURE__ */ __name((valor) => Math.round(valor * 100) / 100, "redondear");
17579
+ function avisoM2Vereda(metrados) {
17580
+ const reparados = redondear(metrados.m2_vereda_reparada + metrados.m2_vereda_asfalto + metrados.m2_piso_especial);
17581
+ const calculados = redondear(metrados.pano_ancho_m * metrados.pano_largo_m * metrados.cantidad_panos);
17582
+ if (Math.abs(reparados - calculados) <= TOLERANCIA_M2_VEREDA) return null;
17583
+ return `Los m\xB2 reparados (${reparados}) no coinciden con ancho \xD7 largo \xD7 cantidad de pa\xF1os (${calculados})`;
17584
+ }
17585
+ __name(avisoM2Vereda, "avisoM2Vereda");
17586
+ function validarFormularioCivil(asignacion) {
17587
+ const errores = [];
17588
+ const avisos = [];
17589
+ const { workflow, metrados } = asignacion.formulario_civil;
17590
+ for (const { paso, orden } of Object.values(import_sigo_entities8.PASOS_WORKFLOW_VEREDA)) {
17591
+ if (paso === import_sigo_entities8.PASOS_WORKFLOW_VEREDA.CERRADO.paso) continue;
17592
+ if (!workflow.some((item) => item.paso === paso)) {
17593
+ errores.push({
17594
+ seccion: "workflow",
17595
+ mensaje: `Falta el paso ${orden}: ${paso.replace(/_/g, " ").toLowerCase()}`
17596
+ });
17597
+ }
17598
+ }
17599
+ if (!metrados) {
17600
+ errores.push({
17601
+ seccion: "formulario",
17602
+ mensaje: "Faltan los metrados del formulario civil"
17603
+ });
17604
+ } else {
17605
+ const aviso = avisoM2Vereda(metrados);
17606
+ if (aviso) avisos.push(aviso);
17607
+ }
17608
+ for (const requisito of requisitosArchivoVereda) {
17609
+ const archivos = asignacion.documentacion.filter((file) => file.CodigoNodo === requisito.id);
17610
+ if (archivos.length < requisito.minFiles) {
17611
+ errores.push({
17612
+ seccion: "evidencias",
17613
+ mensaje: `Falta ${requisito.label}`
17614
+ });
17615
+ }
17616
+ if (archivos.length > requisito.maxFiles) {
17617
+ errores.push({
17618
+ seccion: "evidencias",
17619
+ mensaje: `${requisito.label}: m\xE1ximo ${requisito.maxFiles} archivo(s)`
17620
+ });
17621
+ }
17622
+ }
17623
+ return {
17624
+ errores,
17625
+ avisos
17626
+ };
17627
+ }
17628
+ __name(validarFormularioCivil, "validarFormularioCivil");
17629
+
17507
17630
  // src/Logistica/StockPersonal/calcularSaldoStockPersonal.ts
17508
17631
  function calcularSaldoStockPersonal(stock) {
17509
17632
  const saldo = (stock.Despacho || 0) - (stock.Devolucion || 0) - (stock.Liquidacion || 0) + (stock.DespachoTR || 0) - (stock.DevolucionTR || 0);
@@ -17697,7 +17820,7 @@ var parseDuplicateKeyError = /* @__PURE__ */ __name((message) => {
17697
17820
  }, "parseDuplicateKeyError");
17698
17821
 
17699
17822
  // src/v2/utils/buildSystemOption.ts
17700
- var import_sigo_entities7 = require("sigo-entities");
17823
+ var import_sigo_entities9 = require("sigo-entities");
17701
17824
  function separarPalabras(texto) {
17702
17825
  return texto.replace(/([a-z])([A-Z])/g, "$1 $2").replace(/([A-Z])([A-Z][a-z])/g, "$1 $2");
17703
17826
  }
@@ -17728,7 +17851,7 @@ async function builSystemOption(params) {
17728
17851
  route: isLast ? `${method} ${rootPath}${pathParts}` : "",
17729
17852
  _id: crypto.randomUUID()
17730
17853
  };
17731
- const newItem = await (0, import_sigo_entities7.validateCustom)(_newEntity, import_sigo_entities7.SystemOptionEntity, UnprocessableEntityException);
17854
+ const newItem = await (0, import_sigo_entities9.validateCustom)(_newEntity, import_sigo_entities9.SystemOptionEntity, UnprocessableEntityException);
17732
17855
  newData.push(newItem);
17733
17856
  }
17734
17857
  }
@@ -17894,6 +18017,7 @@ __name(validateUUIDv4Param, "validateUUIDv4Param");
17894
18017
  CurrencyFormat,
17895
18018
  DEVOLUCION_TR_ESTADOS,
17896
18019
  DEVOLUCION_TR_MOTIVO_CAMBIO_TURNO,
18020
+ DIRECTORIO_DOCUMENTACION_VEREDA,
17897
18021
  DocumentacionReplanteo,
17898
18022
  EstadoEspecialidad9612,
17899
18023
  FIRMA_DESPACHO_ACCIONES,
@@ -17914,9 +18038,11 @@ __name(validateUUIDv4Param, "validateUUIDv4Param");
17914
18038
  SEGMENT_TY,
17915
18039
  SOMACYL_CODIGO_CONTADOR_RETIRADO,
17916
18040
  SOMACYL_PHOTO_POSITIONS,
18041
+ TOLERANCIA_M2_VEREDA,
17917
18042
  UpdateNodosDocDP,
17918
18043
  ValidarRelacionMOHijasAL04,
17919
18044
  ValorizacionHelper,
18045
+ avisoM2Vereda,
17920
18046
  builSystemOption,
17921
18047
  buildDataMOFromMaterialRules,
17922
18048
  buildDataMaterialsRule,
@@ -17987,6 +18113,7 @@ __name(validateUUIDv4Param, "validateUUIDv4Param");
17987
18113
  db_root,
17988
18114
  documentRequirementAltasNVTMultifamiliar,
17989
18115
  documentRequirementAltasNVTUnifamiliar,
18116
+ documentRequirementVereda,
17990
18117
  empresas,
17991
18118
  esAsignacionPreliquidableAL02,
17992
18119
  esAsignacionPreliquidableAL04,
@@ -18051,6 +18178,7 @@ __name(validateUUIDv4Param, "validateUUIDv4Param");
18051
18178
  paisMap,
18052
18179
  parseDuplicateKeyError,
18053
18180
  prorratearMaterialesAL04,
18181
+ requisitosArchivoVereda,
18054
18182
  roundNumber,
18055
18183
  searchCurrentContractorSpecialtyPrice,
18056
18184
  setColModels,
@@ -18068,6 +18196,7 @@ __name(validateUUIDv4Param, "validateUUIDv4Param");
18068
18196
  updatePricePBBudgetAlemaniaAL04,
18069
18197
  uuidRegex,
18070
18198
  validarAsfaltoAL04,
18199
+ validarFormularioCivil,
18071
18200
  validarLineasDevolucionTR,
18072
18201
  validateNoLookup,
18073
18202
  validateUUIDv4Param,
package/dist/index.mjs CHANGED
@@ -42,8 +42,12 @@ var ActualizarDataResumenLiquidacionesColombia = /* @__PURE__ */ __name((ManoObr
42
42
  if (ManoObra && ManoObra.Valorizacion && Array.isArray(ManoObra.Valorizacion)) {
43
43
  for (const valorizacion of ManoObra.Valorizacion) {
44
44
  valorizacion.CantidadUsado = 0;
45
+ valorizacion.CantidadUOUsado = 0;
45
46
  const val = ResumenPreLiquidado.MoUo.find((e) => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);
46
- if (val) valorizacion.CantidadUsado = val.Cantidad;
47
+ if (val) {
48
+ valorizacion.CantidadUsado = val.Cantidad;
49
+ valorizacion.CantidadUOUsado = val.CantidadUO;
50
+ }
47
51
  }
48
52
  }
49
53
  if (Reserva && Reserva.Item && Array.isArray(Reserva.Item)) {
@@ -72,8 +76,12 @@ var ActualizarDataResumenLiquidaciones = /* @__PURE__ */ __name((ManoObra, Reser
72
76
  if (ManoObra && ManoObra.Valorizacion && Array.isArray(ManoObra.Valorizacion)) {
73
77
  for (const valorizacion of ManoObra.Valorizacion) {
74
78
  valorizacion.CantidadUsado = 0;
79
+ valorizacion.CantidadUOUsado = 0;
75
80
  const val = ResumenPreLiquidado.MoUo.find((e) => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);
76
- if (val) valorizacion.CantidadUsado = val.Cantidad;
81
+ if (val) {
82
+ valorizacion.CantidadUsado = val.Cantidad;
83
+ valorizacion.CantidadUOUsado = val.CantidadUO;
84
+ }
77
85
  }
78
86
  }
79
87
  if (Reserva && Reserva.Item && Array.isArray(Reserva.Item)) {
@@ -15526,8 +15534,12 @@ var ActualizarDataResumenValorizacionesAlemania = /* @__PURE__ */ __name((ManoOb
15526
15534
  if (ManoObra && ManoObra.Valorizacion && Array.isArray(ManoObra.Valorizacion)) {
15527
15535
  for (const valorizacion of ManoObra.Valorizacion) {
15528
15536
  valorizacion.CantidadUsado = 0;
15537
+ valorizacion.CantidadUOUsado = 0;
15529
15538
  const val = ResumenPreLiquidado.MoUo.find((e) => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);
15530
- if (val) valorizacion.CantidadUsado = val.Cantidad;
15539
+ if (val) {
15540
+ valorizacion.CantidadUsado = val.Cantidad;
15541
+ valorizacion.CantidadUOUsado = val.CantidadUO;
15542
+ }
15531
15543
  }
15532
15544
  }
15533
15545
  if (Reserva && Reserva.Item && Array.isArray(Reserva.Item)) {
@@ -17272,6 +17284,111 @@ function getCaptureDateSomacyl(file, BadRequestException) {
17272
17284
  }
17273
17285
  __name(getCaptureDateSomacyl, "getCaptureDateSomacyl");
17274
17286
 
17287
+ // src/Operativa/BtAlpPluzVereda/constants.ts
17288
+ var TOLERANCIA_M2_VEREDA = 0.1;
17289
+ var DIRECTORIO_DOCUMENTACION_VEREDA = "ORDENES_BT_ALP_PLUZ_VEREDA";
17290
+
17291
+ // src/Operativa/BtAlpPluzVereda/documentRequirement.ts
17292
+ import { FileExtension as FileExtension2 } from "sigo-entities";
17293
+ var fotos = [
17294
+ FileExtension2.Jpg,
17295
+ FileExtension2.Jpeg,
17296
+ FileExtension2.Png
17297
+ ];
17298
+ var documentos = [
17299
+ ...fotos,
17300
+ FileExtension2.Pdf
17301
+ ];
17302
+ var carpeta = /* @__PURE__ */ __name((id, label, children) => ({
17303
+ id,
17304
+ label,
17305
+ acceptedFileExtensions: fotos,
17306
+ children,
17307
+ minFiles: 0,
17308
+ maxFiles: 0,
17309
+ requiresMetadata: false,
17310
+ maxFileSize: 0
17311
+ }), "carpeta");
17312
+ var archivo = /* @__PURE__ */ __name((id, label, minFiles, acceptedFileExtensions2, requiresMetadata) => ({
17313
+ id,
17314
+ label,
17315
+ acceptedFileExtensions: acceptedFileExtensions2,
17316
+ children: [],
17317
+ minFiles,
17318
+ maxFiles: 1,
17319
+ requiresMetadata,
17320
+ maxFileSize: 2
17321
+ }), "archivo");
17322
+ var documentRequirementVereda = [
17323
+ carpeta("REPARACION_CIVIL", "Reparaci\xF3n civil", [
17324
+ archivo("REPARACION_CIVIL_1", "Foto 1 reparaci\xF3n civil", 1, fotos, true),
17325
+ archivo("REPARACION_CIVIL_2", "Foto 2 reparaci\xF3n civil", 1, fotos, true)
17326
+ ]),
17327
+ carpeta("RECOJO_DESMONTE", "Recojo de desmonte", [
17328
+ archivo("RECOJO_DESMONTE_1", "Foto 1 recojo desmonte", 1, fotos, true),
17329
+ archivo("RECOJO_DESMONTE_2", "Foto 2 recojo desmonte", 0, fotos, true)
17330
+ ]),
17331
+ carpeta("DOCUMENTOS", "Documentos", [
17332
+ archivo("CROQUIS", "Croquis", 1, documentos, false),
17333
+ archivo("ACTA_CONFORMIDAD", "Boleta de atenci\xF3n / Acta de conformidad", 1, documentos, false)
17334
+ ])
17335
+ ];
17336
+ var requisitosArchivoVereda = documentRequirementVereda.flatMap((item) => item.children);
17337
+
17338
+ // src/Operativa/BtAlpPluzVereda/validarFormularioCivil.ts
17339
+ import { PASOS_WORKFLOW_VEREDA } from "sigo-entities";
17340
+ var redondear = /* @__PURE__ */ __name((valor) => Math.round(valor * 100) / 100, "redondear");
17341
+ function avisoM2Vereda(metrados) {
17342
+ const reparados = redondear(metrados.m2_vereda_reparada + metrados.m2_vereda_asfalto + metrados.m2_piso_especial);
17343
+ const calculados = redondear(metrados.pano_ancho_m * metrados.pano_largo_m * metrados.cantidad_panos);
17344
+ if (Math.abs(reparados - calculados) <= TOLERANCIA_M2_VEREDA) return null;
17345
+ return `Los m\xB2 reparados (${reparados}) no coinciden con ancho \xD7 largo \xD7 cantidad de pa\xF1os (${calculados})`;
17346
+ }
17347
+ __name(avisoM2Vereda, "avisoM2Vereda");
17348
+ function validarFormularioCivil(asignacion) {
17349
+ const errores = [];
17350
+ const avisos = [];
17351
+ const { workflow, metrados } = asignacion.formulario_civil;
17352
+ for (const { paso, orden } of Object.values(PASOS_WORKFLOW_VEREDA)) {
17353
+ if (paso === PASOS_WORKFLOW_VEREDA.CERRADO.paso) continue;
17354
+ if (!workflow.some((item) => item.paso === paso)) {
17355
+ errores.push({
17356
+ seccion: "workflow",
17357
+ mensaje: `Falta el paso ${orden}: ${paso.replace(/_/g, " ").toLowerCase()}`
17358
+ });
17359
+ }
17360
+ }
17361
+ if (!metrados) {
17362
+ errores.push({
17363
+ seccion: "formulario",
17364
+ mensaje: "Faltan los metrados del formulario civil"
17365
+ });
17366
+ } else {
17367
+ const aviso = avisoM2Vereda(metrados);
17368
+ if (aviso) avisos.push(aviso);
17369
+ }
17370
+ for (const requisito of requisitosArchivoVereda) {
17371
+ const archivos = asignacion.documentacion.filter((file) => file.CodigoNodo === requisito.id);
17372
+ if (archivos.length < requisito.minFiles) {
17373
+ errores.push({
17374
+ seccion: "evidencias",
17375
+ mensaje: `Falta ${requisito.label}`
17376
+ });
17377
+ }
17378
+ if (archivos.length > requisito.maxFiles) {
17379
+ errores.push({
17380
+ seccion: "evidencias",
17381
+ mensaje: `${requisito.label}: m\xE1ximo ${requisito.maxFiles} archivo(s)`
17382
+ });
17383
+ }
17384
+ }
17385
+ return {
17386
+ errores,
17387
+ avisos
17388
+ };
17389
+ }
17390
+ __name(validarFormularioCivil, "validarFormularioCivil");
17391
+
17275
17392
  // src/Logistica/StockPersonal/calcularSaldoStockPersonal.ts
17276
17393
  function calcularSaldoStockPersonal(stock) {
17277
17394
  const saldo = (stock.Despacho || 0) - (stock.Devolucion || 0) - (stock.Liquidacion || 0) + (stock.DespachoTR || 0) - (stock.DevolucionTR || 0);
@@ -17661,6 +17778,7 @@ export {
17661
17778
  CurrencyFormat,
17662
17779
  DEVOLUCION_TR_ESTADOS,
17663
17780
  DEVOLUCION_TR_MOTIVO_CAMBIO_TURNO,
17781
+ DIRECTORIO_DOCUMENTACION_VEREDA,
17664
17782
  DocumentacionReplanteo,
17665
17783
  EstadoEspecialidad9612,
17666
17784
  FIRMA_DESPACHO_ACCIONES,
@@ -17681,9 +17799,11 @@ export {
17681
17799
  SEGMENT_TY,
17682
17800
  SOMACYL_CODIGO_CONTADOR_RETIRADO,
17683
17801
  SOMACYL_PHOTO_POSITIONS,
17802
+ TOLERANCIA_M2_VEREDA,
17684
17803
  UpdateNodosDocDP,
17685
17804
  ValidarRelacionMOHijasAL04,
17686
17805
  ValorizacionHelper,
17806
+ avisoM2Vereda,
17687
17807
  builSystemOption,
17688
17808
  buildDataMOFromMaterialRules,
17689
17809
  buildDataMaterialsRule,
@@ -17754,6 +17874,7 @@ export {
17754
17874
  db_root,
17755
17875
  documentRequirementAltasNVTMultifamiliar,
17756
17876
  documentRequirementAltasNVTUnifamiliar,
17877
+ documentRequirementVereda,
17757
17878
  empresas,
17758
17879
  esAsignacionPreliquidableAL02,
17759
17880
  esAsignacionPreliquidableAL04,
@@ -17818,6 +17939,7 @@ export {
17818
17939
  paisMap,
17819
17940
  parseDuplicateKeyError,
17820
17941
  prorratearMaterialesAL04,
17942
+ requisitosArchivoVereda,
17821
17943
  roundNumber,
17822
17944
  searchCurrentContractorSpecialtyPrice,
17823
17945
  setColModels,
@@ -17835,6 +17957,7 @@ export {
17835
17957
  updatePricePBBudgetAlemaniaAL04,
17836
17958
  uuidRegex,
17837
17959
  validarAsfaltoAL04,
17960
+ validarFormularioCivil,
17838
17961
  validarLineasDevolucionTR,
17839
17962
  validateNoLookup,
17840
17963
  validateUUIDv4Param,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigo-package",
3
- "version": "1.2.184",
3
+ "version": "1.2.186",
4
4
  "description": "Funciones compartidas sigo",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "peerDependencies": {
24
24
  "class-validator": "^0.15.1",
25
- "sigo-entities": "^1.2.514"
25
+ "sigo-entities": "^1.2.545"
26
26
  },
27
27
  "overrides": {
28
28
  "esbuild": "^0.28.0"