#6276 createNewWarehouse methods migrated from silex to salix #1850
|
@ -0,0 +1,28 @@
|
|||
const UserError = require('vn-loopback/util/user-error');
|
||||
module.exports = Self => {
|
||||
Self.remoteMethodCtx('assignCollection', {
|
||||
jorgep marked this conversation as resolved
Outdated
|
||||
description: 'Assign a collection',
|
||||
accessType: 'WRITE',
|
||||
http: {
|
||||
path: `/assignCollection`,
|
||||
verb: 'POST'
|
||||
},
|
||||
returns: {
|
||||
type: ['object'],
|
||||
},
|
||||
});
|
||||
|
||||
Self.assignCollection = async ctx => {
|
||||
const userId = ctx.req.accessToken.userId;
|
||||
|
||||
await Self.rawSql('CALL vn.collection_assign(?, @vCollectionFk)', [userId]);
|
||||
|
||||
const [assignedCollection] = await Self.rawSql('SELECT @vCollectionFk');
|
||||
const {'@vCollectionFk': collectionFk} = assignedCollection;
|
||||
|
||||
if (!collectionFk) throw new UserError('No hay tickets para sacar');
|
||||
await Self.rawSql('CALL vn.collection_printSticker(?, NULL)', [collectionFk]);
|
||||
|
||||
return collectionFk;
|
||||
};
|
||||
};
|
|
@ -5,4 +5,5 @@ module.exports = Self => {
|
|||
require('../methods/collection/setSaleQuantity')(Self);
|
||||
require('../methods/collection/previousLabel')(Self);
|
||||
require('../methods/collection/getTickets')(Self);
|
||||
require('../methods/collection/assignCollection')(Self);
|
||||
};
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
INSERT INTO `salix`.`ACL` (model, property, accessType, permission, principalType, principalId)
|
||||
VALUES
|
||||
('Collection', 'assignCollection', 'WRITE', 'ALLOW', 'ROLE', 'employee'),
|
||||
('ExpeditionPallet', 'getPallet', 'READ', 'ALLOW', 'ROLE', 'employee');
|
|
@ -1218,6 +1218,7 @@ INSERT INTO `vn`.`train`(`id`, `name`)
|
|||
INSERT INTO `vn`.`operator` (`workerFk`, `numberOfWagons`, `trainFk`, `itemPackingTypeFk`, `warehouseFk`, `sectorFk`, `labelerFk`)
|
||||
VALUES
|
||||
('1106', '1', '1', 'H', '1', '1', '1'),
|
||||
('9', '2', '1', 'H', '1', '1', '1'),
|
||||
('1107', '1', '1', 'V', '1', '1', '1');
|
||||
|
||||
INSERT INTO `vn`.`collection`(`id`, `workerFk`, `stateFk`, `created`, `trainFk`)
|
||||
|
@ -2996,3 +2997,671 @@ INSERT INTO `vn`.`invoiceCorrectionType` (`id`, `description`)
|
|||
(1, 'Error in VAT calculation'),
|
||||
(2, 'Error in sales details'),
|
||||
(3, 'Error in customer data');
|
||||
|
||||
|
||||
/*
|
||||
Se necesitan, para hacer un simulacro de pedido, lo siguiente:
|
||||
|
||||
- Warehouse 999
|
||||
- Sectores
|
||||
- Normal 9991
|
||||
- Previa 9992
|
||||
- Altillo 9993
|
||||
- Parkings
|
||||
- Normal A-01-1, A-02-2, B-03-3, B-04-4, C-05-5
|
||||
- Previa P-01-1, P-02-2, P-03-3
|
||||
- Altillo M-01-1, M-02-2, M-03-3
|
||||
- Shelvings
|
||||
- Normal NAA, NBB, NCC, NDD, NEE
|
||||
- Previa PAA, PBB, PCC
|
||||
- Altillo MAA, MBB, MCC
|
||||
- Items
|
||||
* Normal
|
||||
* Previa:
|
||||
- Ticket
|
||||
- Sales
|
||||
|
||||
*/
|
||||
|
||||
INSERT IGNORE INTO intrastat
|
||||
SET id = 44219999,
|
||||
description = 'Manufacturas de madera',
|
||||
taxClassFk = 1,
|
||||
taxCodeFk = 1;
|
||||
|
||||
INSERT IGNORE INTO warehouse
|
||||
SET id = 999,
|
||||
name = 'TestingWarehouse',
|
||||
hasAvailable = TRUE,
|
||||
isForTicket = TRUE,
|
||||
isInventory = TRUE,
|
||||
hasUbications = TRUE,
|
||||
hasProduction = TRUE;
|
||||
|
||||
INSERT IGNORE INTO sector
|
||||
SET id = 9991,
|
||||
description = 'NormalSector',
|
||||
warehouseFk = 999,
|
||||
isPreviousPreparedByPacking = FALSE,
|
||||
code = 'NS',
|
||||
isPreviousPrepared = FALSE,
|
||||
isPackagingArea = FALSE,
|
||||
sonFk = NULL,
|
||||
isMain = TRUE,
|
||||
itemPackingTypeFk = NULL;
|
||||
|
||||
INSERT IGNORE INTO sector
|
||||
SET id = 9992,
|
||||
description = 'PreviousSector',
|
||||
warehouseFk = 999,
|
||||
isPreviousPreparedByPacking = FALSE,
|
||||
code = 'PS',
|
||||
isPreviousPrepared = TRUE,
|
||||
isPackagingArea = FALSE,
|
||||
sonFk = NULL,
|
||||
isMain = TRUE,
|
||||
itemPackingTypeFk = NULL;
|
||||
|
||||
INSERT IGNORE INTO sector
|
||||
SET id = 9993,
|
||||
description = 'MezaninneSector',
|
||||
warehouseFk = 999,
|
||||
isPreviousPreparedByPacking = TRUE,
|
||||
code = 'MS',
|
||||
isPreviousPrepared = FALSE,
|
||||
isPackagingArea = FALSE,
|
||||
sonFk = 9991,
|
||||
isMain = TRUE,
|
||||
itemPackingTypeFk = NULL;
|
||||
|
||||
REPLACE parking SET id = 9991011, sectorFk = 9991, code = 'A-01-1', pickingOrder = 1;
|
||||
REPLACE parking SET id = 9991012, sectorFk = 9991, code = 'A-02-2', pickingOrder = 2;
|
||||
REPLACE parking SET id = 9991013, sectorFk = 9991, code = 'A-03-3', pickingOrder = 3;
|
||||
REPLACE parking SET id = 9991014, sectorFk = 9991, code = 'A-04-4', pickingOrder = 4;
|
||||
REPLACE parking SET id = 9991015, sectorFk = 9991, code = 'A-05-5', pickingOrder = 5;
|
||||
|
||||
REPLACE parking SET id = 9992011, sectorFk = 9992, code = 'P-01-1', pickingOrder = 6;
|
||||
REPLACE parking SET id = 9992012, sectorFk = 9992, code = 'P-02-2', pickingOrder = 7;
|
||||
REPLACE parking SET id = 9992013, sectorFk = 9992, code = 'P-03-3', pickingOrder = 8;
|
||||
|
||||
REPLACE parking SET id = 9993011, sectorFk = 9993, code = 'M-01-1', pickingOrder = 9;
|
||||
REPLACE parking SET id = 9993012, sectorFk = 9993, code = 'M-02-2', pickingOrder = 10;
|
||||
REPLACE parking SET id = 9993013, sectorFk = 9993, code = 'M-03-3', pickingOrder = 11;
|
||||
|
||||
REPLACE shelving SET code = 'NAA', parkingFk = 9991011, priority = 1;
|
||||
REPLACE shelving SET code = 'NBB', parkingFk = 9991012, priority = 1;
|
||||
REPLACE shelving SET code = 'NCC', parkingFk = 9991013, priority = 1;
|
||||
REPLACE shelving SET code = 'NDD', parkingFk = 9991014, priority = 1;
|
||||
REPLACE shelving SET code = 'NEE', parkingFk = 9991015, priority = 1;
|
||||
|
||||
REPLACE shelving SET code = 'PAA', parkingFk = 9992011, priority = 1;
|
||||
REPLACE shelving SET code = 'PBB', parkingFk = 9992012, priority = 1;
|
||||
REPLACE shelving SET code = 'PCC', parkingFk = 9992013, priority = 1;
|
||||
|
||||
REPLACE shelving SET code = 'MAA', parkingFk = 9993011, priority = 1;
|
||||
REPLACE shelving SET code = 'MBB', parkingFk = 9993012, priority = 1;
|
||||
REPLACE shelving SET code = 'MCC', parkingFk = 9993013, priority = 1;
|
||||
|
||||
INSERT IGNORE INTO itemType
|
||||
SET id = 999,
|
||||
code = 'WOO',
|
||||
name = 'Wood Objects',
|
||||
categoryFk = 3,
|
||||
workerFk = 103,
|
||||
isInventory = TRUE,
|
||||
life = 10,
|
||||
density = 250,
|
||||
itemPackingTypeFk = NULL,
|
||||
temperatureFk = 'warm';
|
||||
|
||||
INSERT IGNORE INTO travel
|
||||
SET id = 99,
|
||||
shipped = CURDATE(),
|
||||
landed = CURDATE(),
|
||||
warehouseInFk = 999,
|
||||
warehouseOutFk = 1,
|
||||
isReceived = TRUE,
|
||||
agencyFk = 1;
|
||||
|
||||
REPLACE entry
|
||||
SET id = 999,
|
||||
supplierFk = 791,
|
||||
isConfirmed = TRUE,
|
||||
dated = CURDATE(),
|
||||
travelFk = 99,
|
||||
companyFk = 442;
|
||||
|
||||
REPLACE ticket
|
||||
SET id = 999999,
|
||||
clientFk = 2,
|
||||
warehouseFk = 999,
|
||||
shipped = CURDATE(),
|
||||
nickname = 'Cliente',
|
||||
addressFk = 1,
|
||||
companyFk = 442,
|
||||
agencyModeFk = 10,
|
||||
landed = CURDATE();
|
||||
|
||||
REPLACE collection
|
||||
SET id = 10101010,
|
||||
workerFk = 103;
|
||||
|
||||
INSERT IGNORE INTO ticketCollection
|
||||
SET id = 10101010,
|
||||
ticketFk = 999999,
|
||||
collectionFk = 10101010;
|
||||
|
||||
REPLACE item
|
||||
SET id = 999991,
|
||||
name = 'Palito para pinchos',
|
||||
`size` = 25,
|
||||
stems = NULL,
|
||||
category = 'EXT',
|
||||
typeFk = 999,
|
||||
longName = 'Palito para pinchos',
|
||||
itemPackingTypeFk = NULL,
|
||||
originFk = 1,
|
||||
weightByPiece = 6,
|
||||
intrastatFk = 44219999;
|
||||
|
||||
REPLACE buy
|
||||
SET id = 9999991,
|
||||
entryFk = 999,
|
||||
itemFk = 999991,
|
||||
quantity = 8,
|
||||
buyingValue = 0.61,
|
||||
stickers = 1,
|
||||
packing = 20,
|
||||
`grouping` = 1,
|
||||
groupingMode = 1,
|
||||
packageFk = 94,
|
||||
price1 = 1,
|
||||
price2 = 1,
|
||||
price3 = 1,
|
||||
minPrice = 1,
|
||||
weight = 50;
|
||||
|
||||
REPLACE sale
|
||||
SET id = 99991,
|
||||
itemFk = 999991,
|
||||
ticketFk = 999999,
|
||||
concept = 'Palito para pinchos',
|
||||
quantity = 3,
|
||||
price = 1,
|
||||
discount = 0;
|
||||
|
||||
REPLACE item
|
||||
SET id = 999992,
|
||||
name = 'Madera verde',
|
||||
`size` = 10,
|
||||
stems = NULL,
|
||||
category = 'EXT',
|
||||
typeFk = 999,
|
||||
longName = 'Madera verde',
|
||||
itemPackingTypeFk = NULL,
|
||||
originFk = 1,
|
||||
weightByPiece = 50,
|
||||
intrastatFk = 44219999;
|
||||
|
||||
REPLACE buy
|
||||
SET id = 9999992,
|
||||
entryFk = 999,
|
||||
itemFk = 999992,
|
||||
quantity = 40,
|
||||
buyingValue = 0.62,
|
||||
stickers = 1,
|
||||
packing = 40,
|
||||
`grouping` = 5,
|
||||
groupingMode = 1,
|
||||
packageFk = 94,
|
||||
price1 = 1,
|
||||
price2 = 1,
|
||||
price3 = 1,
|
||||
minPrice = 1,
|
||||
weight = 25;
|
||||
|
||||
REPLACE sale
|
||||
SET id = 99992,
|
||||
itemFk = 999992,
|
||||
ticketFk = 999999,
|
||||
concept = 'Madera Verde',
|
||||
quantity = 10,
|
||||
price = 1,
|
||||
discount = 0;
|
||||
|
||||
REPLACE item
|
||||
SET id = 999993,
|
||||
name = 'Madera Roja/Morada',
|
||||
`size` = 12,
|
||||
stems = 2,
|
||||
category = 'EXT',
|
||||
typeFk = 999,
|
||||
longName = 'Madera Roja/Morada',
|
||||
itemPackingTypeFk = NULL,
|
||||
originFk = 1,
|
||||
weightByPiece = 35,
|
||||
intrastatFk = 44219999;
|
||||
|
||||
REPLACE buy
|
||||
SET id = 9999993,
|
||||
entryFk = 999,
|
||||
itemFk = 999993,
|
||||
quantity = 20,
|
||||
buyingValue = 0.63,
|
||||
stickers = 2,
|
||||
packing = 10,
|
||||
`grouping` = 5,
|
||||
groupingMode = 1,
|
||||
packageFk = 94,
|
||||
price1 = 1,
|
||||
price2 = 1,
|
||||
price3 = 1,
|
||||
minPrice = 1,
|
||||
weight = 25;
|
||||
|
||||
REPLACE itemShelving
|
||||
SET id = 9931,
|
||||
itemFk = 999993,
|
||||
shelvingFk = 'NCC',
|
||||
visible = 10,
|
||||
`grouping` = 5,
|
||||
packing = 10;
|
||||
|
||||
REPLACE sale
|
||||
SET id = 99993,
|
||||
itemFk = 999993,
|
||||
ticketFk = 999999,
|
||||
concept = 'Madera Roja/Morada',
|
||||
quantity = 15,
|
||||
price = 1,
|
||||
discount = 0;
|
||||
|
||||
REPLACE item
|
||||
SET id = 999994,
|
||||
name = 'Madera Naranja',
|
||||
`size` = 18,
|
||||
stems = 1,
|
||||
category = 'EXT',
|
||||
typeFk = 999,
|
||||
longName = 'Madera Naranja',
|
||||
itemPackingTypeFk = NULL,
|
||||
originFk = 1,
|
||||
weightByPiece = 160,
|
||||
intrastatFk = 44219999;
|
||||
|
||||
REPLACE buy
|
||||
SET id = 9999994,
|
||||
entryFk = 999,
|
||||
itemFk = 999994,
|
||||
quantity = 20,
|
||||
buyingValue = 0.64,
|
||||
stickers = 1,
|
||||
packing = 20,
|
||||
`grouping` = 4,
|
||||
groupingMode = 1,
|
||||
packageFk = 94,
|
||||
price1 = 1,
|
||||
price2 = 1,
|
||||
price3 = 1,
|
||||
minPrice = 1,
|
||||
weight = 25;
|
||||
|
||||
REPLACE sale
|
||||
SET id = 99994,
|
||||
itemFk = 999994,
|
||||
ticketFk = 999999,
|
||||
concept = 'Madera Naranja',
|
||||
quantity = 4,
|
||||
price = 1,
|
||||
discount = 0;
|
||||
|
||||
REPLACE item
|
||||
SET id = 999995,
|
||||
name = 'Madera Amarilla',
|
||||
`size` = 11,
|
||||
stems = 5,
|
||||
category = 'EXT',
|
||||
typeFk = 999,
|
||||
longName = 'Madera Amarilla',
|
||||
itemPackingTypeFk = NULL,
|
||||
originFk = 1,
|
||||
weightByPiece = 78,
|
||||
intrastatFk = 44219999;
|
||||
|
||||
REPLACE buy
|
||||
SET id = 9999995,
|
||||
entryFk = 999,
|
||||
itemFk = 999995,
|
||||
quantity = 4,
|
||||
buyingValue = 0.65,
|
||||
stickers = 1,
|
||||
packing = 20,
|
||||
`grouping` = 1,
|
||||
groupingMode = 1,
|
||||
packageFk = 94,
|
||||
price1 = 1,
|
||||
price2 = 1,
|
||||
price3 = 1,
|
||||
minPrice = 1,
|
||||
weight = 35;
|
||||
|
||||
REPLACE sale
|
||||
SET id = 99995,
|
||||
itemFk = 999995,
|
||||
ticketFk = 999999,
|
||||
concept = 'Madera Amarilla',
|
||||
quantity = 5,
|
||||
price = 1,
|
||||
discount = 0;
|
||||
|
||||
-- Palito naranja
|
||||
REPLACE item
|
||||
SET id = 999998,
|
||||
name = 'Palito naranja',
|
||||
`size` = 11,
|
||||
stems = 1,
|
||||
category = 'EXT',
|
||||
typeFk = 999,
|
||||
longName = 'Palito naranja',
|
||||
itemPackingTypeFk = NULL,
|
||||
originFk = 1,
|
||||
weightByPiece = 78,
|
||||
intrastatFk = 44219999;
|
||||
|
||||
REPLACE buy
|
||||
SET id = 9999998,
|
||||
entryFk = 999,
|
||||
itemFk = 999998,
|
||||
quantity = 80,
|
||||
buyingValue = 0.65,
|
||||
stickers = 1,
|
||||
packing = 200,
|
||||
`grouping` = 30,
|
||||
groupingMode = 1,
|
||||
packageFk = 94,
|
||||
price1 = 1,
|
||||
price2 = 1,
|
||||
price3 = 1,
|
||||
minPrice = 1,
|
||||
weight = 35;
|
||||
|
||||
REPLACE sale
|
||||
SET id = 99998,
|
||||
itemFk = 999998,
|
||||
ticketFk = 999999,
|
||||
concept = 'Palito naranja',
|
||||
quantity = 60,
|
||||
price = 1,
|
||||
discount = 0;
|
||||
|
||||
-- Palito amarillo
|
||||
REPLACE item
|
||||
SET id = 999999,
|
||||
name = 'Palito amarillo',
|
||||
`size` = 11,
|
||||
stems = 1,
|
||||
category = 'EXT',
|
||||
typeFk = 999,
|
||||
longName = 'Palito amarillo',
|
||||
itemPackingTypeFk = NULL,
|
||||
originFk = 1,
|
||||
weightByPiece = 78,
|
||||
intrastatFk = 44219999;
|
||||
|
||||
REPLACE buy
|
||||
SET id = 9999999,
|
||||
entryFk = 999,
|
||||
itemFk = 999999,
|
||||
quantity = 70,
|
||||
buyingValue = 0.65,
|
||||
stickers = 1,
|
||||
packing = 500,
|
||||
`grouping` = 10,
|
||||
groupingMode = 1,
|
||||
packageFk = 94,
|
||||
price1 = 1,
|
||||
price2 = 1,
|
||||
price3 = 1,
|
||||
minPrice = 1,
|
||||
weight = 35;
|
||||
|
||||
REPLACE sale
|
||||
SET id = 99999,
|
||||
itemFk = 999999,
|
||||
ticketFk = 999999,
|
||||
concept = 'Palito amarillo',
|
||||
quantity = 50,
|
||||
price = 1,
|
||||
discount = 0;
|
||||
|
||||
-- Palito azul
|
||||
REPLACE item
|
||||
SET id = 1000000,
|
||||
name = 'Palito azul',
|
||||
`size` = 10,
|
||||
stems = 1,
|
||||
category = 'EXT',
|
||||
typeFk = 999,
|
||||
longName = 'Palito azul',
|
||||
itemPackingTypeFk = NULL,
|
||||
originFk = 1,
|
||||
weightByPiece = 78,
|
||||
intrastatFk = 44219999;
|
||||
|
||||
REPLACE buy
|
||||
SET id = 10000000,
|
||||
entryFk = 999,
|
||||
itemFk = 1000000,
|
||||
quantity = 75,
|
||||
buyingValue = 0.65,
|
||||
stickers = 2,
|
||||
packing = 300,
|
||||
`grouping` = 50,
|
||||
groupingMode = 1,
|
||||
packageFk = 94,
|
||||
price1 = 1,
|
||||
price2 = 1,
|
||||
price3 = 1,
|
||||
minPrice = 1,
|
||||
weight = 35;
|
||||
|
||||
REPLACE sale
|
||||
SET id = 100000,
|
||||
itemFk = 1000000,
|
||||
ticketFk = 999999,
|
||||
concept = 'Palito azul',
|
||||
quantity = 50,
|
||||
price = 1,
|
||||
discount = 0;
|
||||
|
||||
-- Palito rojo
|
||||
REPLACE item
|
||||
SET id = 1000001,
|
||||
name = 'Palito rojo',
|
||||
`size` = 10,
|
||||
stems = NULL,
|
||||
category = 'EXT',
|
||||
typeFk = 999,
|
||||
longName = 'Palito rojo',
|
||||
itemPackingTypeFk = NULL,
|
||||
originFk = 1,
|
||||
weightByPiece = 78,
|
||||
intrastatFk = 44219999;
|
||||
|
||||
REPLACE buy
|
||||
SET id = 10000001,
|
||||
entryFk = 999,
|
||||
itemFk = 1000001,
|
||||
quantity = 12,
|
||||
buyingValue = 0.65,
|
||||
stickers = 2,
|
||||
packing = 50,
|
||||
`grouping` = 5,
|
||||
groupingMode = 1,
|
||||
packageFk = 94,
|
||||
price1 = 1,
|
||||
price2 = 1,
|
||||
price3 = 1,
|
||||
minPrice = 1,
|
||||
weight = 35;
|
||||
|
||||
|
||||
REPLACE sale
|
||||
SET id = 100001,
|
||||
itemFk = 1000001,
|
||||
ticketFk = 999999,
|
||||
concept = 'Palito rojo',
|
||||
quantity = 10,
|
||||
price = 1,
|
||||
discount = 0;
|
||||
|
||||
-- Previa
|
||||
INSERT IGNORE INTO item
|
||||
SET id = 999996,
|
||||
name = 'Bolas de madera',
|
||||
`size` = 2,
|
||||
stems = 4,
|
||||
category = 'EXT',
|
||||
typeFk = 999,
|
||||
longName = 'Bolas de madera',
|
||||
itemPackingTypeFk = NULL,
|
||||
originFk = 1,
|
||||
weightByPiece = 20,
|
||||
intrastatFk = 44219999;
|
||||
|
||||
REPLACE buy
|
||||
SET id = 9999996,
|
||||
entryFk = 999,
|
||||
itemFk = 999996,
|
||||
quantity = 5,
|
||||
buyingValue = 3,
|
||||
stickers = 1,
|
||||
packing = 5,
|
||||
`grouping` = 2,
|
||||
groupingMode = 1,
|
||||
packageFk = 94,
|
||||
price1 = 7,
|
||||
price2 = 7,
|
||||
price3 = 7,
|
||||
minPrice = 7,
|
||||
weight = 80;
|
||||
|
||||
REPLACE sale
|
||||
SET id = 99996,
|
||||
itemFk = 999996,
|
||||
ticketFk = 999999,
|
||||
concept = 'Bolas de madera',
|
||||
quantity = 4,
|
||||
price = 7,
|
||||
discount = 0,
|
||||
isPicked = TRUE;
|
||||
|
||||
INSERT IGNORE INTO item
|
||||
SET id = 999997,
|
||||
name = 'Palitos de polo MIX',
|
||||
`size` = 14,
|
||||
stems = NULL,
|
||||
category = 'EXT',
|
||||
typeFk = 999,
|
||||
longName = 'Palitos de polo MIX',
|
||||
itemPackingTypeFk = NULL,
|
||||
originFk = 1,
|
||||
weightByPiece = 20,
|
||||
intrastatFk = 44219999;
|
||||
|
||||
REPLACE buy
|
||||
SET id = 9999997,
|
||||
entryFk = 999,
|
||||
itemFk = 999997,
|
||||
quantity = 100,
|
||||
buyingValue = 3.2,
|
||||
stickers = 1,
|
||||
packing = 100,
|
||||
`grouping` = 5,
|
||||
groupingMode = 1,
|
||||
packageFk = 94,
|
||||
price1 = 7,
|
||||
price2 = 7,
|
||||
price3 = 7,
|
||||
minPrice = 7,
|
||||
weight = 80;
|
||||
|
||||
REPLACE sale
|
||||
SET id = 99997,
|
||||
itemFk = 999997,
|
||||
ticketFk = 999999,
|
||||
concept = 'Palitos de polo MIX',
|
||||
quantity = 5,
|
||||
price = 7,
|
||||
discount = 0;
|
||||
|
||||
-- Ubicación
|
||||
DELETE ish.*
|
||||
FROM itemShelving ish
|
||||
JOIN shelving sh ON sh.code = ish.shelvingFk
|
||||
JOIN parking p ON p.id = sh.parkingFk
|
||||
JOIN sector s ON s.id = p.sectorFk
|
||||
JOIN warehouse w ON w.id = s.warehouseFk
|
||||
WHERE w.name = 'TestingWarehouse';
|
||||
|
||||
REPLACE vn.itemShelving
|
||||
(id, itemFk, shelvingFk, visible, created, `grouping`, packing, packagingFk, userFk, isChecked)
|
||||
VALUES
|
||||
(9911, 999991, 'NAA', 8, '2023-09-20', 1, 20, NULL, 103, NULL),
|
||||
(9912, 999998, 'NAA', 80, '2023-09-20', 10, 30, NULL, 103, NULL),
|
||||
(9913, 1000001, 'NAA', 6, '2023-09-20', 3, 50, NULL, 103, NULL),
|
||||
(9914, 1000000, 'NBB', 50, '2023-09-18', 25, 500, NULL, 103, NULL),
|
||||
(9915, 999993, 'NBB', 25, '2023-09-18', NULL, 10, NULL, 103, NULL),
|
||||
(9916, 999999, 'NBB', 30, '2023-09-18', 10, 500, NULL, 103, NULL),
|
||||
(9917, 999993, 'NCC', 25, '2023-09-20', 5, 10, NULL, 103, NULL),
|
||||
(9918, 999997, 'NCC', 10, '2023-09-20', NULL, 100, NULL, 103, NULL),
|
||||
(9919, 999999, 'NCC', 40, '2023-09-20', 10, 500, NULL, 103, NULL),
|
||||
(9920, 999995, 'NDD', 10, '2023-09-19', NULL, 20, NULL, 103, NULL),
|
||||
(9921, 999994, 'NDD', 48, '2023-09-19', 4, 20, NULL, 103, NULL),
|
||||
(9922, 1000001, 'NEE', 6, '2023-09-21', 3, 50, NULL, 103, NULL),
|
||||
(9923, 999992, 'NEE', 50, '2023-09-21', NULL, 1, NULL, 103, NULL),
|
||||
(9924, 1000000, 'NEE', 25, '2023-09-21', 25, 500, NULL, 103, NULL),
|
||||
(9925, 999996, 'PAA', 5, '2023-09-27', 1, 5, NULL, 103, NULL),
|
||||
(9926, 999997, 'PCC', 10, '2023-09-27', 5, 100, NULL, 103, NULL);
|
||||
|
||||
-- Previous for Bolas de madera
|
||||
INSERT IGNORE INTO sectorCollection
|
||||
SET id = 99,
|
||||
userFk = 1,
|
||||
sectorFk = 9992;
|
||||
|
||||
INSERT IGNORE INTO saleGroup
|
||||
SET id = 999,
|
||||
userFk = 1,
|
||||
parkingFk = 9992011,
|
||||
sectorFk = 9992;
|
||||
|
||||
INSERT IGNORE INTO sectorCollectionSaleGroup
|
||||
SET id = 9999,
|
||||
sectorCollectionFk = 99,
|
||||
saleGroupFk = 999;
|
||||
|
||||
REPLACE saleGroupDetail
|
||||
SET id = 99991,
|
||||
saleFk = 99996,
|
||||
saleGroupFk = 999;
|
||||
|
||||
REPLACE saleTracking
|
||||
SET saleFk = 99996,
|
||||
isChecked = TRUE,
|
||||
workerFk = 103,
|
||||
stateFk = 28;
|
||||
|
||||
INSERT IGNORE INTO itemShelvingSale
|
||||
SET id = 991,
|
||||
itemShelvingFk = 9962,
|
||||
saleFk = 99996,
|
||||
quantity = 5,
|
||||
userFk = 1;
|
||||
|
||||
|
||||
CALL itemShelvingSale_reserveByCollection(10101010);
|
||||
|
||||
UPDATE vn.collection
|
||||
SET workerFk=9
|
||||
WHERE id=10101010;
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
module.exports = Self => {
|
||||
Self.remoteMethod('card', {
|
||||
jorgep marked this conversation as resolved
Outdated
jgallego
commented
get get
|
||||
description: 'Idk',
|
||||
accessType: 'READ',
|
||||
http: {
|
||||
path: `/card`,
|
||||
verb: 'GET'
|
||||
},
|
||||
accepts: [
|
||||
{
|
||||
arg: 'itemFk',
|
||||
jorgep marked this conversation as resolved
Outdated
jgallego
commented
barcode barcode
|
||||
type: 'number',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
arg: 'warehouseFk',
|
||||
type: 'number',
|
||||
required: true,
|
||||
}
|
||||
],
|
||||
returns: {
|
||||
type: ['object'],
|
||||
root: true
|
||||
},
|
||||
});
|
||||
|
||||
Self.card = async(itemFk, warehouseFk) => {
|
||||
const models = Self.app.models;
|
||||
|
||||
const [result] = await Self.rawSql('CALL vn.item_getInfo(?, ?)', [itemFk, warehouseFk]);
|
||||
|
||||
const barcodeItems = await Self.rawSql('SELECT vn.barcodeToItem(?) as realIdItem', [itemFk]);
|
||||
const realIdItems = barcodeItems.map(barcodeItem => barcodeItem.realIdItem);
|
||||
|
||||
const barcodes = await models.ItemBarcode.find({
|
||||
fields: ['code'],
|
||||
where: {
|
||||
jorgep marked this conversation as resolved
Outdated
jgallego
commented
quitar esta llamada, dentro de item_getInfo ya se llama a barcodeToItem por tanto itemInfo ya contiene el id que se busca quitar esta llamada, dentro de item_getInfo ya se llama a barcodeToItem por tanto itemInfo ya contiene el id que se busca
jorgep
commented
@sergiodt es correcto o quieres los barcodes tambien? @sergiodt es correcto o quieres los barcodes tambien?
|
||||
realIdItem: {
|
||||
inq: realIdItems
|
||||
jorgep marked this conversation as resolved
Outdated
jgallego
commented
quitar salto quitar salto
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
let itemInfo;
|
||||
if (result.length) {
|
||||
itemInfo = {...result[0]};
|
||||
itemInfo.barcodes = barcodes.map(barcode => barcode.code);
|
||||
}
|
||||
|
||||
return itemInfo;
|
||||
};
|
||||
};
|
|
@ -17,6 +17,7 @@ module.exports = Self => {
|
|||
require('../methods/item/buyerWasteEmail')(Self);
|
||||
require('../methods/item/labelPdf')(Self);
|
||||
require('../methods/item/setVisibleDiscard')(Self);
|
||||
require('../methods/item/card')(Self);
|
||||
|
||||
Self.validatesPresenceOf('originFk', {message: 'Cannot be blank'});
|
||||
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
|
||||
const UserError = require('vn-loopback/util/user-error');
|
||||
jorgep marked this conversation as resolved
Outdated
jgallego
commented
este solo con un filtro de loopback no lo puedes conseguir sacar en el explorer, así no es necesario crear este método? este solo con un filtro de loopback no lo puedes conseguir sacar en el explorer, así no es necesario crear este método?
|
||||
module.exports = Self => {
|
||||
Self.remoteMethod('getPallet', {
|
||||
description: 'Get pallet',
|
||||
accessType: 'READ',
|
||||
accepts: [
|
||||
{
|
||||
arg: 'expeditionFk',
|
||||
type: 'integer',
|
||||
},
|
||||
],
|
||||
http: {
|
||||
path: `/getPallet`,
|
||||
verb: 'GET'
|
||||
},
|
||||
returns: {
|
||||
type: 'object',
|
||||
},
|
||||
});
|
||||
|
||||
Self.getPallet = async expeditionFk => {
|
||||
try {
|
||||
const pallet = await Self.findOne({
|
||||
fields: ['truckFk'],
|
||||
where: {
|
||||
id: expeditionFk
|
||||
},
|
||||
include: [
|
||||
{
|
||||
relation: 'expeditionTruck',
|
||||
scope: {
|
||||
fields: ['eta', 'description']
|
||||
}
|
||||
}
|
||||
],
|
||||
});
|
||||
|
||||
if (pallet) {
|
||||
const truck = pallet.expeditionTruck();
|
||||
return {
|
||||
truckFk: pallet.truckFk,
|
||||
eta: truck.eta,
|
||||
description: truck.description
|
||||
};
|
||||
}
|
||||
|
||||
throw new UserError('palletDoesNotExist');
|
||||
} catch (e) {
|
||||
return {message: e.message};
|
||||
}
|
||||
};
|
||||
};
|
|
@ -0,0 +1,3 @@
|
|||
module.exports = function(Self) {
|
||||
require('../methods/expedition-pallet/getPallet')(Self);
|
||||
};
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"name": "ExpeditionPallet",
|
||||
"base": "VnModel",
|
||||
"options": {
|
||||
"mysql": {
|
||||
"table": "expeditionPallet"
|
||||
|
@ -10,13 +11,27 @@
|
|||
"type": "number",
|
||||
"id": true,
|
||||
"description": "Identifier"
|
||||
}
|
||||
},
|
||||
"truckFk": {
|
||||
jorgep marked this conversation as resolved
jgallego
commented
al poner la relacion este bloque lo puedes quitar al poner la relacion este bloque lo puedes quitar
|
||||
"type": "number"
|
||||
},
|
||||
"built": {
|
||||
"type": "date"
|
||||
},
|
||||
"position": {
|
||||
"type": "number"
|
||||
},
|
||||
"isPrint": {
|
||||
"type": "number"
|
||||
}
|
||||
},
|
||||
"acls": [{
|
||||
"accessType": "WRITE",
|
||||
"principalType": "ROLE",
|
||||
"principalId": "production",
|
||||
"permission": "ALLOW"
|
||||
}]
|
||||
"relations": {
|
||||
"expeditionTruck": {
|
||||
"type": "belongsTo",
|
||||
"model": "ExpeditionTruck",
|
||||
"foreignKey": "truckFk"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,6 @@ module.exports = Self => {
|
|||
|
||||
Self.add = async ctx => {
|
||||
const userId = ctx.req.accessToken.userId;
|
||||
// He visto findOrCreate pero no funciona
|
||||
const user = await Self.findById(userId);
|
||||
if (!user) {
|
||||
await Self.create({
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
module.exports = Self => {
|
||||
Self.remoteMethodCtx('getAvailablePrinters', {
|
||||
description: 'Retrieve available printers for an user',
|
||||
accessType: 'READ',
|
||||
http: {
|
||||
path: `/getAvailabePrinters`,
|
||||
verb: 'GET'
|
||||
},
|
||||
returns: {
|
||||
type: ['object'],
|
||||
},
|
||||
});
|
||||
|
||||
Self.getAvailablePrinters = async ctx => {
|
||||
const userId = ctx.req.accessToken.userId;
|
||||
|
||||
const operators = await Self.find({
|
||||
fields: [],
|
||||
where: {
|
||||
workerFk: userId,
|
||||
},
|
||||
|
||||
include: {
|
||||
relation: 'printer',
|
||||
scope: {
|
||||
fields: ['id', 'name']
|
||||
},
|
||||
where: {
|
||||
isLabeler: {neq: 0}
|
||||
}
|
||||
}
|
||||
});
|
||||
if (operators.length) {
|
||||
return operators.map(operator => {
|
||||
return operator.printer();
|
||||
});
|
||||
}
|
||||
};
|
||||
};
|
|
@ -0,0 +1,39 @@
|
|||
module.exports = Self => {
|
||||
Self.remoteMethodCtx('getPrinter', {
|
||||
description: 'Gets user\'s printer',
|
||||
accessType: 'READ',
|
||||
http: {
|
||||
path: `/getPrinter`,
|
||||
verb: 'GET'
|
||||
},
|
||||
returns: {
|
||||
type: 'object',
|
||||
},
|
||||
});
|
||||
|
||||
Self.getPrinter = async ctx => {
|
||||
const userId = ctx.req.accessToken.userId;
|
||||
|
||||
const operator = await Self.findOne({
|
||||
include: [
|
||||
{
|
||||
relation: 'printer',
|
||||
scope: {
|
||||
fields: ['id', 'name'],
|
||||
}
|
||||
}
|
||||
],
|
||||
where: {
|
||||
workerFk: userId
|
||||
}
|
||||
});
|
||||
|
||||
if (operator) {
|
||||
const printer = operator.printer();
|
||||
return {
|
||||
id: printer.id,
|
||||
name: printer.name
|
||||
};
|
||||
}
|
||||
};
|
||||
};
|
|
@ -1,5 +1,7 @@
|
|||
module.exports = Self => {
|
||||
require('../methods/operator/add')(Self);
|
||||
require('../methods/operator/getPrinter')(Self);
|
||||
require('../methods/operator/getAvailablePrinters')(Self);
|
||||
|
||||
Self.observe('after save', async function(ctx) {
|
||||
const instance = ctx.data || ctx.instance;
|
||||
|
|
Loading…
Reference in New Issue
nombre simplemente assign al estar en el contexto collection se asume que es una coleccion