工資系統中的的自定義公式怎么實作啊,找了二天了,沒有實際的識訓啊,我是用的delphi sql,那個有原始碼提供下就好了,
好像不會的人很多。
uj5u.com熱心網友回復:
有說用F1BOOK的,有說自編一個解釋器的,找了半天頭沒有原始碼可參考,uj5u.com熱心網友回復:
要實作的功能大概是:全勤獎 = 基本工資表.基本工資 * IF(考勤表.遲到>=2 || (考勤表.請假.type=="事假" && 考勤表.請假.times==1) , 0 , IF(考勤表.遲到==1 || (考勤表.請假.type=="事假" && 考勤表.請假.times==0.5) , 0.5 , 1))uj5u.com熱心網友回復:
為這個功能自己寫一個決議器實在沒有必要,自動生成SQL吧,這樣簡單一些,直接利用SQL的語法和計算功能。uj5u.com熱心網友回復:
如果只針對一個客戶,直接用存盤程序寫.如果想通用, 得寫一個公式解釋器及條件解釋器.
uj5u.com熱心網友回復:
我有個自己用Delphi寫的自定義公式,公式專案可以自定義多項,且每個專案可以由不同的專案根據不同的條件生成,如果有興趣可以聯系我,郵箱:[email protected]例如定義一個實得底薪,在公式里可寫成:if(上班天數>=21,實得底薪,基本底薪*(上班天數/21),基本底薪和上班天數是一個專案。
此自定義公式經測驗成功,且目前有支持十幾個函式,但可以增加多個函式
uj5u.com熱心網友回復:
哈,的確如此,啊。uj5u.com熱心網友回復:
個人覺得工資系統最核心的是公式引擎的設計。如果公式引擎設計ok了,任何復雜的工資計算都沒有問題了!比如樓主銷售業務提成這塊,我們公司的更復雜,根據你完成的業績,定義不同的提成比例,比如超過30萬提成是3個點,超過50萬中,30萬部分是3個點,50-30=20萬是5個點,其他就是1個點提成。給你截圖我們的公式引擎,希望對樓主有幫助.
博客相關介紹地址
uj5u.com熱心網友回復:
直接使用腳本最好uj5u.com熱心網友回復:
下載東西積分不夠了~~uj5u.com熱心網友回復:
工資系統總的自定義公式我也在學習。
我看了部分商業軟體,這里提出討論一下,其中有一個方法。他們分3部分
1是結果部分,即影響那個表那個欄位
2是條件部分,即滿足什么條件。例如
中文:如果 全勤 = 1
英文: if quanqin = 1
3是運算式部分,即給結果賦值
然后將上面的結果編譯成英文,可以轉換成sql陳述句,也可以轉換成編程陳述句。然后出來你的工資表就可以了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/130888.html
標籤:數據庫相關
上一篇:這里為什么報錯啊
