Merge pull request 'refs #5652 feat:addressShortage' (!1828) from 5652_addressOption into dev
gitea/salix/pipeline/head This commit looks good
Details
gitea/salix/pipeline/head This commit looks good
Details
Reviewed-on: #1828 Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
This commit is contained in:
commit
9f5cfd920f
|
@ -0,0 +1,98 @@
|
||||||
|
|
||||||
|
-- Place your SQL code here
|
||||||
|
|
||||||
|
ALTER TABLE `vn`.`productionConfig` ADD shortageAddressFk int(11) COMMENT 'Consignatario por defecto para añadir un item de alta';
|
||||||
|
ALTER TABLE `vn`.`productionConfig` ADD CONSTRAINT productionConfig_FK FOREIGN KEY (shortageAddressFk) REFERENCES vn.address(id) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
ALTER TABLE `vn`.`sale` MODIFY COLUMN originalQuantity double(9,1) DEFAULT NULL NULL COMMENT 'Se utiliza para notificar a través de rocket los cambios de quantity';
|
||||||
|
|
||||||
|
INSERT INTO `salix`.`ACL` ( model, property, accessType, permission, principalType, principalId) VALUES( 'AddressShortage', '*', 'READ', 'ALLOW', 'ROLE', 'production');
|
||||||
|
|
||||||
|
-- vn.addressShortage definition
|
||||||
|
|
||||||
|
CREATE TABLE `vn`.`addressShortage` (
|
||||||
|
`addressFk` int(11) NOT NULL,
|
||||||
|
PRIMARY KEY (`addressFk`),
|
||||||
|
CONSTRAINT `addressShortage_FK` FOREIGN KEY (`addressFk`) REFERENCES `address` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
|
||||||
|
|
||||||
|
|
||||||
|
DELIMITER $$
|
||||||
|
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`item_setVisibleDiscard`(
|
||||||
|
vItemFk INT,
|
||||||
|
vWarehouseFk INT,
|
||||||
|
vQuantity INT,
|
||||||
|
vAddressFk INT)
|
||||||
|
BEGIN
|
||||||
|
/**
|
||||||
|
* Procedimiento para dar dar de baja/alta un item, si vAddressFk es NULL se entiende que se da de alta y se toma el addressFk de la configuración
|
||||||
|
*
|
||||||
|
* @param vItemFk Identificador del ítem
|
||||||
|
* @param vWarehouseFk id del warehouse
|
||||||
|
* @param vQuantity a dar de alta/baja
|
||||||
|
* @param vAddressFk id address
|
||||||
|
*/
|
||||||
|
DECLARE vTicketFk INT;
|
||||||
|
DECLARE vClientFk INT;
|
||||||
|
DECLARE vDefaultCompanyFk INT;
|
||||||
|
DECLARE vCalc INT;
|
||||||
|
DECLARE vAddressShortage INT;
|
||||||
|
|
||||||
|
SELECT barcodeToItem(vItemFk) INTO vItemFk;
|
||||||
|
|
||||||
|
SELECT DEFAULT(companyFk) INTO vDefaultCompanyFk
|
||||||
|
FROM vn.ticket LIMIT 1;
|
||||||
|
|
||||||
|
IF vAddressFk IS NULL THEN
|
||||||
|
SELECT pc.shortageAddressFk INTO vAddressShortage
|
||||||
|
FROM productionConfig pc ;
|
||||||
|
ELSE
|
||||||
|
SET vAddressShortage = vAddressFk;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
SELECT a.clientFk INTO vClientFk
|
||||||
|
FROM address a
|
||||||
|
WHERE a.id = vAddressFk;
|
||||||
|
|
||||||
|
SELECT t.id INTO vTicketFk
|
||||||
|
FROM ticket t
|
||||||
|
JOIN address a ON a.id = t.addressFk
|
||||||
|
JOIN ticketState ts ON ts.ticketFk = t.id
|
||||||
|
WHERE t.warehouseFk = vWarehouseFk
|
||||||
|
AND a.id = vAddressShortage
|
||||||
|
AND DATE(t.shipped) = util.VN_CURDATE()
|
||||||
|
AND ts.code = 'DELIVERED'
|
||||||
|
LIMIT 1;
|
||||||
|
|
||||||
|
CALL cache.visible_refresh(vCalc, TRUE, vWarehouseFk);
|
||||||
|
|
||||||
|
IF vTicketFk IS NULL THEN
|
||||||
|
CALL ticket_add(
|
||||||
|
vClientFk,
|
||||||
|
util.VN_CURDATE(),
|
||||||
|
vWarehouseFk,
|
||||||
|
vDefaultCompanyFk,
|
||||||
|
vAddressFk,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
util.VN_CURDATE(),
|
||||||
|
account.myUser_getId(),
|
||||||
|
FALSE,
|
||||||
|
vTicketFk);
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
INSERT INTO sale(ticketFk, itemFk, concept, quantity)
|
||||||
|
SELECT vTicketFk,
|
||||||
|
vItemFk,
|
||||||
|
CONCAT(longName,' ', worker_getCode(), ' ', LEFT(CAST(util.VN_NOW() AS TIME),5)),
|
||||||
|
vQuantity
|
||||||
|
FROM item
|
||||||
|
WHERE id = vItemFk;
|
||||||
|
|
||||||
|
UPDATE cache.visible
|
||||||
|
SET visible = visible - vQuantity
|
||||||
|
WHERE calc_id = vCalc
|
||||||
|
AND item_id = vItemFk;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -5,6 +5,9 @@
|
||||||
"AddressObservation": {
|
"AddressObservation": {
|
||||||
"dataSource": "vn"
|
"dataSource": "vn"
|
||||||
},
|
},
|
||||||
|
"AddressShortage": {
|
||||||
|
"dataSource": "vn"
|
||||||
|
},
|
||||||
"BankEntity": {
|
"BankEntity": {
|
||||||
"dataSource": "vn"
|
"dataSource": "vn"
|
||||||
},
|
},
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
"name": "AddressShortage",
|
||||||
|
"base": "VnModel",
|
||||||
|
"options": {
|
||||||
|
"mysql": {
|
||||||
|
"table": "addressShortage"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"properties": {
|
||||||
|
"addressFk": {
|
||||||
|
"type": "number",
|
||||||
|
"id": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"relations": {
|
||||||
|
"address": {
|
||||||
|
"type": "belongsTo",
|
||||||
|
"model": "Address",
|
||||||
|
"foreignKey": "addressFk"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue