diff --git a/back/methods/collection/assign.js b/back/methods/collection/assign.js index 718cd48c5..f246043b8 100644 --- a/back/methods/collection/assign.js +++ b/back/methods/collection/assign.js @@ -20,13 +20,14 @@ module.exports = Self => { if (typeof options == 'object') Object.assign(myOptions, options); + const randStr = Math.random().toString(36).substring(3); const result = await Self.rawSql(` CALL vn.collection_assign(?, @vCollectionFk); - SELECT @vCollectionFk collectionFk - `, [userId], myOptions); + SELECT @vCollectionFk ? + `, [userId, randStr], myOptions); - // Por si entra en el SELECT FOR UPDATE y retorna un array más - const collectionFk = result[2]?.[0]?.collectionFk || result[3]?.[0]?.collectionFk; + // Por si entra en SELECT FOR UPDATE una o varias veces + const collectionFk = result.find(item => item[0]?.[randStr] !== undefined)?.[0]?.[randStr]; if (!collectionFk) throw new UserError('There are not picking tickets'); await Self.rawSql('CALL vn.collection_printSticker(?, NULL)', [collectionFk], myOptions); diff --git a/db/versions/11169-azureCyca/00-firstScript.sql b/db/versions/11169-azureCyca/00-firstScript.sql new file mode 100644 index 000000000..49adcfc05 --- /dev/null +++ b/db/versions/11169-azureCyca/00-firstScript.sql @@ -0,0 +1,2 @@ +ALTER TABLE IF EXISTS vn.itemShelving +MODIFY COLUMN IF EXISTS isSplit tinyint(1) DEFAULT 0 NOT NULL COMMENT 'Este valor cambia al splitar un carro que se ha quedado en holanda';