This should do it (replace field names with your own, and messages to desired):
IF(
IS_AFTER(
TODAY(),
{Arrival Date}
),
"PO Closed",
IF(
IS_AFTER(
TODAY(),
{Shipped Date}
),
"In Transit",
IF(
IS_AFTER(
TODAY(),
{QC Date}
),
"In QC",
IF(
IS_AFTER(
TODAY(),
{Production Date}
),
"In Production",
"Not Yet In Production"
)
)
)
)