This commit is contained in:
parent
ed20927b52
commit
1d697e1ac5
|
@ -0,0 +1,3 @@
|
||||||
|
INSERT INTO `salix`.`ACL` (`model`, `property`, `accessType`, `permission`, `principalType`, `principalId`)
|
||||||
|
VALUES ('Operator', '*', 'READ', 'ALLOW', 'ROLE', 'employee'),
|
||||||
|
('Operator', '*', 'WRITE', 'ALLOW', 'ROLE', 'employee');
|
|
@ -0,0 +1,159 @@
|
||||||
|
ALTER TABLE `vn`.`operator` ADD sectorFk int(11) NULL;
|
||||||
|
ALTER TABLE `vn`.`operator` ADD labelerFk tinyint(3) unsigned NULL;
|
||||||
|
ALTER TABLE `vn`.`operator` ADD CONSTRAINT operator_FK_5 FOREIGN KEY (labelerFk) REFERENCES `vn`.`printer`(id) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
UPDATE `vn`.`operator` o
|
||||||
|
JOIN (SELECT id, sectorFk, labelerFk
|
||||||
|
FROM `vn`.`worker`) sub ON sub.id = o.workerFk
|
||||||
|
SET o.sectorFk = sub.sectorFk,
|
||||||
|
o.labelerFk = sub.labelerFk;
|
||||||
|
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`collection_printSticker`(
|
||||||
|
vSelf INT,
|
||||||
|
vLabelCount INT
|
||||||
|
)
|
||||||
|
BEGIN
|
||||||
|
/**
|
||||||
|
* Prints a yellow label from a collection or a ticket
|
||||||
|
*
|
||||||
|
* @param vSelf collection or ticket
|
||||||
|
* @param vLabelCount number of times the collection has been printed
|
||||||
|
*/
|
||||||
|
DECLARE vPrintArgs JSON DEFAULT JSON_OBJECT('collectionOrTicketFk', vSelf);
|
||||||
|
|
||||||
|
IF vLabelCount IS NULL THEN
|
||||||
|
INSERT INTO ticketTrolley
|
||||||
|
SELECT ticketFk, 1
|
||||||
|
FROM ticketCollection
|
||||||
|
WHERE collectionFk = vSelf
|
||||||
|
ON DUPLICATE KEY UPDATE labelCount = labelCount + 1;
|
||||||
|
ELSE
|
||||||
|
SET vPrintArgs = JSON_MERGE_PATCH(vPrintArgs, JSON_OBJECT('labelCount', vLabelCount));
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
CALL report_print(
|
||||||
|
'LabelCollection',
|
||||||
|
(SELECT o.labelerFk FROM operator o WHERE o.workerFk = account.myUser_getId()),
|
||||||
|
account.myUser_getId(),
|
||||||
|
vPrintArgs,
|
||||||
|
'high'
|
||||||
|
);
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
||||||
|
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`expeditionPallet_printLabel`(vSelf INT)
|
||||||
|
BEGIN
|
||||||
|
/**
|
||||||
|
* Calls the report_print procedure and passes it
|
||||||
|
* the necessary parameters for printing.
|
||||||
|
*
|
||||||
|
* @param vSelf expeditioPallet id.
|
||||||
|
*/
|
||||||
|
DECLARE vPrinterFk INT;
|
||||||
|
DECLARE vUserFk INT DEFAULT account.myUser_getId();
|
||||||
|
|
||||||
|
SELECT o.labelerFk INTO vPrinterFk
|
||||||
|
FROM operator o
|
||||||
|
WHERE o.workerFk = vUserFk;
|
||||||
|
|
||||||
|
CALL vn.report_print(
|
||||||
|
'LabelPalletExpedition',
|
||||||
|
vPrinterFk,
|
||||||
|
account.myUser_getId(),
|
||||||
|
JSON_OBJECT('palletFk', vSelf, 'userFk', vUserFk),
|
||||||
|
'high'
|
||||||
|
);
|
||||||
|
|
||||||
|
UPDATE vn.expeditionPallet
|
||||||
|
SET isPrint = TRUE
|
||||||
|
WHERE id = vSelf;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
||||||
|
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`itemShelving_getAlternatives`(vShelvingFk VARCHAR(10))
|
||||||
|
BEGIN
|
||||||
|
/**
|
||||||
|
* Devuelve un listado de posibles ubicaciones alternativas a ubicar los item de la matricula
|
||||||
|
* del carro que se le ha pasado.
|
||||||
|
*
|
||||||
|
* @param vShelvingFk matricula del carro
|
||||||
|
*/
|
||||||
|
SELECT is2.id,is2.shelvingFk , p.code, is2.itemFk , is2.visible, p.pickingOrder
|
||||||
|
FROM itemShelving is2
|
||||||
|
JOIN shelving sh ON sh.code = is2.shelvingFk
|
||||||
|
JOIN parking p ON p.id = sh.parkingFk
|
||||||
|
JOIN sector s ON s.id = p.sectorFk
|
||||||
|
LEFT JOIN operator o ON o.sectorFk = s.id
|
||||||
|
LEFT JOIN worker w ON w.sectorFk = s.id AND w.id = account.myUser_getId()
|
||||||
|
JOIN warehouse wh ON wh.id = s.warehouseFk
|
||||||
|
JOIN itemShelving is3 ON is3.itemFk = is2.itemFk AND is3.shelvingFk = vShelvingFk COLLATE utf8_unicode_ci
|
||||||
|
WHERE is2.shelvingFk <> vShelvingFk COLLATE utf8_unicode_ci
|
||||||
|
GROUP BY is2.id
|
||||||
|
ORDER BY p.pickingOrder DESC;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
||||||
|
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`operator_beforeInsert`
|
||||||
|
BEFORE INSERT ON `operator`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
CALL vn.printer_checkSector(NEW.labelerFk, NEW.sectorFk);
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
||||||
|
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`operator_beforeUpdate`
|
||||||
|
BEFORE UPDATE ON `operator`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
IF NOT (NEW.labelerFk <=> OLD.labelerFk AND NEW.sectorFk <=> OLD.sectorFk) THEN
|
||||||
|
CALL vn.printer_checkSector(NEW.labelerFk, NEW.sectorFk);
|
||||||
|
END IF;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
||||||
|
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`worker_beforeUpdate`
|
||||||
|
BEFORE UPDATE ON `worker`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
IF NOT (NEW.labelerFk <=> OLD.labelerFk AND NEW.sectorFk <=> OLD.sectorFk) THEN
|
||||||
|
CALL vn.printer_checkSector(NEW.labelerFk, NEW.sectorFk);
|
||||||
|
|
||||||
|
INSERT IGNORE INTO vn.operator (workerFk)
|
||||||
|
VALUES (NEW.id);
|
||||||
|
|
||||||
|
UPDATE operator
|
||||||
|
SET labelerFk = NEW.labelerFk,
|
||||||
|
sectorFk = NEW.sectorFk
|
||||||
|
WHERE workerFk = NEW.id;
|
||||||
|
END IF;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
||||||
|
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost`
|
||||||
|
SQL SECURITY DEFINER
|
||||||
|
VIEW `vn`.`operatorWorkerCode`
|
||||||
|
AS SELECT `o`.`workerFk` AS `workerFk`,
|
||||||
|
concat(`w`.`firstName`, ' ', `w`.`lastName`) AS `fullName`,
|
||||||
|
`w`.`code` AS `code`,
|
||||||
|
`o`.`numberOfWagons` AS `numberOfWagons`
|
||||||
|
FROM (
|
||||||
|
(
|
||||||
|
`vn`.`worker` `w`
|
||||||
|
JOIN `vn`.`operator` `o` ON(`o`.`workerFk` = `w`.`id`)
|
||||||
|
)
|
||||||
|
JOIN `vn`.`sector` `s` ON(`o`.`sectorFk` = `s`.`id`)
|
||||||
|
)
|
||||||
|
WHERE `o`.`sectorFk` IS NOT NULL
|
||||||
|
AND `s`.`code` IN (
|
||||||
|
'H2',
|
||||||
|
'H2',
|
||||||
|
'PEQUES_H',
|
||||||
|
'ALTILLO COMP',
|
||||||
|
'ALTILLO ARTI'
|
||||||
|
)
|
|
@ -173,6 +173,10 @@ INSERT INTO `vn`.`sector`(`id`, `description`, `warehouseFk`, `isPreviousPrepare
|
||||||
(1, 'First sector', 1, 1, 'FIRST'),
|
(1, 'First sector', 1, 1, 'FIRST'),
|
||||||
(2, 'Second sector', 2, 0, 'SECOND');
|
(2, 'Second sector', 2, 0, 'SECOND');
|
||||||
|
|
||||||
|
INSERT INTO `vn`.`operator` (`workerFk`, `numberOfWagons`, `trainFk`, `itemPackingTypeFk`, `warehouseFk`, `sectorFk`, `labelerFk`)
|
||||||
|
VALUES ('1106', '1', '1', 'H', '1', '1', '1'),
|
||||||
|
('1107', '1', '1', 'V', '1', '2', '1');
|
||||||
|
|
||||||
INSERT INTO `vn`.`printer` (`id`, `name`, `path`, `isLabeler`, `sectorFk`, `ipAddress`)
|
INSERT INTO `vn`.`printer` (`id`, `name`, `path`, `isLabeler`, `sectorFk`, `ipAddress`)
|
||||||
VALUES
|
VALUES
|
||||||
(1, 'printer1', 'path1', 0, 1 , NULL),
|
(1, 'printer1', 'path1', 0, 1 , NULL),
|
||||||
|
|
|
@ -94,6 +94,9 @@
|
||||||
},
|
},
|
||||||
"WorkerTimeControlMail": {
|
"WorkerTimeControlMail": {
|
||||||
"dataSource": "vn"
|
"dataSource": "vn"
|
||||||
|
},
|
||||||
|
"Operator": {
|
||||||
|
"dataSource": "vn"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
{
|
||||||
|
"name": "Operator",
|
||||||
|
"base": "VnModel",
|
||||||
|
"options": {
|
||||||
|
"mysql": {
|
||||||
|
"table": "operator"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"properties": {
|
||||||
|
"workerFk": {
|
||||||
|
"id": true,
|
||||||
|
"type": "number",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
"numberOfWagons": {
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
"trainFk": {
|
||||||
|
"type": "number",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
"itemPackingTypeFk": {
|
||||||
|
"type": "string",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
"warehouseFk": {
|
||||||
|
"type": "number",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
"sectorFk ": {
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
"labelerFk ": {
|
||||||
|
"type": "number"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"relations": {
|
||||||
|
"sector": {
|
||||||
|
"type": "belongsTo",
|
||||||
|
"model": "Sector",
|
||||||
|
"foreignKey": "sectorFk"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue