订单状态包含:新建,排序,下发,运行,暂停,完成
工单状态包含:新建,下发,取消,运行,报废,完成
订单为下发或运行状态时,可以暂停订单,此时工单中可能存在的状态有下发,取消,运行,报废,完成。
当继续订单时,如何根据工单的状态判断订单的状态?
1.订单何时为下发?
除了取消了的工单,全部为下发状态的工单,此时订单为下发
2.订单何时为运行?
只要工单中存在运行状态的工单,订单就为运行。
或者,除了取消状态的工单,部分工单已经完成或报废,依然存在下发状态的工单,此时继续订单则为运行
3.订单何时为完成?
除了取消了的工单,其他工单全部完成或报废,即没有下发状态的工单
综上:
if 存在运行工单{ 订单状态=运行; }else{ if 非取消状态工单个数==下发状态工单个数{ 订单状态=下发; }else if 非取消状态工单个数==完成状态工单个数+报废状态工单个数{ 订单状态=完成; }else if 非取消状态工单个数==下发状态工单个数+完成状态工单个数+报废状态工单个数{ 订单状态=运行; } }