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这些条目是从哪里来的

上一篇:Scala与Mongodb实践1-----在window上的运行


下一篇:Apache ab并发负载压力测试