查詢篇--老師課時工資算法詳解
2012年04月21日 06:20
點擊率:19742
|
培訓機構里常見的課時薪資算法介紹: 一、按員工課時費計算老師課時工資:(SQL Server版)
公式:上課課時數(shù) × 每課時分鐘 ÷ 60 × 每小時薪資 = 實際課時費 實際運算中,由于不同班級每課時的分鐘數(shù)不一定相同,所以程序是按照每課次結算費用,最后將所有費用匯總得出最終數(shù)據(jù)的。 這個方法是最簡單方便的課時工資計算公式,在很多培訓機構里被采納。老師每小時薪資在員工詳細信息里設置: 語法: Select LessonDegree.TeacherID as 工號, Users.TrueName as 姓名, Sum(LessonDegree.Lessons) as 課時, cast(Sum(LessonDegree.Lessons * Class.LessonMinute) as decimal) / 60 * Users.HourFee as 工資 from LessonDegree,Class,Users where LessonDegree.ClassID = Class.ClassID and LessonDegree.TeacherID = Users.UserID and LessonDegree.LeStateID = 1 and LessonDegree.StartDate >= {@StartDate:開始日期} and LessonDegree.StartDate <= {@EndDate:結束日期} group by LessonDegree.TeacherID,Users.TrueName,Users.HourFee order by LessonDegree.TeacherID
如果是ACCESS版本,只要將cast(Sum(LessonDegree.Lessons * Class.LessonMinute) as decimal)修改為Sum(LessonDegree.Lessons * Class.LessonMinute)即可。
二、按班級每課時薪資計算老師課時工資:(SQL Server版)
公式:上課課時數(shù) × 班級每課時薪金 = 實際課時費
實際運算中,由于不同班級每課時提成不一定相同,所以程序是按照每課次結算費用,最后將所有費用匯總得出最終數(shù)據(jù)的。 這個方法略有點繁瑣,需要每次開班時都要設置好班級每課時薪金。 課時提成設置方法:
語法: Select LessonDegree.TeacherID as 工號, Users.TrueName as 姓名, Sum(LessonDegree.Lessons) as 課時, Sum(LessonDegree.Lessons * Class.LessonCommission) as 工資 from LessonDegree,Class,Users where LessonDegree.ClassID = Class.ClassID and LessonDegree.TeacherID = Users.UserID and LessonDegree.LeStateID = 1 and LessonDegree.StartDate >= {@StartDate:開始日期} and LessonDegree.StartDate <= {@EndDate:結束日期} group by LessonDegree.TeacherID,Users.TrueName order by LessonDegree.TeacherID
ACCESS版同上。
三、按上課學員實際消耗的課時產(chǎn)出計算老師提成。
公式:某時間內老師所帶學員課時消費總額 × 百分比例 = 老師實際課時費
由于優(yōu)惠數(shù)據(jù)的存在、多次交費不同單價的存在,學員的實際消費金額與考勤消耗很難精確計算,所以這種計算方式需要付出一定的成本。麥田培訓管理軟件默認未開啟這種精密計算。因為它需要占用很多的資源、消耗更多的性能。所以只有SQL SERVER版用戶支持,并且需要預約開啟并支付額外的服務費用。
以上內容介紹了培訓機構最基本的三種算法,實際應用時SQL構造可能要復雜得多。有的機構可能是兩個模式混合使用、大班與一對一分開算法計算、加入基本工資、獎罰數(shù)據(jù)運算、兼職全職分開運算等。但萬變不離其中,理解以上基本算法,就可以輕松實現(xiàn)更復雜的構造。
|