Yes I have. Easiest and best is to go into the shell, de-activate the existing patch. Load the upgrade patch for CM2.2.2 to CM3.1.2 and activate it. Then go the the web maintenance menu, click "manage software" and follow the process to upload the software and install it. Once this process is completed, click "make upgrade permanent" and then load the latest cm3.1.2 patch.
One hour if on s8300/s8500
two hours if on s87xx - max