66 lines
1.3 KiB
MySQL
66 lines
1.3 KiB
MySQL
|
|
||
|
DELIMITER $$
|
||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`item_setVisibleDiscard`(
|
||
|
vItemFk INT,
|
||
|
vWarehouseFk INT,
|
||
|
vQuantity INT,
|
||
|
vAddressFk INT)
|
||
|
|
||
|
BEGIN
|
||
|
DECLARE vTicketFk INT;
|
||
|
DECLARE vClientFk INT;
|
||
|
DECLARE vCompanyVnlFk INT;
|
||
|
DECLARE vCalc INT;
|
||
|
|
||
|
SELECT barcodeToItem(vItemFk) INTO vItemFk;
|
||
|
|
||
|
SELECT companyDefaultFk INTO vCompanyVnlFk
|
||
|
FROM ticketConfig ;
|
||
|
|
||
|
SELECT c.id INTO vClientFk
|
||
|
FROM client c
|
||
|
JOIN address a ON a.clientFk = c.id
|
||
|
WHERE a.id = vAddressFk;
|
||
|
|
||
|
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,' ', getWorkerCode(), ' ', 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 ;
|
||
|
|