sigo-package 1.2.36 → 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 +4 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.js +43 -0
- package/dist/index.mjs +42 -0
- package/package.json +2 -2
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;
|
|
@@ -527,4 +529,4 @@ declare function getContainerName(dirname: string): string;
|
|
|
527
529
|
|
|
528
530
|
declare function buildTenantCollectionName(countryName: string, delegation: string, collection: string): string;
|
|
529
531
|
|
|
530
|
-
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, 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 };
|
|
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;
|
|
@@ -527,4 +529,4 @@ declare function getContainerName(dirname: string): string;
|
|
|
527
529
|
|
|
528
530
|
declare function buildTenantCollectionName(countryName: string, delegation: string, collection: string): string;
|
|
529
531
|
|
|
530
|
-
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, 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 };
|
|
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
|
@@ -61,6 +61,7 @@ __export(index_exports, {
|
|
|
61
61
|
buildDataMaterialsRule: () => buildDataMaterialsRule,
|
|
62
62
|
buildTenantCollectionName: () => buildTenantCollectionName,
|
|
63
63
|
checkAndBuildMaterialsFromStock: () => checkAndBuildMaterialsFromStock,
|
|
64
|
+
checkMaterialAvailability: () => checkMaterialAvailability,
|
|
64
65
|
codBalizaAL04: () => codBalizaAL04,
|
|
65
66
|
codClientes: () => codClientes,
|
|
66
67
|
codMOClientesAL02: () => codMOClientesAL02,
|
|
@@ -6000,6 +6001,47 @@ function buildDataMaterialsRule(Materiales, dataStockPersonal, dataStockAlmacen,
|
|
|
6000
6001
|
}
|
|
6001
6002
|
__name(buildDataMaterialsRule, "buildDataMaterialsRule");
|
|
6002
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
|
+
|
|
6003
6045
|
// src/Programados/Colombia/9612/MapaEspecialidadesColombia.ts
|
|
6004
6046
|
var EstadoEspecialidad9612 = /* @__PURE__ */ function(EstadoEspecialidad96122) {
|
|
6005
6047
|
EstadoEspecialidad96122["ACTIVO"] = "ACTIVO";
|
|
@@ -6688,6 +6730,7 @@ var getNextID_Valorizacion = /* @__PURE__ */ __name((valorizaciones) => {
|
|
|
6688
6730
|
buildDataMaterialsRule,
|
|
6689
6731
|
buildTenantCollectionName,
|
|
6690
6732
|
checkAndBuildMaterialsFromStock,
|
|
6733
|
+
checkMaterialAvailability,
|
|
6691
6734
|
codBalizaAL04,
|
|
6692
6735
|
codClientes,
|
|
6693
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";
|
|
@@ -6558,6 +6599,7 @@ export {
|
|
|
6558
6599
|
buildDataMaterialsRule,
|
|
6559
6600
|
buildTenantCollectionName,
|
|
6560
6601
|
checkAndBuildMaterialsFromStock,
|
|
6602
|
+
checkMaterialAvailability,
|
|
6561
6603
|
codBalizaAL04,
|
|
6562
6604
|
codClientes,
|
|
6563
6605
|
codMOClientesAL02,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sigo-package",
|
|
3
|
-
"version": "1.2.
|
|
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.
|
|
24
|
+
"sigo-entities": "^1.0.76"
|
|
25
25
|
}
|
|
26
26
|
}
|