sigo-package 1.2.188 → 1.2.189

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, MetradosVeredaDTO, BtAlpPluzVeredaAsignacionENTITY, 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, AddressClassification, 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
 
@@ -926,7 +926,45 @@ declare const mapeoZonasSimilares: Record<string, string[]>;
926
926
 
927
927
  declare const documentRequirementAltasNVTUnifamiliar: DocumentRequirementDto[];
928
928
  declare const documentRequirementAltasNVTMultifamiliar: DocumentRequirementDto[];
929
+ interface DocumentRequirementAltasNVTParams {
930
+ classification?: AddressClassification;
931
+ /** Nº de homeids (Bauauftrag_ID distintos) del address (KLS_ID) */
932
+ homeIds: number;
933
+ /** La orden tiene el SDU (IM02) agregado por el técnico */
934
+ hasSDU: boolean;
935
+ /** Es la primera orden del address enviada a revisión */
936
+ isFirstOrder: boolean;
937
+ }
938
+ /**
939
+ * Fotos exigidas a una orden AltasNVT para enviarla a revisión / finalizarla.
940
+ * - Roseta TA abierta/cerrada: solo si se instala SDU o MDU, es decir multifamiliar siempre,
941
+ * unifamiliar con más de un homeid siempre y unifamiliar de un homeid solo si el técnico agregó el SDU.
942
+ * - Roseta AP abierta/cerrada: solo en la primera orden del address (KLS_ID) enviada a revisión.
943
+ */
944
+ declare function documentRequirementAltasNVT(params: DocumentRequirementAltasNVTParams): DocumentRequirementDto[];
929
945
 
946
+ /** Códigos de material con regla de obligatoriedad y su nombre para los mensajes */
947
+ declare const materialesAltasNVT: {
948
+ kitSellado: {
949
+ codigo: string;
950
+ nombre: string;
951
+ };
952
+ taponGas: {
953
+ codigo: string;
954
+ nombre: string;
955
+ };
956
+ };
957
+ /** Nº de homeids (Bauauftrag_ID distintos) entre las órdenes del address (KLS_ID) */
958
+ declare const homeIdsAltasNVT: (ordersSameKLS: AltasNVTOrderENTITY[]) => number;
959
+ /** La orden es la primera del address si ninguna otra del mismo KLS_ID está en revisión o finalizada */
960
+ declare const isFirstOrderAltasNVT: (order: AltasNVTOrderENTITY, ordersSameKLS: AltasNVTOrderENTITY[]) => boolean;
961
+ /**
962
+ * Materiales obligatorios de una orden AltasNVT:
963
+ * - Kit de sellado: solo en la primera orden del address (en las siguientes es opcional).
964
+ * - Tapón de gas: como mínimo 1 en cada orden.
965
+ */
966
+ declare function verifyInventoryAltasNVT(order: AltasNVTOrderENTITY, isFirstOrder: boolean, UnprocessableEntityException?: ClassConstructor<Error>): void;
967
+ /** @deprecated Usar verifyInventoryAltasNVT (kit de sellado solo en la primera orden del address) */
930
968
  declare function verifyInventoryFinalize(docs: AltasNVTOrderENTITY[], UnprocessableEntityException?: ClassConstructor<Error>): void;
931
969
 
932
970
  /** Código del material "contador retirado" que se agrega como línea deinstall */
@@ -1289,4 +1327,4 @@ declare function getCookieToken(req: Request<any>, webOrigins: string[]): string
1289
1327
 
1290
1328
  declare function validateUUIDv4Param(BadRequestException: ClassConstructor<Error>, req: Request<any>, _res: Response, next: NextFunction): Promise<void>;
1291
1329
 
