歷史績效記錄已經撰寫完成。達成率也直接在撈出資料的時候就算好,所以也可以直接按達成率來做排序。先前是把資料先抓出來,再透過抓出來的相關資料取得像是lid,pt的值來計算,所以不能再排序後來計算的值,現在改成直接在資料庫裡計算就彈性許多。 閱讀全文〈歷史績效儲存撰寫完成〉
分類: 開發xoops模組心得
開發xoops模組的心得
績效算法,依人?依班系?
今天把實際的人員資料丟到資料庫裡去了,接著發現了一些問題。 閱讀全文〈績效算法,依人?依班系?〉
先前對於集合函數的理解有誤
關於此篇站內文章內容理解有誤。 閱讀全文〈先前對於集合函數的理解有誤〉
用xoops_version.php來判定模組
每一個xoops的模組,其資料夾下一定要有一個xoops_version.php的檔案,必須要有這個檔案xoops才會把它當成模組來對待。
因為每一個模組都要引入mainfile.php,而mailfile會再引入common.php,在common.php裡就有一段程式是在判斷被引入時所在檔案的同一資料夾下有沒有xoops_version.php,如果有就會產生$xoopsModule物件。
撰寫區塊的注意事項
稍晚再整理撰寫區塊的大綱。此篇先說明撰寫區塊的注意事項。 閱讀全文〈撰寫區塊的注意事項〉
體會到把程式片段以函數寫成的好處
有點像太極的那種內涵,無招勝有招,發在意先。 閱讀全文〈體會到把程式片段以函數寫成的好處〉
人資室-績效回報系統 待完成清單
- 復職
- 檢視成果(檢視成果應該與歷史績效相同,所以不用做了)
- 分月檢視
- 分課程檢視
- 分區域檢視 閱讀全文〈人資室-績效回報系統 待完成清單〉
關於時間處理的相容性
在時間的處理上目前仍然沒有辦法兼顧相容性,只能單純的使用本地時間。
一般作法應該是以gmt時間存到資料庫,顯示的時間再以locale時區來顯示時間。不過,因為想在資料庫select的時候就可以判斷時間,若存成時間戳記(TS)這樣一來似乎得在php做處理才能判斷。
看了一下piCal的資料表,裡面有start,end這兩個以時間戳記存放的欄位,也有start_date,end_date以date格式存放的欄位,不過,後者是null值。看起來好像沒有作用,不過,是一個可供參考的作法。
200906230324補充==
以時間戳記存入,那就以時間戳記來比較就好了,因為時間戳記就是累計的秒數,不同的時間就是累計秒數多寡而已,所以只要改個比較習慣,這樣就可以直接在資料庫裡篩選出所要的資料了。以前怎麼沒想到?老想直接比較年啊,月啊,日啊。
有查詢字串就要使用queryF
用xoops寫人資室的回報績效模組有一段時間了,今天第一次遇到要使用$xoopsDB->queryF()的狀況。觀察的結果是,如果在有查詢字串的頁面裡要使用select以外的動作,一定要使用queryF()才能成功。所謂有查詢字串的頁面就是透過Get method傳遞變數過來的頁面,這時網址上會有一串查詢字串(query string)。
開發前的分析要更清楚
現在又覺得點數的設定應該在月份的時候才區分新舊生,而不是在開課班系就決定,因為是點數區分新舊生,而點數是跟著月份,所以應該在月份的時候才區分,同時點數的資料表應該改成單純的資料表,而不是現在這種集合字串(註)。這種事顯然可以在更早的時候就發現,那時候分析應該做得更深入一點,雖然那時候腦筋真的不太清楚。總之流程的分析值得多花一些心力、時間來進行,不然事後的修改會更麻煩。
註:就是把一個班系的單一課程的所有月份點數,包括區分新舊生的點數全部放在一筆記錄,然後使用:,;符號來判別是月份、新舊生,處理起來複雜得多。