CRM訂單狀態的Open, In process和Completed這些條目是從哪裏來的

Service Order的狀態字段裏的這些字段從哪裏帶出來的?我們可能會想當然的認爲是從後臺配的Status profile裏帶出來的。事實並非如此。

CRM訂單狀態的Open, In process和Completed這些條目是從哪裏來的

這個transaction type根本沒有分配任何Status profile,但是仍然可以在UI上看到三個可選的狀態值。

CRM訂單狀態的Open, In process和Completed這些條目是從哪裏來的

Status狀態字段裏的值並不是我們想象的那樣,完全來自system status profile和user status profile,後者只是數據源之一。

這個下拉菜單裏的值通過下面這個方法取出:可以看到方法執行的結果就是UI上看到的三條記錄。

CRM訂單狀態的Open, In process和Completed這些條目是從哪裏來的

CRM訂單狀態的Open, In process和Completed這些條目是從哪裏來的

這個GET_STATUS_INFO的具體邏輯:

先從crmc_status_proc裏取出全部47個狀態,

CRM訂單狀態的Open, In process和Completed這些條目是從哪裏來的

這47個狀態會根據其RANGE字段,和CRNC_BO_RANGES的RANGE字段做一個join,過濾掉那些Join結果裏OBJECT_TYPE字段不等於BUS2000116的狀態,最後就只剩Open, In Process和Completed三條記錄。

CRM訂單狀態的Open, In process和Completed這些條目是從哪裏來的

CRM訂單狀態的Open, In process和Completed這些條目是從哪裏來的

要獲取更多Jerry的原創技術文章,請關注公衆號"汪子熙"或者掃描下面二維碼:

CRM訂單狀態的Open, In process和Completed這些條目是從哪裏來的

CRM訂單狀態的Open, In process和Completed這些條目是從哪裏來的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章