《前言》
(一) winner2.0 框架基礎分析
(二)plsql報表系統
(三)sso單點登入
(四) 簡訊中心與訊息中心
(五)錢包系統
(六)gpu支付中心
(七)許可權系統
(八)監控系統
(九)會員中心
(十一)winner前端框架與rpc介面規範講解
(十二)上層應用案例
(十三)總結
《報表系統專案分析》
「報表系統」顧名思義是用來做報表用的,但是在winner當中報表系統經常被我們用來當作網頁版的pl/sql來使用。
不用oralce的可能不知道pl/sql,其實就是sql客戶端。
往往我們有的專案來不及寫後台,或者各個部門需求的後台列表不一致有「查詢」需求的時候 "plsql報表系統"就能幫助我們
解決這類問題。常規意義上報表系統需要具備以下三點功能:
1,提供資料查詢生成報表(高階的需要生成圖表)
3,方便技術免除繁雜的後台開發(特別是僅有查詢的後台列表)
這三點中我最喜歡的也就是第三點,我們來看看winner框架中plsql報表系統的截圖:
之前在《事務的使用》中,我有提到一句說我把鎖表偵探放到plsql專案中,這樣通過spotlight監控到資料庫異常
就立馬上plsql查詢看是否有鎖表,所以這裡plsql還起到了乙個儲存常用sql的功能。 (當然如果是高階管理員可以直接寫成
儲存過程,這裡前面有講我們基本很少用儲存過程.)
我們看看plsql是如何使用的:
拿查詢系統內所有vip使用者舉例,這是銷售部門、客服部門經常要用的乙個報表,如果給他們單獨開發乙個後台費時又費力,有了plsql
就不一樣了,只需要在plsql中新增一條sql即可
首先我們寫一條查詢vip使用者的sql
select t.user_idoracle中有decode函式非常方便,sqlserver中就需要用case when 來實現。, t.user_code,
t.user_name
, decode(t.user_level,'0
','普通使用者
','1
','vip使用者
'),
t.auth_time
from
tnet_user t
where t.user_level =
1
然後將這條sql新增到報表系統
可以先驗證一下sql的正確性,這裡系統會有很多關鍵字過濾,比如update,delete等等都是新增不了的。這樣新增完之後會有兩個問題:
1,如果要給這張表單做關鍵字搜尋,比如使用者姓名搜尋,或者是註冊時間搜尋就做不了?
2,這樣新增之後,查詢出來表頭是資料庫字段,給市場人員使用,他們是否能看懂?
我們先看看表單呈現出來的效果:
根據以上兩個個問題,我們乙個個來講解,其實第乙個問題非常簡單,取別名就可以了(decode不識別也是因為沒有加別名)。
select t.user_id再來第二個問題,沒有條件搜尋怎麼解決? winner的plsql優點也是這一塊,支援各種條件搜尋,關鍵字、時間 都沒問題,只需要把sql再改一下"使用者編號",
t.user_code "使用者賬戶",
t.user_name
"使用者姓名",
decode(t.user_level,'0
','普通使用者
','1
','vip使用者
') "級別",
t.auth_time "註冊時間"
from
tnet_user t
where t.user_level =
1
select t.user_id這裡以使用者名稱查詢為例,新增使用者名稱查詢,#t.user_name=:user_name# 這種寫法是報表系統自身解析了這種語法,自動識別"使用者編號",
t.user_code "使用者賬戶",
t.user_name
"使用者姓名",
decode(t.user_level,'0
','普通使用者
','1
','vip使用者
') "級別",
t.auth_time "註冊時間"
from
tnet_user t
where t.user_level =
1and #t.user_name
=:user_name#
有成對「#」的話就判斷為條件搜尋,並且會自動在介面上生成查詢框。
再看看效果:
最後就是,這張報表給誰有許可權使用,誰沒有許可權使用。說白了就是授權:
授權介面:
大概功能就介紹到這裡了,plsql報表系統最大的不足就是在圖表這一塊。 如果公司對圖形化報表有要求的話,目前winner
失業程式設計師的自我救贖
王小波在 時代 裡寫道,那一天我二十一歲,在我一生的 時代。我有好多奢望。我想愛,想吃,還想在一瞬間變成天上半明半暗的雲。後來我才知道,生活就是個緩慢受錘的過程,人一天天老下去,奢望也一天天消失,最後變得像挨了錘的牛一樣。可是我過二十一歲生日時沒有預見到這一點。我覺得自己會永遠生猛下去,什麼也錘不了...
程式設計師的自我救贖(前言)
程式設計師的自我救贖 前言 記得第一次登陸的時候,在個人資料裡寫近期願望是當上專案經理。轉眼間7年過去了,我也當了四年多專案經理。驀然回首之間,也不再糾結被別人叫程式設計師還是叫軟體工程師。其實在當專案經理的4年裡,前兩年確實很忙。到第二年的時候,我開始不再碰 恰好微軟在.net這一塊也開始流行 使...
程式設計師的自我救贖 7 2 許可權系統實際應用
前言 一 winner2.0 框架基礎分析 二 plsql報表系統 三 sso單點登入 四 簡訊中心與訊息中心 五 錢包系統 六 gpu支付中心 七 許可權系統 八 監控系統 九 會員中心 十一 winner前端框架與rpc介面規範講解 十二 上層應用案例 十三 總結 許可權系統實際應用 講到許可權...