63 lines
1.4 KiB
MySQL
63 lines
1.4 KiB
MySQL
|
DELIMITER $$
|
||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`parking_algemesi`(vFromRow INT, vToRow INT, vSectorFk INT, vLetter VARCHAR(1), vPickingOrder INT, vTrolleysByLine INT)
|
||
|
BEGIN
|
||
|
|
||
|
DECLARE vRow INT;
|
||
|
DECLARE vCode VARCHAR(8);
|
||
|
DECLARE i INT;
|
||
|
|
||
|
IF vToRow < vFromRow THEN
|
||
|
|
||
|
SET vRow = vFromRow;
|
||
|
|
||
|
WHILE vRow >= vToRow DO
|
||
|
|
||
|
SET i = 1;
|
||
|
|
||
|
WHILE i <= vTrolleysByLine DO
|
||
|
|
||
|
SET vCode = CONCAT(vLetter,'-', LPAD(vRow,2,'0'),'-', i);
|
||
|
|
||
|
INSERT IGNORE INTO vn.parking( sectorFk, `code`, pickingOrder)
|
||
|
VALUES (vSectorFk, vCode, vPickingOrder + (i * 10))
|
||
|
ON DUPLICATE KEY UPDATE `code` = vCode;
|
||
|
|
||
|
SET i = i + 1;
|
||
|
|
||
|
END WHILE;
|
||
|
|
||
|
SET vRow = vRow - 1;
|
||
|
|
||
|
END WHILE;
|
||
|
|
||
|
ELSE
|
||
|
|
||
|
SET vRow = vFromRow;
|
||
|
|
||
|
WHILE vRow <= vToRow DO
|
||
|
|
||
|
SET i = 1;
|
||
|
|
||
|
WHILE i <= vTrolleysByLine DO
|
||
|
|
||
|
SET vCode = CONCAT(vLetter,'-', LPAD(vRow,2,'0'),'-', i);
|
||
|
|
||
|
INSERT IGNORE INTO vn.parking( sectorFk, `code`, pickingOrder)
|
||
|
VALUES (vSectorFk, vCode, vPickingOrder + (i * 10) )
|
||
|
ON DUPLICATE KEY UPDATE `code` = vCode;
|
||
|
|
||
|
SET i = i + 1;
|
||
|
|
||
|
END WHILE;
|
||
|
|
||
|
SET vRow = vRow + 1;
|
||
|
|
||
|
END WHILE;
|
||
|
|
||
|
|
||
|
END IF;
|
||
|
|
||
|
|
||
|
END$$
|
||
|
DELIMITER ;
|