Service Order的狀態字段裏的這些字段從哪裏帶出來的?我們可能會想當然的認爲是從後臺配的Status profile裏帶出來的。事實並非如此。
這個transaction type根本沒有分配任何Status profile,但是仍然可以在UI上看到三個可選的狀態值。
Status狀態字段裏的值並不是我們想象的那樣,完全來自system status profile和user status profile,後者只是數據源之一。
這個下拉菜單裏的值通過下面這個方法取出:可以看到方法執行的結果就是UI上看到的三條記錄。
這個GET_STATUS_INFO的具體邏輯:
先從crmc_status_proc裏取出全部47個狀態,
這47個狀態會根據其RANGE字段,和CRNC_BO_RANGES的RANGE字段做一個join,過濾掉那些Join結果裏OBJECT_TYPE字段不等於BUS2000116的狀態,最後就只剩Open, In Process和Completed三條記錄。
要獲取更多Jerry的原創技術文章,請關注公衆號"汪子熙"或者掃描下面二維碼: