1 概述
在集成項目中,涉及到數據分析部分的工作內容,大部分的圖表是通過兩個維度的控制來顯示(一般爲業務事項和時間),本次在項目中遇到的便是銀行賬戶的列表,根據前期的調研和討論總結,確定了銀行賬戶需要展現的形式(即通過樹形列表來展現) ,而之前開發的數據分析功能採用的都是基本數據列表,並沒有樹形數據列表的使用說明,本文用來說明樹形數據列表的使用。
2 預期讀者
- 數通暢聯內部員工
- 廣大計算機愛好者
3 總體思路
- 先找到對應的portlet
- 去代碼中找到對應的代碼
- 分析其中的關鍵方法得到數據格式
- 使用ESB來創建數據格式
4 操作步驟
4.1 查看代碼
首先,找到樹形數據列表對應的portlet
在porttal_portlets工程中找對應的代碼部分
4.2 分析代碼
找到getAjaxData方法
分析parseRecords方法
由代碼可以看出,數據源本來是json格式的,通過轉換成list<DataRow>實現後面的功能,而對應的json格式中一定有 id,name,parentId。
4.3 創建數據格式
因爲銀行賬戶列表需要展現的形式爲
在使用ESB進行列表數據格式創建的時候如下圖:
在第一個查詢節點,首先得到總集團以及各個項目公司的信息
在第二個查詢節點,得到二級菜單
在第三個節點,得到三級菜單,同時得到和二級菜單的關聯
在java轉換節點進行數據格式的拼裝。
以下爲代碼處理步驟:
最後打印出得到的數據格式
5 心得總結
在遇到類似問題的時候,首先根據自己所學的知識,逐步剝離其中的知識點。比如這次的問題解決,首先知道他是一個portlet,那麼就去找對應的portlet的代碼,根據代碼反向分析,推導出應該需要一個什麼樣子的格式。根據既有的知識,將需要解決的問題抽絲剝繭,一步一步來實現,其實並沒有多難,還是得多想多做。