TYPE=TRIGGERS
triggers='CREATE DEFINER=`root`@`localhost` TRIGGER `accounts` BEFORE INSERT ON `accounts` \n    FOR EACH ROW BEGIN\n	\n	DECLARE last_runningcredit DOUBLE;\n	DECLARE last_runningdebit DOUBLE;\n	DECLARE last_accountruncredit DOUBLE;\n	DECLARE last_accountrundebit DOUBLE;\n	DECLARE tot_rows INTEGER;\n	\n	SELECT \n		runningcredit, runningdebit, id\n	INTO \n		last_runningcredit, last_runningdebit, tot_rows\n	FROM accounts \n	WHERE entityid = NEW.entityid AND account = NEW.account\n	ORDER BY id DESC LIMIT 1;\n	\n	IF tot_rows > 0 THEN\n		SET new.runningcredit = last_runningcredit + new.credit; \n		SET new.runningdebit = last_runningdebit + new.debit;\n	ELSE\n		SET new.runningcredit = new.credit; \n		SET new.runningdebit = new.debit;\n	END IF;\n	\n	IF new.account = 1 THEN\n		IF new.credit > 0 THEN\n		    UPDATE tillclients SET b_current = b_current - new.credit WHERE id = new.entityid;\n		ELSE\n		    UPDATE tillclients SET b_current = b_current + new.debit WHERE id = new.entityid;\n		END IF;\n	ELSE\n		IF new.credit > 0 THEN\n		    UPDATE suppliers SET b_current = b_current + new.credit WHERE id = new.entityid;\n		ELSE\n		    UPDATE suppliers SET b_current = b_current - new.debit WHERE id = new.entityid;\n		END IF;\n	END IF;\n	\n	/***************/\n	/*** ACCOUNT ***/\n	SELECT \n		accountruncredit, accountrundebit, id\n	INTO \n		last_accountruncredit, last_accountrundebit, tot_rows\n	FROM accounts \n	WHERE account = NEW.account\n	ORDER BY id DESC LIMIT 1;\n	IF tot_rows > 0 THEN\n		SET new.accountruncredit = last_accountruncredit + new.credit; \n		SET new.accountrundebit = last_accountrundebit + new.debit;\n	ELSE\n		SET new.accountruncredit = new.credit; \n		SET new.accountrundebit = new.debit;\n	END IF;\n	\n	/**** UPDATE BALANCE ****/\n	SELECT COUNT(*) INTO tot_rows FROM account_balance_entity\n	WHERE entityid = NEW.entityid AND account = NEW.account;\n	\n	IF tot_rows > 0 THEN\n		UPDATE account_balance_entity\n		SET \n		entity_debit = new.runningdebit,\n		entity_credit = new.runningcredit\n		WHERE\n		entityid= new.entityid AND account = new.account;\n		\n		UPDATE account_balance\n		SET \n		account_debit = new.accountrundebit,\n		account_credit = new.accountruncredit\n		WHERE\n		account = new.account;\n	ELSE\n		INSERT INTO account_balance_entity\n		(\n		entity_debit, \n		entity_credit,\n		entityid,\n		account\n		)\n		VALUES\n		(\n		new.runningdebit,\n		new.runningcredit,\n		new.entityid,\n		new.account\n		);\n		SELECT COUNT(*) INTO tot_rows FROM account_balance\n		WHERE account = NEW.account;\n		\n		IF tot_rows > 0 THEN\n		\n			UPDATE account_balance\n			SET \n			account_debit = new.accountrundebit,\n			account_credit = new.accountruncredit\n			WHERE\n			account = new.account;\n		\n		ELSE\n			INSERT INTO account_balance\n			(\n			account_debit,\n			account_credit,\n			account\n			)\n			VALUES\n			(\n			new.accountrundebit,\n			new.accountruncredit,\n			new.account\n			);\n		END IF;\n		\n	END IF;\nEND'
sql_modes=0
definers='root@localhost'
client_cs_names='utf8'
connection_cl_names='utf8_general_ci'
db_cl_names='latin1_swedish_ci'