Granite City man charged in shooting