1,yes,you have to get a visa in China or another country ( third country ) 2,If you still have a H1B status,file another I-485,even a new I-140 ,if it's necessary.