7152-devToTest_2414 #2228
|
@ -0,0 +1,28 @@
|
||||||
|
const UserError = require('vn-loopback/util/user-error');
|
||||||
|
module.exports = Self => {
|
||||||
|
Self.remoteMethodCtx('assignCollection', {
|
||||||
|
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/setSaleQuantity')(Self);
|
||||||
require('../methods/collection/previousLabel')(Self);
|
require('../methods/collection/previousLabel')(Self);
|
||||||
require('../methods/collection/getTickets')(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`)
|
INSERT INTO `vn`.`operator` (`workerFk`, `numberOfWagons`, `trainFk`, `itemPackingTypeFk`, `warehouseFk`, `sectorFk`, `labelerFk`)
|
||||||
VALUES
|
VALUES
|
||||||
('1106', '1', '1', 'H', '1', '1', '1'),
|
('1106', '1', '1', 'H', '1', '1', '1'),
|
||||||
|
('9', '2', '1', 'H', '1', '1', '1'),
|
||||||
('1107', '1', '1', 'V', '1', '1', '1');
|
('1107', '1', '1', 'V', '1', '1', '1');
|
||||||
|
|
||||||
INSERT INTO `vn`.`collection`(`id`, `workerFk`, `stateFk`, `created`, `trainFk`)
|
INSERT INTO `vn`.`collection`(`id`, `workerFk`, `stateFk`, `created`, `trainFk`)
|
||||||
|
@ -2996,3 +2997,671 @@ INSERT INTO `vn`.`invoiceCorrectionType` (`id`, `description`)
|
||||||
(1, 'Error in VAT calculation'),
|
(1, 'Error in VAT calculation'),
|
||||||
(2, 'Error in sales details'),
|
(2, 'Error in sales details'),
|
||||||
(3, 'Error in customer data');
|
(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', {
|
||||||
|
description: 'Idk',
|
||||||
|
accessType: 'READ',
|
||||||
|
http: {
|
||||||
|
path: `/card`,
|
||||||
|
verb: 'GET'
|
||||||
|
},
|
||||||
|
accepts: [
|
||||||
|
{
|
||||||
|
arg: 'itemFk',
|
||||||
|
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: {
|
||||||
|
realIdItem: {
|
||||||
|
inq: realIdItems
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
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/buyerWasteEmail')(Self);
|
||||||
require('../methods/item/labelPdf')(Self);
|
require('../methods/item/labelPdf')(Self);
|
||||||
require('../methods/item/setVisibleDiscard')(Self);
|
require('../methods/item/setVisibleDiscard')(Self);
|
||||||
|
require('../methods/item/card')(Self);
|
||||||
|
|
||||||
Self.validatesPresenceOf('originFk', {message: 'Cannot be blank'});
|
Self.validatesPresenceOf('originFk', {message: 'Cannot be blank'});
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,53 @@
|
||||||
|
|
||||||
|
const UserError = require('vn-loopback/util/user-error');
|
||||||
|
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",
|
"name": "ExpeditionPallet",
|
||||||
|
"base": "VnModel",
|
||||||
"options": {
|
"options": {
|
||||||
"mysql": {
|
"mysql": {
|
||||||
"table": "expeditionPallet"
|
"table": "expeditionPallet"
|
||||||
|
@ -10,13 +11,27 @@
|
||||||
"type": "number",
|
"type": "number",
|
||||||
"id": true,
|
"id": true,
|
||||||
"description": "Identifier"
|
"description": "Identifier"
|
||||||
}
|
},
|
||||||
|
"truckFk": {
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
"built": {
|
||||||
|
"type": "date"
|
||||||
|
},
|
||||||
|
"position": {
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
"isPrint": {
|
||||||
|
"type": "number"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"acls": [{
|
"relations": {
|
||||||
"accessType": "WRITE",
|
"expeditionTruck": {
|
||||||
"principalType": "ROLE",
|
"type": "belongsTo",
|
||||||
"principalId": "production",
|
"model": "ExpeditionTruck",
|
||||||
"permission": "ALLOW"
|
"foreignKey": "truckFk"
|
||||||
}]
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,6 @@ module.exports = Self => {
|
||||||
|
|
||||||
Self.add = async ctx => {
|
Self.add = async ctx => {
|
||||||
const userId = ctx.req.accessToken.userId;
|
const userId = ctx.req.accessToken.userId;
|
||||||
// He visto findOrCreate pero no funciona
|
|
||||||
const user = await Self.findById(userId);
|
const user = await Self.findById(userId);
|
||||||
if (!user) {
|
if (!user) {
|
||||||
await Self.create({
|
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 => {
|
module.exports = Self => {
|
||||||
require('../methods/operator/add')(Self);
|
require('../methods/operator/add')(Self);
|
||||||
|
require('../methods/operator/getPrinter')(Self);
|
||||||
|
require('../methods/operator/getAvailablePrinters')(Self);
|
||||||
|
|
||||||
Self.observe('after save', async function(ctx) {
|
Self.observe('after save', async function(ctx) {
|
||||||
const instance = ctx.data || ctx.instance;
|
const instance = ctx.data || ctx.instance;
|
||||||
|
|
Loading…
Reference in New Issue