1292
- 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, cantidadMOSubMOCOLOMBIA9612, 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, codigoParteDiarioHoyCOLOMBIA9612, codigosBaremosSubcontrataAL02, codigosMOT1_F2, codigosMaterialDuctos, codigosMaterialUGG, codigosSopladoHP, codsMOSubMOCOLOMBIA9612, collections, consumirStockPersonal, convertDates, dataFlujosHomePass, db_default, db_root, documentRequirementAltasNVTMultifamiliar, documentRequirementAltasNVTUnifamiliar, documentRequirementDesmonteVereda, documentRequirementVereda, empresas, esAsignacionPreliquidableAL02, esAsignacionPreliquidableAL04, esCadenaFechaISOValida, esMOConSubMOCOLOMBIA9612, esMaterialDuctoAL04, esObjetoFecha, esParteDiarioAprobadoCHILE9512, esParteDiarioAprobadoCOLOMBIA9612, esParteDiarioEditableCHILE9512, esParteDiarioEditableCOLOMBIA9612, 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, timeZoneCOLOMBIA9612, tituloFotoParteDiarioCHILE9512, tituloFotoParteDiarioCOLOMBIA9612, updatePriceContractorMOAL02, updatePriceContractorMOAL04, updatePriceMOAL02, updatePriceMOAL04, updatePricePBBudgetAlemaniaAL02, updatePricePBBudgetAlemaniaAL04, uuidRegex, validarAsfaltoAL04, validarFormularioCivil, validarLineasDevolucionTR, validateNoLookup, validateUUIDv4Param, verifyDetailsFinalizeSomacyl, verifyFiles, verifyInventoryFinalize, verifyInventoryFinalizeSomacyl, verifyInventoryLimitsSomacyl, verifyLineasDevolucionTR, verifyPhotosFinalizeSomacyl, verifyPhotosNotFinalizedSomacyl };
1330
+ 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, type DocumentRequirementAltasNVTParams, 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, cantidadMOSubMOCOLOMBIA9612, 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, codigoParteDiarioHoyCOLOMBIA9612, codigosBaremosSubcontrataAL02, codigosMOT1_F2, codigosMaterialDuctos, codigosMaterialUGG, codigosSopladoHP, codsMOSubMOCOLOMBIA9612, collections, consumirStockPersonal, convertDates, dataFlujosHomePass, db_default, db_root, documentRequirementAltasNVT, documentRequirementAltasNVTMultifamiliar, documentRequirementAltasNVTUnifamiliar, documentRequirementDesmonteVereda, documentRequirementVereda, empresas, esAsignacionPreliquidableAL02, esAsignacionPreliquidableAL04, esCadenaFechaISOValida, esMOConSubMOCOLOMBIA9612, esMaterialDuctoAL04, esObjetoFecha, esParteDiarioAprobadoCHILE9512, esParteDiarioAprobadoCOLOMBIA9612, esParteDiarioEditableCHILE9512, esParteDiarioEditableCOLOMBIA9612, 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, homeIdsAltasNVT, isFirstOrderAltasNVT, isValidDate, isValidPartialEntity, logTiempoProceso, mapaDPContratoPrecioFullAL02, mapaEstadoObraFaseAL02, mapaMOMaterialAL02, mapaMOMaterialAL04, mapaReglaSopladoClientes, mapaReglaSopladoTroncal, mapeoZonasSimilares, materialesAltasNVT, 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, timeZoneCOLOMBIA9612, tituloFotoParteDiarioCHILE9512, tituloFotoParteDiarioCOLOMBIA9612, updatePriceContractorMOAL02, updatePriceContractorMOAL04, updatePriceMOAL02, updatePriceMOAL04, updatePricePBBudgetAlemaniaAL02, updatePricePBBudgetAlemaniaAL04, uuidRegex, validarAsfaltoAL04, validarFormularioCivil, validarLineasDevolucionTR, validateNoLookup, validateUUIDv4Param, verifyDetailsFinalizeSomacyl, verifyFiles, verifyInventoryAltasNVT, 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, MetradosVeredaDTO, BtAlpPluzVeredaAsignacionENTITY, 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, AddressClassification, 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
 
@@ -926,7 +926,45 @@ declare const mapeoZonasSimilares: Record<string, string[]>;
926
926
 
927
927
  declare const documentRequirementAltasNVTUnifamiliar: DocumentRequirementDto[];
928
928
  declare const documentRequirementAltasNVTMultifamiliar: DocumentRequirementDto[];
929
+ interface DocumentRequirementAltasNVTParams {
930
+ classification?: AddressClassification;
931
+ /** Nº de homeids (Bauauftrag_ID distintos) del address (KLS_ID) */
932
+ homeIds: number;
933
+ /** La orden tiene el SDU (IM02) agregado por el técnico */
934
+ hasSDU: boolean;
935
+ /** Es la primera orden del address enviada a revisión */
936
+ isFirstOrder: boolean;
937
+ }
938
+ /**
939
+ * Fotos exigidas a una orden AltasNVT para enviarla a revisión / finalizarla.
940
+ * - Roseta TA abierta/cerrada: solo si se instala SDU o MDU, es decir multifamiliar siempre,
941
+ * unifamiliar con más de un homeid siempre y unifamiliar de un homeid solo si el técnico agregó el SDU.
942
+ * - Roseta AP abierta/cerrada: solo en la primera orden del address (KLS_ID) enviada a revisión.
943
+ */
944
+ declare function documentRequirementAltasNVT(params: DocumentRequirementAltasNVTParams): DocumentRequirementDto[];
929
945
 
946
+ /** Códigos de material con regla de obligatoriedad y su nombre para los mensajes */
947
+ declare const materialesAltasNVT: {
948
+ kitSellado: {
949
+ codigo: string;
950
+ nombre: string;
951
+ };
952
+ taponGas: {
953
+ codigo: string;
954
+ nombre: string;
955
+ };
956
+ };
957
+ /** Nº de homeids (Bauauftrag_ID distintos) entre las órdenes del address (KLS_ID) */
958
+ declare const homeIdsAltasNVT: (ordersSameKLS: AltasNVTOrderENTITY[]) => number;
959
+ /** La orden es la primera del address si ninguna otra del mismo KLS_ID está en revisión o finalizada */
960
+ declare const isFirstOrderAltasNVT: (order: AltasNVTOrderENTITY, ordersSameKLS: AltasNVTOrderENTITY[]) => boolean;
961
+ /**
962
+ * Materiales obligatorios de una orden AltasNVT:
963
+ * - Kit de sellado: solo en la primera orden del address (en las siguientes es opcional).
964
+ * - Tapón de gas: como mínimo 1 en cada orden.
965
+ */
966
+ declare function verifyInventoryAltasNVT(order: AltasNVTOrderENTITY, isFirstOrder: boolean, UnprocessableEntityException?: ClassConstructor<Error>): void;
967
+ /** @deprecated Usar verifyInventoryAltasNVT (kit de sellado solo en la primera orden del address) */
930
968
  declare function verifyInventoryFinalize(docs: AltasNVTOrderENTITY[], UnprocessableEntityException?: ClassConstructor<Error>): void;
931
969
 
932
970
  /** Código del material "contador retirado" que se agrega como línea deinstall */
@@ -1289,4 +1327,4 @@ declare function getCookieToken(req: Request<any>, webOrigins: string[]): string
1289
1327
 
1290
1328
  declare function validateUUIDv4Param(BadRequestException: ClassConstructor<Error>, req: Request<any>, _res: Response, next: NextFunction): Promise<void>;
1291
1329
 
1292
- 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, cantidadMOSubMOCOLOMBIA9612, 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, codigoParteDiarioHoyCOLOMBIA9612, codigosBaremosSubcontrataAL02, codigosMOT1_F2, codigosMaterialDuctos, codigosMaterialUGG, codigosSopladoHP, codsMOSubMOCOLOMBIA9612, collections, consumirStockPersonal, convertDates, dataFlujosHomePass, db_default, db_root, documentRequirementAltasNVTMultifamiliar, documentRequirementAltasNVTUnifamiliar, documentRequirementDesmonteVereda, documentRequirementVereda, empresas, esAsignacionPreliquidableAL02, esAsignacionPreliquidableAL04, esCadenaFechaISOValida, esMOConSubMOCOLOMBIA9612, esMaterialDuctoAL04, esObjetoFecha, esParteDiarioAprobadoCHILE9512, esParteDiarioAprobadoCOLOMBIA9612, esParteDiarioEditableCHILE9512, esParteDiarioEditableCOLOMBIA9612, 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, timeZoneCOLOMBIA9612, tituloFotoParteDiarioCHILE9512, tituloFotoParteDiarioCOLOMBIA9612, updatePriceContractorMOAL02, updatePriceContractorMOAL04, updatePriceMOAL02, updatePriceMOAL04, updatePricePBBudgetAlemaniaAL02, updatePricePBBudgetAlemaniaAL04, uuidRegex, validarAsfaltoAL04, validarFormularioCivil, validarLineasDevolucionTR, validateNoLookup, validateUUIDv4Param, verifyDetailsFinalizeSomacyl, verifyFiles, verifyInventoryFinalize, verifyInventoryFinalizeSomacyl, verifyInventoryLimitsSomacyl, verifyLineasDevolucionTR, verifyPhotosFinalizeSomacyl, verifyPhotosNotFinalizedSomacyl };
1330
+ 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, type DocumentRequirementAltasNVTParams, 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, cantidadMOSubMOCOLOMBIA9612, 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, codigoParteDiarioHoyCOLOMBIA9612, codigosBaremosSubcontrataAL02, codigosMOT1_F2, codigosMaterialDuctos, codigosMaterialUGG, codigosSopladoHP, codsMOSubMOCOLOMBIA9612, collections, consumirStockPersonal, convertDates, dataFlujosHomePass, db_default, db_root, documentRequirementAltasNVT, documentRequirementAltasNVTMultifamiliar, documentRequirementAltasNVTUnifamiliar, documentRequirementDesmonteVereda, documentRequirementVereda, empresas, esAsignacionPreliquidableAL02, esAsignacionPreliquidableAL04, esCadenaFechaISOValida, esMOConSubMOCOLOMBIA9612, esMaterialDuctoAL04, esObjetoFecha, esParteDiarioAprobadoCHILE9512, esParteDiarioAprobadoCOLOMBIA9612, esParteDiarioEditableCHILE9512, esParteDiarioEditableCOLOMBIA9612, 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, homeIdsAltasNVT, isFirstOrderAltasNVT, isValidDate, isValidPartialEntity, logTiempoProceso, mapaDPContratoPrecioFullAL02, mapaEstadoObraFaseAL02, mapaMOMaterialAL02, mapaMOMaterialAL04, mapaReglaSopladoClientes, mapaReglaSopladoTroncal, mapeoZonasSimilares, materialesAltasNVT, 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, timeZoneCOLOMBIA9612, tituloFotoParteDiarioCHILE9512, tituloFotoParteDiarioCOLOMBIA9612, updatePriceContractorMOAL02, updatePriceContractorMOAL04, updatePriceMOAL02, updatePriceMOAL04, updatePricePBBudgetAlemaniaAL02, updatePricePBBudgetAlemaniaAL04, uuidRegex, validarAsfaltoAL04, validarFormularioCivil, validarLineasDevolucionTR, validateNoLookup, validateUUIDv4Param, verifyDetailsFinalizeSomacyl, verifyFiles, verifyInventoryAltasNVT, verifyInventoryFinalize, verifyInventoryFinalizeSomacyl, verifyInventoryLimitsSomacyl, verifyLineasDevolucionTR, verifyPhotosFinalizeSomacyl, verifyPhotosNotFinalizedSomacyl };
package/dist/index.js CHANGED
@@ -142,6 +142,7 @@ __export(index_exports, {
142
142
  dataFlujosHomePass: () => dataFlujosHomePass,
143
143
  db_default: () => db_default,
144
144
  db_root: () => db_root,
145
+ documentRequirementAltasNVT: () => documentRequirementAltasNVT,
145
146
  documentRequirementAltasNVTMultifamiliar: () => documentRequirementAltasNVTMultifamiliar,
146
147
  documentRequirementAltasNVTUnifamiliar: () => documentRequirementAltasNVTUnifamiliar,
147
148
  documentRequirementDesmonteVereda: () => documentRequirementDesmonteVereda,
@@ -184,6 +185,8 @@ __export(index_exports, {
184
185
  getQueueNameSaveOneNotification: () => getQueueNameSaveOneNotification,
185
186
  getRequestOrigin: () => getRequestOrigin,
186
187
  hashCode: () => hashCode,
188
+ homeIdsAltasNVT: () => homeIdsAltasNVT,
189
+ isFirstOrderAltasNVT: () => isFirstOrderAltasNVT,
187
190
  isValidDate: () => isValidDate,
188
191
  isValidPartialEntity: () => isValidPartialEntity,
189
192
  logTiempoProceso: () => logTiempoProceso,
@@ -194,6 +197,7 @@ __export(index_exports, {
194
197
  mapaReglaSopladoClientes: () => mapaReglaSopladoClientes,
195
198
  mapaReglaSopladoTroncal: () => mapaReglaSopladoTroncal,
196
199
  mapeoZonasSimilares: () => mapeoZonasSimilares,
200
+ materialesAltasNVT: () => materialesAltasNVT,
197
201
  materialesAutomaticosAL04: () => materialesAutomaticosAL04,
198
202
  materialesSeleccionablesAL04: () => materialesSeleccionablesAL04,
199
203
  modoMaterialesAL04: () => modoMaterialesAL04,
@@ -239,6 +243,7 @@ __export(index_exports, {
239
243
  validateUUIDv4Param: () => validateUUIDv4Param,
240
244
  verifyDetailsFinalizeSomacyl: () => verifyDetailsFinalizeSomacyl,
241
245
  verifyFiles: () => verifyFiles,
246
+ verifyInventoryAltasNVT: () => verifyInventoryAltasNVT,
242
247
  verifyInventoryFinalize: () => verifyInventoryFinalize,
243
248
  verifyInventoryFinalizeSomacyl: () => verifyInventoryFinalizeSomacyl,
244
249
  verifyInventoryLimitsSomacyl: () => verifyInventoryLimitsSomacyl,
@@ -17348,6 +17353,17 @@ var documentRequirementAltasNVTComun = [
17348
17353
  maxFiles: 5,
17349
17354
  requiresMetadata: true,
17350
17355
  maxFileSize: 2
17356
+ },
17357
+ // Captura de pantalla de la orden finalizada: no lleva fecha ni GPS en el EXIF
17358
+ {
17359
+ id: "capturaOrdenFinalizada",
17360
+ label: "Captura orden finalizada",
17361
+ acceptedFileExtensions,
17362
+ children: [],
17363
+ minFiles: 1,
17364
+ maxFiles: 5,
17365
+ requiresMetadata: false,
17366
+ maxFileSize: 2
17351
17367
  }
17352
17368
  ];
17353
17369
  var documentRequirementAltasNVTUnifamiliar = [
@@ -17366,30 +17382,76 @@ var documentRequirementAltasNVTMultifamiliar = [
17366
17382
  maxFileSize: 2
17367
17383
  }
17368
17384
  ];
17385
+ var idsRosetaTA = [
17386
+ "rosetaTAAbierta",
17387
+ "rosetaTACerrada"
17388
+ ];
17389
+ var idsRosetaAP = [
17390
+ "rosetAPAbierta",
17391
+ "rosetAPCerrada"
17392
+ ];
17393
+ var withOptional = /* @__PURE__ */ __name((requirements, optionalIds) => requirements.map((requirement) => ({
17394
+ ...requirement,
17395
+ minFiles: optionalIds.includes(requirement.id) ? 0 : requirement.minFiles,
17396
+ children: withOptional(requirement.children, optionalIds)
17397
+ })), "withOptional");
17398
+ function documentRequirementAltasNVT(params) {
17399
+ const { classification, homeIds, hasSDU, isFirstOrder } = params;
17400
+ const isMultifamiliar = classification === import_sigo_entities6.AddressClassification.MULTIFAMILIAR;
17401
+ const base = isMultifamiliar ? documentRequirementAltasNVTMultifamiliar : documentRequirementAltasNVTUnifamiliar;
17402
+ const requiresRosetaTA = isMultifamiliar || homeIds > 1 || hasSDU;
17403
+ const optionalIds = [
17404
+ ...requiresRosetaTA ? [] : idsRosetaTA,
17405
+ ...isFirstOrder ? [] : idsRosetaAP
17406
+ ];
17407
+ return withOptional(base, optionalIds);
17408
+ }
17409
+ __name(documentRequirementAltasNVT, "documentRequirementAltasNVT");
17369
17410
 
17370
17411
  // src/Operativa/AltasNVT/verifyInventoryFinalize.ts
17412
+ var import_sigo_entities7 = require("sigo-entities");
17413
+ var throwError = /* @__PURE__ */ __name((msg, UnprocessableEntityException) => {
17414
+ if (UnprocessableEntityException) {
17415
+ throw new UnprocessableEntityException(msg, true);
17416
+ }
17417
+ throw new Error(msg, {
17418
+ cause: "USER_MESSAGE"
17419
+ });
17420
+ }, "throwError");
17421
+ var materialesAltasNVT = {
17422
+ kitSellado: {
17423
+ codigo: "40928145",
17424
+ nombre: "Kit de sellado"
17425
+ },
17426
+ taponGas: {
17427
+ codigo: "40290567",
17428
+ nombre: "Tap\xF3n de gas 7mm"
17429
+ }
17430
+ };
17431
+ var homeIdsAltasNVT = /* @__PURE__ */ __name((ordersSameKLS) => new Set(ordersSameKLS.map((o) => o.Bauauftrag_ID)).size, "homeIdsAltasNVT");
17432
+ var isFirstOrderAltasNVT = /* @__PURE__ */ __name((order, ordersSameKLS) => !ordersSameKLS.some((o) => o._id !== order._id && (o.estado_interno === import_sigo_entities7.StateInternalOrderAltasNVT.REVISION || o.estado_interno === import_sigo_entities7.StateInternalOrderAltasNVT.FINALIZADA)), "isFirstOrderAltasNVT");
17433
+ function verifyInventoryAltasNVT(order, isFirstOrder, UnprocessableEntityException) {
17434
+ const obligatorios = isFirstOrder ? [
17435
+ materialesAltasNVT.kitSellado,
17436
+ materialesAltasNVT.taponGas
17437
+ ] : [
17438
+ materialesAltasNVT.taponGas
17439
+ ];
17440
+ for (const { codigo, nombre } of obligatorios) {
17441
+ if (!order.inventory.some((inv) => inv.codigo === codigo)) {
17442
+ throwError(`No se puede finalizar la orden, la orden no tiene el material ${codigo} - ${nombre}`, UnprocessableEntityException);
17443
+ }
17444
+ }
17445
+ }
17446
+ __name(verifyInventoryAltasNVT, "verifyInventoryAltasNVT");
17371
17447
  function verifyInventoryFinalize(docs, UnprocessableEntityException) {
17372
17448
  const codigo = "40928145";
17373
17449
  const orders = docs.filter((e) => e.inventory.some((inv) => inv.codigo === codigo));
17374
17450
  if (orders.length === 0) {
17375
- const msg = `No se puede finalizar la orden, la orden no tiene el material ${codigo}`;
17376
- if (UnprocessableEntityException) {
17377
- throw new UnprocessableEntityException(msg, true);
17378
- } else {
17379
- throw new Error(msg, {
17380
- cause: "USER_MESSAGE"
17381
- });
17382
- }
17451
+ throwError(`No se puede finalizar la orden, la orden no tiene el material ${codigo}`, UnprocessableEntityException);
17383
17452
  }
17384
17453
  if (orders.length > 1) {
17385
- const msg = `No se puede finalizar la orden, existen ordenes con el material ${codigo}`;
17386
- if (UnprocessableEntityException) {
17387
- throw new UnprocessableEntityException(msg, true);
17388
- } else {
17389
- throw new Error(msg, {
17390
- cause: "USER_MESSAGE"
17391
- });
17392
- }
17454
+ throwError(`No se puede finalizar la orden, existen ordenes con el material ${codigo}`, UnprocessableEntityException);
17393
17455
  }
17394
17456
  }
17395
17457
  __name(verifyInventoryFinalize, "verifyInventoryFinalize");
@@ -17562,15 +17624,15 @@ var TOLERANCIA_M2_VEREDA = 0.1;
17562
17624
  var DIRECTORIO_DOCUMENTACION_VEREDA = "ORDENES_BT_ALP_PLUZ_VEREDA";
17563
17625
 
17564
17626
  // src/Operativa/BtAlpPluzVereda/documentRequirement.ts
17565
- var import_sigo_entities7 = require("sigo-entities");
17627
+ var import_sigo_entities8 = require("sigo-entities");
17566
17628
  var fotos = [
17567
- import_sigo_entities7.FileExtension.Jpg,
17568
- import_sigo_entities7.FileExtension.Jpeg,
17569
- import_sigo_entities7.FileExtension.Png
17629
+ import_sigo_entities8.FileExtension.Jpg,
17630
+ import_sigo_entities8.FileExtension.Jpeg,
17631
+ import_sigo_entities8.FileExtension.Png
17570
17632
  ];
17571
17633
  var documentos = [
17572
17634
  ...fotos,
17573
- import_sigo_entities7.FileExtension.Pdf
17635
+ import_sigo_entities8.FileExtension.Pdf
17574
17636
  ];
17575
17637
  var carpeta = /* @__PURE__ */ __name((id, label, children) => ({
17576
17638
  id,
@@ -17612,7 +17674,7 @@ var documentRequirementDesmonteVereda = [
17612
17674
  ];
17613
17675
 
17614
17676
  // src/Operativa/BtAlpPluzVereda/validarFormularioCivil.ts
17615
- var import_sigo_entities8 = require("sigo-entities");
17677
+ var import_sigo_entities9 = require("sigo-entities");
17616
17678
  var redondear = /* @__PURE__ */ __name((valor) => Math.round(valor * 100) / 100, "redondear");
17617
17679
  function avisoM2Vereda(metrados) {
17618
17680
  const reparados = redondear(metrados.m2_vereda_reparada + metrados.m2_vereda_asfalto + metrados.m2_piso_especial);
@@ -17625,8 +17687,8 @@ function validarFormularioCivil(asignacion) {
17625
17687
  const errores = [];
17626
17688
  const avisos = [];
17627
17689
  const { workflow, metrados } = asignacion.formulario_civil;
17628
- for (const { paso, orden } of Object.values(import_sigo_entities8.PASOS_WORKFLOW_VEREDA)) {
17629
- if (paso === import_sigo_entities8.PASOS_WORKFLOW_VEREDA.CERRADO.paso) continue;
17690
+ for (const { paso, orden } of Object.values(import_sigo_entities9.PASOS_WORKFLOW_VEREDA)) {
17691
+ if (paso === import_sigo_entities9.PASOS_WORKFLOW_VEREDA.CERRADO.paso) continue;
17630
17692
  if (!workflow.some((item) => item.paso === paso)) {
17631
17693
  errores.push({
17632
17694
  seccion: "workflow",
@@ -17869,7 +17931,7 @@ var parseDuplicateKeyError = /* @__PURE__ */ __name((message) => {
17869
17931
  }, "parseDuplicateKeyError");
17870
17932
 
17871
17933
  // src/v2/utils/buildSystemOption.ts
17872
- var import_sigo_entities9 = require("sigo-entities");
17934
+ var import_sigo_entities10 = require("sigo-entities");
17873
17935
  function separarPalabras(texto) {
17874
17936
  return texto.replace(/([a-z])([A-Z])/g, "$1 $2").replace(/([A-Z])([A-Z][a-z])/g, "$1 $2");
17875
17937
  }
@@ -17900,7 +17962,7 @@ async function builSystemOption(params) {
17900
17962
  route: isLast ? `${method} ${rootPath}${pathParts}` : "",
17901
17963
  _id: crypto.randomUUID()
17902
17964
  };
17903
- const newItem = await (0, import_sigo_entities9.validateCustom)(_newEntity, import_sigo_entities9.SystemOptionEntity, UnprocessableEntityException);
17965
+ const newItem = await (0, import_sigo_entities10.validateCustom)(_newEntity, import_sigo_entities10.SystemOptionEntity, UnprocessableEntityException);
17904
17966
  newData.push(newItem);
17905
17967
  }
17906
17968
  }
@@ -18163,6 +18225,7 @@ __name(validateUUIDv4Param, "validateUUIDv4Param");
18163
18225
  dataFlujosHomePass,
18164
18226
  db_default,
18165
18227
  db_root,
18228
+ documentRequirementAltasNVT,
18166
18229
  documentRequirementAltasNVTMultifamiliar,
18167
18230
  documentRequirementAltasNVTUnifamiliar,
18168
18231
  documentRequirementDesmonteVereda,
@@ -18205,6 +18268,8 @@ __name(validateUUIDv4Param, "validateUUIDv4Param");
18205
18268
  getQueueNameSaveOneNotification,
18206
18269
  getRequestOrigin,
18207
18270
  hashCode,
18271
+ homeIdsAltasNVT,
18272
+ isFirstOrderAltasNVT,
18208
18273
  isValidDate,
18209
18274
  isValidPartialEntity,
18210
18275
  logTiempoProceso,
@@ -18215,6 +18280,7 @@ __name(validateUUIDv4Param, "validateUUIDv4Param");
18215
18280
  mapaReglaSopladoClientes,
18216
18281
  mapaReglaSopladoTroncal,
18217
18282
  mapeoZonasSimilares,
18283
+ materialesAltasNVT,
18218
18284
  materialesAutomaticosAL04,
18219
18285
  materialesSeleccionablesAL04,
18220
18286
  modoMaterialesAL04,
@@ -18260,6 +18326,7 @@ __name(validateUUIDv4Param, "validateUUIDv4Param");
18260
18326
  validateUUIDv4Param,
18261
18327
  verifyDetailsFinalizeSomacyl,
18262
18328
  verifyFiles,
18329
+ verifyInventoryAltasNVT,
18263
18330
  verifyInventoryFinalize,
18264
18331
  verifyInventoryFinalizeSomacyl,
18265
18332
  verifyInventoryLimitsSomacyl,
package/dist/index.mjs CHANGED
@@ -16971,7 +16971,7 @@ var mapeoZonasSimilares = {
16971
16971
  };
16972
16972
 
16973
16973
  // src/Operativa/AltasNVT/documentRequirement.ts
16974
- import { FileExtension } from "sigo-entities";
16974
+ import { AddressClassification, FileExtension } from "sigo-entities";
16975
16975
  var acceptedFileExtensions = [
16976
16976
  FileExtension.Jpg,
16977
16977
  FileExtension.Jpeg,
@@ -17101,6 +17101,17 @@ var documentRequirementAltasNVTComun = [
17101
17101
  maxFiles: 5,
17102
17102
  requiresMetadata: true,
17103
17103
  maxFileSize: 2
17104
+ },
17105
+ // Captura de pantalla de la orden finalizada: no lleva fecha ni GPS en el EXIF
17106
+ {
17107
+ id: "capturaOrdenFinalizada",
17108
+ label: "Captura orden finalizada",
17109
+ acceptedFileExtensions,
17110
+ children: [],
17111
+ minFiles: 1,
17112
+ maxFiles: 5,
17113
+ requiresMetadata: false,
17114
+ maxFileSize: 2
17104
17115
  }
17105
17116
  ];
17106
17117
  var documentRequirementAltasNVTUnifamiliar = [
@@ -17119,30 +17130,76 @@ var documentRequirementAltasNVTMultifamiliar = [
17119
17130
  maxFileSize: 2
17120
17131
  }
17121
17132
  ];
17133
+ var idsRosetaTA = [
17134
+ "rosetaTAAbierta",
17135
+ "rosetaTACerrada"
17136
+ ];
17137
+ var idsRosetaAP = [
17138
+ "rosetAPAbierta",
17139
+ "rosetAPCerrada"
17140
+ ];
17141
+ var withOptional = /* @__PURE__ */ __name((requirements, optionalIds) => requirements.map((requirement) => ({
17142
+ ...requirement,
17143
+ minFiles: optionalIds.includes(requirement.id) ? 0 : requirement.minFiles,
17144
+ children: withOptional(requirement.children, optionalIds)
17145
+ })), "withOptional");
17146
+ function documentRequirementAltasNVT(params) {
17147
+ const { classification, homeIds, hasSDU, isFirstOrder } = params;
17148
+ const isMultifamiliar = classification === AddressClassification.MULTIFAMILIAR;
17149
+ const base = isMultifamiliar ? documentRequirementAltasNVTMultifamiliar : documentRequirementAltasNVTUnifamiliar;
17150
+ const requiresRosetaTA = isMultifamiliar || homeIds > 1 || hasSDU;
17151
+ const optionalIds = [
17152
+ ...requiresRosetaTA ? [] : idsRosetaTA,
17153
+ ...isFirstOrder ? [] : idsRosetaAP
17154
+ ];
17155
+ return withOptional(base, optionalIds);
17156
+ }
17157
+ __name(documentRequirementAltasNVT, "documentRequirementAltasNVT");
17122
17158
 
17123
17159
  // src/Operativa/AltasNVT/verifyInventoryFinalize.ts
17160
+ import { StateInternalOrderAltasNVT } from "sigo-entities";
17161
+ var throwError = /* @__PURE__ */ __name((msg, UnprocessableEntityException) => {
17162
+ if (UnprocessableEntityException) {
17163
+ throw new UnprocessableEntityException(msg, true);
17164
+ }
17165
+ throw new Error(msg, {
17166
+ cause: "USER_MESSAGE"
17167
+ });
17168
+ }, "throwError");
17169
+ var materialesAltasNVT = {
17170
+ kitSellado: {
17171
+ codigo: "40928145",
17172
+ nombre: "Kit de sellado"
17173
+ },
17174
+ taponGas: {
17175
+ codigo: "40290567",
17176
+ nombre: "Tap\xF3n de gas 7mm"
17177
+ }
17178
+ };
17179
+ var homeIdsAltasNVT = /* @__PURE__ */ __name((ordersSameKLS) => new Set(ordersSameKLS.map((o) => o.Bauauftrag_ID)).size, "homeIdsAltasNVT");
17180
+ var isFirstOrderAltasNVT = /* @__PURE__ */ __name((order, ordersSameKLS) => !ordersSameKLS.some((o) => o._id !== order._id && (o.estado_interno === StateInternalOrderAltasNVT.REVISION || o.estado_interno === StateInternalOrderAltasNVT.FINALIZADA)), "isFirstOrderAltasNVT");
17181
+ function verifyInventoryAltasNVT(order, isFirstOrder, UnprocessableEntityException) {
17182
+ const obligatorios = isFirstOrder ? [
17183
+ materialesAltasNVT.kitSellado,
17184
+ materialesAltasNVT.taponGas
17185
+ ] : [
17186
+ materialesAltasNVT.taponGas
17187
+ ];
17188
+ for (const { codigo, nombre } of obligatorios) {
17189
+ if (!order.inventory.some((inv) => inv.codigo === codigo)) {
17190
+ throwError(`No se puede finalizar la orden, la orden no tiene el material ${codigo} - ${nombre}`, UnprocessableEntityException);
17191
+ }
17192
+ }
17193
+ }
17194
+ __name(verifyInventoryAltasNVT, "verifyInventoryAltasNVT");
17124
17195
  function verifyInventoryFinalize(docs, UnprocessableEntityException) {
17125
17196
  const codigo = "40928145";
17126
17197
  const orders = docs.filter((e) => e.inventory.some((inv) => inv.codigo === codigo));
17127
17198
  if (orders.length === 0) {
17128
- const msg = `No se puede finalizar la orden, la orden no tiene el material ${codigo}`;
17129
- if (UnprocessableEntityException) {
17130
- throw new UnprocessableEntityException(msg, true);
17131
- } else {
17132
- throw new Error(msg, {
17133
- cause: "USER_MESSAGE"
17134
- });
17135
- }
17199
+ throwError(`No se puede finalizar la orden, la orden no tiene el material ${codigo}`, UnprocessableEntityException);
17136
17200
  }
17137
17201
  if (orders.length > 1) {
17138
- const msg = `No se puede finalizar la orden, existen ordenes con el material ${codigo}`;
17139
- if (UnprocessableEntityException) {
17140
- throw new UnprocessableEntityException(msg, true);
17141
- } else {
17142
- throw new Error(msg, {
17143
- cause: "USER_MESSAGE"
17144
- });
17145
- }
17202
+ throwError(`No se puede finalizar la orden, existen ordenes con el material ${codigo}`, UnprocessableEntityException);
17146
17203
  }
17147
17204
  }
17148
17205
  __name(verifyInventoryFinalize, "verifyInventoryFinalize");
@@ -17915,6 +17972,7 @@ export {
17915
17972
  dataFlujosHomePass,
17916
17973
  db_default,
17917
17974
  db_root,
17975
+ documentRequirementAltasNVT,
17918
17976
  documentRequirementAltasNVTMultifamiliar,
17919
17977
  documentRequirementAltasNVTUnifamiliar,
17920
17978
  documentRequirementDesmonteVereda,
@@ -17957,6 +18015,8 @@ export {
17957
18015
  getQueueNameSaveOneNotification,
17958
18016
  getRequestOrigin,
17959
18017
  hashCode,
18018
+ homeIdsAltasNVT,
18019
+ isFirstOrderAltasNVT,
17960
18020
  isValidDate,
17961
18021
  isValidPartialEntity,
17962
18022
  logTiempoProceso,
@@ -17967,6 +18027,7 @@ export {
17967
18027
  mapaReglaSopladoClientes,
17968
18028
  mapaReglaSopladoTroncal,
17969
18029
  mapeoZonasSimilares,
18030
+ materialesAltasNVT,
17970
18031
  materialesAutomaticosAL04,
17971
18032
  materialesSeleccionablesAL04,
17972
18033
  modoMaterialesAL04,
@@ -18012,6 +18073,7 @@ export {
18012
18073
  validateUUIDv4Param,
18013
18074
  verifyDetailsFinalizeSomacyl,
18014
18075
  verifyFiles,
18076
+ verifyInventoryAltasNVT,
18015
18077
  verifyInventoryFinalize,
18016
18078
  verifyInventoryFinalizeSomacyl,
18017
18079
  verifyInventoryLimitsSomacyl,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigo-package",
3
- "version": "1.2.188",
3
+ "version": "1.2.189",
4
4
  "description": "Funciones compartidas sigo",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",