sigo-package 1.2.35 → 1.2.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as sigo_entities from 'sigo-entities';
2
- import { ManoObraENTITY, ReservaENTITY, ItemDetalleLogisticaDTO, HomePassDTO, FlujoDocDTO, NodoDocDTO, DocumentacionPEXENTITY, ManoObraGlobalENTITY, PrecioEspecialidadENTITY, ObraChile9512ENTITY, ValorizacionManoObraDTO, ValorizacionDTO, PrecioContratistaMOAL02ENTITY, StockPersonalENTITY, StockAlmacenENTITY, TrabajoENTITY, ActividadesDTO, PreciosVigentesDTO, ContratoOTENTITY } from 'sigo-entities';
2
+ import { ManoObraENTITY, ReservaENTITY, ItemDetalleLogisticaDTO, HomePassDTO, FlujoDocDTO, NodoDocDTO, DocumentacionPEXENTITY, ManoObraGlobalENTITY, PrecioEspecialidadENTITY, ObraChile9512ENTITY, ValorizacionManoObraDTO, ValorizacionDTO, PrecioContratistaMOAL02ENTITY, StockPersonalENTITY, StockAlmacenENTITY, ConsumoMaterialAlemaniaENTITY, TrabajoENTITY, ActividadesDTO, PreciosVigentesDTO, ContratoOTENTITY } from 'sigo-entities';
3
3
 
4
4
  interface IenvSIGO$1 {
5
5
  SISTEMAS_VALORIZACION_MANO_OBRA: string[];
@@ -335,6 +335,8 @@ declare function buildDataMaterialsRule(Materiales: Map<string, IMOAndMaterialsR
335
335
 
336
336
  declare function consumirStockPersonal(codDelegacion: string, codigoMaterial: string): boolean;
337
337
 
338
+ declare function checkMaterialAvailability(materials: IMateriales[], dataMaterialesUtilizados: IMateriales[], dataStockPersonal: StockPersonalENTITY[], dataStockAlmacen: StockAlmacenENTITY[], dataConsumoMaterial: ConsumoMaterialAlemaniaENTITY[]): void;
339
+
338
340
  declare const CalcularResumenLiquidaciones: Funcion$1;
339
341
  interface Funcion$1 {
340
342
  (trabajo: TrabajoType, trabajos: any[]): ResumenLiquidacionesTypeChile;
@@ -525,4 +527,6 @@ declare function setContext(this: any, modules: __WebpackModuleApi.RequireContex
525
527
 
526
528
  declare function getContainerName(dirname: string): string;
527
529
 
528
- export { ActualizarDataManoObra, ActualizarDataReserva, ActualizarDataResumenLiquidaciones, ActualizarDataResumenValorizacionesAlemania, ActualizarDataTrabajos, BuscarZonaContratista, CalcularResumenHPMOLiquidado, CalcularResumenLiquidaciones, CalcularResumenValorizacionesAlemania, CodigosMaterialDuctosAL02, CodigosMaterialDuctosAL04, CodigosMaterialSoplado, CodsMapeoMOMaterial, CodsMapeoMOMaterialNVT01, CodsMapeoMOMaterialSopladoClientes, CodsMapeoMOMaterialSopladoTroncal, CodsMapeoMO_Material_Arquertas, CompararFechas, CurrencyFormat, DocumentacionReplanteo, EstadoEspecialidad9612, GemeindeChangeNomenclatura, GetCodigoFechaActual, type IDocumentacion, type IMOAndMaterialsRules, type IMateriales, MOCantidadNVT01, MOHijasAL04, MOHijasDEPTH, MapeoEspecialidades9612, MapeoMOBOMAL04, MapeoMatBOMAL04, type MatRetiradosType, type MatStockAlmacenType, type MatStockPersonalType$1 as MatStockPersonalType, type MatUtilizadosType$1 as MatUtilizadosType, type MoUoType$1 as MoUoType, ModelDataFlujosDocumentacionReplanteo, ObtenerMONoReservada, ObtenerPrecioContratistaVigente, ObtenerZonaAsignada, type ResumenLiquidacionesType, type ResumenLiquidacionesTypeChile, SEGMENT_TY, type TARGET, UpdateNodosDocDP, buildDataMaterialsRule, checkAndBuildMaterialsFromStock, codBalizaAL04, codClientes, codMOClientesAL02, codMOClientesAL02Asfaltado, codMOClientesAL02OC, codMOClientesAL02Soplado, codMOClientes_ReglaLiquidacion1, codMODROPAL04, codMODROPAL04OC, codMODROPAL04Soplado, codMOFTTFAL04, codMONoClientesAL02, codMONoClientesAL02Asfaltado, codMONoClientesAL02OC, codMONoClientesAL02Soplado, codMONoClientes_ReglaLiquidacion1, codMOOcultosAL04, codMOPublico, codMOTroncalAL02, codMOTroncalAL02Asfaltado, codMOTroncalAL02OC, codMOTroncalAL02Soplado, codMOTroncalAL04, codMOTroncalAL04Asfaltado, codMOTroncalAL04OC, codMOTroncalAL04Soplado, codMOTroncal_ReglaLiquidacion1, codNoCliente, codSopladoRD, codigosMOT1_F2, codigosMaterialDuctos, codigosMaterialUGG, consumirStockPersonal, convertDates, dataFlujosHomePass, esCadenaFechaISOValida, esObjetoFecha, generateUniqueNumber, generateUniqueNumberArray, getChannelName, getContainerName, getDateInTimeZone, getKeyRedisSortedSet, getModelDataAdicional, getNextID_Valorizacion, getQueueName, getQueueNameSaveOneNotification, isValidDate, isValidPartialEntity, logTiempoProceso, mapaEstadoObraFaseAL02, mapaMOMaterialAL02, mapaMOMaterialAL04, mapaReglaSopladoClientes, mapaReglaSopladoTroncal, obtenerDocumentacionClientes, obtenerDocumentacionNoClientes, obtenerPrecioManoObraAL02, obtenerPrecioManoObraAL04, obtenerTipoYCodigoMO, paisMap, searchCurrentContractorSpecialtyPrice, setContext, updatePriceContractorMOAL02, updatePriceContractorMOAL04, updatePriceMOAL02, updatePriceMOAL04, validateNoLookup };
530
+ declare function buildTenantCollectionName(countryName: string, delegation: string, collection: string): string;
531
+
532
+ export { ActualizarDataManoObra, ActualizarDataReserva, ActualizarDataResumenLiquidaciones, ActualizarDataResumenValorizacionesAlemania, ActualizarDataTrabajos, BuscarZonaContratista, CalcularResumenHPMOLiquidado, CalcularResumenLiquidaciones, CalcularResumenValorizacionesAlemania, CodigosMaterialDuctosAL02, CodigosMaterialDuctosAL04, CodigosMaterialSoplado, CodsMapeoMOMaterial, CodsMapeoMOMaterialNVT01, CodsMapeoMOMaterialSopladoClientes, CodsMapeoMOMaterialSopladoTroncal, CodsMapeoMO_Material_Arquertas, CompararFechas, CurrencyFormat, DocumentacionReplanteo, EstadoEspecialidad9612, GemeindeChangeNomenclatura, GetCodigoFechaActual, type IDocumentacion, type IMOAndMaterialsRules, type IMateriales, MOCantidadNVT01, MOHijasAL04, MOHijasDEPTH, MapeoEspecialidades9612, MapeoMOBOMAL04, MapeoMatBOMAL04, type MatRetiradosType, type MatStockAlmacenType, type MatStockPersonalType$1 as MatStockPersonalType, type MatUtilizadosType$1 as MatUtilizadosType, type MoUoType$1 as MoUoType, ModelDataFlujosDocumentacionReplanteo, ObtenerMONoReservada, ObtenerPrecioContratistaVigente, ObtenerZonaAsignada, type ResumenLiquidacionesType, type ResumenLiquidacionesTypeChile, SEGMENT_TY, type TARGET, UpdateNodosDocDP, buildDataMaterialsRule, buildTenantCollectionName, checkAndBuildMaterialsFromStock, checkMaterialAvailability, codBalizaAL04, codClientes, codMOClientesAL02, codMOClientesAL02Asfaltado, codMOClientesAL02OC, codMOClientesAL02Soplado, codMOClientes_ReglaLiquidacion1, codMODROPAL04, codMODROPAL04OC, codMODROPAL04Soplado, codMOFTTFAL04, codMONoClientesAL02, codMONoClientesAL02Asfaltado, codMONoClientesAL02OC, codMONoClientesAL02Soplado, codMONoClientes_ReglaLiquidacion1, codMOOcultosAL04, codMOPublico, codMOTroncalAL02, codMOTroncalAL02Asfaltado, codMOTroncalAL02OC, codMOTroncalAL02Soplado, codMOTroncalAL04, codMOTroncalAL04Asfaltado, codMOTroncalAL04OC, codMOTroncalAL04Soplado, codMOTroncal_ReglaLiquidacion1, codNoCliente, codSopladoRD, codigosMOT1_F2, codigosMaterialDuctos, codigosMaterialUGG, consumirStockPersonal, convertDates, dataFlujosHomePass, esCadenaFechaISOValida, esObjetoFecha, generateUniqueNumber, generateUniqueNumberArray, getChannelName, getContainerName, getDateInTimeZone, getKeyRedisSortedSet, getModelDataAdicional, getNextID_Valorizacion, getQueueName, getQueueNameSaveOneNotification, isValidDate, isValidPartialEntity, logTiempoProceso, mapaEstadoObraFaseAL02, mapaMOMaterialAL02, mapaMOMaterialAL04, mapaReglaSopladoClientes, mapaReglaSopladoTroncal, obtenerDocumentacionClientes, obtenerDocumentacionNoClientes, obtenerPrecioManoObraAL02, obtenerPrecioManoObraAL04, obtenerTipoYCodigoMO, paisMap, searchCurrentContractorSpecialtyPrice, setContext, updatePriceContractorMOAL02, updatePriceContractorMOAL04, updatePriceMOAL02, updatePriceMOAL04, validateNoLookup };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as sigo_entities from 'sigo-entities';
2
- import { ManoObraENTITY, ReservaENTITY, ItemDetalleLogisticaDTO, HomePassDTO, FlujoDocDTO, NodoDocDTO, DocumentacionPEXENTITY, ManoObraGlobalENTITY, PrecioEspecialidadENTITY, ObraChile9512ENTITY, ValorizacionManoObraDTO, ValorizacionDTO, PrecioContratistaMOAL02ENTITY, StockPersonalENTITY, StockAlmacenENTITY, TrabajoENTITY, ActividadesDTO, PreciosVigentesDTO, ContratoOTENTITY } from 'sigo-entities';
2
+ import { ManoObraENTITY, ReservaENTITY, ItemDetalleLogisticaDTO, HomePassDTO, FlujoDocDTO, NodoDocDTO, DocumentacionPEXENTITY, ManoObraGlobalENTITY, PrecioEspecialidadENTITY, ObraChile9512ENTITY, ValorizacionManoObraDTO, ValorizacionDTO, PrecioContratistaMOAL02ENTITY, StockPersonalENTITY, StockAlmacenENTITY, ConsumoMaterialAlemaniaENTITY, TrabajoENTITY, ActividadesDTO, PreciosVigentesDTO, ContratoOTENTITY } from 'sigo-entities';
3
3
 
4
4
  interface IenvSIGO$1 {
5
5
  SISTEMAS_VALORIZACION_MANO_OBRA: string[];
@@ -335,6 +335,8 @@ declare function buildDataMaterialsRule(Materiales: Map<string, IMOAndMaterialsR
335
335
 
336
336
  declare function consumirStockPersonal(codDelegacion: string, codigoMaterial: string): boolean;
337
337
 
338
+ declare function checkMaterialAvailability(materials: IMateriales[], dataMaterialesUtilizados: IMateriales[], dataStockPersonal: StockPersonalENTITY[], dataStockAlmacen: StockAlmacenENTITY[], dataConsumoMaterial: ConsumoMaterialAlemaniaENTITY[]): void;
339
+
338
340
  declare const CalcularResumenLiquidaciones: Funcion$1;
339
341
  interface Funcion$1 {
340
342
  (trabajo: TrabajoType, trabajos: any[]): ResumenLiquidacionesTypeChile;
@@ -525,4 +527,6 @@ declare function setContext(this: any, modules: __WebpackModuleApi.RequireContex
525
527
 
526
528
  declare function getContainerName(dirname: string): string;
527
529
 
528
- export { ActualizarDataManoObra, ActualizarDataReserva, ActualizarDataResumenLiquidaciones, ActualizarDataResumenValorizacionesAlemania, ActualizarDataTrabajos, BuscarZonaContratista, CalcularResumenHPMOLiquidado, CalcularResumenLiquidaciones, CalcularResumenValorizacionesAlemania, CodigosMaterialDuctosAL02, CodigosMaterialDuctosAL04, CodigosMaterialSoplado, CodsMapeoMOMaterial, CodsMapeoMOMaterialNVT01, CodsMapeoMOMaterialSopladoClientes, CodsMapeoMOMaterialSopladoTroncal, CodsMapeoMO_Material_Arquertas, CompararFechas, CurrencyFormat, DocumentacionReplanteo, EstadoEspecialidad9612, GemeindeChangeNomenclatura, GetCodigoFechaActual, type IDocumentacion, type IMOAndMaterialsRules, type IMateriales, MOCantidadNVT01, MOHijasAL04, MOHijasDEPTH, MapeoEspecialidades9612, MapeoMOBOMAL04, MapeoMatBOMAL04, type MatRetiradosType, type MatStockAlmacenType, type MatStockPersonalType$1 as MatStockPersonalType, type MatUtilizadosType$1 as MatUtilizadosType, type MoUoType$1 as MoUoType, ModelDataFlujosDocumentacionReplanteo, ObtenerMONoReservada, ObtenerPrecioContratistaVigente, ObtenerZonaAsignada, type ResumenLiquidacionesType, type ResumenLiquidacionesTypeChile, SEGMENT_TY, type TARGET, UpdateNodosDocDP, buildDataMaterialsRule, checkAndBuildMaterialsFromStock, codBalizaAL04, codClientes, codMOClientesAL02, codMOClientesAL02Asfaltado, codMOClientesAL02OC, codMOClientesAL02Soplado, codMOClientes_ReglaLiquidacion1, codMODROPAL04, codMODROPAL04OC, codMODROPAL04Soplado, codMOFTTFAL04, codMONoClientesAL02, codMONoClientesAL02Asfaltado, codMONoClientesAL02OC, codMONoClientesAL02Soplado, codMONoClientes_ReglaLiquidacion1, codMOOcultosAL04, codMOPublico, codMOTroncalAL02, codMOTroncalAL02Asfaltado, codMOTroncalAL02OC, codMOTroncalAL02Soplado, codMOTroncalAL04, codMOTroncalAL04Asfaltado, codMOTroncalAL04OC, codMOTroncalAL04Soplado, codMOTroncal_ReglaLiquidacion1, codNoCliente, codSopladoRD, codigosMOT1_F2, codigosMaterialDuctos, codigosMaterialUGG, consumirStockPersonal, convertDates, dataFlujosHomePass, esCadenaFechaISOValida, esObjetoFecha, generateUniqueNumber, generateUniqueNumberArray, getChannelName, getContainerName, getDateInTimeZone, getKeyRedisSortedSet, getModelDataAdicional, getNextID_Valorizacion, getQueueName, getQueueNameSaveOneNotification, isValidDate, isValidPartialEntity, logTiempoProceso, mapaEstadoObraFaseAL02, mapaMOMaterialAL02, mapaMOMaterialAL04, mapaReglaSopladoClientes, mapaReglaSopladoTroncal, obtenerDocumentacionClientes, obtenerDocumentacionNoClientes, obtenerPrecioManoObraAL02, obtenerPrecioManoObraAL04, obtenerTipoYCodigoMO, paisMap, searchCurrentContractorSpecialtyPrice, setContext, updatePriceContractorMOAL02, updatePriceContractorMOAL04, updatePriceMOAL02, updatePriceMOAL04, validateNoLookup };
530
+ declare function buildTenantCollectionName(countryName: string, delegation: string, collection: string): string;
531
+
532
+ export { ActualizarDataManoObra, ActualizarDataReserva, ActualizarDataResumenLiquidaciones, ActualizarDataResumenValorizacionesAlemania, ActualizarDataTrabajos, BuscarZonaContratista, CalcularResumenHPMOLiquidado, CalcularResumenLiquidaciones, CalcularResumenValorizacionesAlemania, CodigosMaterialDuctosAL02, CodigosMaterialDuctosAL04, CodigosMaterialSoplado, CodsMapeoMOMaterial, CodsMapeoMOMaterialNVT01, CodsMapeoMOMaterialSopladoClientes, CodsMapeoMOMaterialSopladoTroncal, CodsMapeoMO_Material_Arquertas, CompararFechas, CurrencyFormat, DocumentacionReplanteo, EstadoEspecialidad9612, GemeindeChangeNomenclatura, GetCodigoFechaActual, type IDocumentacion, type IMOAndMaterialsRules, type IMateriales, MOCantidadNVT01, MOHijasAL04, MOHijasDEPTH, MapeoEspecialidades9612, MapeoMOBOMAL04, MapeoMatBOMAL04, type MatRetiradosType, type MatStockAlmacenType, type MatStockPersonalType$1 as MatStockPersonalType, type MatUtilizadosType$1 as MatUtilizadosType, type MoUoType$1 as MoUoType, ModelDataFlujosDocumentacionReplanteo, ObtenerMONoReservada, ObtenerPrecioContratistaVigente, ObtenerZonaAsignada, type ResumenLiquidacionesType, type ResumenLiquidacionesTypeChile, SEGMENT_TY, type TARGET, UpdateNodosDocDP, buildDataMaterialsRule, buildTenantCollectionName, checkAndBuildMaterialsFromStock, checkMaterialAvailability, codBalizaAL04, codClientes, codMOClientesAL02, codMOClientesAL02Asfaltado, codMOClientesAL02OC, codMOClientesAL02Soplado, codMOClientes_ReglaLiquidacion1, codMODROPAL04, codMODROPAL04OC, codMODROPAL04Soplado, codMOFTTFAL04, codMONoClientesAL02, codMONoClientesAL02Asfaltado, codMONoClientesAL02OC, codMONoClientesAL02Soplado, codMONoClientes_ReglaLiquidacion1, codMOOcultosAL04, codMOPublico, codMOTroncalAL02, codMOTroncalAL02Asfaltado, codMOTroncalAL02OC, codMOTroncalAL02Soplado, codMOTroncalAL04, codMOTroncalAL04Asfaltado, codMOTroncalAL04OC, codMOTroncalAL04Soplado, codMOTroncal_ReglaLiquidacion1, codNoCliente, codSopladoRD, codigosMOT1_F2, codigosMaterialDuctos, codigosMaterialUGG, consumirStockPersonal, convertDates, dataFlujosHomePass, esCadenaFechaISOValida, esObjetoFecha, generateUniqueNumber, generateUniqueNumberArray, getChannelName, getContainerName, getDateInTimeZone, getKeyRedisSortedSet, getModelDataAdicional, getNextID_Valorizacion, getQueueName, getQueueNameSaveOneNotification, isValidDate, isValidPartialEntity, logTiempoProceso, mapaEstadoObraFaseAL02, mapaMOMaterialAL02, mapaMOMaterialAL04, mapaReglaSopladoClientes, mapaReglaSopladoTroncal, obtenerDocumentacionClientes, obtenerDocumentacionNoClientes, obtenerPrecioManoObraAL02, obtenerPrecioManoObraAL04, obtenerTipoYCodigoMO, paisMap, searchCurrentContractorSpecialtyPrice, setContext, updatePriceContractorMOAL02, updatePriceContractorMOAL04, updatePriceMOAL02, updatePriceMOAL04, validateNoLookup };
package/dist/index.js CHANGED
@@ -59,7 +59,9 @@ __export(index_exports, {
59
59
  SEGMENT_TY: () => SEGMENT_TY,
60
60
  UpdateNodosDocDP: () => UpdateNodosDocDP,
61
61
  buildDataMaterialsRule: () => buildDataMaterialsRule,
62
+ buildTenantCollectionName: () => buildTenantCollectionName,
62
63
  checkAndBuildMaterialsFromStock: () => checkAndBuildMaterialsFromStock,
64
+ checkMaterialAvailability: () => checkMaterialAvailability,
63
65
  codBalizaAL04: () => codBalizaAL04,
64
66
  codClientes: () => codClientes,
65
67
  codMOClientesAL02: () => codMOClientesAL02,
@@ -5999,6 +6001,47 @@ function buildDataMaterialsRule(Materiales, dataStockPersonal, dataStockAlmacen,
5999
6001
  }
6000
6002
  __name(buildDataMaterialsRule, "buildDataMaterialsRule");
6001
6003
 
6004
+ // src/Programados/Alemania/checkMaterialAvailability.ts
6005
+ function checkMaterialAvailability(materials, dataMaterialesUtilizados, dataStockPersonal, dataStockAlmacen, dataConsumoMaterial) {
6006
+ const dataMUStockPersonal = dataMaterialesUtilizados.filter((e) => e.stock === "Personal");
6007
+ const dataMUStockAlmacen = dataMaterialesUtilizados.filter((e) => e.stock === "Almacen");
6008
+ for (const material of materials) {
6009
+ if (material.stock === "Personal") {
6010
+ const stockPersonal = dataStockPersonal.find((e) => e.ID_StockPersonal === material.ID);
6011
+ if (!stockPersonal) {
6012
+ throw new Error(`No se encontr\xF3 el material ID_StockPersonal "${material.ID}" en data stock personal.`);
6013
+ }
6014
+ const utilizadoLocal = dataMUStockPersonal.filter((e) => e.ID === material.ID).reduce((acc, el) => acc += el.cantidad, 0);
6015
+ const { Despacho, Devolucion, Liquidacion, DespachoTR, DevolucionTR } = stockPersonal;
6016
+ const disponible = Despacho - Devolucion - Liquidacion + DespachoTR - DevolucionTR - utilizadoLocal;
6017
+ if (disponible < material.cantidad) {
6018
+ throw new Error(`No tiene stock personal suficiente para el material '${material.item.Codigo}${material.lote ? ` (lote: ${material.lote})` : ""}' para este trabajo. (Disponible: ${disponible})`);
6019
+ }
6020
+ } else if (material.stock === "Almacen") {
6021
+ const stockAlmacen = dataStockAlmacen.find((e) => e.ID_StockAlmacen === material.ID);
6022
+ if (!stockAlmacen) {
6023
+ throw new Error(`No se encontr\xF3 el material ID_StockAlmacen "${material.ID}" en data stock alamc\xE9n.`);
6024
+ }
6025
+ const utilizadoLocal = dataMUStockAlmacen.filter((e) => e.ID === material.ID).reduce((acc, el) => acc += el.cantidad, 0);
6026
+ const utilizadoCM = dataConsumoMaterial.reduce((ac, e) => {
6027
+ const exist = e.CosumoMaterial.filter((cm) => cm.CodigoLlave === stockAlmacen.CodigoLlave);
6028
+ if (exist.length > 1) {
6029
+ throw new Error(`No se pudo calcular utilizado consumo material.`);
6030
+ }
6031
+ return ac += exist.length ? exist[0].Cantidad : 0;
6032
+ }, 0);
6033
+ const { Ingreso, Despacho, Devolucion } = stockAlmacen;
6034
+ const disponible = Ingreso - Despacho + Devolucion - utilizadoLocal - utilizadoCM;
6035
+ if (disponible < material.cantidad) {
6036
+ throw new Error(`No tiene stock almac\xE9n suficiente para el material '${material.item.Codigo}${material.lote ? ` (lote: ${material.lote})` : ""}' para este trabajo. (Disponible: ${disponible})`);
6037
+ }
6038
+ } else {
6039
+ throw new Error(`No se encontraron casos para el tipo de stock ${material.stock}`);
6040
+ }
6041
+ }
6042
+ }
6043
+ __name(checkMaterialAvailability, "checkMaterialAvailability");
6044
+
6002
6045
  // src/Programados/Colombia/9612/MapaEspecialidadesColombia.ts
6003
6046
  var EstadoEspecialidad9612 = /* @__PURE__ */ function(EstadoEspecialidad96122) {
6004
6047
  EstadoEspecialidad96122["ACTIVO"] = "ACTIVO";
@@ -6586,6 +6629,12 @@ function getContainerName(dirname) {
6586
6629
  }
6587
6630
  __name(getContainerName, "getContainerName");
6588
6631
 
6632
+ // src/shared/Utils/buildTenantCollectionName.ts
6633
+ function buildTenantCollectionName(countryName, delegation, collection) {
6634
+ return `${countryName}_${delegation}_${collection}`;
6635
+ }
6636
+ __name(buildTenantCollectionName, "buildTenantCollectionName");
6637
+
6589
6638
  // src/Programados/Procesos/Preliquidar/ObtenerPrecioContratistaVigente.ts
6590
6639
  function ObtenerPrecioContratistaVigente({ actividad, FechaVerificar }) {
6591
6640
  const fechaVerificar = new Date(FechaVerificar);
@@ -6679,7 +6728,9 @@ var getNextID_Valorizacion = /* @__PURE__ */ __name((valorizaciones) => {
6679
6728
  SEGMENT_TY,
6680
6729
  UpdateNodosDocDP,
6681
6730
  buildDataMaterialsRule,
6731
+ buildTenantCollectionName,
6682
6732
  checkAndBuildMaterialsFromStock,
6733
+ checkMaterialAvailability,
6683
6734
  codBalizaAL04,
6684
6735
  codClientes,
6685
6736
  codMOClientesAL02,
package/dist/index.mjs CHANGED
@@ -5871,6 +5871,47 @@ function buildDataMaterialsRule(Materiales, dataStockPersonal, dataStockAlmacen,
5871
5871
  }
5872
5872
  __name(buildDataMaterialsRule, "buildDataMaterialsRule");
5873
5873
 
5874
+ // src/Programados/Alemania/checkMaterialAvailability.ts
5875
+ function checkMaterialAvailability(materials, dataMaterialesUtilizados, dataStockPersonal, dataStockAlmacen, dataConsumoMaterial) {
5876
+ const dataMUStockPersonal = dataMaterialesUtilizados.filter((e) => e.stock === "Personal");
5877
+ const dataMUStockAlmacen = dataMaterialesUtilizados.filter((e) => e.stock === "Almacen");
5878
+ for (const material of materials) {
5879
+ if (material.stock === "Personal") {
5880
+ const stockPersonal = dataStockPersonal.find((e) => e.ID_StockPersonal === material.ID);
5881
+ if (!stockPersonal) {
5882
+ throw new Error(`No se encontr\xF3 el material ID_StockPersonal "${material.ID}" en data stock personal.`);
5883
+ }
5884
+ const utilizadoLocal = dataMUStockPersonal.filter((e) => e.ID === material.ID).reduce((acc, el) => acc += el.cantidad, 0);
5885
+ const { Despacho, Devolucion, Liquidacion, DespachoTR, DevolucionTR } = stockPersonal;
5886
+ const disponible = Despacho - Devolucion - Liquidacion + DespachoTR - DevolucionTR - utilizadoLocal;
5887
+ if (disponible < material.cantidad) {
5888
+ throw new Error(`No tiene stock personal suficiente para el material '${material.item.Codigo}${material.lote ? ` (lote: ${material.lote})` : ""}' para este trabajo. (Disponible: ${disponible})`);
5889
+ }
5890
+ } else if (material.stock === "Almacen") {
5891
+ const stockAlmacen = dataStockAlmacen.find((e) => e.ID_StockAlmacen === material.ID);
5892
+ if (!stockAlmacen) {
5893
+ throw new Error(`No se encontr\xF3 el material ID_StockAlmacen "${material.ID}" en data stock alamc\xE9n.`);
5894
+ }
5895
+ const utilizadoLocal = dataMUStockAlmacen.filter((e) => e.ID === material.ID).reduce((acc, el) => acc += el.cantidad, 0);
5896
+ const utilizadoCM = dataConsumoMaterial.reduce((ac, e) => {
5897
+ const exist = e.CosumoMaterial.filter((cm) => cm.CodigoLlave === stockAlmacen.CodigoLlave);
5898
+ if (exist.length > 1) {
5899
+ throw new Error(`No se pudo calcular utilizado consumo material.`);
5900
+ }
5901
+ return ac += exist.length ? exist[0].Cantidad : 0;
5902
+ }, 0);
5903
+ const { Ingreso, Despacho, Devolucion } = stockAlmacen;
5904
+ const disponible = Ingreso - Despacho + Devolucion - utilizadoLocal - utilizadoCM;
5905
+ if (disponible < material.cantidad) {
5906
+ throw new Error(`No tiene stock almac\xE9n suficiente para el material '${material.item.Codigo}${material.lote ? ` (lote: ${material.lote})` : ""}' para este trabajo. (Disponible: ${disponible})`);
5907
+ }
5908
+ } else {
5909
+ throw new Error(`No se encontraron casos para el tipo de stock ${material.stock}`);
5910
+ }
5911
+ }
5912
+ }
5913
+ __name(checkMaterialAvailability, "checkMaterialAvailability");
5914
+
5874
5915
  // src/Programados/Colombia/9612/MapaEspecialidadesColombia.ts
5875
5916
  var EstadoEspecialidad9612 = /* @__PURE__ */ function(EstadoEspecialidad96122) {
5876
5917
  EstadoEspecialidad96122["ACTIVO"] = "ACTIVO";
@@ -6458,6 +6499,12 @@ function getContainerName(dirname) {
6458
6499
  }
6459
6500
  __name(getContainerName, "getContainerName");
6460
6501
 
6502
+ // src/shared/Utils/buildTenantCollectionName.ts
6503
+ function buildTenantCollectionName(countryName, delegation, collection) {
6504
+ return `${countryName}_${delegation}_${collection}`;
6505
+ }
6506
+ __name(buildTenantCollectionName, "buildTenantCollectionName");
6507
+
6461
6508
  // src/Programados/Procesos/Preliquidar/ObtenerPrecioContratistaVigente.ts
6462
6509
  function ObtenerPrecioContratistaVigente({ actividad, FechaVerificar }) {
6463
6510
  const fechaVerificar = new Date(FechaVerificar);
@@ -6550,7 +6597,9 @@ export {
6550
6597
  SEGMENT_TY,
6551
6598
  UpdateNodosDocDP,
6552
6599
  buildDataMaterialsRule,
6600
+ buildTenantCollectionName,
6553
6601
  checkAndBuildMaterialsFromStock,
6602
+ checkMaterialAvailability,
6554
6603
  codBalizaAL04,
6555
6604
  codClientes,
6556
6605
  codMOClientesAL02,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigo-package",
3
- "version": "1.2.35",
3
+ "version": "1.2.37",
4
4
  "description": "Funciones compartidas sigo",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -21,6 +21,6 @@
21
21
  "typescript": "^5.7.3"
22
22
  },
23
23
  "peerDependencies": {
24
- "sigo-entities": "^1.0.72"
24
+ "sigo-entities": "^1.0.76"
25
25
  }
26
26
  }