USE `inventory`;
DROP FUNCTION IF EXISTS `generatorKodePersediaan`;
DELIMITER //
CREATE DEFINER=`root`@`localhost` FUNCTION `generatorKodePersediaan`(`PKELOMPOK` CHAR(10), `PBARANG` INT) RETURNS char(16) CHARSET latin1
    DETERMINISTIC
BEGIN
	DECLARE VKELOMPOK CHAR(10);
	DECLARE VNOMOR INT;
	
	SELECT KELOMPOK, NOMOR INTO VKELOMPOK, VNOMOR FROM kode_barang_psedia b WHERE BARANG = PBARANG;
	IF VBARANG > 0 THEN
		RETURN CONCAT(VKELOMPOK, LPAD(VNOMOR, 6, '0'));
	ELSE
		INSERT INTO kode_barang_psedia (KELOMPOK,BARANG)VALUES(PKELOMPOK,PBARANG);
		RETURN CONCAT(PKELOMPOK, LPAD(LAST_INSERT_ID(), 6, '0'));
	END IF;
END//
DELIMITER ;