DELIMITER $$ CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`itemTrash`( vItemFk INT, vWarehouseFk INT, vQuantity INT, vIsTrash BOOLEAN) BEGIN DECLARE vTicketFk INT; DECLARE vClientFk INT; DECLARE vCompanyVnlFk INT DEFAULT 442; DECLARE vCalc INT; SELECT barcodeToItem(vItemFk) INTO vItemFk; SELECT IF(vIsTrash, 200, 400) INTO vClientFk; SELECT t.id INTO vTicketFk FROM ticket t JOIN address a ON a.id=t.addressFk WHERE t.warehouseFk = vWarehouseFk AND t.clientFk = vClientFk AND DATE(t.shipped) = util.VN_CURDATE() AND a.isDefaultAddress LIMIT 1; CALL cache.visible_refresh(vCalc, TRUE, vWarehouseFk); IF vTicketFk IS NULL THEN CALL ticket_add( vClientFk, util.VN_CURDATE(), vWarehouseFk, vCompanyVnlFk, NULL, 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 ;