訂單狀態包含:新建,排序,下發,運行,暫停,完成spa
工單狀態包含:新建,下發,取消,運行,報廢,完成code
訂單爲下發或運行狀態時,能夠暫停訂單,此時工單中可能存在的狀態有下發,取消,運行,報廢,完成。blog
當繼續訂單時,如何根據工單的狀態判斷訂單的狀態?排序
1.訂單什麼時候爲下發?class
除了取消了的工單,所有爲下發狀態的工單,此時訂單爲下發di
2.訂單什麼時候爲運行?co
只要工單中存在運行狀態的工單,訂單就爲運行。
或者,除了取消狀態的工單,部分工單已經完成或報廢,依然存在下發狀態的工單,此時繼續訂單則爲運行
3.訂單什麼時候爲完成?
除了取消了的工單,其餘工單所有完成或報廢,即沒有下發狀態的工單
綜上:
if 存在運行工單{ 訂單狀態=運行; }else{ if 非取消狀態工單個數==下發狀態工單個數{ 訂單狀態=下發; }else if 非取消狀態工單個數==完成狀態工單個數+報廢狀態工單個數{ 訂單狀態=完成; }else if 非取消狀態工單個數==下發狀態工單個數+完成狀態工單個數+報廢狀態工單個數{ 訂單狀態=運行; } }