OBD-II uses upstream and downstream O2 sensors and compares O2 content to verify if cat is working effectively. Air/fuel ratio is adjusted based only on the signal from the upstream O2 sensor. Both sensors require an operating temp of approx 600F to reliably produce a voltage signal so they are equipped with internal electric resistance heaters to achieve and maintain operating temp, this allows the engine to achieve closed loop operation as quickly as possible. Without the expected voltage signal from the upstream sensor (as on cold startup), the engine runs off standard tables for air/fuel mixture, typically on the rich side. P0420 code indicates that signal from downstream sensor is similar to signal from upstream sensor and cat is not providing increased O2 content of exhaust stream as expected. P0138 is high voltage code from downstream O2 sensor, usually indicates that sensor isn't putting out normal varying voltage signal based on O2 content of exhaust stream after the cat, so PCM substitutes a fixed 1V. Typically caused by a bad O2 sensor, could also be caused by faulty internal heater or wiring to downstream O2 sensor.
Check the easy stuff first, both upstream and downstream O2 sensor heaters are supplied in parallel by a 15A fuse in the underhood PDC, you also want to check the ground ring connectors for the heater circuit located on a stud on the passenger side of the engine block adjacent to the dipstick bracket. If you don't find anything here, the sure way is to have the vehicle scanned with a device that can check the datastream to see what the actual voltage signals are from both upstream and downstream O2 sensors. If the internal resistance heaters and wiring harnesses to both sensors are intact and you still don't get a varying voltage signal, the O2 sensor is shot and needs replacement. I would focus on the downstream O2 sensor code first, the PCM can't actually determine if the cat works or not without a valid signal from both sensors. You should also check for internal rattling from the cat, a sure sign that the cat is shot.
Even without scanning the datastream, if both O2 sensors are the originals with 100K+ miles on them, they're due for replacement even without a specific code for the upstream one. From what I've seen, in the usual sequence of events the upstream sensor gets lazy or stops working completely, then the resulting overly rich fuel mixture over time takes out the cat and the downstream O2 sensor. So don't be surprised if you wind up needing a new cat as well as both O2 sensors. Best of luck to you.